Войти

Настройка отправки документов и сообщений в ГЭПС

1 Последовательность настройки

Перед началом работы с функционалом настройки автоматической отправки уведомления
в личный кабинет ЕПГУ о сроке окончания действия разрешения через интеграционное взаимодействие с государственной электронной почтовой системой необходимо пройти процедуры подключения к Сервису в соответствии с регламентом подключения к ГЭПС

Описание настроек в статье показано на примере типового шаблона ГЭПС
с использованием общего мета-регламента «LicensingActivity» и критериев выборки:

· период – ежедневно в полночь

· все разрешения, у которых дата окончания «dateValidTo» меньше текущей даты на 7 дней

1.1 Пример настройки

1.1.1 Создание схемы

Действия доступны пользователю с ролью «Методолог»

Перед началом работы необходимо удостовериться, что модуль «Настройки системы» доступен для работы (Рисунок 1)

Если модуль «Настройки системы» не отображается на главной странице Системы,
то необходимо обратиться к сотруднику организации, с присвоенной ролью «Администратор
ФГИС ПГС»

 

Рисунок 1. Интерфейс ФГИС ПГС

После загрузки модуля перейти в раздел «Настройка стандартов» подраздел «Стандарты»,
в котором будет осуществляться дальнейшая работа

Для создания нового стандарта нажать «Добавить стандарт» (Рисунок 2)

 

Рисунок 2. Создание стандарта

Далее в поле «Выберите мета-регламент» из выпадающего списка выбрать мета-регламент «LicensingActivity»

В открывшейся форме слева расположена панель разделов стандарта (Рисунок 3 пункт 1),
справа отображается страница выбранного раздела (Рисунок 3 пункт 2). При завершении работы нажать «Сохранить» (Рисунок 3 пункт 3)

 

Рисунок 3. Отображение разделов стандарта

Далее открыть Camunda Modeler и создать схему в соответствии с (Рисунком 4)

 

Рисунок 4. Схема бизнес-процесса

Файл готовой схемы бизнес-процесса:

№ схемы

Наименование

Файл схемы бизнес-процесса
в нотации BPMN 2.0

1

Настройка отправки документов и сообщений в ГЭПС

Для создания схемы выполнить шаги

1.1.1.1 Создать начальное событие

Добавить начальное событие и заполнить блоки в соответствии с (Рисунком 5)

 

Рисунок 5. Начальное событие бизнес-процесса

1.1.1.2 Добавить таймер для регистрации заявления

Таймер будет ожидать определённый промежуток времени для регистрации заявления.
При этом если время истекает, процесс автоматически перейдёт к следующему событию. Заполнить блоки в соответствии с (Рисунком 6)

 

Рисунок 6. Таймер для регистрации заявления

1.1.1.3 Добавить задачу с типом «script task»

Данный скрипт передаёт в процесс переменные из лицензии для использования
в уведомлении. Заполнить блоки на панели свойств в соответствии с (Рисунком 7)

 

Рисунок 7. Script task

В параметр «Script» необходимо добавить скрипт. Параметры, указанные
в скрипте, будут отличаться при использовании других мета-регламентов

Жирным шрифтом выделены поля, которые изменяются исходя из особенностей используемой Коллекции и бизнес-процесса услуги

import groovy.json.JsonBuilder

import groovy.json.JsonSlurper

import groovy.json.JsonOutput

import ru.evolenta.sier.Core

import java.time.format.DateTimeFormatter

import java.time.LocalDateTime

import java.time.LocalDate

import java.text.SimpleDateFormat

import ru.evolenta.sier.Core

var collectionName = execution.getVariable('collectionName')

var parentCollectionName = collectionName.split('.subservices')[0]

def mainId = execution.getVariable('mainId')

// находим всю коллекцию в виде json'a

def getCollectionJson = Core.find(parentCollectionName, mainId, '', execution)

// парсим коллекцию в строку и записываем в переменную объект

var slurper = new JsonSlurper()

def appeal = slurper.parseText(getCollectionJson)

def subservicesGuid = appeal.subservices[0].guid

