Внешние обработки в 1С 8.3: добавить в справочник, открыть разово, встроить в конфигурацию
Содержание
Чтобы внешняя обработка постоянно была под рукой, её добавляют в справочник: в БП 3.0 и ЗУП 3.1 это Администрирование → Печатные формы, отчеты и обработки, флажок «Дополнительные отчеты и обработки», затем одноимённая ссылка и кнопка «Добавить из файла». Для разового запуска хватит Файл → Открыть (Ctrl+O) и выбора файла .epf или .erf. Оба способа требуют прав, которых у обычного пользователя по умолчанию нет.
Типичная ситуация: программист прислал файл «ЗагрузкаИзExcel.epf», бухгалтер открыл его, а 1С ответила «Нарушение прав доступа» или молча не показала обработку ни в одном меню. Разберём, какой способ подключения выбрать, как дать права и что проверить в файле перед запуском.
Что такое внешняя обработка и чем она отличается от встроенной
Внешняя обработка — это файл с программным кодом и формами, который хранится вне конфигурации. Его можно подключить к базе без обновления и без снятия конфигурации с поддержки.
Расширения файлов:
- 📄
.epf— внешняя обработка: загрузка данных, групповое изменение, сервисные действия; - 📊
.erf— внешний отчёт; - 🖨 печатная форма и обработка заполнения — тоже файлы
.epf, но внутри у них описано, к какому документу или справочнику они относятся.
Главный плюс — независимость от релиза. Конфигурацию обновили, а обработка осталась на месте: её не нужно заново встраивать. Минус тоже очевиден: файл написан под конкретную структуру базы. Если в новом релизе поменялись имена реквизитов, обработка упадёт с ошибкой.
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА 2, ERP) есть отдельная подсистема «Дополнительные отчеты и обработки». Она хранит файлы прямо в базе, в справочнике, и раздаёт команды по разделам и документам.
Где брать внешние обработки и что проверить в файле
Источники обычно такие:
- 👨💻 свой программист или франчайзи — под ваши задачи, с исходным кодом;
- 📦 сервисные обработки, которые фирма 1С публикует для пользователей ИТС (например, универсальный обмен данными в формате XML);
- 🌐 каталоги и форумы 1С-разработчиков — бесплатные и платные решения.
Перед подключением проверьте файл по короткому списку:
- Под какую конфигурацию и релиз написан. Обработка для УТ 11 в Бухгалтерии работать не будет.
- Открыт ли код. Если модуль закрыт паролем или поставляется без исходного текста, вы не узнаете, что он делает с базой.
- Подходит ли для подключения в справочник. Это видно только по коду: в модуле объекта должна быть экспортная функция
СведенияОВнешнейОбработке(). Без неё файл можно открыть лишь черезФайл → Открыть. - В какой версии платформы сохранён. Файл из более новой платформы старая может не открыть. Номер вашей платформы смотрите в
Справка → О программе.
Попросите разработчика сразу указать тип обработки: дополнительная обработка, отчёт, печатная форма, заполнение объекта или создание связанных объектов. От типа зависит, где появится команда после подключения.
Выбираем способ подключения
Способов три, и они решают разные задачи.
| Способ | Кому подходит | Где появится обработка | Права |
|---|---|---|---|
| Справочник «Дополнительные отчеты и обработки» | Пользователи типовых конфигураций на БСП | В разделах, в меню «Печать», в формах документов | Добавляет администратор, пользуются все, кому назначено |
Файл → Открыть | Разовый запуск, тестирование | Только в открытом окне | Право на интерактивное открытие внешних обработок |
| Встраивание в конфигурацию или расширение | Нетиповые базы, постоянные доработки | Как обычный объект конфигурации | Доступ в Конфигуратор |
Файл → Открыть. После работы файл в базе не останется.Как добавить внешнюю обработку через интерфейс 1С
Это основной способ для типовых конфигураций. Пути к настройкам:
| Конфигурация | Путь |
|---|---|
| Бухгалтерия предприятия 3.0 | Администрирование → Печатные формы, отчеты и обработки |
| ЗУП 3.1 | Администрирование → Печатные формы, отчеты и обработки |
| Управление торговлей 11 | НСИ и администрирование → Печатные формы, отчеты и обработки |
Шаг 1. Включите подсистему
- Откройте раздел по пути из таблицы.
- Установите флажок «Дополнительные отчеты и обработки».
- Справа станет активной одноимённая ссылка. Нажмите её.
Шаг 2. Загрузите файл
- В списке нажмите «Добавить из файла».
- 1С покажет предупреждение безопасности: файл может навредить базе. Если файл проверен, нажмите «Продолжить».
- Выберите
.epfили.erfна диске. - Откроется карточка. Наименование, тип и версия подтянутся из самого файла.
Шаг 3. Настройте размещение
Здесь чаще всего ошибаются. Обработка загружена, но в меню её нет, потому что не указано, где показывать команду.
- 📂 Дополнительная обработка или отчёт — в поле «Размещение» отметьте разделы, например «Банк и касса» или «Склад». Команда появится в разделе по ссылке «Дополнительные обработки» или «Дополнительные отчеты».
- 🖨 Печатная форма, заполнение, связанные объекты — список документов и справочников приходит из файла. Проверьте его и снимите лишние объекты.
Команда может работать в разных режимах. Если в карточке их несколько, задайте для нужных команд «Быстрый доступ» и выберите пользователей. Им не придётся каждый раз искать её в списке.
Шаг 4. Включите публикацию и сохраните
Поле «Публикация» принимает три значения:
| Значение | Что происходит |
|---|---|
| Используется | Обработка видна всем, кому разрешена |
| Режим отладки | Видна только администраторам, удобно для проверки новой версии |
| Отключена | Хранится в базе, но нигде не показывается |
Нажмите «Записать и закрыть». Перезапускать 1С обычно не нужно, но команды в разделе иногда появляются только после повторного открытия раздела.
Новую версию обработки не нужно добавлять отдельной строкой. Откройте карточку старой и загрузите файл заново командой загрузки из файла. Размещение и пользователи останутся прежними, а в списке не будет двух одинаковых записей.
Разовый запуск через меню «Файл»
Если обработка нужна один раз, справочник не нужен:
- Откройте главное меню (кнопка с тремя полосками слева вверху) →
Файл → Открыть. Или нажмитеCtrl+O. - Выберите файл.
- Подтвердите предупреждение безопасности.
Обработка откроется в отдельном окне. После закрытия программы в базе от неё ничего не останется, кроме изменённых данных.
Подключение обработки через Конфигуратор
Для администратора Конфигуратор полезен в двух случаях.
Первый — проверить или поправить файл. В Конфигураторе Файл → Открыть открывает обработку не для запуска, а для редактирования. Видны модуль объекта, формы, макеты. Здесь же удобно убедиться, что функция СведенияОВнешнейОбработке() на месте, и пересохранить файл в своей версии платформы.
Второй — сделать обработку частью базы. Это нужно, если подсистемы дополнительных обработок нет или обработка должна работать без участия пользователя.
Безопасный вариант — расширение конфигурации (доступно с платформы 8.3.6):
- В Конфигураторе откройте
Конфигурация → Расширения конфигурации. - Создайте расширение или откройте существующее.
- В дереве расширения встаньте на ветку «Обработки» и через контекстное меню выберите вставку внешней обработки из файла.
- Обновите расширение в базе и проверьте его в пользовательском режиме.
Встраивание прямо в основную конфигурацию снимет её с поддержки или потребует включить возможность изменений. После этого каждое обновление релиза превращается в ручное сравнение и объединение. Для типовой базы так делать не стоит.
Загрузка расширения и любые изменения конфигурации — операция с базой. Перед ней сделайте резервную копию: Администрирование → Выгрузить информационную базу в Конфигураторе. Если в базе работают люди, выгрузка потребует их отключить, так что выбирайте время вне рабочего дня.
Запуск обработки при старте 1С
Ещё один приём администратора: открыть обработку сразу при входе в программу, без поиска в меню. Для этого в ярлыке или в параметрах запуска базы укажите ключ /Execute:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /Execute "D:\Obr\ZagruzkaOstatkov.epf"
Так удобно запускать сервисные обработки на рабочих местах, где нет доступа к меню Файл. Учтите: проверки прав при этом никто не отменял.
Программное подключение внешней обработки
Разработчику иногда нужно подключить обработку из кода: например, взять файл из общей папки и выполнить его без участия пользователя. Для этого в платформе есть менеджер ВнешниеОбработки и его метод Подключить.
Пример серверной функции, которая подключает файл, лежащий на сервере, и возвращает имя для дальнейшего вызова:
&НаСервереБезКонтекста
Функция ПодключитьВнешнююОбработку(ПутьКФайлу)
Данные = Новый ДвоичныеДанные(ПутьКФайлу);
Адрес = ПоместитьВоВременноеХранилище(Данные);
// Без предупреждения об опасных действиях: файл проверен заранее
Защита = Новый ОписаниеЗащитыОтОпасныхДействий;
Защита.ПредупреждатьОбОпасныхДействиях = Ложь;
// Третий параметр - безопасный режим: Ложь даёт обработке полный доступ
ИмяОбработки = ВнешниеОбработки.Подключить(Адрес, , Ложь, Защита);
Возврат ИмяОбработки;
КонецФункции
Дальше можно открыть форму на клиенте:
ИмяОбработки = ПодключитьВнешнююОбработку("\\srv1c\obr\Zagruzka.epf");
ОткрытьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма");
Или создать объект на сервере и вызвать его экспортный метод: ВнешниеОбработки.Создать(ИмяОбработки).
Что нужно учесть:
- 🔒 Путь в
Новый ДвоичныеДанные()— это путь на сервере 1С, а не на компьютере пользователя. Файл с клиента сначала передают на сервер через временное хранилище. - 🧱 Если поставить третий параметр в
Истина, обработка запустится в безопасном режиме. Ей будет запрещён доступ к файлам, COM-объектам и привилегированному режиму, и многие загрузчики просто перестанут работать. - 👤 Код выполняется с правами текущего пользователя. Если ему запрещено открывать внешние обработки, подключение из кода тоже не пройдёт.
Права доступа к внешним обработкам
Здесь два разных права, и их часто путают.
| Что нужно | Где настраивается |
|---|---|
| Добавлять обработки в справочник и менять их | Группы доступа, профиль администратора или отдельная роль на добавление дополнительных отчётов и обработок |
Открывать файлы через Файл → Открыть | Право интерактивного открытия внешних обработок и отчётов |
| Пользоваться уже добавленной обработкой | Вкладка с пользователями в карточке обработки, быстрый доступ |
Как выдать права в типовой конфигурации
- Откройте
Администрирование → Настройки пользователей и прав → Группы доступа. - Найдите группу, куда входит нужный пользователь, или создайте новую.
- В её профиле должна быть роль, которая разрешает открывать внешние отчёты и обработки. В профилях БСП она называется похоже на «Открытие внешних отчетов и обработок» — найдите её по слову «внешних» в списке ролей профиля.
- Запишите группу. Пользователю нужно перезайти в программу.
Не выдавайте право открывать внешние файлы всем подряд. Пользователь с этим правом может запустить любой файл, в том числе тот, что пришёл по почте от незнакомца.
Права в нетиповой базе
В Конфигураторе у роли на корневом уровне конфигурации есть флажки «Интерактивное открытие внешних обработок» и «Интерактивное открытие внешних отчетов». Их включают в отдельной роли и назначают её только тем, кому это нужно, в Администрирование → Пользователи.
Ошибки при добавлении и запуске
Как не навредить базе внешней обработкой
Внешняя обработка выполняет любой код с правами того, кто её запустил. Она может удалить документы, переписать остатки или отправить данные наружу. Поэтому платформа предупреждает об опасности перед каждым открытием незнакомого файла.
Защита в платформе 8.3 устроена так:
- 🛡 Защита от опасных действий — флажок в свойствах пользователя в Конфигураторе. Пока он включён, 1С спрашивает подтверждение перед открытием внешнего файла.
- 🧱 Безопасный режим — ограничивает обработку: нет доступа к файловой системе, COM, внешним компонентам.
- ☁ В облачных сервисах фирмы 1С и у многих хостинг-провайдеров внешние обработки подключаются только после проверки. Произвольный файл туда не загрузить.
Практические правила:
- 🔎 Не запускайте файлы с закрытым кодом из непроверенных источников.
- 🧪 Новую обработку сначала проверьте в копии базы, особенно если она меняет или удаляет данные.
- 👥 Держите право на открытие внешних файлов у одного-двух человек.
- 📝 Храните обработки в справочнике, а не в папках у пользователей. Так видно, кто добавил файл и какая версия используется.
- 🔁 После обновления конфигурации прогоните важные обработки в режиме отладки, прежде чем вернуть им публикацию «Используется».