Часто динамический маршрут согласования используется, когда набор запрашиваемых подписей зависит от сочетания нескольких бизнес-условий.
Пример: если сумма сделки больше 1 млн. руб. и менеджер предоставил ему скидку в 10%, то запрашиваются сначала подпись финансового директора, а затем подпись генерального директора. Кроме того, если клиентский менеджер относится к региональному филиалу, то запрашивается подпись руководителя филиала, а если к центральному офису — то подпись коммерческого директора.
Условия запроса подписей могут со временем меняться — например, размер скидки, при которой требуется подпись генерального директора, изменился с 10% до 15%, минимальная сумма сделки выросла с 1 до 5 млн. руб., а от запроса подписи коммерческого директора было решено отказаться.
В этом случае на статическом маршруте администратору пришлось бы заново настраивать условия запроса подписей. Чтобы избежать этого, условия запроса подписей выносятся в отдельный справочник, а маршрут согласования строится динамически, SQL-процедурой, которая анализирует записи этого справочника. При изменении условий — например, размера скидки — ответственному пользователю достаточно изменить значение ДП в справочнике, это выполняется без участия администратора системы. Если от запроса какой-то подписи было решено отказаться, соответствующая запись справочника переводится в статус Отменено (или аналогичный).
В примере, приведенном выше, записи справочника "Маршрут согласования" имели бы исходные значения:
ДП "Размер сделки больше чем" |
ДП "Процент скидки больше или равен" |
ДП "Региональный филиал" |
Этап согласования |
Запрашивается подпись |
---|---|---|---|---|
1 000 000 |
10 |
не важно |
1 |
Подпись финансового директора |
1 000 000 |
10 |
не важно |
2 |
Подпись генерального директора |
0 |
0 |
да |
1 |
Подпись руководителя филиала |
0 |
0 |
нет |
1 |
Подпись коммерческого директора |
Записи справочника "Маршрут согласования сделки", новые значения:
ДП "Размер сделки больше чем" |
ДП "Процент скидки больше или равен" |
ДП "Региональный филиал" |
Этап согласования |
Запрашивается подпись |
---|---|---|---|---|
5 000 000 |
15 |
не важно |
1 |
Подпись финансового директора |
5 000 000 |
15 |
не важно |
2 |
Подпись генерального директора |
0 |
0 |
да |
1 |
Подпись руководителя филиала |