def subservicesParentEntries = appeal.subservices[0].parentEntries

def mainElement = appeal.subservices[0].mainElement

def prevRegister = mainElement.prevRegister

def formatWithZoneId = DateTimeFormatter.ofPattern(«yyyy-MM-dd'T'HH:mm:ss.SSSZ»);

def formatWithoutTime = DateTimeFormatter.ofPattern(«yyyy-MM-dd»);

def licenseCollectionName = 'licenses'

def objSearch = [

      'search': [

          'search': [

               [

                  'field': 'status',

                  'operator': 'eq',

                  'value': 'active'

              ],

              [

                  'field': '_id',

                  'operator': 'eq',

                  'value': «${mainElement.licenseId}»

              ]

          ]

      ]

]

def licensesJSON = Core.search(licenseCollectionName, JsonOutput.toJson(objSearch), execution)

def licensesCollection = slurper.parseText(licensesJSON)

def licensesCollectionObj = licensesCollection.content[0]

if (licensesCollectionObj) {

if (licensesCollectionObj.dateValidTo) {

LocalDateTime dateValidTo = LocalDateTime.parse(licensesCollectionObj.dateValidTo, formatWithZoneId)

def dateValitToWithoutTime = dateValidTo.format(formatWithoutTime)

mainElement.dateValidTo = licensesCollectionObj.dateValidTo

execution.setVariable('lisenceDateValidTo', dateValitToWithoutTime)

}

if (licensesCollectionObj.unit) {

      mainElement.unit = licensesCollectionObj.unit

      execution.setVariable('lisenceUnit', mainElement.unit?.name)

}

}

def changedMainElement = slurper.parseText('{«mainElement» : ««}')

changedMainElement.mainElement = mainElement

Core.updateSub(parentCollectionName, 'subservices', mainId, subservicesGuid, subservicesParentEntries, JsonOutput.toJson(changedMainElement), execution)

execution.setVariable('lisenceNumber', mainElement.license?.number)

def subject

switch (prevRegister?.subject?.specialTypeId) {

case 'ulApplicant':

      execution.setVariable('ogrn', prevRegister.subject.data?.organization?.ogrn)

      break

case 'ipApplicant':

      execution.setVariable('ogrn', prevRegister.subject.data.person?.ogrn)

      break

case 'individualApplicant':

      execution.setVariable('SNILS', prevRegister.subject.data.person?.snils)

      break

}

execution.setVariable('registryEntryType', mainElement.registryEntryType?.name)

//Указываем ссылку на свою форму ЕПГУ.

execution.setVariable('wwwUrl', 'https://www.gosuslugi.ru/628245/1/form')

Для того, чтобы переход осуществлялся на верную форму заявления на ЕПГУ
для получения услуги в проактивном режиме, важно в скрипте указать корректную ссылку
(Рисунок 8)

 

Рисунок 8. Ссылка на форму заявления на ЕПГУ в скрипте

1.1.1.4 Добавить второй таймер

Для выполнения задачи с типом «script task» добавить второй таймер с настройками аналогичными (Рисунку 6)

1.1.1.5 Создать сервисную задачу для отправки уведомлений

Добавить сервисную задачу, которая отвечает за уведомления пользователей об истечении срока действия лицензии по заявлению

Настройка задачи осуществляются в соответствии с (Рисунком 9) и (Таблицей 1). Основные настройки производятся в блоках «General» и «Input»

В блоке «Input», добавить шесть входящих параметров, нажав «+», после добавления каждого параметра нужно раскрыть его и внести настройки указанные в (Таблице 1)

В зависимости от типа задачи, используемой Коллекции данные настройки могут отличаться от типовых настроек

 

Рисунок 9. Сервисная задача «Создать уведомление»

Таблица 1 – Настройки блока «Input» для сервисной задачи «Создать уведомление»

Свойства

Параметр

Значение

Создать уведомление

General

Id

Присваивается автоматически

Name

Создать уведомление

Details

Implamentation

Выбор из справочника значения «External»

Topic

GEPS_NOTIFICATION

