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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.04.2016, 14:53   #1  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Имя скрытого системного Enum'а для DeleteAction
Собственно интересует subj для некоторых игрищ на базе класса DictTable.

В паразитарии объектов с данным классом всего пара мест есть, где анализируются DeleteActions и оба раза проверка значения идет по хардкоду целочисленной величины, а не по enum'у.

Может кто знает как этот enum называется ?
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 28.04.2016, 15:07   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
А там не битовая маска, часом?

По крайней мере, это навевает
X++:
if (_table.deleteActionType(deleteActionIndex) & 0x01 != 0x01) //is not #Cascade
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 29.04.2016, 07:57   #3  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Наличие комбобокса в свойстве элемента AOT как бы намекает, что это должен быть enum.
Игрища с битовой маской шестнадцатеричного формата в приведенном коде выглядят несколько странно.
Я бы еще понял, если в двоичном было - тогда при правильно забитых значениях enum приведенный кусок кода убивал бы двух зайцев одним выстрелом:
  • 0b00 - None
  • 0b01 - Cascade
  • 0b10 - Restricted
  • 0b11 - Cascade + Restricted

т.е. одна проверка младшего бита заменяет проверку величины на равенство двум значениям, связанных с Cascade.

Однако, как оно на самом деле - загадка, блин.

P.S. Похоже, действительно некая оптимизация кода имеет место- значения deleteActionType() у DictTable именно такие, как я в списке привел.
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 29.04.2016 в 08:24. Причина: порылся во всяком и накопал всякое
Старый 29.04.2016, 22:11   #4  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
365 / 542 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Обычный int - https://msdn.microsoft.com/en-us/lib...pe(AX.60).aspx

Думаю, если это был бы какой то энум, то скорее всего он был бы виден в качестве возвращаемого значения, например, dictTable.cacheLookup показывает возвращаемое значение как RecordCacheLevel, а тут обычный int возвращается.
__________________
Sergey Nefedov
Старый 04.05.2016, 07:35   #5  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Цитата:
Сообщение от SRF Посмотреть сообщение
Наличие int не отрицает наличие Enum, соотв. по значениям возвращаемому результату.
Тут тоже int, однако он больше известен как скрытый системный Enum FormLookupButton.
Прочие системные Enum'ы типа JoinMode, RangeStatus, FormMode, FormWidth, FormHeight и т.д., вполне себе существуют в системе, не смотря на то, что в методах, в которых они принимаются и возвращаются, аргумент и возвращаемое значение имеют тип Int.
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 04.05.2016 в 07:55.
Старый 04.05.2016, 09:27   #6  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Тут тоже int, однако он больше известен как скрытый системный Enum FormLookupButton.
Прочие системные Enum'ы типа JoinMode, RangeStatus, FormMode, FormWidth, FormHeight и т.д., вполне себе существуют в системе, не смотря на то, что в методах, в которых они принимаются и возвращаются, аргумент и возвращаемое значение имеют тип Int.
В списке системных Enum (System Documentation / Enums) ни одной записи со значениями для DeleteAction (пробежался глазками, ибо поиск по всем узлам не работает) не обнаружено. Т.ч., как и говорил AndyD, скорее всего это битовая маска.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 04.05.2016, 14:50   #7  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Цитата:
Сообщение от KiselevSA Посмотреть сообщение
ни одной записи со значениями для DeleteAction
Равно как и для вышеозначенных Enum'ов.
А они (enum'ы) есть
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 04.05.2016, 16:05   #8  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Равно как и для вышеозначенных Enum'ов.
Нет. Перечисленные вами энумы, хоть и отсутствуют в документации, но явно присутствуют в AOT либо в основной ветке либо в ветке System Documentation
За это сообщение автора поблагодарили: TasmanianDevil (3).
Теги
delete action, deleteaction, dicttable

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DeniZone: Assigning enum value to variable from enum name Blog bot DAX Blogs 0 17.04.2015 23:11
Как получить из элемента enum-а код типа (enum-а)? Romb DAX: База знаний и проекты 12 27.06.2013 16:17
palleagermark: The enum that is specified in the input XML file does not exist in Microsoft Dynamics AX Blog bot DAX Blogs 0 14.06.2013 13:11
dax-lessons: DialogEnumComboBox class in AX 2012 [X++, Restrict Enum elements in the dialog fields] Blog bot DAX Blogs 0 12.02.2013 18:11
saveenr: More AX SSRS Screencasts and Instructions on Getting an AX Enum into a Report Blog bot DAX Blogs 0 09.12.2010 02:13

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:57.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.