Сценарии на изменение значения в поле

Вот есть у нас такие новости, которые доставляют истинную радость лишь узкому кругу ограниченных лиц

Новости ПланФикса бывают разные :)

Но все равно ведь новости важные. Да и круг нужно расширять 🙂

Поэтому вначале пару слов для тех, кто раньше не сталкивался со сценариями в принципе. В ПланФиксе есть такая штука, как автоматические сценарии. Они позволяют при наступлении какого-то события – например, создании задачи или добавлении комментария – автоматически производить в системе разные действия. Эта возможность помогает уменьшить количество ручных операций и вообще придает процессам динамичности: где-то что-то нажал и все закрутилось.

Теперь непосредственно о сегодняшней новости. В списке событий, которые вызывают срабатывание сценария, появилось пополнение – “Изменено значение поля”:

При использовании этого события вы можете выбрать поле (стандартное или добавленное вами в шаблон задачи) и при любом изменении его значения будут производиться заданные вами операции.

Понимаю, что без примеров подобные новинки воспринимаются тяжело, поэтому давайте перейдем к ним. У нас такое просили, например, для автоматического назначения исполнителем контакта, указанного в специальном поле задачи. Внес или изменил этот контакт в поле –  должен автоматически изменяться и исполнитель задачи.

Другой пример: развернутый процесс разработки программного обеспечения в виде развесистого “дерева” шаблонов задач. Хочется, чтобы при изменении приоритета одной из задач автоматически изменялся приоритет связанных с ней задач ветки “дерева”. Раньше этого сделать было нельзя, а теперь – можно.

Специально для этой заметки я подготовил решение, которое может быть для вас интересным само по себе. Ниже расскажу о нем в картинках, так что при желании вы сможете повторить его в своем аккаунте.

Последний комментарий в списке задач
Людям, которые привыкли работать с таблицами, удобно видеть в списке задач последний комментарий по каждой из них – это позволяет тут же видеть некое отражение текущей ситуации и быстро вспоминать, что нужно сделать дальше.

Последний комментарий в списке задач

Как это организовать?

Первое, что вам понадобится – добавить в шаблон задачи два поля:

  • текстовое поле “Последний комментарий”- в нем будет отображаться сам комментарий
  • поле типа “Чекбокс” с названием “Добавлен комментарий” – это флаг, который говорит о том, что комментарий добавлен в ленте комментариев, а не из поля в задаче

Затем добавляем в процесс 3 автоматических сценария. Первый из них срабатывает в момент добавления нового действия и заполняет значение поля “Последний комментарий” текстом этого самого комментария:

Второй делает обратное – срабатывает в момент изменения поля и добавляет в задачу новое действие с введенным в поле текстом комментария:

Вот именно этот сценарий невозможно было реализовать до сегодняшнего дня – а новое событие “Изменено значение поля…” позволяет нам с вами дополнить ПланФикс полезной возможностью быстрой работы с комментариями прямо в списке задач.

Третий сценарий сбрасывает значение флага:

На всякий случай убедитесь, что сценарии находятся в списке в правильном порядке, это имеет значение, так как сценарии срабатывают последовательно:

Автоматические сценарии выполняются в том порядке, в котором они расположены в списке

Вот и все. Теперь вы всегда видите в списке последний комментарий и можете там же ввести вместо него новый, который добавится в задачу. В ленте комментариев задачи эти комментарии будут выглядеть одинаково, вне зависимости от того, каким образом они были добавлены:

Комментарии в ленте действий задачи ПланФикса

Важное замечание: возможна ситуация, когда “защиту” третьего сценария может пробить два быстро поступивших в задачу комментария – второй из них “проскочит” под флаг, поднятый первым, и попадет в задачу, затем отработает первый сценарий на добавление действия и появится дубль комментария. Например, такое случается в задачах, созданных по интеграциям с мессенджерами – клиент быстро подряд прислал 2 коротких комментария, что несложно сделать в чате, и появился дубль. Защититься от таких ситуаций не получается поэтому в задачах-общениях по таким интеграциям с чатами-мессенджерами-соцсетями этот способ нужно использовать с оглядкой.

Вот такие вот новости по сценариям. В ближайшее время будут еще, кстати – причем не менее интересные и полезные. Конечно, использование автоматических сценариев подразумевает определенную степень погружения в мир ПланФикса и такие новости интересны не всем – но это такое дело, что даже если вы пока ими не пользуетесь, все равно полезно знать, что такая возможность в принципе есть.

Что вам точно стоит сделать вне зависимости от ПланФикс-зависимости, так это подписаться на короткие новости в Facebook, ВК или Telegram. Там публикуются все наши новинки, большие и маленькие, поэтому так вы точно ничего не пропустите.

44 комментария

    1. Все будет, Константин – у нас целая программа по этому поводу, первый шаг на этом пути анонсируем в ближайшее время.

  1. На первый взгляд так сделать нельзя (хотя честно признаться я не очень внимательно смотрел) но вот мой кейс который я жду от сценариев: если последнее действия в задаче совершил внешний контакт (написал сообщение) и прошло более 3х дней а контакту никто из сотрудников не ответил, то уведомлять руководство что есть проблема.

    1. Решается это тривиально текущими возможностями сценариев:

      1. Задача создана или изменена и соответствует условиям
      * последнее сообщение от контакта
      2. Запускать сценарий: через 3 дня
      * если продолжает выполняться условие сценария
      3. Действия
      *Добавить действие
      *Уведомить сотрудников…..

      1. “3. Действия
        *Добавить действие
        *Уведомить сотрудников…..”

        Вот тут у меня проблема на этом пункте. Если нет ответа мне нужно подключить к задаче и уведомить руководство – то есть конкретного человека, а есть возможность уведомить только “участников, аудиторов, исполнителей” и т.д. – можно ли сделать чтобы можно было уведомить только одного конкретного человека?

        Если добавить руководителя к исполнителям то получается что уведомляются лишние люди которые в исполнителях (во многих задачах у нас вообще сам внешний клиент в исполнителях) – это будет их отвлекать.

          1. Его вообще может не быть в задаче.

            Условно говоря бизнес-процесс у нас такой – клиент пишет (ставит задачу), подключается исполнитель, он общается с клиентом, подключает других исполнителей и участников в том числе кого-то со стороны клиента – все ведут диалог и в какой-то момент с нашей стороны все затихли (кто-то заболел, кто-то умер – как обычно) а клиент пишет и не получает ответа – я лично должен увидеть проблему. При том ДО возникновения проблемы я вообще этой задачи не касаюсь ни в какой роли.

          2. Я могу добавить себя в аудиторы и послать уведомление всем “аудиторам” – это частично решение.

            Но просто часто мы добавляем в аудиторы по 4-5 человек – это различные люди которым нужно подбивать аналитику например и составлять счета (бухглатера) и они добавлены в “аудиторы проекта” просто ради того, чтобы у них по умолчанию был доступ ко всем задачам проекта для корректного составления отчетов.

            И им тогда будет каждый раз приходить сообщение типа “Нет ответа клиенту!!!!” и они будут подходить и переспрашивать – что нам надо сделать тут? а я им буду отвечать “забейте, это для меня уведомление а не для вас” – не очень удобно.

  2. Хочу еще условие:
    Изменено значение поля:
    1. поле – А
    2. поле – Б
    3. поле – С

    Условие: 1 или 2 или 3

    т.е. при изменении любого из этих полей – обновлять инфу во всех.
    На текущий момент я так понимаю на 5 полей мне нужно 5 сценариев((((

        1. На этой неделе была новость о том, что теперь сценарием можно изменять название и описание задачи. Вот ссылки в ФБ и ВК.

          Так что есть повод подписаться на новости)

  3. Коллеги, привет! Вписывается ли моя задача под этот функционал, не могу понять. Мне приходят оплаты в планфикс от клиентов, клиент в качестве контрагента в задаче. Услуги разные. Мне нужно добавить этого контрагента в список рассылки MailerLite, интеграция есть. Причем в список оплаты по конкретной услуге. Но в рассыльщик добавляется контакт только при изменении поля контакта. Получается, что пришла задача с оплатой конкретной услуги и исходя из значения поля услуга в задаче как-то нужно поменять значение какого-то поля в контакте… Надеюсь я понятно написала)) Вдруг, кто-то сталкивался)

    1. Вообще, такое должно работать. Для этого нужно использовать тип операции “Изменить контакт”:

      Если возникнут сложности, напишите – продолжим.

  4. При помощи “Последний комментарий” можно решить проблему когда приходит запрос в незакрытую задачу.
    Нажимаешь кнопку “Новая заявка” и описание задачи берешь из последнего комментария из надзадачи. (сценарий на кнопку вешаешь)
    Создается в один клик!!!

  5. Дмитрий, а вы не планируете сделать сценарии на основе объекто-ориентированного программирования

    мы практикуем длинные и сложные цепочки сценариев, и с т.з. напиасания этих сценариев и последующих изменений в них – весь процесс сейчас сплошной pain in the backside

    Ваши сценарии отлично работают коротких сценариев (несложных действий)
    но process flow реализовать в ваших сценариях очень сложно. Бьемся уже почти год…

    1. Здравствуйте, Петр!
      Понимаю вашу боль, но обрадовать пока нечем – нет у нас таких планов. Зарекаться, впрочем, тоже не буду – в жизни всякое случается.

      1. Сострадание делу не помогает, Дмитрий 🙂
        может давайте вместе подумаем как решить эту задачу в рамках вашей архитектуры – это правда сэкономит тонны времени и нервов

        кроме того, вижу очевидный плюс, что под написание подобных сценариев можно повсеместно будет привлекать 1С-программистов, коих на просторах СНГ исторически много

    1. Здравствуйте!
      Если вопрос о последнем комментарии, то нужно добавить это поле в каждый шаблон. Поле создается один раз, в остальные шаблоны его можно добавить при помощи массовой операции: https://pic.planfix.ru/pf/vD/OqOR4H.jpg

      Ну и все эти шаблоны должны работать по процессу, который содержит нужные сценарии. Либо в каждый из используемых процессов нужно добавить аналогичные сценарии.

      Если вопрос о другом, то разверните его чуть подробнее, пожалуйста.

  6. Никогда не задумывался об этом, но в рамках решения очеродного кейса возник вопрос. В чем принципиальное отличие событий “Изменено значение поля…” и “Задача изменена…”, если изменение задачи было связано с тем же полем, что и в первом событии?

    Иными словами, если есть сценарий по событию “Изменено значение поля А”, то запустится ли он при измении карточки задачи (через кнопку “редактировать”), включавшем в т.ч. смену значения в поле А?

    1. А вообще у меня необходимость – сконструировать триггер запуска сценария ‘Изменено поле А’ И ‘Не изменено поле B’.
      Если сценарии по событию “Изменено поле…” запускаются только при изменении отдельного поля и не запускаются при перезаписи карточки задачи, у меня всё срастается. В противном случае – срастается криво. )

      1. Должно срастись, потому что предназначение сценария “Изменено поле…” как раз в том, чтобы срабатывать при изменении конкретно этого поля, а не при любом изменении задачи.

Добавить комментарий