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

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

Например, возьмем отчет

  • Анализ доступности товаров;

Настройка .

В колонке Вид сравнения Номенклатура

  • Равно
  • Не равно
  • В списке
  • Не в списке
  • В группе Номенклатура ;
  • Не в группе Номенклатура ;
  • В группе из списка Номенклатура ;
  • Не в группе из списка Номенклатура .

Значение

"Быстрые отборы"

По мере развития платформы «1С:Предприятие 8» и появления новой версии 8.2, отчеты в системах становятся все гибче, и пользователи имеют все больше возможностей настраивать их под свои требования, не прибегая к помощи программистов.

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

Первое, на что можно обратить внимание - это быстрые отборы. Они позволяют вывести в отчет данные по определенным значениям полей отчета согласно пожеланиям пользователя.

Например, возьмем отчет Анализ доступности товаров в УТ . Сразу отметим, что вся демонстрация возможностей отчетов в УТ 11 будет проходить на примере двух отчетов:

  • Анализ доступности товаров;
  • Выручка и себестоимость продаж.

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

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

  • Равно - отчет будет строиться только по выбранной номенклатурной позиции;
  • Не равно - отчет будет строиться по всей номенклатуре, кроме выбранной позиции;
  • В списке - отчет будет строиться по списку номенклатурных позиций;
  • Не в списке - отчет будет строиться по всей номенклатуре, кроме выбранных позиций;
  • В группе - отчет будет строиться по всей номенклатуре, находящейся в выбранной папке справочника Номенклатура ;
  • Не в группе - отчет будет строиться по всей номенклатуре, кроме позиций, находящихся в выбранной папке справочника Номенклатура ;
  • В группе из списка - аналогичен сравнению В списке, только в качестве значений списка выбираются папки в справочнике Номенклатура ;
  • Не в группе из списка - аналогичен сравнению Не в списке, только в качестве значений списка выбираются папки в справочнике Номенклатура .

Флажок (галочка) слева от поля отбора показывает, что отбор по этому полю «включен», т. е. принимается отчетом во внимание.

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

В зависимости от выбранного вида сравнения в колонке Значение указывается конкретный элемент или папка (группа) справочника, либо список элементов или папок.

«Быстрые отборы» доступны во всех решениях на платформе «1С:Предприятие 8».

Пример простого изменения настроек отчета

Для просмотра/изменения настроек отчета необходимо зайти в меню Все действия - Изменить вариант .

Перед нами открывается окно настроек для выбранного варианта отчета.

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

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

Пример 1

Шаг 1. Нам необходимо убрать группировку по характеристике номенклатуры, оставив только группировку по номенклатуре. Для этого в верхней части окна настроек отчета щелкнем мышкой по полю Номенклатура, Характеристика . В нижней части окна перейдем на вкладку Группировки .

Выделим поле Характеристика и щелкнем по кнопке Удалить командной панели.

Подтвердим внесение изменений в настройки отчета, щелкнув по кнопке Завершить редактирование в нижнем левом углу экрана.

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

Щелкнув по ней правой кнопкой мышки, в контекстном меню выберем команду Новая группировка .

В открывшемся окне редактирования поля группировки выберем Номенклатура.Ценовая группа .

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

Теперь выделим группировку по номенклатуре и, не отпуская правую кнопку мыши, перетащим ее внутрь (т. е. ниже) группировки по ценовой группе. У нас получится структура, представленная на рисунке 1. Результат настройки отчета представлен на рисунке 2.

Рис. 1. Получившаяся структура отчета

Рис. 2. Результат настройки отчета

Работа с пользовательскими полями

Давайте теперь немного подробнее рассмотрим новые возможности настройки отчетов в программе «1С:Управление торговлей 8».

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

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

Пример 2

Настроим под себя отчет «История продаж» (вариант отчета «Выручка и себестоимость продаж»). Выведем данные по продажам в разрезе партнеров и номенклатуры. Предположим, что наша компания занимается продажей товаров в Москве и в регионах. Таким образом, каждый клиент в информационной базе принадлежит к определенному географическому региону (реквизит «Бизнес-регион» справочника «Партнеры»). Мы можем без труда сгруппировать данные по продажам в отчете по регионам, но что делать, если нас интересует более укрупненная статистка, в частности, ответ на вопрос «Сколько было продано товаров в Москве, а сколько во всех остальных регионах вместе взятых»? В этом случае как раз и пригодятся «пользовательские поля».

