1с скд как вывести ресурс только в итогах

от admin

1с скд как вывести ресурс только в итогах

Войдите как ученик, чтобы получить доступ к материалам школы

Система компоновки данных 1С 8.3 для начинающих: считаем итоги (ресурсы)

Автор уроков и преподаватель школы: Владимир Милькин

Ставим цель

Целью этого урока будет:

  • Написать отчёт, который выводит список продуктов (справочник Еда), их калорийность и вкус.
  • Сделать группировку продуктов по их цвету.
  • Познакомиться с возможностью подведения итогов (ресурсы) и вычисляемыми полями.

Создаём новый отчёт

Как и на предыдущих уроках открываем базу «Гастроном» в конфигураторе и создаём новый отчёт через меню «Файл«->»Новый. «:

Вид документа — внешний отчёт:

В форме настройки отчёта пишем имя «Урок3» и нажимаем кнопку «Открыть схему компоновки данных«:

Оставляем имя схемы по умолчанию и нажимаем кнопку «Готово«:

Добавляем запрос через конструктор

На закладке «Набор данных» нажимаем зелёный плюсик и выбираем пункт «Добавить набор данных — запрос«:

Вместо того, чтобы писать текст запроса вручную, вновь запускаем конструктор запроса:

На вкладке «Таблицы» перетягиваем таблицу «Еда» из первой колонки во вторую:

Выбираем из таблицы «Еда» поля, которые будем запрашивать. Для этого перетаскиваем поля «Наименование«, «Вкус«, «Цвет» и «Калорийность» из второй колонки в третью:

Получилось вот так:

Нажимаем кнопку «ОК» — текст запроса сформировался автоматически:

Формируем настройки представления отчёта

Переходим на закладку «Настройки» и нажимаем на волшебную палочку, чтобы вызвать конструктор настроек:

Выбираем вид отчета «Список. » и нажимаем кнопку «Далее«:

Перетаскиваем из левой колонки в правую поля, которые будут отображаться в списке и нажимаем «Далее«:

Перетаскиваем из левой колонки в правую поле «Цвет» — по нему будет происходить группировка строк в отчёте. Нажимаем «ОК«:

А вот и результат работы конструктора. Иерархия нашего отчёта:

  • отчёт в целом
  • группировка «Цвет»
  • детальные записи — строки с названиями еды

Сохраним отчёт (кнопка дискета) и не закрывая конфигуратора тут же откроем его в режиме пользователя. Получилось вот так:

Меняем порядок колонок

Но давайте поменяем порядок колонок (стрелки вверх-вниз), чтобы он был таким как на рисунке ниже:

Сохраним отчёт и вновь откроем в режиме пользователя:

Отлично, так гораздо лучше.

Подводим итог (сумму) по калорийности

Было бы неплохо выводить итог калорийности продуктов по группам. Чтобы видеть сумму калорийности всех продуктов, скажем, белого или жёлтого цвета. Или узнать общую калорийность вообще всех продуктов в базе.

Для этого существует механизм вычисления ресурсов.

Переходим на вкладку «Ресурсы» и перетаскиваем поле «Калорийность» (мы же по нему собираемся итог подводить) из левой колонки в правую.

При этом в поле выражение выбираем из выпадающего списка «Сумма(Калорийность)«, так как итогом будет являться сумма всех входящих в итог элементов:

Сохраняем и формируем отчёт:

У нас появились итоги по каждой из групп и по отчёту в целом.

Подводим итог (среднее) по калорийности

Теперь давайте сделаем так, чтобы в ещё одной колонке выводилась средняя калорийность продуктов по группам и в целом по отчёту.

Трогать уже имеющуюся колонку «Калорийность» нельзя — в неё уже выводится итог-сумма, поэтому заведём ещё одно поле, которое будет являться точной копией поля «Калорийность».

Чтобы завести такое «виртуальное» поле воспользуемся механизмом вычисляемых полей.

Переходим на закладку «Вычисляемые поля» и нажимаем зелёный плюсик:

В колонке «Путь к данным» пишем имя нового поля (слитно, без пробелов). Пусть оно будет называться «СредняяКалорийность«, а в колонке «Выражение» пишем имя уже существующего поля, на основании которого будет рассчитываться новое поле. Пишем туда «Калорийность«. Колонка «Заголовок» заполнится автоматически.

Мы добавили новое поле («СредняяКалорийность«), но в отчёте оно само по себе не появится — нужно или вновь вызывать конструктор настроек («волшебная палочка») или добавить это поле вручную.

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

Получилось вот так:

Сохраняем и формируем отчет:

Поле появилось и мы видим, что его значениями являются значения поля «Калорийность». Отлично!

Но мы помним, что конечная цель — посчитать среднюю калорийность по группам и в целом по отчёту.

Для этого вновь воспользуемся уже знакомым нам механизмом ресурсов (подведение итогов). Переходим на закладку «Ресурсы» и перетаскиваем поле «СредняяКалорийность» из левой колонки в правую:

При этом в колонке «Выражение» выбираем «Среднее(СредняяКалорийность)«:

Сохраняем и формируем отчёт:

Видим, что по группам, то есть по каждому цвету, и по отчёту в целом совершенно верно посчиталось среднее значение. Но присутствуют лишние записи по отдельным продуктам (не по группам), которые хотелось бы убрать из отчёта.

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

Исправим ошибку. Для этого вернёмся на закладку «Настройки«, выберем «Детальные записи» сначала сверху (шаг 2), а затем «Детальные записи» снизу (шаг 3), перейдём на закладку «Выбранные поля» и увидим в её правой колонке элемент «Авто«.

Элемент «Авто» — это не одно поле. Это несколько полей, которые попадают сюда автоматически на основании вышестоящих настроек.

Чтобы увидеть, что это за поля — нажмём на элемент «Авто» правой кнопкой и выберем пункт «Развернуть«:

Элемент «Авто» раскрылся в следующие поля:

А вот и наше поле «СредняяКалорийность«, которое попало сюда из пункта «Отчет«, когда мы его туда перетаскивали. Просто снимем галку рядом с этим полем, чтобы убрать его вывода:

Сохраним и сформируем отчёт:

То, что надо! Значения «СредняяКалорийность» остались только в группах (цвет) и в итоге по отчёту в целом.

Подводим итог (количество) по вкусам

Ну и напоследок, чтобы закрепить умение подводить итоги, сделаем вывод количества различных вкусов для продуктов каждого цвета.

Ну, например, для белого цвета, это значение будет равно 2 (всего два вкуса «Кислый» и «Сладкий»), а для жёлтого 3 («Сладкий», «Солёный» и «Кислый»).

Переходим на закладку «Ресурсы» и перетаскиваем поле «Вкус» из левой колонки в правую:

В качестве выражения выбираем «Количество(Различные Вкус)«:

Сохраняем и формируем отчёт:

Войдите на сайт как ученик

Авторизуйтесь, чтобы получить доступ ко всем материалам школы

Для учеников

Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.

На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .

СКД. Вывод полей в отдельной колонке

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

Читать:
Как развернуть экран на ноутбуке на весь экран

Конструктором настроек формируем таблицу, в строках будет группировка «Номенклатура», в колонках — «Период».

Ресурсы

Для всех прочих полей в ресурсах СКД укажем агрегатную функцию — пусть это будет Сумма.

Если сейчас в настройках отчета указать вывод общих итогов, то в это итоги будут выведены все ресурсы, в том числе и начальный/конечный остатки, что не имеет никакого прикладного смысла. Простое отключение расчета ресурсов по некоторым группировкам или общим итогам не уберет соответствующую колонку из общих итогов, поэтому мы переопределим наши итоги по следующей схеме.

ВычПоле

Добавим вычисляемое поле, назовем его «ДополнительнаяКолонка».

НастройкаСКД_ВычПоле

В колонки таблицы добавим новую группировку по этой колонке.

  • Мы хотим, чтобы поля «НачальныйОстаток», «КонечныйОстаток» не выводилось в итогах

НастройкаСКД_ОтключаемИтоги

Для этого нужно переопределить стандартные общие итоги. Отключим стандартный вывод горизонтальных и вертикальных итогов:

НастройкаСКД_ПереопределяемПоля

В группировке «ДополнительнаяКолонка» изменим состав выводимых полей следующим образом:

НастройкаСКД_Заголовок.png

Зададим заголовок группировке в условном оформлении:

НастройкаСКД_СвоиИтоги1

В результате наш отчет будет выглядеть вот так:

  • Мы хотим, чтобы поле «КоличествоДокументовПродажи» не выводилось в группировках, а вот в итогах пусть будет

НастройкаСКД_ПереопределяемПоля2

Изменим состав выводимых полей в группировке «НомерПериода»:

НастройкаСКД_ПереопределяемПоля3

А в группировке «ДополнительнаяКолонка» — вот так:

НастройкаСКД_СвоиИтоги2

Получим на выходе вот такой отчет:

Того же самого можно добиться через пользовательское поле «выражение», добавив его в новую группировку по колонкам и включив в состав выбранных полей в этой группировке нужный нам поля.

Как в СКД вывести ресурс только по нужным уровням иерархии

Рассмотрим, как в СКД вывести ресурс только по нужным уровням иерархии.

Имеем отчет с вот такой структурой:

Структура СКД

Структура СКД

У нас есть ресурс «Количество», который вычисляется для всей иерархии:

Ресурс СКД

Ресурс СКД

Задача: необходимо выводить «Количество» только в верхнем уровне иерархии. Сейчас получаемый отчет выглядит так (красным выделены поля, которые должны быть пустыми):

Как в СКД вывести ресурс только по нужным уровням иерархии

Текущий макет

Что нужно сделать?

Все очень просто, хоть и не совсем очевидно.

Заходим в условное оформление нужной нам группировки и добавляем новое условие:

Новое условное оформление

Новое условное оформление

В поле Оформление ставим флажок напротив «текст» и НИЧЕГО не пишем в текст. Таким образом мы говорим СКД, что надо выводить пустое поле. Выглядеть настройка будет вот так:

Пустой текст в оформлении

Пустой текст в оформлении

В условии используем системное поле «УровеньВГруппировке» и ставим «Не равно» «1». Таким образом мы говорим СКД, что наше оформление распространяется на все уровни группировки, кроме первого (соответственно, если вам надо выводить итоги только для первого и второго уровня, то вид сравнения ставите «Не в списке»,а в значение: «1,2»)

Условие СКД

Условие СКД

В оформляемых полях выбираем наш ресурс:

Оформляемые поля СКД

Оформляемые поля СКД

Все, больше ничего делать не нужно. Сохраняем наш отчет и проверяем результат:

Результат СКД

Результат СКД

Готово! Теперь вы знаете, как в СКД вывести ресурс только по нужным уровням иерархии

Настройка итогов в схеме компоновки данных 1С

Доброго времени суток, уважаемые читатели блога SoftMaker.kz. В статье Система компоновки данных (СКД) уже было подробно рассказано о других важных составляющих СКД. А сегодня мы поговорим, как настроить итоги в схеме компоновки данных.

Определение ресурсов в схеме компоновки данных 1С

В компоновке данных настройка итогов выглядит несколько иначе, чем в запросах. Определим в системе компоновки данных набор данных «Запрос».

В самом запросе мы не настраиваем итоги, а переходим на закладку «Ресурсы» компоновки данных. На уровне схемы компоновки данных мы определяем ресурсы. Это те поля, которые нужно посчитать на уровне группировок. Нажмём на кнопку «>>» и система сама перенесёт все числовые поля и определит их в качестве ресурсов.

Закладка «Ресурсы» в схеме компоновки данных

В ресурсах можно указывать и нечисловые поля. Например, если выбрать реквизит «Ссылка», то система подсчитает количество документов в наших группировках. Эта информация тоже может быть полезной. Итак, в схеме компоновки мы определяем только ресурсы, а сами группировки настраиваются на уровне варианта отчёта. Так же пользователь сам может создать группировки, которые хочет видеть в своей настройке варианта отчёта. Создадим стандартную настройку компоновки данных. Нажмём на кнопку «Открыть конструктор настроек».

Открывем конструктор настроек схемы компоновки данных

