Отчетность — неотъемлемая часть работы практически каждого сотрудника в любой компании. Менеджеры пишут свои планы на новую неделю и отчет за прошедшую, руководитель отдела вручную формирует сводный отчет и передает его на уровень выше... Обычно это делается в текстовом редакторе. Наш заказчик попробовал делать отчет, используя функционал сделок Битрикс24. Мы развили его идею и предложили автоматизацию отчетности при помощи смарт-процессов в Битрикс24.
1. Еженедельная отчетность по итогам работы.
Кейс, проблематика
Опишем вкратце запрос клиента.
Он работает в Битрикс24, в основном с задачами. Еженедельно клиенту необходимо заполнять файл отчета для аппаратного совещания. Отчет заполняют сотрудники всех отделов вручную в обычном текстовом формате. В отчете фиксируется план работ на каждую неделю и итог по результатам работы каждой недели.
Передача файлов из смарт-процессов Битрикс24 в Telegram, а значений полей — в таблицу Эксель: кейс по ссылке.
Чтобы сформировать отчет, сотрудники находят нужный файл на диске далее просматривают задачи за отчетный период и копируют необходимые данные в файл с отчетом.
Наш заказчик попробовал перевести ведение отчета в сделки. Он создал для этого несколько воронок сделок, соответствующих каждому отдельному подразделению компании. В каждой сделке в специальных полях фиксировался план на неделю и отчет по итогам.
Миграция из Google Sheets в смарт-процессы Битрикс24 с автоматической генерацией документов с QR-кодом: читайте в нашем блоге.
Далее нужно было вручную формировать небольшой документ с этими данными и сохранять его на диск Битрикс24 в папке с отчетностью. Но такой метод также был не совсем удобен, так как подразумевал ручной труд.
В идеале клиент хотел реализовать такой сценарий:
1.1. Задача ставится из сделки.
1.2. Когда задача закрывается, сотрудник указывает ее результат.
1.3. Результат задачи попадает в поле сделки "Отчет за неделю".
Перенос дел типа “Письмо” с вложениями из сделок и контактов Битрикс24 в компании Битрикс24 с удалением дубликатов: наводим порядок в статье.
1.4. Затем автоматически генерируется документ с данными о плане и итогах работы и сохраняется на общем диске. Этот документ затем используется для формирования общего отчета.
Решение
Мы предложили реализовать решение не на сделках (чтобы не засорять портал), а на смарт-процессах. Для каждого проекта, по которому ведутся задачи, создается отдельный смарт-процесс, и документ с еженедельным отчетом генерируется из карточки смарта.
Далее расскажем о настройке интеграций для автоматизации отчетности по работе с задачами в Битрикс24.
2. Интеграция для записи данных по задаче в смарт-процесс
2.1. Шаг 1: Откуда
Получаем данные из Битрикс24 в момент обновления задачи (задача закрыта, указан результат задачи - указываем это дополнительным запросом).
2.2. Шаг 2: Инструменты
- Проверяем, что есть привязка к смарту у задачи
Используем инструмент проверки по полю source.ufCrmTask.0. Условие - не пустое значение, действие - продолжить, если проверка пройдена.
- Разбиваем ID Смарта
Преобразуем строку в массив в поле source.ufCrmTask.0.
- Получаем список результатов задачи
Используем API-запрос POST-методом.
URL - /tasks.task.result.list
Тело - { "taskId" : {{source.id}} }
Заголовки: Content-Type: application/json Accept: application/json
- Получили смарт и взяли поле отчета
Используем API-запрос POST-методом.
URL - /crm.item.get
Тело - { "entityTypeId":1036, "id":{{step4.1}} }
Заголовки: Content-Type: application/json Accept: application/json
- Получим строку
Используем инструмент Если-иначе по полю source. Условие - Существует, Результат при успешной проверке = {{step5.result.item.ufCrm6_1732870381}} \n {{step2.result.0.formattedText}}, Результат при неуспешной проверке = {{step5.result.item.ufCrm6_1732870381}} \n {{step2.result.0.formattedText}} (это поле с результатом задачи).
- Обработка
Используем замену по регулярному выражению. Название поля - step9, Регулярное выражение = /\n/, Строка для замены - \n.
2.3. Шаг 3: Куда
Обновляем смарт-процесс:
2.4. Шаг 4: Сопоставление данных
Можем опустить настройки.
2.5. Шаг 5: Запуск
Запускаем интеграцию.
3. Генерация документа из смарт-процесса
3.1. Шаг 1: Откуда
Интеграция запускается по расписанию, так как формирование отчета нужно раз в неделю, поэтому первый шаг в настройке пропустим (настройки могут быть произвольные).
Запуск по расписанию осуществляется с помощью инструмента Пинкит "Расписание интеграций":
3.2. Шаг 2: Инструменты
- Проверяем направление воронки
Используем проверку по полю source.categoryId. Условие - ЧислоРавно, сравниваемое значение - 10.
- Запускаем бизнес-процесс, формирующий документ (шаблон бизнес-процесса мы настроили ранее в Битрикс24).
Используем API-запрос POST-методом.
URL - /bizproc.workflow.start
Тело - { "TEMPLATE_ID": "208", "DOCUMENT_ID": [ "crm", "Bitrix\\Crm\\Integration\\BizProc\\Document\\Dynamic", "DYNAMIC_1036_8" ] }
Заголовки - Content-Type: application/json Accept: application/json
- Прерывание
Используем проверку по полю source.startedFromInstrument. Условие - Существует, Действие - Продолжить, если проверка пройдена.
На этом этапе интеграция прерывается, следующие шаги можно пропустить. Интеграция запускает по каждому смарту бизнес-процесс, который создает файл из шаблонов документов и грузит его на диск.
4. Обновляем данные в полях смартов
Интеграция также запускается по расписанию.
4.1. Шаг 1: Откуда
Настройка здесь не влияет на работу интеграции, так как запуск осуществляется не на шаге 1, а по расписанию. Укажем, к примеру, создание смарта.
4.2. Шаг 2: Инструменты
- Проверяем направление воронки
Используем проверку по полю source.categoryId. Условие - ЧислоРавно, сравниваемое значение - 10.
4.3. Шаг 3: Куда
Обновляем смарт-процесс:
4.4. Шаг 4: Сопоставление данных
Сопоставляем смарты по ID смарт-процесса:
И добавляем пользовательские сопоставления:
Обновляем планы на эту неделю
Тип: Тело
Название параметра: fields.ufCrm6_1732870353
Значение параметра: {{source.ufCrm6_1732870391}}
Очищаем планы на следующую
Тип: Тело
Название параметра: fields.ufCrm6_1732870391
Значение параметра: '' Очищаем отчет за неделю
Тип: Тело
Название параметра: fields.ufCrm6_1732870381
Значение параметра: ''
Так мы очищаем поля смарта и подготавливаем его к очередной рабочей неделе.
5. Итог
Резюмируем.
При помощи нескольких интеграций мы автоматически генерируем еженедельные отчеты, используя поле Результат в задачах. Значение этого поля автоматически попадает в смарт-процесс, затем генерируется файл, и далее эти поля очищаются и заполняются новыми данными.
Остались вопросы? Спросите у нас в Телеграм или WhatsApp.
Если вам нужна интеграция с сервисом, которого в Пинкит нет, или приватное событие/действие, через Пинкитбилдер вы можете самостоятельно добавить авторизацию, необходимые события и действия без разработки.
Протестируйте Пинкит, зарегистрировавшись в личном кабинете по ссылке: https://lk.pinkit.io/register.
Алексей Окара, продакт-менеджер Пинкит
#пинол #пинкит #pinall #pinkit #bitrix24 #битрикс24 #amo #amocrm #амо #амоцрм #crm #црм #црмсистема #црм_система #внедрениецрм #интеграция #миграция #обмен