Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Можно разработать три вида отчетов:

без запроса параметров. Такие отчеты доступны в веб-клиенте по умолчанию.

Для выполнения отчетов без показа запрашиваемых параметров используйте функцию execute, для интегрированных отчетов – функцию executeIntegrated;

с запросом параметров через их передачу. Чтобы отчет выполнялся в веб-клиенте, нужно описать его параметры в расчете отчета через XML либо задать их в XML-файле веб-модуля;
с запросом параметров с помощью прикладных диалогов.

Если отчет запускается с закладки «Запустить» либо по ссылке (ссылка копируется из десктоп-клиента и вставляется в браузер), для работоспособности отчета нужно указать имя диалога в XML-файле веб-модуля (для параметра getparams установите значение fromdialog).

В остальных случаях для работоспособности отчета в веб-клиенте диалог нужно дополнительно вызывать.

Примечание

При разработке детализирующих веб-отчетов с запросом параметров для показателей эффективности нельзя использовать прикладные диалоги. Параметры необходимо описать в расчете отчета через 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)

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }