Как устроена информационная база 1С 8.3: файлы, СУБД и таблицы внутри

· 10 мин

Содержание

База данных 1С — это информационная база: одна конфигурация (программа учёта) плюс все ваши данные, справочники, документы и остатки. Хранится она либо в одном файле 1Cv8.1CD в папке на диске (файловый вариант), либо внутри СУБД — Microsoft SQL Server, PostgreSQL, IBM Db2 или Oracle Database (клиент-серверный вариант).

Чтобы узнать, где лежит ваша база, откройте окно запуска 1С, выделите базу и посмотрите строку внизу списка. File="D:\Bases\Buh" — это папка с файлом базы. Srvr="server1";Ref="buh" — база на сервере 1С, а сами данные — в СУБД на сервере.

Что такое база данных 1С и чем она отличается от обычной БД

В обычной базе данных вы сами создаёте таблицы и пишете запросы на SQL. В 1С всё иначе: разработчик описывает в конфигурации объекты — справочник «Номенклатура», документ «Реализация», регистр остатков. Платформа сама создаёт под них таблицы, индексы и связи.

Отсюда три особенности, которые важно помнить:

  • 🧩 Конфигурация хранится внутри базы. Не рядом, а в тех же служебных таблицах. Поэтому копия базы — это сразу и программа, и данные.
  • 🔒 Данные меняют только через 1С. Прямое изменение таблиц через SQL обходит проверки, движения регистров и блокировки. Итог — расхождения в остатках, которые потом ищут неделями.
  • 🔁 Формат хранения не зависит от СУБД. Одну и ту же базу можно перенести из файла в PostgreSQL и обратно через выгрузку .dt.

Термины «база данных 1С», «информационная база» и «ИБ» на практике означают одно и то же. Разница только в том, кто говорит: администратор чаще скажет «ИБ», бухгалтер — «база».

Где хранится база 1С: файловый и клиент-серверный вариант

Файловый вариант

Всё лежит в одной папке. Главный файл — 1Cv8.1CD: в нём конфигурация и данные. Рядом обычно есть:

Что в папкеДля чего
1Cv8.1CDсама база: конфигурация и данные
папка 1Cv8Logжурнал регистрации (кто, когда и что менял)
временные и служебные файлыпоявляются, пока с базой работают пользователи

Файловый вариант подходит для 1–5 одновременных пользователей и небольшого объёма. Если база в общей сетевой папке, каждый компьютер работает с файлом напрямую по сети. При слабой сети или антивирусе, проверяющем .1CD на лету, всё начинает тормозить.

Не копируйте и не перемещайте 1Cv8.1CD, пока в базе есть пользователи. Копия получится несогласованной, и при открытии придётся запускать тестирование и исправление.

Клиент-серверный вариант

Здесь участвуют три звена:

  1. Клиент — программа 1С на компьютере пользователя (тонкий клиент или браузер для веб-клиента).
  2. Сервер 1С:Предприятия — кластер, который выполняет код конфигурации и запросы.
  3. СУБД — хранит данные. Каждая информационная база — отдельная база данных в СУБД.

В этом варианте вы не найдёте файла базы на сервере 1С. Данные лежат в файлах самой СУБД: у SQL Server — .mdf и .ldf, у PostgreSQL — в каталоге данных кластера PostgreSQL. Копировать эти файлы вручную нельзя: резервные копии делают средствами СУБД или выгрузкой .dt.

Как выбрать вариант

КритерийФайловыйКлиент-серверный
Пользователей одновременнодо 5 комфортнодесятки и сотни
Что нужнопапка на дискесервер 1С, СУБД, лицензия на сервер
Резервная копиякопия папки или .dtсредства СУБД и .dt
Нагрузка на сетьвысокаянизкая: по сети идут только результаты
Администрированиепочти не нужнонужен администратор

Где хранится список баз

Список баз в окне запуска — не сами базы, а ссылки на них. Он лежит в файле ibases.v8i в профиле пользователя:

%APPDATA%\1C\1CEStart\ibases.v8i

Если база «пропала» из списка, сами данные чаще всего на месте. Достаточно добавить её заново кнопкой «Добавить» → «Добавление в список существующей информационной базы» и указать папку или сервер.

Что внутри: логическая структура информационной базы

Логически база 1С состоит из объектов конфигурации. Каждый тип объекта превращается в одну или несколько таблиц.

