MMSВложение.По умолчанию

Конструкторы

Синтаксис и применение MMSВложение.По умолчанию в платформе 1С:Предприятие. Описание и примеры кода.

Синтаксис

Новый MMSВложение
Полное описание, параметры и ограничения

MMSВложение.По умолчанию

MMSВложение (MMSAttachment)

По умолчанию

Синтаксис:
Новый MMSВложение
Методическая информация

Практические примеры

Прикрепить собственные UTF8-данные к новому SMS без отправки MMS

MMSВложение хранит двоичные данные и MIME-тип. Объект вложения в массиве остаётся тем же объектом при изменении его данных.

Где и как запускать

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

Подготовка

  1. Используйте отдельную конфигурацию УчебнаяКонфигурацияСинтаксиса. Создайте серверный общий модуль УчебныеЧерновики с флагом Сервер, вставьте полный код выбранного урока и вызовите ВыполнитьПример из серверного обработчика учебной обработки.

  2. SMSСообщение доступен на сервере, но наличие объекта не означает наличие SIM-карты или права отправлять SMS. Эти опыты работают только с новым объектом в памяти.

  3. Номера +000000000000 и +000000000001 намеренно вымышлены и непригодны для отправки. Не заменяйте их своими контактами: урок показывает коллекцию, а не доставку.

  4. Нет чтения журнала SMS, системного редактора, отправки, мобильных разрешений, сети или записи в базу. Не добавляйте методы отправки к этому коду.

Процедура ВыполнитьПример() Экспорт
    Черновик = Новый SMSСообщение;
    Черновик.Отправитель = "УчебныйСклад";
    Черновик.Текст = "Книга: 3 шт. по 250, итого 750. Учебный черновик, не отправлять.";
    ТекстВложения = "Книга;3;250;750" + Символы.ПС;
    ДанныеВложения = ПолучитьДвоичныеДанныеИзСтроки(ТекстВложения, КодировкаТекста.UTF8, Ложь);
    Вложение = Новый MMSВложение;
    Вложение.Данные = ДанныеВложения;
    Вложение.ТипСодержимого = "text/plain; charset=utf-8";
    Черновик.Вложения.Добавить(Вложение);
    ИзМассива = Черновик.Вложения[0];
    Сообщить(Черновик.Вложения.Количество() = 1);
    Сообщить(ИзМассива.ТипСодержимого = "text/plain; charset=utf-8");
    Сообщить(ПолучитьСтрокуИзДвоичныхДанных(ИзМассива.Данные, КодировкаТекста.UTF8) = ТекстВложения);
    Вложение.Данные = ПолучитьДвоичныеДанныеИзСтроки("Книга;4;250;1000" + Символы.ПС, КодировкаТекста.UTF8, Ложь);
    Сообщить(СтрНайти(ПолучитьСтрокуИзДвоичныхДанных(ИзМассива.Данные, КодировкаТекста.UTF8), "1000") > 0);
    Сообщить(ПолучитьСтрокуИзДвоичныхДанных(ДанныеВложения, КодировкаТекста.UTF8) = ТекстВложения);
    Черновик.Вложения.Очистить();
    Сообщить(Черновик.Вложения.Количество() = 0);
КонецПроцедуры

Разбор по шагам

  1. Получить UTF8-байты собственного короткого текста без BOM и без файла.

  2. Создать MMSВложение, присвоить Данные и ТипСодержимого, добавить его в массив нового SMS.

  3. Прочитать вложение через массив, декодировать и проверить исходный текст.

  4. Присвоить объекту вложения новые байты с суммой 1000: сохранённая ссылка ИзМассива видит изменение.

  5. Старое значение ДанныеВложения по-прежнему содержит исходные байты. Очистить массив только собственного черновика.

Как проверить результат

  1. Шесть сообщений Истина, включая различие новых байтов 1000 и прежних байтов 750.

  2. Нет файлов, сети, доступа к журналу или передачи вложения адресату.

Ожидаемый результат

Полный пример своего мультимедийного вложения с проверкой кодировки, MIME и ссылочной природы объекта.

На что обратить внимание

  1. MIME описывает содержимое, не преобразует его и не проверяет безопасность.

  2. Добавление вложения не подтверждает поддержку MMS устройством или оператором.

  3. Не прикрепляйте чужие файлы и не выполняйте содержимое вложений.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.