Подключение расширений в веб-приложение

Для подключения расширений в веб-приложение продукта «Форсайт. Аналитическая платформа» понадобятся установленные и настроенные:

  1. Серверная часть веб-приложения продукта «Форсайт. Аналитическая платформа».

  2. Расширения продукта «Форсайт. Аналитическая платформа».

  3. Серверная часть конструктора бизнес-приложений.

Порядок подключения расширения в веб-приложение продукта «Форсайт. Аналитическая платформа»:

  1. Откройте на редактирование файл PP.xml, содержащий настройки веб-приложения продукта «Форсайт. Аналитическая платформа».

  2. Создайте в разделе <modules> новый подраздел с настройками подключения расширения. Описание подразделов раздела <modules>, а также необходимые для указанных подразделов атрибуты и подразделы приведены ниже.

  3. Сохраните изменения в файле PP.xml.

  4. Перезапустите BI-сервер, который используется серверной частью веб-приложения.

  5. Откройте веб-приложение продукта «Форсайт. Аналитическая платформа».

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

Подразделы для настройки расширений

Наименования подразделов раздела <modules> для настройки расширений:

Атрибут/раздел Описание
<entryform> Интерактивные формы ввода данных
<algorithm>  Алгоритмы расчёта
<agreement> Управление бизнес-процессами

Атрибуты и подразделы для настройки расширений

Для подразделов, указанных выше, необходимо задать следующие атрибуты и подразделы:

Атрибут/раздел Описание
name Название расширения, которое будет отображаться в окне приветствия в веб-приложении.
url Путь к расширению в серверной части конструктора бизнес-приложений. Указывается в формате:

url="http://<сервер>/DBA_App_v9.2/#/<расширение>"

В качестве расширения можно указать:

  • agreement. Управление бизнес-процессами;

  • dataentryform. Интерактивные формы ввода данных;

  • elt. Алгоритмы расчёта.

Если веб-приложение и серверная часть конструктора бизнес-приложений находятся на одном сервере, то путь можно указать начиная с виртуального каталога DBA_App_v9.2, например:

url="/DBA_App_v9.2/#/dataentryform"

visible

Признак того, что расширение отображается в окне приветствия в веб-приложении. Возможные значения:

  • 0. Расширение не отображается;

  • 1. Расширение отображается в окне приветствия;

  • 2. Расширение отображается в навигаторе объектов.

data

Тип расширения. Возможные значения:

  • 2168577. Управление бизнес-процессами;

  • 2103041. Интерактивные формы ввода данных;

  • 268033. Алгоритмы расчёта.

classId Идентификатор класса объектов расширения. Идентификатор класса соответствуют типу, приведенному выше. Указывается в формате:

classId="[<класс>]"

Например:

classId="[268033]"

eventHandler

Идентификатор модуля, в котором реализован пользовательский метод CopyCustomObject для переопределения стандартного метода копирования объектов расширения. При использовании стандартного метода объект копируется без зависимых объектов, что приводит к его неработоспособности. Использование пользовательского метода позволяет корректно копировать объекты расширения вместе с зависимыми объектами.

Для использования пользовательского метода задайте атрибут eventHandler, а также атрибут useCopyHandler.   

Атрибут eventHandler указывается в формате:

eventHandler="<идентификатор_модуля>"

Например:

eventHandler="UNIT_WEB_METHODS"

Примечание. Для просмотра идентификатора выбранного модуля в настольном приложении откройте окно «Свойства объекта».

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

Public Function CopyCustomObject(SourceKey, DestFolderKey: Integer; Name: String=""; Id: String=""): Integer;

Параметры метода CopyCustomObject:

  • SourceKey. Ключ копируемого объекта;

  • DestFolderKey. Ключ папки, в которую будет скопирован объект;

  • Name. Имя нового объекта;

  • Id. Идентификатор нового объекта.

useCopyHandler

Признак того, что копирование объекта расширения должно выполняться с использованием пользовательского метода, реализованного в модуле, указанном в атрибуте eventHandler. При использовании стандартного метода объект копируется без зависимых объектов. Использование пользовательского метода позволяет корректно копировать объекты расширения вместе с зависимыми объектами.

Возможные значения атрибута:

  • true. Для копирования объекта расширения используется пользовательский метод CopyCustomObject;

  • false. Для копирования объекта расширения используется стандартный метод копирования.

actions

Действия, доступные для расширения в окне приветствия в веб-приложении. Доступные действия:

  • 0. Открытие объекта;

  • 1. Создание нового объекта;

Примечание. Параметр недоступен для использования. Зарезервированно на будущее.

  • 2. Импорт данных.

Действия указываются в квадратных скобках через запятую. Например:

actions="[0]"

<moduleUrlSettings> Укажите строку:

<moduleUrlSettings sign="?"/>

Смена символа для обозначения параметров с «#» на «?».
Данная строка необходима для совместимости веб-приложения продукта «Форсайт. Аналитическая платформа» и веб-интерфейса конструктора бизнес-приложений.
<images>

Раздел с настройками пиктограмм для расширения. Содержит следующие подразделы:

  • <welcomeScreenIcon>. Настройки пиктограммы в окне приветствия. Размер пиктограммы 32x32 пикселя;

  • <addressBarIcon>. Настройки пиктограммы в адресной строке. Размер пиктограммы 16x16 пикселей;

  • <documentsIcon>. Настройки пиктограмм для документов расширения в списке недавних документов в окне приветствия. Размер пиктограммы 16x16 пикселей.

Данные разделы содержат одинаковый набор атрибутов:

  • imageListId. Идентификатор спрайта с изображениями;

  • rowIndex. Индекс строки в спрайте, содержащей пиктограмму;

  • columnIndex. Индекс столбца в спрайте, содержащего пиктограмму.

Индексация изображений в спрайтах начинается с нуля.

Для пиктограмм 32x32 пикселя используются системный спрайт с идентификатором modules32. Спрайт содержит одну строку и для расширений укажите следующий columnIndex:

  • 8. Алгоритмы расчёта;

  • 9. Управление бизнес-процессами;

  • 10. Интерактивные формы ввода данных.

Для пиктограмм 16x16 пикселей используются системный спрайт с идентификатором modules16. Спрайт содержит одну строку и для расширений укажите следующий columnIndex:

  • 8. Алгоритмы расчёта;

  • 12. Управление бизнес-процессами;

  • 13. Интерактивные формы ввода данных.

Если вы хотите использовать собственные пиктограммы из собственного спрайта, то после раздела <modules> создайте раздел <imageLists>, содержащий подразделы с настройками спрайтов.

Пример

Приведён пример файла PP.xml, содержащего настройки подключения расширений «Алгоритмы расчёта» и «Интерактивные формы ввода данных» к веб-приложению «Форсайт. Аналитическая платформа»:

<pp>

    <service url="http://localhost/FPBI_App_v9.2x64/axis2/services/PP.SOM.Som" />

    <metabase id="REPOSITORY" recentObjects="true" />

    <cultures>

        <culture cultureName="ru" />

        <culture cultureName="en" />

    </cultures>

    <modules>

        <algorithm name="Алгоритм расчёта показателей"

            url="/DBA_App_v9.2/#/elt"

            visible="1"

            data="268033"

            classId="[268033]"

            actions="[0]"

            eventHandler="P10002_M_CALC_SERVICE"

            useCopyHandler="true">

            <moduleUrlSettings sign="?"/>

            <images>

                <welcomeScreenIcon imageListId="modules32" rowIndex="0" columnIndex="8"/>

                <addressBarIcon imageListId="modules16" rowIndex="0" columnIndex="8" />

                <documentsIcon imageListId="modules16" rowIndex="0" columnIndex="8" />

            </images>

        </algorithm>

        <entryform name="Формы ввода"

            url="/DBA_App_v9.2/#/dataentryform"

            visible="1"

            data="2103041"

            classId="[2103041]"

            actions="[0]"

            eventHandler="UNIT_WEB_METHODS"

            useCopyHandler="true">

            <moduleUrlSettings sign="?"/>

            <images>

                <welcomeScreenIcon imageListId="modules32" rowIndex="0" columnIndex="10"/>

                <addressBarIcon imageListId="modules16" rowIndex="0" columnIndex="13" />

                <documentsIcon imageListId="modules16" rowIndex="0" columnIndex="13" />

            </images>

        </entryform>

    </modules>

</pp>

 

В результате окно приветствия в веб-приложении будет содержать кнопки для работы с расширениями:

См. также:

Базовые настройки веб-приложения | Установка расширений продукта