Работа с обработками в 1С:Предприятие — неотъемлемая часть администрирования и разработки. Но не все пользователи понимают, чем внешняя обработка отличается от встроенной, и почему это важно. Внешние обработки — это отдельные файлы с расширением .epf или .erf, которые подключаются к базе данных, но не являются её частью. Они позволяют расширять функционал без изменения конфигурации, что критично для типовых решений (например, 1С:Бухгалтерия 3.0 или 1С:УТ 11).
Ошибки в идентификации обработок могут привести к проблемам: от потери данных при обновлении до конфликтов с лицензионной политикой 1С. Например, если вы случайно удалите внешнюю обработку, считая её ненужной "закладкой", это может парализовать работу отдела. С другой стороны, знание типов обработок помогает безопасно внедрять доработки, не нарушая поддержку от вендора.
В этой статье разберём, как точно определить внешнюю обработку в 1С, какие инструменты для этого есть в платформе, и на что обратить внимание при работе с ними. Материал актуален для версий 8.3 и 8.2, но некоторые методы применимы и к более ранним релизам.
1. Визуальные признаки внешней обработки
Самый простой способ отличить внешнюю обработку — посмотреть на её представление в интерфейсе 1С. Вот ключевые маркеры:
- 📁 Отсутствие в дереве конфигурации. Встроенные обработки отображаются в ветке
Общие → Обработкив конфигураторе. Внешние — нет. - 🖥️ Подключение через меню "Файл". Внешние обработки открываются через
Файл → Открытьили подключаются в списке дополнительных отчётов/обработок. - 🔄 Иконка в форме. Внешние обработки часто имеют значок "документ с загнутым уголком" (📄) в заголовке окна, в то время как встроенные — стандартную иконку модуля.
Например, если вы видите обработку "Выгрузка в Excel" в разделе Дополнительные отчёты и обработки (меню Все функции), но не находите её в конфигураторе — это 100% внешний файл. Обратите внимание на путь в заголовке окна: у внешних обработок он обычно содержит полный путь к файлу на диске (например, C:\1C\External\MyReport.epf).
Исключение: некоторые обработки могут быть встроены в конфигурацию, но при этом храниться в отдельных файлах (например, для обмена данными). Такие случаи требуют дополнительной проверки через конфигуратор.
Если обработка открывается дольше обычного или требует указания пути к файлу при каждом запуске — это верный признак внешнего подключения.
2. Проверка через конфигуратор: пошаговая инструкция
Для точной идентификации внешней обработки используйте конфигуратор 1С. Этот метод подходит администраторам и разработчикам:
- Откройте базу в режиме
Конфигуратор(для этого удерживайтеShiftпри запуске 1С). - Перейдите в меню
Файл → Открытьи выберите подозрительный файл с расширением.epfили.erf. - Если файл открывается как обработка (а не как текстовый документ) — это внешняя обработка.
- Для проверки подключённых обработок используйте меню
Сервис → Дополнительные отчёты и обработки. Внешние будут отмечены значком 📎 (скрепка).
В конфигураторе также можно увидеть список всех подключённых внешних файлов через команду:
ПолучитьСписокДополнительныхОбработок();
Этот код вернёт массив с путями к внешним обработкам, которые загружены в текущей сессии.
☑️ Проверка обработки в конфигураторе
Важно: некоторые обработки могут быть "внедрены" в конфигурацию через механизм "Внешние обработки как объекты конфигурации" (доступно с версии 8.3.10). В этом случае они будут отображаться в дереве конфигурации, но оставаться внешними файлами. Чтобы их выявить, проверьте свойство Внешняя в палитре свойств объекта.
3. Программные методы определения
Для автоматизации проверки можно использовать встроенный язык 1С. Например, следующий код определяет, является ли текущая обработка внешней:
Если ТипЗнч(ЭтотОбъект) = Тип("Обработка") Тогда
Если Не ЭтотОбъект.Внешняя Тогда
Сообщить("Это встроенная обработка");
Иначе
Сообщить("Это внешняя обработка! Путь: " + ЭтотОбъект.ПутьКФайлу());
КонецЕсли;
КонецЕсли;
Ключевые свойства для анализа:
- 🔹
Внешняя— возвращаетИстина, если обработка внешняя. - 🔹
ПутьКФайлу()— показывает физический путь к файлу (только для внешних). - 🔹
ИмяФайла()— возвращает имя файла без пути.
Для массовой проверки всех обработок в базе используйте этот скрипт:
МассивОбработок = ПолучитьСписокДополнительныхОбработок();
Для Каждого Обработка Из МассивОбработок Цикл
Сообщить(Обработка.Имя + " | Внешняя: " + Обработка.Внешняя + " | Путь: " + Обработка.ПутьКФайлу());
КонецЦикла;
Как проверить обработку, если нет прав на конфигуратор?
Если у вас нет доступа к конфигуратору, попробуйте открыть файл обработки в текстовом редакторе (например, Notepad++). Внешние обработки в формате .epf начинаются с сигнатуры "1CEnterprise 8.x External Report/Processing", а встроенные — хранятся в бинарном виде внутри конфигурации и не могут быть открыты напрямую.
4. Анализ файловой системы
Внешние обработки всегда хранятся как отдельные файлы на диске или в сетевой папке. Типичные места их расположения:
- 📂 Папка с базой 1С (например,
C:\Program Files\1cv8\srvinfo\<ID базы>\ext). - 📂 Сетевые ресурсы (например,
\\server\1C_External\). - 📂 Личные папки пользователей (например,
C:\Users\ИмяПользователя\Documents\1C\).
Чтобы найти все внешние обработки на компьютере, выполните поиск по маске:
.epf;.erf
в корневом каталоге диска C:\ (или на сетевом ресурсе). Обратите внимание на дату изменения файлов — это поможет выявить недавно добавленные или устаревшие обработки.
Предупреждение: некоторые обработки могут быть зашифрованы или упакованы в архивы (например, .zip или .cf). В этом случае их невозможно проанализировать без пароля или специальных утилит.
Если обработка физически существует как файл на диске — она внешняя, даже если подключена к конфигурации через механизм "внешних объектов".
5. Поведенческие отличия внешних обработок
Внешние обработки часто ведут себя иначе, чем встроенные. Обратите внимание на следующие признаки:
| Признак | Внешняя обработка | Встроенная обработка |
|---|---|---|
| Загрузка при старте | Подгружается только при вызове | Всегда доступна в конфигурации |
| Обновление конфигурации | Не затрагивается обновлениями | Может быть перезаписана |
| Лицензирование | Может требовать отдельной лицензии | Покрывается лицензией на конфигурацию |
| Бэкап | Нужно резервировать файл отдельно | Сохраняется в бэкапе базы |
Например, если после обновления 1С какая-то обработка перестала работать, но её файл остался на месте — это внешняя обработка, которую нужно подключить заново. Встроенные обработки обычно восстанавливаются автоматически при обновлении.
Ещё один индикатор — ошибки при открытии. Внешние обработки часто выдают сообщения вроде:
- 🚨
"Файл обработки не найден: C:\path\to\file.epf" - 🚨
"Нет прав на доступ к внешней обработке" - 🚨
"Обработка не является обработкой 1С:Предприятия"(если файл повреждён)
6. Риски и ограничения внешних обработок
Внешние обработки удобны, но имеют ряд минусов, о которых стоит помнить:
⚠️ Внимание: Подключение внешних обработок из ненадёжных источников может привести к утечке данных или заражению вирусами. Всегда проверяйте файлы антивирусом перед использованием.
- 🔓 Безопасность. Внешние файлы могут содержать вредоносный код, особенно если скачаны из интернета.
- 🔄 Совместимость. Обработка, написанная для 1С 8.2, может не работать в 8.3.20.
- 📦 Резервное копирование. Внешние файлы не включаются в бэкап базы — их нужно резервировать отдельно.
- 🔧 Поддержка. 1С не оказывает техническую поддержку для сторонних обработок.
Пример из практики: компания подключила внешнюю обработку для выгрузки данных в Excel, но после обновления платформы до 8.3.21 она перестала работать из-за изменений в объекте ТабличныйДокумент. Пришлось срочно искать альтернативу.
Рекомендация: перед массовым внедрением внешней обработки протестируйте её на копии рабочей базы и проверьте логи 1С на ошибки (меню Сервис → Журнал регистрации).
7. Когда внешние обработки необходимы
Несмотря на риски, внешние обработки незаменимы в ряде случаев:
- 🔄 Обновляемые конфигурации. Если вы используете типовую 1С:Бухгалтерию и не хотите снимать с поддержки, внешние обработки позволяют добавлять функционал без изменения конфигурации.
- 📊 Специфические отчёты. Например, отчёт по КУДиР для ИП, которого нет в типовой конфигурации.
- 🔗 Интеграции. Обработки для обмена данными с Excel, XML, или внешними системами (например, СБИС или Диадок).
- 🛠️ Тестирование. Разработчики часто используют внешние обработки для отладки кода перед внедрением в конфигурацию.
Пример: в 1С:ЗУП 3.1 нет стандартного отчёта по больничным листам с разбивкой по страховым случаям. Вместо доработки конфигурации можно подключить внешнюю обработку, которая формирует такой отчёт, и обновлять её отдельно от базы.
Критическая информация: Внешние обработки могут содержать лицензионные ограничения. Например, обработка для обмена с 1С:Документооборот может требовать отдельной лицензии, даже если она бесплатно скачана с форума.
FAQ: Частые вопросы о внешних обработках
Можно ли преобразовать внешнюю обработку во встроенную?
Да, но это требует прав на изменение конфигурации. Для этого:
- Откройте обработку в конфигураторе (
Файл → Открыть). - Скопируйте код в новый объект конфигурации (
Общие → Обработки). - Настройте права доступа и сохраните конфигурацию.
Учтите, что после этого обработка станет частью базы и будет перезаписываться при обновлениях.
Почему внешняя обработка не открывается в новой версии 1С?
Это связано с изменениями в платформе. Например, в 8.3.20 был обновлён механизм работы с ТабличнымДокументом, из-за чего старые обработки перестали корректно формировать Excel-файлы. Решения:
- Обновите обработку (обратитесь к разработчику).
- Используйте режим совместимости (если поддерживается).
- Перенесите функционал во встроенную обработку.
Как найти, какая внешняя обработка тормозит базу?
Используйте Журнал регистрации (Сервис → Журнал регистрации) и фильтруйте события по:
- Типу события:
"Выполнение внешней обработки". - Времени выполнения (сортируйте по убыванию).
Также можно временно отключить все внешние обработки и проверять производительность поочерёдно.
Можно ли редактировать внешнюю обработку без конфигуратора?
Да, но с ограничениями:
- Файлы
.epfможно открыть в текстовом редакторе (например, Notepad++), но их структура зашифрована. - Для редактирования кода нужен 1С:Предприятие в режиме конфигуратора или специализированные утилиты (например, EPF Editor).
- Изменение кода без понимания может привести к ошибкам!
Как защитить внешние обработки от несанкционированного доступа?
Используйте комбинацию методов:
- Храните файлы на защищённом сетевом ресурсе с ограничением по IP.
- Настройте права в 1С через роль
"Дополнительные отчёты и обработки". - Шифруйте критичные обработки (например, с помощью 1C:Enterprise Development Tools).
- Ведите журнал подключений через
Журнал регистрации.