![]() |
#8 |
Участник
|
Спасибо! Вы решили мою задачу.
Получается, что дочерние части формы связаны с родителькой частью через args.caller() Вот так можно получить пользовательские фильтры, установленные на шапках заказа, находясь в той части формы, которая относится к строкам заказов: X++: void new(FormRun _callerFormRun) { Query localQuery; FormDatasource formDatasource; int i; PartList partList; Object obj; ; partList = new PartList(_callerFormRun); if (!partList.partCount()) //если на форме нет частей, то предполагаем, что эта форма - часть родительскрй формы, которая находится в args().caller() { obj = _callerFormRun.args(); if (obj) obj = obj.caller(); //получаем родительскую форму if (obj) { formDatasource = obj.dataSource(1); localQuery = formDatasource.queryRun().Query(); info(localQuery.datasourceNo(1).toString()); //достаем запрос родительской формы for (i = 1; i <= localQuery.queryFilterCount(); i++) { info(localQuery.queryFilter(i).toString()); //достаем пользовательские фильтры из родительской формы //if (localQuery.queryFilter(i).dataSource().name() == qbds.name()) // Query.addQueryFilter(qbds, localQuery.queryFilter(i).field()).value(localQuery.queryFilter(i).value()); } } } } Последний раз редактировалось Ace of Database; 27.03.2017 в 14:27. |
|