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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.03.2019, 07:10   #1  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
Фильтр Base Enums
Добрый день друзья. Похожие темы уже существуют на форуме но я для себя однозначного ответа не нашел. Задача следующая Есть форма которую открывают два разных menu items. На форме находиться grid у которого есть поле с типом base enums. Мне нужно что бы в зависимости от какого menu items была открыта форма в поле с типом Base Enums грида отображались те или иные элементы. Через класс SysFormEnumComboBox не удалось реализовать эту фильтрацию так как почему то с обычным combo box класс отрабатывает а с полем грида нет. Через Configuration Key тоже не получилось так как я создал два ключа конфигурации и навесил их на элементы расширенного типа но после того как форма открывается в init формы
указываю DictConfigurationKey ConfigurationKeyAgreement = new DictConfigurationKey(ConfigurationKeyNum(Agreement));
и затем у данного класса есть один подходящий метод ConfigurationKeyAgreement.enabled(); который включает конфигурационный ключ но он уже включен так как isConfigurationkeyEnabled(ConfigurationKeyNum(Agreement)); == true. А где его отключить не понятно так как в Администрировании\ контроль доступа \ уровни доступа я свои конфигурационные ключи не нашел. Вопрос: как организуется фильтрация элементов Base Enums что то типа lookup
Старый 26.03.2019, 08:28   #2  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Чтобы не изобретать велосипед, посмотрите, как организована фильтрация по типам складских журналов. Устраивать танцы с конфигурационными ключами не надо, у пунктов меню есть параметр для Enum.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.

Последний раз редактировалось KiselevSA; 26.03.2019 в 08:28. Причина: (очепятки)
Старый 26.03.2019, 08:32   #3  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Не совсем понятно, но автор, похоже, хочет показать поле пользователю и дать его редактировать, при этом в выпадающем списке нужно спрятать часть значений. Т.е.не просто фильтрация записей.
__________________
Ivanhoe as is..
Старый 26.03.2019, 08:58   #4  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
Именно так, к примеру тип содержит значения 1,2,3,4. Мне нужно что бы при открытии формы с одного menu item отображались и были доступны для выбора значения 1,2. А при открытии этой же формы с дугой менюшки в поле отображались значения 3,4
Старый 26.03.2019, 09:04   #5  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
305 / 137 (5) +++++
Регистрация: 21.04.2008
Ну перекрывайте lookup и пишите что нужно. Нашёл подобное на форме LedgerRRGCellTable_RU (АХ2009)
X++:
public void lookup()
{
;
    EnumLookup_RU::lookup(this, enumnum(LedgerRRGOperationType_RU), ledgerRRGOperationTable.validOperationTypes());
}
За это сообщение автора поблагодарили: AlexSD (5).
Старый 26.03.2019, 09:57   #6  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,158 / 1286 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от danov.86 Посмотреть сообщение
Именно так, к примеру тип содержит значения 1,2,3,4. Мне нужно что бы при открытии формы с одного menu item отображались и были доступны для выбора значения 1,2. А при открытии этой же формы с дугой менюшки в поле отображались значения 3,4
Тогда наверное, нужно не только чтобы "отображались"?
Кто мешает пользователю вручную ввести значение (текстом или цифрой)? Что мешает пользователю вставить из буфера?
Придется еще и проверять введенные значения, а не только предлагать список для выбора.
С base enum автоматической фильтрации и проверки по списку просто нет. Придется программировать (выбор, например, как предлагает Player1, проверки в обычных местах).
Старый 26.03.2019, 12:23   #7  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
Цитата:
Сообщение от Player1 Посмотреть сообщение
Ну перекрывайте lookup и пишите что нужно. Нашёл подобное на форме LedgerRRGCellTable_RU (АХ2009)
X++:
public void lookup()
{
;
    EnumLookup_RU::lookup(this, enumnum(LedgerRRGOperationType_RU), ledgerRRGOperationTable.validOperationTypes());
}
Предложение хорошее. Но я столкнулся со следующей проблемой поле которому присвоен мой Enum Type типа Enum и на гриде перекрыв lookup поля он не отрабатывает как в принцыпе не отрабатывает перекрытый lookup поля в data sources наверно потому что это поле combo box
Старый 26.03.2019, 12:28   #8  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
Должно же быть какое то решение. Просто создавать EDT с сылкой на таблицу не хочу так как исправляется уже существующая структура с данными и переподципить поле не получиться. Прейдется создавать новое и на него переарентировать все проверки что было на поле base enum. а этого так не хочеться
Старый 26.03.2019, 12:38   #9  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Недавно решал такую проблему.

Пришлось сделать строковый Edit метод на табличке (метод возвращает и принимает строку а пишет в поле с типом енум в табличке.)
Его вывести в грид. Написать для него лукапы и валидации. Работало.

Возможно получилось бы и через comboBox - но тогда что-то помешало. Детали не помню уже.
Старый 26.03.2019, 13:25   #10  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
305 / 137 (5) +++++
Регистрация: 21.04.2008
Цитата:
Сообщение от danov.86 Посмотреть сообщение
Предложение хорошее. Но я столкнулся со следующей проблемой поле которому присвоен мой Enum Type типа Enum и на гриде перекрыв lookup поля он не отрабатывает как в принцыпе не отрабатывает перекрытый lookup поля в data sources наверно потому что это поле combo box
Вы смотрели как сделано в той форме? там не поле таблицы, а edit-метод
Старый 27.03.2019, 08:46   #11  
danov.86 is offline
danov.86
Участник
 
25 / 13 (1) ++
Регистрация: 16.08.2012
Цитата:
Сообщение от Player1 Посмотреть сообщение
Вы смотрели как сделано в той форме? там не поле таблицы, а edit-метод
Изначально не обратил пристального внимания на конструктив. Всем спасибо за помощь. сделал как реализовано на форме LedgerRRGCellTable_RU и в принципе такая схема меня устроила.
За это сообщение автора поблагодарили: Player1 (1).
Теги
ограничение base enums, ограничение расширенного типа данных, фильтр base enums

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Enum не в Base Enums а в EDT syl DAX: Программирование 2 30.09.2015 12:07
фильтр Base Enum-a kitty DAX: Программирование 15 15.12.2013 12:21
axStart: Using base enums in your .net connector Blog bot DAX Blogs 0 30.07.2008 00:05
Base Enums kashperuk DAX: Программирование 2 27.07.2004 14:52
Base Enums - все страньше и страньше! PlasticinE DAX: Программирование 8 09.01.2003 17:30
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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