Запуск внешних и встроенных обработок в 1С 8.3

· 9 мин

Содержание

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

Если права нет или обработку нужно запускать регулярно, подойдут другие способы: подключить её как дополнительную обработку через подсистему БСП, вызвать из встроенного языка, передать платформе ключом /Execute при старте или поставить в расширение конфигурации . Ниже — каждый способ с точными путями меню и примерами кода. Всё описано для платформы 8.3 с интерфейсом «Такси».

Что такое обработка и чем она отличается от отчёта

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

Обработки бывают двух видов:

  • 🧩 Встроенные — часть конфигурации. Они уже внутри базы, их видно в разделах интерфейса или вызывают из кода.
  • 📎 Внешние — отдельный файл .epf на диске. Их подключают к базе без изменения конфигурации, что удобно для разовых задач и для обмена между коллегами.

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

Какой способ запуска выбрать?

Способ 1. Открыть внешнюю обработку из режима «1С:Предприятие»

Это основной способ для файла .epf.

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

Форма обработки откроется как обычное окно. Дальше работаете с её кнопками — «Загрузить», «Выполнить», «Сформировать» и так далее, в зависимости от того, что в неё заложил разработчик.

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

💡 Внешние обработки запускают только из проверенных источников. Файл .epf содержит исполняемый код и в теории может навредить базе. Чужой файл сначала покажите своему 1С-нику.

Способ 2. Подключить как дополнительную обработку (механизм БСП)

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

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

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

Этот путь стабилен в БП 3.0, ЗУП 3.1 и УТ 11. Название верхнего раздела (Администрирование) одинаково, пункт внутри может называться немного иначе в зависимости от релиза — ориентируйтесь на слова «Печатные формы, отчёты и обработки».

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

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

Способ 3. Запустить обработку через конфигуратор

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

Внешнюю обработку открывают так:

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

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

Встроенную обработку (которая уже в конфигурации) в режиме «1С:Предприятие» видно только если разработчик добавил её в командный интерфейс какой-либо подсистемы и назначил права. Если обработки нет ни в одном разделе, добавьте её в состав подсистемы в дереве конфигурации и настройте видимость команды для нужных ролей.

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

Способ 4. Вызвать обработку из встроенного языка

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

Внешнюю обработку создают объектом ВнешниеОбработки:

ВнешняяОбработка = ВнешниеОбработки.Создать("C:\Обработки\Загрузка.epf");
ВнешняяОбработка.ПолучитьФорму().Открыть();

Если нужно не открывать форму, а сразу выполнить экспортную процедуру из модуля объекта обработки:

ВнешняяОбработка = ВнешниеОбработки.Создать("C:\Обработки\Загрузка.epf");
ВнешняяОбработка.ВыполнитьЗагрузку();

Процедура ВыполнитьЗагрузку() должна быть объявлена в модуле обработки с ключевым словом Экспорт — иначе снаружи она не видна.

Встроенную обработку вызывают через менеджер Обработки:

Обработки.ЗагрузкаДанных.ПолучитьФорму().Открыть();

💡 Второй параметр метода Создать отвечает за безопасный режим. В безопасном режиме обработке запрещены привилегированные операции и обращение к файловой системе напрямую. Для кода, который работает с непроверенными файлами, безопасный режим включают явно.

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

Способ 5. Запустить обработку из командной строки при старте

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

Общий вид команды для файловой базы:

"C:\Program Files\1cv8\8.3.24.1368\bin\1cv8.exe" ENTERPRISE /F"C:\Bases\Buh" /N"Администратор" /P"пароль" /Execute"C:\Обработки\Выгрузка.epf" /C"ПараметрЗапуска"

Что означают ключи:

КлючНазначение
ENTERPRISEзапуск в режиме «1С:Предприятие»
/Fпуть к файловой базе (для серверной — /S"сервер\база")
/N и /Pимя пользователя и пароль
/Executeпуть к внешней обработке, которую нужно выполнить
/Cстрока параметров, доступная в коде как ПараметрЗапуска

При запуске платформа откроет базу под указанным пользователем и выполнит обработку. Строку из /C обработка читает свойством ПараметрЗапуска — так в неё передают, например, дату периода или имя файла.

Для серверной базы путь к инфобазе указывают ключом /S вместо /F:

"C:\Program Files\1cv8\8.3.24.1368\bin\1cv8.exe" ENTERPRISE /S"srv-1c\Buh" /N"Робот" /P"пароль" /Execute"C:\Обработки\Выгрузка.epf"

Готовую команду сохраняют в .bat-файл и ставят в «Планировщик заданий» Windows на нужное время. Для серверной базы такой запуск чаще поручают регламентному заданию внутри самой 1С, а не внешнему планировщику: регламентное задание работает под учётной записью сервера, не держит открытый сеанс и само пишет историю выполнения, по которой видно, прошла обработка или упала с ошибкой.

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

Для автоматического запуска нужна отдельная учётная запись с паролем и минимальными правами. Не прописывайте в .bat пароль администратора — файл хранится открытым текстом.

Способ 6. Разместить обработку в расширении конфигурации

Расширения конфигурации появились в платформе 8.3.6. Они позволяют добавить обработку в базу, не трогая типовую конфигурацию : при обновлении 1С ваша доработка не слетит и не вызовет конфликт.

Порядок такой:

  1. В конфигураторе откройте Конфигурация → Расширения конфигурации.
  2. Создайте расширение или загрузите готовый файл .cfe.
  3. Добавьте в расширение объект-обработку и разместите её в подсистеме, чтобы она появилась в интерфейсе.
  4. Выполните Обновить конфигурацию базы данных (F7).

Загрузка файла расширения и обновление конфигурации базы данных — два отдельных шага. Пока вы не нажали «Обновить конфигурацию базы данных», расширение в базе ещё не действует.

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

Частые ошибки при запуске обработки и что с ними делать

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

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

Чем отличается обработка от внешнего отчёта?
Отчёт только выводит данные на экран или в файл и ничего не меняет в базе. Обработка выполняет действие: загружает, корректирует, выгружает. Внешний отчёт имеет расширение .erf, внешняя обработка — .epf.
Можно ли запустить внешнюю обработку в базовой версии 1С?
В базовых версиях открытие внешних обработок, как правило, ограничено, а расширения недоступны. Конкретные ограничения зависят от конфигурации — уточните у поставщика базы, прежде чем рассчитывать на внешний файл.
Как передать в обработку параметры при запуске из командной строки?
Через ключ /C"строка". Внутри обработки эта строка доступна свойством ПараметрЗапуска. В неё обычно кладут дату, период или путь к файлу, которые обработка разбирает в начале выполнения.
Нужны ли права администратора, чтобы открыть обработку?
Нет. Достаточно права на открытие внешних обработок, его можно выдать обычному пользователю через профиль группы доступа. Полные права администратора для открытия .epf не требуются.
Почему обработка от другой организации не работает в моей базе?
Обработка пишется под конкретную конфигурацию и обращается к её объектам — справочникам, документам, регистрам. Если в вашей базе структура другая, обработка выдаст ошибку. Нужна версия под вашу конфигурацию и релиз.