Функция lead_time_ein
проверяет, попадает ли экземпляр процесса в указанный промежуток событий и время.
Так как она работает на уровне экземпляров процесса, то при попадании в промежуток вернутся все события, а не только указанный промежуток.
По экземпляру процесса вернется null при применении функции, если в нем:
lead_time_ein(
таблица.колонка,
'событие1',
номер_появления1,
'событие2',
номер_появления2
[,'календарь',
'параметр_подсчета']
)
таблица.колонка — имя столбца из таблицы журнала событий, по которому будет работать функция.
событие1 — событие, откуда начинается расчет времени прохождения.
номер_появления1 — номер появления первого события. Например:
событие2 — событие, когда завершается расчет времени прохождения.
номер_появления2 — номер появления второго события. Например:
календарь — календарь, по-которому будет исключено лишнее время между двумя временными метками. Если календарь не задан, то расчет идет без его учета.
Календарь может быть указан через имя, которое отображается в модели данных, через упоминание таблицы журнала событий, в которой он привязан, или через ручное указание полного рабочего расписания:
Указание дней недели в календаре:
Указание времени дня недели в календаре:
параметр_подсчета — настройка позволяет сменить правило расчета длительности выбранного этапа процесса. На примере ниже показано, как каждое значение влияет на то, какая дата будет выбрана конечной при расчетах.
Зеленым цветом обозначено начальное выбранное событие (событие1), откуда начинается расчет. Его дата всегда одинаковая.
Красным цветом обозначено конечное выбранное событие (событие2) до которого идет расчет. Дата имеет три настройки на выбор:
Запрос
select
case_id,
lead_time_ein(
event_log.activity,
*, 0,
'Финальная проверка счета', -1,
50, 100000
)
from case_table
id |
---|
1 |
2 |
case_id | activity | start_timestamp | end_timestamp |
---|---|---|---|
1 | Получение счета | 2017-09-09 09:00:38 | 2017-09-09 09:00:38 |
1 | Проверка счета | 2017-09-09 09:00:40 | 2017-09-09 09:00:40 |
1 | Финальная проверка счета | 2017-09-10 10:06:18 | 2017-09-10 10:06:18 |
1 | Финальная проверка счета | 2017-09-10 10:06:18 | 2017-09-21 10:07:41 |
1 | Согласование счета | 2017-09-22 09:41:57 | 2017-09-22 17:33:22 |
1 | Оплата счета | 2017-09-22 17:33:23 | 2017-09-23 09:16:39 |
2 | Получение счета | 2017-08-27 13:00:16 | 2017-08-27 13:00:16 |
2 | Проверка счета | 2017-08-27 13:00:16 | 2017-08-27 13:00:17 |
2 | Проверка и согласование счета | 2017-08-27 13:08:34 | 2017-08-27 13:25:09 |
2 | Оплата счета | 2017-08-27 13:25:10 | 2017-08-28 09:04:29 |
case_id | %2 |
---|---|
1 | false |
2 | false |
Указан календарь в модели с именем "1x9-18"
Расписание на неделе:
MON "09:00:00"-"18:00:00"
Праздничные и выходные дни:
Нет
Дополнительные рабочие дни:
Нет
Запрос
select
case_id,
lead_time_ein(
event_log.activity,
*, 0,
'Финальная проверка счета', -1,
50, 100000,
'NAME: 1x9-18',
'END'
)
from case_table
id |
---|
1 |
2 |
case_id | activity | start_timestamp | end_timestamp |
---|---|---|---|
1 | Получение счета | 2017-09-09 09:00:38 | 2017-09-09 09:00:38 |
1 | Проверка счета | 2017-09-09 09:00:40 | 2017-09-09 09:00:40 |
1 | Финальная проверка счета | 2017-09-10 10:06:18 | 2017-09-10 10:06:18 |
1 | Финальная проверка счета | 2017-09-10 10:06:18 | 2017-09-21 10:07:41 |
1 | Согласование счета | 2017-09-22 09:41:57 | 2017-09-22 17:33:22 |
1 | Оплата счета | 2017-09-22 17:33:23 | 2017-09-23 09:16:39 |
2 | Получение счета | 2017-08-27 13:00:16 | 2017-08-27 13:00:16 |
2 | Проверка счета | 2017-08-27 13:00:16 | 2017-08-27 13:00:17 |
2 | Проверка и согласование счета | 2017-08-27 13:08:34 | 2017-08-27 13:25:09 |
2 | Оплата счета | 2017-08-27 13:25:10 | 2017-08-28 09:04:29 |
case_id | %2 |
---|---|
1 | true |
2 | false |
Указан календарь в модели с именем "1x9-18"
Расписание на неделе:
MON "09:00:00"-"18:00:00"
Праздничные и выходные дни:
Нет
Дополнительные рабочие дни:
Нет
Запрос
select
case_id
from case_table
where lead_time_ein(
event_log.activity,
*, 0,
'Финальная проверка счета', -1,
50, 100000,
'NAME: 1x9-18',
'END'
)
id |
---|
1 |
2 |
case_id | activity | start_timestamp | end_timestamp |
---|---|---|---|
1 | Получение счета | 2017-09-09 09:00:38 | 2017-09-09 09:00:38 |
1 | Проверка счета | 2017-09-09 09:00:40 | 2017-09-09 09:00:40 |
1 | Финальная проверка счета | 2017-09-10 10:06:18 | 2017-09-10 10:06:18 |
1 | Финальная проверка счета | 2017-09-10 10:06:18 | 2017-09-21 10:07:41 |
1 | Согласование счета | 2017-09-22 09:41:57 | 2017-09-22 17:33:22 |
1 | Оплата счета | 2017-09-22 17:33:23 | 2017-09-23 09:16:39 |
2 | Получение счета | 2017-08-27 13:00:16 | 2017-08-27 13:00:16 |
2 | Проверка счета | 2017-08-27 13:00:16 | 2017-08-27 13:00:17 |
2 | Проверка и согласование счета | 2017-08-27 13:08:34 | 2017-08-27 13:25:09 |
2 | Оплата счета | 2017-08-27 13:25:10 | 2017-08-28 09:04:29 |
case_id |
---|
1 |