Можно разработать три вида отчетов:
• | без запроса параметров. Такие отчеты доступны в веб-доступе по умолчанию; |
• | с запросом параметров через их передачу. Чтобы отчет выполнялся в веб-доступе, нужно описать его параметры в расчете отчета через XML либо задать их в XML-файле веб-модуля; |
• | с запросом параметров с помощью прикладных диалогов. |
Если отчет запускается с закладки «Запустить» либо по ссылке (ссылка копируется из desktop-клиента и вставляется в браузер), для работоспособности отчета нужно указать имя диалога в XML-файле веб-модуля.
В остальных случаях для работоспособности отчета в веб-доступе диалог нужно дополнительно вызывать.
Примечание
При разработке детализирующих веб-отчетов с запросом параметров для показателей эффективности нельзя использовать прикладные диалоги. Параметры необходимо описать в расчете отчета через XML. Диалоги можно использовать для запроса параметров аналитических отчетов.
Чтобы отчеты, вне зависимости от вида, выполнялись в веб-доступе, при их разработке необходимо учитывать ограничения:
• | в расчете отчета нельзя использовать показ окон, например функцию ShowMessage. Иначе при выполнении отчета в веб-доступе отобразится сообщение о том, что невозможно отобразить используемые в отчете формы; |
• | для отображения сообщения об ошибке необходимо использовать объект CreateException, параметр Category которого может принимать значения: |
• | ecWarning – предупреждение; |
• | ecInformation – информация; |
• | ecException – исключение. |
Примеры
Пример передачи параметров с помощью прикладного диалога в XML-файле веб-модуля для отчета Контроль сроков исполнения поручений. Отчет запускается с закладки «Запустить»:
<Reports>
<Report name="AssignmentExecutionDeadlineControl" getparams="fromdialog" dialogname="AssignmentExecutionDeadlineControl"/>
</Reports>
Пример описания параметров через XML в расчете отчета Лист согласования:
ResultXML = Format('
<Params>
%s
<Param name="ReportType" caption="%s" type="Pick" choices="L=%s;A=%s" defaultvalue="%s" required="true" />
</Params>';
ArrayOf(
EDocIDRequest;
LoadString('REFSINGULAR_Д000013'; 'COMMON');
ByLastVersionsStr;
ByAllVersionsStr;
ReportType))
Sender.Params.SetVar("_result"; ResultXML)
Пример описания параметров через XML в расчете отчета Просроченные задания по работникам (HTML):
ResultXML = Format('
<Params>
<Param name="Departament" caption="%s" type="ReferenceRecord" refcode="ПОД" defaultvalue="%s" required="false"/>
<Param name="Performer" caption="%s" type="ReferenceRecord" refcode="РАБ" defaultvalue="%s" required="false"/>
<Param name="DateFrom" caption="%s" type="Date" defaultvalue="" />
<Param name="DateTo" caption="%s" type="Date" defaultvalue="%s" />
<Param name="State" caption="%s" type="Pick" choices="%s;%s;%s" defaultvalue="%s" />
</Params>';
ArrayOf(
DepartamentStr;
Departament;
PerfStr;
Executor;
DLForm;
DLTo;
ChangeDate("Д"; Today(); CHANGE_DATE_DAY_COUNT);
StateStr;
InProcStr;
CompStr;
AbortStr;
InProcStr))
Sender.Params.SetVar("_result"; ResultXML)
© 2016 Компания DIRECTUM | Сообщество пользователей DIRECTUM |