![]() |
#1 |
Участник
|
Можно сделать lookup по полю типа Base Enum?
Задача заключается в том чтобы уменьшить количество полей в выпадающем списке типа Base Enum. Можно сделать lookup по полю типа Base Enum?
|
|
![]() |
#2 |
Участник
|
Делаешь еще один BaseEnum с нужными значениями и соотв названиями, пихаешь на форму, переопределяешь modifed - при выборе подпихиваешь выбранное значение в поле таблы.. общая схема такова..
|
|
![]() |
#3 |
Модератор
|
Можно.
Что-то типа того: PHP код:
Георгий |
|
![]() |
#4 |
Moderator
|
Если имеется в виду combobox, то там только одно поле, и чего там уменьшать?
![]() Уточните проблему. Дополнение: мда, немного опоздал...
__________________
Андрей. |
|
![]() |
#5 |
Участник
|
Re: Можно сделать lookup по полю типа Base Enum?
Цитата:
Изначально опубликовано Hidden
Задача заключается в том чтобы уменьшить количество полей в выпадающем списке типа Base Enum. Можно сделать lookup по полю типа Base Enum? |
|
![]() |
#6 |
Участник
|
Уважаемый George Nordic. А в каком методе этот код нужно использовать?
При открытии формы или при выборе combobox? |
|
![]() |
#7 |
Модератор
|
не, это - при открытии формы заполняется combobox. Я на init'e подобное юзаю, после super'a (иначе элементы еще не сформированны) "Лишние" значения - удаляются. Но это - программерский способ, если лень с ключами возиться
![]() С Уважением, Георгий |
|
![]() |
#8 |
Участник
|
Воспользуюсь наверное ключами, но почему то на init не работает. Примерчик какой нибудь есть?
|
|
![]() |
#9 |
Участник
|
Напишите как удалить из combobox ненужные элементы. Плиз.
|
|
![]() |
#10 |
Участник
|
Попробовал с помощью конфигурационных ключей, по старым записям не видно отключенные элементы.(только в Grid видно). Расскажите как программно заполнить?
|
|
![]() |
#11 |
Участник
|
up
|
|
![]() |
#12 |
Модератор
|
Найди накладную.
|
|
![]() |
#13 |
Участник
|
Здравствуйте
А как выключите конфигурационный ключ. |
|
![]() |
#14 |
Модератор
|
Цитата:
Изначально опубликовано Natasha
Здравствуйте А как выключите конфигурационный ключ. ![]() С Уважением, Георгий |
|
![]() |
#15 |
Участник
|
Уважаемый mazzy предлагал 17-06-2005 22:56: "Если уменьшить нужно для всей системы, то создайте конфигурационный ключ и привяжите к ненужным элементам. Затем выключите конфигурационный ключ."
Мой вопрос в заключался в том, как это осуществить программно. Ничего не получается, все время аот хочет синхронизироваться . |
|
![]() |
#16 |
Модератор
|
??? Да что Вы? Зачем программно ключ-то пихать? Совет Сергея тем и хорош, что ничего программировать-то НЕ НАДО!
У Enum'a есть Элементы. Ставите на каждый security key и разграничиваете доступ - у кого есть доступ, те видят все значения, у кого нет - видять только доступные им. С Уважением, Георгий |
|
![]() |
#17 |
Участник
|
![]() спасибо за ответ потому я и полезла, что раграничения не только по пользователям |
|
![]() |
#18 |
Модератор
|
Хм. Так. Не понял, но подскажу идею: когда заполняете comboBox, проверяйте hasSecurityKeyAccess(key, level);
Т.е. получается симбиоз программирования и настроек.. Иногда - очень эффективный. С Уважением, Георгий |
|
![]() |
#19 |
Участник
|
спасибо большое
я нашла выход из положения |
|
![]() |
#20 |
Участник
|
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). |
Теги |
baseenum, lookup filter, шаманство |
|
|