Цитата:
Сообщение от
mazzy
Спасибо.
Хорошо, предположим.
Как создать поле, для которого DictField.type() вернет Types::UserType?
и почему этот способ работает?
AX2012:
X++:
static void Job(Args _args)
{
DictField dictField;
dictField = new DictField(tableNum(CustTable), fieldNum(CustTable, AccountNum));
info(strFmt("%1", dictField.type())); // Вернет UserType
dictField = new DictField(tableNum(CustTable), fieldNum(CustTable, WebSalesOrderDisplay));
info(strFmt("%1", dictField.type())); // Вернет Enum
}
Если у поля указан EDT, то метод вернет UserType. Если не указан - не вернет. Это актуально, к примеру, для енумов, когда у поля часто указывается енум, а не EDT, но может быть указан и EDT
На вопрос "почему так?" я не отвечу
. Так сделано - я это принял и работаю исходя из этого правила