Использование СКД на примере создания простого отчёта на управляемых формах. Первый отчет на скд Отчеты на скд

Здравствуйте, уважаемый читатель! Сегодня мы с вами начнем рассматривать основы системы компоновки. Вы узнаете, что такое СКД и познакомитесь с основными составляющими СКД. Также рассмотрите входные данные для построения отчёта и узнаете основные этапы выполнения отчета в системе компоновки и многое другое. Кроме того у вас есть возможность проверить свои знания, пройдя небольшой . Давайте начнём!

Входные данные для построения отчёта с использованием системы компоновки данных (СКД).

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

Основные этапы, из которых состоит выполнение отчета с использованием системы компоновки данных (СКД).

Этапы СКД 1С 8

    1. Макет компоновки данных — схема построения отчета, готовое описание построения отчёта, указание системе какие нужно выбрать данные, какие построить запросы. Указание процессору компоновки формировать отчёт определённой структуры с учётом заданных настроек. Итак, Схема компоновки данных содержит общее описание схемы, а макет компоновки данных содержит также и конкретные настройки пользователя. Схема = Отчеты. ПрайсЛист. ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных" ) ; Настройки = Схема. НастройкиПоУмолчанию;

      КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
      Макет = КомпоновщикМакета. Выполнить (Схема, Настройки) ;

    2. Процессор компоновки данных — получает информацию из БД или внешних источников с учётом данных из макета компоновки данных . Выполняет компоновку данных и формирует результат. Полученный результат содержится в самом процессоре компоновки данных. ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки. Инициализировать(Макет) ;
  1. Процессор вывода результата — выводит результат работы, для представления пользователю,
    либо в табличный документ, либо в таблицу значений.
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ТабДок = Новый ТабличныйДокумент; ПроцессорВывода. УстановитьДокумент(ТабДок) ; ПроцессорВывода. Вывести(ПроцессорКомпоновки) ;

Результат каждого этапа можно сериализовать (сохранить) в файл xml. Тогда можно каждый этап формирования отчета выполнять на разных компьютерах.

Что такое схема компоновки данных?

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

Из чего состоит схема компоновки данных?

Наборы данных

Источники данных для наборов данных — это неиспользуемый функционал, созданный для указания на некоторые внешние информационные базы. Сейчас указывают на локальную базу, в которой выполняется отчёт.

  1. Запрос — обращение к текущей информационной базе для получения данных.
  2. Объект — в качестве объекта выбирается: таблица значений, табличная часть, результат запроса, область ячеек табличного документа, документ, набор записей регистра и т.д. Для чего нужен набор данных объект? Например, если на входе используем таблицу значений, а в ней данные из другой базы (возможно даже не 1С), то, по сути, мы работаем данными этой базы.
  3. Объединение — объединяет данные из наборов данных: запрос и объект. Для чего нужен набор данных объект, если в запросе существует предложение UNION, которое позволяет связать различные данные, то есть объединить их? Этот набор данных необходим, так как в качестве набора данных может выступать не только запрос, а также, например, таблица значений.

Настройки

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

Наверное, материала на сегодня достаточно. Новый материал обязательно появится, поэтому подпишитесь на обновления на нашем сайте, чтобы не пропустить! Если в чем-то есть затруднения пишите комментарии. Постараюсь сразу ответить. Вы сможете закрепить свои знания, пройдя первый тест по .


В конце статьи хочу посоветовать вам бесплатный от Сотникова Анатолия. Это курс от опытного программиста. Он на отдельной базе покажет вам, как строить отчеты в СКД. Вам только нужно внимательно слушать и запоминать! Вы получите ответы на такие вопросы:
  • Как создать простой отчет в виде списка?
  • Для чего нужны колонки Поле, Путь и Заголовок на закладке «Поля»?
  • Какие существуют ограничения для полей компоновки?
  • Как правильно настраивать роли?
  • Какие существуют роли для полей компоновки?
  • Где найти закладку компоновка данных в запросе?
  • Как настраивать параметры в СКД?
  • Дальше еще интереснее...
Наверное, не стоит самому стараться бороздить интернет в поисках нужной информации? Тем более все готово для применения. Только начните! Все подробности о том, что есть в бесплатных видеоуроках

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

Рис. 1. Создание отчёта

В появившейся форме основной схемы компоновки данных используем кнопку "Добавить набор данных" и выберем "Добавить набор данных - запрос" (рис. 2)

Рис. 2. Добавление набора данных

Для создания запроса будем использовать конструктор запросов. Выберем из панели "Базы данных" документ "РеализацияТоваровУслуг" и его табличную часть "РеализацияТоваровУслуг.Товары". На панеле "Таблицы" из соответствующих таблиц выберем поля - "РеализацияТоваровУслуг.Ссылка" и "РеализацияТоваровУслуг.Номенклатура.Ссылка" (рис. 3).

Рис. 3. Создание запроса

Связь между таблицами создастся автоматически, поэтому мы можем в конструкторе запросов нажать кнопку "ОК". Набор данных - запрос готов (Рис.4).

Рис. 4. Набор данных - запрос

Настройки

Для правильной работы отчёта необходимо указать, какая информация будет выводится в отчёт. Нажмём кнопку "Открыть конструктор настроек" (рис. 5)

Рис. 5. Конструктор настроек

Выберем Тип отчёта - Список и нажмём кнопку "Далее". Выберем доступные поля - Ссылка и Номенклатура (Рис. 6.), после чего можно нажать кнопку "ОК".

Рис. 6. Выбор полей отчёта

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

Рис. 7. Пользовательские настройки

Нажимаем кнопку "ОК", и на этом наши настройки закончены (Рис. 7).

Для правильного вызова отчёта его необходимо включить в одну из подсистем. Пусть это будет в подсистема "Продажи" (рис. 8)

Рис. 8. Подсистема Продажи

Наш отчёт готов! Обновим конфигурацию базы данных и запустим 1С:Предприятие. Переходим в подсистему "Продажи" и вызываем "Тестовый отчёт" и далее, кнопку "Сформировать" (Рис. 9.)

Рис. 9. Вызов отчёта

По условиям задачи нам надо в отборе задать условие, чтобы номенклатура принадлежала определённой группе. Для этого выберем правое поле настройки Отбор. Откроется форма "Редактирование отбора". Перетащим мышью из доступных полей поле Номенклатура в Отбор, в колонке "Вид сравнения" установим "В группе", а в колонке "Значение" выберем группу номенклатуры "Бытовая техника" (Рис. 10.)

Рис. 10. Установка отбора

Нажимаем кнопку "ОК", формируем отчёт заново с учётом отбора, и задача решена (Рис. 11).

Рис. 11. Отбор по группе номенклатуры.

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

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

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

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

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

Для этого:

  • Распакуйте архив, скачанный по ссылке в отдельную папку на рабочем столе:
    • ссылка на скачивание с Dropbox (вариант №1)
    • ссылка на скачивание с Mail.ru (вариант №2)
  • Запустите файл "setup.exe".
  • Нажмите "Далее", "Далее", "Установить".
  • Дождитесь окончания установки.

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

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

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

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

Ставим цель

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

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

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

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

Поехали!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я вам подскажу:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

учеников - отвечаю по почте, но прежде загляните в .

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

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

В продолжение темы:
Asus

Чтобы строки маркированного списка как-то выделить от основного текста, можно сделать так, чтобы цвет маркеров в списке отличался от цвета текста.По умолчанию стоит черная...

Новые статьи
/
Популярные