Шаг 1. Откроем отчет. Перейдем в форму настройки структуры отчета (Все действия -> Изменить вариант ). Удалим по очереди все ранее созданные в отчете группировки - для этого выделим каждую из них и щелкнем по кнопке Удалить командной панели, либо воспользуемся клавишей DEL.

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

Шаг 2. Создадим новое пользовательское поле. Откроем закладку Пользовательские поля и выполним команду Добавить -> Новое поле-выбор .

Присвоим имя нашему новому полю - Регион обобщенно .

Щелкнем по кнопке Добавить . В новой строке щелкнем по кнопке в колонке Отбор . В появившейся форме редактирования отбора добавим отбор по полю Партнер.Бизнес регион . Выберем вид сравнения Равно , значение - Москва .

Щелкнем по кнопке ОК , после чего вернемся в окно редактирования пользовательского поля. Далее необходимо щелкнуть по кнопке в колонке Значение и в появившемся списке выбора типа данных выбрать Строка и в качестве значения написать Москва .

Повторим операцию. Добавим еще одну строку в таблицу. На этот раз для отбора по полю Партнер.Бизнес регион выберем вид сравнения Не равно .

Вернувшись в окно редактирования пользовательского поля, в колонке Значение напишем Остальные регионы (см. рис. 3).

Рис. 3. Редактирование пользовательского поля

Щелкнем по кнопке ОК . Наше новое поле готово.

Шаг 3. Добавим наше новое поле в структуру отчета. Выделив мышкой верхний уровень Отчет в структуре , добавим новую группировку. В реквизите Поле выберем Регион обобщенно .

Перетащим мышкой группировку по партнеру и подчиненную ей группировку по номенклатуре внутрь только что созданной.

Сформируем отчет и посмотрим на результат (представлен на рис. 4).

Рис. 4. Результат формирования отчета

Отбор и сортировка

Вернемся к окну редактирования структуры и настроек отчета и обратим внимание на закладки Отбор и Сортировка .

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

Пример 3

В результате в отчет История продаж попадут только те реализации, где в качестве менеджера указан Иванов Иван Федорович .

Пример 4

Сохраняем сделанные изменения

При изменении структуры отчета его всегда можно сохранить при помощи команды Все действия -> Сохранить вариант .

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

Одна из самых важных областей бизнес-софта – это отчетность. От того, насколько легко настроить под меняющиеся потребности бизнеса (и законодательства) существующий отчет или сделать новый, может зависеть (причем не в переносном смысле!) судьба бизнеса, будь то отчет для налоговой инспекции или диаграмма зависимости спроса на товары от сезона и других факторов. Мощная и гибкая система отчетности, позволяющая легко извлечь из системы нужные данные, представить их в доступном для понимания виде, позволяющая конечному пользователю перенастроить стандартный отчет так, чтобы увидеть данные в новом свете – это идеал, к которому должна стремиться каждая бизнес-система.

В платформе «1С:Предприятие» за построение отчётов отвечает механизм под названием «Система компоновки данных» (сокращенно СКД). В этой статье мы постараемся дать краткое описание идеи и архитектуры механизма СКД и его возможностей.


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

Немного истории

В самой первой версии платформы «1С:Предприятие 8», версии 8.0, отчеты делались так:
  1. Писался один или несколько запросов на языке запросов 1С (SQL-подобный язык, подробнее о нем ниже).
  2. Писался код, который переносил результаты выполненных запросов в табличный документ или в диаграмму. Код также мог делать работу, которую в запросе сделать невозможно – например, вычислял значения, используя встроенный язык 1С.
Подход прямолинейный, но не самый удобный – визуальных настроек минимум, все приходится программировать «врукопашную». А один из козырей на тот момент совсем новой платформы «1С:Предприятие 8» - это минимизация в прикладном решении объема кода, который нужно писать вручную, в частности, за счет визуального проектирования. Логично было бы пойти этим же путем и в механизме построения отчетов. Что и было сделано путем разработки нового механизма - Системы Компоновки Данных.

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

Постановка задачи

