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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример получившегося отчета можно скачать по .

Используя меню Файл->Новый, добавим новый внешний отчет, дадим ему имя и сохраним на диск. Создадим схему компоновки используя кнопку Открыть схему компоновки данных.

Написание запроса 1С для СКД

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

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

|ВЫБРАТЬ | РеализацияТоваровУслугТовары.Ссылка, | РеализацияТоваровУслугТовары.Ссылка.Организация, | РеализацияТоваровУслугТовары.Ссылка.Контрагент, | РеализацияТоваровУслугТовары.Номенклатура, | РеализацияТоваровУслугТовары.Сумма, | РеализацияТоваровУслугТовары.СтавкаНДС, | РеализацияТоваровУслугТовары.СуммаНДС, | РеализацияТоваровУслугТовары.Цена |ИЗ | Документ.РеализацияТоваровУслуг.Товары | КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка.Дата | МЕЖДУ &НачалоПериода И &КонецПериода | И РеализацияТоваровУслугТовары.Ссылка.Организация | = &Организация

Настройка полей набора данных

После написания запроса, СКД автоматически заполнит таблицу с настройками полей.

Вкратце расскажу про некоторые настройки:


Настройка ресурсов

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

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

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

  1. Столбцы Имя, Заголовок и Тип заполняются автоматически и менять их значения не следует без необходимости;
  2. Доступен список значений. Если хотите передать в параметр список, нужно установить этот флаг, иначе туда попадет только первый элемент списка.
  3. Значение. Здесь можно указать значение по умолчанию для параметра. В нашем примере выберем для параметра Организации значение Элементы(пустая ссылка на справочник Организации).
  4. Включать в доступные поля. Если снять этот флаг, параметра не будет видно в настройках: в выбранных полях, отборе.
  5. Ограничение доступности. Флаг отвечает за возможность установки значения параметра в настройке СКД.

Настройка структуры отчета

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

На закладке Выбранные поля перетащим наши ресурсы(Сумма, СуммаНДС) из доступных полей в поля отчета.

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

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

Формирование отчета

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

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

Смотрите также видео по созданию отчетов на СКД:

  • Различные способы формирования отчетов (вывод в табличный документ, построитель отчета, универсальный отчет, СКД)
  • Настройка отчетов в режиме «1С:Предприятие»
  • Инструменты отладки отчетов на СКД. Какой запрос на самом деле получает данные из базы?
  • Для чего нужно множество галочек в настройке полей компоновки
  • Как переопределить представление поля в отчете
  • Как получить корректные итоги в отчетах на СКД вне зависимости от того, какие поля выводятся в отчет?
  • Как вывести корректные остатки по документам-регистраторам?
  • Как, не установив всего несколько галочек, получить ошибочные итоги в отчете?
  • Как использовать собственные функции из общих модулей в отчете на СКД?
  • Как исключить некорректные сложения USD + EUR; Шт. + кг
  • Как создать несколько представлений (вариантов отчета) на основании одних и тех же данных
  • Какие возможности по выводу данных в графическом виде (диаграммы, графики, гистограммы) есть в СКД, а когда придется полученную диаграмму «доработать» программным кодом
  • Как без программирования организовать вывод данных по иерархии? И как организовано получение таких данных на низком уровне?
  • Как без программного кода вывести все даты за период, а не только те, на которые есть данные в отчете?
  • Как настроить отчет, где пользователь самостоятельно может выбирать требуемую периодичность (год, месяц, день)?
  • Как без программирования расположить на форме отчета «быстрые» настройки, которые нужны пользователю для формирования отчета?
  • Комбинирование отборов – И, Или, Не.
  • Как вывести заголовок поля вертикально, а сами значения – горизонтально.
  • Вывод в итогах только некоторых ресурсов
  • Отличия расчета итогов в запросах и СКД
  • Срез последних на каждую дату при помощи СКД
  • Работа с произвольными характеристиками объектов, которые пользователь создает в режиме «1С:Предприятие» в отчете на СКД
  • Использование вложенных схем – разработка нового отчета на базе существующих
  • Практические примеры использования сложно произносимых функций
    ВычислитьВыражениеСГруппировкойМассив,
    ВычислитьВыражениеСГруппировкойТаблицаЗначений и т.д.
    Для решения каких задач их можно применять?
  • Особенности работы с макетами в отчетах на СКД
  • При помощи ручного вывода данных в табличный документ можно реализовать сложные и комплексные отчеты. А как получить такой же отчет, но со всеми гибкими настройками СКД (произвольными отборами и т.д.)?
  • Как сформировать отчет программно? Как сформировать отчет с отбором по конкретному товару из списка номенклатуры?
  • Вывод сформированных данных не в отчет, а в таблицу значений
  • Программная работа с пользовательскими настройками
  • Как построить отчет по таблице, которая получается программно или загружается из внешней системы?
  • Реализация настраиваемого отбора не в отчетах – обработках, справочниках и т.д. Хранение произвольных отборов, введенных пользователями в режиме «1С:Предприятие»
  • Программная обработка расшифровки
  • Создание собственного меню для расшифровки отчета
  • Как реализовать переход из отчета на сайт двойным кликом в ячейке отчета?
  • Как вывести картинки в отчет? Как сформировать прайс-лист с изображениями товаров?
  • Как вывести логотип компании в отчете на СКД?
  • Какие возможности СКД можно использовать при отображении списков? Динамические списки
  • Как система обеспечивает быстрое отображение списков, в которых могут храниться десятки тысяч элементов?

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

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

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

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

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

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


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

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

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

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


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


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


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


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

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


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

СКД 1С расшифровывается как Система Компоновки Данных. СКД 1С – это новый способ написания отчетов в 1С, который позволяет пользователю полностью настраивать отчет самостоятельно.

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

Написание отчетов СКД требует умение работать с запросами в 1С, что мы обсуждали в .

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

  • Написать запрос 1С в СКД 1С, который обеспечивает получение данных
  • Указать СКД 1С роль полей (вычисляемые поля, ресурсы)
  • Ввести настройки СКД 1С по умолчанию.

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

Какова технология создания отчета по предыдущим технологиям:

  • Написать запрос в программе 1С
  • Разработать форму настроек (уникальную для отчета), которая позволит изменять только выбранные программистом N настроек
  • Написать код (программу) выполнения запроса и построения печатной формы отчета.

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

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

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

Давайте посмотрим как создать отчет на СКД 1С самому с нуля.

Создаем отчет СКД 1С

В конфигураторе нажмите кнопку нового файла (меню Файл/Новый).

Выберите тип файла Новый отчет.

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

Создадим основную схему СКД 1С.

Создаем запрос для отчета СКД 1С

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

В нашем примере мы будем использовать простой запрос.

Набросаем запрос для получения данных.

Работа с конструктором запроса ничем не отличается от обычной, мы обсуждали это в .

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

Если наименование неудобное, здесь его можно изменить.

Обратите внимание, что мы использовали в запросе параметр &ДатаНачала. В СКД 1С есть параметр (дата) по умолчанию с названием &Период и Вы можете использовать его.

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

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

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

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

На закладке Параметры запретим ненужные нам, и включим нужные. Здесь же можно задать человеческое название параметра.

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


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

Пользователь видит почти такую же форму настроек, как и программист.

Вуаля. Отчет работает.

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

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

Перетащим Склад из Колонки в Строки.

Перетащим Номенклатуру на Склад.

Нажмите ОК и сформируйте отчет. Ура – мы только что изменили работу отчета в режиме Программирование без программирования.

Нажмите правой кнопкой на Строки (а можно на любое из полей) и выберите Новая группировка.

Раскроем поле Склад и выберем одно из его полей, например Вид склада.

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

Если Вы добавите новую группировку, но поле не выберете, это означает «Все поля» (отображается как «Детальные записи»). Это выглядит так.

Схватите левой кнопкой мыши нашу группировку (Склад/Номенклатура) и перетащите ее на новую группировку (Вид склада).

Результат наших настроек.

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

Обратите внимание, что настройки могут быть заданы для всего отчета (выбран Отчет) или для конкретной строки полей (выберите строку, например Номенклатура, и выберите Настройки:Нонменклатура).