Из чего физически состоит информационная база 1С и где лежат её данные
Содержание
Файловая база данных 1С 8.3 физически выглядит как обычная папка на диске, внутри которой главный файл — 1Cv8.1CD. В нём одновременно хранятся данные, конфигурация и список пользователей. В клиент-серверном варианте такой папки нет: данные лежат в СУБД (MS SQL Server или PostgreSQL), а на сервере 1С остаются только служебные каталоги кластера.
Выбор между вариантами простой. Файловый ставят на 1–5 пользователей и для тестовых копий: его легко скопировать и перенести. Клиент-серверный выбирают, когда пользователей больше 10–15, база выросла до десятков гигабайт или нужна надёжная работа по сети. Перевести базу из одного варианта в другой можно в любой момент через выгрузку .dt, так что выбор не окончательный.
Файловая база 1С: что лежит в папке
По умолчанию новая база создаётся в профиле пользователя: C:\Users\<имя>\Documents\InfoBase. Следующие получают имена InfoBase1, InfoBase2 и так далее. Путь можно задать любой — на локальном диске или в сетевой папке.
Чтобы узнать, где лежит ваша база, не нужно искать по диску:
- Откройте окно запуска 1С.
- Выделите базу в списке — внизу окна появится строка вида
File="D:\Bases\Buh". - Либо в уже открытой базе откройте главное меню (кнопка с тремя полосками) →
Справка → О программе. В строке каталога указан путь.
Содержимое папки рабочей файловой базы выглядит так:
| Объект | Что это | Можно удалять? |
|---|---|---|
1Cv8.1CD | Сама база: данные, конфигурация, пользователи | Нет — это и есть база |
1Cv8.1CL | Файл блокировки, появляется во время работы | Только когда в базе никого нет |
1Cv8Log\ | Журнал регистрации | Можно, но потеряете историю действий |
1Cv8FTxt\ | Индекс полнотекстового поиска | Можно, индекс перестроится |
Если в папке лежит только 1Cv8.1CD — это нормальная, полноценная база. Остальное создаётся автоматически при первом запуске.
Почему один файл, а не много
Внутри 1Cv8.1CD устроен как маленькая СУБД собственного формата. Файл разбит на страницы, в нём есть таблицы, индексы и свободное место. Снаружи это один файл, поэтому базу легко скопировать на флешку или отправить архивом.
У такого устройства есть и минус. Файл не уменьшается сам: если удалить половину документов, размер на диске останется прежним. Место освобождается только после сжатия таблиц при тестировании и исправлении (об этом ниже) или после выгрузки-загрузки базы через .dt.
Чем 1Cv8.1CD не является
Рядом с базой часто лежат файлы с похожими расширениями. Они к самой базе не относятся:
- 📦
.dt— выгрузка информационной базы, архив для переноса и резервной копии. Чтобы работать, её нужно загрузить в пустую базу. - 🧩
.cf— файл конфигурации без данных: только справочники, документы, отчёты как структура. - 🔄
.cfu— файл обновления конфигурации. - 🔌
.cfe— расширение конфигурации . - 📝
.epfи.erf— внешние обработки и отчёты.
Служебные файлы и где хранится конфигурация
Конфигурация файловой базы живёт внутри того же 1Cv8.1CD, в служебных таблицах. Там две её копии:
- 🛠️ основная конфигурация — та, которую вы правите в Конфигураторе;
- ✅ конфигурация базы данных — та, с которой реально работают пользователи.
Пока вы не нажали «Обновить конфигурацию базы данных», изменения есть только в основной. Поэтому после правки в Конфигураторе пользователи не видят нового, а сам Конфигуратор показывает, что конфигурация отличается от конфигурации базы.
Данные хранятся в таблицах со служебными именами. Человеческие названия объектов в них не используются:
| Префикс таблицы | Объект конфигурации |
|---|---|
_Reference | Справочники |
_Document | Документы |
_AccumRg | Регистры накопления |
_InfoRg | Регистры сведений |
_AccRg | Регистры бухгалтерии |
_Const | Константы |
После префикса идёт число, например _Reference45 или _Document312. Какому справочнику соответствует номер, в каждой базе своё. Сопоставление выдаёт встроенная функция ПолучитьСтруктуруХраненияБазыДанных().
Править эти таблицы напрямую — сторонними утилитами в файловой базе или SQL-запросами в серверной — нельзя. Платформа держит в них связи и итоги регистров. Ручная правка таблиц ломает базу так, что штатное тестирование её может не восстановить.
Что хранится не в папке базы, а у пользователя
Часть файлов, которые путают с базой, лежит в профиле Windows на каждом компьютере:
- 📋
%APPDATA%\1C\1CEStart\ibases.v8i— список баз в окне запуска. Удаление этого файла не трогает сами базы, только очищает список. - 🗂️
%APPDATA%\1C\1cv8\и%LOCALAPPDATA%\1C\1cv8\— кеш конфигурации и пользовательские настройки. Папки с длинными именами из букв и цифр — это идентификаторы баз.
Кеш бывает виновником ошибки Ошибка формата потока и странного поведения форм. Очистка кеша безопасна для данных: база при этом не меняется, при следующем запуске кеш соберётся заново.
Клиент-серверная база: где на самом деле данные
В клиент-серверном варианте нет файла 1Cv8.1CD. Данные хранятся в базе данных СУБД: чаще всего Microsoft SQL Server или PostgreSQL. Структура таблиц та же — _Reference45, _Document312 и так далее, только они созданы в СУБД.
Физически данные лежат там, где их держит СУБД:
- 🗄️ MS SQL Server — файлы
.mdf(данные) и.ldf(журнал транзакций) в каталоге данных экземпляра SQL; - 🐘 PostgreSQL — каталог данных кластера PostgreSQL, где каждая база — набор файлов без понятных имён.
Копировать эти файлы вручную как «базу 1С» бессмысленно. Резервную копию делают средствами СУБД или выгрузкой .dt.
Что хранит сервер 1С
Сервер 1С данных бухгалтерии не хранит. В его рабочем каталоге — по умолчанию C:\Program Files\1cv8\srvinfo — лежат:
- 📑
reg_1541\1CV8Clst.lst— реестр кластера: список информационных баз, параметры подключения к СУБД, рабочие серверы; - 📁
reg_1541\<идентификатор базы>\1Cv8Log\— журнал регистрации каждой базы; - ⏳ папки
snccntx…— сеансовые данные, временная информация активных сеансов.
Число 1541 в имени — порт менеджера кластера. Если кластер поднят на другом порту, имя папки будет другим.
Очистку сеансовых данных делают только при остановленной службе «Агент сервера 1С:Предприятия». Остановка службы обрывает сеансы всех пользователей всех баз кластера — делайте это вне рабочего времени и предупредив людей.
Как найти базу в СУБД
Имя базы в списке 1С и имя базы данных в SQL могут не совпадать. Проверить соответствие можно в консоли администрирования серверов 1С: откройте кластер → Информационные базы → свойства нужной базы. Там указаны сервер СУБД, тип СУБД и имя базы данных.
Файловый и клиент-серверный вариант хранения: сравнение
| Параметр | Файловая база | Клиент-серверная база |
|---|---|---|
| Где данные | Файл 1Cv8.1CD | Файлы СУБД (.mdf/.ldf или каталог PostgreSQL) |
| Где конфигурация | Внутри 1Cv8.1CD | В таблицах базы СУБД |
| Журнал регистрации | 1Cv8Log рядом с базой | srvinfo\reg_1541\<ID>\1Cv8Log на сервере 1С |
| Копия «на лету» | Копирование файла при закрытой базе | Средства СУБД без остановки работы |
| Комфортно пользователей | 1–5, до 10 при хорошей сети | Десятки и сотни |
| Что нужно ставить | Только платформу 1С | Сервер 1С, СУБД, лицензию сервера |
| Риск повреждения | Выше: обрыв сети или питания бьёт по файлу | Ниже: у СУБД есть журнал транзакций |
Файловую базу
можно перевести в клиент-серверную и обратно через выгрузку .dt: выгрузили в одном варианте, создали пустую базу в другом, загрузили. Структура таблиц платформа создаст сама.
Как проверить целостность файлов базы
Повреждение 1Cv8.1CD обычно случается после аварийного выключения компьютера, обрыва связи с сетевой папкой во время записи или сбоя диска. Признаки: база не открывается, падает на конкретном документе, отчёты показывают нелогичные остатки.
Перед любой проверкой с исправлением сделайте копию папки базы или выгрузку .dt. Исправление может удалить битые объекты, и откатить это без копии нельзя.
Способ 1. Тестирование и исправление в Конфигураторе
- Убедитесь, что в базе никого нет: для этой операции нужен монопольный доступ.
- Запустите базу в режиме Конфигуратора.
- Откройте
Администрирование → Тестирование и исправление. - Для первой проверки отметьте «Проверка логической целостности информационной базы» и «Проверка ссылочной целостности», режим — «Только тестирование».
- Посмотрите отчёт. Если ошибки есть, запустите повторно с режимом «Тестирование и исправление».
- Флажок «Сжатие таблиц информационной базы» освобождает пустое место внутри
1Cv8.1CD— тот самый случай, когда файл не уменьшается после удаления данных.
Способ 2. Утилита chdbfl.exe
Если база не открывается даже в Конфигураторе, используют утилиту chdbfl.exe («Проверка физической целостности файла базы данных»). Она лежит в каталоге установленной платформы, в папке bin, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe.
- Закройте все сеансы базы.
- Запустите
chdbfl.exe, укажите путь к1Cv8.1CD. - Сначала запустите проверку без флажка исправления.
- Если ошибки найдены — включите исправление и повторите.
Утилита работает только с файловыми базами. Для клиент-серверных физическую целостность проверяют средствами СУБД: в MS SQL — DBCC CHECKDB, в PostgreSQL — утилитой pg_amcheck (есть в версиях 14 и новее). Логическую проверку в Конфигураторе можно запускать для обоих вариантов.
Если не помогло
- 🔁 Восстановите базу из последней копии и перенесите недостающие документы вручную.
- 📤 Если база открывается хотя бы частично, сделайте выгрузку
.dtи загрузите её в новую пустую базу: при загрузке файл собирается заново. - 🧑💻 При физическом повреждении диска сначала снимите образ диска или скопируйте файл, и только потом пробуйте исправлять копию.
Безопасность файлов базы и права доступа
Файл 1Cv8.1CD — это вся база целиком. Кто скопировал файл, тот унёс данные, конфигурацию и список пользователей. Пароли пользователей 1С хранятся не открытым текстом, но это не защищает данные: пароль закрывает вход через платформу, а не сам файл.
Права на папку файловой базы
Каждому, кто работает с файловой базой, нужны права на чтение и изменение в её папке. Платформа создаёт в ней файл блокировки и журнал регистрации. Если дать только чтение, база откроется с ошибкой или не откроется вовсе.
Практичная схема для сетевой папки:
- 👥 создайте группу Windows, например «Пользователи 1С», и выдайте ей право «Изменение» на папку базы;
- 🚫 остальным пользователям сети доступ к папке закройте;
- 🔒 администраторские права на папку оставьте одному-двум людям.
Не публикуйте всю папку Bases с правом «Полный доступ» для «Всех». Это самый частый путь, которым база утекает или повреждается случайным удалением.
Права в клиент-серверном варианте
Пользователи к СУБД напрямую не подключаются. К базе SQL обращается только сервер 1С от имени логина, который указан в свойствах информационной базы. Значит:
- доступ к серверу СУБД по сети нужен только серверу 1С и администраторам;
- логин СУБД для 1С не должен быть общим «sa» или «postgres» на все случаи;
- каталог
srvinfoзакрыт от обычных пользователей — в реестре кластера лежат параметры подключения к СУБД.
Антивирус и резервные копии
Антивирус, который проверяет 1Cv8.1CD при каждом обращении, замедляет работу и в редких случаях блокирует запись. Папку базы обычно добавляют в исключения проверки при доступе, а саму папку защищают правами и регулярными копиями.
Копировать работающую файловую базу простым копированием файла нельзя: в копию может попасть недописанная транзакция. Либо закройте все сеансы и копируйте 1Cv8.1CD, либо делайте выгрузку .dt, либо используйте обработки резервного копирования, которые есть в типовых конфигурациях.