Добавление нового элемента в ДеревоЗначений в определенное место дерева

1. user951518 15.01.20 10:10 Сейчас в теме
Добрый день.
Задача состоит в следующем: Необходимо в ДеревоЗначений добавить дополнительный элемент к определенному родителю. Это было реализовано, но новый элемент добавляется и отражается в конце списка подчиненных элементов, а необходимо, его добавлять после определенного значения подчиненного элемента.
Не знаю понятно ли описан вопрос. На примере будет понятнее.
Есть
Родитель1
Элемент1.1
Элемент1.2
Элемент1.3
необходимо, чтобы например если Текущая строка установлена на Элемент 1.2 и нажимаем на добавление в дерево добавился новый Элемент 1.4 , но расположился он под Элементом текущим 1.2

Должно получится
Родитель1
Элемент1.1
Элемент1.2
Элемент1.4
Элемент1.3

Как задать положение нового элемента в ДеревеЗначений? Подскажите, пожалуйста.
По теме из базы знаний
Найденные решения
4. MuxaH 15.01.20 14:41 Сейчас в теме
КоллекцияЭлементов = ТекущаяСтрока.ПолучитьЭлементы()


получает коллекцию элементов текущей строки. У этой коллекции так же есть метод Вставить(). Про индекс:

Из СП
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. MuxaH 15.01.20 10:19 Сейчас в теме
Из СП:
КоллекцияСтрокДереваЗначений (ValueTreeRowCollection)
Вставить (Insert)
Синтаксис:

Вставить(<Индекс>)
Параметры:

<Индекс> (обязательный)

Тип: Число.
Индекс позиции в коллекции строк данного уровня, в которую необходимо вставить строку.
Возвращаемое значение:

Тип: СтрокаДереваЗначений.
Вставленная строка.
Описание:

Вставляет строку с указанным индексом в коллекцию строк данного уровня дерева значений.

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

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

НовыйЭлемент = СтрокиСостава.Вставить(5);
НовыйЭлемент.Затрата = Затрата;
НовыйЭлемент.Норма = Количество;
Показать
3. user951518 15.01.20 14:00 Сейчас в теме
(2) У меня вот такой код. Я работаю с элементами формы. Как тогда получить индекс текущей строки? Все ниже описанные элементами являются элементами формы. КоллекцияСтрокДереваЗначений среди них нет.

ИдентификаторСтроки = Элементы.ДеревоНоменклатуры.ТекущаяСтрока;
	Если ДеревоНоменклатуры.НайтиПоИдентификатору(ИдентификаторСтроки).ПолучитьРодителя() <> Неопределено тогда 
		ИдентификаторСтроки = ДеревоНоменклатуры.НайтиПоИдентификатору(ИдентификаторСтроки).ПолучитьРодителя().ПолучитьИдентификатор();
	КонецЕсли;
	Элементы.ДеревоНоменклатуры.Развернуть(ИдентификаторСтроки);
	ТекущаяСтрока       = ДеревоНоменклатуры.НайтиПоИдентификатору(ИдентификаторСтроки);
	НоваяСтрокаДерева   = ТекущаяСтрока.ПолучитьЭлементы().Добавить();

Подскажите как правильно выполнить добавление.
5. lmnlmn 69 16.01.20 09:41 Сейчас в теме
(3) Не .Добавить(), а .Вставить(). Только индекс при вставке указать, как уже верно заметили.
4. MuxaH 15.01.20 14:41 Сейчас в теме
КоллекцияЭлементов = ТекущаяСтрока.ПолучитьЭлементы()


получает коллекцию элементов текущей строки. У этой коллекции так же есть метод Вставить(). Про индекс:

Из СП
6. MaCCapAkIII 19.09.23 15:54 Сейчас в теме
А есть возможность в уже имеющееся дерево значений вставить значение самого верхнего уровня иерархии и сдвинуть все нижние уровни иерархии относительно вставленного?
То есть было:

0 Справочники
1 Контрагенты
2 Адреса

Стало:

0 Система_1
1 Справочники
2 Контрагенты
3 Адреса
7. lmnlmn 69 19.09.23 18:46 Сейчас в теме
(6) Первый ответ в теме (2)
MaCCapAkIII; +1 Ответить
8. пользователь 19.09.23 19:26
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот