К статье
Практический материал

Разработка и Конфигурация · 10 мин

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

Разбираем разницу между отчетом и обработкой в 1С: назначение, возможности, типичные сценарии использования и критерии выбора инструмента под задачу.

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

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

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

Что такое отчет в 1С и для чего он нужен

Отчет — это объект метаданных, предназначенный для выборки, группировки и визуального представления данных информационной базы. Классические примеры: «Продажи за период», «Оборотно-сальдовая ведомость», «Остатки товаров на складах», «Дебиторская задолженность». Пользователь задает период и отборы, нажимает «Сформировать» и получает результат, который можно распечатать или сохранить в файл.

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

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

Что такое обработка в 1С и когда она применяется

Обработка — объект метаданных, предназначенный для выполнения алгоритмов над данными. Типичные сценарии: загрузка прайсов из Excel, групповое создание документов, исправление ошибок в регистрах, перенос данных между базами, массовое заполнение реквизитов, тестирование и сервисные операции. Знакомый многим «Групповая обработка справочников и документов» или консоль запросов — это именно обработки.

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

Обработка не обязана ничего показывать пользователю в виде табличного документа. Часто результат её работы — это созданные документы, заполненные регистры или выгруженный файл. Форма обработки обычно содержит параметры запуска и кнопку «Выполнить», а не область с отчетной таблицей.

Сравнение отчета и обработки по ключевым параметрам

Чтобы различие стало наглядным, сопоставим оба объекта по практически значимым критериям — от назначения до рисков при ошибке.

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

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

Как выбрать: отчет или обработка

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

Маршрут решения

Как выбрать инструмент

Нужно посмотреть данные за период с отборами и группировкамиДелайте отчет на СКД
Нужно создать, исправить или удалить записи в базеДелайте обработку
Нужно загрузить данные из внешнего файла (Excel, CSV, XML)Делайте обработку загрузки
Нужно показать результат вычислений, не трогая учетДелайте отчет, даже если расчет сложный
Задача сочетает анализ и действиеРазделите её: отчет для контроля плюс обработка для изменений

Отдельный случай — задача «посмотреть, а потом исправить». Правильная практика — сделать два инструмента: отчет, который покажет проблемные места (например, документы без заполненного реквизита), и обработку, которая выполнит исправление. Так пользователь сначала видит масштаб проблемы и принимает осознанное решение, а не запускает изменения вслепую.

Внешние отчеты и обработки: в чем особенность

И отчеты, и обработки могут существовать не только внутри конфигурации, но и как внешние файлы с расширениями .erf (отчет) и .epf (обработка). Их открывают через меню «Файл — Открыть» или подключают через механизм дополнительных отчетов и обработок (подсистема БСП в типовых конфигурациях). Это удобно, когда нельзя менять конфигурацию, находящуюся на поддержке.

Различие между ними сохраняется и во внешнем виде: внешний отчет по-прежнему только показывает данные, внешняя обработка — выполняет действия. При подключении через механизм дополнительных отчетов и обработок система разделяет их по типам: «Дополнительный отчет», «Заполнение объекта», «Создание связанных объектов», «Печатная форма» и другие. Тип определяет, откуда пользователь вызовет инструмент и что он сможет сделать.

Типичные сценарии и пограничные случаи

Когда отчет выглядит как обработка

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

Когда обработка вызывается из отчета

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

Печатные формы

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

Типичные ошибки
01
Делать отчетом инструмент, который изменяет данные: пользователи привыкнут, что отчеты безопасны, и запустят изменения без подготовки
02
Запускать обработку массового изменения сразу в рабочей базе без копии: ошибка в алгоритме приведет к порче данных
03
Писать сложную аналитику в обработке вместо отчета на СКД: пользователь потеряет гибкие отборы и настройки
04
Исправлять данные обработкой без предварительного отчета о масштабе проблемы: невозможно оценить, что именно будет изменено
05
Открывать внешние .epf-файлы из непроверенных источников: в коде может быть что угодно

Проверка результата и безопасная практика

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

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

Безопасный порядок работы с обработкой
  1. 1
    Сформулируйте, какие данные и как должна изменить обработка
  2. 2
    Сделайте резервную копию базы или разверните копию для теста
  3. 3
    Запустите обработку на копии и проверьте результат на нескольких объектах
  4. 4
    Сверьте количество измененных записей с ожидаемым
  5. 5
    Только после успешной проверки запускайте обработку в рабочей базе
Итог

Что важно запомнить

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

Частые вопросы

Может ли отчет изменять данные в базе?

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

Чем отличаются файлы .erf и .epf?

.erf — это внешний отчет, .epf — внешняя обработка. Оба открываются через «Файл — Открыть» или подключаются через механизм дополнительных отчетов и обработок. Различие то же, что и у встроенных объектов: .erf показывает данные, .epf выполняет действия.

Что выбрать для загрузки прайса из Excel?

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

Можно ли сделать отчет без программирования?

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

Почему печатная форма — это обработка, а не отчет?

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

Опасно ли открывать внешние обработки из интернета?

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