Как устроена информационная база 1С 8.3: файлы, СУБД и таблицы внутри
Содержание
База данных 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С:Предприятия — кластер, который выполняет код конфигурации и запросы.
- СУБД — хранит данные. Каждая информационная база — отдельная база данных в СУБД.
В этом варианте вы не найдёте файла базы на сервере 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С. Первое подключение идёт через агент сервера (порт
1540), затем менеджер кластера (1541) направляет клиента к рабочему процессу. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера. - Рабочий процесс выполняет код. Здесь работает программный модуль документа: проверки заполнения, формирование движений.
- Запросы переводятся в SQL. Запрос на языке 1С (
ВЫБРАТЬ … ИЗ Документ.Реализация…) платформа переводит в SQL под конкретную СУБД. - Устанавливаются блокировки. В современных конфигурациях — управляемые блокировки 1С плюс блокировки на стороне СУБД. Если два пользователя одновременно проводят документы по одному товару, один ждёт другого.
- Транзакция фиксируется. Документ и все его движения записываются вместе. Если на любом шаге ошибка — откатывается всё, и в базе не остаётся «полупроведённого» документа.
В файловом варианте всё то же самое, но код выполняет процесс 1С на компьютере пользователя, а данные он читает прямо из файла 1Cv8.1CD.
Ошибка «Конфликт блокировок при выполнении транзакции» — это не поломка базы. Так платформа сообщает, что нужные данные дольше допустимого держал другой пользователь. Обычно достаточно повторить действие.
Частые проблемы с базой 1С и как их не допустить
Что реально предотвращает большую часть проблем:
- 🔌 ИБП на сервере или компьютере, где лежит файловая база.
- 🛡️ Исключение
.1CD, каталога базы и папки кэша из проверки антивируса в реальном времени. - 💾 Регулярная резервная копия с проверкой, что она разворачивается.
- 🚫 Запрет на ручное редактирование таблиц через SQL.
Резервное копирование и восстановление базы 1С
Выгрузка в файл .dt
Универсальный способ для любого варианта базы:
- Откройте базу в режиме «Конфигуратор».
- Выберите
Администрирование → Выгрузить информационную базу. - Укажите путь и имя файла, например
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 | да | всё | файловая база, ежедневная копия |
| Бэкап СУБД | нет | всё, включая точку во времени | серверная база, ежедневная копия |
Как ускорить работу базы данных 1С
Начните с причины, а не с «железа». Медленная база бывает из-за сети, диска, блокировок или кода — и лечится по-разному.
Для файловой базы
- Перенесите базу на локальный SSD того компьютера, где работает большинство пользователей, или на сервер с быстрым диском.
- Настройте исключения антивируса для каталога базы и кэша 1С.
- Проведите тестирование и исправление. Конфигуратор →
Администрирование → Тестирование и исправление. Режим «Сжатие таблиц информационной базы» уменьшает файл после удаления данных. Нужен монопольный доступ, поэтому запускайте вечером, когда все вышли. - Почистите кэш пользователей, если тормоза начались после обновления.
Для клиент-серверной базы
- 📊 Обновление статистик и перестроение индексов в СУБД по расписанию. Для SQL Server это задачи плана обслуживания, для PostgreSQL —
VACUUM ANALYZEи регулярная работа autovacuum. - 🧮 Модель восстановления в SQL Server. При полной модели журнал транзакций
.ldfрастёт, пока не сделана копия журнала. Либо настройте такие копии, либо осознанно переключите базу на простую модель. - 🧠 Память для СУБД. Ограничьте максимальную память SQL Server, чтобы ей хватало места рядом с сервером 1С, если они на одной машине.
- ⏱️ Регламентные задания. Тяжёлые задания, например полнотекстовое индексирование или загрузку классификаторов, переносите на ночь.
Общие меры
- Включайте журнал регистрации только в нужном объёме: в Конфигураторе,
Администрирование → Настройка журнала регистрации, можно ограничить уровень событий и разделить журнал по периодам. - Пересчитывайте итоги регистров после массовых исправлений: в режиме Предприятия через
Все функции → Стандартные → Управление итогамиили в Конфигураторе режимом «Пересчёт итогов» при тестировании и исправлении. - Старые периоды, которые давно закрыты, можно свернуть или начать новую базу с остатками. Решение принимают вместе с главным бухгалтером: свёрнутые данные потом не детализировать.
Перед тестированием и исправлением, сжатием таблиц и любыми операциями обслуживания СУБД сделайте свежую резервную копию.