Как работает расширенный календарь
Поля в фильтре расширенного календаря
- Пользователь (user_id)
- Задачи (task_is_complete)
- События (event_is_complete)
- Просроченные события (events_overdue)
- Д.Р. сотрудников (is_birthdays_show)
Поля даты (формируются из календаря)
Также скрытно передаются два поля даты
- start_date
- end_date
Значения этих полей формируется на основое вида календаря (День, Неделя, Месяц), а также учитывая какой год, месяц, число отображается на календаре!
Пример формирования:
- Месяц:
- start_date - формируется от даты первой ячейки календаря
- end_date - формируется от даты последней ячейки календаря + 1 день
- Неделя:
- start_date - формируется от даты первого столбца календаря
- end_date - формируется от даты последней столбца календаря + 1 день
- День:
- start_date - формируется от даты выбраного дня календаря
- end_date - формируется от даты выбраного дня календаря + 1 день
Пример:
Например текущий месяц октября 2022 года, то порядок формирования этих полей таков:
- Месяц: (start_date) 2022-09-26 - (end_date) 2022-11-07
- Неделя: (start_date) 2022-10-10 - (end_date) 2022-10-17
- День: (start_date) 2022-10-12 - (end_date) 2022-10-13
Сущности что отображаются на календаре
События
События подгружаются в зависимости от поля События (event_is_complete) и поля Просроченные события (events_overdue)
Если поле События (event_is_complete) - пустое, а также поле Просроченные события (events_overdue) не отмечено - то события не будут отображаться в календаре
Имеет ограничение на количество выборки - лимит на 150 событий!
Формирование выборки:
- Поле Просроченные события (events_overdue) - Отмечено, то:
- Условие: Дата события больше или равно start_date
- Условие: Дата события меньше текущей даты
- Условие: Статус события неподтвержденный
- Иначе
- Поле События (event_is_complete)
- Если выбрано значение Подтвержденные, то Статус события подтвержденный
- Если выбрано значение Неподтвержденные, то Статус события неподтвержденный
- Если выбрано значение Подтвержденные и Неподтвержденные, то правило на Статус события не добавляется
- Условие: Дата события больше или равно start_date
- Условие: Дата события меньше или равно end_date
- Поле События (event_is_complete)
- Если поле Пользователь (user_id) пустое - то формируется следующая выборка
- Условие ИЛИ
- Условие: Назначено на авторизованного пользователя
- Условие: у события в поле участники отмечен авторизованный пользователь
- Условие: у события в поле участники отмечено Все пользователи
- Условие ИЛИ
- Если поле Пользователь (user_id) не пустое - то формируется следующая выборка
- Условие ИЛИ
- Условие: Назначено на выбранного пользователя
- Условие: у события в поле участники отмечен выбранный пользователь
- Условие: у события в поле участники отмечено Все пользователи
- Условие ИЛИ
Задачи
Задачи подгружаются в зависимости от поля Задачи (task_is_complete)
Если поле пустое - то задачи не будут отображаться на календаре
Формирование выборки:
- Условие: Задача не в архиве
- Условие: Работают ограничения: можно ограничить вывод задач рестрикшенами Мои либо Подчиненные (Идет учет от авторизованного пользователя) (Конфликтует с условиями от поля Пользователь (user_id) если оно не пустое)
- Условие: Дата выполения задачи должна быть больше или равно start_date
- Условие: Дата выполения задачи должна быть меньше или равно end_date
- Поле Задачи (task_is_complete)
- Условие: Если выбрано Выполненные, применяется правило Дата потверждения задачи не пустое
- Условие: Если выбрано Незавершенные, применяется правило Дата потверждения задачи пустое
- Условие: Если выбрано Выполненные и Незавершенные, то правило на Дату потверждения задачи не добавляется
- Условие: Если поле Пользователь (user_id) пустое - то ищуется задачи назначенные на авторизованного пользователя
- Условие: Если поле Пользователь (user_id) не пустое - то ищуется задачи назначенные на выбранного пользователя
Дни рождения (пользователей либо контрагентов)
Дни рождения выводиться в зависимости от чекбокса Д.Р. сотрудников (is_birthdays_show)
Подгружает на календарь эти самые дни с учетом передаваемых дат
Праздничные дни
Зависит от настройки Выводить праздничные дни в календаре, которую можно включить в шапке CRM (вкладка Календарь)
Подгружает на календарь эти самые праздничные дни с учетом передаваемых дат