AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.05.2019, 19:27   #1  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
D365FO: Поля связи в расширенном фильтре
Добрый день!
Потребовалось тут мне построить нетривиальный фильтр на форме и столкнулся я с тем, что при попытке приджойнивания новой таблицы - выводится много связей с одинаковым названием и невозможно отличить одну связь от другой.
Особенно это заметно, если в одной таблице есть несколько сотрудников (как например, в таблице проектов - ProjTable). Но я покажу пример на более распространенной табличке - заказов на покупку (PurchTable). В табличке есть 2 поля, ссылающихся на справочник поставщиков (VendTable) - OrderAccount и InvoiceAccount. Итак, открываем заказ на покупку (например, из модуля Расчеты с поставщиками) и выбираем расширенный фильтр
Нажмите на изображение для увеличения
Название: SNAG_Program-0015.png
Просмотров: 188
Размер:	48.6 Кб
ID:	12318
Пытаемся добавить справочник поставщиков к существующему запросу
Название: SNAG_Program-0016.png
Просмотров: 786

Размер: 29.0 Кб
И видим две одинаковые строки
Нажмите на изображение для увеличения
Название: SNAG_Program-0017.png
Просмотров: 126
Размер:	48.5 Кб
ID:	12320
Изначально не очень понятно, какую мне связь выбирать, если я захочу к табличке PurchTable приджойнить табличку VendTable.
Кнопка "Показывать названия таблиц" не вносит ясности, т.к. в общем-то и так понятно, что я пытаюсь приджойнить VendTable к PurchTable

Я решил добавить сюда информацию о полях связи, добавив дополнительный столбец (он виден только, если включен флажок "Показывать названия таблиц")
Нажмите на изображение для увеличения
Название: SNAG_Program-0018.png
Просмотров: 132
Размер:	80.6 Кб
ID:	12321

В случае связей по нескольким полям - они "склеиваются" в одну строку и выводятся таким образом:
Нажмите на изображение для увеличения
Название: SNAG_Program-0019.png
Просмотров: 132
Размер:	81.2 Кб
ID:	12322

Проверил на 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).
Старый 30.09.2019, 18:06   #2  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Спасибо что поделились, я добавил эту утилиту на гитхаб https://github.com/TrudAX/XppTools#-...elation-fields. Ссылку на этот пост также указал(только префикс сделал DEV)

Последний раз редактировалось trud; 30.09.2019 в 18:19.
За это сообщение автора поблагодарили: sukhanchik (5).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
D365FO: Data entity import: импорт нередактируемого поля klimova_m DAX: Программирование 8 29.03.2019 13:49
Как получить поля из связанной таблицы D365FO Fact DAX: Программирование 6 07.09.2018 11:32
Relation в расширенном фильтре Katuxa DAX: Программирование 4 05.11.2014 11:49
Скобка в расширенном фильтре sable102 DAX: Функционал 3 29.07.2014 06:05
Варианты join в расширенном фильтре Weez DAX: Программирование 10 20.07.2009 14:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:59.