05.04.2015, 12:33 | #1 |
Участник
|
Сохранение и подстановка значения multi-select control с последующим использованием в запросах
Всем привет, хочу попросить совета по следующему вопросу:
AX 2012 R3 Есть форма DetailsTransaction (header + lines). В группе header'а существует возможность ввода мультиселекта в двух контролах. Существует требование сохранять введённые значения для каждой записи header''а и выводить их при следующем открытии формы либо изменении активной строки через грид на этой же форме. Также эти значения (поля) будут использоваться в запросах. Имею 2 варианта: 1. Сохранить значения в поле контейнера, но тогда крайне неудобно, если не сказать практически невозможно, нормально работать в этим полем в запросах. 2. Создать вспомогательную таблицу 1:1 по рекАйди и записывать туда ссылки на выбранные значения, после подставлять в контролы оттуда. Попробовал реализовать данный вариант, но стокнулся с багом (если форма открывается для новой записи, то при переходе на грид лайнов записи на эктиве стираются, если записывать ссылки после supre() write'а хедер датасорса). Какие есть ещё варианты? Или как доработать существующий номер 2? Да и в принципе, как бы сделали Вы? Буду благодарен за мысли. Спасибо! |
|
05.04.2015, 22:58 | #2 |
Участник
|
А в чем собственно проблема с контейнером ? Мне казаться наоборот очень легко через con2str превращать его в значение ренджа (тем более у вас 2 контейнера и recid и натуральных ключей 1 в любом случае подойдёт для рейнджа)
По поводу пункта 2 это не то чтобы баг просто чайлд датасорс сохраняеться раньше парента когда рекайди ещё нет. Для этого придумали Unit of work (можно посмотреть на форме unitofmeasure) или руками сохранять шапку перед строками, таких примеров в ах тоже полно. |
|
|
|