+7 (999) 881-15-11

Рассылка расчётных листков в Max из 1С

Июль 2026 · Редакция «Арете-ИТ»

Расчётный листок можно доставить сотруднику через бота Max, но это не обычная рассылка одного вложения. Для каждого физического лица 1С формирует отдельный PDF и выбирает отдельного адресата.

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

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

Вызванная в примере процедура ОтправитьФайлВMax написана на стандартных объектах платформы и приведена в инструкции по файловому обмену.

Запускайте обработку фоновым или регламентным заданием, сначала на тестовой группе. Общие принципы очереди описаны в статье об отложенной отправке, а файловый обмен — в инструкции по вложениям.

Граница ответственности подсистемы

Стандартная рассылка в «Арете — сервер мессенджеров, Max edition» готовит материал один раз для всех получателей, поэтому для расчётных листков нужен собственный обработчик: именно он строит персональный PDF. Подсистема принимает результат и берёт на себя загрузку, token, журнал и повторы.

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

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

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