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

05.06.13

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

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

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

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

 

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

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

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

 

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

 

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

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

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

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

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

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

13000 10400 руб.

02.09.2020    122080    670    389    

714

Генератор схемы компоновки данных (СКД), написание кода схемы программно

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

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

3 стартмани

05.02.2024    4036    25    obmailok    17    

63

Набор-объект для СКД по тексту или запросу

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

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

1 стартмани

31.01.2024    2000    2    Yashazz    0    

29

СКД на JavaScript в 1С

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

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

2 стартмани

11.12.2023    8155    20    John_d    25    

123

Использование менеджера временных таблиц в СКД

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

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

05.12.2023    4652    PROSTO-1C    13    

61

Модель СКД

Инструментарий разработчика СКД Платформа 1С v8.3 Система компоновки данных Абонемент ($m)

DSL для работы с СКД.

1 стартмани

15.11.2023    5805    15    kalyaka    5    

86

Пользовательские настройки отчетов 1С. Часть 1. Простые и расширенные настройки

СКД Инструкции пользователю Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

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

18.09.2023    6698    accounting_cons    5    

29

Разрыв страницы в СКД. Легко!

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

Когда отчет надо разделить по страницам, это всегда проблема для разработчика. Поскольку в СКД нет стандартных вариантов, как это сделать. Нашел (на свой взгляд) самое простое и оптимальное решение.

01.09.2023    4518    KVIKS    15    

80
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. TrinitronOTV 14 05.06.13 18:09 Сейчас в теме
большое спасибо за предоставленный материал о возможностях системы компоновки данных, пригодится в дальнейшей работе...
2. Поручик 4670 05.06.13 22:19 Сейчас в теме
Меня терзают смутные сомнения...
Где же я это видел раньше?
3. anig99 2843 05.06.13 22:19 Сейчас в теме
Почесал левой ногой правое ухо
4. Поручик 4670 05.06.13 22:20 Сейчас в теме
(3) А чё, мне понравилось.
7. anig99 2843 05.06.13 22:43 Сейчас в теме
(4) вычисляемые поля, ресурсы с итогами на разных уровнях, пользовательские поля - более простые и универсальные решения. Макет сложнее менять и он может поплыть, если менять схему отчета пользовательском режиме
user616057_andrig; echo77; Восьмой; kiros; dmpas; +5 Ответить
5. Поручик 4670 05.06.13 22:22 Сейчас в теме
(3) Предлагаешь вычисляемые поля?
6. Поручик 4670 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 809 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 528 29.09.20 10:36 Сейчас в теме
В ресурсах нужно прописать формулу

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