К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как открыть модуль объекта внешней обработки 1С

Пошаговая инструкция: как открыть модуль объекта внешней обработки 1С в конфигураторе, исправить ошибку «Метод объекта не обнаружен» и отладить код.

Внешняя обработка 1С — это файл с расширением .epf, который запускается без изменения конфигурации. У такой обработки есть несколько модулей: модуль объекта, модуль формы, модуль менеджера. Чаще всего разработчику нужен именно модуль объекта — в нём описываются экспортные процедуры и функции, доступные при программном вызове обработки, а также процедуры печати и сведения о внешней обработке для БСП.

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

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

Что такое модуль объекта и чем он отличается от модуля формы

Модуль объекта внешней обработки — это контекст самой обработки как прикладного объекта. В нём размещают экспортные процедуры и функции, которые можно вызвать извне через объект обработки, например при программном создании через ВнешниеОбработки.Создать() или при подключении к механизму дополнительных отчётов и обработок БСП.

Модуль формы, напротив, отвечает за логику интерфейса: обработчики событий элементов, команд формы, чтение и запись реквизитов формы. Код из модуля объекта недоступен напрямую в модуле формы без обращения через объект, и наоборот. Поэтому прежде чем искать «пропавшую» процедуру, убедитесь, что вы смотрите в нужный модуль.

Как открыть внешнюю обработку в конфигураторе

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

Выберите в главном меню пункт Файл — Открыть (или сочетание клавиш Ctrl+O) и укажите файл обработки с расширением .epf. После загрузки появится окно со структурой обработки: корневой узел с именем обработки, ветки «Формы», «Макеты», «Реквизиты».

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

Три способа открыть модуль объекта

Через контекстное меню корневого узла

Самый надёжный способ: щёлкните правой кнопкой мыши по корневому узлу обработки в окне её структуры и выберите «Открыть модуль объекта». Откроется редактор кода с содержимым модуля. Если модуль пуст, вы увидите пустое окно редактора — это нормально для новой обработки.

Через меню «Действия»

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

Через палитру свойств

Откройте палитру свойств корневого узла (правый клик — «Свойства»). В нижней части палитры есть гиперссылки действий, среди которых — открытие модуля объекта. Этот вариант полезен, когда вы одновременно настраиваете свойства обработки: имя, синоним, основную форму.

Как открыть модуль объекта программно созданной обработки

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

Если обработка хранится внутри базы (в справочнике БСП), выгрузите её в файл: откройте элемент справочника и используйте команду выгрузки во внешний файл. После этого файл .epf открывается в конфигураторе описанным выше способом, и модуль объекта становится доступен для просмотра и правки.

Программный вызов экспортной функции модуля объекта выглядит так:

bsl
Обработка = ВнешниеОбработки.Создать("C:\Обработки\МояОбработка.epf", Ложь);
Результат = Обработка.МояЭкспортнаяФункция(Параметр1);

Здесь МояЭкспортнаяФункция должна быть объявлена в модуле объекта с ключевым словом Экспорт. Без него функция останется приватной и вызов завершится ошибкой.

Почему модуль объекта не открывается или метод не обнаружен

Самая частая жалоба — ошибка «Метод объекта не обнаружен» при вызове процедуры обработки. Причины почти всегда одни и те же: процедура объявлена без ключевого слова Экспорт, процедура находится в модуле формы, а не в модуле объекта, либо вызывается устаревшая версия файла обработки, сохранённая по другому пути.

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

Типичные ошибки
01
Процедура объявлена без слова Экспорт — внешний вызов завершается ошибкой «Метод объекта не обнаружен»
02
Код размещён в модуле формы вместо модуля объекта — при программном создании обработки без формы метод недоступен
03
Правится одна копия файла .epf, а в базу загружается другая — изменения «не применяются»
04
Обработка открыта в режиме предприятия, и пользователь ищет редактор кода там, где его нет

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

Как проверить, что вы редактируете нужный модуль

После открытия модуля убедитесь, что это именно модуль объекта: в заголовке окна редактора указывается полное имя модуля, включающее «Объект». Дополнительная проверка — попробуйте объявить тестовую экспортную процедуру и вызвать её из режима предприятия через программное создание обработки.

Контрольные точки

Как проверить результат

Заголовок окна редактора кода
Норма

Указан модуль объекта внешней обработки

Тревожный признак

Указан модуль формы — вы открыли не тот модуль

Вызов экспортной процедуры из предприятия
Норма

Процедура выполняется и возвращает результат

Тревожный признак

Ошибка «Метод объекта не обнаружен» — нет слова Экспорт или неверный файл

Сохранение файла после правки
Норма

Дата изменения файла .epf обновилась

Тревожный признак

Файл не изменился — правка шла в другой копии

Ограничения и меры предосторожности

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

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

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

Итог

Что важно запомнить

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

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

Можно ли открыть модуль объекта в режиме 1С:Предприятие?

Нет. Режим предприятия предназначен для выполнения кода, а не для его редактирования. Просмотр и правка модулей возможны только в конфигураторе. Исключение — внешние инструменты вроде EDT, но они также работают с файлом обработки, а не с запущенным сеансом.

Почему пункт «Открыть модуль объекта» неактивен (серый)?

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

Чем отличается модуль объекта от модуля менеджера обработки?

Модуль менеджера у внешних обработок практически не используется — он актуален для объектов конфигурации (справочников, документов), где содержит код уровня менеджера, не привязанный к конкретному экземпляру. Во внешней обработке вся рабочая логика размещается в модуле объекта и модулях форм.

Как открыть модуль объекта, если обработка хранится внутри базы?

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

Почему после правки модуля изменения не видны в работе обработки?

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