Для расширения возможностей построения регламентного отчёта доступно подключение плагина на новом листе отчёта. Аналогично выполняется подключение плагина к форме ввода.
Примечание. Подключение плагина к регламентному отчёту доступно только в веб-приложении и конструкторе бизнес-приложений.
Для подключения плагина к регламентному отчёту:
Добавьте файлы плагина <наименование плагина>.js и <наименование плагина>.css в папку установки веб-приложения или конструктора бизнес-приложений:
Путь до папки установки веб-приложения:
в ОС Windows: C:\Program Files (x86)\Foresight\Analytics Platform 9.x Web Application;
в ОС Linux: /opt/Foresight/9.x/fp.
Путь до папки установки конструктора бизнес-приложений:
в ОС Windows: C:\Program Files (x86)\Foresight\Designer of Business Application 9.x Web Server;
в ОС Linux: /opt/Foresight/9.x/dba.
Совет. Для удобного использования плагинов создайте отдельную папку plugins, в которой будут размещаться плагины.
Добавьте описание плагина в конфигурационном файле PP.xml для веб-приложения или DBA.config.json для конструктора бизнес-приложений.
<plugins>
<plugin type="PP.Ui.Prx.MyLabel" path="../plugins/MyLabel.js" css="../plugins/MyLabel.css" name="MyLabel" loaded="true"/>
<plugin ... />
</plugins>
"plugins": [
{
"Type": "PP.Ui.Prx.MyLabel", //идентификатор плагина, соответствующий типу экземпляра объекта
"Path": "../plugins/MyLabel.js", //относительный путь до JS-файла плагина
"Css": "../plugins/MyLabel.css", //относительный путь до CSS-файла со стилями плагина
"Name": "MyLabel", //наименование плагина
"Loaded": true //способ загрузки плагина
},
{
...
}
]
Перезапустите веб-сервер.
Сформируйте лист с плагином в регламентном отчёте. Формирование листа с плагином осуществляется в среде разработки на языке программирования 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;
После выполнения действий в регламентном отчёте будет добавлен новый лист с подключенным плагином.
Примечание. Лист с подключенным плагином недоступен для экспорта и печати.
См. также: