Открываем внешнюю обработку 1С 8.3 для правки кода и форм
Содержание
Двойной клик по файлу .epf обработку не редактирует — в режиме 1С:Предприятие он просто запускает её форму. Чтобы открыть обработку 1С для редактирования кода и форм, нужен Конфигуратор: только там видно внутреннее дерево объекта — модуль, формы и макеты.
Ниже — оба режима открытия, права, без которых файл не дадут выбрать, работа с защищёнными модулями, сохранение правок, подключение обработки к базе и разбор ошибок. Всё для платформы 8.3, тонкий и толстый клиент.
Речь именно о внешних обработках и отчётах — отдельных файлах .epf и .erf, которые существуют вне конфигурации. Встроенные обработки конфигурации редактируются иначе — через саму конфигурацию в режиме её поддержки, и это другая история.
Сразу снимем частый миф: монопольный доступ к базе для этого не нужен. Внешняя обработка не входит в конфигурацию, поэтому править её можно, когда в базе работают другие пользователи.
Два режима открытия и чем они различаются
Внешняя обработка (.epf) и внешний отчёт (.erf) открываются одной и той же командой Файл → Открыть, но результат зависит от того, в каком приложении вы её дали.
| Где открываете | Что происходит | Когда это нужно |
|---|---|---|
1С:Предприятие | Запускается основная форма, обработка выполняется | Проверить работу, прогнать на данных |
Конфигуратор | Открывается дерево объекта: модуль, формы, макеты | Читать и править код, менять формы |
Запомните разницу так: в Предприятии обработку используют, в Конфигураторе её редактируют. Код в режиме Предприятие недоступен — там нет редактора модулей.
Поэтому первый шаг всегда один: решите, вам посмотреть результат или поправить логику. От этого зависит, какую кнопку нажать в стартовом окне.
Тип клиента — тонкий, толстый или веб — на редактирование не влияет. Код правится только в Конфигураторе, а это отдельное приложение среды разработки, одно на все режимы запуска. В самих клиентах обработку можно лишь запустить.
Внутри обработки код лежит не в одном месте. Логика объекта — в модуле объекта, поведение интерфейса — в модулях форм, вспомогательные процедуры — в модуле менеджера. Когда ищете нужную процедуру, сначала прикиньте, к чему она относится: к данным или к кнопке на форме.
Что проверить до открытия: права и версия платформы
Два условия чаще всего мешают открыть чужую обработку на новом месте.
Версия платформы. Файл, сохранённый на более новой платформе, на старой не откроется. Правило простое: номер вашей платформы должен быть не ниже того, на котором обработку создали. Узнать свой номер можно в стартовом окне или через Справка → О программе.
Права пользователя. Чтобы в режиме 1С:Предприятие выбрать внешний файл через Файл → Открыть, у пользователя должно быть право на интерактивное открытие внешних обработок и отчётов. У администратора оно обычно включено. Если роли ограничены, команда Открыть для .epf будет недоступна либо выдаст отказ в доступе.
Право проверяется и выдаётся в Конфигураторе: откройте роль пользователя и найдите в списке прав пункты про интерактивное открытие внешних обработок и внешних отчётов.
Для работы в самом Конфигураторе нужен доступ к конфигуратору — это отдельное право, оно есть у администратора базы. Рядовому пользователю его, как правило, не дают, и это нормально: править код в рабочей базе должен ограниченный круг людей.
Ограничения на стороне сервера. В клиент-серверной базе открытие внешних обработок может быть запрещено профилем безопасности на кластере. Тогда право у пользователя вроде есть, но платформа всё равно не даёт выбрать файл . Снимается это только администратором кластера — через консоль администрирования, а не настройками пользователя. В файловой базе такого ограничения нет.
Открываем .epf в Конфигураторе по шагам
Порядок действий для платформы 8.3:
- Запустите 1С. В стартовом окне выделите нужную базу и нажмите
Конфигуратор(не1С:Предприятие). - Выполните
Файл → Открытьили нажмитеCtrl+O. - В окне выбора переключите тип файла на «Внешняя обработка (.epf)» — для отчёта на «Внешний отчёт (.erf)» — и укажите файл.
- В открывшемся дереве объекта раскройте нужную ветку:
Модуль объекта, группуФормы,Макеты. - Код правьте в модуле объекта или в модулях форм. Форму откройте двойным кликом по ней — запустится редактор формы с реквизитами и элементами.
При открытии внешнего файла платформа может показать предупреждение безопасности: внешний код способен обращаться к данным и диску, поэтому система просит подтвердить, что источнику вы доверяете. Для своей или проверенной обработки подтверждайте; незнакомый файл из непонятного источника лучше сначала изучить на тестовой базе.
Чтобы не читать большой модуль подряд, пользуйтесь поиском по тексту (Ctrl+F) и списком процедур — он открывается из заголовка окна модуля и позволяет перейти к нужному методу одним кликом. В незнакомой обработке это экономит больше всего времени.
Обработка открывается отдельным окном и к конфигурации базы отношения не имеет. Менять саму конфигурацию, сохранять её (F7) или обновлять базу при этом не требуется — вы работаете только с внешним файлом.
Если открываете рабочую обработку, которую кто-то использует, помните: ваши правки попадут в файл, а не в базу. Пользователи получат изменения только после того, как вы раздадите им новый .epf.
Запуск в «Предприятии»: посмотреть работу и отладить
Когда код читать не нужно, а нужно понять, что обработка делает, запустите её в рабочем режиме.
В 1С:Предприятии выполните Файл → Открыть, выберите .epf — откроется основная форма обработки, и вы увидите её интерфейс и результат на реальных данных.
Если поведение непонятно и нужно пройти по коду, подключите отладку:
- В
Конфигураторевключите отладку в параметрах запуска (пункт «Отладка разрешена»). - Поставьте точки останова в модуле обработки.
- Запустите базу в
1С:Предприятиис разрешённой отладкой и откройте обработку. - В
Конфигураторечерез менюОтладкаподключитесь к запущенному сеансу.
После этого выполнение остановится на вашей точке, и вы пройдёте код по шагам, глядя на значения переменных.
В остановленном сеансе доступны привычные инструменты: табло для слежения за переменными, окно «Вычислить выражение» для проверки произвольной формулы прямо в текущем контексте и стек вызовов, по которому видно, из какой процедуры пришло управление. Этого хватает, чтобы понять логику незнакомой обработки, не читая весь модуль подряд.
Отладку на рабочей базе включайте осознанно: остановка на точке прерывания подвесит сеанс до тех пор, пока вы не продолжите выполнение. На живых данных это может задеть других пользователей — лучше отлаживать на копии базы.
Защищённые модули: когда код не показывается
Иногда обработка открывается, но код не виден. Причин две, и обе законны со стороны автора.
Пароль на модуль. В свойствах модуля можно задать пароль. Без него текст не отображается — платформа сообщает, что модуль защищён. Если это ваша обработка и пароль вы знаете, снимите защиту там же, в свойствах модуля.
Поставочная защита. Обработку можно собрать без исходного кода — специально, чтобы её нельзя было изменить. Такой файл нормально запускается в Предприятии, но в Конфигураторе его модули не редактируются. Это задумано поставщиком, а не ошибка. Так же защищаются и внешние отчёты .erf — для них правила ровно те же.
Отличить одно от другого просто. Если обработка открылась, дерево объекта видно, а код закрыт только в отдельных модулях — это пароль. Если код недоступен целиком и Конфигуратор не даёт зайти в модули совсем — обработка поставлена без исходников.
Подбирать пароль или вскрывать защиту чужой обработки — незаконно, и рабочих способов обхода здесь нет. Если вам нужен исходный код защищённой обработки, единственный правильный путь — запросить его у автора или поставщика. Часто разработчики отдают открытую версию по договору сопровождения.
Сохранение правок и выгрузка готового файла
Закончили редактировать — сохраните результат обратно в файл.
Файл → Сохранить(Ctrl+S) записывает изменения в тот же.epf, из которого вы открыли обработку.Файл → Сохранить как…выгружает обработку под другим именем или в другую папку. Так удобно хранить версии:отчёт_v1.epf,отчёт_v2.epf. После этой команды открытое окно начинает указывать на новый файл, поэтому дальнейшиеCtrl+Sпишут уже туда — следите, с каким файлом работаете.
Перед правкой рабочей обработки сделайте копию исходного файла. Если что-то сломается, вы вернётесь к рабочему варианту за секунду, не восстанавливая всё заново.
Как сделать правленую обработку доступной в базе
Сохранённый .epf — это просто файл. Чтобы правки увидели пользователи, обработку нужно либо снова открыть у них вручную, либо подключить к базе через механизм дополнительных отчётов и обработок.
В типовых конфигурациях на 8.3 этот механизм живёт в разделе Администрирование → Печатные формы, отчёты и обработки (название подраздела в разных конфигурациях чуть отличается). Логика такая:
- Включите использование дополнительных обработок, если оно выключено.
- Откройте список дополнительных обработок и добавьте новую либо найдите уже подключённую.
- В карточке обработки загрузите файл
.epfиз папки. - Укажите, кому она доступна и в каких разделах показывается.
При подключении конфигурация сама определит, как обработку вызывать: как отдельную команду в списке, как дополнительную печатную форму документа или как заполнение. От этого зависит, где кнопка появится у пользователя, поэтому проверьте назначение в карточке, прежде чем раздавать доступ.
Когда позже вы поправите обработку, одного сохранения файла мало: вернитесь в эту карточку и загрузите обновлённый .epf заново. Иначе в базе останется старая версия, и пользователи не заметят изменений.
Храните подключаемые обработки в одной сетевой папке и держите имена без номеров версий в конце. Тогда при обновлении вы перезаписываете один и тот же файл, а в базе достаточно загрузить его повторно.
Ошибки при открытии и как их снять
Самые частые проблемы при открытии обработки и их причины:
.erf (отчёт) в режиме выбора .epf или наоборот: переключите тип файла.1С:Предприятие. Закройте, зайдите в Конфигуратор и откройте оттуда.Если после обновления платформы файл всё равно не читается, а копий нет, обработка может быть повреждена — её придётся получать у автора заново.
Частые вопросы
Чем отличается .epf от .erf?
.epf — внешняя обработка, .erf — внешний отчёт. Открываются одинаково, но в окне выбора файла это разные типы, их легко перепутать и не увидеть нужный файл.Нужны ли права администратора, чтобы открыть обработку?
Конфигураторе — да, нужен доступ к конфигуратору, а он есть у администратора. Чтобы просто запустить обработку в Предприятии, достаточно права на интерактивное открытие внешних обработок.Можно ли отредактировать обработку в тонком или веб-клиенте?
Конфигураторе. Редактора модулей в клиентских режимах нет.Нужен ли монопольный доступ к базе?
Как снять пароль со своей обработки?
Конфигураторе, в его свойствах найдите установленную защиту и уберите пароль, зная его. Без пароля код недоступен даже владельцу.