Объект конфигурацииЧто хранитПример
Константыодиночные значенияосновная валюта
Справочникисписки однотипных элементовконтрагенты, номенклатура
Документыфакты хозяйственной жизни с датойпоступление, реализация
Перечисленияфиксированные списки значенийвиды операций
Регистры сведенийданные в разрезе измерений, часто по датамкурсы валют, цены
Регистры накопленияостатки и оборотытовары на складах
Регистры бухгалтериипроводкихозрасчётный регистр в БП
Регистры расчётаначисления по периодамзарплатные начисления в ЗУП
Планы счетов и планы видов характеристиксчета, субконто, произвольные свойстваплан счетов бухучёта

Как это выглядит в СУБД

Если открыть базу 1С в SQL Server или PostgreSQL, вы увидите не «Контрагенты», а таблицы вида _Reference45, _Document112, _AccumRg860. Поля называются _Fld1234, ссылка на запись — _IDRRef.

Соответствие имён таблиц объектам конфигурации можно получить встроенным методом ПолучитьСтруктуруХраненияБазыДанных(). Его вызывают из обработки, которая выводит результат в таблицу.

💡 Табличная часть документа — отдельная таблица, а итоги регистров накопления хранятся в своей таблице итогов. Поэтому один документ «Реализация» с проведением затрагивает сразу несколько таблиц: шапку, табличную часть, движения регистров и итоги.

Служебные таблицы

Кроме данных, в базе есть служебные таблицы. В Config лежит конфигурация базы данных, в ConfigSave — основная конфигурация, ещё не применённая к базе. Отсюда вопрос «Обновить конфигурацию базы данных?»: основная конфигурация изменена, а в рабочую часть ещё не записана.

Путь запроса: от нажатия кнопки до записи в базу

Разберём, что происходит, когда бухгалтер проводит документ в клиент-серверной базе.

  1. Клиент отправляет команду. Тонкий клиент сам с СУБД не работает — он обращается к серверу 1С. Первое подключение идёт через агент сервера (порт 1540), затем менеджер кластера (1541) направляет клиента к рабочему процессу. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера.
  2. Рабочий процесс выполняет код. Здесь работает программный модуль документа: проверки заполнения, формирование движений.
  3. Запросы переводятся в SQL. Запрос на языке 1С (ВЫБРАТЬ … ИЗ Документ.Реализация…) платформа переводит в SQL под конкретную СУБД.
  4. Устанавливаются блокировки. В современных конфигурациях — управляемые блокировки 1С плюс блокировки на стороне СУБД. Если два пользователя одновременно проводят документы по одному товару, один ждёт другого.
  5. Транзакция фиксируется. Документ и все его движения записываются вместе. Если на любом шаге ошибка — откатывается всё, и в базе не остаётся «полупроведённого» документа.

В файловом варианте всё то же самое, но код выполняет процесс 1С на компьютере пользователя, а данные он читает прямо из файла 1Cv8.1CD.

Ошибка «Конфликт блокировок при выполнении транзакции» — это не поломка базы. Так платформа сообщает, что нужные данные дольше допустимого держал другой пользователь. Обычно достаточно повторить действие.

Частые проблемы с базой 1С и как их не допустить

Диагностика: выберите симптом

Что реально предотвращает большую часть проблем:

  • 🔌 ИБП на сервере или компьютере, где лежит файловая база.
  • 🛡️ Исключение .1CD, каталога базы и папки кэша из проверки антивируса в реальном времени.
  • 💾 Регулярная резервная копия с проверкой, что она разворачивается.
  • 🚫 Запрет на ручное редактирование таблиц через SQL.

Резервное копирование и восстановление базы 1С

Выгрузка в файл .dt

Универсальный способ для любого варианта базы:

  1. Откройте базу в режиме «Конфигуратор».
  2. Выберите Администрирование → Выгрузить информационную базу.
  3. Укажите путь и имя файла, например D:\Backup\buh_2026-10-07.dt.

Делайте выгрузку, когда в базе никто не работает: так копия будет согласованной. Восстановление — там же, Администрирование → Загрузить информационную базу.

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

Для загрузки нужен монопольный доступ: все пользователи должны выйти. Перед этим предупредите коллег — их сеансы будут прерваны.

Выгрузку можно запускать по расписанию из командной строки:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB"D:\Backup\buh.dt"

Номер версии в пути подставьте свой — посмотрите папку C:\Program Files\1cv8\. Для серверной базы вместо /F указывают /S"server1\buh".

Копия файловой базы

