Фотографии из 1С в Max
Март 2026 · Редакция «Арете-ИТ»
Фотографии и остальные изображения передаются в Max как вложения типа image.
Параметр photo больше не поддерживается. Для одного изображения действуют сразу
два ограничения: до 50 МБ и не более 7680×7680 пикселей.
Чем картинка отличается от файла
Последовательность знакомая:
POST /uploads
с type=image → заливка на iu.oneme.ru →
POST /messages
с вложением type=image и payload.token.
В чате появится изображение с предпросмотром. Документ, который нужно скачать без потери
структуры и качества, лучше отправлять как обычный файл.
Двоичные данные можно получить стандартным конструктором
Новый ДвоичныеДанные(ПутьКФайлу), взять из хранилища значения
или получить из временного хранилища. В клиент-серверном варианте путь читается
на той стороне, где выполняется код: сервер не увидит файл на рабочем столе пользователя.
В примере используется процедура ОтправитьФайлВMax из
статьи о файлах. Она целиком написана
на стандартных объектах 1С; последний аргумент определяет вид вложения.
ОтправитьФайлВMax( ТокенБота, ИдПользователя, ДвоичныеДанные, "photo.jpg", "Фото с объекта", "image");
Для image token может содержаться в URL, выданном /uploads,
либо вернуться в ответе на загрузку. После передачи данных изображению тоже требуется время
на обработку, поэтому код должен уметь повторить отправку при attachment.not.ready.
Если картинка уже доступна по публичному HTTPS-адресу, Max позволяет передать этот адрес
в attachments.payload.url и обойтись без предварительной загрузки.
Для файлов и видео такой вариант не предусмотрен.
В одно сообщение можно включить до 12 изображений и видео суммарно. Inline-клавиатура считается отдельным вложением, поэтому рядом с ней останется не более 11 медиавложений.
Как это выглядит в «Арете — сервер мессенджеров, Max edition»
В подсистеме multipart, token и повторная отправка скрыты внутри транспортного модуля:
Параметры = Новый Структура;
Параметры.Вставить("user_id", ИдПользователя);
Параметры.Вставить("text", "Фото с объекта");
АСМ_М.ВложитьИзображение(Параметры, ДвоичныеДанные, "photo.jpg");
АСМ_М.ОтправитьСообщение(Бот, Параметры);
ВложитьИзображение принимает двоичные данные, путь к файлу на сервере
или адрес временного хранилища. Общий модуль выбирает тип image,
ищет ранее сохранённый token и при необходимости загружает данные.
Нужен ролик, а не кадр — см. отправку видео. Нужен текст без картинки — отправка в Max из 1С.