Как задать длительность задачи пользовательским полем в сценарии

Говорят, в мире на три вещи можно смотреть бесконечно: как горит огонь, как течет вода и как работают другие люди. Вот и мы каждый месяц готовим для вас что-то новенькое и полезное. И конца этому процессу не видать. Значит, улучшения будут улучшаться, усовершенствования совершенствоваться, а удобства становиться еще удобнее. Простите за каламбур 🙂

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

Зачем это нужно?

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

Например, представим рекламное агентство, которое оказывает услуги по изготовлению и размещению наружной рекламы. В агентство обращается клиент, заказывает рекламный щит в центре города. Клиент-менеджер агентства фиксирует все пожелания клиента и определяет фронт работ.

Работа над рекламным щитом планируется в несколько этапов, у каждого этапа своя длительность:

  • Разработка технического задания;
  • Изготовление макета;
  • Сборка щита;
  • Проверка, упаковка, транспортировка;
  • Монтаж на объекте.

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

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

Настройка автоматизации

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

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

Чтобы задать для каждого этапа заказа длительность, создаем нужное количество пользовательских полей. Как это делается — подскажет справка. Для задания длительности допустимо использовать поля трех типов — Строка, Число и Вычисляемое поле.

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

Шаблон, который готов работать
Шаблон, который готов к работе над заказом.
По клику картинка откроется в новом окне и большем размере.

Поле «Общий срок выполнения задачи» вычисляемое, оно суммирует длительность всех этапов работы. Его настройки:

Настройка вычисляемого поля
Настройка вычисляемого поля.
По клику картинка откроется в новом окне и большем размере.

Все, больше никаких дополнительных настроек не потребуется, переходим к сценарию. Сценарий будет реагировать на любое изменение поля «Общий срок выполнения заказа» и автоматически устанавливать длительность заказа в задаче исходя из значения в этом поле:

Сценарий, который меняет длительность задачи
Сценарий, который меняет длительность задачи.
По клику картинка откроется в новом окне и большем размере.

Настройка закончена, теоретически все должно работать. Но теория должна подтверждаться практикой.

Практика

Создаем по шаблону задачу, сразу в момент создания указываем планируемые сроки длительности по всем этапам работы. В момент создания задачи срабатывает и вычисляемое поле, и настроенный сценарий. Он устанавливает длительность задачи на основании данных в поле «Общий срок выполнения заказа»:

Сценарий сработал сразу после создания задачи
Сценарий сработал сразу после создания задачи.
По клику картинка откроется в новом окне и большем размере.

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

Длительность снова поменялась после изменения значения в вычисляемом поле
Длительность снова поменялась после изменения значения в вычисляемом поле.
По клику картинка откроется в новом окне и большем размере.

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

Дополнительные возможности

Длительность можно задавать не только в днях, есть возможность в часах и минутах:

Варианты временной установки длительности
Варианты временной установки длительности.
По клику картинка откроется в новом окне и большем размере.

Стоит еще сказать, что такой сценарий сработает и для обычного пользовательского поля, в котором вам необходимо фиксировать длительность задачи. А еще он умеет устанавливать длительность из полей аналитики. Это можно сделать таким образом:

Установка длительности из аналитики.
По клику картинка откроется в новом окне и большем размере.

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

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


Не забывайте переходить в соцсети. В идеале, конечно, делиться нашими новостями с теми, кто может быть в них заинтересован. Пусть как можно больше людей знает, какие крутые штуки можно организовать на базе ПланФикса и как это работает 🙂 Facebook, ВКонтакте, Telegram, Twitter и YouTube-канал — во всех этих соцсетях мы точно есть.

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

    1. Ольга Тимошенко

      Здравствуйте, Азат. Если вы установили у задачи признак суммарной, то как бы ни менялась длительность ее подзадач, срок ее начала опирается на самый ранний срок начала одной из подзадач, а срок завершения – на самый поздний срок завершения одной из подзадач. То есть общая логика работы суммарной задачи не меняется.
      Надеюсь, не запутала вас в ответе, я умею)

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