Физическое хранение базы 1С 8.3: какие файлы и таблицы за ним стоят

· 10 мин

Содержание

В файловом варианте 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. В открытой программе нажмите на значок вопроса в правом верхнем углу или откройте главное меню.
  2. Выберите Справка → О программе.
  3. В строке информационной базы будет указан каталог (для файловой) или сервер и имя базы (для серверной).

Программно путь возвращает функция СтрокаСоединенияИнформационнойБазы() — удобно, если нужно вывести его в обработке или в заголовке окна.

Какую строку вы видите внизу окна запуска?

Журнал регистрации, тома файлов и другие данные вне базы

Не всё, что пользователь видит в 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 по сети напрямую, а не через «сервер». Поэтому один зависший на ноутбуке клиент может держать блокировку файла для всех.

Когда чистить кэш

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

  1. Добавить к базе в окне запуска параметр /ClearCache (кнопка Изменить → последняя страница мастера → поле дополнительных параметров) и запустить её один раз.
  2. Закрыть все окна 1С и удалить папки с GUID в %LOCALAPPDATA%\1C\1cv8\ и %APPDATA%\1C\1cv8\.

При втором способе удаляются кэш и локальные настройки всех баз сразу, данные в базе не страдают. Делайте это, когда пользователь вышел из 1С: на открытом сеансе папки заняты, а принудительное закрытие программы оборвёт работу.

Перенос базы между файловым и серверным режимом

Скопировать 1Cv8.1CD в SQL нельзя: форматы хранения разные. Переносят через выгрузку информационной базы в файл .dt — он содержит и конфигурацию, и все данные.

Из файлового варианта на сервер

  1. Попросите всех пользователей выйти из базы.
  2. Откройте файловую базу в Конфигураторе и выберите Администрирование → Выгрузить информационную базу. Сохраните файл .dt.
  3. В консоли администрирования серверов 1С создайте новую информационную базу: укажите сервер СУБД, имя базы данных, пользователя СУБД и поставьте флажок создания базы данных, если её ещё нет.
  4. Добавьте новую базу в список в окне запуска со строкой Srvr=...;Ref=....
  5. Откройте её в Конфигураторе и выберите Администрирование → Загрузить информационную базу, указав файл .dt.
  6. Запустите базу в режиме 1С:Предприятие, проверьте остатки и пару отчётов.

Обратно: с сервера в файл

Порядок тот же: выгрузка .dt из серверной базы, создание пустой файловой базы в нужной папке, загрузка .dt в неё. Так поступают, когда нужна копия базы на ноутбук для бухгалтера или для разработчика.

Перед загрузкой .dt проверьте
Выполнено: 0 / 5

Загрузка .dt полностью заменяет данные в базе-приёмнике. Если по ошибке выбрать рабочую базу, её содержимое будет перезаписано без возможности отмены — сделайте её выгрузку заранее.

Для больших баз, от 50 ГБ, выгрузка и загрузка .dt идут часами. Перенос между двумя SQL-серверами при этом обычно делают средствами СУБД — резервной копией и восстановлением базы, а затем регистрируют её в кластере 1С.

Частые ошибки при поиске и переносе данных

  • ❌ Копируют файл 1Cv8.1CD при открытой базе. Копия может оказаться повреждённой. Копируйте только после выхода всех пользователей или делайте выгрузку .dt.
  • ❌ Путают имя базы в кластере и имя в SQL. Ref в строке подключения — имя в кластере 1С. Имя базы данных в СУБД смотрите в свойствах информационной базы в консоли кластера.
  • ❌ Ищут базу в Program Files. Там лежит только платформа. Базы там по умолчанию не создаются.
  • ❌ Удаляют «лишние» папки с GUID в srvinfo. Это данные зарегистрированных баз и их журналы. Удалять базу нужно через консоль кластера, а не в проводнике.
  • ❌ Считают кэш на компьютере копией данных. Из %LOCALAPPDATA%\1C\1cv8\ базу не восстановить: там нет документов и остатков.
Можно ли открыть файл 1Cv8.1CD без 1С?
Нет. Это внутренний формат платформы. Для просмотра данных нужна платформа 1С той же или более новой версии; сторонние утилиты чтения формата 1CD существуют, но для рабочих задач ими не пользуются.
Где хранятся данные базы в облаке или в аренде 1С?
На серверах провайдера, обычно в клиент-серверном варианте. Себе можно получить копию в виде файла .dt — запросите её у провайдера или выгрузите сами, если у вас есть доступ к Конфигуратору.
Можно ли держать файловую базу на флешке или в облачной папке?
Технически база откроется, но так рискованно: синхронизация облака может сохранить файл посреди записи, а флешку легко выдернуть. Храните базу на локальном или сетевом диске, а в облако кладите выгрузки .dt.
Хранит ли 1С пароли пользователей в открытом виде?
Нет. Список пользователей и хэши паролей лежат внутри информационной базы, а не в отдельном файле рядом с ней.
Как узнать размер базы на SQL-сервере?
Через средства СУБД: в SQL Server Management Studio — свойства базы данных, в PostgreSQL — функция pg_database_size. Какие таблицы самые крупные, покажет отчёт СУБД по размеру таблиц, а метод ПолучитьСтруктуруХраненияБазыДанных() подскажет, каким объектам 1С они соответствуют.