Как добавить новую колонку в отчет на скд 1с
Перейти к содержимому

Как добавить новую колонку в отчет на скд 1с

  • автор:

Как добавить новую колонку в отчет на скд 1с

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

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

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

Ставим цель

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для учеников

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

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

Программное добавление полей и ресурсов в СКД

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

1С программное добавление полей и ресурсов в СКД — СозданиеОтчета

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

1С программное добавление полей и ресурсов в СКД - ВнешнийНаборДанных

1С программное добавление полей и ресурсов в СКД — ВнешнийНаборДанных

1С программное добавление полей и ресурсов в СКД - НастройкаГруппировки

1С программное добавление полей и ресурсов в СКД — НастройкаГруппировки

Настройка отчетов в 1С 8.3

Если встроенные отчеты вас не устраивают не спешите обращаться за доработкой — можно попробовать самостоятельно настроить готовый отчет под свои нужды.

Настройка отчета 1С 8.3 на примере стандартного отчета «Прайс-лист»

Возьмем для примера популярный и часто используемый отчет – например Прайс-лист, рассмотрим на конфигурации Управление Торговлей 11. Но принцип работы с отчетами одинаков во всех конфигурациях на 8.3.

[stextbox каждого отчета есть огромные возможности его настройки, и настройки которые вы обычно видите в шапке, сверху отчета – это лишь малая их часть.[/stextbox]

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

Настройки

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

Простой и расширенный вид

Простой и расширенный вид настроек отчета

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

Как добавить отборы в отчете на 1С 8.3

Для этого зайдем в настройки на вкладку Отборы. И зададим, что хотим оставить только 1 вид цен и 1 склад, и чтобы продемонстрировать то как добавить собственный отбор отберем еще наш отчет по виду номенклатуры, оставим только вид номенклатуры – Продукты.

Задать отбор в отчете на 8.3

Вкладка Отборы настроек отчета

Чтобы добавить свой отбор – нажимаем Добавить отбор и выбираем нужный нам реквизит Номенклатура (развернуть) Вид номенклатуры.

Задаем его значение — готово, мы задали значения готовых отборов и добавили новый отбор.

Как добавить дополнительную колонку в отчете 1С 8.3

Мы можем добавить только реквизиты, каких-то данных которые уже есть в отчете – например номенклатуры, склада, вида цен. Добавим реквизит для номенклатуры, допустим нам хотелось бы видеть в отчете еще колонку с кодом номенклатуры. Заходим в настройки на вкладку — Структура.

Настройки отчета вкладка структура

Находим здесь тот элемент, реквизит которого мы хотим добавить – это номенклатура – дважды щелкаем на нее и переходим на вкладку Поля. Добавляем новое поле – Номенклатура (развернуть) Код.

Добавить колонку в отчет

Добавление колонки в отчет

Готово — мы добавили дополнительную колонку Код в наш отчет.

Как сделать горизонтальную группировку в отчете 1с 8.3

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

Добавить группировку в отчете 1С 8.3

Перетаскиваем в добавленную группировку номенклатуру.

Добавить группировку в отчет 1С

Новая группировка по виду номенклатуры

Ненужную нам группировку — ценовая группа отключаем (снятием галочки слева), или удаляем.

Готово — мы добавили новую группировку по виду номенклатуры в отчет.

Посмотрим что у нас получилось. Отчет отобран и сгруппирован так, как нам нужно, а также добавлена новая колонка — Код.

Для того, чтобы не потерять эти настройки – есть функция Сохранить вариант отчета.

Сохранение настроек отчета

Вы можете сохранить этот вариант отчета под новым именем и он будет отображаться у вас в меню как отдельный отчет.

Надеюсь, статья была вам полезна — а если вы хотите научиться еще более детально настраивать отчеты (выделять данные цветами по условию, менять оформление отчета, задавать заголовок, присоединять отсутствующие в отчете данные и др.) — ⚡ записывайтесь на мой Онлайн курс — «Сам себе Программист 1С».

Как добавить пользовательское поле в типовой отчет 1С 8?

Рассмотрим возможность добавления пользовательских полей в схему компоновки данных отчета 1С 8. Для примера добавим поле 1С 8.3 “Цена” в типовой отчет “Валовая прибыль предприятия” и разместим его между колонками “Количество” и “Выручка” в 1С.

Рис. 1 Типовой отчет “Валовая прибыль предприятия”

Нам нужно нажать на кнопку “Еще”, перейти на закладку “Прочее” и выбрать пункт “Изменить вариант отчета”.

Переходим на закладку “Пользовательские поля”, нажимаем кнопку “Добавить”, выбираем пункт “Новое поле выражение”

Рис. 2 Добавление нового поля в отчет

2. Как избежать ошибки деления на 0

В поле “Заголовок” указываем название нашей колонки. Оно будет выводится в отчет. В поле “Выражение детальных записей” укажем следующий код 1С 8.3:

КОГДА Количество <> 0

Эта конструкция нужна, чтобы избежать ошибки деления на 0. Разберем ее подробнее.

“КОГДА Количество <> 0 ТОГДА” – проверяем поле “Количество” на неравенство нулю. Если условие выполняется (“Количество” не равно нулю), то выполняется конструкция “Выручка/Количество”. Если же условие не выполняется (“Количество” равно нулю), то делаем поле “Количество” равным нулю – “ИНАЧЕ 0”.

В общем виде эта конструкция выглядит так:

КОГДА <УСЛОВИЕ 1>

ТОГДА <ФОРМУЛА 1>

ИНАЧЕ <ФОРМУЛА 2>

Аналогичным образом можно добавить любую другую формула в 1С для расчета пользовательского поля. Важно помнить, что обращение к полям отчета осуществляется по заголовкам колонок отчета 1С 8.

Копируем данную конструкцию в поле “Выражение итоговых записей”.

Рис. 3 Код для избегания ошибки деления на ноль

Сохраняем созданное поле, нажав на кнопку “Ок”. Видим, что наше поле появилось на вкладке “Пользовательские поля”.

Рис. 4 Вкладка “Пользовательские поля”

Настроим округление поля 1С 8.3 Цена до двух знаков после запятой. Переходим на закладку Условное оформление 1С и нажимаем кнопку “Добавить”

Рис. 5 Настройка округления данных в поле

На закладке Оформление находим параметр “Формат”. Устанавливаем флаг использования, нажимаем на кнопку выбора.

Рис. 6 Редактирование элемента условного оформления

На закладке “Число” устанавливаем флаг использования на поле “Точность”, задаем нужное количество знаков после запятой. Ниже можно посмотреть пример, как будет выглядеть наше число после применения настроек 1С 8.3. Сохраняем изменения, нажав на кнопку “ОК”.

Рис. 7 Результат проведения настроек округления

Для параметра “Формат” установилось нужное нам значение

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

Перейдем на закладку “Оформляемые поля”. Найдем в доступных полях группировку “Пользовательские поля”, раскроем ее и увидим созданное нами поле “Цена”. Выбираем его двойным кликом или перенеся его мышкой в список выбранных полей.

Рис. 9 Перенос созданного поля в список выбранных

Видим, что наша настройка формата добавилась в таблицу на вкладке “Условное оформление”.

Рис. 10 Настройка формата добавлена в таблицу

Осталось разместить колонку “Цена” между колонками “Количество” и “Выручка” в 1С. Для этого переходим на закладку “Поля”. В списке доступных полей находим группировку “Пользовательские поля”, раскроем ее и увидим созданное нами поле “Цена”. Переносим его мышкой между колонками “Количество” и Выручка в 1С.

Важно обратить внимание, что в отчет 1С 8 выводятся только колонки, у которых стоит флаг использования. Поэтому неважно, что колонка “Цена” стоит перед колонками “Вес (нетто)” и “Объем”. Флаг использование у них не стоит, в отчет 1С 8 они выведены не будут.

Нажимаем кнопку “Завершить редактирование”.

Рис. 11 Перенос нового поля и завершение редактирования отчета в 1С

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *