Как создать (сформировать) отчет в 1С?
Ведение учета в программе 1С позволяет формировать отчетность как для управленческих нужд компании, так и для предоставления в контролирующие органы. Платформа имеет разные типы отчетов, каждый из которых имеет свои настройки и способы формирования, зависящие от конкретной задачи. В данной статье речь пойдет об отчетах для внутреннего пользования компании.
Разновидности отчетов
В программе 1С существует множество видов отчетов, которые востребованы организациями в самых разных отраслях коммерческой деятельности. В интерфейсе программы их можно посмотреть на главной странице программы в разделе «Отчеты» под заголовком «Стандартные отчеты»:
Помимо стандартных отчетов, существуют отчеты и в других разделах. В закладке «Зарплата и кадры», во вкладке «Отчеты по зарплате» будут отображены специализированные отчеты по зарплате. Таким же образом можно находить отчеты, подходящие для других учетных процессов. При этом каждый такой документ можно настраивать, убирая или добавляя определенные поля, формируя группы, добавляя фильтры и другую аналитику.
Отчетность по аналитике счетов
Разберемся в возможной настройке отчета на примере отчета «Оборотно-сальдовая ведомость по счету». Добавим в него дополнительное поле «Артикул».
Для этого на панели разделов следует открыть вкладку «Отчеты», и в заголовке «Стандартные отчеты» кликаем на ссылку «Оборотно-сальдовая ведомость по счету». После открытия формы отчета устанавливаем необходимые настойки:
- Нажимаем на кнопку «Показать настройки», и выбираем пункт «Дополнительные поля».
- После этого останется добавить новое поле, и в списке с выбором перейти на необходимое поле (в нашем случае, на «Артикул» для отображения артикула номенклатуры в отчете).
- Чтобы открылся список с выбором, надо нажать на значок «+» (Выбор поля).
Чтобы выбранное поле отображалось в отчетности, нужно кликнуть на надпись «Сформировать» (в верхнем левом углу). Если понадобится сохранить настройку, следует кликнуть на одноименную кнопку. Для повторного формирования отчета с заданными настройками достаточно нажать на «Выбрать настройки», а не выбирать их заново.
Универсальные отчеты
Для постройки отчета под индивидуальные потребности пользователя, в разделе «Стандартные отчеты» существует «Универсальный отчет». Он позволяет вывести данные из документов, справочников, реестров накопления, сведений. Такой отчет позволяет увидеть данные в аналитике через уже готовые формы с настройками.
Рассмотрим на примере — сформируем отчетность, где будут показаны все товары, поступившие от конкретного поставщика за определенный период времени.
Для этого нужно:
- кликнуть по пункту «Документ» в шапке;
- из открывшегося перечня выбрать «Поступление (акты, накладные)»;
- указать вид «Товары».
Затем надо нажать на надпись «Настройки» и выбрать закладку «Поля и сортировки», установив галочки напротив элементов, которые должны быть видны в отчете.
Далее добавим поле «Контрагент» в отчет для настройки отбора по поставщику. Для этого нужно совершить определенные действия:
Открыть закладку «Отборы», добавить новое поле.
- Отобразится дополнительное окно, в котором следует кликнуть на символ «+» и найти там поле «Контрагент» (В нашем случае реквизит «Контрагент» находится в составе вкладки «Поступление (акт, накладная).
- Затем в поле «Вид сравнения» установить «Равно», а в «Значение» выбрать необходимого поставщика.
Для завершения настройки остаётся лишь установить временной период и нажать на кнопку «Сформировать». Отчет сформируется только с учётом выбранного поставщика.
Отчеты по регистрам конфигурации
Бывают случаи, когда необходимо проверить все движения по определенному регистру в таблицах. Обычно это нужно для правильного создания регламентированной отчетности. Разберем на примере регистра «Раздельный учет НДС»
Чтобы проверить движения, нужно в верхней части таблицы кликнуть на «Регистр накопления». Отобразится новое поле, где надо выбрать вид объекта, коим является «Раздельный учет НДС». Последний выбор — клик на надпись «Остатки и обороты».
Теперь нужно произвести настройку для отображения необходимых данных в документах. Для этого следует:
- нажать на надпись «Настройки»;
- открыть закладку «Поля и сортировки»;
- в открывшемся поле необходимо добавить пункт «Регистратор».
Так как это новое поле, оно при добавлении помещено в самый низ списка. Для навигации поля по списку можно воспользоваться синими стрелками.
Далее остается лишь сформировать отчетность, кликнув на соответствующую надпись
Шаблоны внешнего отчета 1с 8.3 на управляемых формах
- В конфигураторе 1с создаем новый внешний отчет через пункт меню Файл-Новый-Внешний отчет
- Назначаем отчету имя и переходим к созданию макета. В нижней части формы выбираем Макеты-Добавить-Тип макета-Табличный Документ.

- Исходными данными для тестового отчета будет справочник “Банки”. В макете создаем шапку отчета с названиями колонок (Город, Банк, КорСчет).Заполнение ячеек шапки оставляем по умолчанию Текст. Выделяем строки шапки и назначаем Имя области через меню Таблица-Имена-Назначить имя. В дальнейшем в коде через имя области будем выводить шапку отчета и сами данные.

- Добавляем строки, соответствующие получаемым данным из справочника Банки. Назовем их пГород, пБанк и пКорсчет. Для каждой ячейки Заполнение указываем “Параметр”. Выделяем ячейки параметры и назначаем имя области “Строки”

- Назначаем шрифты, ширину и высоту ячеек, выбираем окантовку ячеек итп. Для форматирования макета отчета служит специальная панель “Форматирование”

- Создаем Форму отчета. В группе формы, напротив Формы отчета нажимаем на значек лупы. При создании формы галку “Использовать систему компоновки данных” не ставим.

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

- Пишем обработчик события Команды Сформировать, из которой вызывается функция на сервере для получения данных отчета. Реквизит формы “Отчет” появляется автоматически после создания формы отчета. Отчет создан для примера, поэтому никаких отборов и сортировок в запросе нет и данные выводятся из справочника как есть.
Функция СформироватьНаСервере ( )
ТД = Новый ТабличныйДокумент ;
ОбъектОтчет = РеквизитФормыВЗначение ( «Отчет» ) ;
Макет = ОбъектОтчет . ПолучитьМакет ( «Макет» ) ;
ЗаголовокТД = Макет . ПолучитьОбласть ( «Шапка» ) ;
ТД . Вывести ( ЗаголовокТД ) ;
// создаем запрос к объекту ИБ
Запрос = Новый Запрос ( «ВЫБРАТЬ
| Банки.Наименование КАК Наименование,
| Банки.КоррСчет КАК КоррСчет,
| Банки.Город КАК Город
| Справочник.Банки КАК Банки» ) ;
РезультатЗапроса=Запрос . Выполнить ( ) . Выгрузить ( ) ;
СтрокиТД = Макет . ПолучитьОбласть ( «Строки» ) ;
// обходим результат запроса
для каждого СтрокаЗапроса из РезультатЗапроса цикл
// оформим поле без корсчета
Если ЗначениеЗаполнено ( СтрокаЗапроса . КоррСчет ) тогда
СтрокиТД . Области . Строки . ЦветФона=WebЦвета . Белый ;
СтрокиТД . Области . Строки . ЦветФона=WebЦвета . СветлоСерый ;
//выводим строки в табличный документ
СтрокиТД . Параметры . пГород = СтрокаЗапроса . Город ;
СтрокиТД . Параметры . пБанк = СтрокаЗапроса . Наименование ;
СтрокиТД . Параметры . пКорсчет = СтрокаЗапроса . КоррСчет ;
ТД . Вывести ( СтрокиТД ) ;
КонецЦикла;
Возврат ( ТД ) ;
КонецФункции
Процедура Сформировать ( Команда )
ТабДок=СформироватьНаСервере ( ) ;
ТабДок . Показать ( «Имя Отчета» ) ;
КонецПроцедуры

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

- Открываем конструктор отчета. Создаем простейший запрос из объекта справочник. Из левой части (база данных) переносим Справочник “Банки” в поле Таблицы. Раскрываем справочник и переносим интересующие данные в правую часть Поля. Сохраняем запрос.

- Переходим на вкладку “Настройки”. Щелкаем правой кнопкой мыши на Отчете и выбираем “Свойства элемента пользовательских настроек”.

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

- Создаем Форму отчета и форму настроек отчета. При создании формы отчета обязательно ставим галку “Использовать систему компоновки данных”.

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

- Открываем внешний отчет на СКД в режиме 1с Предприятия 8.3. Открываем настройки и выбираем нужные поля.

- Добавляем группировку по “Городу”. В настройках отчета переходим во вкладку “Группировка” и добавляем поле “Город”.

- Сохраняем настройки и нажимаем кнопку Сформировать.

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

При добавлении отчета без доработок может появится сообщение об ошибке “Невозможно подключить дополнительный отчет из файла. Метод объекта не обнаружен (СведенияОВнешнейОбработке)”.

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

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

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

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

- Для каждого поля ввода нужно создать процедуру для обработчика событий ПриИзменении, которая будет устанавливать выбранное пользователем значение в параметры СКД. Я в примере создал одну процедуру и назначил ее на события изменения всех трех полей ввода. То есть при изменении одного параметра происходит переустановка всех трех. С точки зрения быстродействия это, скорее всего, не эффективно, но, т.к. параметров не много, разница не заметна. При большом количестве параметров стоит выводить установку каждого в отдельную процедуру. Итак, код процедуры для обработчика ПриИзменении будет выглядеть следующим образом:
Процедура ПараметрыПриИзменении ( Элемент ) ПараметрДатаНач = КомпоновщикНастроек . Настройки . ПараметрыДанных . Элементы . Найти ( «НачалоПериода» ) ; //Поиск производится по имени параметра СКД
ПараметрДатаНач . Использование = Истина ; //Параметр будет использоваться при отборе
ПараметрДатаНач . Значение = ДатаНачала ; //Параметру присваивается значение реквизита отчета
ПараметрДатаКон = КомпоновщикНастроек . Настройки . ПараметрыДанных . Элементы . Найти ( «КонецПериода» ) ;
ПараметрДатаКон . Использование = Истина ;
ПараметрДатаКон . Значение = КонецДня ( ДатаОкончания ) ;
ПараметрОрг = КомпоновщикНастроек . Настройки . ПараметрыДанных . Элементы . Найти ( «Организация» ) ;
ПараметрОрг . Использование = Истина ;
ПараметрОрг . Значение = Организация ;
Отчеты в 1С
В этой статье я разберу очень полезный объект метаданных 1С 8.3 — Отчеты. Отчеты нужны для вывода аналитической и прочей информации с последующей возможностью печати. Мы научимся создавать отчеты как объекты конфигурации 1С, и создавать внешние отчеты 1С. А также узнаем, что необходимо, чтобы пользователь мог открыть отчёт, как объект конфигурации, и внешний отчёт.
Как сделать отчет в 1С
Научимся создавать отчеты в конфигураторе 1С. Для того, чтобы создать отчет, в конфигураторе необходимо выделить ветку Отчеты, вызвать правой клавишей мышки контекстное меню и выполнить команду Добавить.

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

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

А на закладке Права указать, у каких ролей будет право на использование и просмотр отчета.

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

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

Будет создана схема компоновки данных, в которой добавим набор данных Запрос.

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

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

Осталось перейти в настройки, и создать группировку.

В группировке выберем единственное поле.

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

Заметьте, созданная схема компоновки появится в редакторе отчета на закладке Макеты.

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

Отчет должен быть в группе Панель Действий.Отчеты.

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

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

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

И его можно будет сформировать.

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

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

Откроется знакомый нам редактор отчёта, с которым работаете так, как работаете с редактором обычного отчёта.

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

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

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

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

Если это право включено, то внешний отчет в 1С можно открыть, используя команду «Открыть» подменю файл, которое находится в меню «Сервис и настройка» (начиная с версии платформы 1С 8.3.14).

В окне «Открыть» нужно выбрать файл внешнего отчета (с расширением erf).

Выйдет предупреждение безопасности.

И если вы нажмете «Да», то откроется внешний отчет, с которым можно уже работать.

Другие статьи по конфигурированию в 1С:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
