Как посчитать итоги в дереве значений по уровням ?
☑
0
RomaH
naïve
05.03.07
✎
10:50
Методы какие-нибудь есть?
Или только перебором?
1
coder1cv8
05.03.07
✎
10:52
(0) Есть, Итог() называется...
2
jcage
05.03.07
✎
10:52
(0) А дерево ты как получаешь?
3
Волшебник
модератор
05.03.07
✎
10:52
4
RomaH
naïve
05.03.07
✎
10:59
(1) да ну?
5
Vozhd
05.03.07
✎
11:03
(4) Угу, (1) все правильно говорит...
6
IronDemon
05.03.07
✎
11:05
Процедура ПосчитатьДерево(СтрокаДерева) Если СтрокаДерева.Уровень() <> 0 Тогда НоваяСтрока = ТаблицаЛиквидности.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока,СтрокаДерева); КонецЕсли; Если СтрокаДерева.Строки.Количество() = 0 Тогда Возврат; КонецЕсли; СредняяРеализация = СтрокаДерева.Строки.Итог("СредняяРеализация",Истина); Если СредняяРеализация <> 0 Тогда Если УчитыватьКПолучению Тогда Остаток = СтрокаДерева.Строки.Итог("ТекОстаток",Истина) + СтрокаДерева.Строки.Итог("КПолучению",Истина); Иначе Остаток = СтрокаДерева.Строки.Итог("ТекОстаток",Истина); КонецЕсли; ЗапасДнейТорг = Окр(Остаток / СредняяРеализация,1); Иначе ЗапасДнейТорг = 0; КонецЕсли; СтрокаДерева.СредняяРеализация = СредняяРеализация; СтрокаДерева.ЗапасДнейТорг = ЗапасДнейТорг; Для Каждого Строка Из СтрокаДерева.Строки Цикл ПосчитатьДерево(Строка); КонецЦикла; КонецПроцедуры
7
RomaH
naïve
05.03.07
✎
11:11
(4) и правда есть - не заметил сразу
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.