![]() |
#4 |
Участник
|
![]()
Доброго времени суток.
Во вложении мини-проект(может кому еще пригодится), который позволит автоматически создавать номерную серию для существующего модуля. Как пользоваться : Выбираем Extended Data Type, и вызываем контекстное меню\Add-ins\Auto Create Number Sequence Reference Задаем следующие параметры : 1. Модуль, для которого создается номерная серия 2. Является ли номерная серия непрерывной?(опционально) 3. Создавать ли статический метод на таблице параметров?(опционально) Параметров немного, остальные по-умолчанию, если нужно, то думаю доработать будет не сложно. Что делается : 1. В метод loadModule класса numberSequenceReference_<Module> автоматически добавится нужный код. 2. В случае если нужно, автоматически создает статический метод на таблице <Module>Parameters, возвращающий ссылку на номерную серию. Также во вложеном проекте, есть следующие мини dev-tools : 1. Для классов (Classes\Add-ins\Extended By) - показывает классы-потомки для указанного класса 2. Для проектов(Project\Add-ins\Compile All Project) - позволяет откомпилировать все объекты проекта, не открывая проект в новом окне 3. Для узла Classes(Classes\Add-ins\Auto Create Template RunBase) - создает класс-наследник RunBase\RunBaseBatch, также создается Menu Item для нового класса (опционально) Проект импортировать аккуратно, изменен макрос xppTexts, затронуты методы системных классов, ниже их список : X++: SysContextMenu\verifyItem ClassBuild\addSourceToEndMethod Global\pickEnumValue xppSource\beginBlock xppSource\constructMethod xppSource\constructMethod xppSource\endBlock xppSource\endLine xppSource\getSource xppSource\initDefaultIndentColumns xppSource\mainMethodRunBase xppSource\simpleLine Тестирование мини dev-tools производилось на DAX 4.0. Вопросы к знатокам : Почему в NumberSeqModule разные элементы имеют одинаковые метки ? Например, NumberSeqModule::Ledger и NumberSeqModule::Asset имеют метку General Ledger.(В результате этого, если создавать контрол typeId(NumberSeqModule) возникает путаница насчет модулей ![]() Почему поле Module в таблице NumberSequenceReference имеет тип Integer, а не NumberSeqModule ? offtopic: В Global\PickEnumValue был обнаружен баг, проявляется в любой из версий AX : X++: ...
for (i=1;i <= dictEnum.values(); i++)
... X++: ...
for (i=0;i <= dictEnum.values(); i++)
... X++: ... formRun.choices(names, #ImageClass); ... X++: ... formRun.choices(names, #ImageBaseEnumElement); ...
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: TasmanianDevil (4), konopello (3), dech (1). |
Теги |
faq, number sequence, номерная серия, нумерация, полезное |
|
|