КоллекцияСтрокДереваЗначений.Очистить

Методы · Clear

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

Синтаксис

Очистить()

Примеры платформы

СтрокиСостава.Очистить();
Полное описание, параметры и ограничения

КоллекцияСтрокДереваЗначений.Очистить (ValueTreeRowCollection.Clear)

КоллекцияСтрокДереваЗначений (ValueTreeRowCollection)

Очистить (Clear)

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

Синтаксис:
Очистить()
Описание:

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

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

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Пример:

СтрокиСостава.Очистить();

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

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

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

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

Изменить порядок товаров внутри одной категории

Коллекция дочерних строк изменяется независимо от соседних категорий. Загружаем новые количества из массива и очищаем только копию.

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Серверный контекст. Здесь одна категория; изменяем именно её коллекцию Строки.

  2. Массив количеств содержит столько элементов, сколько дочерних строк в момент загрузки.

Категории = Новый ДеревоЗначений;
Категории.Колонки.Добавить("Название");
Категории.Колонки.Добавить("Количество");
Группа = Категории.Строки.Добавить();
Группа.Название = "Канцелярия";
Строки = Группа.Строки;
Строки.Добавить().Название = "Ручка";
Строки.Добавить().Название = "Карандаш";
Срочный = Строки.Вставить(1);
Срочный.Название = "Тетрадь";
Строки.Сдвинуть(Срочный, -1);
Сообщить(Строки.Индекс(Срочный));
Количества = Новый Массив;
Количества.Добавить(5);
Количества.Добавить(2);
Количества.Добавить(1);
Строки.ЗагрузитьКолонку(Количества, "Количество");
Выгруженные = Строки.ВыгрузитьКолонку("Количество");
Сообщить(Выгруженные[0]);
Сообщить(Строки.Количество());
Строки.Удалить(Срочный);
Сообщить(Строки.Количество());
Копия = Категории.Скопировать();
Копия.Строки.Получить(0).Строки.Очистить();
Сообщить(Копия.Строки.Получить(0).Строки.Количество());
Сообщить(Группа.Строки.Количество());

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

  1. Создаём две строки, вставляем тетрадь между ними и перемещаем её в начало.

  2. ЗагрузитьКолонку связывает элементы массива с позициями строк; первое количество относится к тетради.

  3. ВыгрузитьКолонку возвращает массив значений текущего уровня.

  4. Удаляем тетрадь по объекту строки, очищаем потомков отдельной копии дерева.

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

  1. Индекс тетради равен 0, её количество после загрузки — 5; до удаления 3 строки, после 2.

  2. У копии дочерних строк 0, у исходной группы остаётся 2.

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

В исходной группе остаются ручка и карандаш с количествами 2 и 1.

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

  1. Загрузка массива зависит от текущего порядка: сортировка перед загрузкой меняет соответствие строк и значений.

  2. Очистить на корневых Строки удалит всё дерево; здесь очищается только коллекция потомков копии.

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

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

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

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

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