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

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

Как работает обработка 1С: устройство, запуск и проверка результата

Разбираем, что такое обработка в 1С, как она устроена и выполняется, чем отличается от отчёта, как безопасно запускать внешние обработки и проверять результат.

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

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

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

Что такое обработка и чем она отличается от отчёта

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

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

Из чего состоит обработка: форма, модуль, реквизиты

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

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

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

Как обработка выполняется: от кнопки до записи в базу

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

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

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

Как запустить обработку: основные способы

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

Встроенные обработки вызываются из интерфейса конфигурации: например, «Загрузка данных из табличного документа», «Групповое изменение реквизитов», «Удаление помеченных объектов» находятся в разделе «Администрирование» или «НСИ и администрирование». Их не нужно открывать как файлы — они уже часть системы.

Безопасный запуск внешней обработки
  1. 1
    Сделайте резервную копию базы или выгрузку dt
  2. 2
    Откройте обработку сначала на тестовой копии базы
  3. 3
    Заполните параметры и выполните пробный запуск на малом объёме данных
  4. 4
    Проверьте результат: откройте изменённые документы и справочники
  5. 5
    Только после проверки запустите обработку на рабочей базе

Права доступа и ограничения

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

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

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

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

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

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

Контрольные точки

Как проверить результат

Протокол выполнения
Норма

Есть список обработанных объектов и ошибок

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

Обработка завершилась молча, без сообщений

Контрольный отчёт до и после
Норма

Показатели изменились на ожидаемую величину

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

Изменений нет или затронуты лишние данные

Случайные документы из выборки
Норма

Реквизиты и проведение соответствуют заданию

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

Значения не изменились или изменились неверно

Типичные ошибки при работе с обработками

Типичные ошибки
01
Запуск на рабочей базе без копии — при ошибке откатить изменения сложно или невозможно
02
Неверно заполненные параметры (период, организация) — обрабатываются лишние данные
03
Повторный запуск обработки, которая не проверяет дубли, — создаются задвоенные документы и записи
04
Прерывание длительной обработки на середине — база остаётся в частично изменённом состоянии
05
Использование обработки, написанной под другую конфигурацию, — ошибки обращения к несуществующим объектам

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

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

Когда нужна разработка собственной обработки

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

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

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

Как выбрать действие

Операция разовая и затрагивает десятки объектовИспользуйте штатное «Групповое изменение реквизитов» или ручную правку с контролем
Операция повторяется регулярно по понятному алгоритмуПодберите или закажите обработку и зарегистрируйте её в дополнительных отчётах и обработках
Файл обработки получен из непроверенного источникаЗапускайте только на копии базы и проверяйте результат перед боевым применением
Обработка выдаёт ошибки о несуществующих объектахПроверьте совместимость с вашей конфигурацией и её версией

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

Чем обработка отличается от расширения конфигурации?

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

Можно ли отменить действия обработки после выполнения?

Штатной кнопки «отменить» у обработок нет. Если изменения сделаны, их придётся исправлять вручную, другой обработкой или восстановлением базы из резервной копии. Поэтому копия перед запуском — обязательное условие безопасной работы.

Почему обработка работает очень долго?

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

Безопасно ли скачивать обработки из интернета?

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

Что делать, если обработка завершилась с ошибкой на середине?

Не запускайте её повторно сразу: часть данных уже изменена, и повторный проход может создать дубли. Сначала выясните по протоколу или вручную, какие объекты обработаны, затем либо продолжите с места остановки (если обработка это поддерживает), либо восстановите копию и повторите запуск целиком.

Нужны ли права администратора для запуска обработки?

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

Итог

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

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