|
Как удалить строки из дерева значений? |
☑ |
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) Спасибо))
|
|