Есть форма на основе временной таблицы, она показывает вычисленные значения для каждой номенклатуры(около 15 полей на каждую номенклатуру).
Нужно ограничить количество записей в нее попадающих.
Открывать сразу все, а потом накладывать фильтры - не вариант, тк она 100 лет рассчитываться будет + да и пользователю не нужны все записи. Они бы предпочли сразу указывать критерии,т.е какие номенклатуры им нужно рассчитать и показать.
Как по бест-практис правильней сделать?
Я пока думаю так:
1) класс MyClass- наследник runBase, кот показывает диалог для выбора критериев накладываемых на InventTable. Сформированный запрос по InventTable будет использоваться для ограничения количества номенклатур , попадающих в расчет врем талицы.
2) в его MyClass.run() по
X++:
new MenuFunction(menuitemdisplaystr(MyForm),MenuItemType::Display);
открыть мою форму MyForm (кот основана на врем таблице)
3) в init() MyForm через MyClass.parmQuery() достать и передать его в метод MyTmpTable:

opulate(), который вставляет (на сервере) записи во врем таблицу и передает курсор обратно в форму.
Все, вроде, хорошо и должно, думаю, работать, но:
1) Может, лучше просто открывать сразу MyForm, но пустой и сделать кнопку на ней для задания критериев inventTable. По OK в диалоге критериев заполнять врем таблицу и заполнять форму данными. Все-таки для аксапты не оч типично запрашивать критерии запроса перед открытием формы.
2) Не лучше ли в классе runBase сразу же заполнять на основе inventTable буфер врем талицы и уже по сути заполненную таблицу передавать в форму MyForm . (а не передавать запрос inventTable в форму , а потом уже в метод MyTmpTable:

opulate, как указано выше). Т.о, если класс на сервере выполняется и врем таблица на сервере создается, то мы избегаем передачи запроса по inventTable на клиент в форму MyForm
3)Еще варианты/предложения/альтернативы?
Спасибо
AX2009 RU2