Собрать пакет заказа и вставить сводку перед строками товаров

Учебные задачи

Добавить помещает элемент в конец, Вставить(0, …) сдвигает существующие элементы. Индекс первого элемента равен нулю.

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

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

Подготовка

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

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

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

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

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

&НаКлиенте
Процедура ПроверитьДанные(Команда)
    ТипыMIME = Новый Массив;
    ТипыMIME.Добавить("text/plain");
    ТипыMIME.Добавить("text/html");
    Книга = Новый ЭлементПрикрепляемыхДанныхЗапускаПриложенияМобильногоУстройства("Книга;3;250;750", "<p>Книга: 3 × 250 = <strong>750</strong></p>");
    Пакет = Новый ПрикрепляемыеДанныеЗапускаПриложенияМобильногоУстройства("Учебный заказ Книга", ТипыMIME, Книга);
    Ручка = Новый ЭлементПрикрепляемыхДанныхЗапускаПриложенияМобильногоУстройства("Ручка;1;50;50");
    Сводка = Новый ЭлементПрикрепляемыхДанныхЗапускаПриложенияМобильногоУстройства("Итого: 800");
    Пакет.Добавить(Ручка);
    Сообщить(Пакет.Количество() = 2);
    Пакет.Вставить(0, Сводка);
    Сообщить(Пакет.Количество() = 3);
    Сообщить(Пакет.Получить(0).ПолучитьТекст() = "Итого: 800");
    Сообщить(Пакет.Получить(1).ПолучитьТекст() = "Книга;3;250;750");
    Сообщить(Пакет.Получить(2).ПолучитьТекст() = "Ручка;1;50;50");
КонецПроцедуры

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

  1. Создать контейнер с Книгой 750 и добавить Ручку 50 в конец.

  2. Создать отдельный элемент сводки 800, вставить его перед существующим индексом 0.

  3. Убедиться, что количество стало 3, Книга и Ручка сдвинулись на индексы 1 и 2.

  4. Прочитать элементы через Получить и получить простой текст каждого.

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

  1. Пять сообщений Истина; порядок сводка 800, Книга 750, Ручка 50.

  2. Массив ТипыMIME не является списком элементов: он описывает представления всего пакета.

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

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

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

  1. Не используйте индекс Количество для Вставить: справка задаёт допустимый диапазон 0…Количество−1.

  2. Для добавления в конец используйте Добавить.

  3. HTML не создаётся автоматически для элементов, которым задан только простой текст.

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

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

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

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

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