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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.08.2026, 15:18   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,740 / 1223 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
lookupReference и Base Enum
Ax2012 R2

Создал новую таблицу-справочник, у которой первичный ключ RecId, а в качестве альтернативного ключа выступает Base Enum. Сделал EDT по полю RecId и настроил ReferenceTable. Добавляю этот EDT на форму диалога (RunBase) и вижу раскрывающийся список со значениями Base Enum из записей таблицы

Вроде бы, все хорошо. Но, как оказалось, "есть нюанс" (с)

1. Перекрыть для такого объекта метод lookup или lookupReference - невозможно. По той причине, что для отображения Base Enum используется объект ComboBox. А у него просто нет метода lookup. Нечего перекрывать

2. Метод modified перекрыть можно. Но для ComboBox он срабатывает при выходе из объекта. Т.е. надо выбрать и перейти на другой объект формы. Т.е. перекрывать в этом случае надо метод SelectionChange

В общем, использование Base Enum как альтернативного ключа блокирует некоторые привычные функции. Или я чего-то не знаю, и эти "фичи" можно обойти без перехода на символьные поля в справочнике?

Меня интересует можно ли в такой ситуации сделать фильтрацию элементов выпадающего списка по некоторому условию?

Конкретно для формы диалога я выкрутился просто. Положил на форму обычное символьное поле (String50) и для него уже можно перекрыть lookup и modified. Но это похоже на "закат солнца вручную". Да и при использовании в Grid будут сложности
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 02.09.2026, 11:44   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
4,024 / 3328 (119) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Попробовать использовать \Classes\SysLookup\lookupEnum
Ну добавив кастомизации на выбрасывание запрещенных значений.

Ну или написать какой нить свой лукап.
Старый 03.09.2026, 19:04   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
4,024 / 3328 (119) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Можно сделать lookup по полю типа Base Enum?
Старый 04.09.2026, 18:44   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,740 / 1223 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Проблема в том, что все эти варианты предполагают, что у объекта есть метод Lookup. Ну, чтобы было чего перекрывать. А для Base Enum автоматически подставляется ComboBox, у которого такого метода нет. Нечего перекрывать. Некуда "встроится"

По сути, единственный вариант - это сделать в справочнике символьное поле, куда копировать значение Label соответствующего элемента Enum и это поле сделать альтернативным ключом. Тогда все вопросы решаются. Останется только вопрос модификации элементов Enum. Но тут уж ничего не поделаешь
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 29.09.2026, 12:21   #5  
michel1971 is offline
michel1971
Участник
 
80 / 80 (3) ++++
Регистрация: 14.01.2011
\Classes\DialogEnumComboBox не подойдет?
Старый 30.09.2026, 20:51   #6  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,740 / 1223 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Для Grid это не работает
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
mohsinkhalid: Tip for adding an element to an existing Base enum in AX 2012 Blog bot DAX Blogs 0 16.03.2018 20:17
Можно сделать lookup по полю типа Base Enum? Hidden DAX: Программирование 25 04.10.2017 13:06
фильтр Base Enum-a kitty DAX: Программирование 15 15.12.2013 12:21
New base enum value Kent DAX in English 0 16.09.2009 18:11
Как определить наименование Base Enum по его id? vasiliy DAX: Программирование 5 11.07.2005 19:52
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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