Добрейшего времени суток!
Как удалить строку, если известен её номер?
Позволяет удалить только родителя. А как удалить потомка?
Принцип отбора примерно такой:
Как удалить строку, если известен её номер?
тДерево = РеквизитФормыВЗначение("Дерево");
тДерево.Строки.Удалить(Номер);
ЗначениеВРеквизитФормы(тДерево, "Дерево");
Позволяет удалить только родителя. А как удалить потомка?
Принцип отбора примерно такой:
Для Каждого тСтр Из Дерево.Строки Цикл
тДерево = РеквизитФормыВЗначение("Дерево");
тДерево.Строки.Удалить(Номер);
ЗначениеВРеквизитФормы(тДерево, "Дерево");
Если тСтр.Строки.Количество()>0 Тогда
ОбходДерева(тСтр);
КонецЕсли;
КонецЦикла;
ПоказатьПо теме из базы знаний
Найденные решения
(6) Ответа не дождался, пришлось самому
На клиенте:
Всё оказалось как всегда просто
На клиенте:
ИД = Элементы.Дерево.ТекущаяСтрока;
ТекущаяСтрока = Дерево.НайтиПоИдентификатору(ИД);
Родитель = ТекущаяСтрока.ПолучитьРодителя();
Если Родитель = Неопределено Тогда
Дерево.ПолучитьЭлементы().Удалить(ТекущаяСтрока);
Иначе
Родитель.ПолучитьЭлементы().Удалить(ТекущаяСтрока);
КонецЕсли;
ПоказатьВсё оказалось как всегда просто
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Заранее на клиенте получаю значение, потом делаю так:
Заранее на клиенте получаю значение, потом делаю так:
Для Каждого тСтр Из Дерево.Строки Цикл
Если тСтр.НомерСтроки = ПолученноеЗначение Тогда
тДерево = РеквизитФормыВЗначение("Дерево");
тДерево.Строки.Удалить(ПолученноеЗначение);
ЗначениеВРеквизитФормы(тДерево, "Дерево");
КонецЕсли;
....
Показать
(5)
Отвлекли немного......
ДанныеФормыКоллекцияЭлементовДерева (FormDataTreeItemCollection)
Удалить (Delete)
Вариант синтаксиса: По индексу
Синтаксис:
Удалить(<Индекс>)
Параметры:
<Индекс> (обязательный)
Тип: Число.
Индекс элемента в коллекции.
Вариант синтаксиса: По элементу
Синтаксис:
Удалить(<Элемент>)
Параметры:
<Элемент> (обязательный)
Тип: ДанныеФормыЭлементДерева.
Удаляемый элемент.
Описание:
Удаляет элемент из коллекции.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
Да можно:
ИдентификаторСтроки = Элементы.Дерево.ТекущаяСтрока;
ТекущаяСтрока = Дерево.НайтиПоИдентификатору(ИдентификаторСтроки);
СтрокаРодитель = ТекущаяСтрока.ПолучитьРодителя();
Если СтрокаРодитель = Неопределено Тогда
Дерево.ПолучитьЭлементы().Удалить(ТекущаяСтрока);
Иначе
СтрокаРодитель.ПолучитьЭлементы().Удалить(ТекущаяСтрока);
КонецЕсли;
Отвлекли немного......
ДанныеФормыКоллекцияЭлементовДерева (FormDataTreeItemCollection)
Удалить (Delete)
Вариант синтаксиса: По индексу
Синтаксис:
Удалить(<Индекс>)
Параметры:
<Индекс> (обязательный)
Тип: Число.
Индекс элемента в коллекции.
Вариант синтаксиса: По элементу
Синтаксис:
Удалить(<Элемент>)
Параметры:
<Элемент> (обязательный)
Тип: ДанныеФормыЭлементДерева.
Удаляемый элемент.
Описание:
Удаляет элемент из коллекции.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
Да можно:
ИдентификаторСтроки = Элементы.Дерево.ТекущаяСтрока;
ТекущаяСтрока = Дерево.НайтиПоИдентификатору(ИдентификаторСтроки);
СтрокаРодитель = ТекущаяСтрока.ПолучитьРодителя();
Если СтрокаРодитель = Неопределено Тогда
Дерево.ПолучитьЭлементы().Удалить(ТекущаяСтрока);
Иначе
СтрокаРодитель.ПолучитьЭлементы().Удалить(ТекущаяСтрока);
КонецЕсли;
(6) Ответа не дождался, пришлось самому
На клиенте:
Всё оказалось как всегда просто
На клиенте:
ИД = Элементы.Дерево.ТекущаяСтрока;
ТекущаяСтрока = Дерево.НайтиПоИдентификатору(ИД);
Родитель = ТекущаяСтрока.ПолучитьРодителя();
Если Родитель = Неопределено Тогда
Дерево.ПолучитьЭлементы().Удалить(ТекущаяСтрока);
Иначе
Родитель.ПолучитьЭлементы().Удалить(ТекущаяСтрока);
КонецЕсли;
ПоказатьВсё оказалось как всегда просто
Отсюда своровано когда-то
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот