![]() |
|
Получение итогов по наименованию группировки в СКД | ☑ | ||
---|---|---|---|---|
0
pocketbeast
28.03.24
✎
10:20
|
Здравствуйте!
Появился такой вопрос... У меня есть отчет СКД, который выводит количество продукции по кварталам одного года. Кроме того, количество продукции группируется по полю "Подразделение". В нем есть элементы "Цех1", "Цех2", "Цех3". Могу ли я вывести (с помощью вычисляемых полей, к примеру) итоги по Цеху1 и Цеху2 вместе, а по Цеху3 отдельно? Уже курил "ВычислитьВыражение()" в СКД, но, кажется, этот вариант не подходит, потому что эта функция вычисляет значение именно что по группировке (а все цеха у меня в одной группировке). Пробовал Цеху3 в запросе назначить отдельное поле, но столкнулся с проблемой, что тогда ему нужно назначать отдельный ресурс количества продукции. А это, в свою очередь, приводит к тому, что надо либо две колонки создавать для каждого квартала (количество продукции цехов 1 и 2, и количество продукции цеха3), либо оставлять ресурс общим, но тогда для Цеха3 создаются несколько пустых строчек, в которых все равно содержится общее количество продукции первых двух цехов. Еще есть вариант вытащить сам запрос, выполнить его перед компоновкой, отдельно посчитать сумму, а потом передать ее в вычисляемое поле программно, но это похоже на какое-то лютое извращение. Подскажите пожалуйста, в каком направлении копать? Была ли у кого похожая задача? |
|||
1
toypaul
гуру
28.03.24
✎
10:54
|
картинка настроек, картинка результата как есть, картинка результата как надо
|
|||
2
DrZombi
гуру
28.03.24
✎
11:10
|
(0) >>> это похоже на какое-то лютое извращение
Нормально, то что отчет люто извращен по итогам, вы воспринимаете должное. И в свое время для СКД считаете, что это не изврат... :DDDD |
|||
3
PLUT
28.03.24
✎
11:13
|
(2) вангую, что автору нужно как в XL (как в икселе)
обычно там лютые извращения - произвольные итоги формулой типа =СУММ(C35;C42;C49;C55;C62;C65;C77;C85;C90;C97;C104;C113;C116) теперь нужно ту же самую дичь повторить в СКД не спрашивайте зачем - так нужно начальству |
|||
4
DrZombi
гуру
28.03.24
✎
11:14
|
(0) Копать просто, создайте обычное поле, идентификатор для определения, что есть чем.
Поле имеет значения в запросе Если это Цех3, то пишем "Цех3" Иначе это "Цех2" или "Цех1", то пишем "Цех1_2" Пример кода в запросе Выбор Когда Цех = "Цех3" Тогда Когда Цех = "Цех2" или Цех = "Цех1" Тогда Иначе Конец КАК ПолеДляИтогов В настройках СКД, добавляем на определенный уровень ваше поле "ПолеДляИтогов". Получаем итог по "цеху 3" и отдель но по "цехам 2 и 1" |
|||
5
DrZombi
гуру
28.03.24
✎
11:16
|
(3) >>> не спрашивайте зачем - так нужно начальству
Вот это в точку, но спросить стояло бы, обычно когда говорят, что так нужно без объяснений, то с вероятностью 99% уже все забыли, для чего :) |
|||
6
DrZombi
гуру
28.03.24
✎
11:17
|
+(4) Тоже самое можно лепить и в "вычисляемом поле", это как кому приятней :)
|
|||
7
pocketbeast
28.03.24
✎
11:54
|
(3) Вы правы, нужно что-то по типу вот этого https://disk.yandex.ru/i/JGmR06cMfBoI5A
По поводу того, зачем это нужно, могу сказать, что тут все связано с особенностями производства. Описывая проблему, я не вдавался в детали, но в двух словах: в Цехе3 продукция совсем иного сорта, поэтому их и надо разделить |
|||
8
pocketbeast
28.03.24
✎
12:11
|
(4) Не совсем Вас понял. А как я получу на основании этого поля итоги по цехам?
Ведь если я буду передавать в него ресурс количества продукции, то в конце концов это поле все равно будет содержать общую сумму по всем подразделениям. А если в нем будет только идентификатор, то как по нему я смогу высчитать сумму для конкретных подразделений? И чем он будет принципиально отличаться от названия подразделения? Я честно пытался найти (но потерпел неудачу) какой-нибудь метод в языке выражений СКД, который складывал бы значения по какому-то значению. Но, как я понял, сумму возможно получить только по всей колонке целиком |
|||
9
toypaul
гуру
28.03.24
✎
12:46
|
вот похожий пример https://www.youtube.com/watch?v=gnfAMl1QIBs
|
|||
10
DrZombi
гуру
28.03.24
✎
13:09
|
(8) Итоги можно выводить отдельно.
Вашем варианте в (7), это самый простой способ :) 1. Отключить вывод общих итогов 2. Создать свои итоги. |
|||
11
DrZombi
гуру
28.03.24
✎
13:13
|
||||
12
DrZombi
гуру
28.03.24
✎
13:17
|
+(8) В догонку....
>>>>> Ведь если я буду передавать в него ресурс количества продукции Человек, в него вы будете помещать идентификатор группировок, не Ссылку на Цэха, ни суммы. А просто Идентификатор группировок. Пример: 1. "Группировка_01" (просто тип Строка) //Для Цеха №3 2. "Группировка_02" //Для Цеха № 1 и 2 (или еще какой цэх) 3. "Группировка_03" //Для прочих цэхов |
|||
13
pocketbeast
28.03.24
✎
13:32
|
(9) Это именно оно! Заработало! Спасибо!
|
|||
14
pocketbeast
28.03.24
✎
13:33
|
(10) Да, вот именно так и сделал! Настолько изящное и своего рода простое решение оказалось! Спасибо Вам большое за помощь и наводку!
|
|||
15
pocketbeast
28.03.24
✎
13:37
|
И, в завершении, хочу теперь поблагодарить Вас всех вместе. Спасибо большое за помощь! Очень долго ломал голову над тем, как можно данную задачу решить. Какие только варианты мою голову не посещали, аж вспомнить страшно. И, в конце концов, с Вашей помощью решилось все. Но, что самое главное, я понял как это делается, а значит не зря был прожит этот день, ведь в итоге я стал опытнее.
Храни Вас всех Господь, джентельмены, храни Господь 1с |
|||
16
Волшебник
28.03.24
✎
13:39
|
(15) 💖
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |