Внешняя обработка .epf: открыть разово, подключить навсегда, запускать по расписанию

· 10 мин

Содержание

Чтобы запустить обработку EPF в 1С 8.3 один раз, откройте главное меню программы (кнопка с тремя полосками в левом верхнем углу окна), выберите Файл → Открыть или нажмите Ctrl+O и укажите файл .epf. Обработка откроется в отдельном окне, если у пользователя есть право на открытие внешних обработок и он подтвердил предупреждение безопасности.

Для регулярной работы файл лучше не открывать вручную, а подключить через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Так он хранится в базе, запускается кнопкой из нужного раздела или документа и не зависит от того, где лежит файл на диске. Порядок ниже одинаков для типовых конфигураций на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА и ERP.

1. Что проверить до запуска внешней обработки

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

📋 Что должно совпасть:

  • 🔑 Право на интерактивное открытие. В типовых конфигурациях его дают роль «Интерактивное открытие внешних отчетов и обработок» или полные права. Обычным пользователям она по умолчанию не выдана.
  • 🖥️ Тип клиента. Тонкий клиент и веб-клиент открывают только управляемые формы. Обработка, написанная под обычное приложение, в них не покажет форму.
  • 🧩 Совместимость с конфигурацией. Обработка обращается к справочникам и регистрам конкретной базы. Файл, сделанный для УТ 11, в Бухгалтерии упадёт на первой же ссылке на отсутствующий объект.
  • 📦 Версия платформы. Файл, сохранённый в Конфигураторе более новой платформы, может не открыться на старой. Номер версии вашей платформы смотрите в меню Справка → О программе.

Как выдать право в типовой конфигурации

Права выдаёт администратор базы. В конфигурациях на БСП это делают через группы доступа:

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

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

2. Разовый запуск файла .epf через меню «Файл»

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

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

Внешний отчёт (.erf) открывается точно так же. Разница только в назначении: отчёт формирует табличный документ, обработка что-то меняет или выгружает.

Предупреждение безопасности и защита от опасных действий

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

Отключить его можно двумя способами:

ГдеЧто сделатьКогда уместно
Свойства пользователя в КонфигуратореАдминистрирование → Пользователи, открыть пользователя, снять флажок «Защита от опасных действий»Администратор или разработчик, который постоянно запускает свои обработки
Файл conf.cfg на компьютереДобавить параметр DisableUnsafeActionProtection с маской строки соединения базыТестовые и учебные базы на машине разработчика

Пример строки в conf.cfg, которая снимает защиту для всех файловых баз в папке D:\Test:

DisableUnsafeActionProtection=.*D:\\Test.*

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

3. Как подключить внешнюю обработку к базе навсегда

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

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

Порядок регистрации:

  1. Перейдите в список «Дополнительные отчеты и обработки» и нажмите «Добавить из файла».
  2. Подтвердите предупреждение безопасности и выберите файл .epf или .erf.
  3. Программа прочитает сведения, которые разработчик заложил в обработку: вид, версию, список команд.
  4. На закладке команд укажите размещение — в каком разделе появится команда (например, «Продажи» или «Зарплата»).
  5. Укажите, каким пользователям доступна команда, если в карточке есть такая настройка.
  6. Нажмите «Записать и закрыть».

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

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

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

Почему файл не регистрируется

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

Такой файл можно открыть только через Файл → Открыть. Чтобы зарегистрировать его, разработчик должен добавить функцию сведений.

4. Кнопка запуска обработки в форме документа

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

Для печатных форм, заполнения и связанных объектов это делается при регистрации:

  1. Откройте карточку дополнительной обработки.
  2. На закладке назначения (принадлежности) добавьте объекты, к которым она относится: например, «Реализация (акты, накладные, УПД)».
  3. Запишите карточку.
  4. Закройте и заново откройте форму документа. Команда появится в соответствующем меню: «Печать», «Заполнить» или «Создать на основании».

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

Если нужна отдельная кнопка на панели формы

Типовые механизмы БСП размещают команды только в стандартных подменю. Отдельную кнопку на командной панели или внутри формы добавляют через расширение конфигурации (появились в платформе 8.3.6):

  • в Конфигураторе создают расширение и заимствуют в него форму документа;
  • добавляют команду формы и кнопку на панель;
  • в обработчике команды открывают зарегистрированную обработку или выполняют нужный код;
  • загружают расширение в базу через Администрирование → Печатные формы, отчеты и обработки → Расширения.

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