Input

Name

mainId

Type

Выбор из справочника значения «String or expression»

Value

${execution.getVariable('mainId')}

Name

type

Type

Выбор из справочника значения «String or expression»

Value

Информирование об окончании срока действия разрешения

Name

notificationMethod

Type

Выбор из справочника значения «Map»

Map entries

Key

name

Value

Уведомление через личный кабинет ЕПГУ

Key

code

Value

3

Name

collectionName

Assigment type

Выбор из справочника значения «String or expression»

Value

licensingActivityAppeals

Name

entityType

Assigment type

Выбор из справочника значения «String or expression»

Value

conclusionForm

Name

saveNotificationGuid

Assigment type

Выбор из справочника значения «String or expression»

Value

true

Жирным шрифтом выделены поля, которые изменяются исходя из особенностей используемой Коллекции и бизнес-процесса услуги

1.1.1.6 Добавить таймер для создания уведомления

Добавить третий таймер для создания уведомлений с настройками аналогичными (Рисунку 6)

1.1.1.7 Создать сервисную задачу для отправки уведомлений в ГЭПС

Настройка задачи осуществляются в соответствии с (Рисунком 10) и (Таблицей 2)

В блоке «Input» добавить семь входящих параметров нажав «+», после добавления каждого параметра нужно раскрыть его и внести настройки, указанные в (Таблице 2)

Указанные настройки подлежать изменению в случае использования нетипового шаблона ГЭПС

 

Рисунок 10. Сервисная задача «Отправка в ГЭПС»

Таблица 2 – Настройки блока «Input» для сервисной задачи «Отправка в ГЭПС»

Свойства

Параметр

Значение

Отправка в ГЭПС

General

Id

Присваивается автоматически

Name

Отправка в ГЭПС

Details

Implamentation

Выбор из справочника значения «External»

Topic

GEPS_SENDER

Input

Name

mainId

Type

Выбор из справочника значения «String or expression»

Value

${execution.getVariable('mainId')}

Name

collectionName

Type

Выбор из справочника значения «String or expression»

Value

licensingActivityAppeals

Name

docs

Type

Выбор из справочника значения «String or expression»

Value

${execution.getVariable('entityVars')==null ? null : execution.getVariable(«entityVars», «deserializeValue»).documentsGuids}

Name

messageType

Type

Выбор из справочника значения «String or expression»

Value

EXPIRY_OF_PERMIT

Name

param

Type

Выбор из справочника значения «Map»

Map entries

Key

topic

Value

Информирование об окончании срока действия разрешения

Key

link

Value

${execution.getVariable('wwwUrl')}

Key

nameOrg

Value

${execution.getVariable('lisenceUnit')}

Key

name

Value

${execution.getVariable('registryEntryType')}

Key

Date

Value

${execution.getVariable('lisenceDateValidTo')}

Key

ID

Value

${execution.getVariable('lisenceNumber')}

Key

OGRN

Value

${execution.getVariable('ogrn')==null ? null : execution.getVariable('ogrn')}

Name

recepientData

Type

Выбор из справочника значения «Map»

Map entries

Key

OGRNCompany

Value

${execution.getVariable('ogrn')==null ? null : execution.getVariable('ogrn')}

Key

SNILS

Value

${execution.getVariable('SNILS')==null ? null : execution.getVariable('SNILS').replaceAll(«W»,»«)}

Name

saveFiles

Type

Выбор из справочника значения «Map»

Map entries

Key

groupGuid

Value

${execution.getVariable('entityVars')==null ? null : execution.getVariable('entityVars').get('groupGuid')}

Key

nameDoc

Value

Параметры:

– docs обеспечивает отправку файлов в рамках взаимодействия с ГЭПС

– saveFiles используется при получении файла ответа от ГЭПС для сохранения полученных документов в определенную группу документов

Эти параметры не оказывают влияния на отправку уведомления в ГЭПС. Для отправки файлов в рамках взаимодействия с ГЭПС следует внести изменения в настройки параметров в соответствии с описанием ниже «Настройки отправки уведомления посредством ГЭПС с файлами»

