24.05.2019, 19:27 | #1 |
Administrator
|
D365FO: Поля связи в расширенном фильтре
Добрый день!
Потребовалось тут мне построить нетривиальный фильтр на форме и столкнулся я с тем, что при попытке приджойнивания новой таблицы - выводится много связей с одинаковым названием и невозможно отличить одну связь от другой. Особенно это заметно, если в одной таблице есть несколько сотрудников (как например, в таблице проектов - ProjTable). Но я покажу пример на более распространенной табличке - заказов на покупку (PurchTable). В табличке есть 2 поля, ссылающихся на справочник поставщиков (VendTable) - OrderAccount и InvoiceAccount. Итак, открываем заказ на покупку (например, из модуля Расчеты с поставщиками) и выбираем расширенный фильтр Пытаемся добавить справочник поставщиков к существующему запросу И видим две одинаковые строки Изначально не очень понятно, какую мне связь выбирать, если я захочу к табличке PurchTable приджойнить табличку VendTable. Кнопка "Показывать названия таблиц" не вносит ясности, т.к. в общем-то и так понятно, что я пытаюсь приджойнить VendTable к PurchTable Я решил добавить сюда информацию о полях связи, добавив дополнительный столбец (он виден только, если включен флажок "Показывать названия таблиц") В случае связей по нескольким полям - они "склеиваются" в одну строку и выводятся таким образом: Проверил на PU25 - работает. В ходе разработки использовал технологию CoC для расширения класса и для расширения контрола (чтобы столбец скрывался при выключенном флажке "Показывать названия таблиц"), т.о. ранее, чем PU22 (кажется) такой подход работать не будет - нужно будет код немного поменять. Думаю, тут уже можно будет справиться самостоятельно (в конце концов можно не скрывать новый столбец) Кода немного - фактически, небольшое расширение класса SysQueryBuilder Код делал в отдельной модели для лёгкости установки. Прикладываю 2 файла - .axpp (выгрузка проекта) и .axmodel (выгрузка модели) SysQueryFormAddRelInfo.axpp SysQueryFormAddRelInfo-VSUH.axmodel
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 24.05.2019 в 19:30. |
|
|
За это сообщение автора поблагодарили: KiselevSA (6), trud (20), raz (17), belugin (15), Ar (1), wojzeh (7), vmoskalenko (3), S.Kuskov (10). |