Свои итоги в СКД или расчет среднего значения

05.06.13

Разработка - СКД

Описание настройки СКД для вывода в отчете среднего значения ресурса расчитаного на основе итогов других столбцов.

Разберем пример:

Клиенту отгружают несколько единиц товара с разной скидкой. Требуется вывести в отчете значения скидок по каждому товару и расчитать среднюю скидку. Создадим отчет на СКД.
Для всех полей по которым требуется выводить итоги зададим на вкладке "Ресурсы" выражение (метод) их расчета. Для Поля "Скидка" зададим метод расчета как "Среднее".

 

Выводим отчет:

 Как видно итог по полю "Скидка" расчитан как среднее арифметическое значений поля, т.е. сумма всех значений деленное на количество значений. Но т.к. объемы отгружаемого товара с разной скидкой различны, то средняя скидка может быть расчитана и другим способом: например как отношение общей суммы отгруженного товара с учетом скидки к общей сумме отгруженного товара. Но тут возникает вопрос: если для расчета значений полей детальных записей в СКД можно прописать формулу, то итоги расчитываются автоматически по выражению указанному на вкладке "Ресурсы", а там, как мы видели ранее, "Среднее" расчитается как среднее арифметическое выводимых значений, как же в этом случае расчитать итог в данной колонке по собственной формуле?
На самом деле это не сложно. Для этого скорректируем наш отчет, добавив в него необходимые поля, которые будут учавствовать в расчете, в нашем случае это "СуммаСоСкидкой" и "СуммаПоПрайсу".

Для Того чтобы СКД "научить" выводить наши итоги проделываем следующие шаги:
1. на вкладке "Настройки" для группировки "" присвоим имя, например "ИтогСКД", для этого вызываем контекстное меню для группировки и нажимаем "присвоить имя";

 

2. на вкладке "Макеты" добавляем "макет заголовка группировки", где выбираем ранее назначенное имя "ИтогСКД";

 

3. рисуем строку макета, где все итоги, расчет которых нас устривает оставляем как есть, а для расчета среднего процента скидки пишем формулу для расчета;

Если все здели верно, то при выводе отчета под ним будут выведены две строки итогов, сначала та, что формируется автоматически, затем созданная Вами.

 Для того что оставить вывод только вашей строки итогов необходимо на вкладке "Настройки" в разделе "Другие настройки" вывода макета, отключить вывод для "Расположение общих итогов по горизонтали" и  "Расположение общих итогов по вертикали" 

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    157583    856    399    

859

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

Часто при разработке отчетов в СКД возникает ситуация, когда не совсем понятно, почему отчет выводит не те данные, которые нужны, либо не выводит вовсе. Возникает потребность увидеть конечный запрос, который формирует СКД. Как это сделать, рассмотрим в этой статье.

15.05.2024    8274    implecs_team    6    

46

Инструментарий разработчика СКД Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

3 стартмани

05.02.2024    6829    54    obmailok    21    

79

Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    3113    5    Yashazz    1    

34

СКД WEB-интеграция Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Долгое время поддерживаю web-портал, в котором появилась необходимость создавать отчеты. Просмотрев различные фреймворки на js, я решил сделать свое решение, которое позволяло бы быстро разрабатывать и добавлять новые отчеты на web-портал.

2 стартмани

11.12.2023    10656    23    John_d    25    

124

СКД Программист Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Рассмотрим еще не получивший широкого распространения способ работы с внешними данным в СКД. В процессе обсуждения работы с СКД выяснилось, что многие не знакомы со способом помещения туда временной таблицы, полученной предварительно. Статья будет полезна разработчикам, знакомым с программным созданием СКД.

05.12.2023    7805    PROSTO-1C    14    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TrinitronOTV 16 05.06.13 18:09 Сейчас в теме
большое спасибо за предоставленный материал о возможностях системы компоновки данных, пригодится в дальнейшей работе...
2. Поручик 4692 05.06.13 22:19 Сейчас в теме
Меня терзают смутные сомнения...
Где же я это видел раньше?
3. anig99 2852 05.06.13 22:19 Сейчас в теме
Почесал левой ногой правое ухо
4. Поручик 4692 05.06.13 22:20 Сейчас в теме
(3) А чё, мне понравилось.
7. anig99 2852 05.06.13 22:43 Сейчас в теме
(4) вычисляемые поля, ресурсы с итогами на разных уровнях, пользовательские поля - более простые и универсальные решения. Макет сложнее менять и он может поплыть, если менять схему отчета пользовательском режиме
user616057_andrig; echo77; Восьмой; kiros; dmpas; +5 Ответить
5. Поручик 4692 05.06.13 22:22 Сейчас в теме
(3) Предлагаешь вычисляемые поля?
6. Поручик 4692 05.06.13 22:28 Сейчас в теме
(3) Скажи, как правильно чесать правое ухо и я так же буду делать.
SagittariusA; +1 Ответить
8. kiros 52 06.06.13 11:06 Сейчас в теме
Вообще для подобных задач я бы использовал ресурсы как в выражении макета написано, но с суммами и на любом уровне считается одинаково.
9. Natain14 18.03.16 09:08 Сейчас в теме
Спасибо за материал! Очень помогло!
10. Serge_ASB 23.06.16 13:28 Сейчас в теме
Данное решение помогло.
А вот будет ли разница, если группировок несколько, и если нужно результат суммирования в одной группировке использовать в вышестоящей, например, итоговый процент по номенклатуре использовать для расчета по группировке по складам, или по клиентам-покупателям?
Подобная задачка есть. Пока размышляю, с какого боку к ней подойти, если решить в СКД.
11. kiv1c 818 08.12.16 17:35 Сейчас в теме
ОЧЕНЬ помогла статья, спасибо
12. Mialex 17.04.18 15:40 Сейчас в теме
Получилось сделать проще! Надо добавить свое "вычисляемое поле", например, поле средняя цена , выражение = сумма/количество, а затем добавить его в ресурсы. Но! В колонке "Выражение" в ресурсах прописать Сумма(сумма)/сумма(количество). И все работает)
soci0pat; petrobol25; korpas; jan-pechka; JaneP; simgo83; +6 Ответить
13. max_zhilin 18.07.19 18:32 Сейчас в теме
(12) Можно еще проще: сумма / количество
Агрегаты не нужны, если по строке считаешь. Но в общих итогах агрегаты понадобятся.
14. Akuji 22 26.01.20 18:24 Сейчас в теме
А если это в таблице и число колонок формируется динамически?
например по месяцам за период.
15. user640260_smitti911 05.06.20 14:28 Сейчас в теме
(14) Тоже интересует как быть если число колонок формируется динамически
16. Hatson 535 29.09.20 10:36 Сейчас в теме
В ресурсах нужно прописать формулу

Выбор Когда Сумма(СуммаПоПрайсу) <> 0 Тогда
     Сумма(СуммаСоСкидкой)/Сумма(СуммаПоПрайсу) *100
Иначе
      0
Конец
Прикрепленные файлы:
17. lshaton 22.02.21 17:06 Сейчас в теме
(16) В ресурсах прописать формулу - работает! Хотя не понятно почему и не очевидно, что туда можно вписывать свои формулы вместо стандартных сумм, средних и т.д
.
Оставьте свое сообщение