Добавление нового элемента в ДеревоЗначений в определенное место дерева
Добрый день.
Задача состоит в следующем: Необходимо в ДеревоЗначений добавить дополнительный элемент к определенному родителю. Это было реализовано, но новый элемент добавляется и отражается в конце списка подчиненных элементов, а необходимо, его добавлять после определенного значения подчиненного элемента.
Не знаю понятно ли описан вопрос. На примере будет понятнее.
Есть
Родитель1
Элемент1.1
Элемент1.2
Элемент1.3
необходимо, чтобы например если Текущая строка установлена на Элемент 1.2 и нажимаем на добавление в дерево добавился новый Элемент 1.4 , но расположился он под Элементом текущим 1.2
Должно получится
Родитель1
Элемент1.1
Элемент1.2
Элемент1.4
Элемент1.3
Как задать положение нового элемента в ДеревеЗначений? Подскажите, пожалуйста.
Задача состоит в следующем: Необходимо в ДеревоЗначений добавить дополнительный элемент к определенному родителю. Это было реализовано, но новый элемент добавляется и отражается в конце списка подчиненных элементов, а необходимо, его добавлять после определенного значения подчиненного элемента.
Не знаю понятно ли описан вопрос. На примере будет понятнее.
Есть
Родитель1
Элемент1.1
Элемент1.2
Элемент1.3
необходимо, чтобы например если Текущая строка установлена на Элемент 1.2 и нажимаем на добавление в дерево добавился новый Элемент 1.4 , но расположился он под Элементом текущим 1.2
Должно получится
Родитель1
Элемент1.1
Элемент1.2
Элемент1.4
Элемент1.3
Как задать положение нового элемента в ДеревеЗначений? Подскажите, пожалуйста.
По теме из базы знаний
Найденные решения
КоллекцияЭлементов = ТекущаяСтрока.ПолучитьЭлементы()
получает коллекцию элементов текущей строки. У этой коллекции так же есть метод Вставить(). Про индекс:
Из СП |
---|
ДанныеФормыКоллекцияЭлементовДерева (FormDataTreeItemCollection)
Индекс (IndexOf) Синтаксис: Индекс(<Элемент>) Параметры: <Элемент> (необязательный) Тип: ДанныеФормыЭлементДерева. Элемент дерева. Возвращаемое значение: Тип: Число. Если элемент в коллекции не найден то -1. Описание: Получает индекс элемента коллекции. Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). Примечание: Нумерация с 0. |
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Из СП:
КоллекцияСтрокДереваЗначений (ValueTreeRowCollection)
Вставить (Insert)
Синтаксис:
Вставить(<Индекс>)
Параметры:
<Индекс> (обязательный)
Тип: Число.
Индекс позиции в коллекции строк данного уровня, в которую необходимо вставить строку.
Возвращаемое значение:
Тип: СтрокаДереваЗначений.
Вставленная строка.
Описание:
Вставляет строку с указанным индексом в коллекцию строк данного уровня дерева значений.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:
НовыйЭлемент = СтрокиСостава.Вставить(5);
НовыйЭлемент.Затрата = Затрата;
НовыйЭлемент.Норма = Количество;
ПоказатьВставить (Insert)
Синтаксис:
Вставить(<Индекс>)
Параметры:
<Индекс> (обязательный)
Тип: Число.
Индекс позиции в коллекции строк данного уровня, в которую необходимо вставить строку.
Возвращаемое значение:
Тип: СтрокаДереваЗначений.
Вставленная строка.
Описание:
Вставляет строку с указанным индексом в коллекцию строк данного уровня дерева значений.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:
НовыйЭлемент = СтрокиСостава.Вставить(5);
НовыйЭлемент.Затрата = Затрата;
НовыйЭлемент.Норма = Количество;
(2) У меня вот такой код. Я работаю с элементами формы. Как тогда получить индекс текущей строки? Все ниже описанные элементами являются элементами формы. КоллекцияСтрокДереваЗначений среди них нет.
Подскажите как правильно выполнить добавление.
ИдентификаторСтроки = Элементы.ДеревоНоменклатуры.ТекущаяСтрока;
Если ДеревоНоменклатуры.НайтиПоИдентификатору(ИдентификаторСтроки).ПолучитьРодителя() <> Неопределено тогда
ИдентификаторСтроки = ДеревоНоменклатуры.НайтиПоИдентификатору(ИдентификаторСтроки).ПолучитьРодителя().ПолучитьИдентификатор();
КонецЕсли;
Элементы.ДеревоНоменклатуры.Развернуть(ИдентификаторСтроки);
ТекущаяСтрока = ДеревоНоменклатуры.НайтиПоИдентификатору(ИдентификаторСтроки);
НоваяСтрокаДерева = ТекущаяСтрока.ПолучитьЭлементы().Добавить();
Подскажите как правильно выполнить добавление.
КоллекцияЭлементов = ТекущаяСтрока.ПолучитьЭлементы()
получает коллекцию элементов текущей строки. У этой коллекции так же есть метод Вставить(). Про индекс:
Из СП |
---|
ДанныеФормыКоллекцияЭлементовДерева (FormDataTreeItemCollection)
Индекс (IndexOf) Синтаксис: Индекс(<Элемент>) Параметры: <Элемент> (необязательный) Тип: ДанныеФормыЭлементДерева. Элемент дерева. Возвращаемое значение: Тип: Число. Если элемент в коллекции не найден то -1. Описание: Получает индекс элемента коллекции. Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). Примечание: Нумерация с 0. |
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот