|
Подмена Итогов в СКД | ☑ | ||
---|---|---|---|---|
0
емое
05.12.11
✎
13:18
|
Добрый день
Есть отчет с группировкой по справочнику элементов отчета с иерархией. В отчете есть 2 показателя: сумма и сумма нарастающим итогом. Сейчас отчет выглядит так: Группировка Сумма Сумма нарастающий итог гр1. ур. 1 1000 1000 гр11. ур. 2 1000 эл111. ур. 3 1500 эл111. ур. 3 -500 гр2. ур. 1 70 1070 гр21. ур. 2 -30 эл211. ур. 3 -30 гр22. ур. 2 100 эл221. ур. 3 100 гр3. ур. 1 -10 1060 гр31. ур. 2 -10 эл311. ур. 3 -10 Нужно сделать в отчете одну колонку, где в зависимости от реквизита группы первого уровня будет выводить значение либо первой либо второй колонки. Сложность в том, что сумма должна измениться только по группе, по которой установлен соответствующий флаг, вся дочерняя структура не меняется, т.е. получается если для группы "гр3. ур. 1" установлен флаг вывода нарст. итога сумма должна быть 1060, и она не равна сумме дочерних элементов -10. Получится должно так: Группировка Сумма гр1. ур. 1 1000 гр11. ур. 2 1000 эл111. ур. 3 1500 эл111. ур. 3 -500 гр2. ур. 1 70 гр21. ур. 2 -30 эл211. ур. 3 -30 гр22. ур. 2 100 эл221. ур. 3 100 гр3. ур. 1 1060 гр31. ур. 2 -10 эл311. ур. 3 -10 Что нужно ковырять? Макет? Настройки схемы? Или где то в коде вывода можно подменить сумму итога? |
|||
1
Buster007
05.12.11
✎
13:33
|
можно попробовать в ресурсах поставить то, что тебе надо.
Для ресурса "сумма" задать для групп верхнего уровня твою сумму с нарастающим итогом, а для прочих элементов задать обычную сумму ) |
|||
2
емое
05.12.11
✎
15:01
|
Добавил ресурс с выражением
"Сумма(Выбор Когда Статья.ВыводитьНИ Тогда СуммаНИ Иначе Сумма Конец)" не срабатывает, проблема в том, что эти все выражения рассчитываются на уровне элементов, а потом суммированием собираются в иерархию и получаются суммы по группам. Вот как заменить сумму по группе не меняя сумму вложенных элементов, вот в чем вопрос. |
|||
3
Amiralnar
05.12.11
✎
15:02
|
Классика. "Рассчитывать итоги по:"
|
|||
4
емое
05.12.11
✎
15:06
|
Можно в двух словах, как использовать "Рассчитывать итоги по:"?
|
|||
5
Amiralnar
05.12.11
✎
15:21
|
(4) Вкладка "Ресурсы"
|
|||
6
емое
05.12.11
✎
16:08
|
Насчет двух слов зачет, можно развернуть ответ по поводу "Рассчитывать итоги по:"?
|
|||
7
Amiralnar
05.12.11
✎
16:16
|
В конструкторе СКД есть вкладка, на которой определяются ресурсы. Там есть колонка, в которой можно сказать, по каким группировкам рассчитывать данный ресурс.
|
|||
8
емое
05.12.11
✎
16:20
|
И как это поможет в моей ситуации?
|
|||
9
PVV65
05.12.11
✎
16:23
|
Может поможет "пользовательское поле - выражение" из настроек. Там как раз можно создать новую колонку с произвольным расчетом значения как для группировок так и для детальных записей.
|
|||
10
емое
05.12.11
✎
20:41
|
(9) не помогло. Написал для детальных записей "Сумма", для итоговых:
Выбор Когда Статья.ВыводитьНИ Тогда СуммаНИ Иначе Сумма Конец Для всех строк где на головном элементе Статья.ВыводитьНИ = Истина вывелась СуммаНИ. |
|||
11
емое
05.12.11
✎
20:54
|
(7) все что удалось добиться при помощи "Рассчитывать итоги по:" создал два итога - просто сумма для детальных записей и сумма нарастающим итогом для иерархии. Но это не решение, потому что
1. Это две колонки, а мне нужна одна, как их собрать в одну не понятно 2. В моем примере для гр31. ур. 2 должно быть -10, т.е. просто сумма а не нарастающим итогом. |
|||
12
Amiralnar
06.12.11
✎
09:24
|
(11) Теперь обрабатывай вывод отчета и компонуй данные колонок в одну.
|
|||
13
емое
06.12.11
✎
09:44
|
(12) Курил хрусталеву и другие источники...
везде пишут "Обратим внимание, что после определения границ области для макета система автоматически заполняет параметры макета и соответствующие выражения". У меня так не происходит. Задаю имена группировкам, добавляю макет группировки (или ресурса не важно) указываю нужную группировку (или пересечение для ресурсов) выделяю область, и ... ничего не происходит. Если в поле текст написать что либо и вывести отчет, область в отчет попадает, только не понятно как туда вписать выражение? |
|||
14
PVV65
06.12.11
✎
09:53
|
(10) Что то у тебя не так. У меня все получается.
Напиши так Выбор Когда Статья.ВыводитьНИ И Уровень = 1 Тогда СуммаНИ Иначе Сумма Конец |
|||
15
PVV65
06.12.11
✎
09:54
|
(13) Сильно усложняешь. Твоя задача проще. Решается настройками.
|
|||
16
PVV65
06.12.11
✎
10:05
|
Только что нарисовал пример - все работает.
|
|||
17
емое
06.12.11
✎
10:13
|
сделал вычисляемое поле с выражением:
Выбор Когда Статья.ВыводитьНИ И Статья.Уровень() = 1 Тогда СуммаНИ Иначе Сумма Конец Кстати, может надо было использовать выражение представления? Ругается: {ВнешнийОтчет.УправленческаяОтчетность.МодульОбъекта(181)}: Ошибка при вызове метода контекста (Вывести) ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); по причине: Ошибка вывода результата по причине: Ошибка при выводе результата по причине: Ошибка получения данных по причине: Ошибка в выражении по причине: Синтаксическая ошибка "Статья.Уровень" |
|||
18
PVV65
06.12.11
✎
10:15
|
(17) "Уровень" - это системное поле СКД, а не метод справочника.
|
|||
19
PVV65
06.12.11
✎
10:17
|
+(18) В конфигураторе надо писать "СистемныеПоля.Уровень".
|
|||
20
емое
06.12.11
✎
10:24
|
(19) не пойму как использовать СистемныеПоля.Уровень в кейсе:
Выбор Когда Статья.ВыводитьНИ И Статья.Уровень() = 1 Тогда СуммаНИ Иначе Сумма Конец |
|||
21
PVV65
06.12.11
✎
10:25
|
(20)
Выбор Когда Статья.ВыводитьНИ И СистемныеПоля.Уровень = 1 Тогда СуммаНИ Иначе Сумма Конец |
|||
22
емое
06.12.11
✎
10:26
|
(21) так пробовал, пишет Поле не найдено СистемныеПоля.Уровень
я этот кейс пытаюсь вставить как выражение вычисляемого поля, может не туда надо? |
|||
23
PVV65
06.12.11
✎
10:29
|
(22) В настройка - Пользовательские поля.
|
|||
24
PVV65
06.12.11
✎
10:30
|
+(23) еще в (9) написал.
|
|||
25
емое
06.12.11
✎
10:33
|
О! Вот оно чо! Спасибо большое, на уровне пользовательских полей в настройках работает. Алилуя.
|
|||
26
емое
06.12.11
✎
12:27
|
Сработало как оказалось не совсем как хотелось :-)
В процессах экспериментов я установил флаг ВыводитьНИ для элемента нижнего уровня, и таким образом сработала эта галка а не та что стоит на группе первого уровня. Чтобы это обнаружить ушел последний час... Т.е. получается как ни крути СКД все выражения вычисляет для элементов, а затем уже скручиваются в иерархию? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |