Составить дерево расходов с именованной колонкой суммы

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

Все уровни дерева используют колонки, заданные у корневого дерева значений.

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

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

Подготовка

  1. Тело серверной процедуры учебной обработки. Дерево создаётся в памяти без записи в базу.

Расходы = Новый ДеревоЗначений;
Расходы.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Расходы.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));
Расходы.Колонки.Сумма.Заголовок = "План расходов";
Группа = Расходы.Строки.Добавить();
Группа.Наименование = "Канцелярия";
Позиция = Группа.Строки.Добавить();
Позиция.Наименование = "Тетради";
Позиция.Сумма = 450;
Группа.Сумма = Позиция.Сумма;
Сообщить(Группа.Наименование + ": " + Строка(Группа.Сумма));
Сообщить(Расходы.Колонки.Сумма.Заголовок);

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

  1. Задайте две колонки у дерева.

  2. Добавьте корневую группу и дочернюю позицию.

  3. Обращения .Сумма получают значения строки или описание колонки в зависимости от получателя.

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

  1. Показано Канцелярия: 450 и План расходов.

  2. Измените сумму позиции на 600: итог единственной позиции станет 600.

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

Вложенные строки имеют те же динамические колонки, что и корневые.

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

  1. Суммы родительских строк не пересчитываются автоматически.

  2. При нескольких позициях суммируйте их явно.

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

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

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

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

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