AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search Mark Forums Read

 
 
Thread Tools Search this Thread Display Modes
Old 02.10.2017, 12:47   #21  
A_BAS is offline
A_BAS
Участник
A_BAS's Avatar
 
77 / 48 (2) +++
Join Date: 19.04.2012
Quote:
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.
Имхо, вышеприведенный метод нужно использовать аккуратно, а лучше совсем не использовать
Old 02.10.2017, 14:10   #22  
Krasher is offline
Krasher
Участник
Krasher's Avatar
 
48 / 37 (2) +++
Join Date: 14.05.2005
Соглашусь отчасти. Если элементы с конца - всё идеально. и никакой доработки не нужно вообще. Почему бы и не использовать?

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

Ну а если писать что-то универсальное на любое количество элементов в любом месте списка - то тут соглашусь - лучше не надо...
Old 02.10.2017, 14:40   #23  
A_BAS is offline
A_BAS
Участник
A_BAS's Avatar
 
77 / 48 (2) +++
Join Date: 19.04.2012
Quote:
Originally Posted by Krasher View Post
Соглашусь отчасти. Если элементы с конца - всё идеально. и никакой доработки не нужно вообще. Почему бы и не использовать?
Ну потому что после добавления нового значения в enum (при активной кастомизации это вполне вероятно) есть риск "забыть" исправить лукап на форме и заиметь проблемы с корректностью введенных данных (если enum прицеплен к полю).

Ну а насчет перекрыть и подправить... Оно конечно можно, но это опять же с бубном плясать.
Old 03.10.2017, 07:00   #24  
mdanko2000 is offline
mdanko2000
Участник
 
44 / 40 (2) +++
Join Date: 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.
This post has been rated by: trud (6).
Old 04.10.2017, 12:13   #25  
Krasher is offline
Krasher
Участник
Krasher's Avatar
 
48 / 37 (2) +++
Join Date: 14.05.2005
Quote:
Originally Posted by mdanko2000 View Post
На форме можно сделать стандартными средствами, обсуждалось несколько позже начала данного топика.
Есть класс SysFormEnumComboBox:
X++:
/// The class facilitates work with a form combobox control, representing an enum,
/// when only some of the enum values are allowed.
В SysFormEnumComboBox всё прекрасно, только он имеет вот такую особенность... "P.S. It is also worth mentioning, that this class does not provide support for grids. It requires a stand-alone control, not bound to a database table field". Из-за чего и танцы...
Old 04.10.2017, 13:06   #26  
A_BAS is offline
A_BAS
Участник
A_BAS's Avatar
 
77 / 48 (2) +++
Join Date: 19.04.2012
Коли уж зашла речь про бубны, то еще один вариант ограничить выборку значений enum - SysLookup::lookupEnum(). Второй параметр метода - контейнер с исключаемыми значениями.
Для использования этого метода требуется создавать текстовое поле/edit-метод/calculated field (вобщем FormStringControl) и соответственно прописывать сохранение значений в поле с enum.
В гриде оно кстати работает. В общем - куда ни плюнь - без шаманства никак
Tags
baseenum, lookup filter, шаманство

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Выбираем 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
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 15:39.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.