Как дать codeunit косвенный доступ к дополнительным защищенным таблицам Navision?


Многие таблицы, хранящие учтенные данные, такие как 17 (Фин. Книга Операций), 32 (Товар Книга Операций), 112 (Продажа Счет Заголовок) … являются защищенными и имеют в клиентских лицензиях только косвенные (Indirect) права доступа.

Иначе говоря, для защищенных таблиц на клиентских лицензиях (т.е. лицензиях, как правило, не имеющих гранулы 7300) есть возможность занесения и модификации данных учетных таблиц только через codeunit.

Примечание:
В партнерских лицензиях есть гранула 7300, она позволяет править защищенные таблицы напрямую.  Смотри также: https://blogs.technet.com/alexef/archive/2008/02/08/7200vs7300.aspx

Как правило, все учетные codeunit уже имеют необходимые косвенные доступы к обрабатываемым таблицам, но если обнаруживается необходимость дать codeunit доступ к дополнительным защищенным таблицам, то используя партнерскую лицензию можно это сделать.

После сохранения и компиляции поправленный codeunit можно отослать клиенту.

Клиент будет иметь возможность запускать (без возможности модификации) учетный codeunit с уже привнесенными новыми обработчиками дополнительных защищенных таблиц.

Примечание:
Помните, что включение в свойство Permissions защищенных таблиц ЗАПРЕЩАЕТ под клиентской лицензией любые изменения в этих объектах. Т.е. если дать косвенный доступ к защищенным таблицам на форме, то клиентская лицензия, даже имея гранулу "Form Designer", не будет давать возможности редактировать форму.
Помните о необходимости соблюдать базовый принцип NAV, исходя из которого, код правящий защищенные таблицы должен идти только из codeunit или, в крайнем случае, из отчетов выполняющих пакетные задания (не из обычных, пользовательских, ежедневных отчетов).

Пример в картинках (NAV 4.0 SP1(RU)):

1. Партнерская лицензия

2. Корректируем codeunit