Структура продукта ================================== .. contents:: Содержание :depth: 3 Как все устроено ------------------------------------ Система Synergy Service реализована на базе платформы ARTA SYNERGY, путем создания конфигурации, допускающей гибкую настройку объектов: форм, маршрутов, статусов и пр... В системе Synergy Service реализованы следующие глобальные процессы и их подпроцессы: * Портал самообслуживания * Диспетчеризация заявок * Исполнение заявок * Управление каталогами услуг, активов, исполнителей В конфигураторе приложение ``SynergyService`` состоит из следующих папок: * ``assets`` - Активы и Локации * Справочник видов активов * Формы, реестры Активов * Формы, реестры Локаций * ``clients`` - информация по клиентам * Форма и реестр карточки клиента * ``completion_forms`` - формы завершения * Формы завершения заявки, форма принятия в работу и подтверждения завершения заявки * ``interpreter_scripts`` - скрипты для автоматической смены статусов и работы с формами завершения * ``orders`` - формы и реестры заявок * Папки на каждую услугу, содержащие форму и реестр (в конфигурации по-умолчанию - их 6) * Счетчик и шаблон номера * Справочник статусов исполнения заявок * ``performers`` * Форма и реестр карточек исполнителей * Форма и реестр навыков исполнителей * Форма и реестр полей исполнителей * ``services`` - Услуги * Форма и реестр услуг * Группы: * ``SynergyService`` - группа для объединения всех реестров * ``service_admin_group`` - группа пользователей с полным доступом * ``service_client_group`` - группа пользователей на портал (клиенты) В конструкторе приложение ``SynergyService`` состоит из следующих страниц: * ``auth_page`` - Авторизация * ``main_page`` - Главная * ``my_orders`` - Мои заявки * ``registration_page`` - Регистрация Список блокирующих процессов (БП) ------------------------------------ event.blocking.interpreter.email.auth.notification ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Блокпроцесс отправляет уведомление автору заявки. По умолчанию в уведомлении указаны: - номер; - дата и время регистрации; - услуга; - статус; - плановое время завершения. event.blocking.interpreter.closingby.timer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Данный БП закрывает заявку, если за отведенное время (например, 8 рабочих часов) инициатор не подтвердил завершение или не отправил эту заявку на доработку. event.blocking.interpreter.completion_time ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ БП вычисляет (в зависимости от режима работы ``service_form_order_timemode``) затраченное исполнителем время и была ли просрочена заявка. event.blocking.interpreter.matching ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ БП осуществляет сопоставление данных из формы завершения ``work_completion_form_orders`` (ФЗ исполнителем заявки) на основную форму заявки. event.blocking.interpreter.matching.acceptexec ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ БП осуществляет сопоставление данных из формы завершения ``work_form_completion_accept`` (ФЗ принятия в работу) на основную форму заявки. event.blocking.interpreter.matching.approve ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ БП осуществляет сопоставление данных из формы завершения ``work_completion_form_approve`` (ФЗ подтверждения результата решения заявки) на основную форму заявки при завершении. event.blocking.interpreter.matching.executor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ БП осуществляет сопоставление данных из формы завершения ``work_completion_form_executor_choose`` (ФЗ выбора исполнителя заявки) на основную форму заявки. event.blocking.interpreter.matching.firstapprove ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ БП осуществляет сопоставление данных из формы завершения ``work_completion_form_approve`` (ФЗ подтверждения результата решения заявки) на основную форму заявки при согласовании. event.blocking.interpreter.set.8wh.timer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ БП устанавливает таймер (на определенное количество рабочих минут, по умолчанию на 480). Этот таймер нужен для запуска БП ``event.blocking.interpreter.closingby.timer`` event.blocking.interpreter.set.planFinishDate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ БП заполняет планове время решения по заявке в зависимости от выбранного режима работы (``service_form_order_timemode``). event.blocking.interpreter.status_0, event.blocking.interpreter.status_1,... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Эти блокпроцессы меняют статус заявки после определенного этапа маршрута.