Отчет скд. Универсальный шаблон для отчета

Мобильные 19.04.2024

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

Основной вид отчета:

Все кнопки в принципе стандартны. Единственное, это вынесла кнопку скрытия/открытия уровней в панель:

Настройки отчета имеют два вида редактирования: Простой и Расширенный.

Теперь как с ним работать:

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

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

2) С помощью свойства Синоним схемы компоновки открывается тот или иной слой выбора периода. Пока возможны варианты:

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

Оборот : выбор периода встроен в отчет и не зависит от конфигурации. Используются стандартные параметры НачалоПериода и КонецПериода , которые будут подставляться при выполнении схемы автоматически.

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

Как понятно, возможно добавлять свои панели подобно введенным.

3) Основной механизм работы со схемой компоновки данных описан в модуле отчета, он достаточно универсален и гибок (область РаботаСоСхемойКомпановкиДанных ). Использовать можно при нестандартных отчетах со сложной структурой. Замечу только, что если в отчете определены параметры помимо стандартных дат, то необходимо в процедуре ПримененияПараметровСКД описать их заполнение, например:

// нестандартные параметры

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

Если ПолеПараметра <> Неопределено Тогда

КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВидПодразделения" ), ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Вид подразделения" ));

КонецЕсли;

Пока вкратце все.

Практически все разработчики делали отчеты в СКД (системе компоновки данных). Но далеко не все используют самый удобный способ создания внешних отчетов для типовых конфигураций. Речь идет о шаблоне отчета на СКД, который можно найти на диске ИТС. Для этого достаточно набрать в поиске ИТС «Шаблон типового отчета». Сразу оговорюсь, что данная статья написана для платформы 1С 8.2

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

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

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

Если есть параметры с именами «НачалоПериода» и «КонецПериода», то автоматически добавляются поля с датой начала и датой окончания.

Таким образом при написании запроса в схеме компоновки данных типового отчета, если есть необходимость формировать отчет на дату или в каком-либо интервале, нужно присваивать параметрам запроса соответствующие имена: &Пероид, &НачалоПериода, &КонецПериода

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

Преимущества использования шаблона очевидны.

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

Если у вас новый ЗУП, БП 2.0 УПП 1.3, УТ 11 то эта статья скорее всего вам будет не очень актуальна - вам уже повезло, "шаблоном типового отчета" вы уже пользуетесь, либо в управляемом интерфейсе вы используете варианты отчетов и шаблон типового отчета вам уже не так актуален. К сожалению, не многие могут похвастаться что работают с самыми последними релизами конфигураций 1С, в случае если конфигурация используется для управления компанией, она очень часто существенно дорабатывается, и обновления становятся сначала трудными, а потом и практически не возможными, в случае если отчеты всё ещё используют только построитель отчета - самое время задуматься о "более передовых" технологиях. Они правда смогут существенно облегчить вам жизнь.

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

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

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

Намного функциональнее, чем то, что предлагает 1С по умолчанию:

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

Собственно шаблон типового отчета предоставляет следующие основные возможности:

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

Детальное описание самого механизма в данную статью не входит, это уже давно сделано в соответствующей статье ИТС, в которой вы так же можете найти и сам шаблон типового отчета (конфигурацию, которую нужно будет объединить с вашей конфигурацией):

ИТС online http://its.1c.ru/db/metbud81#content:3048:1 или на диске 1Cits\EXE\Treport\

В общедоступных источниках я этого не видел. Но найти хотя бы старенький диск ИТС обычно не составляет большой проблемы.

1) Объединить конфигурацию с вашей

2) Взять файл "шаблон.epf" переименовать его в название самого популярного среди пользователей отчета, только с префиксом СКД

3) Взять самый базовый запрос из этого отчета и вставить его как источник данных в СКД

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

5) Если не получилось в (4) то обратиться к "источнику" - Книге Храсталевой http://depositfiles.com/files/4mwyxsqwd после прочтения вопросов по настройке СКД обычно не возникает. Через некоторое время привыкните делать некоторые "фишки" вроде вертикального расположения итогов, дополнительных полей и специальных настроек группировок, разных значений и представлений, вычисляемых полей.

6) Всё это презентуем пользователям, после чего "торжественно" заменяем в интерфейсе отчет обычный, на отчет СКД, и делаем людям такие настройки которые им нравятся, и конечно же их сохраняем:)

7) Учим настраивать СКД хотя бы на минимальном уровне аналитиков или "особо продвинутых" пользователей.

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

1) Функции общих модулей - по сути не ограниченный функционал в рамках отчета - будет конечно замедлять его работу, но зато задумайтесь какие возможности - любые манипуляции со строками, получение цен/остатков на произвольную дату, сложные алгоритмы и вычисления

2) Язык выражений СКД - ушел далеко вперёд от языка запросов

3) Пользовательские поля - особенно посмотрите поле типа "выбор" - то что раньше вы писали в запросе "выбор когда - тогда" - теперь станет проще и функциональнее

4) Объектные источники данных. Вы можете передать на вход СКД таблицу значений, и соединить её с источником данных "запрос" вентури самой схемы. Это позволяет вам в одном отчете соединять данные даже из разных баз, не говоря уже о возможностях выбор данных из одной базы.

5) Детальные поля для группировок - группировка теперь как отдельный отчет, для неё можно выполнять полностью независимые настройки.

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

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

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

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

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

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

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

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

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

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

Ставим цель

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

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

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

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

Поехали!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вот главная страница отчета:

Вызывается данная страничка из конфигуратора в меню Файл – Новый – Внешний отчет.

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

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

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

На закладке Ресурсы выбираем сами ресурсы и настраиваем вывод итогов для них:

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

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

И, наконец, Настройки. Тут рисуется внешний вид отчета – колонки, строки, их положение относительно друг друга, группировки и т.д. Кнопочка «Открыть конструктор настроек» поможет выстроить строчки и колонки в нужном порядке. Кнопочка «Пользовательские настройки элемента» позволит вывести параметры в шапку отчета:

Обратите внимание на колонку Период.ЧастиДат.НазваниеМесяца. Как же вывести название месяца в заголовок колонки? Вот тут и выводится.

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

Еще одна важная закладка – Выбранные поля. Если она будет пустой, отчет не сформируется. Обычно заполняется автоматом по кнопке «Открыть конструктор настроек»:

Собственно, вот все, что нужно из минимально необходимого. В результате будем иметь отчет следующего вида:

Рекомендуем почитать

Наверх