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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.05.2015, 10:56   #1  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Как Ограничить enum?
Добрый день, поставили задачу ограничить поля выбора в enum. В голове крутиться - создать новый enum, или выводить сообщение о невозможности выбора определенного пункта, или переопределить как то lookup . Как лучше сделать? Поделитесь опытом, пожалуйста!
Старый 29.05.2015, 11:00   #2  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,689 / 405 (17) +++++++
Регистрация: 23.03.2006
если в конкретном месте необходимо ограничение, то лучше проверку сделать. если по всей системе ограничить, то можно конфигурационным ключем выключить
За это сообщение автора поблагодарили: АртемМелихов (1).
Старый 29.05.2015, 11:17   #3  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
699 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Мoжно вот так
http://kashperuk.blogspot.co.nz/2008...lowing-to.html
или http://blogs.msdn.com/b/oleksandr_na...r-an-enum.aspx

Последний раз редактировалось skuull; 29.05.2015 в 11:19.
За это сообщение автора поблагодарили: Logger (3), Товарищ ♂uatr (1), АртемМелихов (1).
Старый 29.05.2015, 12:23   #4  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Цитата:
Сообщение от ice Посмотреть сообщение
если в конкретном месте необходимо ограничение, то лучше проверку сделать. если по всей системе ограничить, то можно конфигурационным ключем выключить
Вы не поняли, мне нужно не весь enum блокировать, а некоторые варианты одного enuma.
Старый 29.05.2015, 12:27   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Свойство ConfigurationKey есть не только у самого enuma но и у отдельных элементов enuma.
Старый 29.05.2015, 12:31   #6  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,689 / 405 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от АртемМелихов Посмотреть сообщение
Вы не поняли, мне нужно не весь enum блокировать, а некоторые варианты одного enuma.
я вас прекрасно понял
Старый 29.05.2015, 12:42   #7  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Цитата:
Сообщение от ice Посмотреть сообщение
я вас прекрасно понял
Спасибо, прошу прошения. А если обсуждать вариант "конкретное место", то о какой проверке идет речь? После выбора выдавать сообщение о невозможности выбора?
Старый 29.05.2015, 12:55   #8  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Цитата:
Спасибо. По-моему, это решения для ax3-9. Может быть в 12 это уже реализовано?
Старый 29.05.2015, 13:05   #9  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,689 / 405 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от АртемМелихов Посмотреть сообщение
Спасибо. По-моему, это решения для ax3-9. Может быть в 12 это уже реализовано?
SysFormEnumComboBox работает и в 2012, только в качестве второго параметра нужно
X++:
element.controlId(formControlStr(MyForm, MyComboBox))
За это сообщение автора поблагодарили: Logger (1).
Старый 29.05.2015, 13:12   #10  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,689 / 405 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от АртемМелихов Посмотреть сообщение
Спасибо, прошу прошения. А если обсуждать вариант "конкретное место", то о какой проверке идет речь? После выбора выдавать сообщение о невозможности выбора?
Да, проверять введенное значение и выдавать ошибку
Старый 29.05.2015, 13:13   #11  
online
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,654 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Если ограничения нужны не в одной конкретной форме, а "вообще", то

Создать таблицу с ключевым полем Enum нужного типа и на нее сделать соответствующий EDT и форму LookUp. Идея в том, что на записи таблицы, в отличие от Enum можно установить контроль доступа на уровне записи. Кроме того, можно добавить дополнительные поля, как доп.реквизиты.

В общем, вместо Enum создать полноценный справочник
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: АртемМелихов (1).
Старый 29.05.2015, 13:19   #12  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
699 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Если ограничения нужны не в одной конкретной форме, а "вообще", то

Создать таблицу с ключевым полем Enum нужного типа и на нее сделать соответствующий EDT и форму LookUp. Идея в том, что на записи таблицы, в отличие от Enum можно установить контроль доступа на уровне записи. Кроме того, можно добавить дополнительные поля, как доп.реквизиты.

В общем, вместо Enum создать полноценный справочник
Такая таблица уже есть SRSANALYSISENUMS правда она не для того но и заморачивать контролем доступа к значением enum похоже на перегиб
Старый 10.11.2015, 11:00   #13  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
268 / 814 (28) +++++++
Регистрация: 23.10.2012
Есть штатные способы реализации "от обратного" для unbound-контролов в 2012 AX, где Мы указываем не перечень элементов необходимых для отображения, а те, которые необходимо скрыть.
В 2012 в SysLookup::lookupEnum была добавлена переменная-контейнер пропускающая элементы входящие в него.
В форме SalesEditLines ( SalesEditLinesForm / setupSumByControl ) можно увидеть аналогичный подход.
Однако, хочется такой же магии для bound-контролов.
Теги
ax2012, enum, ограничить

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
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
Странный баг при расширении Enum DTD DAX: Программирование 1 07.05.2009 18:45
ComboBox и Enum ArturK DAX: Программирование 1 01.03.2004 16:19

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

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

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