Создание простого отчета на скд. Создание простого отчета на скд Схема компоновки данных 1с 8.2

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

Система компоновки данных 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":

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

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

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

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

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

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

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

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

Набор данных — запрос.

  1. В отличие от обычного запроса в запросе для компоновки данных отсутствует предложение ИТОГИ. Вместо этого итоги формируются на закладке «Ресурсы». На этой закладке выбираются поля, по которым необходимо получить итоговые выражения. А на закладке «Настройки» указывается в каком разрезе будут получаться итоги, то есть здесь создаются соответствующие группировки и по ним рассчитываются ресурсы. Более подробно об этом можно прочитать в статье .
  2. Следующий момент касается настройки отборов. Существует две возможности выполнения.
    1. Через настройки варианта отчёта. Это можно сделать на вкладке «Настройки» — «Отбор». Если используем этот вариант, то он является наиболее гибким, так как можно указывать разные виды сравнений, которые может выбирать даже пользователь. Кроме того, при использовании этого варианта, условия фильтрации налагаются в самом запросе. Если отчёт базируется на пакетном запросе с использованием временных таблиц, тогда отбор будет воздействовать на все таблицы пакетного запроса, где встречается поле отбора.
    2. На уровне запроса. Если используем запрос, то кроме операции равенство не сможем использовать ничего.
      Исключением является случай, когда нам нужно выполнить «жёсткую» фильтрацию данных по некоторому значению. Допустим, по значению перечисления. Во вкладке «Параметры» можем задать условие. Если включим флаг «Ограничение доступности», то пользователь не сможет отменить это условие.
  3. Сортировку, тоже правильнее накладывать на уровне настроек варианта отчета.
    1. Если в запросе указать некоторое поле сортировки, то пользователь в настройке своего варианта отчета укажет другое поле, тогда наша настройка, выполненная на уровне запроса будет иметь низший приоритет. Сначала будет выполняться сортировка, установленная пользователем в настройке варианта отчета. Поэтому, если нужно выставить сортировку «по умолчанию», то используем настройки варианта отчёта в Конфигураторе.
    2. А если необходимо настроить «жёсткую» сортировку в отчете, чтобы пользователь не смог её поменять? Тогда устанавливаем сортировку на уровне запроса, а на закладке «Наборы данных» настроим ограничение поля. Выделим нужный набор данных и в колонке «Ограничение поля» — «Упорядочивание» поставим галочку.

Параметры виртуальных таблиц.

  • Построение виртуальных таблиц регистров бухгалтерии, регистров накопления, регистров сведений зависит от заданной даты. Это может быть как одна дата, так и интервал, как например, для таблицы остатков и оборотов. СКД создана так, что если в основе отчёта лежит виртуальная таблица, тогда необходимо дать пользователю выбрать, за какой интервал или на какую дату формировать отчёт. СКД автоматически добавляет необходимые параметры периода в схему компоновки.
  • Если в запросе выбрана виртуальная таблица остатков или виртуальная таблица регистров сведений, тогда автоматически добавляется параметр с названием «Период».
  • Если в запросе выбрана виртуальная таблица остатков и оборотов или виртуальная таблица оборотов, тогда автоматически добавляются параметры «НачалоПериода» и «КонецПериода».
  • Что сделать, если нужно получить остатки на конец периода? Существует два способа:
    1. Заходим на вкладку «Параметры» и в параметре «Период» в колонке «Выражения» пишем следующее:
      &КонецПериода. Также включим флаг «Ограничение доступности».
    2. Полностью избавляемся от параметра «Период» и заменяем его на параметр «КонецПериода». Настроим необязательный параметр виртуальной таблицы:
      • Заходим на вкладку «Наборы данных» нажимаем на кнопку «Конструктор запроса…».
      • На вкладке «Компоновка данных» в левом верхнем углу нажимаем кнопку для вызова диалога «Параметры виртуальной таблицы» (это серая квадратная кнопка с изображением шестерёнки на фоне маленькой таблицы).
      • В поле «Период» диалогового окна пишем: &КонецПериода.
      • Теперь в тексте запроса набора данных в параметрах виртуальной таблицы этот параметр появиться в окружении фигурных скобок:
РегистрНакопления. ОстаткиТоваров. Остатки({(&КонецПериода) }, ) КАК Остатки

Фигурные скобки указывают на расширение языка запросов компоновки данных. Также это указывает на то, что этот параметр является необязательным. Это означает, что если он не будет определён в схеме компоновки данных, то остатки будут получены на текущую дату.

Расширение языка запросов.

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

Когда создаётся набор данных запрос, по умолчанию происходит автоматическое заполнение доступных полей схемы компоновки данных на основании созданного запроса (флажок «Автозаполнение» установлен на закладке «Наборы данных»).

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

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

Если флажок «Автозаполнение» снят, то поля схемы компоновки данных очищаются, но остаются параметры, заключённые в фигурные скобки в тексте запроса.

Как самостоятельно заполнить поля схемы компоновки данных?

Снимаем флажок «Автозаполнение» на закладке «Наборы данных».

Нажимаем на кнопку «Конструктор запроса…». Сформируем следующий запрос:

ВЫБРАТЬ Остатки. Номенклатура КАК Номенклатура, Остатки. Количество КАК Количество РегистрНакопления. ОстаткиТоваров. Остатки({(&КонецПериода) }, ) КАК Остатки

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

Теперь на вкладке «Компоновка данных» выбираем закладку «Поля». Здесь задаём поля выборки, которые
будут представлены в схеме компоновки.

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

Выберем два поля «Номенклатура» и «Количество». Для поля «Номенклатура» установим флаг «И..»,
чтобы выбирались дочерние записи. Получиться следующий запрос:

ВЫБРАТЬ Остатки. Номенклатура КАК Номенклатура, Остатки. Количество КАК Количество {ВЫБРАТЬ Номенклатура. * , Количество} РегистрНакопления. ОстаткиТоваров. Остатки({(&КонецПериода) }, ) КАК Остатки

В новом запросе, в фигурных скобках, появилась ещё одна секция ВЫБРАТЬ — это текст расширения, который указывает на поля, которые будут доступны в компоновке. Поле «Номенклатура.*» указывает, что будет доступно поле «Номенклатура» и её дочерние реквизиты, такие как «Код», «Наименование» и т.п. Итак, мы заполнили поля компоновки самостоятельно.

Но сейчас мы не можем использовать поля в условиях компоновки. Если зайти на закладку «Настройки» и выбрать вкладку «Отбор», то нельзя установить условия ни на одно поле, которое мы выбрали в предыдущем пункте. Почему?

Наложение условий на параметры виртуальной таблицы также нужно указывать на вкладке «Компоновка данных» Конструктора запроса. В левом верхнем углу нажимаем кнопку для вызова диалога «Параметры виртуальной таблицы»
(это серая квадратная кнопка с изображением шестерёнки на фоне маленькой таблицы). В поле «Условие» диалогового окна пишем: Номенклатура. Теперь в тексте запроса набора данных в параметрах виртуальной таблицы этот параметр «Номенклатура» появиться в окружении фигурных скобок:

РегистрНакопления. ОстаткиТоваров. Остатки({(&КонецПериода) }, {(Номенклатура) }) КАК Остатки

В обычном языке запросов указание параметра выглядит так: Номенклатура = &Номенклатура. Но в расширении языка запросов это записывается по-другому. Указывается только название поля. Здесь мы не указываем операцию равенства, неравенства или в иерархии, так как пользователь сам будет выбирать нужную операцию в своих настройках.

На вкладке «Компоновка данных» Конструктора запроса мы видим ёще одну закладку, «Условия». Она нужна, чтобы указать в расширении языка запросов условия на предложение ГДЕ. Выберем поле «Количество». Теперь это поле доступно в условиях на закладке «Настройки» — «Отбор». А в тексте запроса появились новые строчки, заключенные в фигурные скобки.

{ГДЕ Остатки. Количество}

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

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

А в этой серии уроков мы рассмотрим функции языка выражений СКД, поговорим об особенностях работы системы компоновки, а также разберем основные настройки полей компоновки. Успехов, в понимании этого нелегкого материала!

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

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

Создание отчета в 1С через СКД

Процесс разработки отчета при помощи СКД можно разделить на следующие этапы:

  1. Создание запроса. Запрос можно написать вручную или обойтись без программного кода, воспользовавшись удобным интерфейсом;
  2. Настройка отчета. Выбираются поля, итоги, группировки, параметры, оформление отчета;
  3. После этого нам останется лишь подключить получившийся отчет в конфигурацию любым доступным способом.

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

Рассмотрим пример создания внешнего отчета на СКД:


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

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

Возможности СКД

Бывают ситуации, когда мы сделали отчет, а потом приходит пользователь и просит сделать небольшую доработку. Например, вместо названий номенклатуры выводить артикулы. СКД позволяет такие доработки делать пользователям самостоятельно с помощью кнопки «Еще» - «Изменить вариант…».


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


Открывшееся окно предоставляет нам возможность выбора любого значения, которое будет фигурировать в поле «Номенклатура». У некоторых полей слева фигурирует знак плюса – в эти поля разработчик поместил ссылки, значит, мы можем увидеть их реквизиты. Раскрываем «Номенклатура» и видим артикул, который нам и нужен. Выделяем его и выбираем.


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


Механизм СКД 1С:Предприятие 8.3 также имеет расширенный функционал для разработчиков. При разработке отчета мы пользовались всего 2 вкладками – «Наборы данных» и «Настройки», но в СКД их намного больше. Чтобы пользоваться всеми функциями системы компоновки данных, необходимо представлять, для чего каждая из вкладок нужна:

  1. Наборы данных – здесь перечислены все запросы, участвующие в формировании отчета;
  2. Связи наборов данных – используется для построения связи между различными запросами с первой вкладки;
  3. Вычисляемые поля – перечень добавленных полей не из запроса. Чаще всего используется в случаях, когда на основании значений нескольких полей из запроса нужно получить 1 значение;
  4. Ресурсы. В 1С так называются поля, по которым необходимо знать итоги. Ресурсы поддерживают различные арифметические операции – сумму, количество, максимум и другие;
  5. Параметры. Используются, если для формирования отчета необходимо, чтобы пользователь ввел определенные данные – дату, подразделений или номенклатуру, например;
  6. Макеты. Предназначены для тех случаев, когда пользователи хотят увидеть уникально оформленный отчет. Создать отдельное место для подписей или новую верхнюю часть отчета – все это можно здесь;
  7. Вложенные схемы. Они необходимы, когда ваш отчет должен содержать данные других отчетов;
  8. Настройки. В разделе объявляются выводимые поля, группировки, настраивается внешний вид отчета.


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

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

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

Существует два способа вывода параметров СКД на обычную форму:

  • вывод таблицы настроек параметров целиком
  • вывод отдельных параметров в виде полей ввода.

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

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

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

  1. Создадим реквизиты отчета, соответствующие параметрам. В нашем примере это будут реквизиты ДатаНачала, ДатаОкончания, Организация . Установим у них соответствующие типы данных.
  2. Создадим на форме поля ввода для каждого из параметров и свяжем их через свойство Данные с реквизитами отчета. Для каждого поля ввода хорошо бы рядом создать надпись с названием параметра, чтобы пользователь понимал, какой параметр он редактирует.
  3. Для каждого поля ввода нужно создать процедуру для обработчика событий ПриИзменении , которая будет устанавливать выбранное пользователем значение в параметры СКД. Я в примере создал одну процедуру и назначил ее на события изменения всех трех полей ввода. То есть при изменении одного параметра происходит переустановка всех трех. С точки зрения быстродействия это, скорее всего, не эффективно, но, т.к. параметров не много, разница не заметна. При большом количестве параметров стоит выводить установку каждого в отдельную процедуру. Итак, код процедуры для обработчика ПриИзменении будет выглядеть следующим образом:

    Процедура ПараметрыПриИзменении(Элемент)

    ПараметрДатаНач = КомпоновщикНастроек. Настройки. ПараметрыДанных. Элементы. Найти("НачалоПериода" ) ; //Поиск производится по имени параметра СКД
    ПараметрДатаНач. Использование = Истина ; //Параметр будет использоваться при отборе
    ПараметрДатаНач. Значение = ДатаНачала; //Параметру присваивается значение реквизита отчета

    ПараметрДатаКон = КомпоновщикНастроек. Настройки. ПараметрыДанных. Элементы. Найти("КонецПериода" ) ;
    ПараметрДатаКон. Использование = Истина ;
    ПараметрДатаКон. Значение = КонецДня(ДатаОкончания) ;

    ПараметрОрг = КомпоновщикНастроек. Настройки. ПараметрыДанных. Элементы. Найти("Организация" ) ;
    ПараметрОрг. Использование = Истина ;
    ПараметрОрг. Значение = Организация;

    КонецПроцедуры

Система компоновки данных (СКД) — мощный механизм платформы 1С (8.2 и новее) для разработки отчетов, а вовсе не система контроля доступа.

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

Видеоурок по созданию отчета «Журнал документов» в 1С СКД:

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

Получите 267 видеоуроков по 1С бесплатно:

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

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

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

Основа управляемого интерфейса 1С — СКД

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

Как освоить и научиться делать отчеты на СКД?