Внешняя обработка в Конфигураторе: открыть, изменить, отладить

· 9 мин

Содержание

Чтобы открыть внешнюю обработку в конфигураторе 1С, запустите любую информационную базу в режиме «Конфигуратор» и выберите Файл → Открыть (или Ctrl+O). В окне выбора укажите файл .epf, и обработка откроется отдельным деревом объектов: реквизиты, табличные части, формы, макеты и модуль.

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

Что подготовить перед открытием обработки в конфигураторе

Для работы с файлом .epf нужны три вещи.

  • 🖥️ Установленная платформа 1С:Предприятие 8.3 с компонентой «1С:Предприятие» (конфигуратор входит в неё). Тонкого клиента без полного дистрибутива недостаточно: режима «Конфигуратор» в нём нет.
  • 🗄️ Любая информационная база, к которой у вас есть доступ в конфигуратор. Подойдёт даже пустая файловая база, созданная за минуту: Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации.
  • 🔑 Права на вход в конфигуратор в этой базе. Если в базе есть пользователи, вход возможен под учётной записью с ролью «Администратор» или аналогичной полной ролью.

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

Версия платформы имеет значение

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

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

Как запустить конфигуратор

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

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

Открытие внешней обработки через меню «Файл»

Это основной и самый надёжный способ.

  1. В конфигураторе нажмите Файл → Открыть или сочетание Ctrl+O.
  2. В поле типа файлов при необходимости выберите «Внешняя обработка» или «Все файлы».
  3. Найдите файл .epf и нажмите «Открыть».
  4. Справа (или поверх основного окна) появится окно обработки с деревом объектов.

Конфигурацию базы открывать через Конфигурация → Открыть конфигурацию не требуется. Окно обработки живёт независимо от неё.

Что вы увидите в дереве обработки

Элемент дереваЧто внутриКак открыть
Корневой объект (имя обработки)Свойства, модуль объектаДвойной щелчок — окно редактирования объекта
РеквизитыПоля обработки и их типыДвойной щелчок по реквизиту — палитра свойств
Табличные частиКолонки табличных частейРаскрыть узел
ФормыУправляемые (и обычные, если есть) формыДвойной щелчок — редактор формы
МакетыПечатные формы, схемы компоновкиДвойной щелчок — редактор макета

Модуль объекта открывается из контекстного меню корня: правый щелчок → Открыть модуль объекта. Модуль формы — внутри редактора формы, на вкладке «Модуль» внизу окна.

Последние открытые файлы

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

Перетаскивание файла и контекстное меню

Drag-and-drop из проводника

Обработку можно просто перетащить мышью из папки в окно конфигуратора. Файл откроется так же, как через Файл → Открыть.

Если перетаскивание не срабатывает, а курсор показывает запрещающий значок, проверьте, от чьего имени запущен конфигуратор. Windows блокирует перетаскивание из обычного проводника в программу, запущенную «от имени администратора». Запустите конфигуратор без повышения прав — и drag-and-drop заработает.

Что даёт контекстное меню

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

В дереве открытой обработки контекстное меню (правый щелчок) даёт основные действия:

  • 📝 открыть модуль объекта;
  • ➕ добавить реквизит , табличную часть, форму или макет;
  • ⚙️ открыть свойства объекта (то же самое — клавиша Alt+Enter);
  • 🔍 найти ссылки на объект внутри обработки.

Создать новую обработку с нуля

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

Внешняя обработка и внешний отчёт: в чём разница

Внешний отчёт открывается в конфигураторе точно так же: Файл → Открыть, только расширение файла — .erf. Дерево объектов почти одинаковое, но назначение разное.

ПризнакВнешняя обработка (.epf)Внешний отчёт (.erf)
НазначениеВыполняет действия: загрузка, заполнение, групповая правка, печатьВыводит данные в табличном виде
ОсноваКод модуля и формыЧаще всего схема компоновки данных
Ключевое свойствоОсновная формаОсновная схема компоновки данных
Типичный примерЗагрузка номенклатуры из ExcelАнализ остатков по складам в своей группировке

У отчёта в свойствах корня есть поле «Основная схема компоновки данных». Открыть схему можно двойным щелчком по макету в узле «Макеты». Отчёт без схемы тоже возможен — тогда вывод собирается кодом в модуле.

Дополнительные обработки в типовых конфигурациях

БП 3.0, ЗУП 3.1, УТ 11 и другие конфигурации на Библиотеке стандартных подсистем умеют подключать внешние файлы как «дополнительные отчёты и обработки». У таких файлов в модуле объекта есть экспортная функция СведенияОВнешнейОбработке(). Она описывает, куда встраивается обработка: печатная форма, заполнение объекта, команда в разделе.

Если открыть такую обработку в конфигураторе и изменить эту функцию с ошибкой, файл перестанет регистрироваться в базе. Правьте её осторожно.

Режимы запуска и отладка кода обработки

Открыть файл — половина дела. Чаще его открывают, чтобы найти ошибку. Для этого нужен отладчик.

Как поставить точку останова и запустить отладку

  1. Откройте обработку в конфигураторе через Файл → Открыть.
  2. Откройте модуль объекта или модуль формы и поставьте точку останова на нужной строке клавишей F9.
  3. Запустите режим отладки: Отладка → Начать отладку или клавиша F5. Откроется 1С:Предприятие, подключённое к отладчику.
  4. В запущенном 1С:Предприятии откройте тот же самый файл через Файл → Открыть (в интерфейсе «Такси» — через главное меню с тремя полосками).
  5. Выполните действие, которое вызывает нужный код. Конфигуратор остановит выполнение на точке останова.

Точки останова срабатывают, только если в 1С:Предприятии открыт тот же файл по тому же пути, что и в конфигураторе. Если вы скопировали обработку в другую папку и открыли копию — отладчик её не увидит.

Какой клиент запускается при отладке

Режим, в котором стартует 1С:Предприятие из конфигуратора, задаётся в Сервис → Параметры на вкладке «Запуск 1С:Предприятия». Там выбирают основной режим: тонкий клиент, толстый клиент или веб-клиент.

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

Отладка серверного кода

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

Полезные клавиши отладчика

КлавишаДействие
F9Поставить или снять точку останова
F5Начать отладку / продолжить выполнение
F11Шагнуть внутрь процедуры
F10Шагнуть через процедуру
Shift+F9Вычислить выражение

В окне «Вычислить выражение» можно проверить значение переменной или результат запроса прямо в момент остановки. Так быстрее, чем расставлять Сообщить() по всему модулю.

Почему обработка не открывается в конфигураторе

Чаще всего проблема не в самом файле, а в окружении. Выберите симптом:

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

Файл, скачанный из интернета

Windows помечает загруженные файлы как полученные с другого компьютера. Иногда из-за этой метки программы отказываются работать с файлом. Откройте свойства файла в проводнике и, если внизу вкладки «Общие» есть флажок «Разблокировать», установите его и нажмите «Применить».

Обработка открылась, но формы пустые

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

Сохранение изменений и безопасность

Как сохранить правки

  • Файл → Сохранить (Ctrl+S) — записывает изменения в тот же файл.
  • Файл → Сохранить как — создаёт копию под новым именем. Удобно, чтобы не испортить исходник.

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

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

Хранение в системе контроля версий

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

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"C:\Bases\Empty" /DumpExternalDataProcessorOrReportToFiles "C:\src\MyProc\MyProc.xml" "C:\work\MyProc.epf"

Обратная сборка выполняется параметром /LoadExternalDataProcessorOrReportFromFiles с теми же двумя путями в обратном порядке: сначала XML-источник, затем итоговый .epf. Номер версии в пути к 1cv8.exe замените на свой.

Почему чужие обработки нужно проверять

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

Перед подключением чужого файла откройте его в конфигураторе и просмотрите:

  • 🔎 модуль объекта и модули форм — нет ли записи или удаления объектов, которых вы не ожидали;
  • 🌐 обращения к интернету и файловой системе (HTTPСоединение, ЗаписьТекста, КомандаСистемы, ЗапуститьПриложение);
  • 🗑️ массовые операции вроде удаления объектов или изменения констант.

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

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

Можно ли открыть обработку, которая встроена в конфигурацию, а не лежит отдельным файлом?
Да, но это уже не внешняя обработка. Откройте конфигурацию через Конфигурация → Открыть конфигурацию и найдите её в ветке «Обработки» дерева метаданных. Чтобы получить отдельный файл, в контекстном меню обработки есть команда сохранения как внешней обработки.
Как достать файл обработки, загруженный в «Дополнительные отчёты и обработки»?
Откройте карточку обработки в базе и выгрузите файл командой выгрузки в файл. Полученный .epf открывайте в конфигураторе обычным способом.
Можно ли открыть .epf без установленной платформы 1С?
Нет. Формат файла закрытый, просмотреть код без конфигуратора или 1С:Enterprise Development Tools не получится. Минимум — установленная платформа и пустая база.
Нужно ли выгонять пользователей из базы, чтобы править внешнюю обработку?
Нет. Внешний файл не меняет конфигурацию базы, монопольный доступ не требуется. Пользователи работают как обычно.
Почему после правки в конфигураторе в базе работает старая версия?
Зарегистрированная дополнительная обработка хранится внутри базы. Её нужно перезагрузить из нового файла в карточке, иначе база продолжит использовать прежнюю копию.