Подключение плагина к регламентному отчёту

Для расширения возможностей построения регламентного отчёта доступно подключение плагина на новом листе отчёта. Аналогично выполняется подключение плагина к форме ввода.

Примечание. Подключение плагина к регламентному отчёту доступно только в веб-приложении и конструкторе бизнес-приложений.

Для подключения плагина к регламентному отчёту:

  1. Добавьте файлы плагина <наименование плагина>.js и <наименование плагина>.css в папку установки веб-приложения или конструктора бизнес-приложений.

Путь до папки установки веб-приложения:

Путь до папки установки конструктора бизнес-приложений:

Совет. Для удобного использования плагинов создайте отдельную папку plugins, в которой будут размещаться плагины.

  1. Добавьте описание плагина в конфигурационном файле PP.xml для веб-приложения или DBA.config.json для конструктора бизнес-приложений.

В файле PP.xml для описания плагина используйте раздел <plugins>:
<plugins>
    <plugin type="PP.Ui.Prx.MyLabel" path="../plugins/MyLabel.js" css="../plugins/MyLabel.css" name="MyLabel" loaded="true"/>
    <plugin ... />
</plugins>
В файле DBA.config.json для описания плагина используйте поле plugins:
"plugins": [
    {
        "Type": "PP.Ui.Prx.MyLabel", //идентификатор плагина, соответствующий типу экземпляра объекта
        "Path": "../plugins/MyLabel.js", //относительный путь до JS-файла плагина
        "Css": "../plugins/MyLabel.css", //относительный путь до CSS-файла со стилями плагина
        "Name": "MyLabel", //наименование плагина
        "Loaded": true //способ загрузки плагина
    },
    {
        ...
    }
]

Важно. Для преднастроенных плагинов зарезервированы идентификаторы: PP.Ui.Dashboard.Sankey - «Sankey-диаграмма»; PP.Ui.Dashboard.Gantt - «Диаграмма Ганта»; PP.Ui.Dashboard.Indicator - «Индикатор». Убедитесь, что атрибут type содержит идентификатор, отличный от зарезервированных.

  1. Перезапустите веб-сервер.

  2. Сформируйте лист с плагином в регламентном отчёте. Формирование листа с плагином осуществляется в среде разработки на языке программирования Fore с помощью свойства IPrxJsPlugin.PluginId. В примере используется регламентный отчёт с идентификатором REPORT и плагин с идентификатором PP.Ui.Prx.MyLabel.

Добавьте ссылки на системные сборки Metabase, Report и выполните модуль:

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Report: IPrxReport;
    Sheets: IPrxSheets;
    Sheet: IPrxSheet;
    Plugin: IPrxJsPlugin;
Begin
    MB := MetabaseClass.Active;
    // Получим регламентный отчёт
    MObj := MB.ItemById("REPORT").Edit;
    Report := MObj As IPrxReport;
    // Добавим новый лист с плагином
    Sheets := Report.Sheets;
    Sheet := Sheets.Add("Лист с плагином", PrxSheetType.JsPlugin);
    Plugin := Sheet As IPrxJsPlugin;
    Plugin.PluginId := "PP.Ui.Prx.MyLabel";
    // Сохраним изменения
    MObj.Save;
End Sub UserProc;

После выполнения действий в регламентном отчёте будет добавлен новый лист с подключенным плагином.

Примечание. Лист с подключенным плагином недоступен для экспорта и печати.

См. также:

Плагины