Формулировка проблемы: необходимо реализовать импорт и экспорт конструируемых процессов, а также импорт и экспорт данных процессов при зависимости с реестрами, формами, шаблонами маршрутов и с самими процессами.
Связанные задачи:
Используется:
Настройки системы -> Импорт/Экспорт конфигурации
Документооборот-> Настройки Потоков Работ -> Настройки процессов
Решение: добавить возможность импорта и экспорта конструируемых процессов в "Импорт/Экспорт конфигурации", а также импорт и экспорт данных процессов по зависимостям с реестрами, формами, шаблонами маршрутов.
Таблица объектов конфигурации
В подразделе "Экспорт конфигурации" в список экспортируемых сущностей добавить новый подраздел "Процессы" после подраздела "Реестры". При раскрытии подраздела "Процессы" будут подгружаться все конструируемые процессы.
Примечание.
В ветке типа "Процесс" отображаются как удаленные, так и активные конструируемые процессы.
Кнопка "Экспортировать"
Необходимо добавить в текстовое сообщение браузерного диалогового окна, которое отображается по нажатию на кнопку "Экспортировать", информацию о количестве выгружаемых процессов:
В ходе экспорта будет выгружено:
Справочников: N
Форм: M
Шаблонов маршрутов: O
Реестров: P
Процессов: V
Карточек пользователей: R
Карточек должностей: Q
Карточек подразделений: S
Действий по сотрудникам: T
Действий по резерву: U
Данный процесс займет некоторое время. Вы действительно хотите продолжить?
где N/M/O/P/R/Q/S/T/U/V - количество выгружаемых объектов.
Экспортируемые значения конструируемых процессов
Экспортируемые значения конструируемых процессов для удобства будем группировать аналогично структуре этих процессов, то есть следующим образом:
Свойства соответствующие всем конструируемым процессам:
выпадающий список "Шаблон";
Код;
Название с кодами локалей и значениями переводов для данных локалей.
Для конструируемого процесса "Работа":
значение настройки "Процесс для запроса на участие", указанный процесс также должен экспортироваться (Экспортирование процесса по зависимостям);
значение настройки "Процесс для запроса на передачу", указанный процесс также должен экспортироваться (Экспортирование процесса по зависимостям);
состояние флажка "Разрешить передавать другим исполнителям";
состояние флажка "Разрешить выбор исполнителей, не являющихся подчиненными";
состояние флажка "Закрывать окно после завершения".
Для конструируемого процесса "Согласование":
Максимальный уровень иерархии вверх для исполнителей;
состояние флажка "Закрывать окно после завершения";
состояние флажка "Требовать подпись для завершения";
состояние флажка "При положительном ответе" для настройки требования ввода комментария;
состояние флажка "При отрицательном ответе" для настройки требования ввода комментария.
Для конструируемого процесса "Ознакомление":
Максимальный уровень иерархии вверх для исполнителей;
состояние флажка "Закрывать окно после завершения";
состояние флажка "Требовать подпись для завершения".
Для конструируемого процесса "Работа":
Длительность и состояние флажка "Заблокировать от изменений пользователем";
выпадающий список "Приоритет" и состояние флажка "Заблокировать от изменений пользователем";
выпадающий список "Нагрузка" и значение выбранного поля, и состояние флажка "Заблокировать от изменений пользователем";
выпадающий список "Период повторения" и состояние флажка "Заблокировать от изменений пользователем";
выпадающий список "Форма завершения" и состояние флажка "Заблокировать от изменений пользователем".
Для конструируемых процессов "Согласование"/"Ознакомление":
Длительность и состояние флажка "Заблокировать от изменений пользователем";
выпадающий список "Приоритет" и состояние флажка "Заблокировать от изменений пользователем";
выпадающий список "Нагрузка" и значение выбранного поля, и состояние флажка "Заблокировать от изменений пользователем".
Для конструируемого процесса "Работа":
Подстановка:
Заголовок работы в карточке документа;
Кнопка завершения;
Кнопка диалога отправки;
Текст подтверждения действия при смене ответственного;
Текст подтверждения действия при смене ответственного с дочерними работами;
Формулировка запроса на участие;
Формулировка запроса для передачи;
Уведомления:
Создание работы;
Создания работы по документу;
Изменение прогресса;
Завершение работы.
Для конструируемого процесса "Согласование":
Сообщение для хода исполнения:
Работа, которая будет создана;
Работа в прогрессе;
Положительный ответ;
Отрицательный ответ;
Прервано;
Состояние работы в списке работы:
Ожидание;
Положительный ответ;
Отрицательный ответ;
Форма процесса:
Заголовок окна;
Положительный ответ;
Отрицательный ответ;
Лист процесса:
Подпись процесса в РКК;
Положительный ответ;
Положительный ответ с комментарием;
Подстановки:
Подстановка при создании работы;
Подстановка при создании работы в редакторе маршрутов;
Заголовок работы в карточке документа;
Кнопка завершения;
Кнопка диалога отправки;
Текст подтверждения действия при смене ответственного;
Текст подтверждения действия при смене ответственного с дочерними работами;
Уведомления:
Создание работы;
Создание работы по документу;
Положительный ответ;
Отрицательный ответ;
Положительный ответ с комментарием;
Отрицательный ответ с комментарием.
Для конструируемого процесса "Ознакомление":
Сообщение для хода исполнения:
Работа, которая будет создана;
Работа в прогрессе;
Положительный ответ;
Прервано;
Состояние работы в списке работы:
Ожидание;
Положительный ответ;
Форма процесса:
Заголовок окна;
Положительный ответ;
Лист процесса:
Подпись процесса в РКК;
Положительный ответ;
Подстановки:
Подстановка при создании работы;
Подстановка при создании работы в редакторе маршрутов;
Заголовок работы в карточке документа;
Кнопка завершения;
Кнопка диалога отправки;
Текст подтверждения действия при смене ответственного;
Текст подтверждения действия при смене ответственного с дочерними работами;
Уведомления:
Создание работы;
Создание работы по документу;
Положительный ответ.
Все данные сообщения необходимо экспортировать с кодами локалей и значениями переводов для данных локалей.
Экспортирование конструируемого процесса может происходить по зависимостям:
с конструируемым процессом;
с формой;
с реестром;
с маршрутом реестра/шаблоном маршрута.
То есть:
При экспорте конструируемого процесса с шаблоном "Работа", если в качестве "Процесса для запроса на участие" или "Процесса для запроса на передачу" указан конструируемый процесс, данный процесс также экспортируется.
При экспорте формы, в которой есть компонент "Лист подписей", если в поле "Тип данных" указан лист конструируемого процесса, данный процесс также экспортируется.
В экспортируемые значения объекта конфигурации - "Реестр" необходимо добавить следующее значение:
Процесс для корневой работы маршрута реестра (после значения состояние флажка "Создавать корневую работу для маршрутов по реестру").
При экспорте реестра, у которого включен флажок "Создавать корневую работу для маршрутов по реестру", если в качестве процесса для корневой работы маршрута реестра указан конструируемый процесс, данный процесс также экспортируется.
Для процесса "Работа по форме" объекта конфигурации - "Маршрут реестра/Шаблон маршрута" необходимо убрать из экспортируемых значений выпадающий список "Тип работы", добавить вместо него выпадающие списки "Шаблон" и "Процесс" и всегда экспортировать значения "Повторение" и "Форма завершения".
При экспорте маршрута реестра/шаблона маршрута с этапом "Работа по форме", если в выпадающем списке "Процесс" указан конструируемый процесс, данный процесс также экспортируется.
Для реализации импорта процесса используется значение поля "Код" процесса.
Таблица объектов конфигурации
В подразделе "Импорт конфигурации" в список импортируемых сущностей добавить подраздел "Процессы" после подраздела "Реестры", который отображается если в импортируемом файле есть объект - процесс.
Кнопка "Импортировать"
Необходимо в текст сообщения в браузерном диалоговом окне, которое открывается по нажатию на кнопку "Импортировать", добавить информацию о количестве загружаемых процессов:
В ходе импорта будет загружено:
Справочников: N
Форм: M
Шаблонов маршрутов: O
Реестров: P
Процессов: V
Карточек пользователей: R
Карточек должностей: Q
Карточек подразделений: S
Действий по сотрудникам: T
Действий по резерву: U
Данный процесс займет некоторое время. Вы действительно хотите продолжить?
где N/M/O/P/R/Q/S/T/U/V - количество загружаемых объектов.
Импортирование конструируемого процесса
При успешном импорте конструируемые процессы сохраняются в импортируемой среде.
При этом некоторые значения объектов, которые не были экспортированы, принимают значения по умолчанию.
Для всех конструируемых процессов:
Шаблон - значение данного компонента зависит от идентификатора шаблона.
Импортируемому процессу будет присвоено значение шаблона, идентификатор которого соответствует значению шаблона в среде импорта.
Нагрузка - значение данного компонента зависит от идентификатора нагрузки.
Если идентификаторы типов нагрузок совпадают в средах экспорта и импорта, то импортируемому процессу будет присвоено значение нагрузки соответствующего идентификатора в среде импорта.
Если нагрузка с таким идентификатором отсутствует - тип нагрузки и ее значение для импортированного этапа будут иметь значение по умолчанию (Документооборот -> Настройки Потоков Работ -> Настройки нагрузок).
Приоритет- значение данного компонента зависит от идентификатора приоритета.
Если идентификаторы приоритетов совпадают в средах экспорта и импорта, то импортируемому процессу будет присвоен приоритет соответствующего идентификатора в среде импорта.
Если приоритет с таким идентификатором отсутствует - приоритет импортируемого процесса будет иметь значение по умолчанию (Документооборот -> Настройки Потоков Работ -> Настройки приоритетов).
Локаль и переводы по данной локали для поля Название и всех сообщений:
если значение кода локали совпадают в средах импорта и экспорта, то значение перевода присваивается локали соответствующей коду локали в среде импорта.
если в среде импорта нет соответствующего значения кода локали, то значение перевода и значение кода локали не импортируются.
Для конструируемого процесса "Работа":
Форма завершения - значение данного компонента зависит от идентификатора данных справочника "Формы завершения работ".
Если идентификаторы данных справочника work_completion совпадают в средах экспорта и импорта, то импортируемому процессу будет присвоена форма завершения соответствующего индентификатора данных в среде импорта.
Если отсутствует справочник, либо данные с таким идентификатором - форма завершения импортированного процесса будет иметь значение по умолчанию (Документооборот -> Настройки Потоков Работ -> Доп. настройки потоков работ -> Форма завершения по-умолчанию).
Процесс для запроса на участие и Процесс для запроса на передачу - значение данных полей зависят от того, какой указан процесс: обычный или конструируемый.
Если в поле указан конструируемый процесс, то при импорте в поле выбран импортированный конструируемый процесс.
Если в поле указан обычный процесс, то при импорте в поле выбран процесс, код которого соответствует коду обычного процесса в среде импорта.
Примечание
Если в среде импорта уже существует конструируемый процесс с таким же кодом, что и у импортируемого, то данный процесс будет заменен импортируемым процессом.
Для объекта "Реестр":
Если в качестве "Процесса для корневой работы маршрута реестра" указан конструируемый процесс, то в компоненте выбран импортированный конструируемый процесс.
Если в качестве "Процесса для корневой работы маршрута реестра" указан обычный процесс, то в компоненте выбран обычный процесс, код которого соответствует коду обычного процесса в среде импорта.
Для объекта "Маршрут реестра/Шаблон маршрута":
Если в компоненте "Процесс" этапа "Работа по форме" указан конструируемый процесс, то в компоненте выбран импортированный конструируемый процесс.
Если в компоненте "Процесс" этапа "Работа по форме" указан обычный процесс, то в компоненте выбран обычный процесс, код которого соответствует коду обычного процесса в среде импорта.
Для объекта "Форма":
Если в компоненте "Лист подписей", в поле "Тип данных" указан лист коструируемого процесса, то в поле выбран лист импортированного конструируемого процесса.
Если в компоненте "Лист подписей", в поле "Тип данных" указан лист обычного процесса, то в поле выбран лист обычного процесса, код которого соответствует коду процесса в среде импорта.
Пример использования
Экспорт объектов конфигурации
Требования:
наличие объектов со следующими связями:
реестр - "Приказ о командировании":
форма реестра - "Приказ о командировании":
присутствует компонент Лист подписей с типом данных "Лист подписей рассмотрения" (констр. процесс);
включена опция "Создавать корневую работу для маршрутов по реестру",
процесс для корневой работы маршрута реестра
"Корневая работа" (констр. процесс).
Авторизоваться с логином и паролем суперметодолога в Конфигураторе.
Зайти в подраздел "Импорт/экспорт конфигурации".
Нажать на кнопку "Экспортировать" - отобразился подмодуль "Экспорт конфигурации" с деревом-таблицей всех объектов, доступных для экспорта. Все флажки выключены.
Включить флажок реестра "Приказ о командировании"
также включатся флажки:
форма "Приказ о командировании";
процесс "Рассмотрение";
процесс "Корневая работа".
Нажать на кнопку "Экспортировать" - система оповестила суперметодолога об экспорте 1 формы, 1 реестра, 2 процессов.
После окончания процесса экспорта на компьютере суперметодолога сохранился файл с выбранными объектами конфигурации.
Импорт объектов конфигурации
Требования:
наличие файла конфигурации из варианта использования, описанного выше.
Авторизоваться с логином и паролем суперметодолога в Конфигураторе.
Зайти в подраздел "Импорт/экспорт конфигурации".
Выбрать файл конфигурации из условия и нажать на кнопку "Импортировать" - отобразился подмодуль "Импорт конфигурации" с деревом-таблицей экспортированных объектов. Все флажки включены.
Нажать на кнопку "Импортировать" - система оповестила суперметодолога об импорте 1 формы, 1 реестра, 2 процессов.
После окончания процесса импорта в текущей ARTA Synergy:
создадутся 1 форма, 1 реестр и 2 конструируемых процесса.