Задача перед командой разработки стояла такая – сделать систему создания отчетов, основанную не на алгоритмическом (т.е. через написание кода), а на декларативном подходе к созданию отчетов. И мы считаем, что задачу успешно решили. По нашему опыту, около 80% требуемой отчетности может быть реализована с помощью СКД без единой строчки кода (за исключением написания формул вычисляемых полей), по большей части - через визуальные настройки.
Разработка первой версии СКД заняла около 5 человеко-лет.

Два языка

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

Язык запросов

Язык запросов основан на SQL и легко осваивается знающими SQL. Пример запроса:

Легко видеть аналоги стандартных для SQL-запроса секций - SELECT, FROM, GROUP BY, ORDER BY.

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

  • Обращение к полям через точку. Если поля какой-либо таблицы имеют ссылочный тип (хранят ссылки на объекты другой таблицы), разработчик может в тексте запроса ссылаться на них через ".", при этом количество уровней вложенности таких ссылок система не ограничивает (например, ЗаказКлиента.Соглашение.Организация.Телефон).
  • Многомерное и многоуровневое формирование итогов. Итоги и подитоги формируются с учетом группировки и иерархии, обход уровней может выполняться в произвольном порядке с подведением подитогов, обеспечивается корректное построение итогов по временным измерениям.
  • Поддержка виртуальных таблиц. Виртуальные таблицы, предоставляемые системой, позволяют получить практически готовые данные для большинства прикладных задач без необходимости составления сложных запросов. Так, виртуальная таблица может предоставить данные по остаткам товаров в разрезе периодов на какой-то момент времени. При этом виртуальные таблицы максимально используют хранимую информацию, например, ранее рассчитанные итоги и т.д.
  • Временные таблицы. Язык запросов позволяет использовать в запросах временные таблицы. С их помощью можно повысить производительность запросов, в некоторых случаях снизить количество блокировок и сделать текст запроса более легким для восприятия.
  • Пакетные запросы. Для более удобной работы с временными таблицами в языке запросов поддерживается работа с пакетными запросами - таким образом, создание временной таблицы и ее использование помещаются в один запрос. Пакетный запрос представляет собой последовательность запросов, разделенных точкой с запятой (";"). Запросы в пакете исполняются один за другим. Результатом выполнения пакетного запроса, в зависимости от используемого метода, будет являться либо результат, возвращаемый последним запросом пакета, либо массив результатов всех запросов пакета в той последовательности, в которой следуют запросы в пакете.
  • Получение представлений ссылочных полей. Каждая объектная таблица (в которой хранится справочник или документ) имеет виртуальное поле - «Представление». Это поле содержит текстовое представление объекта и облегчает работу создателя отчетов. Так, для документа это поле содержит всю ключевую информацию - название типа документа, его номер и дату (например, «Продажа 000000003 от 06.07.2017 17:49:14»), избавляя разработчика от написания вычисляемого поля.
  • и др.
Механизм запросов автоматически модифицирует запрос с учетом ролей , к которым принадлежит пользователь, от имени которого выполняется запрос (т.е. пользователь увидит только те данные, которые имеет право видеть) и функциональных опций (т.е. в соответствии с настроенной в прикладном решении функциональностью).

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

Например:

  • ВЫБРАТЬ. В этом предложении описываются поля, которые пользователь сможет выбирать для вывода. После данного ключевого слова через запятую перечисляются псевдонимы полей из основного списка выборки запроса, которые будут доступными для настройки. Пример: {ВЫБРАТЬ Номенклатура, Склад}
  • ГДЕ. Описываются поля, на которые пользователь сможет накладывать отбор. В данном предложении используются поля таблиц. Использование псевдонимов полей списка выборки недопустимо. Каждая часть объединения может содержать собственный элемент ГДЕ. Примеры: {ГДЕ Номенклатура.*, Склад }, {ГДЕ Документ.Дата >= &ДатаНачала, Документ.Дата <= &ДатаКонца}
  • и др.
Пример использования расширений:

Язык выражений компоновки данных

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

Пример:

Процесс создания отчета на СКД

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

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

Итогом запуска конструктора запросов будет текст запроса (на языке запросов «1С:Предприятия»). Этот текст можно при необходимости скорректировать вручную:

