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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.06.2005, 16:51   #1  
Hidden is offline
Hidden
Участник
 
199 / 15 (1) ++
Регистрация: 25.03.2004
Адрес: Moscow
Можно сделать lookup по полю типа Base Enum?
Задача заключается в том чтобы уменьшить количество полей в выпадающем списке типа Base Enum. Можно сделать lookup по полю типа Base Enum?
Старый 22.09.2017, 13:51   #2  
Krasher is offline
Krasher
Участник
Аватар для Krasher
 
48 / 37 (2) +++
Регистрация: 14.05.2005
https://community.dynamics.com/ax/b/...n-time-ax-2012
Извиняюсь, если не увидел повторы. Но этого способа вроде бы нигде в смежных темах не встретил. Если линк умрёт, просто оставлю здесь кусок кода на память... Метод enter() контрола, у которого нужно укоротить лукап, путём скрытия элементов. Работает на гридах и с полями, типа BaseEnum без необходимости подмены поля edit-методом и дальнейшими танцами вокруг перекрытия lookup() ....
X++:
public void enter()
{
 super();
 this.delete(enum2str(BankDocumentType::LetterOfGuarantee));
 this.delete(enum2str(BankDocumentType::ImportCollection)); 
}
За это сообщение автора поблагодарили: Jorj (1), olesh (1), trud (5), Weez (2), Ace of Database (3), Zabr (5), miaa (1), Dynamics365Eng (1).
Старый 02.10.2017, 12:47   #3  
A_BAS is offline
A_BAS
Участник
Аватар для A_BAS
 
77 / 48 (2) +++
Регистрация: 19.04.2012
Цитата:
https://community.dynamics.com/ax/b/...n-time-ax-2012
Извиняюсь, если не увидел повторы. Но этого способа вроде бы нигде в смежных темах не встретил. Если линк умрёт, просто оставлю здесь кусок кода на память... Метод enter() контрола, у которого нужно укоротить лукап, путём скрытия элементов. Работает на гридах и с полями, типа BaseEnum без необходимости подмены поля edit-методом и дальнейшими танцами вокруг перекрытия lookup() ....
Индус из блога очень удачно подобрал пример. Если убирать значения enum "с хвоста", то все работает как надо.
А вот если выдернуть значение из середины например LetterOfCredit (enumValue = 1), то при выборе значения начинаются чудеса. Происходит сдвиг и при выборе например LetterOfGuarantee (enumValue = 2) на деле выбирается значение 1, а при выборе ImportCollection (3) выбирается значение 2.
Имхо, вышеприведенный метод нужно использовать аккуратно, а лучше совсем не использовать
Старый 02.10.2017, 14:10   #4  
Krasher is offline
Krasher
Участник
Аватар для Krasher
 
48 / 37 (2) +++
Регистрация: 14.05.2005
Соглашусь отчасти. Если элементы с конца - всё идеально. и никакой доработки не нужно вообще. Почему бы и не использовать?

Если элемент один (или группа элементов подряд) посреди списка, наверное всё ещё имеет смысл - в gotFocus() подменить this.setEditText() и в modified() записывать в поле всё со сдвигом с нужного элемента.

Ну а если писать что-то универсальное на любое количество элементов в любом месте списка - то тут соглашусь - лучше не надо...
Старый 02.10.2017, 14:40   #5  
A_BAS is offline
A_BAS
Участник
Аватар для A_BAS
 
77 / 48 (2) +++
Регистрация: 19.04.2012
Цитата:
Сообщение от Krasher Посмотреть сообщение
Соглашусь отчасти. Если элементы с конца - всё идеально. и никакой доработки не нужно вообще. Почему бы и не использовать?
Ну потому что после добавления нового значения в enum (при активной кастомизации это вполне вероятно) есть риск "забыть" исправить лукап на форме и заиметь проблемы с корректностью введенных данных (если enum прицеплен к полю).

Ну а насчет перекрыть и подправить... Оно конечно можно, но это опять же с бубном плясать.
Старый 03.10.2017, 07:00   #6  
mdanko2000 is offline
mdanko2000
Участник
 
44 / 40 (2) +++
Регистрация: 21.04.2014
На форме можно сделать стандартными средствами, обсуждалось несколько позже начала данного топика.
Есть класс SysFormEnumComboBox:
X++:
/// The class facilitates work with a form combobox control, representing an enum,
/// when only some of the enum values are allowed.
За это сообщение автора поблагодарили: trud (6).
Теги
baseenum, lookup filter, шаманство

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Выбираем Enum, меняется Lookup, как правильней закодить? Shakr DAX: Программирование 23 21.08.2008 09:04
gatesasbait: How to define a custom lookup form for an extended datatype Blog bot DAX Blogs 0 09.07.2008 22:05
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Можно ли к полю в диалоге прикрутить фильтр? KiselevSA DAX: Программирование 3 29.05.2007 09:51
Как сделать свою Web-lookup форму? brm DAX: Программирование 8 23.03.2005 13:03
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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