Вопрос о том, где именно физически располагается файл внешней обработки в системе 1С, часто возникает у администраторов и разработчиков при решении задач резервного копирования, аудита безопасности или переноса функционала. Ответ на него не так однозначен, как может показаться на первый взгляд, поскольку архитектура платформы 1С:Предприятие 8 допускает несколько сценариев хранения в зависимости от режима работы и типа запуска.

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

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

Хранение внутри информационной базы данных

Самый распространенный сценарий использования внешних обработок подразумевает их загрузку непосредственно в тело информационной базы. В этом случае файл обработки не имеет прямого аналога в файловой системе сервера в виде отдельного объекта .epf или .erf.

Физически данные такой обработки хранятся внутри служебных таблиц базы данных, чаще всего в таблице _IBRefs или специализированных таблицах хранилища, в зависимости от версии платформы и конфигурации.Binary-данные (сама скомпилированная обработка) сохраняются в виде BLOB-объектов.

Это означает, что при стандартном резервном копировании базы данных (dt-файл или бэкап SQL/PostgreSQL) внешняя обработка сохраняется автоматически вместе со всеми справочниками и документами. Отдельно копировать файл на диск не требуется.

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

⚠️ Внимание: При хранении обработки внутри базы она становится доступна всем пользователям, имеющим соответствующие права доступа к этому объекту метаданных. Это может создать риски несанкционированного выполнения кода, если обработка содержит уязвимости.

💡

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

Файловый режим и каталог внешних обработок

В файловом варианте работы 1С или при использовании механизма «Внешние обработки и отчеты» в клиент-серверном варианте, файлы могут располагаться в специальной директории на клиентском компьютере или на общем сетевом ресурсе.

По умолчанию платформа не создает автоматических связей с файловой системой, если вы просто открыли обработку через меню «Файл -> Открыть». Но если администратор настроил автозагрузку или указал путь к каталогу в параметрах запуска, файлы будут лежать на диске.

Часто используется каталог, путь к которому задается в ярлыке запуска 1С параметром /ExtReports или через переменные окружения. В этом случае система при запуске сканирует указанную папку и автоматически добавляет найденные файлы в список доступных отчетов.

Для поиска таких файлов на сервере или рабочей станции администратора следует проверить следующие типовые пути:

  • 📂 C:\Users\Public\Documents\1C\Reports — общедоступная папка отчетов в Windows.
  • 📂 %APPDATA%\1C\1Cv8\ExtReports — персональная папка текущего пользователя.
  • 📂 /opt/1c/reports — типовой путь для серверов на базе Linux.
  • 📂 Сетевая папка, указанная в скрипте запуска 1cv8.exe.
📊 Где вы предпочитаете хранить внешние обработки?
Внутри базы данных (DT/SQL)
В отдельной папке на сервере
В облачном хранилище
На флешке у пользователя

Анализ расположения через Конфигуратор

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

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

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

Для более глубокого анализа можно использовать обработку «Анализ конфигурации» или сторонние инструменты вроде ADDA или Compare, которые покажут привязку объектов к физическим файлам на диске.

Поиск в журнале регистрации и логах

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

Отфильтруйте журнал по событию «Запуск внешней обработки» или похожим названиям, зависящим от вашей конфигурации (например, «Выполнение внешнего отчета»). В параметрах события часто указывается полный путь к файлу, который был инициирован пользователем.

SELECT * FROM _Journal WHERE EventKind = 'ExternalReportRun' AND Date > '2023-01-01'

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

Как включить подробное логирование?

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

Сравнение методов хранения

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

Критерий Внутри базы данных Во внешней папке (Файл)
Резервное копирование Автоматическое (в составе бэкапа БД) Требует отдельной копии папки
Безопасность Контроль прав доступа 1С Зависит от прав файловой системы OS
Обновление Через загрузку новой версии в базу Простая замена файла на диске
Производительность Увеличивает размер БД Не влияет на размер БД

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

⚠️ Внимание: При обновлении платформы 1С пути к стандартным каталогам могут измениться. Всегда сверяйте актуальные пути в документации к конкретной версии платформы перед миграцией сервера.

Программный поиск путей к обработкам

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

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

Пример кода для проверки существования файла по известному пути:

ПутьКФайлу = "C:\Reports\MyReport.epf";

Если Файл(ПутьКФайлу).Существует() Тогда

Сообщить("Обработка найдена на диске");

Иначе

Сообщить("Обработка, вероятно, хранится внутри базы");

КонецЕсли;

Такой подход позволяет автоматизировать аудит системы и выявлять «потерянные» файлы, ссылки на которые есть в базе, но физически они отсутствуют на диске.

☑️ Аудит внешних обработок

Выполнено: 0 / 4
💡

Наиболее безопасным и отказоустойчивым методом для критически важных обработок является хранение внутри информационной базы с регулярным тестированием восстановления из бэкапа.

Часто задаваемые вопросы (FAQ)

Можно ли извлечь внешнюю обработку из базы данных в файл .epf?

Да, это возможно. В режиме Предприятия через меню «Файл» -> «Сохранить как» можно выгрузить открытую обработку. В режиме Конфигуратора можно выбрать обработку в дереве метаданных и использовать команду «Сохранить во внешний файл».

Где хранятся временные файлы внешних обработок при запуске?

При запуске внешней обработки платформа часто распаковывает её во временную директорию пользователя, путь к которой определяется переменной окружения %TEMP% в Windows или /tmp в Linux. После завершения сеанса эти файлы могут быть удалены автоматически.

Почему 1С не видит обработку в папке, хотя файл там есть?

Возможные причины: неверно указан путь в параметрах запуска, у пользователя нет прав на чтение этой папки, файл имеет неверное расширение (должно быть .epf или .erf), либо обработка несовместима с текущей версией платформы.

Влияет ли хранение обработки в базе на скорость работы 1С?

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

Как найти все внешние обработки, используемые в базе?

Используйте отчет «Анализ использования объектов метаданных» или напишите запрос к системным таблицам, если у вас есть доступ к SQL. В интерфейсе 1С часто есть список всех доступных внешних отчетов в соответствующем разделе меню.