Отчеты и Аналитика · 12 мин
Как создаются отчеты в 1С: от типовых до собственной разработки
Как создать отчет в 1С: типовые отчеты, универсальный отчет, СКД и конструктор. Пошаговые инструкции, настройка отборов, типичные ошибки и FAQ.
Отчеты в 1С — главный инструмент анализа учетных данных: через них бухгалтер смотрит обороты по счетам, руководитель — продажи и задолженность, кадровик — штатную расстановку. Создать отчет можно тремя принципиально разными путями: настроить уже встроенный в конфигурацию типовой отчет, собрать произвольную выборку универсальным отчетом или разработать собственный отчет в конфигураторе на системе компоновки данных (СКД). Выбор зависит от задачи и от того, есть ли у вас права на изменение конфигурации.
Важно понимать: большинство «новых» отчетов в 1С не требуют программирования. Типовые конфигурации (Бухгалтерия предприятия, Управление торговлей, ЗУП, ERP) построены так, что пользователь получает нужную аналитику настройкой отборов, группировок и показателей. Писать код приходится только тогда, когда типовые механизмы не дают нужной формы или состава данных.
Ниже разобраны все три подхода с конкретными действиями, ограничениями и способами проверить корректность результата. Материал применим к конфигурациям на управляемых формах (платформа 8.3), где отчеты строятся на СКД.
Какие виды отчетов есть в 1С и что выбрать
Прежде чем создавать отчет, определите, к какому типу относится ваша задача. В типовых конфигурациях встречаются четыре категории: типовые прикладные отчеты (Оборотно-сальдовая ведомость, Анализ продаж, Ведомость по товарам), регламентированные отчеты (декларации, расчеты для ФНС и фондов), универсальный отчет по произвольным данным и отчеты, разработанные программистом под конкретную задачу.
Типовые отчеты покрывают стандартную аналитику и настраиваются пользователем. Регламентированные формируются строго по утвержденным формам и обновляются вместе с конфигурацией — менять их структуру самостоятельно нельзя. Универсальный отчет позволяет построить выборку почти по любому объекту: документам, справочникам, регистрам. Собственная разработка нужна для нестандартных форм, сложных расчетов и внешних отчетов.
Как выбрать способ создания отчета
Настройка типового отчета без программирования
Самый быстрый способ получить «свой» отчет — изменить настройки типового. Откройте нужный отчет, например «Оборотно-сальдовая ведомость по счету» в 1С:Бухгалтерии, и нажмите «Показать настройки» или перейдите в «Еще — Изменить вариант отчета». Откроется окно настроек СКД с закладками: «Отбор», «Группировка», «Показатели» (или «Поля»), «Сортировка», «Оформление».
На закладке «Отбор» добавьте условия: например, организация, период, конкретный контрагент или склад. На закладке «Группировка» задайте уровни детализации — по каким измерениям раскрывать данные (счет, субконто, номенклатура). На закладке «Показатели» включите нужные ресурсы: суммы, количество, валютные суммы. После настройки нажмите «Сформировать» и проверьте результат.
Чтобы не повторять настройку каждый раз, сохраните её как вариант: «Еще — Сохранить вариант отчета». Вариант можно сделать доступным другим пользователям и вывести в панель отчетов раздела. Это стандартный механизм, он не требует прав администратора и не меняет конфигурацию.
- 1Откройте типовой отчет и нажмите «Еще — Изменить вариант»
- 2Задайте отборы, группировки и показатели на соответствующих закладках
- 3Нажмите «Сформировать» и убедитесь, что данные корректны
- 4Выберите «Еще — Сохранить вариант отчета», задайте понятное имя
- 5Отметьте доступность варианта другим пользователям при необходимости
- 6Проверьте, что вариант появился в списке отчетов раздела
Универсальный отчет: выборка по любым данным
Универсальный отчет — встроенный инструмент для произвольных выборок без программирования. В 1С:Бухгалтерии он находится в разделе «Отчеты — Универсальный отчет», в других конфигурациях может быть в «Администрировании» или «Отчетах». Он работает с тремя типами источников: регистры накопления и сведений, документы (с табличными частями) и справочники.
Порядок работы: выберите тип источника (например, «Регистр накопления»), затем конкретный объект (например, «Продажи» или «Товары на складах»), укажите период. После этого нажмите «Настройки» и задайте группировки, отборы и показатели — логика та же, что в типовых отчетах. Для документов доступен вывод реквизитов шапки и строк табличной части, что удобно для списков вроде «все реализации за месяц с суммами и контрагентами».
Ограничения универсального отчета: он не умеет сложные вычисляемые поля, соединения нескольких таблиц и произвольные итоги. Если данных из одного объекта не хватает — например, нужно сопоставить продажи с себестоимостью из другого регистра — потребуется отчет на СКД.
Создание собственного отчета в конфигураторе на СКД
Когда типовых средств не хватает, отчет разрабатывают в конфигураторе. Откройте конфигуратор, в дереве конфигурации найдите ветку «Отчеты», добавьте новый объект и задайте имя. Основная работа происходит в схеме компоновки данных: нажмите «Открыть схему компоновки данных» — запустится конструктор макета.
В схеме компоновки ключевое — набор данных. Чаще всего используется набор «Запрос»: вы пишете запрос на встроенном языке запросов 1С к нужным таблицам (документам, регистрам, справочникам). Конструктор запроса позволяет собрать его мышкой: выбрать таблицы, поля, условия соединений и виртуальные таблицы регистров (Обороты, Остатки). Для итоговых данных всегда используйте виртуальные таблицы регистров — они работают быстрее и корректнее, чем выборка физических таблиц с группировкой.
После запроса настройте ресурсы (закладка «Ресурсы» — поля, которые суммируются), параметры (период, организация) и закладку «Настройки» — структуру отчета по умолчанию: группировки, выбранные поля, отборы. Пользователь потом сможет менять эти настройки в режиме предприятия, как в типовом отчете.
ВЫБРАТЬ
Продажи.Номенклатура КАК Номенклатура,
СУММА(Продажи.СуммаОборот) КАК Сумма
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК Продажи
СГРУППИРОВАТЬ ПО
Продажи.НоменклатураЕсли конфигурацию нельзя изменять (типовая на поддержке, обновления), разработайте внешний отчет: «Файл — Новый — Внешний отчет». Такой файл с расширением .erf подключается через «Дополнительные отчеты и обработки» и не затрагивает конфигурацию. Для автоматической регистрации в нем реализуется функция СведенияОВнешнейОбработке.
Настройка отборов, периодов и параметров
Корректность отчета на 90% определяется параметрами. Период в отчетах по регистрам задавайте через стандартный период СКД — тогда пользователь сможет выбирать «Месяц», «Квартал», «Произвольный период» одним полем. Если в запросе виртуальной таблицы используются параметры &НачалоПериода и &КонецПериода, СКД автоматически свяжет их со стандартным периодом.
Отборы бывают двух уровней: в параметрах виртуальной таблицы (условие накладывается до расчета итогов) и в настройках отчета (условие фильтрует уже готовый результат). Разница существенна: отбор по контрагенту в виртуальной таблице «Обороты» даст обороты только по этому контрагенту, а отбор в настройках отфильтрует строки, но итоги по остаткам могут не совпасть. Для оборотных данных отбор по измерениям лучше переносить в параметры виртуальной таблицы.
Проверяйте поведение отчета на граничных случаях: пустой период, отбор по значению, которого нет в данных, пользователь без прав на часть объектов. Отчет не должен падать с ошибкой — в этих ситуациях корректный результат «нет данных».
Проверка корректности и типичные ошибки
Первый способ проверки — сверка с независимым источником. Обороты по счету в новом отчете сравните с оборотно-сальдовой ведомостью, продажи — с типовым отчетом «Анализ продаж» или «Валовая прибыль». Совпадение итогов на тестовом периоде — основной признак корректного запроса. Расхождения обычно означают неверное соединение таблиц (дублирование строк при связи «один ко многим») или неправильный отбор.
Второй способ — проверка на малом объеме: сформируйте отчет за один день или по одному документу и вручную просуммируйте исходные данные. Если итог сходится на малой выборке и на большой, запрос с высокой вероятностью корректен.
Как проверить готовый отчет
Совпадают с типовым отчетом (ОСВ, анализ продаж) за тот же период
Расхождение — проверяйте соединения и отборы в запросе
Отчет формируется с пустым результатом без ошибок
Ошибка компоновки или деление на ноль
Сумма детальных строк равна итогу группы
Итоги не сходятся — не настроены ресурсы СКД
Отчет строится и показывает только доступные данные
Ошибка прав или видны чужие данные
Вывод, печать и сохранение результатов
Сформированный отчет в 1С — это табличный документ. Его можно вывести на печать (Файл — Печать), сохранить в файл (Excel, PDF, HTML, mxl) через «Файл — Сохранить как» или отправить по почте, если в базе настроена учетная запись. При сохранении в Excel структура группировок обычно сохраняется, что удобно для дальнейшей обработки.
Для регулярной отправки отчетов настройте рассылку: в ряде конфигураций есть механизм «Рассылка отчетов» (раздел «Администрирование»), который по расписанию формирует указанные варианты отчетов и отправляет их списку получателей. Это избавляет от ручного формирования ежедневных сводок.
Что важно запомнить
Начинайте с настройки типового отчета или универсального — программирование нужно редко. Собственные отчеты создавайте на СКД как внешние, не меняя типовую конфигурацию. Корректность проверяйте сверкой итогов с типовыми отчетами, а настройки сохраняйте как варианты для повторного использования.
Частые вопросы
Можно ли создать отчет в 1С без навыков программирования?
Да. Настройка типовых отчетов через «Изменить вариант» и универсальный отчет полностью управляются мышью: отборы, группировки, показатели, сортировка. Программирование требуется только для нестандартных форм и сложных расчетов, которых нет в типовых механизмах.
Чем внешний отчет отличается от встроенного в конфигурацию?
Внешний отчет — отдельный файл с расширением .erf, который подключается к базе без изменения конфигурации. Это безопаснее для типовых решений: обновления конфигурации его не затрагивают. Встроенный отчет является частью конфигурации и требует снятия объекта с поддержки или использования расширения.
Почему мой отчет не сходится с оборотно-сальдовой ведомостью?
Чаще всего причины три: отбор наложен в настройках, а не в параметрах виртуальной таблицы; в запросе используется физическая таблица регистра вместо виртуальной «Обороты»; периоды в сравниваемых отчетах заданы по-разному (например, включение/исключение конечной даты). Проверьте эти три пункта в первую очередь.
Как дать отчет пользователю, не давая ему прав в конфигуратор?
Права на конфигуратор для отчетов не нужны. Сохраните настройки как вариант отчета и сделайте его общедоступным, либо подключите внешний отчет через механизм «Дополнительные отчеты и обработки» — пользователь увидит его в интерфейсе раздела. Доступ к данным при этом по-прежнему ограничивается правами роли пользователя.
Что делать, если отчет формируется слишком долго?
Типичные причины: отсутствие отбора по периоду в параметрах виртуальной таблицы (считаются итоги за всё время), соединения больших таблиц без индексированных полей, вывод детальных записей вместо итогов. Сначала ограничьте период и проверьте, что используются виртуальные таблицы регистров, затем уберите лишние соединения и детализацию.
Можно ли автоматически отправлять отчет руководителю по расписанию?
Да, если в конфигурации есть механизм рассылки отчетов (обычно в разделе «Администрирование»). Создается рассылка: указываются варианты отчетов, расписание, формат файла и список получателей. Требуется настроенная системная учетная запись электронной почты в базе.