Найти в Дзене

Генерация отчетов в виде документа на диске в Битрикс24 по расписанию (по проектам и задачам)

Отчетность — неотъемлемая часть работы практически каждого сотрудника в любой компании. Менеджеры пишут свои планы на новую неделю и отчет за прошедшую, руководитель отдела вручную формирует сводный отчет и передает его на уровень выше... Обычно это делается в текстовом редакторе. Наш заказчик попробовал делать отчет, используя функционал сделок Битрикс24. Мы развили его идею и предложили автоматизацию отчетности при помощи смарт-процессов в Битрикс24. Опишем вкратце запрос клиента. Он работает в Битрикс24, в основном с задачами. Еженедельно клиенту необходимо заполнять файл отчета для аппаратного совещания. Отчет заполняют сотрудники всех отделов вручную в обычном текстовом формате. В отчете фиксируется план работ на каждую неделю и итог по результатам работы каждой недели. Передача файлов из смарт-процессов Битрикс24 в Telegram, а значений полей — в таблицу Эксель: кейс по ссылке. Чтобы сформировать отчет, сотрудники находят нужный файл на диске далее просматривают задачи за отчетн
Оглавление

Отчетность — неотъемлемая часть работы практически каждого сотрудника в любой компании. Менеджеры пишут свои планы на новую неделю и отчет за прошедшую, руководитель отдела вручную формирует сводный отчет и передает его на уровень выше... Обычно это делается в текстовом редакторе. Наш заказчик попробовал делать отчет, используя функционал сделок Битрикс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. Шаг 2: Инструменты

  • Проверяем, что есть привязка к смарту у задачи

Используем инструмент проверки по полю source.ufCrmTask.0. Условие - не пустое значение, действие - продолжить, если проверка пройдена.

-3
  • Разбиваем ID Смарта

Преобразуем строку в массив в поле source.ufCrmTask.0.

-4
  • Получаем список результатов задачи

Используем API-запрос POST-методом.

URL - /tasks.task.result.list
Тело - { "taskId" : {{source.id}} }
Заголовки: Content-Type: application/json Accept: application/json
-5
  • Получили смарт и взяли поле отчета

Используем API-запрос POST-методом.

URL - /crm.item.get
Тело - { "entityTypeId":1036, "id":{{step4.1}} }
Заголовки: Content-Type: application/json Accept: application/json
-6
  • Получим строку

Используем инструмент Если-иначе по полю source. Условие - Существует, Результат при успешной проверке = {{step5.result.item.ufCrm6_1732870381}} \n {{step2.result.0.formattedText}}, Результат при неуспешной проверке = {{step5.result.item.ufCrm6_1732870381}} \n {{step2.result.0.formattedText}} (это поле с результатом задачи).

-7
  • Обработка

Используем замену по регулярному выражению. Название поля - step9, Регулярное выражение = /\n/, Строка для замены - \n.

-8

2.3. Шаг 3: Куда

Обновляем смарт-процесс:

-9

2.4. Шаг 4: Сопоставление данных

Можем опустить настройки.

2.5. Шаг 5: Запуск

Запускаем интеграцию.

3. Генерация документа из смарт-процесса

3.1. Шаг 1: Откуда

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

Запуск по расписанию осуществляется с помощью инструмента Пинкит "Расписание интеграций":

-10

3.2. Шаг 2: Инструменты

  • Проверяем направление воронки

Используем проверку по полю source.categoryId. Условие - ЧислоРавно, сравниваемое значение - 10.

-11
  • Запускаем бизнес-процесс, формирующий документ (шаблон бизнес-процесса мы настроили ранее в Битрикс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
-12
  • Прерывание

Используем проверку по полю source.startedFromInstrument. Условие - Существует, Действие - Продолжить, если проверка пройдена.

-13

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

4. Обновляем данные в полях смартов

Интеграция также запускается по расписанию.

4.1. Шаг 1: Откуда

Настройка здесь не влияет на работу интеграции, так как запуск осуществляется не на шаге 1, а по расписанию. Укажем, к примеру, создание смарта.

-14

4.2. Шаг 2: Инструменты

  • Проверяем направление воронки

Используем проверку по полю source.categoryId. Условие - ЧислоРавно, сравниваемое значение - 10.

-15

4.3. Шаг 3: Куда

Обновляем смарт-процесс:

-16

4.4. Шаг 4: Сопоставление данных

Сопоставляем смарты по ID смарт-процесса:

-17

И добавляем пользовательские сопоставления:

Обновляем планы на эту неделю
Тип: Тело
Название параметра: fields.ufCrm6_1732870353
Значение параметра: {{source.ufCrm6_1732870391}}
Очищаем планы на следующую
Тип: Тело
Название параметра: fields.ufCrm6_1732870391
Значение параметра: '' Очищаем отчет за неделю
Тип: Тело
Название параметра: fields.ufCrm6_1732870381
Значение параметра: ''
-18

Так мы очищаем поля смарта и подготавливаем его к очередной рабочей неделе.

5. Итог

Резюмируем.

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

Остались вопросы? Спросите у нас в Телеграм или WhatsApp.
Если вам нужна интеграция с сервисом, которого в Пинкит нет, или приватное событие/действие, через Пинкитбилдер вы можете самостоятельно добавить авторизацию, необходимые события и действия без разработки.
Протестируйте Пинкит, зарегистрировавшись в личном кабинете по ссылке: https://lk.pinkit.io/register.
Алексей Окара, продакт-менеджер Пинкит
-19

#пинол #пинкит #pinall #pinkit #bitrix24 #битрикс24 #amo #amocrm #амо #амоцрм #crm #црм #црмсистема #црм_система #внедрениецрм #интеграция #миграция #обмен