Спасибо! Вы решили мою задачу.
Получается, что дочерние части формы связаны с родителькой частью через 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());
}
}
}
}