|
![]() |
#1 |
Участник
|
1. В QueryRun всё в порядке.
2. Query у меня пока никак не сохраняется этими методами, не дошёл до этого. Пункты 3. и 4.: Изменил немного код и всё пошло как надо: X++: void initQuery() { query query1 = new query(); QueryBuildDataSource qbds1, qbds2; ; qbds1= query1.addDataSource(tableNum(Table1)); qbds1.firstfast(false); qbds2= qbds1.addDataSource(tablenum(Table2)); qbds2.firstFast(false); //Убрал объединение //qbds2.addLink(fieldnum(Table1, DepartmentId), fieldnum(Table2, DepartmentId)) // Явное указание полей, которые будут отображены в форме диалога qbds1.addRange(fieldnum(Table1, Field1)); qbds2.addRange(fieldnum(Table2, Field1)); queryrun1 = new queryRun(query1); } |
|
![]() |
#2 |
Участник
|
Всё это хорошо, пока в объемлющем qbds (qbds1 в вышеприведённом примере) нет группировок.
Если же их добавить, то вложенная таблица (qbds2 / Table2 в вышеприведённом примере) просто перестанет выбираться: при вызове table2 = queryrun1.get(tableNum(Table2)) не будет заполняться table2. Я знаю один выход из такого положения, но он слишком антилиберальный. ![]() Если кто-то знает другие, буду благодарен за описание в данной теме. |
|
![]() |
#3 |
Участник
|
Цитата:
Если вы хотите получить запрос где таблица сначала группируется, а потом к результату группировки джойнится вложенная таблица, то нужно использовать промежуточный View для группировки и уже этот View соединять с вложенной таблицей. Проясните запрос Последний раз редактировалось S.Kuskov; 19.01.2017 в 13:15. |
|
![]() |
#4 |
Участник
|
Цитата:
А с qbds в query ничего не получится. Поля в разделе Group By в дизайне вьюхи будут проигнорированы, а qbds.addGroupByField(viewName, viewField) приведёт к тому, что вложенная таблица не будет выбираться. Так в Ax2009. Подчеркну, что речь идёт о несвязанных таблицах (ни через их Relation, ни через qbds2.addLink() ) , когда надо поучить декартово произведение двух выборок "всё на всё". Последний раз редактировалось AR®; 19.01.2017 в 13:31. |
|
![]() |
#5 |
Участник
|
Цитата:
Да какая разница. Наличие или отсутствие relation не меняет принципа соединения таблиц, а влияет только на последующую фильтрацию результата соединения. Последний раз редактировалось S.Kuskov; 19.01.2017 в 13:35. |
|
![]() |
#6 |
Участник
|
|
|
![]() |
#7 |
Участник
|
Цитата:
Цитата:
Do not specify a field in the Group By element. A view does not use the field information in the Group By element.
Note: If you want to group the records in a view, replace the view data source with a query that has the specified group by information. https://msdn.microsoft.com/en-us/lib...(v=ax.50).aspx |
|
|
За это сообщение автора поблагодарили: AR® (1). |