Типовые задачи: автоматизация на основе даты и контекста

Типовая задача — это шаблон, из которого оператор в один клик создаёт задачу прямо в форме договора. Она хранит готовую логику — название, исполнителя, сроки, правила перехода статусов — и появляется в списке выбора только там, где уместна по статусу, городу и дате.

Повторяющиеся операции — «выезд на адрес», «созвон с клиентом», «контроль качества» — оператор не должен каждый раз собирать вручную и держать в голове, в какой статус потом переводить договор и какой поставить срок. Стоит ошибиться, и заказ уходит не по регламенту. Типовая задача фиксирует такой сценарий заранее: оператор выбирает её в форме договора, указывает дату — и получает корректную задачу со всеми правилами.

Сама типовая задача при этом не исполняется — это не работа, а описание работы: какую задачу и с какими правилами можно создать. Она ускоряет оформление, убирает ошибки и гарантирует, что сотрудники действуют одинаково. Дальше — как она устроена: с чем связана, что хранит, как из неё рождается задача и по каким правилам.

С чем связана

  • С договором — типовая используется для создания задач внутри договора и доступна в его форме.
  • С задачей — каждое назначение типовой порождает одну задачу; одну и ту же типовую можно назначить несколько раз на разные даты.
  • С автоматической задачей — выбор типовой в форме договора может быть триггером для привязанной к ней автоматики.
  • С городами и статусами договора — ограничивают доступность типовой и логику переходов.
  • С днями недели и датами — ограничивают, на какие дни типовую можно назначить.

Какие данные хранит

  • название и комментарий будущей задачи;
  • исполнителя и ответственного;
  • флаг обязательности и принадлежность к группе;
  • правила перехода статусов договора при выполнении и отклонении;
  • длительность выполнения и рабочее время;
  • ограничения по статусу, городу, дням недели, дополнительным и исключённым датам;
  • параметры авто-закрытия и режимы редактирования договора.

Изменение типовой влияет только на будущие назначения и не трогает уже созданные задачи.

Как из неё создаётся задача

Типовая порождает обычную задачу только в одном случае — когда оператор явно выбирает её в форме договора и указывает дату. Сама по себе она никогда не срабатывает: ни смена статуса, ни добавление товара задачу из типовой не создают — этим занимается автоматическая задача. В списке выбора показываются не все типовые, а только подходящие к контексту: статус договора в разрешённых, город в разрешённых, выбранная дата попадает в разрешённый день недели и не входит в исключения, и типовая помещается в загрузку исполнителя на этот день.

Оператор задаёт только дату — всё остальное приходит из шаблона: время старта, дедлайн (старт плюс длительность из шаблона), название, исполнитель, флаг обязательности. Одну и ту же типовую можно назначить на несколько дат — получится несколько задач, без дедупликации. Сразу после создания задачи система проверяет автоматики, привязанные к этой типовой как к триггеру, и при необходимости создаёт от них свои задачи.

Правила и ограничения

Система не позволяет:

  • назначить типовую вне допустимого статуса договора;
  • назначить типовую для неподходящего города;
  • назначить задачу на запрещённый день недели или дату;
  • сохранить договор, если в его контексте есть обязательная типовая, для которой не выполнено ни одно из условий: оператор выбрал её в текущей сессии редактирования либо у договора уже есть активная задача-наследник от такой типовой;
  • завершить задачу без выполнения требований по редактированию данных;
  • завершить или отклонить задачу вне допустимых статусов.

Дополнительно: задача-наследник может быть автоматически отклонена, если договор вышел из статусов, разрешённых для этой типовой; режимы редактирования жёстко контролируются параметрами типовой.

Типичные сценарии

Оператор оформляет договор и выбирает типовую «Выезд на адрес» на нужную дату — система создаёт задачу водителю со сроком и правилом: при завершении договор перейдёт в «Выполнен». Оператору не нужно помнить ни статусы, ни сроки.

В контексте договора есть обязательная типовая «Контроль качества». Пока оператор не назначит её или пока у договора нет активной задачи от неё, договор не сохранится — регламент соблюдается принудительно.

Повторяющийся созвон. Оператор назначает одну типовую «Созвон с клиентом» на две даты — через три дня и через неделю; система создаёт две независимые задачи.

Примеры настройки

«Выезд на адрес». Разрешённые статусы — «Согласовано»; разрешённые города — те, где есть бригады; дни недели — будни без праздников; исполнитель — группа водителей; длительность — день; «Статус при завершении» — «Выполнен», «Статус при отклонении» — «Отменён».

Обязательная типовая. Та же настройка плюс флаг обязательности. Теперь договор в этом контексте нельзя сохранить, пока обязательная типовая не назначена или у договора нет активной задачи от неё.

Типовая для одного города. В ограничениях по городу оставлен единственный город — в форме договоров других городов эта типовая в списке не появится.

Частые вопросы и подводные камни

  • Что будет со старыми задачами, если изменить типовую? Ничего — изменение применяется только к будущим назначениям. Уже созданные задачи живут по тем правилам, что были на момент их создания.
  • Почему типовая «пропадает» из списка в некоторые дни? Список фильтруется по контексту: статус, город, день недели и исключённые даты. Кроме того, типовая не появится, если на выбранный день исполнитель уже загружен и она не помещается в его лимит времени.
  • Когда использовать типовую, а когда автоматическую задачу? Типовая — для ручного выбора оператором в форме договора. Автоматическая — для автоматического срабатывания по событию без участия человека. У типовой нет режимов уникальности и повторяемости, нет каскадного сдвига дат и системного исполнителя — это шаблон для человека, а не автомат.
  • Может ли одна типовая создавать разные задачи в зависимости от города? Нет. Город только ограничивает доступность типовой в списке; содержание создаваемой задачи берётся из шаблона и от города не меняется. Для разного поведения заводят разные типовые.
  • Почему обязательная типовая блокирует сохранение, хотя я выбрал её один раз? Условие считается выполненным, если типовая выбрана в текущей сессии или у договора есть активная задача-наследник от неё. Если ранее созданная задача уже закрыта, а в этой сессии типовую не выбрали — условие снова не выполнено, и сохранение блокируется.

Диагностика: типовая ведёт себя не так, как ожидалось

Типовая не появляется в форме договора. Проверьте по очереди: входит ли статус договора в разрешённые, подходит ли город, попадает ли выбранная дата в разрешённый день недели и не в исключённую дату, и не загружен ли исполнитель так, что типовая уже не помещается в его лимит на этот день. Несоответствие любого условия убирает типовую из списка.

Обязательная типовая неожиданно блокирует сохранение. Проверьте, есть ли у договора активная (незакрытая) задача-наследник от неё: повторно выбирать обязательную не нужно, только пока такая задача существует. Настройки переходов статусов конкретной типовой — «Статус при завершении» и «Статус при отклонении» — заданы в её параметрах.