Цитата:
Вообще удалил метод диалог, не помогает. Тогда я перекрыл метод dialog вот так:
X++ code:--------------------------------------------------------------------------------
public Object dialog(DialogRunbase dialog, boolean forceOnClient)
{
return dialog;
}--------------------------------------------------------------------------------
Все стало работать как хотелось изначально, даже лутче (дилог вообще не выдается, а сразу показывается отчет), спасибо за помощь.
Кажется именно это вам и предлогал сделать DMA! После удаления метода Диалог из вашего класса стал работать диалог из класса RunBaseReport! Пожалуйста, почитайте основы ООП, уделите особое внимание полиморфизму.
Цитата:
как получить доступ к полям на форме из кода класса?
Поясню что мне нужно: метод main моего класса от RunBaseReport:
X++ code:--------------------------------------------------------------------------------
rptPaperBlank = new M082_GetPaperBlank();
if (rptPaperBlank.prompt())
{
rptPaperBlank.queryRun().query().dataSourceName('tblPaperTable').range(1).value(paperTable.ID);
rptPaperBlank.run();
}--------------------------------------------------------------------------------
Мне не хочется чтоб параметр по Range устанавливался после промпта. Хочу поставить его до промпта и показать на форме. Как это сделать?
перенесите код в метод QueryRun, разместите его сразу после Супера, только разрешите аксапте все же строить окно с параметрами запроса (удалите свой метод Диалог). Не забудте в Query отчета добавить Range.
Выглядеть должно приблизительно так:
PHP код:
public QueryRun queryRun()
{
QueryRun ret;
ret = super();
ret.query().dataSourceNo(1).range(1).value('суперпуперпараметр');
return ret;
}