AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.06.2021, 10:36   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Как создать переменную, для которой typeOf вернет Types::UserType?
Щас глупую весч спрошу:

Как создать переменную (или поле), для которой typeOf вернет Types::UserType?

любая версия аксапты или dfo365.

перекрестные ссылки конечно смотрел:
во-первых, в перекрестных ссылках UserType участвует только в проверках...
а вопрос - как получить объект в памяти с таким типом.
__________________
полезное на axForum, github, vk, coub.
Старый 26.06.2021, 11:20   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Такое ощущение что это значение может вернуть DictField.type() но не typeOf().
Также как и значение Types::Time
Как определить что anytype типа Time и когда typeOf() возвращает Types::Time?
За это сообщение автора поблагодарили: mazzy (2), Logger (1).
Старый 26.06.2021, 14:20   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Спасибо.

Хорошо, предположим.

Как создать поле, для которого DictField.type() вернет Types::UserType?
и почему этот способ работает?
__________________
полезное на axForum, github, vk, coub.
Старый 26.06.2021, 15:08   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,319 / 3547 (125) ++++++++++
Регистрация: 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).
Старый 26.06.2021, 15:55   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
https://docs.microsoft.com/en-us/dot...d.type#remarks
Цитата:
If the field is based on an extended data type, Types::UserType is returned as the return value of this method.
За это сообщение автора поблагодарили: mazzy (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
goshoom: Generic types in X++ (AX 7) Blog bot DAX Blogs 0 10.04.2017 13:11
Как определить что anytype типа Time и когда typeOf() возвращает Types::Time? dit31 DAX: Программирование 1 16.08.2015 23:53
axmfg: Replacing work order types for production output in CU8 Blog bot DAX Blogs 0 12.09.2014 18:12
зачем types::UserType? Антон Солдатов DAX: Программирование 0 29.07.2003 08:06

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:51.