Я поняла, как вы сделали и почему работает . Вы сделали как на форме В наличии. Там, вначала открывается Запрос, потом сама форма, как мне и надо. Но там, если пользователь жмет кнопку Отмена на форме запроса, то открывается форма "В наличии" без фильтров.
( +там действительно фильтры накладываются после super(), тк по сути форма - InventOnHandListPage уже открыта.)
В моем случае я бы хотела просто отменить выполнение задачи т.е не открывать следующую Форму.
Попробовала сделать как порекомендовал S.Kuskov, нашла интересные примеры в стандарте,когда вызывается в RunBase форма запроса вместо диалога
(см, например, NumberSeqCleanUp, SalesJournalChangeType etc).
Делается так:
X++:
public Object dialog()
{
FormRun formRun = classfactory.createQueryForm(this);
formRun.init();
return formRun;
}
при этом, нужно сам queryRun инициализировать уже в New()!
Далее, если диалог закрылся по Ок, то я вызываю свою форму( как указано выше) и передаю в нее сформированный запрос и заменяю им родительский ds формы. Имхо, хоть вариант тоже рабочий, но подмены запросов ds и двойные диалоги в runBase делают код менее яснным.