Имя: Пароль:
1C
1С v8
СКД. Как написать выражение ресурса в иерархии(ВычислитьВыражение или Вычислить)
0 serffer
 
24.08.13
17:46
Есть таблица:
Статья1 - 300
Статья11 - 100
Статья111 - 70
Статья112 - 30
Статья113Неучитываемая -20
Статья12 - 200
Статья121 - 150
Статья122 - 50
Статья123неучитываемая - 30

в СКД для Статьи стоит вывод иерархии. Статья1 иерархическая содержит дочернюю Статью1 со значением из таблицы.
Как в иерархическую статью вывести именно значение предыдущей дочерней группировки именно по этой статье.

возникает ощущение, что надо както хитро использовать функции: ВычислитьВыражение или ВычислитьВыражениеСГруппировкойМассив
1 serffer
 
24.08.13
19:36
Я правильно понимаю что при вычислении иерархической группировки мне не доступны расчеты предыдущего уровня иерархии?
2 ILM
 
гуру
24.08.13
19:41
ВычислитьВыражение() - это везде.
Выражение() - только внутри текущей группы.
3 serffer
 
24.08.13
20:04
Добавил в запрос поле-дубль
Вычислить("СУММА(ВЫБОР КОГДА  ВидОтчетаЗначения = ВидОтчета ТОГДА мтПорядок ИНАЧЕ 0 КОНЕЦ)", "ВидОтчетаЗначения")
4 serffer
 
24.08.13
20:11
Сорри)
Добавил в запрос поле-дубль "Статья1"
ресурс СуммаСтатьи:
по Статья(не иерархия) - Сумма(СуммаСтатьи)
по Статья Иерархия - Вычислить("СУММА(ВЫБОР КОГДА  Статья1 = Статья ТОГДА СуммаСтатьи ИНАЧЕ 0 КОНЕЦ)", "Статья1")

выдает ошибку:
Ошибка получения данных
по причине:
Выражение не может быть вычислено "Сумма(Выбор
        Когда НаборДанных1.Статья1 = СтатьяИерархия.Статья
            Тогда НаборДанных1.СуммаСтатьи
        Иначе 0
    Конец), Статья1"
    
т.е. судя по ошибке СКД все таки понимает мои намеренья)
5 Necessitudo
 
24.08.13
22:33
ВычислитьВыражение() - это получение значения вышестоящей группировки из нижестоящей. Когда нужно обратное - использовать ВычислитьВыражениеСГруппировкойМассив или ВычислитьВыражениеСГруппировкойТаблицаЗначений. Проверено на днях буквально)