Физическое хранение базы 1С 8.3: какие файлы и таблицы за ним стоят
Содержание
В файловом варианте 1С 8.3 все данные базы — справочники, документы, регистры и сама конфигурация — физически хранятся в одном файле 1Cv8.1CD в каталоге информационной базы. В клиент-серверном варианте этот файл не существует: данные лежат в таблицах СУБД (MS SQL Server, PostgreSQL, IBM Db2 или Oracle), а сервер 1С держит у себя только служебные файлы кластера и журнал регистрации.
Узнать, где хранится ваша база, можно за 10 секунд: выделите её в окне запуска 1С — внизу окна появится строка вида File="D:\Bases\Buh" или Srvr="srv01";Ref="buh". Первая означает папку на диске, вторая — сервер 1С и имя базы на нём.
Файловая база: что лежит в каталоге и где его искать
Файловый режим — это вариант, когда программа 1С сама читает и пишет файл базы, без отдельной СУБД. Его используют небольшие организации: 1–10 пользователей, одна-две базы.
По умолчанию новая база создаётся в профиле пользователя: C:\Users\<имя>\Documents\InfoBase, следующая — InfoBase1, InfoBase2 и так далее. На практике базы почти всегда переносят в отдельную папку, например D:\1C_Bases\Buh_OOO_Romashka, чтобы их не задело при переустановке Windows или чистке профиля.
Типичное содержимое каталога файловой базы:
| Что | Назначение |
|---|---|
1Cv8.1CD | Сама база: данные и конфигурация в одном файле |
1Cv8.1CL | Файл блокировки, появляется, пока с базой кто-то работает |
1Cv8tmp.1CD | Временный файл, возникает при некоторых операциях (например, при тестировании и исправлении) |
1Cv8Log\ | Журнал регистрации |
1Cv8FTxt\ | Индекс полнотекстового поиска |
Размер 1Cv8.1CD у живой Бухгалтерии за 3–5 лет обычно от 1 до 10 ГБ. Файл растёт неравномерно: удалённые объекты не сразу освобождают место, поэтому после чистки базы его сжимают через Конфигуратор → Администрирование → Тестирование и исправление с флажком сжатия таблиц.
Файл 1Cv8.1CL нельзя удалять, пока база открыта у пользователей. Если программа упала и база «залипла», сначала убедитесь, что процессов 1cv8.exe и 1cv8c.exe с этой базой нет ни на одном компьютере, и только тогда удаляйте файл блокировки. Иначе открытые сеансы оборвутся, а несохранённые документы пропадут.
Сетевая папка вместо локального диска
Если с файловой базой работают несколько человек, каталог кладут в общую сетевую папку, а в списке баз указывают путь вида \\server\1C_Bases\Buh. Каждый клиент открывает файл по сети, поэтому скорость сильно зависит от сети и антивируса.
💡 Добавьте каталог баз в исключения антивируса на сервере и на рабочих местах. Проверка 1Cv8.1CD на лету — частая причина «тормозов» в файловом режиме.
Сколько пользователей выдержит файловый режим
Жёсткого лимита нет, но после 5–10 одновременных пользователей начинаются ожидания на блокировках: файл один, и запись в него идёт по очереди. Признаки, что пора переходить на сервер:
- 🐢 проведение документа занимает десятки секунд, когда работают все;
- 🔒 регулярные ошибки блокировки при закрытии месяца;
- 📈 база перевалила за 10–15 ГБ и продолжает расти;
- 🌐 нужен доступ из нескольких офисов.
Клиент-серверная база: данные в таблицах СУБД
В клиент-серверном варианте работа устроена в три звена: клиент → сервер 1С → СУБД. Пользователь подключается к агенту сервера 1С (порт 1540), тот передаёт его менеджеру кластера (1541) и рабочим процессам, а они уже обращаются к базе данных на SQL-сервере.
Данные хранятся в обычной базе СУБД. Сервер 1С 8.3 поддерживает четыре системы:
| СУБД | Где встречается |
|---|---|
| Microsoft SQL Server | Самый частый вариант на Windows-серверах |
| PostgreSQL | Сборки с доработками для 1С, популярны на Linux и при импортозамещении |
| IBM Db2 | Редко, в крупных компаниях |
| Oracle Database | Редко, в крупных компаниях |
Как выглядят таблицы 1С в SQL
Если открыть базу 1С в SQL Server Management Studio или pgAdmin, вы увидите тысячи таблиц с неочевидными именами:
- 📁
_Reference45— справочник; - 📄
_Document123— документ, а_Document123_VT456— его табличная часть; - 📊
_AccumRg789— регистр накопления,_InfoRg...— регистр сведений ,_AccRg...— регистр бухгалтерии ; - ⚙️
Config,ConfigSave,Params,Files— служебные таблицы платформы, в них хранится конфигурация и параметры базы.
Цифры в именах у каждой базы свои. Соответствие «таблица SQL → объект конфигурации» возвращает метод ПолучитьСтруктуруХраненияБазыДанных(). Его вызывают из внешней обработки или консоли кода, если нужно понять, какой объект распух.
Не меняйте данные 1С напрямую SQL-запросами: платформа не узнает об изменениях, итоги регистров разойдутся с движениями, а лицензионное соглашение такое вмешательство не предусматривает. Прямые запросы допустимы только на чтение — для диагностики размера таблиц.
Что хранит сам сервер 1С
Кластер 1С держит служебные данные в каталоге srvinfo. По умолчанию:
- Windows:
C:\Program Files\1cv8\srvinfo; - Linux:
/home/usr1cv8/.1cv8/1C/1cv8.
Внутри — папка reg_1541. В ней лежит реестр кластера 1CV8Clst.lst (список баз, рабочих серверов, администраторов) и по одной папке на каждую информационную базу с её идентификатором (GUID) в имени. В папке базы находится журнал регистрации 1Cv8Log и сеансовые данные.
При резервном копировании сервера сохраняйте не только базы СУБД, но и 1CV8Clst.lst. Без него после аварии кластер придётся настраивать заново, хотя данные бухгалтерии останутся целы.
Как 1С запоминает список баз и пути к ним
Список баз в окне запуска — это не база и не реестр Windows, а текстовый файл в профиле пользователя:
%APPDATA%\1C\1CEStart\ibases.v8i
Каждая база в нём — блок с именем в квадратных скобках и строкой подключения:
[Бухгалтерия ООО Ромашка]
Connect=File="D:\1C_Bases\Buh_Romashka";
ID=3f1b2c4d-...
Folder=/
Version=8.3
Для серверной базы строка выглядит так: Connect=Srvr="srv01";Ref="buh_romashka";. Здесь Srvr — имя сервера 1С (при нестандартном порте добавляют :1641 и т.п.), Ref — имя базы в кластере, которое может не совпадать с именем базы в SQL.
Рядом с ibases.v8i лежит 1cestart.cfg — настройки стартера. В нём администратор может указать общий список баз (CommonInfoBases=\\server\share\bases.v8i), чтобы всем сотрудникам не прописывать базы вручную. Общий для всех пользователей компьютера файл настроек находится в C:\ProgramData\1C\1CEStart\1cestart.cfg.
Как посмотреть путь, если 1С уже открыта
- В открытой программе нажмите на значок вопроса в правом верхнем углу или откройте главное меню.
- Выберите
Справка → О программе. - В строке информационной базы будет указан каталог (для файловой) или сервер и имя базы (для серверной).
Программно путь возвращает функция СтрокаСоединенияИнформационнойБазы() — удобно, если нужно вывести его в обработке или в заголовке окна.
Журнал регистрации, тома файлов и другие данные вне базы
Не всё, что пользователь видит в 1С, лежит внутри 1Cv8.1CD или SQL-базы. Отдельно хранятся:
- 📜 Журнал регистрации. Для файловой базы — папка
1Cv8Logрядом с файлом базы, для серверной —srvinfo\reg_1541\<GUID базы>\1Cv8Log. Формат бывает двух видов: старый (набор файлов.lgfи.lgp) и новый — один файл1Cv8.lgd. Формат меняют в Конфигураторе:Администрирование → Настройка журнала регистрации. - 📎 Присоединённые файлы. Сканы договоров, вложения писем и прочие файлы конфигурации на БСП по умолчанию хранятся внутри базы. Если база растёт из-за них, в разделе
Администрированиеможно включить хранение файлов в томах на диске — тогда вложения уйдут в отдельную папку, и её тоже нужно включать в резервное копирование . - 🔍 Полнотекстовый индекс. Папка
1Cv8FTxt, её можно удалить и перестроить заново. - 📦 Выгрузки
.dt, резервные копии, файлы обмена — там, куда их сохранил пользователь или регламентное задание.
Если переносите базу простым копированием папки, но забыли тома файлов, документы откроются, а вложенные сканы — нет.
Кэш тонкого и толстого клиента на компьютере пользователя
Даже при серверной базе на компьютере пользователя остаются данные 1С — но это кэш, а не учётные данные. Он хранится в профиле Windows:
%LOCALAPPDATA%\1C\1cv8\— кэш конфигурации: метаданные, формы, модули. Папки с длинными GUID в имени, по одной на каждую базу.%APPDATA%\1C\1cv8\— локальные настройки клиента для каждой базы.
Сами пользовательские настройки (вид форм, отборы, варианты отчётов) платформа хранит в информационной базе, поэтому они «переезжают» с пользователем на другой компьютер.
Разница между клиентами в том, сколько кэша нужно и где выполняется код:
| Клиент | Что делает | Влияние на кэш |
|---|---|---|
Тонкий (1cv8c.exe) | Показывает формы, логика на сервере | Кэш небольшой, обновляется быстрее |
Толстый (1cv8.exe) | Может выполнять серверный код у себя; в файловом режиме сам работает с файлом базы | Кэширует больше, первый запуск после обновления дольше |
| Веб-клиент | Работает в браузере | Кэш в браузере, папки в профиле не создаёт |
В файловом варианте важная деталь: любой клиент обращается к 1Cv8.1CD по сети напрямую, а не через «сервер». Поэтому один зависший на ноутбуке клиент может держать блокировку файла для всех.
Когда чистить кэш
Кэш чистят, если после обновления конфигурации формы выглядят по-старому, появляются странные ошибки при открытии или база запускается заметно медленнее обычного. Два способа:
- Добавить к базе в окне запуска параметр
/ClearCache(кнопкаИзменить→ последняя страница мастера → поле дополнительных параметров) и запустить её один раз. - Закрыть все окна 1С и удалить папки с GUID в
%LOCALAPPDATA%\1C\1cv8\и%APPDATA%\1C\1cv8\.
При втором способе удаляются кэш и локальные настройки всех баз сразу, данные в базе не страдают. Делайте это, когда пользователь вышел из 1С: на открытом сеансе папки заняты, а принудительное закрытие программы оборвёт работу.
Перенос базы между файловым и серверным режимом
Скопировать 1Cv8.1CD в SQL нельзя: форматы хранения разные. Переносят через выгрузку информационной базы в файл .dt — он содержит и конфигурацию, и все данные.
Из файлового варианта на сервер
- Попросите всех пользователей выйти из базы.
- Откройте файловую базу
в Конфигураторе и выберите
Администрирование → Выгрузить информационную базу. Сохраните файл.dt. - В консоли администрирования серверов 1С создайте новую информационную базу: укажите сервер СУБД, имя базы данных, пользователя СУБД и поставьте флажок создания базы данных, если её ещё нет.
- Добавьте новую базу в список в окне запуска со строкой
Srvr=...;Ref=.... - Откройте её в Конфигураторе и выберите
Администрирование → Загрузить информационную базу, указав файл.dt. - Запустите базу в режиме 1С:Предприятие, проверьте остатки и пару отчётов.
Обратно: с сервера в файл
Порядок тот же: выгрузка .dt из серверной базы, создание пустой файловой базы в нужной папке, загрузка .dt в неё. Так поступают, когда нужна копия базы на ноутбук для бухгалтера или для разработчика.
Загрузка .dt полностью заменяет данные в базе-приёмнике. Если по ошибке выбрать рабочую базу, её содержимое будет перезаписано без возможности отмены — сделайте её выгрузку заранее.
Для больших баз, от 50 ГБ, выгрузка и загрузка .dt идут часами. Перенос между двумя SQL-серверами при этом обычно делают средствами СУБД — резервной копией и восстановлением базы, а затем регистрируют её в кластере 1С.
Частые ошибки при поиске и переносе данных
- ❌ Копируют файл
1Cv8.1CDпри открытой базе. Копия может оказаться повреждённой. Копируйте только после выхода всех пользователей или делайте выгрузку.dt. - ❌ Путают имя базы в кластере и имя в SQL.
Refв строке подключения — имя в кластере 1С. Имя базы данных в СУБД смотрите в свойствах информационной базы в консоли кластера. - ❌ Ищут базу в
Program Files. Там лежит только платформа. Базы там по умолчанию не создаются. - ❌ Удаляют «лишние» папки с GUID в
srvinfo. Это данные зарегистрированных баз и их журналы. Удалять базу нужно через консоль кластера, а не в проводнике. - ❌ Считают кэш на компьютере копией данных. Из
%LOCALAPPDATA%\1C\1cv8\базу не восстановить: там нет документов и остатков.