Создание простого отчета на скд. Создание простого отчета на скд Произвольные отчеты в 1с 8.3

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

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

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

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

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

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

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

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

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

Ставим цель

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

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

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

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

Поехали!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Платформа 1С 8.3 и работающие на ней конфигурации по интерфейсу в корне отличаются от предшественников. В новой 1С окно программы разбито на три области: "Главное верхнее меню", "Боковое контекстное меню" (изменяющееся в зависимости от того в каком разделе находится пользователь) и "Рабочая область" (занимает самую большую часть экрана, в которой пользователь работает с данными, вводит информацию).
В предыдущих публикациях мы уделили достаточно внимания теме отчетов в 1С 8.2. Среди наших публикаций: общие правила формирования отчетов, отчеты по товарам, отчеты по продажам, взаиморасчеты с контрагентами и др. Но в новом интерфейсе платформы 8.3 все кардинально изменилось. Во-первых, изменился весь интерфейс программы. Во-вторых, разработчики 1С изменили логику отчетов. Например, вмеcто одного отчета по продажам (как в 8.2) в интерфейс вшиты 20 отчетов по продажам с разными настройками. Названия новых отчетов соответствуют их логическому предназначению. Соответственно настройки отчетов во многом предопределены (уже настроены за пользователя). Скорее всего на предопределенность сделали ставку разработчики 1С для того чтобы пользователи поменьше сами настраивали, побольше пользовались готовым.
Например:

1С 8.3

Анализ первичного интереса (по каналам воздействия)
- Эффективность сделок с клиентами (по видам сделок)
- Анализ эффективности работы торговых представителей
- Анализ продаж по бизнес-регионам
- Валовая прибыль по менеджерам
- Сверка расчетов с партнерами
- В старой конфигурации все эти же отчеты назывались проще:

1С 8.2

Продажи
- Анализ заказов покупателей
- Ведомость по взаиморасчетам с контрагентами

Суть старых и новых отчетов одинакова. Выдается результат обработки одной и той же информации. Разность только в том что в 8.3 отчеты настраиваются абсолютно по другому. Зачем разработчики настолько кардинально изменили интерфейс и методы работы с отчетами - тайна покрытая мраком. Но поскольку программа 1С 8.3 уже широко используется многими предприятиями, то не будем углубляться в причины кардинального изменения интерфейса, а лучше разберемся как работать с новой программой.
Предупредим, что даже опытный пользователь 1С может столкнутся с трудностями при настройке отчета в 8.3. Уж очень все по-новому. На первый взгляд может показаться, что отчеты вообще не настраиваются в силу обширной коллекции предопределенных настроек втиснутыми разработчиками в конфигурацию, но это не так. Отчеты в 1С 8.3 настраиваются и ниже на примере отчета "Валовая прибыль по партнерам" мы разберем основные методы настройки отчетов 1С 8.3.
1. Выбор отчета . Во-первых, рекомендуем из уже имеющихся настроенных отчетов выбрать тот, который более всего близок по сути к цели извлекаемой информации, чтобы минимизировать трудозатраты на настройку. А возможно вы подберете тот, который и вовсе настраивать не нужно. Правда для этого вам нужно будет перелопатить все имеющиеся отчеты. Будем оптимистами. Опыт - всегда полезная штука.
2. Отборы . Основной вид фильтра предназначенный для отсева с отчета заведомо ненужной информации. Например, отбор может быть установлен по покупателю, подразделению, менеджеру, складу и т.д. Отборов в отчете может быть произвольное количество. Т.е. вы можете отобрать по менеджеру и по складу одновременно.

3. Группировка . Все, кто знаком с методами настройки отчетов предыдущих версий 1С знают, что группировка - это инструмент представления информации в удобном для просмотра виде. Группировка значительно сокращает длину отчета, если он огромных размеров, позволяет ступенчато просматривать данные, выдает количественные и суммовые итоги по каждой группе. Чтобы по достоинству оценить удобство данного метода нужно самостоятельно сформировать отчет и убедится на собственном опыте. Проделайте те же настройки в отчете, как показано на скриншоте ниже. Обратите внимание, что на вкладке "Редактирование группировок" есть стрелочки, которые передвигают группировки вверх-вниз, что позволяет выстроить иерархию кто главнее из группировок, что под чем будет разворачивается.

Если вы в точности повторили наши настройки у вас должен получится точно такой отчет как на скриншоте ниже.
Мы рассмотрели основные методы работы с отчетами. Более специфические отчеты потребуют от вас усидчивости и экспериментов с настройками.


Если у вас остались вопросы по работе в 1С, задайте вопрос нашей службе поддержки. Воспользуйтесь формой обратной связи для бесплатной консультации со специалистом 1С.

