Мультимедийное вложение в SMS-сообщение.
Полное описание, параметры и ограничения
MMSВложение (MMSAttachment)
MMSВложение (MMSAttachment)
Доступен, начиная с версии 8.3.5.
Свойства:
Данные (Data)
ТипСодержимого (MIMEType)
Конструкторы:
По умолчанию
Описание:
Мультимедийное вложение в SMS-сообщение.
Доступность:
Мобильный клиент, сервер, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Сериализуется. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен http://v8.1c.ru/8.3/data/mob. Имя типа XDTO: MMSAttachment.
Использование в версии:
Доступен, начиная с версии 8.3.5.
Методическая информация
Практические примеры
Прикрепить собственные UTF8-данные к новому SMS без отправки MMS
MMSВложение хранит двоичные данные и MIME-тип. Объект вложения в массиве остаётся тем же объектом при изменении его данных.
Где и как запускать
Полный серверный общий модуль своей отдельной учебной конфигурации. Только память, без отправки SMS.
Подготовка
Используйте отдельную конфигурацию УчебнаяКонфигурацияСинтаксиса. Создайте серверный общий модуль УчебныеЧерновики с флагом Сервер, вставьте полный код выбранного урока и вызовите ВыполнитьПример из серверного обработчика учебной обработки.
SMSСообщение доступен на сервере, но наличие объекта не означает наличие SIM-карты или права отправлять SMS. Эти опыты работают только с новым объектом в памяти.
Номера +000000000000 и +000000000001 намеренно вымышлены и непригодны для отправки. Не заменяйте их своими контактами: урок показывает коллекцию, а не доставку.
Нет чтения журнала 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);
КонецПроцедурыРазбор по шагам
Получить UTF8-байты собственного короткого текста без BOM и без файла.
Создать MMSВложение, присвоить Данные и ТипСодержимого, добавить его в массив нового SMS.
Прочитать вложение через массив, декодировать и проверить исходный текст.
Присвоить объекту вложения новые байты с суммой 1000: сохранённая ссылка ИзМассива видит изменение.
Старое значение ДанныеВложения по-прежнему содержит исходные байты. Очистить массив только собственного черновика.
Как проверить результат
Шесть сообщений Истина, включая различие новых байтов 1000 и прежних байтов 750.
Нет файлов, сети, доступа к журналу или передачи вложения адресату.
Ожидаемый результат
Полный пример своего мультимедийного вложения с проверкой кодировки, MIME и ссылочной природы объекта.
На что обратить внимание
MIME описывает содержимое, не преобразует его и не проверяет безопасность.
Добавление вложения не подтверждает поддержку MMS устройством или оператором.
Не прикрепляйте чужие файлы и не выполняйте содержимое вложений.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.