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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.01.2017, 14:07   #1  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Именно для енума что-то запрещать - не помню такого)

Была/есть возможность на полях с енумом установить свойство Mandatory - тогда будет запрет связанный с этим полем
__________________
Axapta v.3.0 sp5 kr2
Старый 20.01.2017, 14:22   #2  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Чего вы меня путаете ?...
Property : configuration key - не для этого ли?


Mandatory на enum.
Я извиняюсь, конечно, может задачи не разглядел, но это как??!!!
__________________
Axapta book for developer
За это сообщение автора поблагодарили: iCloud (2).
Старый 20.01.2017, 14:35   #3  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от MikeR Посмотреть сообщение
Mandatory на enum.
Я извиняюсь, конечно, может задачи не разглядел, но это как??!!!
Mandatory на поле с типом ENUM
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: mazzy (2).
Старый 20.01.2017, 14:48   #4  
LMA is offline
LMA
Участник
 
22 / 16 (1) ++
Регистрация: 16.09.2004
Адрес: Воронеж
HideFirstEntry на ComboBox - не оно?
За это сообщение автора поблагодарили: mazzy (2), MikeR (1), iCloud (2).
Старый 20.01.2017, 14:52   #5  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
может UseEnumValue = Yes? Ну и соответственно в EnumValue элементов избавиться от 0... Или я тоже не понял вопрос
ЗЫ: Про семерку не знаю...
Старый 20.01.2017, 15:02   #6  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
650 / 352 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
В принципе довольно хороший воркэраунд - навесить Mandatory=Yes на поле в таблице.
Цитата:
Сообщение от Ruff Посмотреть сообщение
может UseEnumValue = Yes? Ну и соответственно в EnumValue элементов избавиться от 0... Или я тоже не понял вопрос
ЗЫ: Про семерку не знаю...
Нет, свойство UseEnumValue предназначено для определения, будут ли значения элементов данного типа совпадать с представлением в самой БД.
Подробнее здесь.
__________________
// no comments
Старый 20.01.2017, 15:16   #7  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от dech Посмотреть сообщение
В принципе довольно хороший воркэраунд - навесить Mandatory=Yes на поле в таблице.
В AX2012 это должно работать только если элемент с индексом 0 явно назван None.
То есть Mandatory=Yes AND 0 = None
За это сообщение автора поблагодарили: mazzy (2), MikeR (3), gl00mie (2), dech (1).
Старый 20.01.2017, 15:43   #8  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,449 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от ax_mct Посмотреть сообщение
В AX2012 это должно работать только если элемент с индексом 0 явно назван None.
То есть Mandatory=Yes AND 0 = None
А если элемента со значением 0 в энуме вообще не будет, Mandatory=Yes разве разрешит оставить поле непроинициализированным?
За это сообщение автора поблагодарили: mazzy (2), MikeR (3).
Старый 04.03.2024, 15:46   #9  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от ax_mct Посмотреть сообщение
В AX2012 это должно работать только если элемент с индексом 0 явно назван None.
То есть Mandatory=Yes AND 0 = None
Какая гадостная штука.
Поотваливались проверки на обязательность при переходе на Ax2012

Дописали свою проверку Best practice
\Classes\SysBPCheckTableField\checkEnumFieldMandatory_MRC

X++:
boolean checkEnumFieldMandatory_MRC()
{
    str         message;
    boolean     ret = true;
    ;

    if (!sysDictTable || !sysDictField)
    {
        return ret;
    }

    if (sysDictField.baseType() != Types::Enum)
    {
        return ret;
    }

    if (!sysDictField.mandatory())
    {
        return ret;
    }

    if (!sysDictEnum)
    {
        return ret;
    }

    if (!sysDictEnum.value2Symbol(0))
    {
        return ret;
    }

    if (sysDictEnum.value2Symbol(0) == "None")
    {
        return ret;
    }

    ret = false;
    message = strFmt("Свойство \"Mandatory\" не будет работать, так как дефолтное значение енума \"%1\" равно \"%2\". " +
        "Чтобы работало переименуйте на \"%1::None\". Это появилось с 2012-й версии. См. " +
        "https://dynamicsaxhints.blogspot.com/2016/05/mandatory-table-field-based-on-enum.html" + "\n" +
        "https://learn.microsoft.com/en-us/dynamicsax-2012/developer/best-practices-for-base-enums" + "\n" +
        "https://dax.axforum.info/forums/showthread.php?p=394676#post394676" + "\n",
        sysDictEnum.name(),
        sysDictEnum.value2SymbolWithEnumName_MRC(0)
        );
    sysBPCheck.addError(#BPErrorMandatoryEnumValue_MRC /* 12502 */, 0, 0, message, "Mandatory", sysDictField.path());

    return ret;
}
Теги
ax2012, dax2012, enum, mandatory

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dynamicsaxhints: How to add enum filter with All element Blog bot DAX Blogs 0 19.07.2016 20:11
dynamicsaxhints: How to make enum a mandatory field on a table Blog bot DAX Blogs 0 04.05.2016 06:17
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
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, время: 10:09.