Жирным шрифтом выделены поля, которые изменяются исходя из особенностей используемой Коллекции и бизнес-процесса услуги

1.1.1.8 Добавить четвёртый таймер

Добавить четвёртый таймер на десять секунд в соответствии с настройка отражёнными
на (Рисунке 11)

 

Рисунок 11. Таймер на десять секунд

1.1.1.9 Создать сервисную задачу для изменения статуса дела

Создать сервисную задачу для изменения статуса заявления на «Завершено» в соответствии с настройками отраженными на (Рисунке 12) и в (Таблице 3)

 

Рисунок 12. Сервисная задача «Переход дела в статус «Завершено»

Таблица 3 – Настройки блока «Input» для сервисной задачи «Переход дела в статус «Завершено»

Свойства

Параметр

Значение

Переход дела в статус «Завершено»

General

Id

Присваивается автоматически

Name

Переход дела в статус «Завершено»

Details

Implamentation

Выбор из справочника значения «Java class»

Topic

io.aimc.bpmn.camunda.UniversalServiceConnector

Input

Name

target_url

Type

Выбор из справочника значения «String or expression»

Value

http://camunda-integration:8080/exchange/event

Name

async

Type

Выбор из справочника значения «String or expression»

Value

false

Name

invocation_properties

Type

Выбор из справочника значения «Map»

Map entries

Key

method

Value

POST

Key

nextStatusCode

Value

complete

Key

type

Value

executeAction

1.1.1.10 Добавить таймер

Добавить пятый таймер на десять секунд в соответствии с настройка отражёнными
на (Рисунке 11)

1.1.1.11 Добавить завершающее событие

Добавить завершающее событие в соответствии с (Рисунком 13)

 

Рисунок 13. Завершающее событие

Сохранить файл с созданной схемой

Перейти в раздел «Бизнес-процессы» стандарта нажать «Добавить новый процесс».
В открывшейся форме «Редактирование процесса» заполнить обязательные поля, нажать «Загрузить», выбрать сохранённую схему. Далее нажать «Применить» и «Сохранить» (Рисунок 14)

 

Рисунок 14. Редактирование бизнес-процесса

Так же для отработки данной настройки в лицензиях обязательно должно быть заполнено
поле «dateValidTo» (Рисунок 15)

 

Рисунок 15. Настройка адаптера для мета-регламента licensingActivityAppeals

Для этого перейти в стандарт, который был ранее создан. Открыть
раздел «Бизнес-процессы», нажать «Редактировать». Добавить событие «Запись даты» (Рисунок 16)

Если это стандарт с типом операции «предоставление», событие должно располагаться
в бизнес-процессе после внесения записи в реестр, иначе лицензия не будет найден поскольку
она ещё не создана

 

Рисунок 16. Событие «Запись даты»

Нажать «Применить»

Далее для созданного события добавить обработчик «updateMainRegistry», который обновляет данные лицензии в коллекции «licenses», нажав на гипертекст «Добавить» (Рисунок 17)

 

Рисунок 17. Обработчик «updateMainRegistry» для события «Запись даты»

В поле «Код функции» добавить код обработчика

const subservicesXsdData = appeal.subservices[0].xsdData;

    tempData.registryData = {

           id: subservicesXsdData.order.licenseId,

           collection: 'licenses',

           data: {

                 dateValidTo: appeal.subservices[0].xsdData.order.dateEnd,

           }

    };

console.log(tempData.registryData)

Нажать «Применить», далее «Сохранить»

Для проверки правильности настройки стандарта необходимо завести тестовое дело

После перехода дела в статус «Завершено» проверить запрос в блоке «Отправка в ЕПГУ». При верной настройке будет отражён статус запроса – «Успешно» (Рисунок 18)

 

Рисунок 18. Пример дела

При успешной отправке в ЛК ЕПГУ лицензиат увидит сообщение в соответствии
с (Рисунком 19)

 

Рисунок 19. Уведомление в ЛК ЕПГУ лицензиата

