Вставить область в указанную позицию коллекции.
Синтаксис
Вставить(<Имя>, <Представление>, <Позиция>)Полное описание, параметры и ограничения
УсловноеОформление.Вставить (ConditionalAppearance.Insert)
УсловноеОформление (ConditionalAppearance)
Вставить (Insert)
Доступен, начиная с версии 8.0.
Синтаксис:
Вставить(<Имя>, <Представление>, <Позиция>)
Параметры:
<Имя> (обязательный)
Тип: Строка.
Имя добавляемого оформления области.
<Представление> (необязательный)
Тип: Строка.
Представление добавляемого оформления.
<Позиция> (обязательный)
Тип: Число.
Позиция, в которую необходимо добавить оформление.
Возвращаемое значение:
Тип: ЭлементУсловногоОформления.
Описание:
Вставить область в указанную позицию коллекции.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Проверить коллекции правил и областей отдельно от настоящего отчёта
Создаём самостоятельные пробные коллекции, вставляем, перемещаем и удаляем только собственные элементы. Проверяем, что отчёт от этого не получил оформление автоматически.
Где и как запускать
Полный модуль управляемой формы собственной учебной EPF: клиентский просмотр и серверное формирование отчёта.
Подготовка
Учебная внешняя обработка с пустой управляемой основной формой. Создайте команду УчебныйПример, кнопку команды и назначьте действие УчебныйПример.
Вставьте полный модуль урока: клиентский обработчик и серверную функцию. Каждый урок — отдельная копия модуля.
Откройте EPF в тонком клиенте Windows. Данные Книга/Ручка/Коробка создаются только в памяти; запрос урока с параметрами не читает таблицы базы.
ПостроительОтчета — существующий API для изучения/сопровождения старого кода. Это не СистемаКомпоновкиДанных и не рекомендация заменять ею современные отчёты.
Отдельная собственная конфигурация называется УчебнаяКонфигурацияСинтаксиса. Примеры создают только данные в памяти и собственный отчёт.
Используйте толстый клиент Windows 8.5.1.1343. УсловноеОформление в этих уроках относится к старому построителю, не к классу УсловноеОформлениеКомпоновкиДанных.
В исходных данных Книга: 3 × 250 = 750; Ручка: 1 × 50 = 50; Коробка: 2 × 30 = 60. Общий итог 860, Канцелярия 800, Упаковка 60.
&НаКлиенте
Процедура УчебныйПример(Команда)
ТабДок = СформироватьУчебныйОтчет();
ТабДок.ТолькоПросмотр = Истина;
ТабДок.Показать("Учебный ПостроительОтчета");
КонецПроцедуры
&НаСервере
Функция СформироватьУчебныйОтчет()
Данные = Новый ТаблицаЗначений;
Данные.Колонки.Добавить("Категория", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
Данные.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));
Данные.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));
Образцы = Новый Массив;
Образцы.Добавить(Новый Структура("Категория,Наименование,Количество,Цена", "Канцелярия", "Книга", 3, 250));
Образцы.Добавить(Новый Структура("Категория,Наименование,Количество,Цена", "Канцелярия", "Ручка", 1, 50));
Образцы.Добавить(Новый Структура("Категория,Наименование,Количество,Цена", "Упаковка", "Коробка", 2, 30));
Для Каждого Образец Из Образцы Цикл
СтрокаДанных = Данные.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаДанных, Образец);
СтрокаДанных.Сумма = СтрокаДанных.Количество * СтрокаДанных.Цена;
КонецЦикла;
Описание = Новый ОписаниеИсточникаДанных(Данные);
Для Каждого Колонка Из Описание.Колонки Цикл
Колонка.Поле = Истина;
Колонка.Отбор = Истина;
Колонка.Порядок = Истина;
Колонка.Измерение = Колонка.Имя = "Категория";
КонецЦикла;
Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных = Описание;
Построитель.АвтоДетальныеЗаписи = Ложь;
Построитель.ВыводитьДетальныеЗаписи = Истина;
Построитель.ВыводитьЗаголовокОтчета = Истина;
Построитель.ВыводитьОбщиеИтоги = Ложь;
Построитель.ВыводитьПодвалОтчета = Ложь;
Построитель.ВыводитьПодвалТаблицы = Ложь;
Построитель.ВыводитьШапкуТаблицы = Истина;
Построитель.ОтображатьСостояние = Ложь;
Построитель.ОбрабатыватьПрерываниеПользователя = Истина;
Построитель.ТекстЗаголовка = "Учебный отчёт — вымышленные данные";
Построитель.ЗаполнитьНастройки();
Построитель.ИзмеренияСтроки.Очистить();
Построитель.ИзмеренияКолонки.Очистить();
Построитель.ВыбранныеПоля.Очистить();
Построитель.ВыбранныеПоля.Добавить("Наименование", "Товар");
Построитель.ВыбранныеПоля.Добавить("Количество", "Количество");
Построитель.ВыбранныеПоля.Добавить("Сумма", "Сумма");
ПробныеПравила = Новый УсловноеОформление;
Первое = ПробныеПравила.Добавить("Книга", "Собственная книга");
Второе = ПробныеПравила.Вставить("Ручка", "Собственная ручка", 0);
Сообщить(ПробныеПравила.Количество() = 2);
Сообщить(ПробныеПравила.Получить(0) = Второе);
Сообщить(ПробныеПравила.Индекс(Первое) = 1);
ПробныеПравила.Сдвинуть(Первое, -1);
Сообщить(ПробныеПравила.Получить(0) = Первое);
ПробныеПравила.Удалить(Второе);
Сообщить(ПробныеПравила.Количество() = 1);
ПробныеПравила.Очистить();
Сообщить(ПробныеПравила.Количество() = 0);
ПробнаяОбласть = Новый ОбластьОформления;
Поле = ПробнаяОбласть.Добавить("Сумма", "Только собственная стоимость", ТипОбластиОформления.Поле);
Сообщить(ПробнаяОбласть.Количество() = 1);
ПробнаяОбласть.Удалить(Поле);
Сообщить(ПробнаяОбласть.Количество() = 0);
ПробнаяОбласть.Добавить("Количество", "Собственное количество");
ПробнаяОбласть.Очистить();
Сообщить(ПробнаяОбласть.Количество() = 0);
ПробнаяНастройка = Новый НастройкаОформления;
Сообщить(ТипЗнч(ПробнаяНастройка) = Тип("НастройкаОформления"));
Сообщить(Построитель.УсловноеОформление.Количество() = 0);
Построитель.Выполнить();
Сообщить(Построитель.Результат.Выгрузить().Итог("Сумма") = 860);
ТабДок = Новый ТабличныйДокумент;
Построитель.Вывести(ТабДок);
Возврат ТабДок;
КонецФункции
Разбор по шагам
Создать самостоятельное УсловноеОформление и два своих элемента. Вставить второй в позицию 0, получить индекс первого.
Сдвинуть первый элемент в начало, удалить второй и очистить только пробную коллекцию.
Создать отдельную ОбластьОформления, добавить собственное поле, удалить объектом и очистить другую собственную пробу.
Создать НастройкаОформления и проверить её тип. Не присваивать пробные коллекции свойствам построителя только для чтения.
Выполнить настоящий свой отчёт: оформление построителя осталось пустым, итог 860. Для применения нужен предыдущий урок с его собственными полученными коллекциями.
Как проверить результат
Двенадцать булевых проверок дают Истина. Все пробные правила и области в конце пусты.
Отчёт показывает три своих товара без настроенного этим уроком выделения: отдельные коллекции сами не подключились.
Ожидаемый результат
Реальная демонстрация жизненного цикла коллекций и различия самостоятельного объекта с объектом внутри построителя.
На что обратить внимание
Вставить УсловноеОформление принимает позицию третьим параметром. Сдвинуть и Удалить принимают элемент правила, не его индекс.
Удалить ОбластьОформления принимает добавленный элемент области. У неё нет Получить, Индекс или Сдвинуть: не переносите API другой коллекции.
Конструктор самостоятельной настройки создаёт настройки, а не меняет оформление уже существующего отчёта.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.