Структура продукта
==================================

Как все устроено  
------------------------------------


Система Synergy Workflow реализована на базе платформы ARTA SYNERGY, путем создания конфигурации, допускающей гибкую настройку объектов: форм, маршрутов, статусов и пр...

В системе Synergy Workflow реализованы следующие глобальные процессы и их подпроцессы:

* Контроль поручений
   * Управление поручениями (работами)
   * Управление протоколами совещаний
* Документооборот
   * Входящая корреспонденция (1 журнал регистрации)
   * Исходящая корреспонеденция (1 журнал регистрации)
   * Резолюции и контроль исполнения документов
   * Архив (5 номенклатурных дел)
   * Внутрення переписка (1 журнал регистрации, 1 форма и реестр служебных записок)
* Кадровое делопроизводство
   * Прием (2 формы и 2 реестра служебных записок, 1 форма и реестр приказов на прием, 1 форма и реестр трудовых договоров)
   * Перевод (1 форма и реестр служебных записок на перевод, 1 форма и реестр приказов на перевод)
   * Увольнения (1 форма и реестр заявлений на увольнение, 1 форма и реестр приказов на увольнение)
   * Отпуска (5 форм и реестров заявлений на отпуск, 5 форм и реестров приказов на отпуск)
   * Командирования (1 форма и реестр служебных записок на командирование, 1 форма и реестр приказов на командирование)
   * Штатное расписания, расстановка, кадровый резерв
   * Формирование и консолидация табеля учета рабочего времени для структурного подразделения, для одного сотрудника или для произвольной группы сотрудников
   * Ведение личных дел/личных карточек по сотрудникам
   
В конфигураторе приложение ``workflow`` состоит из следующих папок:

* ``contracts`` - Договора и контрагенты
   * ``сontract_dicts``  - справочники, используемые в формах договоров и контрагентов
   * Форма, реестр договоров
   * Форма, реестр Мои докумнеты (для отображения фильтров в модуле Договоры)
   * Форма, реестр контрагентов
* ``docflow`` - объекты Документооборота
   * ``сounters`` - счетчики
   * ``document_registers`` - журналы
   * ``document_types`` - типы документов
   * ``number_templates`` - шаблоны номеров
* ``groups`` - Группы пользователей
* ``hr_processes``
    * ``buisness_trip`` - справочники, формы, реестры процесса "Командирование"
    * ``firing`` - справочники, формы, реестры процесса "Увольнение"
    * ``hiring`` - справочники, формы, реестры процесса "Прием"
    * ``internal_notes`` - справочники, формы, реестры процесса "Внутренняя служебная записка"
    * ``leaves`` - "Отпуска"
        * ``leave`` - справочники, формы, реестры процесса "Очередной трудовой отпуск"
        * ``social_leave`` - справочники, формы, реестры процесса "Учебный отпуск", "ОБР", "ОУР"
        * ``unpaid_leave`` - справочники, формы, реестры процесса "Неоплачиваемый отпуск"
    * ``transfer`` - справочники, формы, реестры процесса "Перевод"
    


Список блокирующих процессов
------------------------------------


event.blocking.interpreter.counterparty.create
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс для приложения Договоры. Выполняет следующие действия:

- Создание пользователя Synergy из данных записи реестра "Контрагенты" (+проверки)
- Назначение этого пользователя на должность ``counterparties``
- Добавление пользователя в группу доступа ``workflow_group_counterparties``
- Отправка письма с логином-паролем и ссылкой на приложение Договоры на почту


event.blocking.interpreter.counterparty.notification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс для приложения Договоры. Формирует и отправляет уведомление о новом документе для подписания.


event.blocking.interpreter.counterparty.app
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс для приложения Договоры. Создает запись в реестре "Мои документы" - агрегирующий реестр для отображения документов для подписания (могут быть из разных реестров) в личном кабинете контрагента).



event.blocking.interpreter.counterparty.app.work
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс для приложения Договоры. Создает запись в реестре "Мои документы" - агрегирующий реестр для отображения документов, отправленных в работу/редактирование (могут быть из разных реестров) в личном кабинете контрагента).


event.blocking.interpreter.counterparty.app.after_work
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс для приложения Договоры. Записывает изменения в реестре "Мои документы" - агрегирующий реестр для отображения документов, отправленных в работу/редактирование (могут быть из разных реестров) в личном кабинете контрагента).



event.blocking.interpreter.counterparty.app.acquaintance
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс для приложения Договоры. Создает запись в реестре "Мои документы" - агрегирующий реестр для отображения документов, отправленных на ознакомление (могут быть из разных реестров) в личном кабинете контрагента).


event.blocking.interpreter.timesheet.init
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс инициации табеля. Учитывается период - месяц/полмесяца, табель на одного сотрудника или на подразделение, и добавлять ли руководителя (отдельная должность).

event.blocking.interpreter.timesheet.fill_table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс заполнения табеля. Учитываются ставки должности и приказы по сотруднику за выбранный период.


event.blocking.interpreter.copy.trip.to.usercard
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс копирования данных командировки в карточку пользователя.


event.blocking.interpreter.create_user
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс создания пользователя и заполнения карточки пользователя при приёме на работу.

event.blocking.interpreter.savePrintForm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс сохранения (прикрепления) файла печатной формы к форме. 


event.blocking.interpreter.copy_back_vacation_to_usercard
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс копирования данных по отзыву из отпуска в карточку отпусков пользователя.


event.blocking.interpreter.copy_child_vacation_to_usercard
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

event.blocking.interpreter.copy_pregnancy_vacation_to_usercard
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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


event.blocking.interpreter.copy_study_vacation_to_usercard
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс копирования данных учебного отпуска в карточку отпусков пользователя.

event.blocking.interpreter.copy_unpaid_vacation_to_usercard
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Блокирующий процесс копирования данных об отпуске без содержания в карточку отпусков пользователя.


event.blocking.interpreter.copy_vacation_to_usercard
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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