Имя: Пароль:
1C
1С v8
СКД - вычисляемый ресурс текущего уровня группировки возможен?
,
0 Провинциальный 1сник
 
26.07.19
14:12
Нужно в СКД в группировке посчитать значение ресурса не как агрегат от ресурсов нижележащих уровней (сумма, среднее и т.п), а как выражение от других ресурсов этого же уровня. Типа "Коэффициент=Сумма1/Сумма2". Сделал в выражении ресурса такую формулу - но она не считается, вместо неё в значение ресурса по группе попадает какое-то случайное значение из произвольной строки нижележащего уровня. Это глюк или так делать (обращаться в расчете ресурса к другим ресурсам того же уровня) нельзя? Как в этом случае решается задача?
1 palsergeich
 
26.07.19
14:13
(0) вычислитьыыражение ищи
2 Провинциальный 1сник
 
26.07.19
14:21
(1) Попробовал через ВычислитьВыражение, тот же результат..
3 palsergeich
 
26.07.19
14:23
Ну ты же понимаешь что что бы получить значение на уровне группировки надо симулировать вычисление этого ресурса до этой группировки
4 Провинциальный 1сник
 
26.07.19
14:25
(3) То есть то, что имеются ресурсы, рассчитываемые по этой группировке, из которых складывается выражение - ничего не значит? Просто помню что как-то так делал и всё работало. А теперь перестало(
5 Максим Нижегородец
 
26.07.19
14:40
Напротив "Коэф" на закладке "Ресурсы" задать формулу - CASE WHEN Сумма(Сумма2)=0 THEN 0 ELSE Сумма(Сумма1)/Сумма(Сумма2) END
6 Максим Нижегородец
 
26.07.19
14:43
Группировки получаются виртуально (их в таблицах нет) и числовые значения в них как-то считаются - вот формулу и нужно задать.
7 Провинциальный 1сник
 
26.07.19
14:45
(5) Так и делаю, но не работает. Никаких ошибок не выдает, но в Коэф какие-то левые значения присваиваются, произвольные из нижестоящей группировки.
8 Провинциальный 1сник
 
26.07.19
14:47
+(7) Поправлюсь, не из нижестоящей группировки (её нет), а из нижестоящей иерархии справочника. Группировка иерархическая (Номенклатура).
9 Максим Нижегородец
 
26.07.19
14:47
Либо ты вообще говоришь не про ресурс и тогда это поле не нужно помещать в ресурсы. И тогда можно будет выводить вместе с группируемыми полями.
10 aleks_default
 
26.07.19
14:48
Нихрена себе "поправлюсь"
11 Максим Нижегородец
 
26.07.19
14:49
Количество номенклатурных позиций в папке?
12 Максим Нижегородец
 
26.07.19
14:50
Количество товара из папки на складе?
13 aleks_default
 
26.07.19
14:50
А иерархию то в отчете выводишь или нужно посчитать чисто "умозрительно"?
14 Провинциальный 1сник
 
26.07.19
14:52
(9) Это именно ресурс, потому что нужны итоги по группировке справочнике. При этом итоги нельзя считать от иерархии, потому что ерунда получится (для коэффициента агрегаты не имеют смысла).
(11) Разное, и везде вместо того чтобы считать по формуле, в группе происходит тупо присваивание какой-то случайной нижележащей номенклатуры.
(13) Вывожу конечно, для этого всё и придумывалось..
15 Максим Нижегородец
 
26.07.19
14:54
(14) ОШИБКА - При этом итоги нельзя считать от иерархии, потому что ерунда получится (для коэффициента агрегаты не имеют смысла).
Коэффициент считается по агрегатам - для группировок. Пример: CASE WHEN Сумма(Сумма2)=0 THEN 0 ELSE Сумма(Сумма1)/Сумма(Сумма2) END
16 Максим Нижегородец
 
26.07.19
14:59
(15) Тогда как для обычной строки он будет посчитан - CASE WHEN Сумма2=0 THEN 0 ELSE Сумма1/Сумма2 END
17 Провинциальный 1сник
 
26.07.19
15:02
(15) Сделал так - а пофиг. Результат тот же. В группировке ничего не считается, а тупо хватает первое попавшееся из нижнего уровня.
18 Максим Нижегородец
 
26.07.19
16:05
(17) Даже скажу как сделал - во вкладке РЕСУРСЫ прописал CASE WHEN Сумма2=0 THEN 0 ELSE Сумма1/Сумма2 END как в обычной строке таблицы.

По секрету скажу, что порой чтобы в группировку (в СКД) выводились красивые данные, приходится добавлять дополнительные поля, нужные только для подсчета значений в группировках (задача порой не простая).
19 Провинциальный 1сник
 
26.07.19
16:35
(18) Нет, сделал с суммами. Не помогает. Такое ощущение что вообще выражение не считается.
20 Lost-in-wood
 
26.07.19
16:39
Может попробовать в вычисляемые поля добавить два доп. поля для вычисления суммы1 и суммы2, а потом уже в ресурсе "коэффициент" использовать их в формуле. И для группировки задать макет ресурса.
21 PiotrLoginov
 
26.07.19
17:16
Так что в итоге? Цель достигнута?
Тут подумалось, а может, один из ресурсов, необходимых для подсчета, просто отсутствует в момент вычисления?
22 Максим Нижегородец
 
26.07.19
17:19
(19) Кидай запрос. Заинтриговал.
23 Провинциальный 1сник
 
29.07.19
12:01
Короче, всё заработало после переименования отчета. Где-то кривой кэш настроек применялся, из версии где было неправильно задано, и несмотря на изменения в отчете - брались старые формулы.