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



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


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


Примечание:
В партнерских лицензиях есть гранула 7300, она позволяет править защищенные таблицы напрямую.  Смотри также: http://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







Comments (0)