Поделиться через


Программное создание проекта для объектов в заданном слое

В этой статье представлен пример кода, описывающий, как программным способом создать проект для объектов в заданном слое в 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();