Интеграция в скрипты процессов

Общее описание

Плагин ufanet-service-engineer-helper позволяет добавить в интерфейс процесса кнопки для удаленного открытия шлагбаумов. Чтобы эти кнопки появились, плагин должен получить идентификатор дома (houseId), с которым связан текущий процесс.

Как плагин получает HouseId

Плагин пытается определить houseId двумя способами (в порядке приоритета): 1. Через событие в скрипте (рекомендуемый способ) — плагин спрашивает скрипт: «Какой houseId у этого процесса?». 2. Через параметр адреса №90 — если скрипт не ответил, плагин пытается взять данные из стандартного параметра адреса.

Настройка обработки события в скрипте

Чтобы предоставить плагину корректный houseId через скрипт, необходимо реализовать обработчик события PluginUserEvent.

Алгоритм реализации в скрипте:

  1. Подписка: Скрипт должен подписаться на события PluginUserEvent.

  2. Фильтрация: В обработчике события необходимо проверить два поля:

    • pluginId == "ufanet-service-engineer-helper"

    • request.type == "open_barrier"

  3. Формирование ответа: Если условие совпало и houseId известен, скрипт должен вернуть его в объекте ответа.

Пример реализации (Kotlin/Java)

// Пример обработки события в скрипте процесса
if (event.pluginId == "ufanet-service-engineer-helper" && event.request.type == "open_barrier") {
    val houseId = // ... логика получения ID дома для данного процесса ...

    // Создаем ответ с houseId
    val response = PluginEventResponse(mapOf("houseId" to houseId))

    // Передаем ответ обратно в событие
    event.setResponse(response)
}

Конфигурация доступности

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

Убедитесь, что ID вашего типа процесса добавлен в конфигурацию ERP: plugin.service-engineer-helper.action-provider.query.barriers.processTypes=10650,10585…​

Итог

Если всё настроено верно: 1. Плагин видит, что тип процесса разрешен. 2. Плагин запрашивает houseId у скрипта → Скрипт возвращает ID. 3. Плагин находит в Ugin все шлагбаумы этого дома. 4. Инженер видит в CRM список доступных шлагбаумов и может открыть их одним кликом.