Куда 1С:Предприятие 8.3 сохраняет внешние отчеты и как их найти
Содержание
Внешний отчет
1С хранится в одном из двух мест: как отдельный файл .erf на диске (там, куда его сохранил пользователь или программист) или внутри информационной базы — в справочнике «Дополнительные отчеты и обработки». В типовых конфигурациях на 8.3 этот справочник открывается через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.
Постоянного «системного» каталога для внешних отчетов у платформы нет. Профиль пользователя, кэш и папка временных файлов содержат только служебные копии, которые живут до конца сеанса. Поэтому искать потерянный отчет нужно по порядку: справочник в базе, общие папки и диски, следы открытия в Windows.
Три места, где может оказаться внешний отчет
Сначала определите, как отчет попадает к пользователям. От этого зависит, где его искать.
| Как запускают отчет | Где лежит оригинал | Что видно пользователю |
|---|---|---|
Файл → Открыть (или Ctrl+O) | файл .erf на диске или в сетевой папке | окно выбора файла |
| Из раздела программы, командой «Дополнительные отчеты» | двоичные данные в справочнике базы | список отчетов в разделе |
| Через сервис или расширение | в базе, в составе расширения | обычная команда меню |
📌 Внешние обработки устроены так же, только расширение файла другое — .epf. Все приемы ниже работают для обоих типов.
💡 Если отчет открывают из раздела программы без выбора файла, он почти наверняка зарегистрирован в справочнике. Файл на диске в этом случае может давно не существовать — базе он уже не нужен.
Файл .erf на диске: где обычно хранят внешние отчеты
Платформа не диктует папку для файлов внешних отчетов. Файл лежит там, куда его положили. На практике это одно из таких мест:
- 📁
ДокументыилиРабочий столпользователя — самый частый случай для разовых отчетов; - 📁
Загрузки— если отчет прислали по почте или скачали из облака; - 📁 общая сетевая папка вида
\\server\1C\Отчеты— так делают в организациях, где отчетами пользуются несколько человек; - 📁 каталог рядом с файловой базой — некоторые программисты кладут доработки туда же, где лежит
1Cv8.1CD; - 📁 папка в облачном диске, если отчет дорабатывали на стороне.
Как найти файл через поиск Windows
Быстрее всего — поиск по расширению. В Проводнике откройте нужный диск и введите в строку поиска *.erf. Для обработок — *.epf.
Если дисков несколько или доступ есть только к консоли, используйте PowerShell:
Get-ChildItem -Path C:\, D:\ -Recurse -Include *.erf, *.epf -ErrorAction SilentlyContinue |
Select-Object FullName, Length, LastWriteTime |
Sort-Object LastWriteTime -Descending
Команда выведет полный путь, размер и дату изменения. Самые свежие файлы окажутся сверху.
💡 Имя файла не обязано совпадать с названием отчета в 1С. Если ищете конкретный отчет, а файлов десятки, открывайте кандидатов по одному через Файл → Открыть и смотрите заголовок формы.
Внешние отчеты внутри информационной базы
В конфигурациях на Библиотеке стандартных подсистем (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP) внешний отчет можно «прописать» в базе. Тогда файл копируется в справочник целиком, в виде двоичных данных. После этого исходный .erf можно удалить — отчет продолжит работать.
Где открыть список подключенных отчетов
| Конфигурация | Путь в интерфейсе «Такси» |
|---|---|
| Бухгалтерия предприятия 3.0 | Администрирование → Печатные формы, отчеты и обработки |
| Зарплата и управление персоналом 3.1 | Администрирование → Печатные формы, отчеты и обработки |
| Управление торговлей 11 | НСИ и администрирование → Администрирование → Печатные формы, отчеты и обработки |
На этой странице должен стоять флажок «Дополнительные отчеты и обработки». Рядом с ним — ссылка на сам справочник. Без флажка ссылка неактивна, а команды дополнительных отчетов в разделах не показываются.
Что хранит карточка отчета
Откройте любой элемент справочника. В карточке видно:
- 🏷️ наименование и версию отчета;
- 📍 вид — дополнительный отчет, печатная форма, обработка и т.п.;
- 🗂️ размещение — в каких разделах программы появляется команда;
- 👥 быстрый доступ — для каких пользователей команда выведена на панель;
- 🔒 публикацию — используется, отключен или в режиме отладки.
Сам файл в карточке не виден, он хранится в служебном реквизите. Чтобы получить его обратно на диск, используйте команду выгрузки в файл из меню Еще карточки. Обратная операция — загрузка обновленной версии из файла — делается там же.
Если в базе два элемента с одним и тем же отчетом разных версий, у пользователей появятся две похожие команды. Старую версию лучше перевести в публикацию «Отключен», а не удалять: так сохранится история и настройки.
Варианты и настройки отчета
Отдельно от самого отчета база хранит его варианты и пользовательские настройки. Сохраненные варианты лежат в справочнике «Варианты отчетов», а персональные настройки отборов и колонок — в системных хранилищах настроек платформы.
Отсюда практичное следствие. Если заменить файл отчета новой версией, ранее сохраненные варианты обычно остаются. Но если программист переименовал поля или удалил группировки, старые варианты могут открываться с ошибкой — их придется сохранить заново.
Кэш и временные файлы: что 1С пишет в профиль
Пользователи часто ищут внешние отчеты в AppData, потому что там много папок с длинными именами. На самом деле там лежит кэш конфигурации, а не отчеты.
Что находится в профиле пользователя Windows
| Папка | Что в ней хранится |
|---|---|
%APPDATA%\1C\1CEStart\ | список баз ibases.v8i и настройки стартера |
%APPDATA%\1C\1cv8\ | служебные настройки клиента и папки с GUID баз |
%LOCALAPPDATA%\1C\1cv8\ | кэш метаданных конфигурации по каждой базе |
%TEMP% | временные файлы сеанса |
Папки с именами вида a1b2c3d4-... — это идентификаторы информационных баз. Внутри — закэшированные описания объектов конфигурации, чтобы клиент не скачивал их при каждом запуске.
Где оказывается временная копия отчета
Когда отчет запускают из справочника, программа извлекает двоичные данные и подключает отчет на лету. В зависимости от режима работы и версии библиотеки временная копия может создаваться во временном каталоге клиента или сервера. После подключения она не нужна и удаляется.
Поэтому в %TEMP% можно иногда найти файлы с расширением .erf или с похожими на GUID именами. Восстанавливать отчет оттуда — плохая идея: файл может оказаться неполным, устаревшим или чужим.
Когда очищать кэш
Очистка кэша помогает, если после замены отчета в справочнике пользователи видят старую форму или ошибки метаданных. Варианты действий:
- Запустить клиент с ключом
/ClearCache— платформа очистит кэш этой базы при старте. - Удалить папку
с GUID базы в
%LOCALAPPDATA%\1C\1cv8\при закрытой 1С.
Удаляйте папки кэша только при полностью закрытых сеансах 1С у этого пользователя. Иначе файлы окажутся заблокированы, а открытый клиент может завершиться с ошибкой.
Следы внешних отчетов в реестре Windows
Платформа 8.3 не ведет в реестре список внешних отчетов. Найти там сам отчет нельзя. Но реестр помогает восстановить путь к файлу, который пользователь открывал через стандартное окно Windows.
Где искать
Окно выбора файла запоминает последние открытые файлы по каждому расширению. Откройте regedit и перейдите в раздел:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU\erf
Значения в этом разделе хранятся в двоичном виде, но имя файла в них обычно читается в правой части окна просмотра данных. Если подраздела erf нет — файлы с таким расширением через это окно не открывали или история была очищена.
Второй источник — папка недавних документов:
%APPDATA%\Microsoft\Windows\Recent
В ней лежат ярлыки на недавно открытые файлы. Свойства ярлыка показывают полный путь к исходному .erf, даже если папку переименовали позже.
💡 Реестр и папка Recent — это история конкретного пользователя Windows. Если отчет открывал бухгалтер, смотреть нужно под его учетной записью, а не под администратором.
Клиент-серверная база: где физически лежат внешние отчеты
В клиент-серверном варианте все, что зарегистрировано в справочнике, хранится в СУБД — MS SQL Server или PostgreSQL. В файловой базе те же данные лежат внутри файла 1Cv8.1CD.
Таблицы СУБД
Справочник дополнительных отчетов — обычная таблица вида _Reference<номер>. Номер у каждой базы свой. Двоичные данные отчета хранятся в одном из ее полей.
Лезть в эти таблицы напрямую средствами SQL не нужно. Структуру хранения задает платформа, а прямое изменение данных в обход 1С может испортить базу. Для поиска и выгрузки используйте средства самой программы.
Соответствие таблиц СУБД объектам конфигурации можно посмотреть встроенным методом ПолучитьСтруктуруХраненияБазыДанных(). Это пригодится администратору, который оценивает размер справочника или ищет, куда «распухла» база.
Что происходит на сервере при открытии отчета
- 🖥️ Отчет, открытый через
Файл → Открытьв тонком клиенте, передается на сервер 1С. Для этого пользователю нужно право на интерактивное открытие внешних отчетов и обработок. - 🛡️ Отчеты из справочника в типовых конфигурациях подключаются в безопасном режиме, если не настроено иное. Это ограничивает доступ кода к файловой системе сервера.
- 📂 Временные файлы при работе сервера создаются во временном каталоге той учетной записи, под которой запущена служба сервера 1С, а не в профиле пользователя.
Каталог кластера srvinfo и его вложенные папки reg_1541 не трогайте. Там лежат реестр кластера и служебные данные баз, а не внешние отчеты. Удаление файлов из этих папок при работающей службе оборвет сеансы всех пользователей сервера.
Как это проверить
Если пользователь жалуется, что отчет «пропал», в клиент-серверной базе последовательность простая:
- Откройте справочник «Дополнительные отчеты и обработки» под администратором.
- Включите в списке показ всех элементов, в том числе с публикацией «Отключен».
- Проверьте, не помечен ли нужный элемент на удаление.
- Откройте карточку и посмотрите, кому выведена команда и в каких разделах.
Администрирование → Печатные формы, отчеты и обработки → Расширения и проверьте, что расширение подключено и активно.Как найти и выгрузить все внешние отчеты разом
Когда отчетов в справочнике десятки, вручную выгружать их по одному долго. Это нужно при переносе на новую базу, перед обновлением или для аудита доработок.
Список отчетов запросом
Откройте любую консоль запросов под администратором и выполните запрос:
ВЫБРАТЬ
Д.Наименование,
Д.Вид,
Д.Версия,
Д.Публикация,
Д.ИмяФайла,
Д.ПометкаУдаления
ИЗ
Справочник.ДополнительныеОтчетыИОбработки КАК Д
УПОРЯДОЧИТЬ ПО
Д.Вид,
Д.Наименование
Получится реестр всех подключенных отчетов и обработок с версиями. Его удобно сохранить в Excel и сверить с тем, что есть у программиста.
Выгрузка всех файлов в папку
Если у вас есть внешняя обработка с серверной процедурой, можно выгрузить все отчеты одним проходом. Пример процедуры:
&НаСервереБезКонтекста
Процедура ВыгрузитьОтчеты(Каталог)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Д.Ссылка,
| Д.ИмяФайла
|ИЗ
| Справочник.ДополнительныеОтчетыИОбработки КАК Д
|ГДЕ
| НЕ Д.ПометкаУдаления";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Данные = Выборка.Ссылка.ХранилищеОбработки.Получить();
Если ТипЗнч(Данные) = Тип("ДвоичныеДанные") Тогда
ИмяФайла = ?(ПустаяСтрока(Выборка.ИмяФайла),
Строка(Выборка.Ссылка.УникальныйИдентификатор()) + ".erf",
Выборка.ИмяФайла);
Данные.Записать(Каталог + "\" + ИмяФайла);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура выполняется на сервере, поэтому Каталог — это путь на сервере 1С или сетевая папка, доступная учетной записи службы. В файловой базе путь указывается на компьютере, где запущен клиент.
Запускайте такой код под полными правами и только для чтения данных — он ничего не меняет в базе. Если у элемента без имени файла это обработка, а не отчет, переименуйте файл в .epf вручную.
Регулярная проверка
Чтобы отчеты не терялись, заведите простой порядок: