2 как создать отчет с помощью конструктора схемы компоновки данных

Обновлено: 01.05.2024

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

Система компоновки данных 1С 8.3 для начинающих: первый отчёт на СКД

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

Если вы не читали введение к этому модулю - пожалуйста, прочтите его: ссылка.

Готовим рабочее место

Для выполнения уроков вам понадобится 1С 8.3 (не ниже 8.3.13.1644) .

Если у вас уже есть установленная 1С версии 8.3 - используйте её. Если нет - скачайте и установите учебную версию, которую фирма 1С выпускает специально для образовательных целей: ссылка на инструкцию по скачиванию и установке 1С.

На вашем рабочем столе должен появиться вот такой ярлык:

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

Если вы её удалили - скачайте заново по следующей ссылке, распакуйте и подключите в список баз.

Наконец, рабочее место настроено и сейчас мы вместе создадим наш первый отчёт при помощи системы компоновки данных. Он будет очень простым, чтобы продемонстрировать общие возможности системы компоновки данных (сокращенно СКД).

Ставим цель

Цель этого урока - создать отчёт, который в режиме пользователя выводит список клиентов со следующими полями:

  • Имя
  • Пол
  • Любимый цвет клиента.

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

Чтобы сформировать такой отчет в 1С пользователю нужно будет запустить базу в режиме пользователя, открыть этот файл и нажать кнопку "Сформировать".

Создаём отчёт

Запускаем конфигуратор для базы "Гастроном":

Из главного меню выбираем пункт "Файл"->"Новый. ":

Выбираем "Внешний отчет":

Создаём схему компоновки данных внутри отчёта

Открылось окно создания внешнего отчёта. В качестве имени вводим: "Урок1", а затем жмём кнопку "Открыть схему компоновки данных":

Запустился конструктор создания схемы. Соглашаемся с именем по умолчанию "ОсновнаяСхемаКомпоновкиДанных" и жмём кнопку "Готово":

Открылось основное рабочее окно, с множеством закладок и полей, в котором мы и будем настраивать нашу схему компоновки данных.

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

Сейчас мы находимся на закладке "Наборы данных". На ней и останемся.

Пишем запрос через конструктор

Система компоновки данных (сокращенно СКД) требует от нас данные, которые она будет выводить пользователю.

Самый простой способ - написать запрос к базе. В предыдущих модулях школы мы научились писать и понимать запросы - поэтому я рассчитываю, что вы обладаете соответствующими навыками.

Нажимаем на зелёный плюсик и в раскрывшемся списке выбираем пункт "Добавить набор данных - запрос":

Добавился набор данных с именем "НаборДанных1", но мы видим, что поле "Запрос" в нижней части окна пока пустое:

Наша задача написать в это поле текст запроса. Вы ещё не забыли как это делается?

В этом запросе мы выбрали три поля ("Наименование", "Пол" и "ЛюбимыйЦвет") из таблицы "Справочник.Клиенты".

Но не торопитесь писать этот текст в поле "Запрос" вручную.

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

Чтобы вызвать этот конструктор нажмём кнопку "Конструктор запроса. " в верхней правой части поля "Запрос":

В открывшемся окне перетащим таблицу "Клиенты" из первого столбца во второй, чтобы указать, что именно из этой таблицы мы будем запрашивать данные:

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

Далее раскроем таблицу "Клиенты" во втором столбце по знаку "Плюс", чтобы увидеть все её поля и перетащим поле "Наименование" из второго столбца в третий, чтобы указать, что из этой таблицы нам нужно запрашивать поле "Наименование":

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

Поступим точно так же с полями "Пол" и "ЛюбимыйЦвет". Результат будет таким:

Нажмём кнопку "ОК", чтобы выйти из конструктора запроса и увидим, что текст запроса автоматически добавился в поле "Запрос".

Более того на основании текста запроса 1С сама вытащила имена полей (область выше запроса), которые будут использоваться схемой компоновки данных:

Теперь, когда мы составили запрос, СКД знает каким образом получать данные для отчёта.

Настраиваем представление данных

Осталось как-то визуализировать эти данные для пользователя в виде печатной формы. И вот тут СКД может творить чудеса!

Чтобы сотворить такое чудо перейдём на вкладку "Настройки" и нажмём кнопку конструктора настроек (волшебная палочка):

В открывшемся окне укажем тип отчёта "Список" и нажмём "Далее":

