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

Свойства · Parent

Тип: СтрокаДереваЗначений, Неопределено. Строка, которой принадлежит данная коллекция строк (родительская строка). Если данная коллекция строк является корневой коллекцией дерева, то имеет значение Неопределено.

Полное описание, параметры и ограничения

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

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

Родитель (Parent)

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

Использование:
Только чтение.
Описание:
Тип: СтрокаДереваЗначений, Неопределено.
Строка, которой принадлежит данная коллекция строк (родительская строка).
Если данная коллекция строк является корневой коллекцией дерева, то имеет значение Неопределено.
Доступность:

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

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

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

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

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

Создать дерево категорий с товарами и проверить родителя

Две категории находятся в корне. Товары находятся в коллекции Строки конкретной категории, а не в общем корне.

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

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

Подготовка

  1. Серверный контекст. Колонки задаются один раз для всего дерева.

  2. Количество в строках категорий оставляем нулевым, чтобы их не перепутать с итогами товаров.

  3. Колонка хранит целые неотрицательные количества 0–99: КвалификаторыЧисла(2, 0, ...) сохраняют 2, 3 и значение 10 в изменяемой копии без округления. Это ограничение собственного урока, не универсальный диапазон количества.

Категории = Новый ДеревоЗначений;
Категории.Колонки.Добавить("Название", Новый ОписаниеТипов("Строка"));
Категории.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(2, 0, ДопустимыйЗнак.Неотрицательный)));
Книги = Категории.Строки.Добавить();
Книги.Название = "Книги";
Товар = Книги.Строки.Добавить();
Товар.Название = "Учебник";
Товар.Установить(1, 3);
Канцелярия = Категории.Строки.Добавить();
Канцелярия.Название = "Канцелярия";
Ручка = Канцелярия.Строки.Добавить();
Ручка.Название = "Ручка";
Ручка.Количество = 2;
Сообщить(Книги.Уровень());
Сообщить(Товар.Уровень());
Сообщить(Товар.Родитель = Книги);
Сообщить(Книги.Родитель = Неопределено);
Сообщить(Товар.Получить(1));
Сообщить(Товар.Владелец() = Категории);
Сообщить(Книги.Строки.Родитель = Книги);
Копия = Категории.Скопировать();
Копия.Строки.Получить(0).Строки.Получить(0).Количество = 10;
Сообщить(Товар.Количество);

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

  1. Создаём дерево и типизированные колонки.

  2. Категорию добавляем в корневые Строки, товар — в Строки категории.

  3. Проверяем родителя, владельца и уровень: у корневой строки уровень 0.

  4. Изменяем количество в копии и проверяем исходный товар.

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

  1. Уровни: 0 и 1; все сравнения родителей и владельца возвращают Истина.

  2. Количество учебника равно 3 и после изменения отдельной копии остаётся 3.

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

В дереве две корневые категории, в каждой по одному товару.

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

  1. ДеревоЗначений нельзя создать и передать как обычный объект в тонком клиенте; для формы используйте данные формы.

  2. Владелец строки — всё дерево, Родитель — непосредственная строка категории. Это разные связи.

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

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

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

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

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