+7 (999) 881-15-11

Квитанции из 1С в Max

Август 2026 · Редакция «Арете-ИТ»

В отраслевых конфигурациях для ЖКХ, садоводств и управляющих организаций квитанции обычно формируются сразу за множество лицевых счетов. Для отправки в Max этот пакет нужно разделить: каждый получатель должен получить только свой документ.

Для каждой строки сопоставьте лицевой счёт с пользователем Max, сформируйте отдельную печатную форму, сохраните её в PDF и отправьте как type=file. Общий многостраничный PDF для списка адресатов здесь недопустим: он раскрывает чужие начисления и персональные данные.

Готовая квитанция одного лицевого счёта в PDF
// ПечатнаяФорма — уже сформированный ТабличныйДокумент.
// Команда и параметры получения формы зависят от конфигурации и вида документа.
Поток = Новый ПотокВПамяти;
ПечатнаяФорма.Записать(Поток, ТипФайлаТабличногоДокумента.PDF);
ДвоичныеДанные = Поток.ЗакрытьИПолучитьДвоичныеДанные();
ИмяФайла = "document.pdf";
Одна квитанция — одному user_id
ОтправитьФайлВMax(
	ТокенБота,
	ИдПользователяЛицевогоСчёта,
	ДвоичныеДанныеКвитанции,
	ИмяФайлаКвитанции,
	"Квитанция за август 2026 года.");

Имя файла должно помогать разбирать журнал, но номер лицевого счёта лучше не дублировать в открытом тексте сообщения без необходимости. Перед массовым запуском проверьте выборку на нескольких тестовых получателях и убедитесь, что связь «лицевой счёт — пользователь Max» однозначна.

Такой процесс ближе к регламентной рассылке, но файл формируется отдельно для каждой строки. Обмен с файловым сервером Max и повтор при attachment.not.ready описаны в статье об отправке файлов.

Какая часть закрывается подсистемой

В «Арете — сервер мессенджеров, Max edition» прикладной обработчик по-прежнему формирует отдельную квитанцию для лицевого счёта. Загрузку в Max, хранение token и повтор выполняет АСМ_М:

Одна квитанция через АСМ_М
ИдПользователя = 123456789; // user_id из карточки получателя
СопроводительныйТекст = "Направляем документ из 1С.";

Параметры = Новый Структура;
Параметры.Вставить("user_id", ИдПользователя);
Параметры.Вставить("text", СопроводительныйТекст);
АСМ_М.ВложитьФайл(Параметры, ДвоичныеДанные, ИмяФайла);
АСМ_М.ОтправитьСообщение(Бот, Параметры);

Читать дальше