Где физически лежат данные 1С: 1Cv8.1CD, журнал, кэш и таблицы СУБД
Содержание
В файловом варианте база данных 1С 8.3 хранится в одном файле 1Cv8.1CD: в нём лежат и документы со справочниками, и сама конфигурация, и расширения, и пользователи. Рядом с ним в каталоге базы находятся служебные папки — журнал регистрации 1Cv8Log, индекс полнотекстового поиска 1Cv8FTxt и временные файлы. В клиент-серверном варианте файла .1CD нет вовсе: данные живут в таблицах СУБД (MS SQL Server, PostgreSQL), а служебные файлы — в каталоге кластера srvinfo на сервере 1С.
Понять, какой файл за что отвечает, нужно в трёх ситуациях: база «весит» больше, чем ожидали, при копировании выскакивает ошибка доступа, или надо настроить резервную копию и не забыть ничего важного. Ниже разбор по каждому файлу — что в нём, можно ли его трогать и что будет, если его удалить.
Как узнать, где лежит ваша база и в каком она режиме
Прежде чем искать файлы, выясните вариант базы и её адрес. Сделать это можно, не открывая проводник.
- В окне запуска 1С выделите базу. Внизу окна отображается строка подключения.
- Если строка начинается с
File=— база файловая, дальше указан путь к каталогу, напримерFile="D:\Bases\Buh". - Если строка вида
Srvr="srv1c";Ref="buh_2024"— база клиент-серверная.Srvr— сервер 1С,Ref— имя базы в кластере.
Тот же путь видно в кнопке Изменить… окна запуска и внутри открытой базы: меню-«гамбургер» → Справка → О программе: там указана строка подключения базы.
Список баз на компьютере хранится не в самих базах, а в файле ibases.v8i в профиле пользователя: %APPDATA%\1C\1CEStart\ibases.v8i. Это обычный текстовый файл. Если база «пропала» из списка, сами данные почти наверняка целы — потерялась только запись о пути.
Файловая база 1С: что лежит в каталоге
Платформа подключается не к файлу, а к каталогу. В нём ищется файл со строго заданным именем 1Cv8.1CD — переименовать его нельзя, иначе 1С предложит создать новую пустую базу.
Типичное содержимое каталога файловой базы:
| Файл или папка | Что хранит | Можно удалить? |
|---|---|---|
1Cv8.1CD | Все данные, конфигурация, расширения, список пользователей, настройки | Нет — это и есть база |
1Cv8Log\ | Журнал регистрации | Да, при закрытой базе; потеряете историю действий |
1Cv8FTxt\ | Индекс полнотекстового поиска | Да, при закрытой базе; индекс строится заново |
1Cv8tmp.1CD | Временные таблицы текущих сеансов | Только если в базе никто не работает |
1Cv8.1CL | Служебный файл блокировок | Только если в базе никто не работает |
Файл 1Cv8.1CD изнутри
1Cv8.1CD — собственный формат платформы, страничная структура со своими таблицами. Открыть его в Excel или блокноте не выйдет. Внутри лежат:
- 📄 таблицы объектов конфигурации — справочники, документы, регистры, планы счетов;
- ⚙️ служебные таблицы с конфигурацией: основная конфигурация, конфигурация базы данных и параметры;
- 🧩 подключённые расширения конфигурации ;
- 👤 список пользователей и их права;
- 🗂️ пользовательские настройки форм и отчётов, история выбора.
Отсюда практическое следствие: если скопировать только 1Cv8.1CD, у вас будет полноценная база. Журнал и индекс поиска в копии будут пустыми, но учёт не пострадает.
Почему файл базы большой
Размер 1Cv8.1CD не уменьшается сам после удаления документов: освободившиеся страницы остаются внутри файла и переиспользуются. Сжать файл помогает режим Администрирование → Тестирование и исправление в Конфигураторе с флажком «Сжатие таблиц информационной базы». Режим требует, чтобы в базе не было других пользователей.
Второй вариант — выгрузить базу
в .dt и загрузить обратно в новый каталог. Файл после этого собирается заново, без пустот.
Журнал регистрации: 1Cv8Log и формат .lgd
Журнал регистрации пишется отдельно от данных, в папку 1Cv8Log внутри каталога базы. Формат бывает двух видов:
- 🗃️ SQLite — один файл
1Cv8.lgd. Удобен для отбора и поиска, но при больших объёмах файл растёт до гигабайт. - 📑 Последовательный (текстовый) — файл
1Cv8.lgfсо справочником пользователей и компьютеров и набор файлов.lgp, по одному на период.
Какой формат у вашей базы, видно по содержимому папки. Переключить формат и задать, как долго хранить записи, можно в Конфигураторе: Администрирование → Настройка журнала регистрации.
Последовательный формат удобнее для архивации: старые .lgp можно переносить в архив отдельными файлами. С одним 1Cv8.lgd так не получится — сокращать его приходится средствами самой настройки журнала.
Служебные и временные файлы, блокировки
Пока в файловой базе работает хотя бы один пользователь, платформа держит файлы открытыми и ставит на них блокировки операционной системы. Поэтому при копировании «на живую» Windows сообщает, что файл занят другим процессом.
Что появляется в каталоге во время работы:
- ⏳
1Cv8tmp.1CD— временные таблицы запросов и сеансов. Создаётся при работе, после штатного закрытия обычно исчезает. - 🔒
1Cv8.1CL— файл, через который платформа отслеживает подключения. Вручную его трогать незачем: после закрытия всех сеансов платформа сама приводит его в порядок. - 🔍 файлы внутри
1Cv8FTxt— индекс поиска тоже открыт, пока база запущена.
Не удаляйте служебные файлы, пока в базе есть сеансы: у пользователей оборвётся работа, а несохранённые документы пропадут. Проверить, что никого нет, проще всего так: откройте Конфигуратор, Администрирование → Активные пользователи. В списке должен остаться только ваш сеанс. Если после этого файл всё равно «занят», посмотрите, не висит ли процесс 1cv8.exe или 1cv8c.exe в диспетчере задач — у вас или на компьютере коллеги, который открыл ту же сетевую папку.
Антивирус и облачная синхронизация (OneDrive, Яндекс Диск) тоже держат файлы открытыми. Каталог базы стоит добавить в исключения антивируса и не класть в синхронизируемые папки: синхронизация копирует 1Cv8.1CD по частям и может получить несогласованный файл.
Файлы на компьютере пользователя
Часть файлов к базе не относится, но создаётся ради неё на каждом рабочем месте:
| Путь | Что там |
|---|---|
%APPDATA%\1C\1cv8\<идентификатор базы>\ | Кэш конфигурации и пользовательских данных |
%LOCALAPPDATA%\1C\1cv8\<идентификатор базы>\ | Локальный кэш, временные файлы клиента |
%APPDATA%\1C\1CEStart\ibases.v8i | Список баз в окне запуска |
Кэш можно удалить при закрытой 1С — платформа скачает его заново при следующем входе. Это стандартное лечение для странностей вроде старых форм после обновления. Данных учёта в кэше нет, поэтому восстановить из него базу нельзя.
Клиент-серверная база 1С: данные в таблицах СУБД
В клиент-серверном варианте база данных — это обычная база СУБД. Её физические файлы определяет сама СУБД:
- MS SQL Server — файл данных
.mdfи журнал транзакций.ldf, по умолчанию в папкеDATAэкземпляра SQL Server. - PostgreSQL — набор файлов в каталоге данных кластера PostgreSQL (
PGDATA), в подкаталогеbaseпод числовым идентификатором базы. Одна таблица 1С — один или несколько файлов.
Внутри СУБД таблицы 1С называются не по именам объектов, а по служебным именам: _Reference25 для справочника, _Document112 для документа, _AccumRg350 для регистра накопления, _InfoRg410 для регистра сведений. Номер присваивает платформа, и в каждой базе он свой.
Как сопоставить таблицу СУБД и объект 1С
Понять, что _Reference25 — это «Контрагенты», можно функцией платформы ПолучитьСтруктуруХраненияБазыДанных(). Её вызывают во внешней обработке или в консоли кода. Пример выводит имя объекта и имя таблицы:
Структура = ПолучитьСтруктуруХраненияБазыДанных(, Истина);
Для Каждого Строка Из Структура Цикл
Сообщить(Строка.Метаданные + " → " + Строка.ИмяТаблицыХранения);
КонецЦикла;
Второй параметр Истина возвращает имена в терминах СУБД. Это нужно, когда администратор СУБД видит «тяжёлую» таблицу на 40 ГБ и хочет понять, какой регистр её раздувает.
Писать в таблицы 1С напрямую через SQL нельзя: платформа не узнает об изменениях, итоги регистров и ссылки разъедутся. Прямые запросы допустимы только на чтение — для отчётов и диагностики.
Каталог кластера srvinfo
Помимо СУБД, сервер 1С хранит свои файлы в каталоге кластера. На Windows по умолчанию это C:\Program Files\1cv8\srvinfo, на Linux — /home/usr1cv8/.1cv8/1C/1cv8/. Путь задаётся при установке службы, поэтому на вашем сервере он может отличаться — его видно в параметрах запуска службы агента ragent.
Внутри srvinfo\reg_1541 (число — порт менеджера кластера):
- 📋
1CV8Clst.lst— реестр кластера: список баз, рабочих серверов, администраторов; - 📁 папки с идентификаторами баз — журнал регистрации
1Cv8Logи индекс1Cv8FTxtкаждой базы; - 🗄️ папки
snccntx…— кэш сеансовых данных.
Журнал регистрации серверной базы, таким образом, лежит не в СУБД, а на сервере 1С. Если копировать только базу SQL, история действий пользователей в копию не попадёт.
Чистить snccntx можно только при остановленной службе сервера 1С. Остановка обрывает все сеансы во всех базах кластера, поэтому делается вне рабочего времени и с предупреждением пользователей. Файл 1CV8Clst.lst не удаляйте никогда: без него кластер «забудет» все зарегистрированные базы.
Где хранится конфигурация и расширения
Конфигурация — это не отдельный файл .cf рядом с базой. Она лежит внутри самой базы:
- в файловом варианте — в служебных таблицах
1Cv8.1CD; - в клиент-серверном — в таблицах СУБД
Config,ConfigSave,Params,DBSchemaи других служебных.
В базе одновременно живут две версии конфигурации. Конфигурация базы данных (таблица Config) — та, по которой работают пользователи. Основная конфигурация — то, что разработчик сохранил в Конфигураторе; пока она отличается от рабочей, изменения хранятся в ConfigSave. Пока не выполнено Конфигурация → Обновить конфигурацию базы данных, они отличаются. Поэтому изменения после загрузки .cf «не видны» пользователям.
Расширения конфигурации тоже хранятся в базе, а не в файлах .cfe. Файл .cfe — лишь формат выгрузки для переноса. Загрузили расширение — оно записалось в базу, и исходный файл больше не нужен.
Отдельная история — хранилище конфигурации для групповой разработки. Это самостоятельная файловая база с файлом 1cv8ddb.1CD. К рабочей базе данных она отношения не имеет, учётных данных в ней нет, но и копию её делать нужно отдельно.
Диагностика повреждённых файлов базы 1С
Признаки проблем с физическими файлами: ошибки при открытии вида «Файл базы данных поврежден», зависание на определённых документах, отчёты, падающие на одной и той же таблице.
Что проверять и чем — зависит от варианта базы.
Любое исправление выполняйте на копии базы, а не на единственном экземпляре. Утилита chdbfl.exe и «Тестирование и исправление» в режиме исправления могут удалить повреждённые записи безвозвратно.
Ещё одна подсказка — размер файла. Если 1Cv8.1CD вдруг стал заметно меньше вчерашнего или весит несколько килобайт, это не «сжатие», а почти наверняка повреждение или подмена файла. Сразу берите данные из резервной копии.
Что копировать для резервной копии базы 1С
Состав копии вытекает из того, где что лежит.
Файловая база. Достаточно каталога целиком, а по минимуму — одного 1Cv8.1CD. Условие одно: копировать, когда в базе никто не работает
, иначе получите файл в промежуточном состоянии. Добавьте к нему 1Cv8Log, если нужна история действий пользователей.
Клиент-серверная база . Основа — резервная копия средствами СУБД:
- в MS SQL — полная копия по расписанию плюс копии журнала транзакций, если база в модели восстановления Full;
- в PostgreSQL —
pg_dumpдля отдельной базы или резервирование кластера средствами PostgreSQL.
Отдельно копируйте каталог srvinfo — в нём журнал регистрации и реестр кластера. Без копии 1CV8Clst.lst после сбоя сервера базы придётся регистрировать в кластере заново.
Выгрузка .dt через Конфигуратор: Администрирование → Выгрузить информационную базу. Это универсальный формат, который поднимается и в файловом, и в серверном варианте. Но для базы на десятки гигабайт выгрузка идёт долго, а загрузка .dt требует монопольного доступа. Поэтому .dt хорош как дополнительная копия перед обновлением, а не как единственный способ резервирования.
Последний пункт часто пропускают. Копия, которую ни разу не разворачивали, — это предположение, а не копия.