Наборов данных в схеме компоновки данных может быть несколько, наборы данных могут быть связаны в макете произвольным образом, могут быть добавлены вычисляемые поля, заданы параметры отчета и т.п. Стоит упомянуть интересную особенность работы механизма запросов в 1С:Предприятии. Запросы в конечном итоге транслируются в диалект SQL, специфичный для СУБД, с которой непосредственно работает приложение. Мы вообще стараемся задействовать возможности серверов СУБД по максимуму (нас ограничивает то, что мы используем только те возможности, которые есть одновременно во всех поддерживаемых платформой «1С:Предприятие» СУБД – MS SQL, Oracle, IBM DB2, PostgreSQL). Таким образом, на уровне запроса в вычисляемых полях мы можем использовать только те функции, которые транслируются в SQL.

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


Добавление пользовательских полей

В отчет можно добавить произвольное количество таблиц и диаграмм:


Дизайнер отчетов


Отчет во время выполнения

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

Коротко описать процесс построения и формирования отчета можно так:

  • Разработчик в design time с помощью дизайнера (или в runtime с помощью кода) определяет схему компоновки данных:
    • Текст запроса/запросов
    • Описание вычисляемых полей
    • Связи между запросами (если их несколько)
    • Параметры отчета
    • Настройки по умолчанию
    • И т.д.
  • Вышеописанные настройки сохраняются в макете
  • Пользователь открывает отчет
    • Возможно, делает дополнительные настройки (например, меняет значения параметров)
    • Нажимает кнопку «Сформировать»
  • Настройки пользователя применяются к схеме компоновки данных, определенной разработчиком.
  • Формируется промежуточный макет компоновки данных, содержащий в себе инструкции, откуда получать данные. В частности, корректируются запросы, заданные в макете. Так, из запроса удаляются поля, которые не используются в отчете (это делается с целью минимизировать объем получаемых данных). В запрос добавляются все поля, участвующие в формулах вычисляемых полей.
  • В дело включается процессор компоновки данных. Процессор компоновки выполняет запросы, осуществляет связь наборов данных, рассчитывает значения вычисляемых полей и ресурсов, выполняет группировку. Словом, делает все расчеты, которые не были выполнены на уровне СУБД.
  • Процессор вывода данных запускает запрос на исполнение и выводит полученные данные в табличный документ, диаграмму и т.п.


Процесс формирования отчета механизмом СКД

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

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

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


Режим отображения настройки в design time


Отображение настройки в режиме «Быстрый доступ» во время выполнения (под кнопкой «Сформировать»)

Планы развития

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

СКД 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С и тогда настройки могут быть вынесены в другие формы, нарисованные программистом самостоятельно.

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

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

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

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

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

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

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

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

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

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

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

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

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

    оборотно-сальдовая ведомость;

    оборотно-сальдовая ведомость по счету;

    анализ счета;

    карточка счета;

    обороты счета;

    анализ субконто.

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

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

Шаг 1. Где находится Универсальный отчет в 1С 8.3

Универсальный отчет в 1С 8.3 вызывается через раздел Отчеты – Универсальный отчет:

Форма Универсального отчета выглядит так:

Шаг 2. Как формировать Универсальный отчет для поиска ошибок в учете

Случаются ситуации, когда оформили хозяйственную операцию при помощи Операции, введенной вручную: сумму по счету 68.02 отразили, а движения по регистру накопления НДС Покупки не сделали. В результате сумма в Книге покупок не сходится с суммой в оборотно-сальдовой ведомости по счету 68.02.

Важно! Чтобы понять по какому регистру формировать Универсальный отчет в 1С 8.3, необходимо пройти по блок-схеме, представленной ниже, и понять в результате проведения какого документа можно найти необходимый регистр:

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

Шаг 3. Как настроить универсальный отчет в 1С 8.3

Настроим отчет следующим образом, нажав на кнопку Показать настройки:

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

  • На закладке Отбор установим отбор по нужной организации при помощи кнопки Добавить:

В результате отчет будет иметь такой вид:

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

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

Внимание! Очень часто мало исправить один регистр: возможно ошибка не уйдет, а станет более скрытой и проблемной. В особо сложных случаях потребуется исправлять набор регистров и в этом случае базу 1С 8.3 для анализа лучше отдать специалисту-программисту 1С.

Шаг 4. Как исправить найденную ошибку

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

В результате получим следующую картину:

Шаг 5. Как пользоваться Универсальным отчетом в 1С 8.3

Универсальный отчет в 1С 8.3 можно построить по справочникам, регистрам сведений, документам и регистрам бухгалтерии.

По регистру бухгалтерии

