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

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

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

Разбираем, чем отчет отличается от обработки в 1С: назначение, работа с данными, создание в конфигураторе и критерии выбора инструмента.

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

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

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

Назначение отчета: чтение и представление данных

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

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

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

Назначение обработки: действия над данными

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

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

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

Отчет или обработка

Отчет

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

Обработка

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

Ключевые различия в таблице

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

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

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

Как выбрать объект при разработке

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

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

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

Как выбрать объект

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

Внешние отчеты и внешние обработки

Оба объекта существуют и во внешнем виде — как файлы с расширением .erf для отчетов и .epf для обработок. Внешние варианты подключаются без изменения конфигурации через стандартный механизм «Дополнительные отчеты и обработки», который есть в большинстве типовых решений.

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

Права доступа и безопасность

В конфигураторе права на отчеты и обработки настраиваются отдельно для каждой роли. Для отчетов ключевые права — «Использование» и «Просмотр», при этом фактический доступ к данным всё равно ограничивается правами на сами объекты: пользователь без прав на регистр не увидит его данные даже в отчете.

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

Типичные ошибки и проверка результата

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

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

Типичные ошибки
01
Добавление кнопок записи в отчет — пользователи случайно изменяют данные, ожидая безопасный просмотр
02
Реализация аналитики кодом в обработке вместо компоновки данных — нет отборов, вариантов и настроек
03
Запуск обработки в рабочей базе без теста на копии — ошибки в коде портят реальные данные
04
Выдача прав на сервисные обработки всем пользователям — массовые операции выполняют неподготовленные сотрудники
Контрольные точки

Как проверить, что инструмент выбран верно

Меняет ли инструмент данные в базе
Норма

Отчет — нет, обработка — да, это её задача

Тревожный признак

Отчет записывает данные — архитектурная ошибка

Есть ли у пользователя настройки отборов и вариантов
Норма

У отчета на СКД настройки доступны из типового меню

Тревожный признак

Аналитика жестко зашита в код без возможности отбора

Что происходит при повторном запуске обработки
Норма

Операция идемпотентна или есть контроль дублей

Тревожный признак

Повторный запуск создает дубли документов или записей

Часто задаваемые вопросы

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

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

Чем внешняя обработка отличается от встроенной?

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

Какое расширение у файлов отчетов и обработок?

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

Что выбрать для печатной формы документа?

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

Можно ли дать обработку обычному пользователю?

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

Почему для анализа данных советуют именно отчет на СКД?

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

Итог

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

Отчет читает и показывает данные, обработка выполняет действия над ними. Выбирайте объект по этому признаку, разграничивайте права, а любую обработку, изменяющую данные, сначала проверяйте на копии базы.