Лицензиат вправе сразу подать новое заявление, нажав «Подать новое заявление»
(Рисунок 20)

 

Рисунок 20. Подача нового заявления после уведомления

1.1.2 Настройка адаптера

После успешной настройки стандарта необходимо произвести настройки адаптера

Данная настройка производится Администратором ФГИС ПГС

Для этого необходимо оформить заявку в СЦ одним из следующих способов

· через личный кабинет – https://sc.digital.gov.ru

· через электронную почту – sd@sc.digital.gov.ru



Настройки отправки уведомления посредством ГЭПС с файлами

Для настройки отправки уведомлений с файлами нужно использовать зарегистрированный организацией шаблон или воспользоваться существующим — REQ_LINEAR_OBJECT

Далее выполнить настройку стандарта:

1. Задать мнемонику у группы документов:

– открыть стандарт, нажав «Редактировать»

– перейти в раздел «Документы» блок «Группы и виды документов» и нажать «Редактировать» (Рисунок 21)

 

Рисунок 21. Редактирование стандарта

– задать мнемонику у группы документов и нажать «Применить» (Рисунок 22)

 

Рисунок 22. Настройка мнемоники

2. Внести изменения в сервисные задачи схемы:

– перейти в раздел «Бизнес-процессы» стандарта

– на вкладке «Бизнес-процесс» нажать «Редактировать», далее нажать на гипертекст схемы в блоке «Файл бизнес-процесса» (Рисунок 23)

 

Рисунок 23. Настройка бизнес-процесса

– открыть схемы в Camunda Modeler

– внести изменения в сервисные задачи схемы бизнес-процесса отражённого на (Рисунке 24)

2.1 Настройка сервисной задачи с типом «script task»

 

Рисунок 24. Настройка задачи с типом «script task»

В параметр «Script» необходимо добавить скрипт. Параметры, указанные в скрипте, будут отличаться при использовании других мета-регламентов

Жирным шрифтом выделены поля, которые изменяются, исходя из особенностей используемой Коллекции и бизнес-процесса услуги

import groovy.json.JsonBuilder

import groovy.json.JsonSlurper

import groovy.json.JsonOutput

import ru.evolenta.sier.Core

import java.time.format.DateTimeFormatter

import java.time.LocalDate

import java.time.LocalDateTime

var collectionName = execution.getVariable('collectionName')

var parentCollectionName = collectionName.split('.subservices')[0]

def mainId = execution.getVariable('mainId')

// находим всю коллекцию в виде json'a

def getCollectionJson = Core.find(parentCollectionName, mainId, '', execution)

// парсим коллекцию в строку и записываем в переменную объект

var slurper = new JsonSlurper()

def appeal = slurper.parseText(getCollectionJson)

def subservicesGuid = appeal.subservices[0].guid

def subservicesParentEntries = appeal.subservices[0].parentEntries

def mainElement = appeal.subservices[0].mainElement

def prevRegister = mainElement.prevRegister

def formatWithZoneId = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");

def formatWithoutTime = DateTimeFormatter.ofPattern("yyyy-MM-dd");

def licenseCollectionName = appeal.subservices[0].licensesCollection

if(!appeal.dataForExecuteAction){

    appeal.dataForExecuteAction = [:]

}

def objSearch = [

        'search': [

            'search': [

                 [

                    'field': 'status',

                    'operator': 'eq',

                    'value': 'active'

                ],

                [

                    'field': '_id',

                    'operator': 'eq',

                    'value': mainElement.licenseId

                ]

            ]

        ]

]

def licensesTurizmJSON = Core.search(licenseCollectionName, JsonOutput.toJson(objSearch), execution)

def licensesTurizmCollection = slurper.parseText(licensesTurizmJSON)

def licensesTurizmCollectionObj = licensesTurizmCollection.content[0]

def formatDate(date, separator = '-') {

    def day = date.getDayOfMonth()

    def month = date.getMonthValue()

    def year = date.getYear()

        return "${year}${separator}${month}${separator}${day}"

}

if (licensesTurizmCollectionObj) {

    if (licensesTurizmCollectionObj.dateValidTo) {

       // def dateValidTo

        def dateValitToWithoutTime

        try {

            // dateValidTo = formatDate(LocalDate.parse(licensesTurizmCollectionObj.dateValidTo, formatWithZoneId))

            // def dateValitToWithoutTime = dateValidTo.format(formatWithoutTime)

            LocalDateTime dateValidTo = LocalDateTime.parse(licensesTurizmCollectionObj.dateValidTo, formatWithZoneId)

            dateValitToWithoutTime = dateValidTo.format(formatWithoutTime)

        } catch(err) {

            appeal.formatDateErr = err

        }

        mainElement.dateValidTo = licensesTurizmCollectionObj.dateValidTo

        execution.setVariable('lisenceDateValidTo', dateValitToWithoutTime)

        appeal.dataForExecuteAction.lisenceDateValidTo = dateValitToWithoutTime

    }

    if (licensesTurizmCollectionObj.unit) {

        mainElement.unit = licensesTurizmCollectionObj.unit

        execution.setVariable('lisenceUnit', mainElement.unit?.name)

        appeal.dataForExecuteAction.lisenceUnit = mainElement.unit?.name

    }

}

def changedMainElement = slurper.parseText('{"mainElement" : ""}')

changedMainElement.mainElement = mainElement

Core.updateSub(parentCollectionName, 'subservices', mainId, subservicesGuid, subservicesParentEntries, JsonOutput.toJson(changedMainElement), execution)

execution.setVariable('lisenceNumber', mainElement.license?.number)

appeal.dataForExecuteAction.lisenceNumber = mainElement.license?.number

def subject

switch (prevRegister?.subject?.specialTypeId) {

    case 'ulApplicant':

        execution.setVariable('ogrn', prevRegister.subject.data?.organization?.ogrn)

        break

    case 'ipApplicant':

        execution.setVariable('ogrn', prevRegister.subject.data.person?.ogrn)

        break

    case 'individualApplicant':

        execution.setVariable('SNILS', prevRegister.subject.data.person?.snils)

        break

}

// execution.setVariable('ogrn', subject)

execution.setVariable('registryEntryType', mainElement.registryEntryType?.name)

execution.setVariable('wwwUrl', 'https://psi.pgs.gosuslugi.ru/turizmhike/gsn-registers')

appeal.dataForExecuteAction.ogrn = subject

appeal.dataForExecuteAction.registryEntryType = mainElement.registryEntryType?.name

appeal.dataForExecuteAction.wwwUrl = 'https://psi.pgs.gosuslugi.ru/turizmhike/gsn-registers'

// Сохраняем documentsGuids сразу в переменную процесса, необходимо указать мнемонику документа (в примере мнемоника документа “2docs”).

def documentsGuids = []

for (document in appeal.documents) {

    if (document.mnemonic == '2docs' && document.files) {

        for (file in document.files) {

            if (file.guid) {

                documentsGuids.add(file.guid)

            }

        }

    }

}

// Устанавливаем переменные процесса

execution.setVariable('documentsGuids', documentsGuids)

def objForUpdateAppeal = [

    dataForExecuteAction: appeal.dataForExecuteAction,

]

if (appeal.formatDateErr) {

    objForUpdateAppeal.formatDateErr = formatDateErr

}

// Добавляем исполнителя по СНИЛСу

if (licensesTurizmCollectionObj?.subject?.data?.person?.snils) {

    def snils = licensesTurizmCollectionObj.subject.data.person.snils

    objSearch = [

        'search': [

            'search': [

                 [

                    'field': 'snils',

                    'operator': 'eq',

                    'value': snils

                ],

            ]

        ]

    ]

    def usersJSON = Core.search("users", JsonOutput.toJson(objSearch), execution)

    def usersCollection = slurper.parseText(usersJSON)

    def usersCollectionObj = usersCollection.content[0]

    if (usersCollectionObj) {

        def user = [:]

        user.email = usersCollectionObj.email

        user.id = usersCollectionObj._id

       // user._id = usersCollectionObj._id

        user.login = usersCollectionObj.login

        user.name = usersCollectionObj.name

        user.position = usersCollectionObj.position

        user.snils = usersCollectionObj.snils

        objForUpdateAppeal.executor = user

    }

}

