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