Например, вместо карточки счета можно сформировать Универсальный отчет по регистрам бухгалтерии со следующими настройками:

Чтобы не загромождать отчет на закладке Показатели снимем флажки у лишних показателей:

При помощи следующих команд управления окнами:

Можно расположить окна с отчетами рядом для удобства сравнения данных:

По регистру сведений

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

Сформируем Универсальный отчет по одноименному регистру сведений, сделав следующие настройки:

При наличии в базе 1С 8.3 нескольких организаций можно установить отбор по нужной организации на закладке Отбор. Получим вот такой вариант:

По справочнику

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

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


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

В результате получим отчет такого вида:

Как работает Универсальный отчет в 1С

Рассмотрим еще несколько вопросов, ответы на которые можно получить благодаря использованию Универсального отчета в 1С 8.3.

Вопрос №1

Как в Универсальном отчете сделать выборку только по конкретному покупателю и узнать, сколько конкретной (определенной) номенклатуры товара ему продано?

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

Настройка Универсального отчета в данном случае осуществляется следующим образом:

  • Период;
  • Регистр бухгалтерии;
  • Журнал проводок (бухгалтерский и налоговый учет);
  • Движения субконто:
  1. Далее нажимаем на кнопку Показать настройки, на закладке Отбор добавляются значения:
  • Счет Дт – Равно – 62.01;
  • Счет Кт – Равно – 90.01.1:

  1. На закладке Группировка добавляются значения:
  • Субконто 1 Дт;
  • Субконто 3 Кт:

  1. После данных настроек необходимо нажать кнопку Сформировать и Универсальный отчет в 1С 8.3 будет построен по нужной форме:

Вопрос №2

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

Ответ: Построим в Универсальном отчете анализ по регистру накопления Расходы при УСН. Настройка Универсального отчета в данном случае осуществляется следующим образом:

  1. В шапке отчета для отбора информации указываются следующие значения:
  • Период;
  • Расходы при УСН;
  • Остатки и обороты:
  • Вид расхода;
  • Элемент расхода:

  1. На закладке Показатели значения должны быть установлены как на рисунке:

Из отчета видим, что некоторые расходы по графе Отражение в НУ указаны как Не принимаются . Это означает, что данные расходы не будут автоматически включаться программой в КУДиР и при вводе документов допущена ошибка. Необходимо исправить аналитику в таких документах, то есть статья затрат должна иметь значение Принимаются в НУ как показано на рисунке:

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

Вопрос №3

В КУДиР в расходы НУ не попадает стоимость проданного товара. Как найти ошибку с помощью Универсального отчета?

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

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

  1. В шапке отчета для отбора информации указываются следующие значения:
  • Период;
  • Регистр накопления бухгалтерии;
  • Расходы при УСН;
  • Остатки и обороты:
  1. Далее нажимаем на кнопку Показать настройки, на закладке Группировка добавляются значения:
  • Вид расхода;
  • Элемент расхода:

  1. На закладке Показатели значения должны быть установлены как на рисунке:

  1. После данных настроек необходимо нажать кнопку Сформировать и отчет будет построен по нужной форме:

Как видно из отчета, причина по которой расход по приобретенным товарам не попадает в КУДиР – это отсутствие оплаты поставщику за товар.

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

Вопрос №4

Как посмотреть цену прихода товара в 1С Предприятие 8.3 (8.3.8.1964) с помощью Универсального отчета?

Ответ: Специального отчета по отслеживанию цены прихода товара в 1С нет, но можно построить свой отчет с помощью Универсального отчета по документам Поступление (акт, накладная). Настройка Универсального отчета в данном случае осуществляется следующим образом:

  1. В шапке отчета для отбора информации указываются следующие значения:
  • Период;
  • Документ;
  • Поступление (акты, накладные);
  • Товары:
  1. Далее нажимаем на кнопку Показать настройки, на закладке Группировка добавляется значение Номенклатура:

  1. На закладке Показатели значения должны быть установлены как на рисунке:

  1. После данных настроек необходимо нажать кнопку Сформировать и отчет будет построен по нужной форме:

ВНИМАНИЕ! Обращаем внимание, что не любую задачу можно решить с помощью Универсального отчета. Главное его неудобство, что он работает ТОЛЬКО с одним объектом анализа: справочником, документом, бухгалтерским регистром, регистром сведений или регистром накопления.

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