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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.02.2021, 14:27   #1  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
Сортировка на форме после группировки
Всем доброго дня.
AX 2012 R3
Прошу совета в разрешении вот какой проблемы.
Есть форма

Для внутреннего модуля есть своя таблица с "проводками" по артикулам.
Все поля на форме кроме поля "Название" из этой таблицы. Поле "Название" из таблицы артикулов.
Структура таблицы следующего вида
артикул инвойс поставка заказ инвойс_кол-во поставка_кол-во вЗаказе_кол-во
0001 156 78 5 2
0001 205 89 3 4
0002 456 45 10 5
Исходя из галок группировки отображаются или скрываются столбцы.
При проставлении галки "Артикул" также отображается поле "Название" чтобы иметь представление что из себя представляет тот или иной артикул.
Собственно сама проблема вот в чем. Пока не стоит галка "артикул", то при нажатии на любой из заголовков столбцов происходит штатная сортировка данных по возрастанию/убыванию.
При простановке галки "Артикул" включается второй источник данных
X++:
qbdsNameAliasTable.enabled(nameAlias.value());
накладываются соответствующие группировки и данные отображаются, НО теперь штатная сортировка корректно работает только по столбцу "Наименование", как по возрастанию, так и по убыванию. По остальным столбцам при попытке отсортировать происходит сортировка только по убыванию, дальше ничего не меняется.
Если галку с "Артикул" снять, то всё начинает работать.
Кто-нибудь сталкивался с подобным поведением?
Старый 03.02.2021, 15:32   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,273 / 3466 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Навскидку - надо проверить, чтобы датасорсы связывались между собой InnerJoin-ом, плюс было бы задано свойство QueryBuildDataSource.fetchMode(QueryFetchMode::One2One) на подчиненном датасорсе.
А вообще - в такого рода суммовых формах лучше иметь один источник данных (например, View). С ним таких глюков не будет.

(С ностальгией вспоминается D365FO, где все эти группировки в гриде с подсчетом итогов реализованы на уровне ядра в каждом гриде)
__________________
Возможно сделать все. Вопрос времени
Старый 03.02.2021, 16:12   #3  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
InnerJoin был изначально.
Добавил,
X++:
qbdsNameAliasTable.fetchMode(QueryFetchMode::One2One);
но результата не дало.
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
в такого рода суммовых формах лучше иметь один источник данных (например, View)
Пока создал копию формы и переделываю на View
Теги
ax2012r3, группировка, сортировка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX09: восстановить установленные фильтры в форме после вызовов reread / refresh oleggy DAX: Программирование 5 12.08.2020 12:54
ax2009, ax2012: как правильно отобразить фильтр на форме? mazzy DAX: Программирование 6 25.03.2019 19:09
Обновить выделенные записи на форме kitty DAX: Программирование 6 12.03.2018 19:11
Отсортировать записи после группировки через Query NickMDAX DAX: Программирование 3 13.03.2012 07:10
BugFix: В форме складских журналов нельзя перемещаться с помощью клавиш курсора Maxim Gorbunov DAX: Программирование 5 21.01.2005 01:20
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:40.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.