В следующем окне выберем (путём перетаскивания) поля, которые нужно будет отобразить в списке (перетащим все из доступных нам: "ЛюбимыйЦвет", "Наименование" и "Пол"):

Получим вот такой результат и нажмём кнопку "ОК":

Конструктор настроек закрылся и появился пункт "Детальные записи":

Отчёт готов, давайте же его проверим. Для этого вначале сохраним отчет в виде внешнего файла.

Сохраняем отчёт в виде файла

Откроем пункт главного меню "Файл"->"Сохранить":

Я сохраню его на рабочий стол под именем "Урок1":

Проверяем отчёт в режиме пользователя

Наконец, закроем конфигуратор и зайдём в нашу базу в режиме пользователя:

Имя пользователя "Администратор", пароля нет:

Через меню выберем пункт "Файл"->"Открыть. ":

И укажем файл отчёта (я сохранял его на рабочий стол под именем "Урок1.erf":

Открылась форма отчёта, нажмём кнопку "Сформировать":

Готово! Вот она наша печатная форма со списком клиентов, их любимым цветом и полом:

Печатную форму можно легко распечатать. Для этого достаточно выбрать в меню пункт "Файл"->"Печать. ":

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

То ли ещё будет, наберитесь терпения

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

Для учеников

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

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

Чот я редко пишу, ну и ладно. Продолжаю сражаться, глава 7 и 8.

Для чего предназначен объект конфигурации Отчет?
Объект конфигурации отчет служит для описания алгоритмов, при помощи которых пользователь может получать необходимые ему выходные данные.

Как создать отчет с помощью конструктора схемы компоновки данных?
В конфигураторе выбираем ветсь "Отчеты", правый клик мыши - команда "Добавить". На вкладке "Основные" выберем кнопку "Открыть схему компоновки данных"



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


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

Как отобразить отчет в разделах прикладного решения?
Правый клик по отчету - вкладка "Подсистемы"

Занятие 8

Для чего предназначен объект конфигурации макет?
Объект конфигурации макет предназначен для хранения различных форм представления данных, которые могут потребоваться каким-либо объектам конфигурации или всему прикладному решению в целом; Одно из предназначений подчиненного макета - создание печатной формы этого объекта;

Что такое конструктор печати?
Конструктор печати - это инструмент для создания печатных форм (хотя на самом деле удобнее не пользоваться конструктором)

Как создать макет с помощью конструктора печати?
Выбираем объект конфигурации, которому нужен макет (это может быть документ, отчет, внешняя обработка), правый клик по нему, команда "Изменить", вкладка "Макеты", кнопка "Конструктор Печати".




Так же будет возможность заполнить подвал печатной формы.

Как изменить табличный документ?
Изменение размеров ячеек происходит аналогично Excell, а другие свойства - правый клик по ячейке, свойства, справа выползет палитра свойств.

Какая разница в заполнении ячейки табличного документа текстом, параметром или шаблоном?
Текст - то, что будет показано на экране в любом случае;
Параметр - будет заменен некоторым значением, которое может быть присвоено ему (параметру) средствами встроенного языка. Например, запросом можно заполнить таблицу с колонкой номенклатура. При выводе на печать таблица будет построчно выводится, причем колонка Номенклатура будет выгружаться на место, где стоял параметр Номенклатура. Естественно, это требует дополнительной работы, но тут мне сейчас лениво описывать.
Шаблон - текстовая строка, в определенные места которой будут вставлены значения параметров.

Как с помощью встроенного языка вывести в табличный документ новую область?
С помощью следующей конструкции:
ОбластьИмяОбласти = Макет.ПолучитьОбласть("ИмяОбласти");
Перед этим надо создать на макете данную область. Выделяем колонку или строку, правый клик, команда "Свойства" и именуем нужную область.

Как изменить внешний вид и поведение формы?
Внешний вид формы меняется непосредственно при редактировании формы, а поведение формы - правый клик по открытой форме, команда свойства. В палитре свойств есть целая куча настроек поведения



Как отобразить сумму по колонке таблицы?
Вводим в форму подвал, в окошке формы выбираем колонку, прописываем путь к данным подвала

В отличие от регистра накопления устанавливает при движении документов-регистраторов новые значения ресурса, а регистр накопления лишь изменяет существующие. Так же при необходимости может хранить данные с привязкой по времени;

Ключ записи (Однозначно позволяет идентифицировать запись) является совокупностью значений измерений регистра и периода;

Правый клик в конфигурации по ветке «Регистры сведений», команда «Добавить», на вкладке «Основные» выбрать периодичность


Ведущее – запись регистра сведений имеет смысл, когда существует в базе данных объект, на который ссылается данное измерение;

Где АктуальнаяДата – параметр типа «Дата», определяет точку на оси времени, в которой нас интересует значение розничной цены.

Так же можно узнать с помощью запроса. В таком случае необходимо выбирать виртуальную таблицу регистра «СрезПоследних»;

Перечисление – описание структуры хранения постоянных наборов значений, не изменяемых в процессе работы конфигурации;

Правый клик по дереву конфигурации на ветке «Перечисления», команда «Добавить». На вкладке «данные» - установить значение перечисления



суббота, 8 июня 2013 г.

1сное же!

Чот я редко пишу, ну и ладно. Продолжаю сражаться, глава 7 и 8.

Для чего предназначен объект конфигурации Отчет?
Объект конфигурации отчет служит для описания алгоритмов, при помощи которых пользователь может получать необходимые ему выходные данные.

Как создать отчет с помощью конструктора схемы компоновки данных?
В конфигураторе выбираем ветсь "Отчеты", правый клик мыши - команда "Добавить". На вкладке "Основные" выберем кнопку "Открыть схему компоновки данных"



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


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

Как отобразить отчет в разделах прикладного решения?
Правый клик по отчету - вкладка "Подсистемы"

Занятие 8

Для чего предназначен объект конфигурации макет?
Объект конфигурации макет предназначен для хранения различных форм представления данных, которые могут потребоваться каким-либо объектам конфигурации или всему прикладному решению в целом; Одно из предназначений подчиненного макета - создание печатной формы этого объекта;

Что такое конструктор печати?
Конструктор печати - это инструмент для создания печатных форм (хотя на самом деле удобнее не пользоваться конструктором)

Как создать макет с помощью конструктора печати?
Выбираем объект конфигурации, которому нужен макет (это может быть документ, отчет, внешняя обработка), правый клик по нему, команда "Изменить", вкладка "Макеты", кнопка "Конструктор Печати".




Так же будет возможность заполнить подвал печатной формы.

Как изменить табличный документ?
Изменение размеров ячеек происходит аналогично Excell, а другие свойства - правый клик по ячейке, свойства, справа выползет палитра свойств.

Какая разница в заполнении ячейки табличного документа текстом, параметром или шаблоном?
Текст - то, что будет показано на экране в любом случае;
Параметр - будет заменен некоторым значением, которое может быть присвоено ему (параметру) средствами встроенного языка. Например, запросом можно заполнить таблицу с колонкой номенклатура. При выводе на печать таблица будет построчно выводится, причем колонка Номенклатура будет выгружаться на место, где стоял параметр Номенклатура. Естественно, это требует дополнительной работы, но тут мне сейчас лениво описывать.
Шаблон - текстовая строка, в определенные места которой будут вставлены значения параметров.

Как с помощью встроенного языка вывести в табличный документ новую область?
С помощью следующей конструкции:
ОбластьИмяОбласти = Макет.ПолучитьОбласть("ИмяОбласти");
Перед этим надо создать на макете данную область. Выделяем колонку или строку, правый клик, команда "Свойства" и именуем нужную область.

Как изменить внешний вид и поведение формы?
Внешний вид формы меняется непосредственно при редактировании формы, а поведение формы - правый клик по открытой форме, команда свойства. В палитре свойств есть целая куча настроек поведения



Как отобразить сумму по колонке таблицы?
Вводим в форму подвал, в окошке формы выбираем колонку, прописываем путь к данным подвала

СКД расшифровывается как система компоновки данных. СКД - механизм платформы 1С для разработки отчетов. Отчет создается без необходимости писать программный код. С помощью определенного конструктора и настроек, произведенных в нем, программист задает желаемый результат, система компоновки данных это понимает и выводит этот результат пользователю. Если потребовалось что-то изменить в отчете, достаточно вновь обратиться к конструктору, внести необходимые изменения и измененный отчет готов. Минус СКД в том, что его настройки достаточно сложны и не все пользователи усваивают их быстро.

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

- Написать запрос 1С в СКД, который обеспечивает получение данных

- Указать СКД роль полей (вычисляемые поля, ресурсы)

- Ввести настройки СКД по умолчанию.

Пользователю остается возможность изменить множество настроек по своему желанию.

СКД имеет значительное преимущество как для пользователя, так и для программиста:

- Программист – избавляет от написания программы для выполнения отчета и настроек

- Пользователь – получает значительный доступ к настройкам отчета.

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

Создание отчета.

Выберите меню Файл -> Новый. Выберите тип файла - Новый отчет.

Создается новый отчет. Создадим новую схему СКД по кнопке Открыть схему компоновки данных.


Создание запроса для отчета.

Источников данных для СКД 1С может быть множество. Чтобы использовать, например, два отдельных запроса – добавьте сначала «Набор данных – объединение», а потом несколько запросов. В нашем примере мы будем использовать запрос.


Запрос строится с помощью Конструктора запроса. Работа с конструктором запроса в СКД ничем не отличается от обычной.


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


Настройки СКД.

На закладке Ресурсы укажем те поля, которые будут суммироваться для итогов. Итоги по ресурсам можно рассчитывать при помощи функций языка выражений СКД - Сумма(), Среднее(), Максимум(), Минимум() и Количество(). По умолчанию Сумма.


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


Основная настройка производится на закладке Настройки.

Воспользуемся Конструктором настроек. Выведем данные в список.


Выберем нужные поля.


Группировка. Выберем группировку по номенклатуре.


Сортировка по полю Номенклатура по возрастанию.


Результат настройки СКД выглядит следующим образом.


На вложенной закладке “Параметры” для параметра “Период” установим флаг “Включать в пользовательские настройки”. После выполнения данной настройки параметры будут отображаться в основой форме отчета.


Формирование СКД.

Откроем отчет в 1С:Предприятие. Зададим нужный период и сформируем отчет.

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

Система компоновки данных 1С 8.3 для начинающих: представление отчёта в виде таблицы

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

На всех прошлых уроках мы выводили данные в отчет в виде списка. Сегодня разберёмся со вторым типом отчета: "Таблица".

Ставим цель

  • Написать отчёт, который выводит информацию о заказе еды клиентами в виде таблицы.
  • В строках таблицы должна выводиться еда, в колонках - клиенты, а на пересечении количество данной еды заказанной данным клиентом.
  • Информацию будем брать из документов "ЗаказКлиента".

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

Открываем базу "Гастроном" в конфигураторе и через меню "Файл"->"Новый. " создаём новый отчёт:

Вид документа - "Внешний отчет":

В новой форме отчёта указываем имя "Урок8" и нажимаем кнопку "Открыть схему компоновки данных":


Имя схемы компоновки данных оставляем по умолчанию:

Составляем запрос

Добавляем новый набор данных - запрос:


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


Будем выбирать из табличных частей документа "ЗаказКлиента" следующие поля:

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


Сначала пробуем список

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


Вначале попробуем по старинке выбрать тип отчета "Список. ":

Укажем поля, которые будут отображаться в отчете:

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


Получился привычный нам список с тремя колонками: Клиент, Еда и Количество.

Выводим в виде таблицы

Ах как замечательно было бы представить эти же самые данные в виде таблицы, в строках которой перечислена еда, в колонках - клиенты, а на пересечении количество данной еды, которое заказал данный клиент:

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


На этот раз в качестве типа отчета выберем "Таблица..":

Из полей, которые будут отображаться в отчёте уберём "Клиент" и "Еда", так как эти поля по нашей задумке уйдут в столбцы и строки соответственно:

Оставим только количество, которое будет отображаться на пересечении строк и столбцов:

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

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

Итоговая структура отчёта будет такой:


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


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

А причина в том, что строки и столбцы у нас сгруппированы, а показатели нет! Поэтому и такой разлад.

Чтобы сгруппировать количество нужно подвести по нему итоги (вычислить ресурсы). Это мы уже делать умеем.

Забыли подвести итоги

Переходим на закладку "Ресурсы" и перетаскиваем поле "Количество" из левой колонки в правую:


Выражение "Сумма(Про. " оставляем без изменения:


Снова сохраняем отчет и формируем в режиме пользователя:


То, что надо! Мы хорошо поработали. А на следующем уроке - мы модифицируем этот отчёт (вернее его копию) и представим эти же данные в виде диаграммы.

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

Для учеников

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

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

Читайте также: