Единый план подключения (ЕПП)
| ЕПП ограничивает выбор даты и времени в параметре процесса: например, когда инженер может приехать к клиенту. Для группы исполнителей задаются населённые пункты, дни и временные слоты с допустимым числом процессов. Пользователь видит в календаре только разрешённое время, а занятые слоты отмечены. |
Все экраны плагина находятся в меню ЕПП.
Как работает ограничение
Фильтр связывает:
-
группу — группу решения процесса с ролью "исполнение";
-
населённые пункты (и, если включены кварталы, кварталы) — по адресу процесса;
-
расписание — для каждой даты набор слотов "с … по …, не больше N процессов";
-
при необходимости дополнительные условия — тип дома, тип технологии, тип процесса.
Когда пользователь выбирает дату в параметре процесса, система находит фильтр по группе исполнителей и адресу и показывает свободные слоты зелёным, занятые — красным. При сохранении время проверяется по тем же фильтрам: время вне слотов или в заполненном слоте сохранить нельзя.
Шаблоны слотов
Шаблон — именованный набор слотов, который затем одним щелчком расставляется по дням. Меню ЕПП → Редактор шаблонов.
-
В поле Группа выберите группу. Список ниже покажет её шаблоны. Отметка Добавлять шаблоны на эту группу сохраняет новый шаблон только для этой группы; без отметки шаблон общий для всех групп.
-
Задайте цвет, наименование и символ (до трёх знаков) — они отображаются в календаре фильтров.
-
Добавьте слоты: время С, По, Количество процессов и кнопка Добавить. Лишний слот удаляется крестиком.
-
Нажмите ОК.
Кнопки в строке шаблона открывают его на редактирование или удаляют после подтверждения. Изменение шаблона не меняет уже расставленные дни: слоты копируются в день в момент назначения.
Фильтры
Меню ЕПП → Администрирование. Выберите группу и период: таблица покажет фильтры группы
по дням. В ячейке — символ шаблона или число слотов, заданных вручную; 0 — слоты не заданы.
Наведение на ячейку показывает слоты, на название фильтра — населённые пункты,
комментарий и доп. условия. Значок часов рядом с названием открывает историю изменений.
Добавление фильтра
Выберите Режим → Фильтры и нажмите Добавить фильтр.
| Поле | Описание |
|---|---|
Название фильтра, комментарий |
Необязательные, видны в подсказке. |
Населённый пункт |
Один или несколько. Даты и слоты фильтра общие для всех выбранных пунктов. |
Кварталы |
Заполняются по выбранным населённым пунктам, если включены кварталы (см. ниже). |
Доп. условия |
Тип дома, тип технологии, тип процесса — фильтр действует, только если процесс подходит под все выбранные условия. |
Расписание по дням
Выберите Режим → Шаблоны и включите Режим редактирования. Над таблицей появится панель шаблонов группы и два служебных пункта:
-
шаблон — щелчок по дню записывает в него слоты шаблона;
-
Редактировать фильтр — щелчок по дню открывает ручную настройку слотов этого дня, щелчок по названию — изменение населённых пунктов, названия и доп. условий;
-
Убрать фильтр — щелчок по дню удаляет его слоты, щелчок по названию удаляет весь фильтр после подтверждения.
| При удалении фильтра наличие процессов не проверяется. Процессы, уже назначенные на его слоты, не меняются. |
Монитор занятости
Меню ЕПП → Монитор занятости временных слотов. Выберите одну или несколько групп, период и нажмите Найти. В ячейке указано "занято / всего" по населённому пункту и дню; щелчок по ячейке показывает процессы, занявшие слоты.
Дополнительные условия
Доп. условие уточняет, к каким процессам относится фильтр.
-
ЕПП → Типы доп. условий — справочник видов условий. У типа есть название, код типа, класс проверки, признак активности, конфигурация по умолчанию и комментарий.
-
ЕПП → Доп. условия — конкретные условия: название, тип и конфигурация. Созданные условия выбираются при добавлении и редактировании фильтра.
Конфигурация условия задаёт идентификаторы, с которыми сравнивается процесс:
filter.ids=10650,10585
filter.processes.checkLinked.enabled=false
| Ключ | Значение |
|---|---|
|
Идентификаторы через запятую. Пустой список — условие выполняется всегда. |
|
Для типа "тип процесса": проверять типы связанных процессов вместо типа самого процесса. |
Условие по типу процесса учитывает и родительские типы: если в filter.ids указан
родительский тип, условию соответствуют все его подтипы.
Новый вид условия добавляется классом, реализующим проверку
ru.bgcrm.plugin.epp.conditions.model.AdditionalConditionMatcher, и записью
в Типах доп. условий.
Настройка типа процесса
В конфигурации типа процесса укажите, какой параметр даты ограничивать и по какому адресному параметру искать населённый пункт:
epp.enabled=1372:90
epp.hoursCheck=1
-
1372— параметр типа datetime,90— параметр типа address. Пар можно указать несколько через запятую. -
epp.hoursCheck— за сколько часов от текущего момента можно назначить время, по умолчанию 1. Более раннее время сохранить нельзя.
Чтобы календарь параметра получал раскраску слотов, в конфигурации параметра даты укажите
sendColorMapRequest=1, а в качестве скрипта параметра — класс
ru.bgcrm.plugin.epp.event.listener.DateTimeListener (или вызовите его из своего скрипта).