Как повторно запустить неявную проверку прав, выполняемую ядром, не знаю - я в таких случаях явно проверяю права доступа на таблицу таким вот
методом вспомогательного класса DEV_Assert:
X++:
// если у текущего пользователя нет доступа к указанной таблице, выбрасывает исключение
public static client server void hasTableAccess(tableId _tableId, AccessType _accessType = AccessType::View)
{;
DEV_Assert::tableIdIsInValidRange(_tableId);
if (!isTableUserEnabled(_tableId, _accessType))
{
throw error(strfmt("@SYS76214", tableid2pname(_tableId)));
}
}