На 1С? как посмотреть зарплату сотрудников в 1с?

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

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

Сделать такую пользовательскую, «свою», выборку можно несколькими путями. Можно


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

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

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

Итак, начнем

Заготовка отчета.

Вначале создадим и сохраним на диск файл нашего внешнего отчета.

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

Вначале заходим в 1С Конфигуратор и нажимаем в главном меню «Файл» — «Новый». В предложенном списке выбираем «Внешний отчет» и нажимаем кнопку «Ок» для подтверждения выбора.

Вновь созданный отчет назовем «ОтчетПоЗарплатеСотрудников», например, и сохраним на диск.

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

После сохранения внешнего отчета на диск нажимаем кнопку «Открыть схему компоновки данных» и подтверждаем создание новой схемы нажатием на кнопку «Готово».

В открывшейся форме схемы компоновки данных создадим новый набор данных — запрос. Нужную информацию мы будем получать при помощи SQL-запроса.

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

Выберем из колонки с объектами метаданных («Базы данных») таблицы содержащие данные для нашего отчета. Нам потребуются: Регистр накопления «ВзаиморасчетыССотрудниками» для получения данных движений по зарплате и регистр сведений «ТекущиеКадровыеДанныеСотрудников» для получения информации о должности каждого конкретного сотрудника.

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

На закладке «Связи» сформируем связь наших отобранных регистров по полю «Сотрудник»

На закладке «Условия» внесем условие выбора вида взаиморасчетов. Добавим параметр ВидВзаиморасчетов, который зададим позже на одном из следующих этапов.

Также, для определения периода создадим два условия, которые, собственно и ограничат требуемый период. Пусть это будут параметры ДатаОт и ДатаДо. Окончательно их опишем также на следующем этапе. Замечу, что для задания периода удобно указывать операнд «Между».

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

Нажимаем кнопку «Ок»

В поле сформируется нужный нам SQL-запрос.

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

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

Параметры.

Перейдем на закладку «Параметры». Здесь мы видим, что система автоматически добавила введенный ранее параметр ВидВзаиморасчетов и два параметра для определения периода. Нам остается немного доработать сформированную строку ВидВзаиморасчетов под наш отчет. Т.к. нам нужна будет выборка и по выплатам зарплаты, и по выплатам авансов, то параметр ВидВзаиморасчетов нам потребуется также дважды.

Скопируем строку ВидВзаиморасчетов нажав на первой правую кнопку мыши.

Далее укажем, что нам нужны данные по авансам и зарплате. Для одной строки видов взаиморасчетов выберем аванс, для второй — зарплату. Еще снимем ограничение доступности для параметров периода. Это важно, т.к. пользователь сможет задать период самостоятельно.

Формирование вида выборки.

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

В следующем окне выберем поля, которые будут отображаться в отчете. Это Сотрудник, Период, ВидВзаиморасчетов, ТекущаяДолжность, СуммаВзаиморасчетов и Регистратор. После редактирования нажимаем «Далее».

Затем, в следующем окне, определим нужный вид группировки. Это по полю Сотрудник. Нажимаем «Далее».

И, в последнем окне назначим поле упорядочивания. Упорядочиваем по полю СуммаВзаиморасчетов, по убыванию. нажимаем «Ок».

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

Отчеты 1С 8.3 — это специальный объект метаданных, предназначенный для формирования удобного для пользователя представления данных из таблиц базы данных 1С.

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

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

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

Рассмотрим основные методики создания отчетов

Как сделать отчет в 1С с помощью макета

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

Но в этом случае все пунктики, меню и прочие «бантики» придется прописывать вручную, что очень трудоёмко.

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

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

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

Конструктору указывается запрос и все необходимые параметры будущего отчета, а он, в свою очередь, генерирует модули и формы отчета. Механизм основан на объекте встроенного языка 1С 8.2 — ПостроительОтчетов .

Создание отчета с помощью Универсального отчета

Универсальный отчет имеет большой функционал, удобный интерфейс настроек, привычный пользователю:

Отчеты на основе Системы компоновки данных

Это самый прогрессивный метод создания отчетов в 1С, рекомендованный и самой фирмой 1С. появилась в платформе 1С в версии 8.1.

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

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

Чем отличаются внешние отчеты от встроенных

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

Единственное отличие при разработке решения — Вы не можете обратиться к внешнему отчету «по имени», в отличие от встроенного отчета.

Чем отчет отличается от обработки

На самом деле — практически ничем. Главное различие — назначение использования объекта: отчеты нужны для отображения информации, а — для изменения информации.

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