ДополнительныеДанныеЗапускаПриложенияМобильногоУстройства.Добавить

Методы · Add

Добавляет элемент дополнительных данных.

Синтаксис

Добавить(<Ключ>, <Значение>, <ИмяТипа>)
Полное описание, параметры и ограничения

ДополнительныеДанныеЗапускаПриложенияМобильногоУстройства.Добавить (MobileDeviceApplicationRunAdditionalData.Add)

ДополнительныеДанныеЗапускаПриложенияМобильногоУстройства (MobileDeviceApplicationRunAdditionalData)

Добавить (Add)

Доступен, начиная с версии 8.3.5.

Синтаксис:
Добавить(<Ключ>, <Значение>, <ИмяТипа>)
Параметры:

<Ключ> (обязательный)
Тип: Строка.
Указывает ключ добавляемого элемента данных.

<Значение> (обязательный)
Тип: Строка, Число, Булево, Картинка, УчетнаяЗаписьКонтактов, ДанныеАдреса, ДанныеМестоположения, Массив, ДополнительныеДанныеЗапускаПриложенияМобильногоУстройства.
Добавляемое значение дополнительных данных.
Массив может содержать элементы одного из следующих типов: Строка, Булево, Число.

<ИмяТипа> (необязательный)
Тип: Строка.
Указывает имя типа добавляемого данного.
Возвращаемое значение:
Тип: ЭлементДополнительныхДанныхЗапускаПриложенияМобильногоУстройства.

Описание:

Добавляет элемент дополнительных данных.

Доступность:

Мобильный клиент, мобильное приложение (клиент).

Использование в версии:

Доступен, начиная с версии 8.3.5.

Методическая информация

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

Передать учебное количество как Java int, а текст как String

ДополнительныеДанные хранит элементы Ключ/Значение/ИмяТипа. Без явного типа число преобразуется в double; для количества 3 задаём int.

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

Полный модуль своей мобильной управляемой формы. Android для Intent-параметров. Только собственные данные в памяти.

Подготовка

  1. Работайте только в отдельной конфигурации УчебнаяКонфигурацияСинтаксиса на мобильном клиенте или в мобильном приложении 1С. Для уроков параметров Android используйте именно Android, не iOS и не обычный клиент Windows.

  2. Создайте учебную управляемую форму с командой ПроверитьДанные и назначьте ей приведённый обработчик. Вставьте полный модуль одного урока. Новые объекты создаются на клиенте.

  3. Это подготовка и проверка собственных данных в памяти. Код не запускает приложение, не отправляет сообщения, не читает буфер обмена устройства, контакты или чужие файлы.

  4. Все тексты вымышлены, example.invalid — учебный URI, а не рабочий сервис. HTML состоит из собственной короткой строки без скриптов и внешних ресурсов.

  5. Названия свойств и методы сверены с установленной справкой 8.5.1.1343. Поддержка устройства и отображение Android не проверены запуском этих BSL-примеров.

&НаКлиенте
Процедура ПроверитьДанные(Команда)
    Дополнения = Новый ДополнительныеДанныеЗапускаПриложенияМобильногоУстройства;
    Количество = Дополнения.Добавить("guide.quantity", 3, "int");
    Текст = Дополнения.Добавить("android.intent.extra.TEXT", "Книга: 3 × 250 = 750");
    Сообщить(Количество.Ключ = "guide.quantity");
    Сообщить(Количество.Значение = 3);
    Сообщить(Количество.ИмяТипа = "int");
    Сообщить(Текст.ИмяТипа = "");
    Сообщить(Дополнения.Получить("android.intent.extra.TEXT").Значение = "Книга: 3 × 250 = 750");
    Дополнения.Удалить("guide.quantity");
    НовоеКоличество = Дополнения.Добавить("guide.quantity", 4, "int");
    Сообщить(НовоеКоличество.Значение = 4);
    Сообщить(Дополнения.Получить("guide.quantity").Значение = 4);
    Сообщить(Количество.Значение = 3);
    Дополнения.Очистить();
    Дополнения.Добавить("guide.quantity", 1, "int");
    Сообщить(Дополнения.Получить("guide.quantity").Значение = 1);
КонецПроцедуры

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

  1. Создать свою коллекцию параметров. Для guide.quantity явно передать int, для собственного текста не задавать ИмяТипа.

  2. Прочитать три readonly-свойства возвращённых элементов. Пустое ИмяТипа означает автоматический выбор, не отсутствие значения.

  3. Прочитать текст по известному существующему ключу. Не предполагать поведение Получить при неизвестном ключе.

  4. Удалить quantity и добавить новый элемент с тем же ключом и значением 4. Старый сохранённый элемент всё ещё содержит 3.

  5. Очистить собственную коллекцию, создать новый quantity=1 и прочитать его. Ни одно приложение не запускается.

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

  1. Девять булевых сообщений Истина: явный int, автоматический тип текста, новые значения 4 и 1 и прежний сохранённый элемент 3.

  2. Эти проверки проверяют объекты 1С; реальная доставка и принятие Java-параметров приложением не тестировались.

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

Самостоятельный пример правильного задания Java-типа и замены readonly-элемента коллекции.

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

  1. Количество.Значение, Ключ и ИмяТипа нельзя присваивать после получения элемента.

  2. Не полагайтесь на double по умолчанию, если приложение требует int.

  3. Ключи guide.quantity учебные: реальное приложение должно явно поддерживать свой контракт параметров.

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

