Разработка и Конфигурация · 11 мин
Внешняя обработка 1С: как открыть и отредактировать
Как открыть и отредактировать внешнюю обработку 1С в конфигураторе: изменение модуля, форм, макетов, подключение обратно в базу и проверка результата.
Внешняя обработка в 1С — это файл с расширением .epf, который содержит программный код, формы и макеты, но не входит в состав конфигурации. Такие файлы используют для печатных форм, групповой обработки данных, загрузки прайсов и других задач, которые не требуют изменения самой конфигурации. Рано или поздно возникает необходимость что-то в ней поправить: изменить текст на печатной форме, исправить алгоритм или адаптировать обработку под новый релиз.
Редактируется внешняя обработка только через конфигуратор 1С — открыть .epf-файл блокнотом или другим редактором не получится, это бинарный формат. При этом для внесения изменений не нужно снимать конфигурацию с поддержки и не нужны права на изменение самой конфигурации — достаточно возможности запустить конфигуратор и открыть файл.
Ниже разобран полный цикл работы: от открытия файла до проверки результата, а также типичные ошибки и ограничения, о которых стоит знать до начала правок.
Что понадобится перед началом работы
Для редактирования нужен конфигуратор 1С той же или более новой версии платформы, на которой работает база. Если обработка написана под платформу 8.3, а у вас установлена только 8.2, файл может не открыться или открыться с ошибками. Узнать версию платформы можно через меню «Справка — О программе» в режиме предприятия.
Проверьте права пользователя: для запуска конфигуратора нужны права на администрирование или хотя бы возможность входа в конфигуратор. Для файловых баз достаточно знать путь к каталогу базы, для серверных — параметры подключения к кластеру.
Обязательно сделайте копию исходного .epf-файла перед любыми правками. Если что-то пойдет не так, вы сможете вернуть рабочую версию. Для обработок, которые используются в учете (печатные формы, обмены), это критично: поврежденный файл остановит работу пользователей.
Как открыть внешнюю обработку в конфигураторе
Запустите конфигуратор нужной базы. Важный момент: открывать обработку можно даже не заходя в конкретную базу — достаточно пустого конфигуратора, но удобнее работать в контексте той базы, где обработка будет использоваться, особенно если код обращается к объектам конфигурации.
Дальше порядок такой: меню Файл → Открыть, выберите файл с расширением .epf. Конфигуратор покажет структуру обработки: формы, макеты, модуль объекта. Если вместо структуры появилась ошибка «Нарушена целостность файла» — файл поврежден или создан в несовместимой версии платформы.
- 1Сделайте резервную копию .epf-файла
- 2Запустите конфигуратор нужной базы
- 3Выберите Файл → Открыть и укажите .epf-файл
- 4Дождитесь загрузки структуры: формы, макеты, модули
- 5Проверьте, что обработка открылась без сообщений об ошибках
Если обработка не открывается
Частые причины: файл создан в более новой версии платформы, файл не докопирован или поврежден при передаче, либо это вообще не обработка, а отчет (.erf) — они открываются так же, но имеют другую структуру. Проверьте расширение файла и попробуйте открыть его на компьютере с той версией платформы, на которой работает база.
Структура обработки: где что искать
После открытия вы увидите дерево объектов обработки. Основные элементы, которые чаще всего редактируют:
- Модуль объекта — основной программный код: функции, процедуры, экспортные методы, которые вызываются при подключении обработки к базе.
- Формы — интерфейс обработки и код модулей форм, обрабатывающий действия пользователя.
- Макеты — табличные документы для печатных форм, схемы компоновки данных, двоичные данные (например, встроенные шаблоны).
- Сведения о внешней обработке — функция СведенияОВнешнейОбработке() в модуле объекта, которая описывает название, версию и назначение обработки при подключении через механизм дополнительных отчетов и обработок.
Чтобы понять, где находится нужная логика, используйте глобальный поиск по обработке: Правка → Глобальный поиск или сочетание Ctrl+Shift+F. Например, чтобы найти, где формируется текст на печатной форме, ищите по фрагменту этого текста или по слову «Макет».
Редактирование кода модуля и форм
Код модуля объекта открывается двойным щелчком по корню дерева обработки или через контекстное меню «Открыть модуль объекта». Редактор кода в конфигураторе поддерживает подсветку синтаксиса, контекстную подсказку (Ctrl+Пробел) и переход к определению процедур (F12).
Модуль формы открывается через дерево форм: выберите форму, затем вкладку «Модуль» внизу окна редактора формы. Здесь обычно находятся обработчики команд, события элементов формы и серверные процедуры, обращающиеся к данным.
После правок кода выполните проверку синтаксиса: Конфигурация → Проверка конфигурации с отмеченным пунктом «Внешняя обработка», либо кнопка проверки модуля на панели инструментов редактора. Это позволит найти опечатки и ошибки до сохранения файла.
Если обработка обращается к объектам конфигурации (документам, справочникам), открывайте её в конфигураторе той базы, где она будет работать. Тогда проверка модуля увидит реальные имена объектов и сразу покажет ошибки обращения к переименованным или удаленным реквизитам.
Изменение макетов и печатных форм
Чаще всего внешние обработки редактируют ради печатных форм. Макет открывается двойным щелчком по его имени в дереве. Это табличный документ, похожий на Excel: можно менять текст ячеек, шрифты, границы, добавлять строки.
Ключевое правило: ячейки, в которые код подставляет данные, оформлены как параметры (обычно выделены как [ИмяПараметра]) или как шаблон с текстом вида «[НаименованиеОрганизации]». Не переименовывайте параметры, не меняя код, — иначе данные перестанут выводиться. Имена областей макета (видны слева при выделении строк) тоже связаны с кодом: метод ПолучитьОбласть("Шапка") ищет область с именем «Шапка».
Безопасные правки без изменения кода: корректировка статичного текста, шрифтов, ширины колонок, добавление примечаний в фиксированные ячейки. Всё, что касается параметров и областей, требует согласованных изменений в модуле.
Сохранение и подключение обработки обратно в базу
После правок сохраните файл: Файл → Сохранить (перезапишет исходный файл) или «Сохранить как» под новым именем, если хотите сохранить обе версии. Рекомендуется добавлять версию в имя файла, например «ПечатьСчета_вер2.epf», — так проще откатиться.
Если обработка подключена через стандартный механизм «Дополнительные отчеты и обработки» (Администрирование → Печатные формы, отчеты и обработки), простая замена файла на диске ничего не даст: база хранит её внутри себя. Нужно открыть список дополнительных обработок, найти нужную, нажать «Загрузить из файла» и выбрать обновленный .epf. При этом снимите защиту от опасных действий, если система её запросит, только убедившись, что код вам известен.
Если обработка запускается вручную через Файл → Открыть в режиме предприятия, достаточно заменить сам файл. Уточните у пользователей, откуда они её запускают, чтобы обновить правильную копию.
Как выбрать способ обновления
Проверка результата после редактирования
После подключения обновленной обработки проверьте её работу до передачи пользователям. Минимальная проверка: запустите обработку, выполните основной сценарий (сформируйте печатную форму, запустите обработку данных на тестовом документе) и сравните результат с ожидаемым.
Для обработок, изменяющих данные, сначала выполните пробный запуск на копии базы или на одном тестовом объекте, желательно с включенным режимом «Только просмотр результата», если он предусмотрен. Убедитесь, что изменились только те данные, которые планировались.
Как проверить результат
Открывается форма, нет сообщений об ошибках компиляции
Ошибка «Процедура или функция не обнаружена» — не сохранили модуль или загрузили старый файл
Все параметры заполнены, верстка не съехала
Пустые поля вместо данных — рассинхрон параметров макета и кода
Отображается новая версия из СведенияОВнешнейОбработке
Старая версия — файл не был загружен в базу
Ограничения и альтернативы
Не каждую обработку можно отредактировать. Если файл поставляется с защищенным (паролем) модулем, исходный код будет недоступен — видны только формы и макеты. В этом случае остается обращаться к автору обработки или переписывать функционал заново.
Если правки масштабные и обработка становится частью постоянных процессов, имеет смысл рассмотреть перенос функционала в расширение конфигурации. Расширение надежнее версионируется, обновляется централизованно и не зависит от файлов на диске. Для разовых задач внешняя обработка остается более простым вариантом.
Внешняя обработка или расширение
Подходит для разовых задач, печатных форм, загрузок данных. Не требует изменения конфигурации, но хранится отдельным файлом и сложнее контролируется
Подходит для постоянного функционала. Централизованно обновляется, поддерживает отладку в составе конфигурации, но требует совместимости с релизом
Что важно запомнить
Внешняя обработка редактируется только в конфигураторе: Файл → Открыть → .epf. Перед правками сделайте копию файла, после правок проверьте синтаксис и загрузите обновленную версию в базу через механизм дополнительных обработок. Изменения, затрагивающие данные, проверяйте сначала на копии базы.
Частые вопросы
Можно ли отредактировать внешнюю обработку без конфигуратора?
Нет. Файл .epf — бинарный формат, читаемый только платформой 1С. Текстовые редакторы покажут бессмысленный набор символов и могут повредить файл при сохранении. Единственный штатный инструмент — конфигуратор.
Нужно ли снимать конфигурацию с поддержки для правки внешней обработки?
Нет. Внешняя обработка не входит в состав конфигурации, поэтому её редактирование никак не влияет на поддержку и обновление. Это одно из главных преимуществ внешних обработок перед доработкой конфигурации.
Обновил файл на диске, но в базе работает старая версия. Почему?
Обработки, подключенные через «Дополнительные отчеты и обработки», хранятся внутри базы, а не читаются с диска. Откройте карточку обработки в этом разделе и загрузите новый файл кнопкой «Загрузить из файла».
Что делать, если при открытии обработки ошибка «нарушена целостность файла»?
Файл поврежден при копировании или создан в несовместимой версии платформы. Возьмите исходник заново из надежного источника и попробуйте открыть его в конфигураторе той версии платформы, на которой работает база.
Как изменить название обработки, которое видят пользователи?
Название берется из функции СведенияОВнешнейОбработке() в модуле объекта — параметр «Наименование» в структуре регистрационных данных. Измените его, сохраните файл и заново загрузите обработку в базу, чтобы список обновился.
Безопасно ли загружать обработки из интернета и редактировать их?
Редактировать — да, но перед подключением чужой обработки к рабочей базе просмотрите её код в конфигураторе: обработка может содержать вредоносные действия, например удаление данных или отправку информации наружу. Особое внимание уделяйте методам Удалить(), Записать() и обращениям к внешним ресурсам.