Сумма подзадач в карточке контакта

Артем Колисниченко: Сегодня в рубрике «Рассказ от первого лица» партнер-интегратор ПланФикса Алексей Сущиц. Он поделится своим решением, которое поможет отобразить аналитические данные в карточке контакта. Передаю слово Алексею.

Партнер-интегратор Алексей Сущиц

Алексей Сущиц: «Нельзя, но если очень хочется, то можно» ©

ПланФикс, как известно, «крутится вокруг задач» ― вся мощь сценариев, фильтров и вычисляемых полей наращивается, в первую очередь, в функционале, связанном с задачами. Контакты в этом плане немного отстают.

Один из востребованных запросов клиентов ­― как отобразить в карточке контакта аналитические данные без «захода» в отчёт? Например, «Сколько было продаж по клиенту?» или «Какая задолженность перед поставщиком?».

Будь это задача, можно было бы добавить поле типа «Сумма подзадач» непосредственно в карточку задачи и в нём подсчитать интересующие данные.

Сумма подзадач
Тип поля: Сумма подзадач

Но с карточкой контакта так не получится ― подобного поля среди имеющихся полей контактов на данный момент нет. Собственно, понятие «подзадачи» может относится только к задаче, но не к контакту.

Зато есть много чего другого! ПланФикс ― это же набор кубиков, попробуем построить то, что нам требуется.

Вот что получилось в результате:

Чтобы пояснить, как это всё работает, начну с конца 🙂

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

  • Вспомогательное поле «Баланс», в которой мы будем фиксировать финансовые операции. Это поле технологическое, его никому показывать не планируем. В нем будет хранится задача, в которой мы будем подсчитывать в поле «Итого баланс» итоговое сальдо по проведенным финансовым операциям.
Баланс
Пользовательские поля: Баланс и Итого баланс
По клику картинка увеличится
  • Вычисляемое поле «Долг контакту», которое отобразит подсчитанное сальдо в карточке контакта.
Долг контакту
Пользовательское поле: Долг контакту

Создадим небольшой сценарий, чтобы поле «Долг контакту» автоматически обновлялось при добавлении финопераций в задачу, указанную в поле «Баланс».

Автоматический сценарий: Долг контакта
Автоматический сценарий: Долг контакта

Цель сценария — просто «дернуть» контакт, что вызовет пересчёт его вычисляемых полей. Такое решение временно, пока в сценариях ПланФикса у контакта отсутствует команда «Пересчитать вычисляемое поле».

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

  • Начисление — здесь фиксируется начисленная сумма исполнителю за выполненные работы, штрафы, премии и т.д.
Шаблон задачи: Начисление
Шаблон задачи: Начисление
  • Выплата – фиксирует факт выплаты исполнителю.

Теперь будем добавлять финоперации в качестве подзадач в задачу, указанную в поле «Баланс» карточки контакта.

Для этого при завершении начисления или выплаты запускаем сценарий:

Завершена: Создаём путь операции
Автоматический сценарий: «Завершена: Создаём Финоперацию»

Он создаёт подзадачу по шаблону «Финоперация»:

Шаблон задачи: Финоперация

Чтобы не беспокоить сотрудников ненужными уведомлениями, устанавливаем постановщиком робота (Bot) по нашим техническим задачам в шаблонах «Финоперация» и «Баланс контакта», а исполнителя не указываем.

При создании финоперации сначала сценарием устанавливаем информационные поля и фиксируем созданную финоперацию в спецполе начисления / выплаты:

Автоматический сценарий: Надзадача.Финоперация
Автоматический сценарий: Надздача.Финоперация

Затем, если поле контакта «Баланс» не содержит ссылку на задачу для подсчёта долга (т.е. это первая финоперация у контакта), сценарием создаём новую задачу по шаблону «Баланс контакта» и прописываем её в поле контрагента «Баланс».

Создаем баланс
Автоматический сценарий: Создаем баланс

И, при необходимости, переносим созданную финоперацию в поле «Баланс».

Это почти всё, чтобы получить результат! Но есть пара важных моментов, необходимых, чтобы обеспечить целостность данных:

  • При переводе начислений и выплат в статус «В работе» — удаляем созданную финоперацию:
Автоматический сценарий: Не завершена: Финоперацию удаляем
Автоматический сценарий: «Не завершена: Финоперацию удаляем»
  • При удалении начислений и выплат поступаем аналогично.
 Автоматический сценарий:  «Удалена: Удаляем финоперацию»
Автоматический сценарий: «Удалена: Удаляем финоперацию»

Теперь всё красиво – никакие действия пользователя не приведут к неправильным расчётам поля «Долг контакта».

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

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

Вот несколько вариантов:

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

И наверняка есть варианты, о которых пока не догадываюсь))) Пишите идеи в комментариях – обсудим.


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

9 комментариев

    1. Иногда интегратору стоит заморочиться, чтобы конечному пользователю меньше заморачиваться :). Перефразируя известную фразу “Работать должны роботы и интеграторы” 🙂
      Но на самом деле там всё просто, просто попробуй по шагам реализовать, всё само прояснится 🙂

  1. Ох да, интрига! Я уж думал моя многолетняя мечта сбылась))

    Но внесение фин.данных в виде подзадач… Не во все бизнес-процессы получится встроить, да и с таким количеством технических задач будет сложновато персоналу работать.

    Спасибо за кейс, в любом случае!

    1. Мне пока не попадались кейсы куда нельзя встроить пару сценариев :).

      “с таким количеством технических задач будет сложновато персоналу работать”
      Так и не надо персоналу с ними работать, это всё идёт “подкапотно” 🙂

      1. Может не понял из кейса, у нас так: от одного клиента несколько задач (может быть открыто одновременно несколько). План-факт по оплате вносим аналитиками в эти задачи.
        Соответственно, такой кейс не применим к нам? Ведь в поле “задача” контакта может быть только одна задача?

        1. Владимир, возможно я до конца не понял ваш кейс, но предполагаю, что описаный подход вам подойдёт, просто в задаче Баланс нужно завести 2 поля типа “Сумма подзадач”, одно для Факт, второе – План. А вывести в карточку контакта можно одним (собрать в одно вычисляемое поле типа строка оба значения)

  2. Очень интересно, пытаюсь разобраться по шагам 🙂 Сделал, но не работает, скорее всего упираюсь в шаблоны задач. Можно ли показать шаблоны “Финоперация” и “БалансКонтакта”.

    1. Дмитрий, здравствуйте!

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

      Наводка: Используйте команду сценария котнакта “Вычислить значение поля” с помощью которой пересчитывайте поле “Долг контакта” типа Число.

      Финоперации и прочие сложности сейчас без необходимости)

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