Для файлового варианта достаточно скопировать 1Cv8.1CD, когда все пользователи вышли из базы. Во многих типовых конфигурациях на базе БСП, например в Бухгалтерии 3.0, есть встроенная настройка: Администрирование → Обслуживание → Резервное копирование и восстановление. Она позволяет копировать базу автоматически при завершении работы или по расписанию.

Копия серверной базы средствами СУБД

Для клиент-серверной базы основной способ — штатное резервное копирование СУБД: план обслуживания в SQL Server, pg_dump или физические копии в PostgreSQL. Плюсы: копию можно делать без остановки работы, а при полной модели восстановления SQL Server — откатиться на конкретный момент времени.

СпособНужно ли выгонять пользователейЧто восстанавливаетКогда выбирать
Выгрузка .dtжелательноконфигурацию и данныеперенос, обновление, переход между СУБД
Копия 1Cv8.1CDдавсёфайловая база, ежедневная копия
Бэкап СУБДнетвсё, включая точку во временисерверная база, ежедневная копия
Проверка, что резервная копия рабочая
Выполнено: 0 / 5

Как ускорить работу базы данных 1С

Начните с причины, а не с «железа». Медленная база бывает из-за сети, диска, блокировок или кода — и лечится по-разному.

Для файловой базы

  1. Перенесите базу на локальный SSD того компьютера, где работает большинство пользователей, или на сервер с быстрым диском.
  2. Настройте исключения антивируса для каталога базы и кэша 1С.
  3. Проведите тестирование и исправление. Конфигуратор → Администрирование → Тестирование и исправление. Режим «Сжатие таблиц информационной базы» уменьшает файл после удаления данных. Нужен монопольный доступ, поэтому запускайте вечером, когда все вышли.
  4. Почистите кэш пользователей, если тормоза начались после обновления.

Для клиент-серверной базы

  • 📊 Обновление статистик и перестроение индексов в СУБД по расписанию. Для SQL Server это задачи плана обслуживания, для PostgreSQL — VACUUM ANALYZE и регулярная работа autovacuum.
  • 🧮 Модель восстановления в SQL Server. При полной модели журнал транзакций .ldf растёт, пока не сделана копия журнала. Либо настройте такие копии, либо осознанно переключите базу на простую модель.
  • 🧠 Память для СУБД. Ограничьте максимальную память SQL Server, чтобы ей хватало места рядом с сервером 1С, если они на одной машине.
  • ⏱️ Регламентные задания. Тяжёлые задания, например полнотекстовое индексирование или загрузку классификаторов, переносите на ночь.

Общие меры

  • Включайте журнал регистрации только в нужном объёме: в Конфигураторе, Администрирование → Настройка журнала регистрации, можно ограничить уровень событий и разделить журнал по периодам.
  • Пересчитывайте итоги регистров после массовых исправлений: в режиме Предприятия через Все функции → Стандартные → Управление итогами или в Конфигураторе режимом «Пересчёт итогов» при тестировании и исправлении.
  • Старые периоды, которые давно закрыты, можно свернуть или начать новую базу с остатками. Решение принимают вместе с главным бухгалтером: свёрнутые данные потом не детализировать.

Перед тестированием и исправлением, сжатием таблиц и любыми операциями обслуживания СУБД сделайте свежую резервную копию.

Частые вопросы

Можно ли открыть базу 1С без самой программы 1С?
Нет. Файл 1Cv8.1CD читает только платформа 1С. Серверную базу можно увидеть средствами СУБД, но там будут таблицы вида _Reference45 без понятных названий, и менять их напрямую нельзя.
Сколько весит база 1С?
Пустая Бухгалтерия 3.0 занимает несколько сотен мегабайт. Рабочая база небольшой фирмы за несколько лет — обычно от 1 до 10 ГБ, у крупных компаний серверные базы бывают в сотни гигабайт.
Как перенести файловую базу на другой компьютер?
Закройте 1С у всех пользователей, скопируйте папку с файлом 1Cv8.1CD на новый компьютер и добавьте её в список баз как существующую. Надёжнее дополнительно сделать выгрузку .dt.
Как перевести файловую базу на сервер с SQL?
Выгрузите базу в .dt, создайте на сервере 1С новую информационную базу с нужной СУБД и загрузите в неё файл .dt через Конфигуратор. Для серверной базы нужна лицензия на сервер 1С.
Где хранятся настройки пользователя: в базе или на компьютере?
Настройки форм, отчётов и списков хранятся в самой информационной базе, поэтому переезжают вместе с ней. На компьютере остаются кэш и список баз.