Конфигуратор должен предоставлять возможность создания, редактирования, удаления реестров.
Атрибуты реестра делятся на следующие группы
подраздел общей информации о реестре;
подраздел информации о реестре ответа;
подраздел «Поля формы реестра»;
подраздел «Сортировка при отображении»;
подраздел «Права на реестр»;
подраздел «Сопоставление»;
подраздел «Управление записями реестров».
Общая информация о реестре
Мультиязычное поле «Наименование реестра» (см. Требования к мультиязычному полю ввода). Поле обязательно для заполнения, не может состоять только из пробелов, иначе исполняется альтернативный поток событий 1.
Справа напротив наименования реестра, нажав на иконку, выбирается отображаемая иконка реестра из возможных. По умолчанию, для нового создаваемого реестра задается иконка в виде документа. Первым элементом в выборе является выбор «без иконки».
Поле «Форма документа». Форма должна быть уникальна для каждого реестра, иначе исполняется альтернативный поток событий 2. Поле обязательно для заполнения.
Выпадающий список «Тип документа». Поле не обязательно для заполнения. Содержит типы документов текущего приложения в исходящих и внутренних журналах. Необходимо заполнять при наличии в маршруте (п.9) типа работы «регистрация».
Мультиязычное поле «Название действия по документу реестра» (см. Требования к мультиязычному полю ввода). Поле обязательно для заполнения, не может состоять только из пробелов, иначе исполняется альтернативный поток событий 1.
Флажок «Отображать документы по реестру в разделе «Мои»» определяет, будет ли добавляться документ, созданный пользователем по реестру, в разделе «Все» и «Мои» документов этого пользователя. Для выключенного флажка документ будет находиться у автора в фильтрах со свойством «Скрытые». По умолчанию флажок включен.
Флажок «Закрыть окно документа после отправки на активацию».
Выпадающий список «Реестр ответа». Настройка является необязательной. Указывается, какой реестр будет использоваться для ответа на документ данного реестра. Реестр для ответа выбирается из общего списка реестров ьекущего приложения, допускается выбрать сам настраиваемый реестр.
Для документов по реестрам, у которых задан реестр ответа, вводится предпочтительная кнопка действия с документом (название которой задается настройкой «Название действия для вызова реестра ответа»), нажатие на которую создает новый документ по реестру ответа (поля по форме которого могут быть предзаполнены согласно настройке «Сопоставление полей с другими реестрами»). Эта кнопка появляется только в том случае, если данный пользователь имеет право создания новой записи по реестру ответа и только после того, как будет нажата кнопка маршрута активации (т.е. запущен маршрут).
Поле «Название действия для вызова реестра ответа» - для названия предпочтительной («зеленой») кнопки действия с документом. Поле доступно только для выбранного реестра ответа. Значение поля поумолчанию - «Создать ответ».
Флажок «Создавать корневую работу для маршрутов по реестру», по умолчанию, выключен.
Для включенного флажка маршрут, создаваемый при каком-либо событии (для примера возьмём активацию), следующего вида:
- Корневая работа с формулировкой, указанной в настройке + значащее
содержимое записи реестра (через - )
-- Этап маршрута активации 1
-- ...
-- Этап маршрута активации N
Замечание:
Такая структура создаётся только в том случае, если в событии имеются какой-либо непустой маршрут, в противном никаких работ не создаётся.
Ответственным по корневой работе является пользователь, который инициирует событие (запускает активацию, изменение либо удаление).
Корневая работа по данному маршруту является обычной работой, которую можно перепоручать, удалять, завершать, выставлять прогресс и т.п.
При завершении корневой работы каждый вложенный в неё этап завершается и запись реестра приобретает статус «Неуспешно».
Замечание:
При активной настройке «Не удалять работу, на которую была наложена резолюция» на корневую работу реестра может быть наложена резолюция. При этом корневая работа перестанет отображаться в фильтре «На исполнении» у ответственного и автоматически завершится тогда, когда будут завершены все этапы маршрута события.
Данное поведение не является ошибкой ARTA Synergy.
При удалении корневой работы каждый вложенный в неё этап удаляется, и запись реестра приобретает статус «Неуспешно».
Замечание:
Запись реестра приобретает статус «Неуспешно» даже в том случае, если маршрут события состоит только из неальтернативных процессов (например, только из работ), т.е. для получения записью реестра статуса «Активно» корневая работа должна быть завершена.
При создании дополнительного дочернего этапа у корневой работы, например, перепоручении ее, созданный этап не считается частью маршрута действия и, таким образом, не влияет на получение записью реестра статуса «Успешно», «Неуспешно» либо «Удалено».
При завершении либо удалении корневой работы дополнительный дочерний этап соответственно завершается либо удаляется.
Таким образом, при включении данного флажка на получение записью реестра статуса «Успешно», «Неуспешно» либо «Удалено» влияет два фактора:
Результат завершения маршрута по событию (маршрута активации, изменения либо удаления)
Результат завершения корневой работы по записи реестра.
Когда маршрут по событию завершился неуспешно, а корневая работа не завершена, для этой работы в документе отображаются следующие кнопки:
Кнопка с подписью из настройки «Название действия по документу реестра», запускающая маршрут по событию. Корневая работа при этом не пересоздаётся. Кнопка является приоритетной («зеленой»).
Резолюция - накладывает резолюцию на корневую работу (при наличии прав на наложении резолюции);
Завершить - завершает корневую работу;
Отправить - кнопка-меню с действиями по корневой работе.
Поле «Формулировка работы», которое является обязательным для заполнения при включении флажка «Создавать корневую работу для маршрутов по реестру», и определяет название корневой работы вместе с значащим содержимым записи реестра.
Таблица «Поля формы реестра» полями:
«№ п/п» - вводится вручную (необязательное поле для заполнения, может быть только целым положительным числом, иначе исполняется альтернативный поток событий 3); введенный здесь номер будет определять порядковый номер столбцов в списке реестра в разделе «Реестры» модуля «Хранилище»;
Примечание
Указанные столбцы должны отображаться в следующем порядке:
сначала столбцы с номерами, отсортированные по этим номерам, в порядке возрастания;
потом столбцы без номеров, но с названиями, отсортированные по названию, в порядке возрастания;
потом столбцы без номеров и без названий, отсортированные по идентификатору компонента, в порядке возрастания.
«Отображение поля при просмотре реестра» - флажки; по умолчанию все выключены, обязательным является указание хотя бы одной отображаемой колонки, иначе исполняется альтернативный поток событий 4;
«Идентификатор колонки» - идентификаторы компонентов формы реестра, сюда не попадают следующие компоненты:
обычная таблица (при этом компоненты внутри обычной таблицы сюда попадают)
страница
неизменяемый текст
изображение
файл
лист подписей
лист резолюций
ход выполнения
Соответственно, сюда попадают:
динамическая таблица (содержимое в колонке будет формироваться сверткой, компоненты внутри динамической таблицы сюда не попадают)
однострочное поле (текст либо маска ввода)
числовое поле (отформатированное число)
многострочный текст
HTD-редактор (текст без форматирования)
выпадающий список
дата/время (по формату)
выбор вариантов (значения через запятую)
переключатель вариантов
ссылка (надпись ссылки)
объекты Synergy (пользователи, должности, подразделения)
номер
ссылка на документ (по форматной строке)
период повторения
ссылка на проект/портфель
ссылка на реестр
ссылка на адресную книгу
свойства документа (согласно типа данных)
ссылка на файл (название файла, не путь)
«Название поля» - вводится вручную (для включенного переключателя - обязательное поле); введенное здесь название будет заголовком в списке реестра в разделе «Реестры» модуля «Хранилище»; поле мультиязычное, соответствует данным требованиям;
«Значащее содержимое» - флажки; по умолчанию все выключены, означает, что содержимое этого поля будет выводится в списке документов после «Краткого содержания», а также учитываться в поиске и добавляться к названиям этапов маршрута по реестру при их запуске (всегда отключено для компонентов «Динамическая таблица», «Выбор вариантов», «Ссылка на документ», «Свойства документа» и «Ссылка на файл в хранилище»);
«Примечание» - текстовая пометка
Сортировка отсутствует
для
компонентов формы «Динамическая таблица», «Выбор
вариантов», «Ссылка на документ», «Свойства документа» и
«Ссылка на файл в хранилище».
Группа атрибутов «Сортировка при отображении» содержит:
выпадающий список «Сортировать по» с возможными вариантами для выбора:
«Дате создания» - дате создания записи реестра (выбрано по умолчанию).
«Полю реестра» - в выпадающем списке (добавляется справа) выбирается поле реестра, по которому будет произведена сортировка.
В списке доступны для выбора все поля реестра, которые попали в таблицу «Поля формы реестра» (кроме «Динамическая таблица», «Выбор вариантов», «Ссылка на документ», «Свойства документа» и «Ссылка на файл в хранилище»), т.е. те поля, которые содержат значения, даже те, у которых свойство «Отображение поля при просмотре реестра» неактивно.
выпадающий список «Направление сортировки» с возможными вариантами для выбора:
«По возрастанию»
«По убыванию» (выбрано по умолчанию)
Указанные атрибуты используются при отображении таблицы реестра («Хранилище» - «Реестры», Реестры).
Кнопка «Добавить событие» с пунктами меню «Активация элемента» / «Изменение элемента» / «Удаление элемента», а также таблицы «Активация» / «Изменение» / «Удаление».
Замечание
Наличие того или иного пункта меню обратно зависимо от наличия соответствующей этому пункту меню таблицы. Например: при наличии таблицы «Активация» пункт меню «Активация элемента» будет отсутствовать.
При наличии всех трех таблиц кнопка «Добавить событие» отсутствует вовсе.
Каждая таблица для каждого созданного события содержит данные из маршрута, с полями:
название этапа;
ответственный;
тип работы.
Система должна позволять пользователю удалить маршрут. После удаления соответствующий пункт меню кнопки «Добавить событие» становится доступным.
Вызов любой функции (создание / редактирование события) открывает окно редактирование маршрута (подробнее в Маршрут реестра).
Таблица «Права на реестр». В системе реализовано разграничение прав доступа к реестрам
Права:
«Все» - наличие всех либо частичных прав на реестр;
«Просмотр списка» - просмотр списка файлов по форме реестра;
«Просмотр данных» - просмотр конкретного файла по форме реестра;
«Создание» - создание файлов по форме реестра;
«Редактирование» - изменение файлов по форме реестра (для всех статусов, кроме «Активная»);
«Изменение» - изменение записи со статусом «Активная» (и запуск соответствующего маршрута);
«Удаление» - удаление файлов по форме реестра;
и групп пользователей в столбце «Группа» (использующихся для назначения прав доступа к хранилищу - Группы).
Замечание
Право просмотра данных автоматически предусматривает право просмотра списка.
Права на редактирование / изменение / удаление автоматически предусматривают права на просмотр списка и данных.
Раздел «Реестры» модуля «Хранилище» отображается у пользователя только в том случае, если у него имеется право чтения хотя бы одного реестра.
Кнопка «Добавить сопоставление», а также соответствующая таблица. Для реестра настройка «Сопоставление полей с другими реестрами» - указание списка реестров-приемников для данного реестра и соответствия между полями этих реестров и настраиваемого реестра. Реестр-приемник - это такой реестр, документ по которому указан в качестве дочернего для документа исходного реестра. Реестром-приемником может быть, в том числе, и сам исходный реестр.
Настройка имеет следующий вид: имеется возможность добавить либо удалить реестр-приемник (выбирается из полного списка нескрытых реестров), для каждого добавленного реестра-приемника появляется таблица следующего вида:
Поле исходного реестра | Поле реестра приемника | Способ сопоставления | Параметр сопоставления |
---|---|---|---|
выбор одного из списка, выбранное значение доступно для других строк |
выбор одного из списка, выбранное значение недоступно для других строк |
выбор одного из списка:
|
текстовая строка, может быть пустой, используется в качестве префикса или суффикса |
неактивно |
выбор одного из списка, выбранное значение недоступно для других строк |
HTD |
текстовая строка в данном случае заменяется на ссылку «Кликните для того чтобы изменить шаблон», по нажатию которой доступен диалог |
… |
… |
… |
… |
Применение настройки осуществляется в том случае, если определена операция создания дочернего документа по реестру (реестр-приемник) для документа другого реестра (исходный реестр) - это кнопки действий с работой (в просмотре «документ») при наличии требования результата работы типа «документ» или «зарегистрированный документ» и реестр для ответа.
При выборе способа сопоставления «HTD» в поле
приемника будет подставлено значение, настроенное в
отдельном диалоге редактирования HTD. Значение представляет
собой HTML, в котором можно использовать подстановки вида
${form_field_id}
, которые при
срабатывании сопоставления будут заменены на соответствующие
значения полей формы источника (реестра или карточки). Кроме
этого, добавляется еще одна специальная подстановка
${document.attaches}
, которая будет
заменена на список следующего вида:
Файл_1 (кликабельная ссылка на файл Файл_1 из вложений (Приложений или Прочих) того документа, с которым осуществляется сопоставление)
Файл_2 (аналогично)
Файл_3
…
Примечание.
Результирующее значение способа сопоставления «HTD» с применением форматирования будет отображаться в поле-приемнике:
«HTD-редактор» - без тегов, согласно настроенного форматирования;
для всех остальных компонентов (например, «Однострочное поле») - с тегами.
При этом, если в сопоставлении «HTD» очистить форматирование (с помощью соответствующей кнопки), то и во всех компонентах-приемниках будут отсутствовать какие-либо теги.
Данное поведение не является ошибкой Synergy.
Список полей исходного реестра, которые можно выбрать в качестве источника сопоставления, содержит не все поля формы этого реестра. Из списка исключаются компоненты, которые не содержат данных либо не имеют их текстового представления:
статическая таблица
страница
неизменяемый текст
изображение
файл
лист подписей
лист резолюций
ход выполнения
ссылка на документ
свойства документа
ссылка на файл в хранилище
пользовательский компонент
а также компоненты, которые находятся внутри динамических таблиц
Динамическую таблицу целиком можно использовать в качестве как источника, так и приемника сопоставления. Это будет иметь смысл только в том случае, если в таблице-источнике и таблице-приемнике будет совпадать название и тип хотя бы одного компонента. Тогда при срабатывании сопоставления содержимое динамической таблицы-приемника будет полностью заменено на содержимое динамической таблицы-источника (построчно/поблоково), при этом содержимым компонентов таблицы-приемника, для которых не имеется соответствующих компонентов в таблице-источнике, будет их значением по умолчанию.
Среди полей, служащих приемниками сопоставления, также
доступны идентификаторы компонентов из динамических таблиц
(в формате dyntable-name.component-name
).
Для таких компонентов недоступен способ сопоставления
«HTD». Сопоставление полей с приемником -
компонентом динамической таблицы должно работать следующим
образом:
для одного блока сопоставлений определяются все строки, приемники которых содержат указание на компоненты внутри одной динамической таблицы;
в этой динамической таблице добавляется одна строка, значения компонентов которой получаются из значений полей-источников согласно типу сопоставления (EQUAL, PREFIX или POSTFIX);
описанное повторяется для всех полей приемников, расположенных в динамических таблицах;
если в одном блоке сопоставлений один и тот же приемник указан несколько раз, то при сопоставлении используется последнее по порядку строк блока значение поля источника;
для того, чтобы добавить несколько строк в динамическую таблицу, необходимо использовать несколько блоков сопоставлений, порядок добавления этих строк определяется порядком блоков сопоставлений.
Для сохранения всех введенных данных разработчик Synergy нажимает на кнопку «Сохранить». При этом возможно исполнение альтернативных потоков событий 1-4.
Запуск маршрута для реестра, в форме которого используется динамическая таблица: для всех N (по числу строк динамической таблицы) запускается собственный экземпляр процесса действия, параметром которого является компонент, находящийся в динамической таблице. Кроме того, в параметрах процесса можно сочетать как идентификаторы компонент, находящихся в динамических таблицах, так и идентификаторы компонент, находящихся вне таблиц либо в обычных таблицах - в этом случае одно и то же значение «нединамического» компонента будет взято для каждого экземпляра процесса.
Использование в параметрах процесса компонент из двух и более различных динамических таблиц не допускается - в этом случае пользователю выводится ошибка «Использование в параметрах процесса компонент из двух и более различных динамических таблиц не допускается».
Статусы записей реестра.
Статусы записей реестра принимают следующий вид:
«Подготовка» - запись с этим статусом не является «полноценной» записью реестра, так как по ней ещё не запущено маршрута по созданию записи.
«В маршруте» - означает, что маршрут по данной записи реестра ещё находится на выполнении. В случае его успешного завершения статус записи меняется на «активная», в случае неуспешного завершения статус опять меняется на «подготовка» (новый документ при этом не создаётся).
«Активная» - «полноценная» запись реестра. Означает запись реестра, маршрут по которой завершён успешно. Если для реестра не назначено маршрутов, считается, что имеется «пустой маршрут», результат выполнения которого всегда успешен. Событие реестра «Изменение» (изменение файла по форме) действует только для записей реестра со статусом «активная».
«Удалена» - удаленная запись реестра. Если удаляемая запись реестра имеет статус «подготовка», то она сразу получает статус «удалена». Если же она имеет статус «активная», то перед удалением запускается маршрут события «Удаление», в случае успешного завершения которого запись получает статус «удалена». Если документ, соответствующий записи реестра, находится в каком-либо маршруте, то удалить такую запись нельзя.
Скрытие реестра.
В разделе «Реестры» модуля «Хранилище» скрытый реестр не отображается.
В разделе «Реестры» модуля «Хранилище» восстановленный реестр снова отображается.
Альтернативные потоки событий.
Альтернативный поток 1. Не введено наименование реестра / название действия по документу реестра, либо введены одни пробелы.
Система информирует, что поле не может быть пустым, поле подсвечивается красным, окно не закрывается.
Альтернативный поток 2. Сохраняется реестр с формой, которая уже применена в другом реестре.
Система информирует «Реестр с такой формой уже существует „название_реестра“», поле подсвечивается красным, окно не закрывается.
Альтернативный поток 3. Введено некорректное значение порядкового номера.
Система информирует «Введите корректный номер», поле подсвечивается красным, окно не закрывается.
Альтернативный поток 4. Не указана хотя бы одна отображаемая колонка.
Система информирует «Отметьте хотя бы одну отображаемую колонку и введите для каждой колонки название», окно не закрывается.
Альтернативный поток 6. Разработчик Synergy нажимает на кнопку «Назад», не сохранив внесенные изменения.
Появляется браузерный диалог «Все несохранённые изменения будут потеряны! Продолжить?» и вариантами «Да» - изменения сбрасываются, возвращается предыдущий экран, «Отмена» - переход на предыдущий экран не осуществляется.
По нажатию на кнопку «Управление фильтрами» открывается окно «Управление фильтрами реестра»:
Примечание:
Кнопка «Управление фильтрами» отображается только для сохраненных фильтров.
В левой части окна располагается дерево централизованных фильтров, где корневым элементом является текущий реестр. В правой части расположены:
кнопки:
сохранить изменения;
добавить новый дочерний элемент;
удалить текущий элемент;
поля ввода сведений о фильтре:
«Название» - мультиязычное поле ввода (обязательное поле);
выбор пиктограммы фильтра (используется тот же набор пиктограмм, что и для фильтров в клиентсткой части);
«Код» - однострочное поле ввода (обязательное поле). К полю долны применяться существующие правила валидации.
блок указания условий фильтра, функциональность которого аналогична редактору фильтров реестров в клиентской части);
сплит;
таблица «Права на фильтр»: аналогична таблице «Права» в редакторе реестра, но без указания права «Создание».
При выборе корневого элемента в правой части окна доступна только кнопка добавления нового элемента «+», кнопки «Сохранить» и «Удалить» заблокированы, никакие поля не отображаются.
Примечание:
Кнопки «Сохранить», «Добавить» и «Удалить» должны быть доступны только разработчику Synergy (разработчику Synergy), имеющему право «Изменение» на текущий реестр.
Правила определения прав пользователя на запись реестра
Для каждой записи реестра итоговый набор прав пользователя определяется как объединение прав каждого фильтра (в том числе прав самого реестра), если одновременно:
запись удовлетворяет условиям фильтра;
пользователь входит в группу, которой установлены права в фильтре.
Пользовательские фильтры должны работать только с теми записями, которые доступны пользователю в корне.
Вне зависимости от установленных прав на реестр и фильтры пользователю доступно право «Редактирование» записей, созданных им лично.
Примечание:
Условия дочернего фильтра наследуются от родительского. Наследования прав не происходит.
Данный подраздел позволяет совершать массовые действия над записями реестров из конфигуратора.
Интерфейс экрана «Управление записями реестров»
Данная возможность доступна из кнопки «Управление записями реестра», которая располагается в верхней панели карточки реестра (Конфигуратор -> Процессы -> Реестры -> Редактирование реестра). Данная кнопка будет доступна разработчику Synergy только для тех реестров, на которые ему даны все следующие права:
Изменение самого реестра в Конфигураторе;
Изменение записей реестра;
Удаление записей реестра.
По нажатию на кнопку будет открываться отдельный экран. Он содержит следующие элементы:
Список массовых действий
Статусы записей реестра
Скорость обработки записей
Кнопки управления массовыми действиями
Лог последних выполненных действий
Если реестр не содержит ни одной записи, то по нажатию на кнопку «Управление записями реестра» отобразится ошибка с текстом:
Реестр не содержит записей
Переход на экран управления записями не происходит.
Список массовых действий представлен в виде группы переключателей:
Активация (выбран по умолчанию)
Возврат к статусу «Подготовка»
Прерывание маршрутов
Запуск маршрута изменения
Удаление
Переключатель пункта «Запуск маршрута изменения» может быть недоступен. В данном случае для него отображается кнопка «?», по нажатию на которую раскрывается всплывающая подсказка с текстом-причиной:
Для выполнения данного массового действия реестр должен иметь маршрут события "Изменение элемента"
Статусы записей реестра отображаются в виде группы флагов:
Подготовка
В процессе
Активная
Неуспешная
Состояние флагов определяется выбранным массовым действием. Их значения по умолчанию представлены в следующих таблицах:
Действие «Активация»
Статус записи реестра | Активен | Выбран |
---|---|---|
Подготовка |
Да |
Да |
В процессе |
Нет |
Нет |
Активная |
Нет |
Нет |
Неуспешная |
Да |
Да |
Действие «Возврат к статусу»Подготовка«»
Статус записи реестра | Активен | Выбран |
---|---|---|
Подготовка |
Нет |
Нет |
В процессе |
Нет |
Нет |
Активная |
Да |
Да |
Неуспешная |
Да |
Да |
Действие «Прерывание маршрутов»
Статус записи реестра | Активен | Выбран |
---|---|---|
Подготовка |
Нет |
Нет |
В процессе |
Да |
Да |
Активная |
Нет |
Нет |
Неуспешная |
Нет |
Нет |
Действие «Запуск маршрута изменения»
Статус записи реестра | Активен | Выбран |
---|---|---|
Подготовка |
Нет |
Нет |
В процессе |
Нет |
Нет |
Активная |
Да |
Да |
Неуспешная |
Нет |
Нет |
Действие «Удаление»
Статус записи реестра | Активен | Выбран |
---|---|---|
Подготовка |
Да |
Да |
В процессе |
Нет |
Нет |
Активная |
Да |
Да |
Неуспешная |
Да |
Да |
Группа переключателей Скорость обработки записей содержит пункты:
Медленная (выбран по умолчанию)
Быстрая
Пункт «Быстрая» также содержит кнопку «?», по нажатию на которую откроется всплывающая подсказка с текстом сообщения:
При выборе данного типа обработки возможно сильное замедление работы системы
Кнопками управления массовыми действиями являются кнопки «Запустить» и «Прервать». Их доступность определяется следующим образом:
Условие | Кнопка «Запустить» | Кнопка «Прервать» |
---|---|---|
Массовое действие завершено либо не было запущено |
Активна |
Неактивна |
Массовое действие в процессе обработки |
Неактивна |
Активна |
Ни один флаг статуса записи реестра не был выбран |
Неактивна |
Неактивна |
Лог последних выполненных действий отображает прогресс выполнения массового действия. Сообщения представлены в формате:
YYYY-MM-DD hh:mm %Текст_сообщения%
Сообщения о ходе выполнения массового действия окрашены в черный цвет, а сообщения о завершении, прерывании действия, а также ошибки - в красный.
При запуске нового массового действия область лога очищается. Если массовое действие еще выполняется, то новые записи о ходе выполнения процесса добавляются в режиме реального времени. Некоторые записи хода выполнения действия могут не быть добавлены лог, но сообщения о завершении, прерывании действия, а также ошибки отображаются в нем всегда.
Если количество записей лога такое, что не отображается полностью, в его области отображается вертикальный скролл. Горизонтальный скролл в этой области никогда не отображается.
Запуск массовых действий по записям реестра
Общие требования для запуска
Запуск массового действия осуществляется путем нажатия на кнопку «Запустить». При этом отобразится модальное браузерное окно с текстом сообщения:
Процесс обработки может занять продолжительное время. Все принятые изменения невозможно будет отменить. Вы действительно хотите продолжить?
После подтверждения экран переходит в состояние «Действие запущено»:
Вычисляется количество записей реестра согласно выбранным статусам. Массовое действие будет применено только к ним, причем с заданной скоростью обработки.
Все переключатели и флаги становятся неактивными.
Кнопка «Запустить» становится неактивной, а «Прервать» - активной.
В лог начинают добавляться сообщения о ходе выполнения массового действия в режиме реального времени.
Если другой разработчик Synergy переходит в «Управление записями реестра» такого реестра, действие в котором уже запущено, он увидит экран в вышеописанном состоянии.
Примечание
Возможно возникновение следующей ситуации:
Никаких массовый действий в реестре не выполняется. Один из методологов переходит в экран управления массовыми действиями этого реестра, но пока ничего не запускает. В этот момент другой разработчик Synergy также переходит в «Управление записями реестра» этого же реестра и запускает действие. Первый разработчик Synergy тоже пытается запустить какое-либо действие, но так как в одном реестре может одновременно выполняться только одно массовое действие, то экран переходит в вышеописанное состояние, а также отображается ошибка со следующим текстом:
Массовое действие уже запущено
Далее в лог будут добавляться записи согласно типу применяемого действия:
Для «Активации»:
Активировано %X% из %Y% записей
Для «Возврата к статусу»Подготовка«»:
К статусу "Подготовка" возвращено %X% из %Y% записей
Для «Прерывания маршрутов»:
Маршрут прерван для %X% из %Y% записей
Для «Запуска маршрута изменения»:
Изменение элемента выполнено для %X% из %Y% записей
Для «Удаления»:
Удаление элемента выполнено для %X% из %Y% записей
Если при обработке записи возникла системная ошибка
(exeption
), в лог будет добавлена
соответствующая запись. Процесс обработки при этом
продолжится. Текст сообщения в логе:
Системная ошибка при обработке записи. Идентификатор документа: %uuid_документа%, значащее содержимое: %значащее_содержимое%
Где %X%
- количество обработанных записей
(включая успешные и неуспешные), %Y%
-
суммарное количество записей выбранных статусов,
%значащее_содержимое%
- перечисление
значений колонок реестра, у которых включен флаг
«Значащее содержимое».
По окончании массового действия в лог также будет добавлено сообщение:
Если все записи обработаны успешно:
Массовое действие "%тип_действия%" завершено. Обработано %Y% записей
Если при обработке каких-либо записей произошли ошибки:
Массовое действие "%тип_действия%" завершено. Обработано %Y% записей, из них успешно: %X%, с ошибкой: %Z%
Где %Z%
- количество записей,
обработанных с ошибкой.
Особенности применения массового действия «Возврат к статусу»Подготовка«»
При запуске действия «Возврат к статусу»Подготовка«» для успешно обработанных записей таблице «Изменения в документе» основного приложения добавится новая запись:
№ п/п | Пользователь | Дата | IP адрес | Описание | Комментарий |
---|---|---|---|---|---|
номер- записи |
разработчик Syner запустивший- действие* |
gy-* | дата запуска- массового- действия* |
-время-* | ip-а которого- произведено- действие* |
дрес-с-* | С записи реестра статус название- предыдущего-статуса |
снят | |
Особенности применения массовых действий «Активация», «Запуск маршрута изменения» и «Удаление записей»
Если у реестра отсутствует маршрут события «Активация элемента», «Запуск маршрута изменения» и/или «Удаление элемента», то при запуске соответствующего действия оно будет выполнено без запуска маршрута.
Если маршрут имеет хотя бы один блок типа «Предварительные этапы» и/или «Последующие этапы», для которого включен флаг «Отображать при сохранении», то при запуске маршрута в лог добавится запись:
Ошибка при запуске действия: реестр содержит маршрут с блоками "Предварительные этапы" и/или "Последующие этапы", которые отображаются при сохранении. Выключите для них флажок "Отображать при сохранении", либо удалите эти блоки маршрутов и повторите попытку
обработка действия не начнется.
Если включена настройка «Требовать подпись перед отправкой документа» (Конфигуратор -> Документооборот -> Настройки документооборота), реестр содержит какие-либо из маршрутов, то при запуске соответствующего действия в лог добавится сообщение:
Ошибка при запуске действия: записи необходимо отправить по маршруту, но перед отправкой требуется подписать документ. Отключите флажок "Требовать подпись перед отправкой документа" в подразделе "Настройки документооборота" и повторите попытку
обработка действия не начнется.
Если для типа документа реестра, чьи записи будут обрабатываться, включена настройка «Валидация РКК перед отправкой документа» (Конфигуратор -> Документооборот -> Типы документов), то для некоторых записей реестра маршрут запустить нельзя из-за того, что не заполнены необходимые поля в РКК. В таком случае обработка этой записи будет пропущена, а в лог добавится сообщение об ошибке:
Ошибка при обработке записи: включена настройка "Валидация РКК перед отправкой документа", а в РКК документа этой записи не заполнены требуемые поля. Идентификатор документа: %uuid_документа%, значащее содержимое: %значащее_содержимое%
обработка действия продолжается.
Отмена массового действия
Отмена массового действия может быть осуществима по нажатию на кнопку «Прервать». При этом отобразится модальное браузерное окно с текстом сообщения:
Вы действительно хотите прервать массовое действие над записями реестра?
После подтверждения произойдет следующее:
Обработка записей реестра прекращается.
Переключатели и флаги принимают такое же состояние, как и до начала массового действия.
Кнопка «Запустить» становится активной, а «Прервать» - неактивной.
В лог последних выполненных действий добавляется сообщение о прерывании:
Массовое действие "%тип_действия%" прервано. Обработано %X% из %Y% записей, Из них успешно: %Z%, с ошибкой: %W%
Где
%X%
- количество обработанных записей
(до отмены действия) %Y%
- суммарное
количество записей, выбранных для обработки
%Z%
- количество записей,
обработанных успешно %W%
- количество
записей, обработанных с ошибкой
Чтобы создать маршрут, разработчик Synergy нажимает на кнопку «Добавить событие», выбирает один из доступных пунктов меню: система предоставляет новое окно для редактирования маршрута.
Чтобы отредактировать маршрут, разработчик Synergy нажимает в соответствующей таблице на кнопку редактирования. При этом откроется то же окно редактирования маршрута, но с заполненными данными.
Интерфейс редактора маршрутов имеет две части:
основная рабочая область;
панель редактирования этапа.
При отсутствии маршрута отображается пустая рабочая область, причем панель редактирования отображается свернутой, а сам редактор содержит только кнопки добавления этапов и сворачивания / разворачивания панели.
Для дальнейшего описания функционала редактора маршрутов необходимо выделить следующие понятия:
Этап - главный независимый элемент маршрута.
Параллельный этап - совокупность равнозначных элементов этапа.
Интерфейс редактора маршрутов
Основная рабочая область
Основная рабочая область редактора маршрутов отображается в виде трех панелей:
«Предварительные этапы» - содержит только стандартные процессы:
Работа;
Согласование;
Утверждение;
Ознакомление;
Отправка документа;
Регистрация;
Маршрут.
«Действия» - часть маршрута, которая может самостоятельно извлекать необходимые ему данные из формы (по заранее оговоренным идентификаторам) и изменять какие-либо объекты или процессы (в общем смысле) в системе - выполняется только в случае успешного завершения предварительных этапов (при наличии).
«Последующие этапы» - также содержит только стандартные процессы.
Этапы групп «Предварительные этапы» и «Последующие этапы» могут не содержать ответственных.
Каждая из панелей может быть отображена при запуске маршрута в основном приложении (Работа с реестрами). Данная возможность регулируется флагом «Отображать при сохранении» для каждой из панелей.
Этапы маршрута представлены в виде
плашек
. Размер плашки - динамический и
определяется наличием и количеством информации, отображаемой
на ней. По нажатию на плашку она становится активной и
подсвечивается синим цветом. При наведении курсора на плашку
либо выделении этапа, входящего в группу параллельных, а
также выделении данного этапа, будет отображаться пунктирная
линия, объединяющая все параллельные этапы.
Каждая плашка этапа содержит следующие элементы:
иконки перемещения в рамках текущего маршрута;
номер этапа;
тип действия;
ответственный;
длительность / дата завершения;
иконка удаления / иконка состояния;
название этапа;
форма завершения.
Если значения данных параметров такие, что не отображаются на одной строке полностью, то для этого параметра будет осуществлен перенос на следующую строку.
Иконка состояния этапа зависит от текущего состояния этапа:
редактирование доступно:
будущий этап - крестик (кнопка);
редактирование недоступно:
пройденный этап - галочка;
этап, завершившийся неуспешно - перечеркнутый круг;
этап, находящийся в прогрессе - песочные часы.
Если в качестве значения выпадающего списка «Форма завершения» выбран пункт «Нет», то данный параметр и область для него на плашке этапа не будут отображаться.
Если количество плашек такое, что не отображается в основной рабочей области полным списком, в ней содержится вертикальный скролл.
Панель редактирования
Панель редактирования может в одном из двух состояний: свернута (по умолчанию), либо развернута. Ее состояние регулируется кнопками «Свернуть» и «Развернуть». При выделении, либо создании этапа панель редактирования разворачивается автоматически.
Панель содержит следующие элементы:
кнопка «Добавить параллельный»;
поле «Номер»;
выпадающий список «Тип действия»;
набор настраиваемых полей процесса;
кнопка «Применить»;
кнопка «Отмена»;
кнопка сворачивания / разворачивания панели.
Если выбранный этап недоступен для редактирования, то значения всех полей отображаются в виде лейблов. При этом, если некоторые поля не были заполнены, они не отображаются вовсе. Также не отображаются кнопки «Применить» и «Отмена».
Если количество полей больше, чем высота панели редактирования, в ней содержится вертикальный скролл.
Действия над маршрутом
Добавление этапа маршрута
Алгоритм добавления этапа маршрута зависит от его типа: будь то одиночный, либо параллельный этап.
Добавление одиночного этапа
осуществимо
по нажатию на кнопку «Добавить» в верхней
панели основной области редактора маршрута. При этом в конец
этапа будет добавлена новая плашка, которая содержит:
номер;
иконки перемещения в рамках текущего маршрута;
иконка удаления;
длительность - «0 ч».
Тип добавленного этапа по умолчанию определяется
справочником send_items
.
Добавление параллельного этапа
осуществляется двумя способами:
По нажатию на кнопку «Добавить параллельный» из панели редактирования требуемого этапа. При этом плашка нового этапа будет аналогична той, которая создается для одиночного этапа.
При выборе нескольких ответственных за этап. В данном случае будет добавлено такое количество этапов, сколько выбрано ответственных. Информация на этих плашках будет аналогичной за исключением ответственного за этап.
Параллельные этапы одной вложенности имеют одинаковые номера этапов.
Набор параметров создаваемого этапа зависит от его типа действия. Параметры «Название» и «Код», а также опция «Прервать выполнение параллельных этапов после завершения одного из них» отображаются для каждого типа действия.
Опция «Прервать выполнение параллельных этапов после завершения одного из них» действует для всех подэтапов маршрута, которые параллельны друг другу. Если включить опцию в одном параллельном подэтапе, то она включается и в остальных параллельных этапах. При этом наблюдается следующее поведение:
при завершении (успешном либо неуспешном) любого входящего в этап параллельных подэтапов остальные подэтапы удаляются;
если завершенный подэтап завершился успешно, маршрут переходит к следующему этапу, в противном случае - останавливается;
удаление параллельного подэтапа не тождественно его завершению и не влечет за собой удаление параллельных ему подэтапов.
Если опция включена для одиночного (не содержащего параллельные) этапа, то она не оказывает никакого влияния.
Параметры, обязательные для заполнения (в зависимости от наличия):
«Название»;
«Ответственный»;
«Длительность» / «Дата завершения»;
«Нагрузка».
Значения параметров по умолчанию:
«Дата завершения» - дата, рассчитанная от текущего времени на сервере согласно значению соответствующей настройки «Время на выполнение работ по-умолчанию» в Конфигураторе (Документооборот -> Настройки Потоков Работ -> Доп. настройки потоков работ);
«Длительность» - значение настройки «Время на выполнение работ по-умолчанию» в Конфигураторе (Документооборот -> Настройки Потоков Работ -> Доп. настройки потоков работ);
«Нагрузка» - значение настройки «% рабочего времени» в Конфигураторе (Документооборот -> Настройки Потоков Работ -> Настройки нагрузок);
«Возврат» - «Нет»;
«Форма завершения» - «Нет».
Сохранение этапа происходит по нажатию на кнопку «Применить». В зависимости от заполнения параметров возможно выполнение альтернативных потоков событий.
Отмена введенных, но несохраненных изменений осуществима нажатием на кнопку «Отмена». В данном случае система отобразит модальное диалоговое окно с текстом сообщения:
Данное действие приведет к удалению несохраненных данных. Вы действительно хотите продолжить?
Данное поведение также воспроизводится при изменении фокуса в редакторе:
выделение другой плашки этапа;
добавление нового этапа;
нажатие на кнопку «Назад»;
выбор иного модуля / раздела (для виджетов, вписанных в экран);
сворачивание / закрытие вкладки (для виджетов, вписанных во вкладку);
закрытие окна (для виджетов, вписанных в окно).
В случае если значение ни одного поля не было изменено кнопка «Отмена» отображается неактивной. Изменения учитываются лишь в случае, если сохраняемое значение поля отличается от первоначального.
Изменение порядка следования этапов
Изменение порядка следования этапов осуществляется при помощи иконок «вверх» и «вниз». По нажатию на одну из иконок для одного из параллельных этапов будет перемещена вся группа этих этапов.
Активность кнопок выглядит следующим образом:
одиночный этап:
стрелка вверх на плашке первого этапа - неактивна;
стрелка вниз на плашке последнего этапа - неактивна;
при наличии лишь одной плашки обе стрелки неактивны.
группа параллельных этапов:
стрелка вверх активна только на первой плашке группы этапов;
стрелка вниз активна только на последней плашке группы этапов;
при наличии лишь одной группы параллельных этапов (без единичных этапов) обе стрелки неактивны.
Удаление этапов
Удаление этапа осуществляется нажатием на иконку удаления (крестик). В данном случае отобразится модальное диалоговое окно с текстом сообщения:
Вы действительно хотите удалить данный этап?
Типы действия этапов
Рассмотрим каждый тип действия этапа отдельно.
Блокирующий процесс предназначен для того, чтобы предоставить возможность в маршрут реестра вставить асинхронный вызов внешнего модуля. Основное отличие блокирующего процесса от события реестра (см. Событие реестра) заключается в том, что:
при использовании блокирующего процесса маршрут реестра дожидается ответа о результате выполнения операции внешним модулем;
блокирующий процесс может завершиться положительно (тогда маршрут реестра продолжит работу дальше) или отрицательно (тогда процесс остановится).
Название процесса должно начинаться с
event.blocking.
и далее строка,
характеризующая суть блокирующего процесса. Передаваемые
данные: идентификатор данных по форме записи реестра,
идентификатор блокирующего процесса и идентификатор
документа реестра.
Замечание
Более подробную информацию о данном процессе см. в Руководстве по интеграции.
В качестве входных данных из файла по форме принимается
параметр один или несколько id пользователей Synergy и/или
адресатов электронной почты (в формате
Произвольный Текст Например ФИО <email@domain.com>
).
Далее процесс отправляет адресатам документ реестра:
В случае, если адресат - пользователь Synergy, то для отправки используется действие, входными данными которого являются пользователь Synergy - адресат и отправляемый документ Synergy. Результатом этого действия является появление соответствующего документа у адресата в разделе «Полученные» модуля «Документы». Никаких ограничений по адресатам на эту операцию не накладывается.
В случае, если адресат - произвольный электронный адрес, то документ реестра преобразуется в электронное письмо по алгоритму из подраздела «Сопоставление полей с другими реестрами» и отправляется по электронной почте. При этом:
если у формы реестра печатное представление отсутствует, то основной файл по форме приходит на почту адресата в формате HTML в теле письма. Если в папках «Приложения» или «Прочие» записи реестра есть дополнительные файлы, то они добавляются во вложение письма;
если у формы реестра настроено печатное представление, то адресат получит печатное представление основного файла по форме в виде файла во вложении с названием Document и соответствующим настроенным форматом. При этом в теле письма отсутствует HTML версия основного файла по форме. Если в папках «Приложения» или «Прочие» записи реестра есть дополнительные файлы, то они также добавляются во вложение письма;
если для печатного представления формы указаны несколько форматов печати, то адресат получит представление во всех настроенных форматах;
Например
Для формы реестра настроены форматы печати PDF, ODT, DOC. Во вложении письма будут присутствовать файлы: Document.pdf, Document.odt, Document.doc.
если печатное представление формы реестра настроено неверно, и при печати основного файла по форме выходят ошибки, то данный файл приходит на почту адресата в формате HTML в теле письма.
Если в папках «Приложения» или «Прочие» записи реестра помимо основного файла по форме присутствует другие файлы по форме, то они вне зависимости от настроенного печатного представления приходят на почту адресата в виде файла вложения с форматом .asfdocx.
Процесс альтернативный. Характеризуется названием - текстовое поле, которое содержит то, что будет отображаться в ходе выполнения процесса (аналогично названию работы), и непосредственно настройками процесса:
Пользователь (обяз.)
Новая должность пользователя (обяз.)
По нажатию на кнопку «Принять» возможно исполнение альтернативного потока событий 1.
Если данным процессом затрагивается должность заместителя, на которую уже назначен пользователь, то этап должен завершаться неуспешно с добавлением следующего комментария в ход выполнения соответствующего документа:
Нельзя добавлять нескольких пользователей на одну должность заместителя
Процесс альтернативный. Характеризуется названием - текстовое поле, которое содержит то, что будет отображаться в ходе выполнения процесса (аналогично названию работы), и непосредственно настройками процесса:
Пользователь (обяз.)
Должность, с которой нужно перевести пользователя (обяз.)
Должность, на которую нужно перевести пользователя (обяз.)
По нажатию на кнопку «Принять» возможно исполнение альтернативного потока событий 1.
Процесс альтернативный. Характеризуется названием - текстовое поле, которое содержит то, что будет отображаться в ходе выполнения процесса (аналогично названию работы), и непосредственно настройками процесса:
Пользователь (обяз.)
Должность, с которой необходимо уволить пользователя (обяз.)
По нажатию на кнопку «Принять» возможно исполнение альтернативного потока событий 1.
Если данным процессом затрагивается пользователь с должностью заместителя, то в результате выполнения действия (увольнения) эта должность перестанет отображаться во всех соответствующих местах системы:
в орг.структуре (также в подсистеме администрирования);
в диалоге выбора должности.
Характеризуется выбором папки личного дела (кнопка «…»), куда необходимо скопировать, и непосредственно настройками процесса:
Пользователь (обяз.)
По нажатию на кнопку «Принять» возможно исполнение альтернативного потока событий 1.
Характеризуется выбором статуса из выпадающего списка, и непосредственно настройками процесса:
Пользователь (обяз.)
Дата начала периода (обяз.)
Дата завершения периода (обяз.)
Замечание
Для работоспособности данного процесса в системе должен существовать специальный справочник назначения календаря (Специальные справочники).
По нажатию на кнопку «Принять» возможно исполнение альтернативного потока событий 1.
Задача процесса - генерирование события. Возможны следующие варианты:
event.registers.formdata.add
-
добавление нового файла по форме, связанного с
реестром;
event.registers.formdata.change
-
изменение какого-либо файла по форме, связанного с
реестром;
event.registers.formdata.delete
-
удаление файла по форме, связанного с реестром.
Для всех событий типа event.registers.*
передаваемые данные: идентификатор файла по форме,
текстовая метка - параметр процесса и таймстамп времени
генерации события.
Характеризуется названием - текстовое поле, которое содержит то, что будет отображаться в ходе исполнения процесса (аналогично названию работы), и непосредственно SQL-запросом .
SQL-запрос может содержать подстановки вида ${formcomponentid}, которые должны быть заменены на значения компонентов формы реестра с соответствующими идентификаторами.
По нажатию на кнопку «Принять» возможно исполнение альтернативного потока событий 1.
SQL-запрос должен возвращать одну запись вида:
Alias | Тип | Возможное значение |
---|---|---|
retval | Целочисленный | 1 - процесс завершается успешно; 0 - процесс завершается неудачно. Остальные целочисленные значения зарезервированы для будущих применений |
сomment | Строковый | Может быть NULL. Если не NULL, это значение добавляется как комментарий процесса в «Ход выполнения» соответствующего документа |
Если запрос составлен некорректно, либо не отработали подстановки, процесс считается завершенным неуспешно, а в ход выполнения документа выводится строка «Ошибка при выполнении запроса».
Характеризуется названием - текстовое поле, которое содержит то, что будет отображаться в ходе выполнения процесса (аналогично названию работы), и тремя вкладками настроек:
Основные параметры;
Дополнительные параметры;
Дополнительные поля.
Основные параметры
Список основных параметров:
Номер этапа (лейбл)
Тип действия (не имеет пустого значения)
Название (обяз.)
Тип работы (не имеет пустого значения)
Возврат (не имеет пустого значения)
Ответственный (обяз.)
Дата начала (обяз. для выбранных переключателей «Из компонента» и «Указать»)
Длительность / Дата завершения (обяз.)
Код
Прервать выполнение параллельных этапов после завершения одного из них (флажок, по умолчанию выключен)
Параметр «Название» состоит из двух компонентов - переключателя и поля. Переключатель имеет значения:
«Из компонента» - при выборе данного пункта название работы по форме будет заполняться из указанного поля компонента формы;
«Указать» - назание работы указывается как обычно, в многострочном поле ввода.
Выпадающий список «Тип работы» содержит следующие пункты:
Работа (по умолчанию)
Согласование
Ознакомление
Утверждение
Выпадающий список «Возврат» отображается только при выборе типа работы «Согласование» или «Утверждение» и повторяет собой функцию «Возврата» для этапов «Согласование» и «Утверждение», то есть в случае неуспешного завершения данного этапа запускается этап, указанный в поле «Возврат».
Примечание.
Если компонент выбора ответственного в форме представляет собой динамическую таблицу с возможностью добавления нескольких ответственных, то исполнение процесса повторяет собой исполнение процесса при добавлении этапа «Согласование» («Утверждение») с несколькими согласующими (утверждающими).
Поле «Ответственный» представляет собой текстовое поле ввода id компонента формы «Объекты Synergy» - «Пользователи».
Поле «Дата начала» и переключатель из трех значений:
«Из компонента» - текстовое поле ввода id компонента формы «Дата/время»;
«Указать» - компонент для ввода даты вручную (календарь), пользователю сразу недоступны для ввода все символы клавиатуры, кроме цифр и точки (возможно исполнение альтернативного потока событий 2);
«Взять из даты запуска работы» (по умолчанию).
Поле «Длительность / Дата завершения» и переключатель из двух значений:
«Из компонента» - текстовое поле ввода id любого текстового компонента формы, содержащего значение длительности;
«Длительность (ч)» - числовое поле, введенное значение учитывается в часах (по умолчанию);
«Длительность (дн)» - числовое поле, введенное значение учитывается в днях;
«Дата завершения» - компонент для ввода даты вручную (календарь), пользователю сразу недоступны для ввода все символы клавиатуры, кроме цифр и точки (возможно исполнение альтернативного потока событий 2).
Дополнительные параметры
Список основных параметров:
Повторение (обяз. для включенного флажка и выбранного переключателя «Из компонента»)
Форма завершения (обяз. для включенного флажка и выбранного переключателя «Из компонента»)
Флажок «Повторение» (по умолчанию выключен) и переключатель из двух значений, которые доступны только для включенного флажка:
«Из компонента» - текстовое поле ввода id компонента формы «Период повторения» (по умолчанию);
«Указать» - компонент «Повторить», аналогичный таковому в модуле потоков работ при создании работы (Создание работы, поле «Повторять»).
Флажок «Форма завершения» (по умолчанию выключен) и переключатель из двух значений, которые доступны только для включенного флажка:
«Из компонента» - текстовое поле ввода id
компонента формы «Выпадающий список»,
значения элементов которого являются выбранными
значениями из справочника
work_completion
(по умолчанию);
«Указать» - компонент «Форма завершения», аналогичный таковому в модуле потоков работ при создании работы (Создание работы, поле «Форма завершения»).
Дополнительные поля
Вкладка «Дополнительные поля» содержит таблицу с двумя столбцами «Ключ» и «Значение», а также кнопку «Добавить» для добавления в таблицу новой строки.
Каждая строка таблицы должна являться парой: текстовое описание дополнительного поля (столбец «Ключ») + значение дополнительного поля (столбец «Значение»). В качестве значения, например, может быть указан идентификатор компонента на форме реестра, а в качестве ключа - произвольная подпись. По умолчанию таблица не содержит ни одной строки.
По нажатию на иконку корзины отобразится сообщение-предупреждение:
Вы действительно хотите удалить ключ %название_ключа%?
По нажатию на кнопку «Применить» возможно исполнение альтернативных потоков событий 1-4.
Характеризуется названием - текстовое поле, которое содержит то, что будет отображаться в ходе выполнения процесса (аналогично названию работы).
Задача процесса - ввести соответствующее значение в показатели, определенные для формы, файл по которой участвует в маршруте реестра. Для каждого показателя, определенного для формы, запускается отдельный экземпляр этого процесса. В результате выполнения процесса в ходе выполнения соответствующего документа должны появиться записи о процессах со следующими комментариями:
в случае успешного ввода значения в показатель:
В показатель %код_показателя% введено значение %введенное_значение%
в случае ошибки, связанной с получением некорректного кода показателя для ввода:
Получен некорректный код показателя %код_показателя% - %причина_ошибки%
в случае ошибки, связанной с получением некорректного значения для ввода:
Получено некорректное значение значение для ввода в показатель %код_показателя% - %причина ошибки%
в случае возникновения других ошибок при попытке ввода показателя:
Ошибка ввода показателя %код_показателя%, значение для ввода - %значение%
Характеризуется названием - текстовое поле, которое содержит то, что будет отображаться в ходе выполнения процесса (аналогично названию работы), и непосредственно настройками таймера:
Шаблон маршрута (обяз.)
Дата запуска (обяз.)
Время запуска (обяз.)
Не дублировать и не запускать просроченные таймеры
Поле «Шаблон маршрута». Выбор происходит по нажатию на кнопку «…». При этом открывается диалоговое окно со списком всех активных шаблонов маршрутов.
Поле «Дата запуска». Вводится id компонента формы «Дата/время». Дополнительно, для включенного флажка «Относительно» настраивается относительная дата с помощью выпадающего списка, содержащего значения «За» (по умолчанию) и «Через», а также поле для обязательного ввода количества дней.
Поле «Время запуска» и переключатель из двух значений:
«Из компонента» - текстовое поле ввода id компонента формы «Дата/время»;
«Указать» - поле для ввода длительности вручную (по умолчанию, значение 00:00), пользователю сразу недоступны для ввода все символы клавиатуры, кроме цифр (возможно исполнение альтернативного потока событий 2).
Флажок «Не дублировать и не запускать просроченные таймеры» по умолчанию выключен. Для включенного флажка запуск таймеров осуществляется по следующему алгоритму:
на каждую новую строку в динамическую таблицу, из которой берутся значения даты/времени для таймера, запускается один новый таймер;
на каждое изменение строки в динамической таблице, из которой ранее был запущен таймер (но не маршрут по таймеру), аннулируется соответствующий таймер с автокомментарием:
Автоматически удалено в связи с запуском нового таймера
и запускается новый;
на каждое изменение строки в динамической таблице, из которой ранее был запущен таймер и маршрут по таймеру, запускается новый таймер (предыдущий таймер и маршрут по нему не аннулируется);
на каждое удаление строки в динамической таблице, из которой ранее был запущен таймер (но не маршрут по таймеру), аннулируется соответствующий таймер с автокомментарием:
Автоматически удалено
на каждое удаление строки в динамической таблице, из которой ранее был запущен таймер и маршрут по таймеру, соответствующий таймер и маршрута по таймеру не аннулируется и не запускается;
общее для всех пунктов выше: если новый запускаемый таймер является просроченным, он не будет запускаться.
Если на этапе с процессом «Таймер» отсутствуют таймеры для запуска (например, все таймеры просроченные при включенном флажке), этап будет завершаться успешно с автокомментарием:
Отсутствуют таймеры для запуска
По нажатию на кнопку «Применить» возможно исполнение альтернативных потоков событий 1, 2.
Маршрут, который будет запущен таймером, получается из выбранного в настройках таймера шаблона маршрута по его состоянию на момент запуска таймера. Он запускается по документу того реестра, в котором находится соответствующий процесс действия. Запуск маршрута осуществляется либо в указанную в компоненте соответствующего реестра дату, либо относительно рассчитанную от этой даты. Время запуска также берется либо из компонента, либо указывается вручную.
Для маршрута, чей таймер уже запущен, имеется возможность его аннулировать. Для такого маршрута редактор маршрута будет содержать кнопку «Аннулирвоать таймер». По нажатию на нее отобразится диалоговое окно для ввода комментария. После аннулирования таймера он будет удален, а также добавится соответствущая запись в «Ход исполнения».
Настроенный таймер, а также маршрут, запущенный в момент срабатывания таймера, отображаются в ходе выполнения документа, причем маршрут отображается в отдельной ветке.
Названия этапов в ходе выполнения документа следующие:
для аннулированного таймера:
Таймер "%название_таймера%" на "%исходная_дата_запуска_маршрута_по_таймеру%" был аннулирован пользователем %Фамилия И.О.%
при успешном запуске маршрута по таймеру:
Запущен маршрут "%название_шаблона_маршрута%" по таймеру "%название_таймера%" на "%исходная_дата_запуска_маршрута_по_таймеру%"
при неуспешном запуске маршрута по таймеру (без изменений):
Ошибка запуска маршрута "%название_шаблона_маршрута%" по таймеру "%название_таймера%": %причина_ошибки%
Характеризуется названием - текстовое поле, которое содержит то, что будет отображаться в ходе выполнения процесса (аналогично названию работы), и непосредственно настройками процесса:
Шаблон маршрута (обяз.)
Запускать от имени (обяз. для выбранных переключателей «Из компонента» и «Указать»)
Поле «Шаблон маршрута». Выбор происходит по нажатию на кнопку «…». При этом открывается диалоговое окно со списком всех активных шаблонов маршрутов.
Поле «Запускать от имени» и переключатель из трех значений:
«Не изменять» - запустить маршрут по шаблону от имени того же пользователя, который запустил родительский процесс (по умолчанию);
«Из компонента» - текстовое поле ввода id компонента формы «Объекты Synergy» - «Пользователи»;
«Указать» - выбрать пользователя вручную (стандартный компонент выбор пользователя без множественного выбора и выбора из групп).
По нажатию на кнопку «Принять» возможно исполнение альтернативного потока событий 1.
Данный процесс запустит указанный шаблон маршрута, после выполнения которого управление должно быть передано следующему за «Запуском маршрута по шаблону». В ходе выполнения этот подмаршрут отображается на том же уровне иерархии, где должна быть запись о процессе «Запуск маршрута по шаблону».
Характеризуется названием - текстовое поле, которое содержит то, что будет отображаться в ходе выполнения процесса (аналогично названию работы), и двумя вкладками настроек:
Основные параметры;
Переходы.
Основные параметры
Список основных параметров:
Номер этапа (лейбл)
Тип действия (не имеет пустого значения)
Название (обяз.)
Возврат (не имеет пустого значения)
Ответственный (обяз.)
Код
Источник данных (не имеет пустого значения)
Прервать выполнение параллельных этапов после завершения одного из них (флажок, по умолчанию выключен)
Параметр «Источник данных» представлен в виде переключателя. Настройки источников данных определяют, из какого файла по форме в документе будут взяты данные для процесса (радиокнопки):
Форма реестра (по умолчанию) - данные получаются из файла по форме реестра.
Произвольная форма (обяз.) - при выборе этого пункта активируется выбор формы из имеющихся (с помощью диалога «Формы») и флажок «Только собственные». Данные будут взяты из файла по указанной в данной н астройке форме. Если выбранная форма совпадает с формой реестра, то файл, созданный по реестру, не обрабатывается. Если же файлов по произвольной форме несколько, то процесс должен выполняться один раз и только для той произвольной формы, которая была создана позже всех.
Флажок «Только собственные» означает, что будут обработаны только те файлы, которые были созданы от имени того пользователя, который запустил маршрут.
Переходы
Параметры этого процесса представляют собой набор условных переходов, которые исполняются по порядку (порядок можно изменять). Кроме этого, имеется возможность добавить «Переход по умолчанию», который не содержит условий и всегда выполняется последним.
Вкладка «Переходы» содержит следующие элементы:
кнопка «Редактировать»
список настроенных переходов и переход по умолчанию в виде их условий и результатов
По нажатию на кнопку «Редактировать» откроется диалоговое окно «Редактирование переходов».
Каждое условие представляет собой набор сравнений, которые можно соединять между собой логическими операторами «И» либо «ИЛИ». Новое сравнение в переход можно добавить, выбрав в списке значение «И» либо «ИЛИ», при этом появляется новая строка сравнения, связанная с предыдущим сравнением через, соответственно, «И» либо «ИЛИ». Удалить сравнение (кроме первого в переходе) можно, нажав на соответствующую иконку «крестика».
Каждое сравнение представляет собой тройку «левый операнд», «оператор сравнения», «правый операнд». Левым операндом может являться id компонента формы реестра, значение которого будет использоваться для сравнения, правый операнд - «Значение» - значение, с которым сравнивают левый операнд. Возможные операторы сравнения:
«=», «<», «>», «<=», «>=», «<>» - для численных значений;
«совпадает», «не совпадает», «начинается с», «не начинается с», «заканчивается на», «не заканчивается на», «содержит», «не содержит» - для строковых значений.
Примечание
Для множественного сравнения вместо оператора «=» необходимо использовать оператор «совпадает».
Переход по умолчанию содержит выпадающий список с возможными значениями:
«Запустить маршрут по шаблону» с обязательным выбором шаблона маршрута (кнопка «…») и указанием следующих параметров:
Поле «Запускать от имени» и переключатель из трех значений:
«Не изменять» - запустить маршрут по шаблону от имени того же пользователя, который запустил родительский процесс (по умолчанию);
«Из компонента» - текстовое поле ввода id компонента формы «Объекты Synergy» -> «Пользователи»;
«Указать» - выбрать пользователя вручную (стандартный компонент выбор пользователя без множественного выбора и выбора из групп).
Поле «После выполнения» и переключатель из двух значений:
«Продолжить маршрут» - выполняется следующий за процессом «Условный переход» этап маршрута (по умолчанию);
«Перейти к этапу» - текстовое поле ввода номера этапа либо его код, переход к которому должен быть осуществлен после выполнения (под)маршрута по шаблону.
«Перейти к этапу» с указанием номера этапа основного маршрута, к которому нужно перейти.
Результатом вычисления условия может быть «истина» или «ложь». В случае истинного результата обработка следующих переходов прекращается и либо запускается маршрут по шаблону, либо указывается номер этапа основного маршрута, к которому нужно перейти. Переход по умолчанию (если он имеется) всегда выполняется последним.
По нажатию на кнопку «Сохранить» возможно исполнение альтернативного потока событий 1.
Копирование в карточку передает данные из файла по форме реестра в карточку пользователя, подразделения или должности. Характеризуется настройками процесса:
Тип карточки (не имеет пустого значения)
Идентификатор объекта (обяз.)
Сопоставление (не обяз.)
Выпадающий список «Тип карточки» с возможными значениями «Пользователь» (по умолчанию), «Должность» либо «Подразделение».
Поле ввода «Идентификатор объекта» - идентификатор компонента файла по форме реестра, который указывает на объект выбранного типа карточки (пользователя, должности либо подразделения). Допускается использование компонента, находящегося внутри динамической таблицы (в формате dyntable-name.component-name), при этом сопоставление должно быть произведено для всех строк динамической таблицы, где присутствует компонент с таким идентификатором.
Кроме того, настраивается сопоставление полей по алгоритму из подраздела «Сопоставление полей с другими реестрами» (Реестры), при этом в списке для сопоставления доступны формы выбранного типа карточки (из раделов Карточки пользователей, Карточки должностей и Карточки подразделений соответственно).
В случае, когда уже добавлены сопоставления и изменяется тип карточки, система информирует:
Внимание! Все созданные сопоставления буду удалены!
По нажатию на кнопку «Применить» возможно исполнение альтернативного потока событий 1. В случае успешного сохранения диалог закрывается.
Замечание
Процесс является неальтернативным (не может прерывать маршрут) и в ходе выполнения не отображается.
Но при попытке сопоставить данные в карточку пользователя, которая скрыта либо не существует, так как пользователь не входит ни в одну группу карточки, этап завершается неуспешно, и сам маршрут продолжается, и в ходе выполнения появляется запись с комментарием:
Для выбранного пользователя не задана карточка
Характеризуется настройками процесса, представленными двумя вкладками:
Основные параметры;
Дополнительные параметры.
Основные параметры представлены следующим списком:
Номер
Тип действия
Название
Код
Прервать выполнение параллельных этапов после завершения одного из них
Дополнительные параметры
Список параметров:
Исходный пользователь (обяз.)
Переназначить работы, в которых исходный пользователь является (обяз. для выбранных переключателей «На пользователя»)
Переслать документы пользователю (обяз. для включенного флажка)
Поле «Исходный пользователь» - текстовое поле ввода id компонента формы «Объекты Synergy» -> «Пользователи» (в т.ч. находящегося в динамической таблице).
Поле «Переназначить работы, в которых исходный пользователь является исполнителем» и переключатель из значений:
«На пользователя» (включен по умолчанию) - текстовое поле ввода id компонента формы «Объекты Synergy» -> «Пользователи» (пользователя, принимающего работы)
«Оставить эти работы без изменений»
«На руководителя»
«На автора»
Поле «Переназначить работы, в которых исходный пользователь является автором» и переключатель из значений:
«На пользователя» (включен по умолчанию) - текстовое поле ввода id компонента формы «Объекты Synergy» -> «Пользователи» (пользователя, принимающего работы)
«Оставить эти работы без изменений»
«На исполнителя»
«На руководителя»
«Удалить эти работы»
«Завершить эти работы»
Поле «Переназначить работы, в которых исходный пользователь является автором и исполнителем» и переключатель из значений:
«На пользователя» (включен по умолчанию) - текстовое поле ввода id компонента формы «Объекты Synergy» -> «Пользователи» (пользователя, принимающего работы)
«Оставить эти работы без изменений»
«На руководителя»
«Удалить эти работы»
«Завершить эти работы»
Примечание
«Переназначить работу» с пользователя 1 на пользователя 2 означает:
Если пользователь 1 был исполнителем работы, то этой работе необходимо сменить исполнителя на пользователя 2.
Замечание: механизм смены исполнителя при этом аналогичен таковому в функциональности «Передача работ».
Если пользователь 1 был автором работы, то этой работе необходимо сменить автора на пользователя 2.
«Оставить эти работы без изменений» означает, что все работы исходного пользователя останутся без изменений.
«Удалить эти работы» означает, что все работы исходного пользователя удалятся.
«Завершить эти работы» означает, что все работы исходного пользователя завершатся.
Переназначение работ «На руководителя» не применим в рамках данного процесса для руководителя корневого подразделения, т.к. у последнего отсутствует какой-либо руководитель.
Процесс переназначения работ может завершиться успешно с комментарием в ходе выполнения «Действие выполнено», может неуспешно:
в случае, если у исходного пользователя на момент запуска данного процесса присутствуют работы-согласования / утверждения / ознакомления, в которых он является автором, то при переназначении работ «Завершить эти работы» необходимо завершать процесс неуспешно (ни одна работа не должна завершиться) с комментарием в ходе выполнения:
Невозможно завершить работы (согласования, ознакомления, утверждения), автором которых является данный пользователь
в случае, если у исходного пользователя на момент запуска данного процесса отсутствует вышестоящий руководитель, то при переназначении работ «На руководителя» необходимо завершать процесс неуспешно с комментарием в ходе выполнения:
Невозможно переназначить работы данного пользователя - непосредственный руководитель не найден
в случае, если исходный пользователь на момент запуска данного процесса не имеет должности, то при переназначении работ «На руководителя» необходимо завершать процесс неуспешно с комментарием в ходе выполнения:
Невозможно переназначить руководителю работы пользователя без должности
во всех остальных неуспешных случаях - необходимо завершать процесс неуспешно с комментарием в ходе выполнения:
Ошибка исполнения
Флажок «Переслать документы пользователю» (по умолчанию выключен) и поле ввода id компонента формы реестра типа «Объекты Synergy» - «Пользователи» - пользователя, которому будут пересланы документы исходного пользователя (в т.ч. находящегося в динамической таблице). Пересылка происходит с использованием функциональности «Переслать» для всех документов исходного пользователя из раздела «Мои» указанному пользователю.
По нажатию на кнопку «Применить» возможно исполнение альтернативного потока событий 1. В случае успешного сохранения диалог закрывается.
Характеризуется названием - текстовое поле, которое содержит то, что будет отображаться в ходе выполнения процесса (аналогично названию работы), и непосредственно настройкой процесса:
Идентификатор компонента «Ссылка на реестр» (обяз.)
Данный процесс будет производить сопоставление настроенных полей исходного реестра и реестра-приемника следующем образом. Разработчик Synergy при редактировании исходного реестра добавляет сопоставление для реестра-приемника (должно быть хотя бы одно сопоставление, которое настроено именно для реестра-приемника), при этом настраиваемые параметры имеют следующий смысл:
«Поле исходного реестра» - выбирается идентификатор компонента, из которого будет браться значение при сопоставлении;
«Поле реестра-приемника» - выбирается идентификатор компонента, в который процессом будет записываться сопоставляемое значение согласно «Способу сопоставления»;
«Способ сопоставления» - выбирается один из необходимых вариантов;
«Параметр сопоставления» - вводится параметр, либо настраивается в диалоге для типа согласования HTD.
В форме исходного реестра должен присутствовать компонент «Ссылка на реестр», для того, чтобы определить в какую именно запись процесс должен произвести сопоставление. При этом в компоненте необходимо выбрать реестр-приемник.
Допускается использование компонента, находящегося внутри динамической таблицы. Сопоставление для такого компонента производится для всех строк динамической таблицы (т.е. значения сопоставляются во все записи, выбранные в компоненты).
В случае успешного выполнения процесса:
В «Ходе выполнения» документа исходного реестра отобразится успешно пройденный этап «Сопоставлено» со стандартно заполненными полями.
В карточке документа реестра-приемника, для которого было произведено сопоставление, в разделе «Изменения в документе» добавится пункт об изменении документа:
№ п/п | Пользователь | Дата | IP адрес | Описание | Комментарий |
---|---|---|---|---|---|
номер- записи |
пользователь- запустивший- маршрут |
дата-время- запуска- |
ip-адрес-с- которого- запущен- маршрут |
пользователь-запустивший- маршрут изменил в папке «название-папки» файл «название-файла» |
Произведено сопоставление полей |
Этап считается пройденным неуспешно в случае, если пользователь не выбрал запись, для которой должно происходить сопоставление. В ходе выполнения документа исходного реестра данный этап завершится с комментарием: «Не выбрана запись реестра». Запись об изменении документа не добавится.
Если реестр, выбранный в компоненте «Ссылка на реестр» формы исходного реестра, не совпадает с тем, для которого настроено сопоставление этого исходного реестра, то данный процесс также завершится неуспешно. При этом отобразится ошибка с текстом:
Ошибка в конфигурации. Обратитесь к разработчику Synergy
По нажатию на кнопку «Принять» возможно исполнение альтернативного потока событий 1, 5.
Для сохранения введенных данных этапа разработчик Synergy нажимает «Применить», а для сохранения всего маршрута реестра - «Сохранить». При этом возможно исполнение альтернативных потоков событий 6, 7. Для возврата в предыдущее окно разработчик Synergy нажимает на кнопку «Назад», возможно исполнение альтернативного потока событий 8.
Альтернативные потоки событий.
Альтернативный поток 1. Не заполнены обязательные поля.
Система информирует, что поле не может быть пустым, поле подсвечивается красным, сохранить изменения не получится до исправления.
Альтернативный поток 2. Неправильный формат даты (несуществующая дата) и/или времени (отрицательное время / несуществующее время / символы вместо цифр).
Поле сразу подсвечивается красным, сохранить изменения не получится до исправления.
Альтернативный поток 3. Таблица дополнительных полей работы по форме содержит пустые значения либо одни пробелы.
Ячейки подсвечиваются красным, система отображает сообщение с текстом:
Таблица содержит пустые значения
Альтернативный поток 4. Таблица дополнительных полей работы по форме содержит 2 одинаковых ключа.
Ячейки с совпадающими ключами подсвечиваются красным, система отображает сообщение с текстом:
Нельзя использовать одинаковые названия ключей
Альтернативный поток 5. Указанный идентификатор не является идентификатором компонента «Ссылка на реестр» формы исходного реестра.
Поле подсвечивается красным, система отображает сообщение с текстом:
Введен некорректный идентификатор компонента
Альтернативный поток 6. В маршрутах не введены обязательные поля (название этапа / ответственный).
Система информирует, что поле не может быть пустым, поле подсвечивается красным, окно не закрывается.
Альтернативный поток 7. Для хотя бы одного этапа маршрута в группе этапов не указан ответственный, но при этом выключен флаг «Отображать при сохранении».
Изменения не сохраняются, система отображает ошибку с текстом:
Включите отображение этапов с пустыми ответственными либо укажите их
Альтернативный поток 8. Разработчик Synergy нажимает на кнопку «Назад», не сохранив внесенные изменения.
Система отобразит модальное диалоговое окно с текстом сообщения:
Данное действие приведет к удалению несохраненных данных. Вы действительно хотите продолжить?
Альтернативный поток 8. Разработчик Synergy нажимает на кнопку «Применить» в окне редактирования маршрута:
с указанным идентификатором, которого не существует в форме исходного реестра;
с указанным идентификатором, который не является идентификатором компонента «Ссылка на реестр»;
и система выводит ошибку
Введен некорректный идентификатор компонента
,
подсвечивает поле красным (отменяет подсвечивание при
редактировании поля).