Показать сообщение отдельно
Старый 26.06.2021, 15:08   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от 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

На вопрос "почему так?" я не отвечу . Так сделано - я это принял и работаю исходя из этого правила
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 26.06.2021 в 15:12.
За это сообщение автора поблагодарили: mazzy (2).