+7 (999) 881-15-11

Счёт-фактура из 1С в Max

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

Счёт-фактуру можно передать контрагенту в Max как PDF: сформировать печатную форму, записать её в поток и отправить вложением типа file. Это удобная копия для просмотра, но не замена электронному документу, подписанному через ЭДО.

Во многих процессах счёт-фактуру заменяет УПД со статусом 1. Определите вид документа до печати: одинаковое имя файла не поможет заметить, что покупателю отправили не ту форму. Сценарий с УПД разобран отдельно.

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

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

Сам файловый обмен состоит из получения URL, multipart-загрузки и отправки token. Его подробное описание и исходный код процедуры ОтправитьФайлВMax находятся в статье о файлах.

Вариант с готовой подсистемой

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

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

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

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