В предыдущей статье мы поставили вопрос «Как реализовать выставление счетов по задачам при почасовой оплате труда в Битрикс24?». Но ответа на вопрос не прозвучало… Давайте продолжим обзор этой темы и, наконец, узнаем как автоматически выставить счет на основании закрытых задач. Давайте убедимся, что это очень просто…
Посмотрите этот счет и приложение к нему. Клиент получил этот счет и сопроводительное письмо после перевода сделки в стадию "Выставить счет". Всего один клик на форме сделки...
Мы рассмотрим следующий алгоритм выставления счета:
- Завершение задачи и добавление информации в сделку;
- Отправка заказчику письма по электронной почте на предмет согласования работ;
- Выставление счета в конце месяца.
Для этого нам потребуется приложение « Конструктор документов: Автоматизация» и настройка событий «При завершении задачи» и «При изменении сделки»
1. Завершение задачи и добавление информации в сделку.
Добавляем новый обработчик события «Выполнение задачи», никаких дополнительных условий нам тут не нужно.
Задаем название обработчику и сохраняем его. После сохранения обработчика события открываем форму настройки действий.
Добавляем новое действие «Добавить задачу в сделку»
Теперь нам нужно его настроить.
Тип обработчика – «Добавить задачу в сделку», других вариантов нет.
Название – любое, понятное Вам название.
Уведомление – если заполнить это поле, то после завершения работы Вы получить это уведомление. Например, «Обновили сделку [{Deal.ID}] {Deal.TITLE}. Добавлена задача [{Task.TITLE}]»
Способ обновления сделки – мы реализовали три варианта:
-
Обновлять первую строку. В данном случае мы создаем сделку, в которой добавляем одну строку с товаром и просто обновляем количество часов, цену и сумму.
-
Добавлять как товар. В данном случае приложение осуществляет поиск в каталоге товаров по наименованию продукта, совпадающего с названием задачи. Если такой продукт найден, то в сделку добавляется строка, содержащая этот товар. Если продукт не найден, он добавляется в каталог и в сделку.
-
Добавлять как строку. В данном случае мы добавляем в сделку строку и не используем привязку к каталогу товаров. В качестве наименования используется название задачи.
Начислять по фактическим или плановым часам – какой тип часов использовать для расчета.
Стоимость часа – поле, в котором содержится значение часовой ставки. Это может пользовательское поле в сделке Deal.UF_CRM_1504867854. Или пользовательское поле в задачах Task.UF_AUTO_160303617696.
Итак, мы настроили событие «При завершении задачи». Что будет происходить?
У нас есть сделка с одной строкой, с которой связано несколько задач.
У задач могут быть разные ответственные.
Ответственные за задачу сотрудники начинают завершать задачи. Мы получаем уведомления в соответствии с сделанными настройками.
Вместе с уведомлениями начинает изменяться наша сделка.
Вот завершена первая задача.
Вот завершена вторая задача.
Вот завершена третья задача.
Как видите, у нас меняется количество и сумма. В данном примере мы использовали настройку «Обновлять первую строку».
Если нам интересно указать названия задач в каждой строке отдельно, мы выбираем настройку «Добавлять как строку». В этом случае нам не нужно добавлять в сделку пустую строку для обновления. Если Вы используете тарифы «Команда» и «Компания», Вы можете для каждой задачи задать часовую ставку.
В этом случае сделка примет такой вид.
2. Отправка заказчику письма по электронной почте на предмет согласования работ.
Данный процесс выполняется сразу после добавления задачи в сделку. У нас завершился очередной этап работ по проекту и мы хотим уведомить об этом клиента. Добавляем обработчик события «При изменении сделки»
Для корректной работы механизма мы заранее добавили в сделку пользовательское поле «Предыдущая сумма» с типом «число». Это поле нужно для того чтобы избежать зацикливания процесса. Настроим обработчик.
Данное событие будет обрабатываться только в том случае, если стадия сделки «Коммерческое предложение» и сумма сделки не равна предыдущей сумме.
Событие содержит всего два обработчика: отправить письмо клиенту и обновить значение поля «Предыдущая сумма».
Для отправки письма мы указываем шаблон, который будем использовать.
В обработчике изменения объекта мы присваиваем полю «Предыдущая сумма» текущее значение из суммы сделки.
Итак, мы настроили этап согласования выполненных работ. Что при этом происходит в Битрикс24?
-
Ответственный сотрудник завершает задачу (вручную).
-
Задача попадает в сделку и обновляет информацию в ней (автоматически).
-
Формируется письмо и отправляется клиенту для ознакомления или утверждения (автоматически).
Вы можете настроить систему обработки событий так, что клиенту не будет каждый раз при добавлении новой задачи отправляться письмо. Можно настроить отправку письма при переводе сделки в определенную стадию. Как это можно сделать – читайте дальше…
3. Выставление счета в конце месяца.
Наконец мы подошли к ответу на вопрос «Как реализовать выставление счетов по задачам при почасовой оплате труда в Битрикс24?»
При переводе сделки в стадию «Выставить счет» мы автоматически создадим новый счет в формате PDF, наложим на него подпись и печать и отправим по электронной почте клиенту. После отправки изменим стадию сделки на «Ожидаем оплату».
Обратите внимание на параметр «сортировка». Он очень важен, обработчики вызываются в порядке возрастания данного параметра. Нужно быть внимательным при настройке обработчиков: мы же не можем оправить файлы прежде чем они созданы.
Настройка события.
Мы проверяем всего одно условие – стадию сделки.
Если условие выполнено, создаем счет в формате PDF.
Отправляем его по электронной почте.
И переводим сделку в стадию «Ожидаем оплату»
А клиент получает по почте PDF файл, состоящий из двух страниц: подписанный счет и приложение к нему.