Запустить CODEUNIT через NAS, содержащий функцию из объекта FORM?

Можно ли запустить CODEUNIT через NAS (сервер приложений Navision), в то время как сам codeunit содержит функцию из объекта FORM?

P.S.: Версия Navision: 2009 R2


person bpavlov    schedule 04.12.2013    source источник


Ответы (1)


Вы можете запускать код на NAS, если этот код фактически не вызывает функции формы. Например, следующий код подходит для NAS:

IF GUIALLOWED THEN
  MyForm.SomeFunction();

Но вы не сможете запустить функцию из формы, даже если она содержит только логику, не относящуюся к графическому интерфейсу. Это одна из причин не помещать в формы какую-либо бизнес-логику :)

То же правило распространяется на сервер NAV и веб-сервисы. Объекты формы (и порта данных) не переводятся в C#, поэтому невозможно запустить код из формы или порта данных.

person sergeyol    schedule 05.12.2013
comment
Спасибо за ответ, но какая связь между переводом С# и NAS-сервером? - person bpavlov; 05.12.2013
comment
Связи нет, мой комментарий по поводу перевода на C# относился только к NAV Server/WebServices (и их собственной неспособности запускать код из форм), так что можете его вообще не принимать во внимание :) - person sergeyol; 06.12.2013