Добрый день.
Я только начинаю тесно работать с MS DynamicsAX, просьба помочь разобраться с одним вопросом.
Есть диалог, с кнопкой "Выбрать", внутри должно быть 2 поля.
Но проблема в том, что при данном коде отображается только одно из полей, в зависимости от того, какой queryRun возвращается.
Объявил 2 QueryRun'а:
X++:
class ... extends RunBase
{
...
QueryRun queryrun1, queryrun2;
...
}
Объявил 2 query, привязал 2 датасурса:
X++:
void initQuery()
{
query query1 = new query();
query query2 = new query();
QueryBuildDataSource qbds1, qbds2;
;
qbds1= query1.addDataSource(tableNum(Table1));
qbds2= query2.addDataSource(tablenum(Table2));
queryrun1 = new queryRun(query1);
queryrun2 = new queryRun(query2);
}
Далее есть метод, где данные обрабатываются и выводятся в ёксель:
X++:
void printSheet1()
{
...
EDT edt1, edt2;
Table1 table1;
Table2 table2;
...
;
while (queryrun1.next())
{
table1 = queryrun1.get(tablenum(Table1));
edt1 = Table1.Field1;
while (queryrun2.next())
{
table2 = queryrun2.get(tableNum(Table2));
edt2 = Table2.Field2;
....
}
queryrun2.reset();
}
queryrun1.reset();
}
Но всё упирается в следующий метод.
Если возвращаем queryrun1, то но форме будет только поле с Table1. И, соответственно, перебор будет по указанным значениям из Table1 и всем значениям из Table2. И наоборот.
X++:
public QueryRun queryRun()
{
return queryrun1;
//return queryrun2;
}
Может можно как-то всё проще реализовать или подскажите выход из сложившейся ситуации, какие могут быть варианты?