Программное создание проекта для объектов в заданном слое
В этой статье представлен пример кода, описывающий, как программным способом создать проект для объектов в заданном слое в Microsoft Dynamics AX.
Применимо к: Microsoft Dynamics AX
Исходный номер базы знаний: 2004467
Сводка
Может потребоваться создать проект Microsoft Dynamics AX, содержащий все элементы приложения, существующие на заданном уровне. Например, если необходимо повторно создать файл уровня *.aod
VAR, необходимо будет извлечь все элементы приложения на уровне VAR в проект, экспортировать проект в XPO, удалить ФАЙЛ VAR *.aod
и, наконец, войти в созданный ФАЙЛ VAR *.aod
, импортировать xpo. При импорте xpo все элементы приложения можно воссоздать в новом *.aod
файле. В коде этого документа показано, как это сделать.
Дополнительная информация
Когда код X++ в этом примере добавляется в задание в AOT и выполняется, код создает частный проект с именем VarLayerChanges
. Проект VarLayerChanges
будет содержать все элементы, существующие на уровне VAR. Если вы хотите создать проект для другого слоя, измените строку 'VarLayerChanges'
на слой, который вам нужен, например 'CusLayerChanges'
. Затем измените перечисление UtilEntryLevel::var
на другой слой, например UtilEntryLevel::cus
.
TreeNode treeNode = infolog.projectRootNode();
ProjectNode projectNode;
UtilElements utilElements;
;
treeNode = treeNode.AOTfirstChild();
treeNode.AOTadd('VarLayerChanges');
projectNode = treeNode.AOTfindChild('VarLayerChanges');
projectNode = projectNode.getRunNode();
while select utilElements WHERE utilElements.utilLevel == UtilEntryLevel::var
{
ProjectNode.addUtilNode(utilElements.recordType, utilElements.name);
}
ProjectNode.AOTsave();