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