Если кому интересно, нашла как подставить запрос
X++:
q = new Query(queryStr(MyNewQuery));
q.name('MyOldQueryName');
controller.parmLoadFromSysLastValue(false);
controller.parmReportName(ssrsReportStr(MyReport, Proforma));
contract = controller.getDataContractInfoObject(controller.getFirstQueryContractKey());
contract.parmQuery(q);
Это все перед startOperation в main() контроллера
Есть две засады:
1) Не очень красиво, что нужно обманывать аксапту, подставляя новый запрос, но присваивая ему имя старого. Если этого не сделать, то получаешь сообщение
Цитата:
Query for report parameter MyReportDP_DynamicParameter has a mismatch. Expected "MyOldQueryName", actual "MyNewQueryName".
2) Запрос (и все остальные поля) не сохраняется в usage data. Если этого не сделать, то, ест-но будут ошибки при запуске старого отчета.
Вообщем, это, видимо, единственный более-менее корректный способ добиться желаемого, но по большому счету гибкости имплементации MVC в AX, имхо, очень не хватает.
Спасибо AndyD за пост
Как заставить query добавленный в run time отобразится в диалоговом окне SSRS отчета?