Как удалить строки из дерева значений?
☑
0
worker-good
09.04.14
✎
14:46
тбФиксации - дерево значений. Как из него удалить строки удовлетворяющим условиям? В моем следующем коде выдает ошибку:
Для Каждого стрДерева Из тбФиксации.Строки Цикл
Для Каждого стр Из стрДерева.Строки Цикл
Если стр.Дата <НачалоРасчета ИЛИ стр.Дата>КонецРасчета Тогда
тбФиксации.Строки.Удалить(стр);
КонецЕсли;
КонецЦикла;
КонецЦикла;
1
barrgand
09.04.14
✎
14:50
(0) Цикл проходить снизу вверх. Или сначала составлять список строк для удаления, потом удалять.
2
worker-good
09.04.14
✎
14:57
(1) А рекурсивный вызов функции удаления не нужен?
3
barrgand
09.04.14
✎
15:03
(2)
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("стр");
ТЗ.Колонки.Добавить("стрДерева");
Для Каждого стрДерева Из тбФиксации.Строки Цикл
Для Каждого стр Из стрДерева.Строки Цикл
Если стр.Дата <НачалоРасчета ИЛИ стр.Дата>КонецРасчета Тогда
НовСтр = ТЗ.Добавить();
НовСтр.стр = стр;
НовСтр.СтрДерева = стрДерева;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Для Каждого стр из ТЗ Цикл
стр.стрДерева.Строки.Удалить(стр.стр);
КонецЦикла;
4
worker-good
09.04.14
✎
15:04
(1) А как это в коде сделать?
5
worker-good
09.04.14
✎
15:05
(3) Спасибо))
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.