5. Почему не запускается обработка EPF: ошибки и решения

Ниже — ситуации, с которыми чаще всего сталкиваются при открытии внешних файлов. Выберите свой симптом.

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

Безопасный режим зарегистрированных обработок

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

Многим обработкам загрузки это мешает: они читают Excel или пишут выгрузку в папку. Снимайте флажок только для файлов от проверенного разработчика. В клиент-серверных базах с профилями безопасности дополнительно потребуется разрешение на использование внешних ресурсов — его запрашивает сама программа.

6. Запуск обработки 1С из командной строки

Обработку можно открыть автоматически сразу после старта программы. Для этого у 1cv8.exe есть параметр /Execute. Так делают ночные выгрузки, регулярные загрузки курсов или обмен с сайтом.

Файловая база:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Robot" /P"Pa$$w0rd" /Execute"D:\Scripts\vygruzka.epf" /DisableStartupMessages

Клиент-серверная база:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /N"Robot" /P"Pa$$w0rd" /Execute"D:\Scripts\vygruzka.epf" /C"auto"

Что здесь важно:

  • /Execute — путь к файлу обработки, которая откроется после запуска.
  • /C — строка параметра. Внутри обработки её читают через ПараметрЗапуска и по значению auto выполняют действия без участия человека.
  • /DisableStartupMessages — подавляет стартовые предупреждения, которые иначе остановят сценарий.
  • Путь к 1cv8.exe подставьте свой: номер версии в папке у вас другой.

Чтобы обработка отработала и сама закрыла программу, в её форме при открытии проверяют параметр, выполняют код и вызывают ЗавершитьРаботуСистемы(Ложь). Пример обработчика формы:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Если ПараметрЗапуска = "auto" Тогда
		ВыполнитьВыгрузкуНаСервере();
		ЗавершитьРаботуСистемы(Ложь);
	КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ВыполнитьВыгрузкуНаСервере()
	РеквизитФормыВЗначение("Объект").ВыполнитьВыгрузку();
КонецПроцедуры

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

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

Альтернатива — регламентное задание

В клиент-серверной базе надёжнее запускать код не через ярлык, а регламентным заданием на сервере. Для этого в функции сведений обработки разработчик объявляет команду с вызовом серверного метода. После регистрации у такой команды в карточке можно задать расписание. Ни открытая сессия, ни пароль в файле при этом не нужны.

7. Проверка внешней обработки перед запуском в рабочей базе

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

Проверка файла перед запуском в рабочей базе
Выполнено: 0 / 6

Как посмотреть код, не запуская обработку:

  1. Откройте Конфигуратор любой базы.
  2. Выберите Файл → Открыть и укажите файл .epf.
  3. В дереве обработки откройте модуль объекта и модули форм.
  4. Ищите по тексту: Удалить, Записать, COMОбъект, ЗапуститьПриложение, HTTPСоединение, FTPСоединение.

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

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

Частые вопросы о внешних обработках

Чем внешняя обработка отличается от встроенной?
Встроенная обработка — часть конфигурации и обновляется вместе с ней. Внешняя хранится в отдельном файле .epf или в справочнике дополнительных обработок и не меняет конфигурацию.
Можно ли запустить обработку EPF в веб-клиенте?
Да, если у неё управляемая форма. Файл выбирают через тот же Файл → Открыть, браузер загружает его на сервер. Обработки с обычными формами в веб-клиенте не работают.
Нужно ли снимать конфигурацию с поддержки, чтобы подключить обработку?
Нет. Внешние обработки и регистрация в справочнике дополнительных обработок не меняют конфигурацию, поддержка сохраняется.
Как обновить уже зарегистрированную обработку?
Откройте её карточку и загрузите новый файл командой загрузки из файла в карточке. Настройки размещения и пользователей сохранятся, если разработчик не поменял список команд.
Почему обработка работает у администратора и не работает у бухгалтера?
У администратора полные права, у бухгалтера их нет. Проверьте роль на открытие внешних обработок и права на объекты, которые обработка читает или меняет.