Показать сообщение отдельно
Старый 24.04.2008, 15:37   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от kitty Посмотреть сообщение
Нужно в гриде формы фильтровать base enum в зависимости от значения другого поля записи. То есть если значение одного поля А , то в другом поле вываливаются для выбора значения a, b, c, п если значение B, то в энуме должны появляться только b, d, e, f значения.
Способ 1
Вместо enum создайте справочник, содержащий два поля
1. Поле со значениями поля A
2. Поле со значениями enum'ов.
Создайте сложный relaion на таблице, который учитывает два поля
Пример - любой журнал, который показывает разные значения и даже разные таблицы в зависимости от выбранного типа счета

Способ 2
См. очень сложный для реализации, но уже готовый функционал для финансовых аналитик
http://axapta.mazzy.ru/lib/dimension_hierarchy/

Способ 3
Создайте два enum
enum1: a:1, b:2, c:3
enum2: b:2, d:4, e:5, f:6

при изменении значения в поле А подменяйте lookup в контроле.
Этот вариант требует очень внимательного программирования и соблюдения соглашений в дальнейшем при развитии системи.
например, если появится еще одно значение в A или в первом enum'е добавится элемент.

При всей кажущейся простоте этот способ самый рисковый с точки зрения труднообнаружимых багов в будущем.

Мне кажется, что будет конструктивным, если вы измените свое ТЗ и "другое поле" будет иметь тип код другого справочника, а не enum. реализовать будет намного легче
__________________
полезное на axForum, github, vk, coub.