Выберем тип отчета — список. Нажмём кнопку «Далее».

Выбираем тип отчёта схемы компоновки данных

Выберем все поля и переместим поле контрагент на самую верхнюю позицию. Нажмём кнопку «Далее».

Выбираем поля для отображения в отчёте

Выберем все поля и переместим поле контрагент на самую верхнюю позицию. Нажмём кнопку «OK».

Выбираем поля по которым будет производится группировка данных

Получилась следующая настройка:

Вид после настройки полей группировки данных отчёта

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

Ресурсы отчёта схемы компоновки выделены зелёной пиктограммой

Если открыть наш отчёт в режиме 1С:Предприятие и сформировать его, то мы увидим, что формируются итоговые данные на уровне группировок. Итоги по номенклатуре и по контрагентам.

Сформированный отчёт с итогами по номенклатуре и по контрагентам

Настройка ресурсов в схеме компоновки данных 1С

Теперь обратим внимание на настройки, которые существуют у ресурсов. В поле «Выражение» мы можем указать агрегатную функцию, по которой можно получить значение ресурса. В выпадающем списке можно увидеть ряд стандартных функций, но не все. Например, нет функций Массив (Array) и СоединитьСтроки (JoinStrings).

Агрегатные функции ресурса в поле «Выражение»

Здесь в поле «Выражение» мы можем написать и своё собственное выражение.

Пользовательская функция ресурса в поле «Выражение»

В поле «Выражение» мы можем обращаться и к функциям общих модулей.

Кроме того, можно указать в поле «Расчитывать по…» по каким группировкам необходимо рассчитывать ресурс. Если поле «Расчитывать по…» не заполнено, то итоговое значение ресурса будет считаться на всех уровнях группировки, которые определены в настройках варианта отчёта. В нашем случае нужно заполнить поле «Расчитывать по…» ресурса «Количество», так как мы можем продавать товар с разными единицами измерения. Например: масло в литрах и колёса в штуках. Не правда ли, нелогично будет складывать количество этих товаров? Поэтому нам нужно оставить суммирование количества на уровне номенклатуры, а на уровне контрагентов суммирование уберём.

Поле «Расчитывать по. » на закладке «Ресурсы» схемы компоновки данных 1С

Если сформируем отчёт, то увидим, что итоги по количеству считаются только по номенклатуре, а по контрагентам итоги количества пустые.

Пустые итоги количества по контрагентам, а по количеству счтаются

Возможности при описании ресурсов в схеме компоновки данных 1С

Давайте рассмотрим ряд неочевидных особенностей связанных с описанием ресурсов.

  • Каждый ресурс можно определить несколько раз. Но это имеет смысл лишь в том случае, если ресурс будет рассчитываться по разным уровням группировок. Например, если количество, в одном случае суммируется для номенклатуры, а по контрагентам получаем минимальное значение.

Ресурс количество определён несколько раз

Если сформируем отчёт, то увидим, что по контрагенту «Дерия» минимальная закупка составляет пять единиц номенклатуры «Бумага самоклеющаяся».

Сформированный отчёт с группировкой по контрагенту и выбором минимального количества

  • В поле «Выражение», кроме написания формулы, можно использовать специальную функцию компоновки данных которая называется «Вычислить». Эта функция позволяет вычислить какое-то итоговое значение по определённой формуле. Например, по каждому контрагенту необходимо знать процент закупки в натуральных единицах относительно общего объёма. Но как получить общий объём закупок по количеству? Для этого воспользуемся функцией «Вычислить» и запишем следующее выражение в поле «Выражение»:

Как видно, все параметры функции «Вычислить» являются строковыми. Чтобы поле количество отображалось в отчёте красиво, настроим его на вкладке «Наборы данных». В строке количество найдём поле «Параметры редактирования». Откроем диалог, отыщем строку «Формат» и отредактируем в нём форматную строку, поставив на вкладке «Число», значение «Точность» равным двум.

Конструктор форматной строки

Запустим отчёт и увидим результат вычисления процента закупки по контрагенту «АУПП КОС ТОО» относительно общего объёма:

Похожие статьи