28.03.2013, 22:35 | #11 |
Участник
|
Цитата:
См табличку: Dialog Base getFromDialog putToDialog pack unpack | Base functionality implemented by the framework. run Implemented by the base framework. Handles marshaling execution to a CLR session Соответственно нет кода, а раз нет кода - нет проблем. Вообще у меня получился более минималистичный пример: Контракт X++: [DataContractAttribute] class TEST_HelloContract { Name name; } [DataMemberAttribute] public Name parmName(Name _name = name) { name = _name; return name; } X++: class TEST_HelloOp { } void sayHello(TEST_HelloContract _contract) { info(strFmt("Hello %1", _contract.parmName())); } \Menu Items\Action\TEST_Hello
И всё - никаких методов main, dialog, pack, unpack, макросов, extendedTypeStr и прочего. Я немножко наврал - тип таки дублируется у переменной и метода, но хотя бы их совместимость контролируется компилятором. Единственное что, к сожалению, параметры из не попадают в перекрестные ссылки (но никто не мешает их допилить, чтоб попадали). А еще плюс, что по умолчанию у нас есть программный интерфейс для операции - никто не мешает вызвать ее из другого кода без модификаций Последний раз редактировалось belugin; 28.03.2013 в 22:53. |
|
|
За это сообщение автора поблагодарили: mazzy (2), alex55 (1), S.Kuskov (3). |
Теги |
ax2012, runbase, runbasebatch, sysoperation framework |
|
|