Параметры макета — коллекция элементов Имя/Значение, не структура и не SQL-параметры. Здесь исследуется только эта часть черновика.
Где и как запускать
Полный серверный общий модуль собственной учебной базы; не клиентский модуль формы.
Подготовка
Собственная учебная база 8.5.1.1343. Создайте общий модуль УчебныеКоллекцииСКД с флагом Сервер. Вставьте полный текст одного урока с процедурой ВыполнитьПример() Экспорт.
Из серверной команды своей обработки вызовите УчебныеКоллекцииСКД.ВыполнитьПример(). Таблицы значений и служебные объекты макета остаются на сервере.
Книга / 3 / 750 и Ручка / 1 / 50 — вымышленные собственные данные. Ни справочники, ни документы, ни регистры базы, ни внешние сервисы не читаются.
Различайте схему, настройки, скомпилированный макет и результат. Урок составления отдельной коллекции не называется готовым рабочим отчётом.
В уроке описания расшифровки временное хранилище заполняется только новым собственным объектом, в одном вызове. В конце удаляется ровно этот созданный адрес, включая обработку ошибки.
Не заменяйте собственный новый макет текущим рабочим отчётом: Очистить, Удалить и Сдвинуть в этих уроках относятся к собственной памяти.
Процедура ВыполнитьПример() Экспорт
Макет = Новый МакетКомпоновкиДанных;
Параметры = Макет.ЗначенияПараметров;
Название = Параметры.Добавить();
Название.Имя = "УчебноеНазвание";
Название.Значение = "Книга";
Количество = Параметры.Вставить(0);
Количество.Имя = "УчебноеКоличество";
Количество.Значение = 3;
Сообщить(Параметры.Количество() = 2);
Сообщить(Параметры.Найти("УчебноеНазвание") = Название);
Сообщить(Параметры.Найти("УчебноеКоличество").Значение = 3);
Сообщить(Параметры.Индекс(Количество) = 0);
Сообщить(Параметры.Получить(0).Имя = "УчебноеКоличество");
Параметры.Сдвинуть(Количество, 1);
Сообщить(Параметры.Получить(1) = Количество);
Параметры.Удалить(Название);
Сообщить(Параметры.Количество() = 1);
Сообщить(Параметры.Найти("УчебноеНазвание") = Неопределено);
Параметры.Очистить();
Сообщить(Параметры.Количество() = 0);
КонецПроцедурыРазбор по шагам
Создаём новый собственный макет без схемы и получаем его коллекцию ЗначенияПараметров.
Добавляем строковое УчебноеНазвание и вставляем числовое УчебноеКоличество в начало.
Найти использует имя, Индекс/Получить — позицию. Значение может иметь разный тип.
Сдвигаем число, удаляем название и проверяем отсутствие; затем очищаем собственную коллекцию.
Этот черновик не передаём процессору: для готового отчёта нужны согласованные наборы, тело и области макета.
Как проверить результат
Девять проверок Истина: имена, значения, позиции, удаление и пустая коллекция.
Код не обещает две строки отчёта: он учит конкретной коллекции параметров, а не выполняет незаполненный макет.
Ожидаемый результат
Разобрана реальная коллекция параметров нового собственного макета.
На что обратить внимание
Создать параметр не означает связать его с выражением ячейки или запроса.
Не очищайте параметры скомпилированного рабочего макета перед выполнением.
Строка УчебноеНазвание — имя параметра, Книга — его значение.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.