|
14.12.2006, 13:38 | #1 |
Участник
|
multiselect при lookup-е значения типа enum
Добрый день, тема про lookup вроде бы популярная, но вот поиск не дал окончательного ответа на вопрос.
Задача в целом следующая, необходимо на форме выбора значений указанного enum типа иметь возможнотсь multiselct-а с последующим сохранением выбранных значений в одно поле таблицы типа контейнер. часть существующего сейчас кода на контроле, связанном с полем таблицы (метод lookup), все замечательно, но выбирается одно значение указанноего enum, а нужен multiselect ... de = new DictEnum(i); args = new Args(formStr(SysLookup)); args.parm(int2str(de.id())); fr = classFactory.formRunClass(args); fr.init(); this.performFormLookup(fr); с Axapta столкнулся совсем недавно, решить данную задачу я могу общими принципами программирования баз данных, написать n-е кол-во кода, но уже многократно сталкивался с тем, что, как правило, есть вполне стандартное решение, системные классы и формы... большая просьба подсказать решение |
|
14.12.2006, 15:13 | #2 |
Участник
|
Цитата:
Если выбранные вы будете использовать в качестве критерия запроса, то не извращайтесь, а сохраните в строчку через запятую. (Запустите критерий CTRL+F3 на форме с enum и перечислите несколько значений в критерии) Если же вы что-то другое задумали, Обратите внимание, что enum - это числа. Текстовое представление (на текущем языке) рождается только в момент отображения на экран или на бумагу. |
|
14.12.2006, 16:13 | #3 |
Участник
|
да, enum это числа, само собой текстовые предствления на форме выбора берутся из описания элементов, сохраняться должно число. если бы эта формочка, которая отображает элементы enum, позволяла бы вводить через "," значения в одно поле, то было бы замечательно
по ctrl-f3 вызывается форма "Запрос"... |
|
14.12.2006, 18:56 | #4 |
Участник
|
Цитата:
Далась вам эта "формочка, которая отображает элементы enum"... Я про это и говорю - посмотрите как сделан выбор enum'ов в ЗАПРОСЕ. |
|
14.12.2006, 18:43 | #5 |
Участник
|
В особо тяжких случаях (делал для отчета работающего через ADO) - делал так - текствое поле длины немалой, рядом поле Enum, перекрываешь лукап на Enum так, что при выборе в текстовое поле добавляется его значение + ",". Несколько раз лукапнул Enum - получил в соседнем поле 1,2,3,4, (последнюю зпт надо потом откинуть)
|
|
|
|