Сумма из подзадач

Пока мы с вами читали рассказы о различных применениях ПланФикса, коллеги запустили очередной агрегат из ветки “Вычисляемые поля” — особый тип поля, который умеет автоматически суммировать нужные вам данные из подзадач.

Вычисляемые поля в ПланФиксе

Называется этот новый тип поля “Сумма подзадач” и в этой заметке я покажу вам, на что он способен.

Как это выглядит
Что может быть лучше реального примера? Вот один из реальных запросов, которые теперь могут решаться с помощью поля типа “Сумма подзадач”:

Запрос в Службу поддержки ПланФикса

Давайте сделаем настройку под этот запрос. Чтобы все выглядело красиво, сделаем два шаблона: Задача с прогрессом и Подзадача с прогрессом. Начнем с подзадачи, ведь основные данные для расчета будут храниться именно в ней.

Создаем новый шаблон задачи, называем его “Подзадача с прогрессом” и добавляем в него 3 поля. Два из них будут обычными числовыми полями, это:

  • Вклад в надзадачу (%)
  • Процент выполнения

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

Вычисляемое поле Реализованный вклад в надзадачу ПланФикса

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

Шаблон подзадачи с полями Вклад в надзадачу и Процент выполнения

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

Настройки поля типа "Сумма подзадач"

О более сложных настройках я вкратце скажу в конце этой заметки.

Итак, поле добавлено в шаблон. Давайте сделаем еще одну настройку для удобства – укажем шаблон, по которому будут создаваться подзадачи к задачам с прогрессом. Это будет только что созданный нами шаблон “Подзадача с прогрессом”:

Настройка шаблона для подзадач

Теперь пользователям не нужно будет задумываться, какой шаблон нужно использовать — у задач с прогрессом подзадачи всегда будут создаваться по шаблону “Подзадача с прогрессом”.

Сохраняем шаблон и вытаскиваем поле “Текущий процент выполнения” на основную панель:

Шаблон задачи с прогрессом выполнения по подзадачам

Наша настройка готова к работе.

 

Как это работает

  • Создаем задачу по шаблону “Задача с прогрессом”.
  • Добавляем к ней подзадачи и заполняем у каждой поле “Вклад в надзадачу (%)”
  • В ходе работы над подзадачами, добавляя очередное действие с описанием проделанной работы, изменяем значение в поле “Процент выполнения” на актуальное значение:
    Процент выполнения подзадачи
  • В надзадаче в любой момент времени можно посмотреть текущий процент ее выполнения, автоматически подсчитываемый на основании вклада и процента выполнения каждой из ее подзадач:
    Текущий процент выполнения надзадачи

А еще можно сделать вот такой фильтр:

Настройки фильтра Прогресс по задачам

Настроить в нем вывод добавленных нами полей и видеть весь расклад по подзадачам:

Фильтр Прогресс по задачам

Вот такой простой и понятный пример использования нашего нового типа поля.

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

 

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

Давайте еще раз на минутку заглянем в настройки поля типа “Сумма подзадач” и распахнем список “Суммировать”. Помимо значения “Все подзадачи”, в нем есть вариант “Подзадачи соответствующие условию”:

Сымма подзадач соответствующих условию

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

Сумма подзадач, находящихся в активном статусе

 

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

 

Ограничения
Как и другие вычисляемые поля, поле “Сумма подзадач” очень затратно в плане обеспечения расчетов. Стоит вам добавить такое поле, и ПланФиксу на каждый чих в подзадаче нужно будет проверять, не изменилось ли расчетная база и не нужно ли заново пересчитать суммарное значение по всем подзадачам в этом дереве. Поэтому мы ограничиваем количество таких полей в рамках аккаунта. Для старта они будут такими:

  • В бесплатных аккаунтах их не будет в принципе
  • На пакете “Профессионал” — 5 полей
  • “Бизнес” — 10
  • “Корпорация” — 20

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

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

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

P.S. Напоминаю, что практически каждый день мы делимся с вами маленькими новостями и примерами использования ПланФикса на наших страницах в соцсетях и мессенджерах: Facebook, ВКонтакте, Telegram и Twitter. А еще выпускаем видеоуроки и примеры настроек на нашем канале в YouTube. Подпишитесь на них, если вам интересно, что происходит в ПланФиксе прямо сейчас.

22 Comments

  1. Аватар

    Уххх! Пример ниасилил, тут в течение часа глубоко надо вникнуть в чужой процесс видимо.
    Но по названию — то чего так долго ждали?)
    Вкратце: можно теперь суммировать потраченные бюджеты в подзадачах и сравнивать с числом в надзадаче?)

  2. Аватар

    Отлично, сразу применил в нашей работе.

    Мои пожелания:
    — Добавить в это поле опцию включать в эту сумму еще и сумму по этой задаче. Иначе придется еще одно вычисляемое поле поле делать, для суммирования;
    — Добавить в список условий суммирование по дате. Кейс — я суммирую фактическое время в задачах и мне важно видеть сумму только по времени за текущий месяц, а если из другого месяца что-то переползло, то это в сумму не включать;
    — В формулы я бы теперь хотел добавить среднюю арифметическую и среднюю геометрическую сумму, потому что так будет более объективное аналитическое исследование.

    А дальше буду думать =)

    1. Дмитрий Гончаренко

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

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

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

        1. Аватар

          По сути это операции для анализа.
          Не знаю убрали ли сейчас из API необходимость md5 хэшей.
          Если да. То такой функционал проще реализовывать через спец. софт.
          Например Power Bi
          Там можно было настраивать импорт данных, а потом обрабатывать и визуализировать их как угодно.
          Единственное он не умеет сам генерировать хеши. Это тоже можно обойти. Но тут уже слишком много костылей получается.

  3. Аватар

    А если представить большую наглядность, разные цвета и % выполнения отражать в значках Избранное? Использовать существующие значки или сделать новые? Тогда одним взглядом на планировщик можно понимать динамику.
    Дмитрий, возможно ли такое?

    1. Дмитрий Гончаренко

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

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

    1. Аватар

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

      1. Дмитрий Гончаренко

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

        1. Аватар

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

          1. Дмитрий Гончаренко

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

  4. Аватар

    А я про своё: Если бы еще внедрить чекбокс в настройке емейла где контакт имеет емейл №1
    емейл №2
    емейл №3

    чтобы можно было слать или только на емейл №1 или сразу на все ящики, заведенные в этот контакт

    спасибо 🙂

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