Открываем внешнюю обработку 1С 8.3 для правки кода и форм

· 9 мин

Содержание

Двойной клик по файлу .epf обработку не редактирует — в режиме 1С:Предприятие он просто запускает её форму. Чтобы открыть обработку 1С для редактирования кода и форм, нужен Конфигуратор: только там видно внутреннее дерево объекта — модуль, формы и макеты.

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

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

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

Два режима открытия и чем они различаются

Внешняя обработка (.epf) и внешний отчёт (.erf) открываются одной и той же командой Файл → Открыть, но результат зависит от того, в каком приложении вы её дали.

Где открываетеЧто происходитКогда это нужно
1С:ПредприятиеЗапускается основная форма, обработка выполняетсяПроверить работу, прогнать на данных
КонфигураторОткрывается дерево объекта: модуль, формы, макетыЧитать и править код, менять формы

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

Поэтому первый шаг всегда один: решите, вам посмотреть результат или поправить логику. От этого зависит, какую кнопку нажать в стартовом окне.

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

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

Что проверить до открытия: права и версия платформы

Два условия чаще всего мешают открыть чужую обработку на новом месте.

Версия платформы. Файл, сохранённый на более новой платформе, на старой не откроется. Правило простое: номер вашей платформы должен быть не ниже того, на котором обработку создали. Узнать свой номер можно в стартовом окне или через Справка → О программе.

Права пользователя. Чтобы в режиме 1С:Предприятие выбрать внешний файл через Файл → Открыть, у пользователя должно быть право на интерактивное открытие внешних обработок и отчётов. У администратора оно обычно включено. Если роли ограничены, команда Открыть для .epf будет недоступна либо выдаст отказ в доступе.

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

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

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

Открываем .epf в Конфигураторе по шагам

Порядок действий для платформы 8.3:

  1. Запустите 1С. В стартовом окне выделите нужную базу и нажмите Конфигуратор (не 1С:Предприятие).
  2. Выполните Файл → Открыть или нажмите Ctrl+O.
  3. В окне выбора переключите тип файла на «Внешняя обработка (.epf)» — для отчёта на «Внешний отчёт (.erf)» — и укажите файл.
  4. В открывшемся дереве объекта раскройте нужную ветку: Модуль объекта, группу Формы, Макеты.
  5. Код правьте в модуле объекта или в модулях форм. Форму откройте двойным кликом по ней — запустится редактор формы с реквизитами и элементами.

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

Чтобы не читать большой модуль подряд, пользуйтесь поиском по тексту (Ctrl+F) и списком процедур — он открывается из заголовка окна модуля и позволяет перейти к нужному методу одним кликом. В незнакомой обработке это экономит больше всего времени.

Обработка открывается отдельным окном и к конфигурации базы отношения не имеет. Менять саму конфигурацию, сохранять её (F7) или обновлять базу при этом не требуется — вы работаете только с внешним файлом.

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

Запуск в «Предприятии»: посмотреть работу и отладить

Когда код читать не нужно, а нужно понять, что обработка делает, запустите её в рабочем режиме.

В 1С:Предприятии выполните Файл → Открыть, выберите .epf — откроется основная форма обработки, и вы увидите её интерфейс и результат на реальных данных.

Если поведение непонятно и нужно пройти по коду, подключите отладку:

  1. В Конфигураторе включите отладку в параметрах запуска (пункт «Отладка разрешена»).
  2. Поставьте точки останова в модуле обработки.
  3. Запустите базу в 1С:Предприятии с разрешённой отладкой и откройте обработку.
  4. В Конфигураторе через меню Отладка подключитесь к запущенному сеансу.

После этого выполнение остановится на вашей точке, и вы пройдёте код по шагам, глядя на значения переменных.

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

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

Защищённые модули: когда код не показывается

Иногда обработка открывается, но код не виден. Причин две, и обе законны со стороны автора.

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

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

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

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

Сохранение правок и выгрузка готового файла

Закончили редактировать — сохраните результат обратно в файл.

  • Файл → Сохранить (Ctrl+S) записывает изменения в тот же .epf, из которого вы открыли обработку.
  • Файл → Сохранить как… выгружает обработку под другим именем или в другую папку. Так удобно хранить версии: отчёт_v1.epf, отчёт_v2.epf. После этой команды открытое окно начинает указывать на новый файл, поэтому дальнейшие Ctrl+S пишут уже туда — следите, с каким файлом работаете.

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

Как сделать правленую обработку доступной в базе

Сохранённый .epf — это просто файл. Чтобы правки увидели пользователи, обработку нужно либо снова открыть у них вручную, либо подключить к базе через механизм дополнительных отчётов и обработок.

В типовых конфигурациях на 8.3 этот механизм живёт в разделе Администрирование → Печатные формы, отчёты и обработки (название подраздела в разных конфигурациях чуть отличается). Логика такая:

  1. Включите использование дополнительных обработок, если оно выключено.
  2. Откройте список дополнительных обработок и добавьте новую либо найдите уже подключённую.
  3. В карточке обработки загрузите файл .epf из папки.
  4. Укажите, кому она доступна и в каких разделах показывается.

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

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

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

Ошибки при открытии и как их снять

Самые частые проблемы при открытии обработки и их причины:

Диагностика: выберите симптом

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

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

Чем отличается .epf от .erf?
.epf — внешняя обработка, .erf — внешний отчёт. Открываются одинаково, но в окне выбора файла это разные типы, их легко перепутать и не увидеть нужный файл.
Нужны ли права администратора, чтобы открыть обработку?
Чтобы редактировать в Конфигураторе — да, нужен доступ к конфигуратору, а он есть у администратора. Чтобы просто запустить обработку в Предприятии, достаточно права на интерактивное открытие внешних обработок.
Можно ли отредактировать обработку в тонком или веб-клиенте?
Нет. Запустить её там можно, а править код и формы — только в Конфигураторе. Редактора модулей в клиентских режимах нет.
Нужен ли монопольный доступ к базе?
Нет. Внешняя обработка не часть конфигурации, поэтому открывать и править её можно, пока в базе работают другие пользователи.
Как снять пароль со своей обработки?
Откройте модуль в Конфигураторе, в его свойствах найдите установленную защиту и уберите пароль, зная его. Без пароля код недоступен даже владельцу.