Инструмент для разработчиков Dynamics AX? 3.0
Позволяет по выбранной таблице сформировать код для создания/изменения записи и скопировать его в буфер обмена для дальнейшей вставки в редактор кода.
Домашняя страница – AxCopyTableFieldListToClipboard
Добавить объявление переменной перед кодом заполнения полей. После объявления будет добавлена точка с запятой. Этот код нужно будет перенести к остальным объявлениям, если изменения вставляются всередину метода.
Добавить вызов метода clear() перед кодом заполнения полей. Этот метод необходим, к примеру, при циклической обработке набора записей.
Возможно указать название переменной, отличное от названия таблицы. О недопустимые значениях имени переменной информация выводится значком справа от поля для ввода.
Возможно выбрать поля, которые необходимо копировать в буфер. На данный момент есть 2 пред. настройки – Все поля, Ни одного поля. (очистка списка, то есть).
Вставить вызов метода insert() или update() после строк присвоения значений полям таблицы.
В верхней части диалога отображается Preview того, как на самом деле будет выглядеть код в редакторе.
Установка
Просто импортируйте проект (ссылка выше).
Интеграция в Axapta
В систему инструмент можно встроить несколькими способами:
Пункт меню Ax Copy Table Field List To Clipboard добавить в меню SysContextMenu?. Текст «Copy Table Field List?" автоматически будет добавлен в контекстное меню всех АОТ объектов. Для того, чтобы ограничить список допустимых объектов только таблицами, добавьте нижеуказанный код в метод verifyItem класса SysContextMenu?. (после case Menu Item Type?::Action:)
//--> AxCopyTableFieldListToClipboard_ikash date=2007-02-11 txt='Show in menu only for tables'
casemenuItemActionStr(AxCopyTableFieldListToClipboard):
if (this.selectionCount() != 1 || firstNode.AOTIsOld())
return 0;
if (!docNode && firstNode.sysNodeType() == 204)
return 1;
return 0;
//<-- AxCopyTableFieldListToClipboard_ikash
Добавить пункт меню в меню GlobalToolsMenu? или DevelopmentTools?. Далее выбираем таблицу в АОТ и выбираем в меню соответствующий пункт.
Добавляем картинку (одну из двух) из архива в папку для плагинов к Tabax. Автоматически появится возможность запуска из панели инструментов Tabax. (прежде необходимо выбрать таблицу в АОТ)
Можно выбрать название таблицы непосредственно в редакторе и запустить скрипт из EditorScripts. Для того, чтобы это стало возможным, добавьте новый метод в Класс\EditorScripts и скопируйте в него нижеприведенный код.
void AOT_Copy_TableFieldList(Editor e)
{
Args args = new Args();
;
args.parmObject(e);
new MenuFunction(menuItemActionStr(AxCopyTableFieldListToClipboard), MenuItemType::Action).run(args);
}
При невыполнении ни одного из перечисленных условий откроется список таблиц, из которого вы сможете выбрать ту, обработку которой необходимо провести.
Добавить дополнительные опции быстрого выбора списка полей (Auto Report?, Auto Lookup?, Только обязательные поля, т.д.)
Добавить полную поддержку редактора – при выборе переменной в коде отыскивать ее определение (как это делает AxGoToDeclaration?) и производить уже ее обработку.