Задача [BPM25]: Импорт/экспорт процессов

Формулировка проблемы: необходимо реализовать импорт и экспорт конструируемых процессов, а также импорт и экспорт данных процессов при зависимости с реестрами, формами, шаблонами маршрутов и с самими процессами.

Связанные задачи:

0267,
BPM22, часть 1,
BPM22, часть 2,
BPM26.

Используется:

Решение: добавить возможность импорта и экспорта конструируемых процессов в "Импорт/Экспорт конфигурации", а также импорт и экспорт данных процессов по зависимостям с реестрами, формами, шаблонами маршрутов.

Экспорт

Таблица объектов конфигурации

В подразделе "Экспорт конфигурации" в список экспортируемых сущностей добавить новый подраздел "Процессы" после подраздела "Реестры". При раскрытии подраздела "Процессы" будут подгружаться все конструируемые процессы.

Примечание.

В ветке типа "Процесс" отображаются как удаленные, так и активные конструируемые процессы.

Кнопка "Экспортировать"

Необходимо добавить в текстовое сообщение браузерного диалогового окна, которое отображается по нажатию на кнопку "Экспортировать", информацию о количестве выгружаемых процессов:

В ходе экспорта будет выгружено:

Справочников: N

Форм: M

Шаблонов маршрутов: O

Реестров: P

Процессов: V

Карточек пользователей: R

Карточек должностей: Q

Карточек подразделений: S

Действий по сотрудникам: T

Действий по резерву: U

Данный процесс займет некоторое время. Вы действительно хотите продолжить?

где N/M/O/P/R/Q/S/T/U/V - количество выгружаемых объектов.

Экспортируемые значения конструируемых процессов

Экспортируемые значения конструируемых процессов для удобства будем группировать аналогично структуре этих процессов, то есть следующим образом:

Общие свойства

Свойства соответствующие всем конструируемым процессам:

  • выпадающий список "Шаблон";

  • Код;

  • Название с кодами локалей и значениями переводов для данных локалей.

Для конструируемого процесса "Работа":

  • значение настройки "Процесс для запроса на участие", указанный процесс также должен экспортироваться (Экспортирование процесса по зависимостям);

  • значение настройки "Процесс для запроса на передачу", указанный процесс также должен экспортироваться (Экспортирование процесса по зависимостям);

  • состояние флажка "Разрешить передавать другим исполнителям";

  • состояние флажка "Разрешить выбор исполнителей, не являющихся подчиненными";

  • состояние флажка "Закрывать окно после завершения".

Для конструируемого процесса "Согласование":

  • Максимальный уровень иерархии вверх для исполнителей;

  • состояние флажка "Закрывать окно после завершения";

  • состояние флажка "Требовать подпись для завершения";

  • состояние флажка "При положительном ответе" для настройки требования ввода комментария;

  • состояние флажка "При отрицательном ответе" для настройки требования ввода комментария.

Для конструируемого процесса "Ознакомление":

  • Максимальный уровень иерархии вверх для исполнителей;

  • состояние флажка "Закрывать окно после завершения";

  • состояние флажка "Требовать подпись для завершения".

Параметры

Для конструируемого процесса "Работа":

  • Длительность и состояние флажка "Заблокировать от изменений пользователем";

  • выпадающий список "Приоритет" и состояние флажка "Заблокировать от изменений пользователем";

  • выпадающий список "Нагрузка" и значение выбранного поля, и состояние флажка "Заблокировать от изменений пользователем";

  • выпадающий список "Период повторения" и состояние флажка "Заблокировать от изменений пользователем";

  • выпадающий список "Форма завершения" и состояние флажка "Заблокировать от изменений пользователем".

Для конструируемых процессов "Согласование"/"Ознакомление":

  • Длительность и состояние флажка "Заблокировать от изменений пользователем";

  • выпадающий список "Приоритет" и состояние флажка "Заблокировать от изменений пользователем";

  • выпадающий список "Нагрузка" и значение выбранного поля, и состояние флажка "Заблокировать от изменений пользователем".

Сообщения

Для конструируемого процесса "Работа":

  • Подстановка:

    • Заголовок работы в карточке документа;

    • Кнопка завершения;

    • Кнопка диалога отправки;

    • Текст подтверждения действия при смене ответственного;

    • Текст подтверждения действия при смене ответственного с дочерними работами;

    • Формулировка запроса на участие;

    • Формулировка запроса для передачи;

  • Уведомления:

    • Создание работы;

    • Создания работы по документу;

    • Изменение прогресса;

    • Завершение работы.