Составить описание передачи текста и прочитать вложенное описание запуска

ЗапускПриложенияМобильногоУстройства здесь служит только объектом настроек Android SEND. Наличие объекта не запускает получателя.

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

Полный модуль своей мобильной управляемой формы. Android для Intent-параметров. Только собственные данные в памяти.

Подготовка

  1. Работайте только в отдельной конфигурации УчебнаяКонфигурацияСинтаксиса на мобильном клиенте или в мобильном приложении 1С. Для уроков параметров Android используйте именно Android, не iOS и не обычный клиент Windows.

  2. Создайте учебную управляемую форму с командой ПроверитьДанные и назначьте ей приведённый обработчик. Вставьте полный модуль одного урока. Новые объекты создаются на клиенте.

  3. Это подготовка и проверка собственных данных в памяти. Код не запускает приложение, не отправляет сообщения, не читает буфер обмена устройства, контакты или чужие файлы.

  4. Все тексты вымышлены, example.invalid — учебный URI, а не рабочий сервис. HTML состоит из собственной короткой строки без скриптов и внешних ресурсов.

  5. Названия свойств и методы сверены с установленной справкой 8.5.1.1343. Поддержка устройства и отображение Android не проверены запуском этих BSL-примеров.

&НаКлиенте
Процедура ПроверитьДанные(Команда)
    Запуск = Новый ЗапускПриложенияМобильногоУстройства("android.intent.action.SEND", "");
    Запуск.Тип = "text/plain";
    Запуск.Приложение = "";
    Запуск.ИмяКласса = "";
    Запуск.Категория = "android.intent.category.DEFAULT";
    Категории = Новый Массив;
    Категории.Добавить("android.intent.category.DEFAULT");
    Запуск.Категории = Категории;
    Дополнения = Новый ДополнительныеДанныеЗапускаПриложенияМобильногоУстройства;
    Дополнения.Добавить("android.intent.extra.TEXT", "Книга: 3 × 250 = 750. Учебные данные.");
    Запуск.ДополнительныеДанные = Дополнения;
    Запуск.Действие = "android.intent.action.SEND";
    Запуск.Данные = "";
    ТекстовыйЭлемент = Новый ЭлементПрикрепляемыхДанныхЗапускаПриложенияМобильногоУстройства("Книга: 3 × 250 = 750");
    ТипыMIME = Новый Массив;
    ТипыMIME.Добавить("text/plain");
    Пакет = Новый ПрикрепляемыеДанныеЗапускаПриложенияМобильногоУстройства("Учебный текст", ТипыMIME, ТекстовыйЭлемент);
    Запуск.ПрикрепляемыеДанные = Пакет;
    ЭлементЗапуска = Новый ЭлементПрикрепляемыхДанныхЗапускаПриложенияМобильногоУстройства(, , Запуск);
    ИзЭлемента = ЭлементЗапуска.ПолучитьДанныеЗапуска();
    Если ИзЭлемента = Неопределено Тогда
        ВызватьИсключение "Собственное описание запуска должно присутствовать";
    КонецЕсли;
    Сообщить(ИзЭлемента.Действие = "android.intent.action.SEND");
    Сообщить(ИзЭлемента.Данные = "");
    Сообщить(ИзЭлемента.Тип = "text/plain");
    Сообщить(ИзЭлемента.Приложение = "" И ИзЭлемента.ИмяКласса = "");
    Сообщить(ИзЭлемента.Категория = "android.intent.category.DEFAULT");
    Сообщить(ИзЭлемента.Категории.Количество() = 1);
    Сообщить(ИзЭлемента.ДополнительныеДанные.Получить("android.intent.extra.TEXT").Значение = "Книга: 3 × 250 = 750. Учебные данные.");
    Сообщить(ИзЭлемента.ПрикрепляемыеДанные.Получить(0).ПолучитьТекст() = "Книга: 3 × 250 = 750");
    Поддержка = ИзЭлемента.ПоддерживаетсяЗапуск();
    Сообщить("Фактическая поддержка устройства: " + Строка(Поддержка));
КонецПроцедуры

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

  1. Создать описание стандартного Android SEND с MIME text/plain и собственной строкой EXTRA_TEXT.

  2. Оставить Приложение и ИмяКласса пустыми: конкретный внешний компонент не выбирается и не запускается.

  3. Добавить собственные категории DEFAULT и текстовый контейнер. Передать описание запуска третьим параметром отдельного элемента.

  4. Получить вложенное описание, проверить отсутствие Неопределено и прочитать реальные свойства.

  5. ПоддерживаетсяЗапуск только сообщает поддержку устройства. Её фактическое значение выводится, а запуск не вызывается.

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

  1. Восемь сообщений Истина по содержимому своего описания; отдельно фактическая поддержка устройства без заранее обещанного результата.

  2. Не открывается окно выбора приложения, ни одна строка не передаётся наружу.

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

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

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

  1. ПоддерживаетсяЗапуск не подтверждает наличие конкретного приложения или доставку текста.

  2. При реальном запуске разрешения URI относятся к основному объекту, не к вложенным флагам.

  3. MIME самого объекта запуска и MIME контейнера — разные настройки; здесь оба text/plain намеренно согласованы.

  4. Не запускайте описание из непроверенных внешних данных.

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

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

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

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

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