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

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

Как подключить обработку к документу 1С

Как подключить внешнюю обработку к документу 1С: регистрация в дополнительных отчетах и обработках, назначение команд, работа с объектами и проверка результата.

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

Для подключения используется встроенный механизм «Дополнительные отчеты и обработки», который входит в состав Библиотеки стандартных подсистем (БСП) и присутствует практически во всех современных типовых конфигурациях: «Управление торговлей», «Бухгалтерия предприятия», «ERP», «Зарплата и управление персоналом». Обработка регистрируется в справочнике, привязывается к конкретному виду документов и становится доступна пользователям через кнопку в форме документа или списка.

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

Что понадобится перед подключением

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

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

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

Включение механизма дополнительных обработок

В большинстве типовых конфигураций механизм уже включён, но если раздел «Дополнительные отчеты и обработки» не отображается, проверьте настройку. Откройте «Администрирование → Печатные формы, отчеты и обработки» и установите флаг «Дополнительные отчеты и обработки». После этого в том же разделе появится одноимённая ссылка на справочник.

В некоторых интерфейсах (например, в «Бухгалтерии предприятия» с включённым простым интерфейсом) раздел может быть скрыт. Тогда откройте справочник напрямую через команду «Все функции → Справочники → Дополнительные отчеты и обработки». Режим «Все функции» включается в параметрах сеанса.

Загрузка файла обработки в справочник

Откройте справочник «Дополнительные отчеты и обработки» и нажмите «Добавить из файла» (или «Создать → Загрузить из файла» — формулировка зависит от версии БСП). Укажите путь к файлу .epf. Система прочитает функцию СведенияОВнешнейОбработке() и автоматически заполнит поля карточки: наименование, вид обработки, версию, информацию о безопасном режиме.

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

Порядок действий
  1. 1
    Откройте Администрирование → Печатные формы, отчеты и обработки и включите флаг «Дополнительные отчеты и обработки»
  2. 2
    Перейдите в справочник «Дополнительные отчеты и обработки» и нажмите «Добавить из файла»
  3. 3
    Выберите файл .epf и дождитесь заполнения карточки сведениями из обработки
  4. 4
    В табличной части «Принадлежность» укажите вид документа, к которому подключается обработка
  5. 5
    Запишите карточку и при необходимости настройте быстрый доступ для пользователей
  6. 6
    Откройте документ нужного вида и проверьте наличие команды в меню «Ещё → Дополнительные обработки» или на панели заполнения

Привязка обработки к виду документа

Ключевой шаг — табличная часть «Принадлежность» (в некоторых версиях — «Назначение») в карточке дополнительной обработки. Именно здесь указывается, к каким объектам метаданных относится обработка. Добавьте строку и выберите нужный вид документа, например «Реализация товаров и услуг» или «Поступление товаров и услуг».

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

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

Настройка команд и быстрого доступа

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

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

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

Проверка работы на документе

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

Если обработка изменяет данные документа, проверьте поведение на записанном и на проведённом документе отдельно. Некоторые обработки корректно работают только с непроведёнными объектами; попытка изменить проведённый документ может завершиться ошибкой записи из-за контроля остатков или запрета изменения данных по дате запрета редактирования.

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

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

Команда в форме документа
Норма

Команда видна в ожидаемом меню и доступна для нажатия

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

Команды нет ни в одном меню — проверьте «Принадлежность», публикацию и быстрый доступ

Выполнение команды
Норма

Обработка отрабатывает без сообщений об ошибках, данные изменяются как задумано

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

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

Запись документа после обработки
Норма

Документ записывается и проводится штатно

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

Ошибка записи — обработка заполнила данные, нарушающие контроль, либо сработала дата запрета изменения

Типичные ошибки и их устранение

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

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

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

Типичные ошибки
01
Загрузка обработки без функции СведенияОВнешнейОбработке — файл регистрируется, но не может работать с объектами
02
Пустая табличная часть «Принадлежность» — команда не появляется ни в одном документе
03
Подключение обработки к виду документа, под который она не написана — ошибки «Поле объекта не обнаружено» при выполнении
04
Забытый режим отладки — пользователи не видят обработку, а разработчик считает, что всё подключено
05
Тестирование только на непроведённых документах — ошибки записи всплывают позже на проведённых

Ограничения и альтернативные способы

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

Ещё одно ограничение — тонкий и веб-клиент. Обработки с клиентскими вызовами (выбор файлов, работа с COM-объектами) могут не работать в веб-клиенте или требовать установки расширения работы с файлами. Если пользователи работают через браузер, проверяйте обработку именно в веб-клиенте.

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

Сравнение вариантов

Внешняя обработка (.epf)

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

Расширение конфигурации (.cfe)

Подходит для постоянных доработок: изменение форм, подписки на события, новые команды интерфейса. Требует аккуратной проверки совместимости при обновлении.

Доработка конфигурации

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

Ответы на частые вопросы

Можно ли подключить одну обработку сразу к нескольким видам документов?

Да. Добавьте несколько строк в табличную часть «Принадлежность» карточки обработки. Обработка получит на вход ссылку на объект и должна корректно обрабатывать каждый из перечисленных видов. Если логика рассчитана на конкретные реквизиты одного документа, при выполнении на другом виде возникнет ошибка — проверьте код или ограничьте назначение.

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

Наиболее вероятные причины: обработка находится в режиме отладки (её видит только загрузивший), пользователю не предоставлен быстрый доступ в карточке обработки либо у него нет права «Использование дополнительных отчетов и обработок». Проверьте эти три пункта в указанном порядке.

Что произойдёт с подключённой обработкой при обновлении конфигурации?

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

Можно ли подключить обработку, если конфигурация полностью самописная, без БСП?

Штатного справочника «Дополнительные отчеты и обработки» в конфигурации без БСП нет. Варианты: открывать обработку вручную через «Файл → Открыть», добавить в конфигурацию кнопку запуска внешней обработки по фиксированному пути либо внедрить подсистему дополнительных отчетов и обработок из БСП.

Обработка выдаёт ошибку «Метод объекта не обнаружен: ВыполнитьКоманду». Что делать?

Это значит, что в модуле объекта обработки отсутствует экспортная процедура ВыполнитьКоманду, которую вызывает механизм БСП. Файл написан не под интерфейс дополнительных обработок. Нужно либо доработать код, добавив требуемые экспортные процедуры и функцию СведенияОВнешнейОбработке, либо запросить у разработчика версию, адаптированную под БСП.

Работает ли подключённая обработка в веб-клиенте?

Серверные команды (заполнение данных, формирование печатной формы на сервере) работают и в веб-клиенте. Проблемы возникают с клиентскими операциями: выбор файлов, работа с COM-объектами, модальные окна. Если пользователи работают через браузер, тестируйте обработку именно там, а не только в тонком клиенте.

Итог

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

Обработка подключается к документу через справочник «Дополнительные отчеты и обработки»: загрузите файл .epf, заполните «Принадлежность» нужным видом документа, проверьте публикацию и быстрый доступ. Файл должен быть написан под интерфейс БСП, иначе работа с объектами невозможна. Перед использованием в рабочей базе проверьте обработку на копии и на тестовом документе.