Для конструируемого процесса "Согласование":

  • Сообщение для хода исполнения:

    • Работа, которая будет создана;

    • Работа в прогрессе;

    • Положительный ответ;

    • Отрицательный ответ;

    • Прервано;

  • Состояние работы в списке работы:

    • Ожидание;

    • Положительный ответ;

    • Отрицательный ответ;

  • Форма процесса:

    • Заголовок окна;

    • Положительный ответ;

    • Отрицательный ответ;

  • Лист процесса:

    • Подпись процесса в РКК;

    • Положительный ответ;

    • Положительный ответ с комментарием;

  • Подстановки:

    • Подстановка при создании работы;

    • Подстановка при создании работы в редакторе маршрутов;

    • Заголовок работы в карточке документа;

    • Кнопка завершения;

    • Кнопка диалога отправки;

    • Текст подтверждения действия при смене ответственного;

    • Текст подтверждения действия при смене ответственного с дочерними работами;

  • Уведомления:

    • Создание работы;

    • Создание работы по документу;

    • Положительный ответ;

    • Отрицательный ответ;

    • Положительный ответ с комментарием;

    • Отрицательный ответ с комментарием.

Для конструируемого процесса "Ознакомление":

  • Сообщение для хода исполнения:

    • Работа, которая будет создана;

    • Работа в прогрессе;

    • Положительный ответ;

    • Прервано;

  • Состояние работы в списке работы:

    • Ожидание;

    • Положительный ответ;

  • Форма процесса:

    • Заголовок окна;

    • Положительный ответ;

  • Лист процесса:

    • Подпись процесса в РКК;

    • Положительный ответ;

  • Подстановки:

    • Подстановка при создании работы;

    • Подстановка при создании работы в редакторе маршрутов;

    • Заголовок работы в карточке документа;

    • Кнопка завершения;

    • Кнопка диалога отправки;

    • Текст подтверждения действия при смене ответственного;

    • Текст подтверждения действия при смене ответственного с дочерними работами;

  • Уведомления:

    • Создание работы;

    • Создание работы по документу;

    • Положительный ответ.

Все данные сообщения необходимо экспортировать с кодами локалей и значениями переводов для данных локалей.

Экспортирование процесса по зависимостям

Экспортирование конструируемого процесса может происходить по зависимостям:

  1. с конструируемым процессом;

  2. с формой;

  3. с реестром;

  4. с маршрутом реестра/шаблоном маршрута.

То есть:

  1. При экспорте конструируемого процесса с шаблоном "Работа", если в качестве "Процесса для запроса на участие" или "Процесса для запроса на передачу" указан конструируемый процесс, данный процесс также экспортируется.

  2. При экспорте формы, в которой есть компонент "Лист подписей", если в поле "Тип данных" указан лист конструируемого процесса, данный процесс также экспортируется.

  3. В экспортируемые значения объекта конфигурации - "Реестр" необходимо добавить следующее значение:

    • Процесс для корневой работы маршрута реестра (после значения состояние флажка "Создавать корневую работу для маршрутов по реестру").

    При экспорте реестра, у которого включен флажок "Создавать корневую работу для маршрутов по реестру", если в качестве процесса для корневой работы маршрута реестра указан конструируемый процесс, данный процесс также экспортируется.

  4. Для процесса "Работа по форме" объекта конфигурации - "Маршрут реестра/Шаблон маршрута" необходимо убрать из экспортируемых значений выпадающий список "Тип работы", добавить вместо него выпадающие списки "Шаблон" и "Процесс" и всегда экспортировать значения "Повторение" и "Форма завершения".

    При экспорте маршрута реестра/шаблона маршрута с этапом "Работа по форме", если в выпадающем списке "Процесс" указан конструируемый процесс, данный процесс также экспортируется.

Импорт

Для реализации импорта процесса используется значение поля "Код" процесса.

Таблица объектов конфигурации

В подразделе "Импорт конфигурации" в список импортируемых сущностей добавить подраздел "Процессы" после подраздела "Реестры", который отображается если в импортируемом файле есть объект - процесс.

Кнопка "Импортировать"

Необходимо в текст сообщения в браузерном диалоговом окне, которое открывается по нажатию на кнопку "Импортировать", добавить информацию о количестве загружаемых процессов:

В ходе импорта будет загружено:

Справочников: N

Форм: M

Шаблонов маршрутов: O

Реестров: P

Процессов: V

Карточек пользователей: R

Карточек должностей: Q

Карточек подразделений: S

Действий по сотрудникам: T

Действий по резерву: U

Данный процесс займет некоторое время. Вы действительно хотите продолжить?

где N/M/O/P/R/Q/S/T/U/V - количество загружаемых объектов.

Импортирование конструируемого процесса

При успешном импорте конструируемые процессы сохраняются в импортируемой среде.

При этом некоторые значения объектов, которые не были экспортированы, принимают значения по умолчанию.

Для всех конструируемых процессов:

Шаблон - значение данного компонента зависит от идентификатора шаблона.

Импортируемому процессу будет присвоено значение шаблона, идентификатор которого соответствует значению шаблона в среде импорта.

Нагрузка - значение данного компонента зависит от идентификатора нагрузки.

Если идентификаторы типов нагрузок совпадают в средах экспорта и импорта, то импортируемому процессу будет присвоено значение нагрузки соответствующего идентификатора в среде импорта.

Если нагрузка с таким идентификатором отсутствует - тип нагрузки и ее значение для импортированного этапа будут иметь значение по умолчанию (Документооборот -> Настройки Потоков Работ -> Настройки нагрузок).

