Внешняя обработка .epf: открыть разово, подключить навсегда, запускать по расписанию
Содержание
Чтобы запустить обработку EPF в 1С 8.3 один раз, откройте главное меню программы (кнопка с тремя полосками в левом верхнем углу окна), выберите Файл → Открыть или нажмите Ctrl+O и укажите файл .epf. Обработка откроется в отдельном окне, если у пользователя есть право на открытие внешних обработок и он подтвердил предупреждение безопасности.
Для регулярной работы файл лучше не открывать вручную, а подключить через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Так он хранится в базе, запускается кнопкой из нужного раздела или документа и не зависит от того, где лежит файл на диске. Порядок ниже одинаков для типовых конфигураций на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА и ERP.
1. Что проверить до запуска внешней обработки
Внешняя обработка — это программный код, который выполняется с правами текущего пользователя. Поэтому платформа и типовые конфигурации ставят перед ней несколько барьеров. Проверьте их заранее, чтобы не гадать потом, почему файл не открывается.
📋 Что должно совпасть:
- 🔑 Право на интерактивное открытие. В типовых конфигурациях его дают роль «Интерактивное открытие внешних отчетов и обработок» или полные права. Обычным пользователям она по умолчанию не выдана.
- 🖥️ Тип клиента. Тонкий клиент и веб-клиент открывают только управляемые формы. Обработка, написанная под обычное приложение, в них не покажет форму.
- 🧩 Совместимость с конфигурацией. Обработка обращается к справочникам и регистрам конкретной базы. Файл, сделанный для УТ 11, в Бухгалтерии упадёт на первой же ссылке на отсутствующий объект.
- 📦 Версия платформы. Файл, сохранённый в Конфигураторе более новой платформы, может не открыться на старой. Номер версии вашей платформы смотрите в меню
Справка → О программе.
Как выдать право в типовой конфигурации
Права выдаёт администратор базы. В конфигурациях на БСП это делают через группы доступа:
- Откройте
Администрирование → Настройки пользователей и прав → Группы доступа. - Найдите группу, в которую входит пользователь, или создайте новую.
- Проверьте профиль группы. Нужна роль «Интерактивное открытие внешних отчетов и обработок»: в некоторых конфигурациях есть готовый профиль с близким названием, в других роль добавляют в свой профиль.
- Добавьте пользователя в участники группы и запишите её.
- Пользователю нужно перезапустить программу, чтобы новые права применились.
Если разовый запуск нужен одному бухгалтеру раз в квартал, право на открытие любых файлов ему выдавать не обязательно. Проще и безопаснее зарегистрировать обработку в базе: запуск зарегистрированной обработки этой роли не требует.
2. Разовый запуск файла .epf через меню «Файл»
Это самый быстрый способ. Подходит для разовой задачи: загрузить данные, исправить ошибки в документах, выгрузить отчёт.
- Сохраните файл
.epfна локальный диск. Не открывайте его прямо из почты или архива: временная папка может очиститься во время работы. - Запустите 1С:Предприятие в режиме пользователя под учётной записью с нужными правами.
- Откройте главное меню и выберите
Файл → Открыть(илиCtrl+O). - В окне выбора укажите тип файлов «Внешняя обработка» или «Все файлы» и выберите нужный файл.
- Прочитайте предупреждение безопасности. Если источник файла известен, подтвердите открытие.
- Откроется форма обработки. Заполните параметры и нажмите кнопку выполнения на её форме.
Внешний отчёт (.erf) открывается точно так же. Разница только в назначении: отчёт формирует табличный документ, обработка что-то меняет или выгружает.
Предупреждение безопасности и защита от опасных действий
Платформа 8.3 показывает предупреждение каждый раз, когда пользователь открывает внешнюю обработку или отчёт. Это работа механизма «Защита от опасных действий».
Отключить его можно двумя способами:
| Где | Что сделать | Когда уместно |
|---|---|---|
| Свойства пользователя в Конфигураторе | Администрирование → Пользователи, открыть пользователя, снять флажок «Защита от опасных действий» | Администратор или разработчик, который постоянно запускает свои обработки |
Файл conf.cfg на компьютере | Добавить параметр DisableUnsafeActionProtection с маской строки соединения базы | Тестовые и учебные базы на машине разработчика |
Пример строки в conf.cfg, которая снимает защиту для всех файловых баз в папке D:\Test:
DisableUnsafeActionProtection=.*D:\\Test.*
Не отключайте защиту для рабочих баз и рядовых пользователей. Предупреждение — последний шанс остановить запуск файла неизвестного происхождения.
3. Как подключить внешнюю обработку к базе навсегда
Регистрация в справочнике дополнительных обработок — правильный путь для всего, что используется регулярно. Файл загружается в базу, обновлять его можно централизованно, а доступ настраивается по пользователям.
Сначала включите механизм. Откройте Администрирование → Печатные формы, отчеты и обработки и установите флажок «Дополнительные отчеты и обработки». После этого на той же странице появится ссылка на список.
Порядок регистрации:
- Перейдите в список «Дополнительные отчеты и обработки» и нажмите «Добавить из файла».
- Подтвердите предупреждение безопасности и выберите файл
.epfили.erf. - Программа прочитает сведения, которые разработчик заложил в обработку: вид, версию, список команд.
- На закладке команд укажите размещение — в каком разделе появится команда (например, «Продажи» или «Зарплата»).
- Укажите, каким пользователям доступна команда, если в карточке есть такая настройка.
- Нажмите «Записать и закрыть».
Виды дополнительных обработок
Вид определяет, где и как обработка будет запускаться. Его задаёт разработчик внутри файла, при регистрации изменить его нельзя.
| Вид | Где появляется команда | Пример задачи |
|---|---|---|
| Дополнительная обработка | В разделе, команда «Дополнительные обработки» | Групповое изменение реквизитов |
| Дополнительный отчет | В разделе, команда «Дополнительные отчеты» | Свой анализ продаж |
| Печатная форма | В меню «Печать» формы документа или справочника | Нестандартный бланк накладной |
| Заполнение объекта | В меню заполнения формы документа | Загрузка строк из Excel |
| Создание связанных объектов | В меню «Создать на основании» | Создание задач или писем по документу |
| Отчет (контекстный) | В форме объекта, к которому привязан | Отчёт по выбранному контрагенту |
Почему файл не регистрируется
Для регистрации в обработке должна быть экспортная функция СведенияОВнешнейОбработке() в модуле объекта. Через неё БСП узнаёт вид, версию и команды. Если её нет, программа сообщит, что обработка не совместима с подсистемой дополнительных отчетов и обработок.
Такой файл можно открыть только через Файл → Открыть. Чтобы зарегистрировать его, разработчик должен добавить функцию сведений.
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 может удалить документы, переписать цены или отправить данные наружу. Всё это — с правами того, кто его запустил. Поэтому чужие обработки проверяют до запуска.
Как посмотреть код, не запуская обработку:
- Откройте Конфигуратор любой базы.
- Выберите
Файл → Открытьи укажите файл.epf. - В дереве обработки откройте модуль объекта и модули форм.
- Ищите по тексту:
Удалить,Записать,COMОбъект,ЗапуститьПриложение,HTTPСоединение,FTPСоединение.
Если модуль закрыт паролем или поставлен без исходного кода, вы не сможете посмотреть, что он делает. Такой файл стоит запускать только от доверенного поставщика и только на копии базы в первый раз.
Для обработок, которые меняют данные, договоритесь о простом правиле: первый запуск — на копии базы, второй — в рабочей базе после закрытия периода в учётном регламенте.
Частые вопросы о внешних обработках
Чем внешняя обработка отличается от встроенной?
.epf или в справочнике дополнительных обработок и не меняет конфигурацию.Можно ли запустить обработку EPF в веб-клиенте?
Файл → Открыть, браузер загружает его на сервер. Обработки с обычными формами в веб-клиенте не работают.