// /Добавляем исполнителя по СНИЛСу

Core.update(parentCollectionName, mainId, JsonOutput.toJson(objForUpdateAppeal), execution)

2.2 Настройка сервисной задачи «Создать уведомление» (Рисунок 25)

 

Рисунок 25. Настройка сервисной задачи «Создать уведомление»

Таблица Б.1 – Настройки блока «Input» для сервисной задачи «Создать уведомление»

Свойства

Параметр

Значение

Создать уведомление

General

Id

Присваивается автоматически

Name

Создать уведомление

Details

Implamentation

Выбор из справочника значения «External»

Topic

GEPS_NOTIFICATION

Input

Name

mainId

Type

Выбор из справочника значения «String or expression»

Value

${execution.getVariable('mainId')}

Name

type

Type

Выбор из справочника значения «String or expression»

Value

Информирование об окончании срока действия разрешения

Name

notificationMethod

Type

Выбор из справочника значения «Map»

Map entries

Key

name

Value

Уведомление через личный кабинет ЕПГУ

Key

code

Value

3

Name

collectionName

Assigment type

Выбор из справочника значения «String or expression»

Value

licensingActivityAppeals

Name

entityGuid

Assigment type

Выбор из справочника значения «String or expression»

Value

null

Name

messageType

Assigment type

Выбор из справочника значения «String or expression»

Value

REQ_LINEAR_OBJECT

Name

type

Assigment type

Выбор из справочника значения «String or expression»

Value

Отправка запроса на предоставление документов

2.3 Настройка сервисной задачи «Отправка в ГЭПС» (Рисунок 26)

 

Рисунок 26. Настройка сервисной задачи «Отправка в ГЭПС»

Таблица Б.2 – Настройки блока «Input» для сервисной задачи «Отправка в ГЭПС»

Свойства

Параметр

Значение

Отправка в ГЭПС

General

Id

Присваивается автоматически

Name

Отправка в ГЭПС

Details

Implamentation

Выбор из справочника значения «External»

Topic

GEPS_SENDER

Input

Name

mainId

Type

Выбор из справочника значения «String or expression»

Value

${execution.getVariable('mainId')}

Name

collectionName

Type

Выбор из справочника значения «String or expression»

Value

licensingActivityAppeals

Name

docs

Type

Выбор из справочника значения «String or expression»

Value

${execution.getVariable('documentsGuids')==null ? null : execution.getVariable('documentsGuids')}

Name

messageType

Type

Выбор из справочника значения «String or expression»

Value

REQ_LINEAR_OBJECT

Name

param

Type

Выбор из справочника значения «Map»

Map entries

Key

topic

Value

Информирование об окончании срока действия разрешения

Key

link

Value

${execution.getVariable('wwwUrl')}

Key

ID

Value

${execution.getVariable('lisenceNumber')}

Key

Comment

Value

Тестирование

Key

fullText

Value

Тут какой-то текст

Name

recepientData

Type

Выбор из справочника значения «Map»

Map entries

Key

OGRNCompany

Value

${execution.getVariable('ogrn')==null ? null : execution.getVariable('ogrn')}

Key

SNILS

Value

${execution.getVariable('SNILS')==null ? null : execution.getVariable('SNILS').replaceAll(«W»,»«)}

Name

entityGuid

Type

Выбор из справочника значения «String or expression»

Value

null

Жирным шрифтом выделены поля, которые изменяются исходя из особенностей используемой Коллекции и бизнес-процесса услуги, а также используемого шаблона

3. Сохранить схему и загрузить в стандарт

4. Сохранить стандарт и выгрузить

При успешной отправке пользователю поступит уведомление в ЕПГУ с приложением архива документов с набором файлов (Рисунок 27)

 

Рисунок 27. Уведомление в ЕПГУ с архивом документов

Авторизуйтесь, чтобы оставить комментарий к статье