Приоритет- значение данного компонента зависит от идентификатора приоритета.

Если идентификаторы приоритетов совпадают в средах экспорта и импорта, то импортируемому процессу будет присвоен приоритет соответствующего идентификатора в среде импорта.

Если приоритет с таким идентификатором отсутствует - приоритет импортируемого процесса будет иметь значение по умолчанию (Документооборот -> Настройки Потоков Работ -> Настройки приоритетов).

Локаль и переводы по данной локали для поля Название и всех сообщений:

  • если значение кода локали совпадают в средах импорта и экспорта, то значение перевода присваивается локали соответствующей коду локали в среде импорта.

  • если в среде импорта нет соответствующего значения кода локали, то значение перевода и значение кода локали не импортируются.

Для конструируемого процесса "Работа":

Форма завершения - значение данного компонента зависит от идентификатора данных справочника "Формы завершения работ".

Если идентификаторы данных справочника work_completion совпадают в средах экспорта и импорта, то импортируемому процессу будет присвоена форма завершения соответствующего индентификатора данных в среде импорта.

Если отсутствует справочник, либо данные с таким идентификатором - форма завершения импортированного процесса будет иметь значение по умолчанию (Документооборот -> Настройки Потоков Работ -> Доп. настройки потоков работ -> Форма завершения по-умолчанию).

Процесс для запроса на участие и Процесс для запроса на передачу - значение данных полей зависят от того, какой указан процесс: обычный или конструируемый.

Если в поле указан конструируемый процесс, то при импорте в поле выбран импортированный конструируемый процесс.

Если в поле указан обычный процесс, то при импорте в поле выбран процесс, код которого соответствует коду обычного процесса в среде импорта.

Примечание

Если в среде импорта уже существует конструируемый процесс с таким же кодом, что и у импортируемого, то данный процесс будет заменен импортируемым процессом.

Импортирование процесса по зависимостям

Для объекта "Реестр":

Если в качестве "Процесса для корневой работы маршрута реестра" указан конструируемый процесс, то в компоненте выбран импортированный конструируемый процесс.

Если в качестве "Процесса для корневой работы маршрута реестра" указан обычный процесс, то в компоненте выбран обычный процесс, код которого соответствует коду обычного процесса в среде импорта.

Для объекта "Маршрут реестра/Шаблон маршрута":

Если в компоненте "Процесс" этапа "Работа по форме" указан конструируемый процесс, то в компоненте выбран импортированный конструируемый процесс.

Если в компоненте "Процесс" этапа "Работа по форме" указан обычный процесс, то в компоненте выбран обычный процесс, код которого соответствует коду обычного процесса в среде импорта.

Для объекта "Форма":

Если в компоненте "Лист подписей", в поле "Тип данных" указан лист коструируемого процесса, то в поле выбран лист импортированного конструируемого процесса.

Если в компоненте "Лист подписей", в поле "Тип данных" указан лист обычного процесса, то в поле выбран лист обычного процесса, код которого соответствует коду процесса в среде импорта.

Пример использования

Экспорт объектов конфигурации

Требования:

наличие объектов со следующими связями:

  • реестр - "Приказ о командировании":

    • форма реестра - "Приказ о командировании":

      • присутствует компонент Лист подписей с типом данных "Лист подписей рассмотрения" (констр. процесс);

    • включена опция "Создавать корневую работу для маршрутов по реестру",

    • процесс для корневой работы маршрута реестра

      • "Корневая работа" (констр. процесс).

  1. Авторизоваться с логином и паролем суперметодолога в Конфигураторе.

  2. Зайти в подраздел "Импорт/экспорт конфигурации".

  3. Нажать на кнопку "Экспортировать" - отобразился подмодуль "Экспорт конфигурации" с деревом-таблицей всех объектов, доступных для экспорта. Все флажки выключены.

  4. Включить флажок реестра "Приказ о командировании"

    • также включатся флажки:

    • форма "Приказ о командировании";

    • процесс "Рассмотрение";

    • процесс "Корневая работа".

  5. Нажать на кнопку "Экспортировать" - система оповестила суперметодолога об экспорте 1 формы, 1 реестра, 2 процессов.

  6. После окончания процесса экспорта на компьютере суперметодолога сохранился файл с выбранными объектами конфигурации.

Импорт объектов конфигурации

Требования:

наличие файла конфигурации из варианта использования, описанного выше.

  1. Авторизоваться с логином и паролем суперметодолога в Конфигураторе.

  2. Зайти в подраздел "Импорт/экспорт конфигурации".

  3. Выбрать файл конфигурации из условия и нажать на кнопку "Импортировать" - отобразился подмодуль "Импорт конфигурации" с деревом-таблицей экспортированных объектов. Все флажки включены.

  4. Нажать на кнопку "Импортировать" - система оповестила суперметодолога об импорте 1 формы, 1 реестра, 2 процессов.

  5. После окончания процесса импорта в текущей ARTA Synergy:

  • создадутся 1 форма, 1 реестр и 2 конструируемых процесса.