Можно разработать три вида отчетов:
• | без запроса параметров. Такие отчеты доступны в веб-клиенте по умолчанию. |
Для выполнения отчетов без показа запрашиваемых параметров используйте функцию execute, для интегрированных отчетов – функцию executeIntegrated;
• | с запросом параметров через их передачу. Чтобы отчет выполнялся в веб-клиенте, нужно описать его параметры в расчете отчета через XML либо задать их в XML-файле веб-модуля; |
• | с запросом параметров с помощью прикладных диалогов. |
Если отчет запускается с закладки «Запустить» либо по ссылке (ссылка копируется из десктоп-клиента и вставляется в браузер), для работоспособности отчета нужно указать имя диалога в XML-файле веб-модуля (для параметра getparams установите значение fromdialog).
В остальных случаях для работоспособности отчета в веб-клиенте диалог нужно дополнительно вызывать.
Примечание
При разработке детализирующих веб-отчетов с запросом параметров для показателей эффективности нельзя использовать прикладные диалоги. Параметры необходимо описать в расчете отчета через XML. Диалоги можно использовать для запроса параметров аналитических отчетов.
Чтобы отчеты, вне зависимости от вида, выполнялись в веб-клиенте, при их разработке необходимо учитывать ограничения:
• | в расчете отчета нельзя использовать показ окон, например функцию ShowMessage. Иначе при выполнении отчета в веб-клиенте отобразится сообщение о том, что невозможно отобразить используемые в отчете формы; |
• | для отображения сообщения об ошибке необходимо использовать объект CreateException, параметр Category которого может принимать значения: |
• | ecWarning – предупреждение; |
• | ecInformation – информация; |
• | ecException – исключение. |
Пример передачи параметров с помощью прикладного диалога в XML-файле веб-модуля для отчета Контроль сроков исполнения поручений. Отчет запускается с закладки «Запустить»:
<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) |
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |