+7 (999) 881-15-11

УПД из 1С в Max: отправка печатной формы

Май 2026 · Редакция «Арете-ИТ»

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

В УТ 11.5, КА 2, ERP 2.5 и УНФ источник печатной формы и команда печати различаются, но дальнейшая обработка одинакова. До формирования PDF определите, какой вариант нужен контрагенту: УПД со статусом 1, УПД со статусом 2 или отдельный счёт-фактура.

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

Полученные двоичные данные загружаются как type=file. Max выдаёт token, который передаётся в attachments следующего запроса POST /messages. Полная последовательность, включая multipart и повтор при attachment.not.ready, описана в статье об отправке файлов.

Загрузить УПД и отправить его покупателю
ОтправитьФайлВMax(
	ТокенБота,
	ИдПользователя,
	ДвоичныеДанные,
	"upd-145.pdf",
	"УПД № 145 от 8 сентября, сумма 48 600 ₽");

Номер, дата и сумма позволяют отличить документ прямо в ленте, не открывая вложение. Значения в примере следует получать из документа, а не оставлять константами в рабочем коде. Процедура из примера приведена целиком в статье по ссылке выше и не зависит от подсистемы.

Адресатом может быть пользователь, который уже запускал бота, либо рабочий чат с клиентом. Если документ содержит персональные или коммерчески чувствительные данные, проверяйте сопоставление получателя до постановки сообщения в очередь.

Как отправка УПД выглядит в «Арете — сервер мессенджеров, Max edition»

В подсистеме остаются только подготовка PDF и реквизиты сообщения. Multipart-загрузка, кеш token и повтор при attachment.not.ready выполняются общим модулем:

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

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

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