Как подключить плагин к аналитической панели?

При работе с инструментом «Аналитические панели» доступно расширение его возможностей за счет подключения внешних модулей (плагинов).

Подключение плагина выполняется из настольного приложения продукта «Форсайт. Аналитическая платформа».

Для подключения плагина в настольное и веб-приложение:

  1. Создайте форму-визуализатор. Данная форма содержит компоненты, образующие внешний вид плагина, и код, описывающий логику работы компонентов в плагине. Форма-визуализатор должна наследоваться от класса AdhocUserViewForm. Особенности кода формы-визуализатора:

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

  1. Создайте js-скрипт плагина, который будет использоваться в веб-приложении. Скрипт должен быть описан согласно спецификации разработки на javaScript. Особенности кода js-скрипта плагина приведены в разделе «Структура js-скрипта плагина».

Расположите созданный скрипт в каталог, в который установлено веб-приложение.

Сформируйте URL-адрес для js-скрипта плагина, используемого в веб-приложении.
Пример URL-адреса:

http://test/fp_App_v9.2/app/plugin.js

Где:

  1. Выполните модуль, содержащий следующую процедуру:

Sub AddPlugin;
Var
    mb: IMetabase;
    plugins: ISharedPlugins;
    cont: ISharedPluginsContainer;
    adhoc_plugs: ISharedAdhocPlugins;
    plugin: ISharedAdhocPlugin;
Begin
    // Получаем объект для работы с текущим репозиторием
    mb := MetabaseClass.Active;
    // Получаем объект для работы с контейнером плагинов
    cont := mb.SpecialObject(MetabaseSpecialObject.SharedParams).Edit As ISharedPluginsContainer;
    // Получаем объект для работы с плагинами
    plugins := cont.Plugins;
    // Получаем коллекцию плагинов инструмента "Аналитические панели"
    adhoc_plugs := plugins.AdhocPlugins;
    // Создаем новый плагин
    plugin := plugins.AdhocPlugins.Add;
    // Задаем идентификатор и наименование плагина  
    plugin.Id := "ID"// Вместо "ID" укажите уникальный идентификатор плагина в верхнем регистре, совпадающий с идентификатором в структуре js-скрипта плагина
    plugin.Name := "name"// Вместо "name" укажите имя плагина, которое будет отображаться в аналитической панели
    // Задаем форму-визуализатор и форму-мастер
    plugin.ViewForm := mb.ItemById("ViewForm_Id"); // Вместо "ViewForm_Id" укажите идентификатор формы-визуализатора
    plugin.MasterForm := mb.ItemById("MasterForm_Id"); // Вместо "MasterForm_Id" укажите идентификатор формы-мастера
    // Задаем URL с js-скриптом для использования в веб-приложении
    plugin.WebUrl := "url"// Вместо "url" укажите относительный путь плагина из корневой папки веб-приложения
    // Сохраняем созданный плагин
    (cont As IMetabaseObject).Save;

End Sub AddPlugin;

  1. Зарегистрируйте плагин.

Подключение плагина только в настольное приложение

Для подключения плагина только в настольное приложение выполните следующие шаги:

  1. Создайте форму-визуализатор.

  2. Создайте форму-мастер.

  3. Создайте модуль, содержащий процедуру. Из кода процедуры удалите строку:

plugin.WebUrl := "url";

  1. Выполните модуль.

Более подробное описание шагов приведено выше.

Подключение плагина только в веб-приложение

Для подключения плагина только в веб-приложение выполните следующие шаги:

  1. Создайте js-скрипт плагина.

  2. Создайте модуль, содержащий процедуру. Из кода процедуры удалите строки:

plugin.ViewForm := mb.ItemById("ViewForm_Id");
plugin.MasterForm := mb.ItemById("MasterForm_Id");

  1. Выполните модуль.

  2. Зарегистрируйте плагин.

Более подробное описание шагов приведено выше.

См. также:

Вопросы и ответы | Вставка и настройка плагинов