Показать сообщение отдельно
Старый 02.05.2012, 07:38   #12  
vital-credo is offline
vital-credo
Участник
 
1 / 10 (1) +
Регистрация: 26.01.2012
Адрес: OMS
Я сделал всё проще. Это конечно не Ax 3.0, а AX 2009 (kernel 5.0.1000.52).
Вот пример функции:
X++:
public void changeRelation(str _tableName, str _relatedName, boolean _withThrow = true)
{
    TreeNode         relation;
    str              properties;
    ;

    relation = EDTNode.AOTfindChild(#PropertyRelations);
    if (!relation)
    {
        if (_withThrow)
            throw error("@SYS8500" + funcName());
        else
            return;
    }

    relation = relation.AOTaddSubNode(#NT_DBTYPENORMALREFERENCE);

    properties = relation.AOTgetProperties();
    properties = setProperty(properties, #PropertyTable, _tableName);
    properties = setProperty(properties, #PropertyRelatedfield, _relatedName);
    relation.AOTsetProperties(properties);

    EDTNode.AOTsave();
}