Имя: Пароль:
1C
1С v8
Отчет в СКД - получить значение низлежащей группировки
,
0 Jokero
 
01.09.16
11:36
Извечный вопрос уже ктонить решил, как для верхней группировки получить значение низлежащей группировки?
1 Jokero
 
01.09.16
11:40
пытаюсь использовать вложенные ВычислитьВыражение - что-то вроде
Сумма(ВычислитьВыражение("Сумма(ВычислитьВыражение("Максимум(Сумма)", "Номенклатура"))"))
но СКД ругается на нехватку скобок.
2 Defender aka LINN
 
01.09.16
11:42
А какова прикладная цель?
3 Jokero
 
01.09.16
11:45
проблема рассчета что-то вроде такой

Есть группировки
Организация
--Подразделение                                    
----Заказ
-------Номенклатура
---------ДетальныеЗаписи с документом реализации  

Соответственно ресурс суммы для заказа по номенклатуре получаю как Максимум(Сумма) - рассчитывать по Номенклатура

Для Заказа использую функцию Сумма(ВычислитьВыражениеСГруппировкойМассив ("Максимум(Сумма)", "Номенклатура" ))

и для заказа считается верно, но для последующих группировок вычисление сбивается, т.к. в заказах может оказаться одинаковая номенклатура и она будет взята по максимуму из одного из заказов
4 azernot
 
01.09.16
12:05
Я нихрена не понял. Зачем максимум-то используется?
5 azernot
 
01.09.16
12:08
(1) У тебя по факту он ожидает скобку
Сумма(ВычислитьВыражение("Сумма(ВычислитьВыражение(" - вот тут, вроде как кавычки закрылись, значит вычисляемое выражение закончено...

Попробуй как-то так
Сумма(ВычислитьВыражение("Сумма(ВычислитьВыражение(""Максимум(Сумма)"", "Номенклатура"))"))
6 Jokero
 
01.09.16
12:24
(4)сумма это ресурс который берется из заказа (из реализации я беру сумму продажи и там спокойно суммируется все)

Т.есть в детальных записях ресурс "сумма" дублируется. Для первой группировки по номенклатуре я использую функцию "максимум", для следующей (Заказ) ВычислитьВыражениеСГруппировкойМассив.
А какую для следующих испльзовать?
Вложить ВычислитьВыражениеСГруппировкойМассив друг в друга нельзя.
А мне для группировки подразделение нужно взять значение группировки Заказ
7 Jokero
 
01.09.16
12:28
(5) Неругается, если поставить Сумма(ВычислитьВыражение("Сумма(ВычислитьВыражение(""Максимум(Сумма)"", ""Номенклатура""))"))

Но при компановке данных происходит ошибка
Выражение не может быть вычислено "Максимум(НаборДанных1.Сумма), Номенклатура"
8 LordCMEPTb
 
01.09.16
12:37
А чем не нравится формула из (3), которая для заказа?
Единственное, что в выражении полей группировок надо добавлять нижестоящие, т.е. для подразделения брать "Номенклатура, Заказ", для организации "Номенклатура, Заказ, Подразделение".
9 aleks_default
 
01.09.16
12:39
(3)Сумма(ВычислитьВыражениеСГруппировкойМассив ("Максимум(Сумма)", "Номенклатура,Заказ" ))
10 azernot
 
01.09.16
12:42
А если в запрос добавить отдельный реквизит "СуммаЗаказа", который чётко содержит именно сумму заказа при суммировании всех детальных записей (например, как СуммаЗаказаПоСтроке = СуммаПродажиПостроке * ИтогЗаказаПоЗаказу/ИтогПродажиПоДокументу, а далее поиграться с "Расчитывать по" на вкладке "Ресурсы": для группировок по заказу и выше - Сумма(СуммаЗаказа), для остальных группировок - 0, ну или что ты там выводишь, максимум....
11 eddy_n
 
01.09.16
13:56
Можно использовать условное оформление группировки: в качестве текста указываешь нужный тебе ресурс.
12 eddy_n
 
01.09.16
13:57
(11) + В качестве текста оформляемого поля.
13 Jokero
 
01.09.16
16:09
(9) это для каждого поля разворачивать или можно для всех, просто через запятую все свои группировки перечислить?
14 Jokero
 
01.09.16
16:10
(8) (9) вообщем-то получилось, считает вроде без косяков!
Спасиб Мистяне!!!