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

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

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

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

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

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

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

  1. Добавьте описание плагина в конфигурационном файле:

В файле PP.xml веб-приложения для описании плагина используйте раздел <plugins>:

<plugins>
    <plugin type="PP.Ui.Prx.MyLabel" path="../Plugins/MyLabel.js" css="../Plugins/CSS/MyLabel.css" name="MyLabel" loaded="true"/>
    <plugin ... />
</plugins>

В файле DBA.config.json конструктора бизнес-приложений для описании плагина используйте поле plugins:

"plugins": [
    {
        "Type": "PP.Ui.Prx.MyLabel",
        "Path": "./Plugins/MyLabel.js",
        "Css": "./Plugins/CSS/MyLabel.css",
        "Name": "MyLabel",
        "Loaded": true
    },
    {
        ...
    }
]

В файле config.json для веб-приложения или config.json для конструктора бизнес-приложений доступно подключение плагинов к аналитической панели, подключение пользовательских шаблонов диаграмм, подключение внешних картографических сервисов.

Важно. Для преднастроенных плагинов зарезервированы идентификаторы: 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;

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

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

См. также:

Плагины