Отправка отчетов (СКД) и файлов в группу МАКС
Интеграция - Мессенджеры и боты
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Отправка сообщений и отчётов (СКД) в MAX
Инструкция для администратора и пользователя. Описывает расширение конфигурации «Отправка сообщений и отчётов (СКД) в MAX» и внешнюю обработку «Пример отчёта для рассылки в MAX».
1. Назначение и возможности
Расширение добавляет в конфигурацию отправку сообщений в группы мессенджера MAX:
- ручная отправка текста и одного файла в выбранную группу — обработка «Отправка сообщений в MAX»;
- журнал отправок: результат каждой отправки и очистка устаревших записей;
- хранение ботов и групп в справочниках «Боты MAX» и «Группы MAX».
Вместе с расширением поставляется пример внешней обработки «Пример отчёта для рассылки в MAX». Она регистрируется в подсистеме БСП «Дополнительные отчёты и обработки», формирует отчёт по схеме компоновки данных, выгружает его в выбранном формате (PDF, DOCX, XLSX, ODS или MXL) и рассылает в выбранные группы — вручную из формы или по расписанию.
Отправка выполняется асинхронно: форма запускает фоновое задание, а результат записывается в журнал отправок.
2. Требования и состав поставки
Требования:
- 1С:Предприятие 8.3.27 (режим совместимости расширения — 8.3.27);
- Библиотека стандартных подсистем — для внешней обработки нужен механизм «Дополнительные отчёты и обработки» (базовая версия 2.2.4.1);
- доступ с сервера 1С в Интернет по адресу
platform-api2.max.ru(HTTPS, порт 443); - сертификаты удостоверяющих центров MAX в хранилище сертификатов операционной системы сервера;
- профиль безопасности информационной базы, разрешающий доступ к внешним интернет-ресурсам.
Режим совместимости расширения — 8.3.27, как у актуальных типовых конфигураций. Если конфигурация старше и её режим совместимости ниже, понизьте режим совместимости расширения самостоятельно: в свойствах расширения задайте «Режим совместимости» и «Режим совместимости расширения» не выше, чем у расширяемой конфигурации. Код расширения проверен на совместимость с 8.3.24.
Состав расширения:
| Объект | Назначение |
|---|---|
| Справочник «Боты MAX» | боты и их токены |
| Справочник «Группы MAX» | группы MAX и обслуживающий их бот |
| Обработка «Отправка сообщений в MAX» | ручная отправка сообщения в группу |
| Регистр сведений «Журнал отправок в MAX» | результаты отправок |
Общий модуль КвМАКС_ОтправкаСообщений |
работа с сервисом MAX |
Общий модуль КвМАКС_ОтправкаСообщенийВызовСервера |
запуск фонового задания отправки |
Общий модуль КвМАКС_РассылкаОтчетов |
рассылка отчётов по расписанию |
| Подсистема «Отправка в MAX» | раздел интерфейса |
| Роль «КвМАКС полный доступ» | права на объекты расширения |
Файлы поставки:
- Расширение —
КвМАКС_ОтправкаВMAX-1.cfe. Загружается в конфигурацию: Конфигуратор → Расширения конфигурации → Добавить → Загрузить из файла. Суффикс-1в имени появляется при повторной выгрузке, когда файл с таким именем уже существует; на работу не влияет. - Пример внешней обработки —
ДемоВнешняяОбработкаОтправкаОтчётаВМАКС.epf. Регистрируется в подсистеме «Дополнительные отчёты и обработки» (раздел 7). - README.md — эта инструкция.
Версию расширения в имени файла не указываем: она видна в свойствах расширения после загрузки. Версия примера обработки показывается в списке дополнительных отчётов и обработок.
3. Быстрый старт
- Создайте бота в MAX и получите его токен.
- В справочнике «Боты MAX» создайте элемент: наименование бота и токен.
- Добавьте бота в группу MAX и узнайте идентификатор группы.
- В справочнике «Группы MAX» создайте элемент: наименование группы, бот и идентификатор группы.
- Откройте обработку «Отправка сообщений в MAX», выберите бота и группу, введите текст сообщения (при необходимости приложите файл) и нажмите «Отправить».
- Результат отправки смотрите в журнале отправок в MAX.
4. Настройка справочников
4.1. Боты MAX
Справочник хранит ботов, от имени которых отправляются сообщения. Он иерархический: ботов можно группировать.
Поля карточки:
- Наименование — произвольное название бота, до 100 символов.
- Код — до 10 символов, заполняется автоматически.
- Токен — ключ доступа бота, до 500 символов. Подсказка в карточке: «Спросите у Алисы, как получить токен.»
Токен выдаётся на платформе MAX для партнёров после создания бота. Порядок действий описан в документации MAX:
- создание профиля организации — https://dev.max.ru/docs/maxbusiness/connection;
- создание бота и получение токена — https://dev.max.ru/docs/chatbots/bots-create.
4.2. Группы MAX
Справочник хранит группы MAX, в которые можно отправлять сообщения.
Поля карточки:
- Наименование — произвольное название группы, до 100 символов.
- Код — до 10 символов, заполняется автоматически.
- Бот — бот, который обслуживает эту группу. Бот должен быть добавлен в группу в самом мессенджере.
- Идентификатор группы MAX — до 50 символов. Подсказка в карточке: откройте группу в браузере — адрес страницы будет вида
https://web.max.ru/-1234567890, где-1234567890и есть идентификатор группы.
5. Отправка сообщения в группу
Обработка «Отправка сообщений в MAX» открывается из раздела «Отправка в MAX».
На форме заполняются:
- Бот — бот-отправитель. При смене бота выбранная группа очищается;
- Группа — группа MAX, в которую отправляется сообщение;
- Текст сообщения — до 4000 символов;
- Файл — имя приложенного файла, поле доступно только для чтения.
Команды формы:
- Выбрать файл — выбрать файл для отправки;
- Очистить файл — убрать выбранный файл;
- Отправить — отправить сообщение;
- Очистить журнал — удалить устаревшие записи журнала (см. раздел 6).
Перед отправкой проверяется, что выбран бот, выбрана группа, группа относится к выбранному боту и заполнен текст или выбран файл. Если какое-то условие не выполнено, выводится сообщение и отправка не запускается.
После нажатия «Отправить» появляется оповещение «Отправка запущена», а результат записывается в журнал отправок. Результат не выводится в диалог, потому что отправка выполняется в фоновом задании.
Тип вложения определяется по расширению имени файла:
| Тип | Расширения |
|---|---|
| image | jpg, jpeg, png, gif, tiff, bmp, heic |
| video | mp4, mov, mkv, webm |
| audio | mp3, m4a |
| file | все остальные |
6. Журнал отправок
Журнал отправок в MAX открывается из раздела «Отправка в MAX». В нём фиксируется каждая отправка:
- Период — дата и время отправки (регистр периодический, с точностью до секунды);
- Группа — группа MAX;
- Текст сообщения и Имя файла — что отправлялось;
- Результат отправки — «Отправлено» либо описание ошибки;
- Номер попытки — номер попытки, на которой отправка завершилась.
Очистка журнала: в поле «Хранить дней» указывается срок хранения (при открытии формы — 30 дней), затем нажимается «Очистить журнал» и подтверждается удаление. Записи старше указанного числа дней удаляются, число удалённых записей выводится сообщением.
7. Рассылка отчётов по расписанию
Пример внешней обработки «Пример отчёта для рассылки в MAX» показывает, как формировать отчёт и рассылать его в группы MAX.
Регистрация
Обработка регистрируется в подсистеме БСП «Дополнительные отчёты и обработки»: в списке дополнительных отчётов и обработок добавьте внешний файл обработки. В карточке элемента, на странице «Команды», появятся две команды:
- Пример отчёта для рассылки в MAX — открытие формы обработки;
- Рассылка “Пример отчёта” в MAX — вызов серверного метода, её можно поставить на расписание.
Размещать команду открытия формы в разделах интерфейса не нужно: на практике форму всегда открывают из карточки элемента (см. ниже).
Настройка
Открывайте форму обработки из карточки элемента справочника «Дополнительные отчёты и обработки», а не файлом .epf. Если открыть файл напрямую (Файл → Открыть) или запустить обработку из файла, настройки будут недоступны: список групп рассылки окажется пустым, а сохранить настройки будет некуда.
Почему так. Настройки рассылки хранятся не в файле обработки, а в самом элементе справочника — в его реквизите «Хранилище настроек». Подсистема записывает туда структуру настроек при нажатии «Сохранить настройки» и читает её при открытии формы. Ссылку на элемент справочника (параметр ДополнительнаяОбработкаСсылка) форма получает только тогда, когда её открывает подсистема — из карточки или из раздела. При прямом открытии файла этот параметр не передаётся, поэтому настройки не с чем связать.
Порядок настройки:
- Откройте список справочника «Дополнительные отчёты и обработки» (в разделе администрирования; если не нашли — Все функции → Справочники → Дополнительные отчёты и обработки).
- Откройте карточку элемента с обработкой «Пример отчёта для рассылки в MAX».
- На странице «Команды» выделите строку команды «Пример отчёта для рассылки в MAX» и нажмите «Выполнить» — откроется форма обработки.
- На странице «Параметры выполнения регламента»:
- заполните «Заголовок сообщения» — из него формируются имя файла и текст сообщения; по умолчанию подставлено «Пример отчёта для рассылки в MAX»;
- укажите «Формат файла» — PDF, DOCX, XLSX, ODS или MXL (формат HTML сервис MAX во вложении не принимает); по умолчанию PDF;
- в таблице «Группы рассылки» отметьте флажками группы, в которые нужно отправлять отчёт;
- заполните «Код инициализации параметров» — фрагмент на встроенном языке, который задаёт значения параметров отчёта. Кнопка «Заполнить по параметрам схемы» подставляет шаблон со всеми параметрами отчёта;
- нажмите «Сохранить настройки».
Кнопка «Сформировать и отправить» сохраняет настройки автоматически перед отправкой — отдельно нажимать «Сохранить настройки» не обязательно. Если обработка открыта как файл .epf, сохранить настройки некуда: выводится сообщение об этом, и отправка не запускается.
Пример кода инициализации:
// Значения параметров отчёта. Укажите нужные и сохраните настройки.
ПараметрыОтчета.НачалоПериода = НачалоГода(ТекущаяДатаСеанса());
ПараметрыОтчета.КонецПериода = КонецМесяца(ТекущаяДатаСеанса());
// Переопределим организацию: возьмём первую непомеченную на удаление.
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| Организации.Ссылка КАК Ссылка
|ИЗ
| Справочник.Организации КАК Организации
|ГДЕ
| НЕ Организации.ПометкаУдаления");
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ПараметрыОтчета.Организация = Выборка.Ссылка;
Иначе
ПараметрыОтчета.Организация = Справочники.Организации.ПустаяСсылка();
КонецЕсли;
Код инициализации — обычный фрагмент на встроенном языке: в нём можно выполнять запросы, использовать условия и циклы, обращаться к справочникам. Параметры отчёта: «Начало периода», «Организация», «Конец периода». Выполняется код в безопасном режиме — опасные действия в нём запрещены.
Параметр, который код не задал, остаётся со значением по умолчанию из схемы отчёта. Поэтому отчёт не окажется пустым, даже если код инициализации задаёт не все параметры.
Расписание
В карточке дополнительной обработки для команды рассылки укажите расписание. При срабатывании расписания отчёт формируется, выгружается в выбранном формате и отправляется во все отмеченные группы.
Имя файла и текст сообщения формируются из поля «Заголовок сообщения» и даты выполнения. По умолчанию заголовок совпадает с названием обработки — «Пример отчёта для рассылки в MAX»:
- Имя файла:
<Заголовок сообщения> <дата и время>.<расширение формата>— например,Пример отчёта для рассылки в MAX 10.10.2026 14-35.pdf. В имени файла время записывается через дефис: двоеточие в именах файлов недопустимо. - Текст сообщения:
<Заголовок сообщения> <дата и время>— например,Пример отчёта для рассылки в MAX 10.10.2026 14:35.
Период отчёта в сообщение не добавляется: он виден в самом файле отчёта.
Возможные ошибки при формировании рассылки:
- если отчёт не содержит данных — «Отчёт не сформирован или не содержит данных за указанный период.»;
- если ни одна группа не отмечена — «В настройках обработки не выбраны группы рассылки.».
Страница «Тест выполнения» показывает сформированный отчёт — её удобно использовать для проверки перед постановкой на расписание.
8. Диагностика и типовые ошибки
Где смотреть причину:
- Журнал отправок в MAX — результат и текст ошибки по каждой отправке;
- Журнал регистрации — события «Фоновое задание» по заданию «Отправка сообщения в MAX»: если задание не выполнилось, причина указана там.
Типовые ситуации:
| Сообщение или симптом | Что делать |
|---|---|
| «Установлен безопасный режим: доступ к Интернету запрещён, поэтому работа с сервисом MAX невозможна…» | Разрешить доступ к внешним интернет-ресурсам: проверить профиль безопасности информационной базы, а для внешних обработок — снять флаг «Безопасный режим» в сведениях о внешней обработке |
| Регламентное задание рассылки не выполняется, в журнале регистрации — «Изменилась строка соединения информационной базы…» | Информационная база распознана как копия, платформа заблокировала работу с внешними ресурсами. Снять блокировку: Администрирование → Обслуживание → «Разблокировать работу с внешними ресурсами», затем включить расписание заново |
| «Не заполнен токен бота MAX.» | Заполнить токен в справочнике «Боты MAX» |
| «Не заполнен идентификатор группы MAX.» | Заполнить идентификатор группы в справочнике «Группы MAX» |
| «Не указана группа MAX.» | Выбрать группу на форме |
| «Сервис MAX вернул код состояния 401…» | Проверить токен бота и то, что бот добавлен в группу |
| «Сервис MAX вернул код состояния … Ответ: …» | Текст ответа сервиса записан в журнале — разбирать по документации MAX |
| «Сервис MAX не вернул адрес загрузки файла.» / «Сервис MAX не вернул токен загруженного файла.» | Смотреть ответ сервиса в журнале; проверить тип и размер файла |
| «Некорректный адрес файла … во временном хранилище» | Файл не был помещён во временное хранилище — выбрать файл заново |
| «Сервис MAX не успел обработать вложение за 8 попыток.» | Сервис не успел обработать вложение; повторить отправку позже или уменьшить размер файла |
| «Ошибка при отправке: …» | Непредвиденная ошибка фонового задания, подробности — в тексте сообщения и журнале регистрации |
| Оповещение «Отправка запущена» есть, а записи в журнале нет | Смотреть журнал регистрации по фоновому заданию «Отправка сообщения в MAX» |
9. Ограничения и известные особенности
- В одно сообщение можно приложить только один файл — так ограничивает сервис MAX.
- Текст сообщения — до 4000 символов.
- Отправка асинхронная: результат появляется в журнале отправок, а не в диалоге.
- Если сервис MAX ещё не обработал вложение (отвечает
attachment.not.ready), отправка повторяется автоматически: до 8 попыток, пауза — 2 секунды, умноженные на номер попытки, но не более 15 секунд. - Отчёт выгружается в формате из настроек рассылки (по умолчанию PDF).
- Для рассылки отчёта по расписанию обработка должна быть зарегистрирована в «Дополнительных отчётах и обработках»; при открытии файла
.epfнапрямую ссылка на элемент справочника не передаётся и настройки рассылки недоступны. - Роль «КвМАКС полный доступ» разрешает ввод и изменение элементов справочников «Боты MAX» и «Группы MAX», но не разрешает их удаление — доступна только пометка на удаление.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.208.14
Вступайте в нашу телеграмм-группу Инфостарт