Информационная база 1С: что в ней хранится и в каком виде
Содержание
База данных 1С — это место, где лежит всё, что вы вводите в программу: документы, справочники, регистры, настройки пользователей и сама конфигурация с кодом. Платформа 1С:Предприятие сама ничего не хранит, она только читает и пишет данные в базу. В 1С эту базу называют информационной базой.
Физически база бывает двух видов: файловая (один файл 1Cv8.1CD в папке) и клиент-серверная (данные лежат в СУБД: PostgreSQL, Microsoft SQL Server и других). Вид базы выбирают при создании, от него зависят скорость, число пользователей, надёжность и способ резервного копирования.
Что именно лежит внутри базы 1С
В базе хранятся не только цифры. Условно содержимое делится на четыре слоя:
- 📄 Данные учёта. Документы (реализации, поступления, платёжки), записи справочников (контрагенты, номенклатура), движения по регистрам, остатки и обороты.
- ⚙️ Конфигурация. Метаданные: какие вообще существуют документы и справочники, их реквизиты, формы, отчёты и программный код на встроенном языке.
- 👤 Настройки. Пользователи, роли и права, персональные настройки интерфейса, сохранённые варианты отчётов, расписания регламентных заданий.
- 🧾 Служебные сведения. Журнал регистрации (действия пользователей, ошибки), история изменений данных, если она включена, версии объектов.
Конфигурация и данные живут вместе. Поэтому, когда вы обновляете релиз, платформа меняет структуру самой базы: добавляет таблицы, колонки, индексы. Это нетривиальная операция, и её нужно проводить с резервной копией.
Отдельно от базы хранятся файлы платформы (программа 1cv8), шаблоны, кэш пользователя и временные файлы. Копируя только каталог с программой, данные вы не сохраните.
Для чего нужно хранилище данных и что оно обеспечивает
База решает не только задачу «где положить данные». От неё ждут пяти вещей:
- Единое место правды. Все пользователи видят одни и те же остатки и документы. Бухгалтер и кладовщик работают с общими данными, а не с копиями.
- Целостность. Проведение документа либо записывает все его движения, либо не записывает ничего. Это обеспечивает механизм транзакций.
- Одновременная работа. Несколько человек вводят документы параллельно, а система следит, чтобы они не затёрли друг друга.
- Быстрая выборка. Отчёт за год по сотне тысяч строк строится за секунды благодаря индексам и итогам регистров.
- История и контроль. Журнал регистрации показывает, кто и когда изменил документ или удалил запись.
Всё это работает независимо от того, какой тип базы вы выбрали. Различается масштаб и цена ошибки.
Файловая база: когда хватает одного файла
Файловая база — это папка, в которой лежит файл 1Cv8.1CD с данными. Рядом при работе появляются служебные файлы, например файл блокировок 1Cv8.cdn, и каталог журнала регистрации. Сервера не нужно: каждый клиент открывает файл напрямую, по сети или локально.
Плюсы:
- запускается на любом компьютере, отдельная СУБД не требуется;
- копия делается обычным копированием папки при закрытой базе;
- дёшево в обслуживании, подходит для небольшой фирмы или ИП.
Минусы:
- каждый клиент сам читает и пишет файл, поэтому нагрузка ложится на сеть и диски рабочих станций;
- при сбое питания у клиента во время записи файл может повредиться;
- чем больше пользователей и размер файла, тем заметнее тормоза;
- нет полноценного разграничения доступа на уровне сервера: любой, кто видит папку, может скопировать файл целиком.
На практике файловый режим комфортно работает у небольших команд, примерно до 5–10 одновременных пользователей и с базой размером до нескольких гигабайт. Это ориентир, а не жёсткий предел: многое зависит от сети, дисков и характера работы (массовое проведение документов нагружает сильнее, чем ввод по одному).
Файловую базу нельзя держать в папке с общим доступом, куда без ограничений заходит весь офис. Файл можно удалить или унести на флешке. Права на папку выдавайте только тем, кто реально работает в базе.
Клиент-серверная база: масштаб и надёжность
В этом режиме клиент работает с сервером 1С:Предприятия, а тот обращается к СУБД. Клиентский компьютер напрямую файл не видит, вся тяжёлая работа выполняется на серверах.
Схема из трёх частей:
| Компонент | Что делает |
|---|---|
| Клиентское приложение | Показывает формы, принимает ввод, отправляет запросы серверу 1С |
| Сервер 1С (кластер) | Выполняет серверный код, проводит документы, распределяет нагрузку между рабочими процессами |
| СУБД | Хранит таблицы базы, выполняет запросы, обеспечивает транзакции и резервные копии |
Внутри сервера 1С различают агент (ragent), менеджер кластера (rmngr) и рабочие процессы (rphost). Именно рабочие процессы выполняют основную работу, и при высокой нагрузке их можно запускать на нескольких машинах.
Какие СУБД поддерживает платформа: PostgreSQL, Microsoft SQL Server, IBM DB2 и Oracle Database. Самые частые выборы — PostgreSQL (бесплатный) и MS SQL Server (платная лицензия). Точный список и версии, с которыми работает ваш релиз платформы, проверяйте в документации к этому релизу: от версии платформы зависит, какие версии СУБД поддерживаются.
Что получаете взамен усложнения:
- ускорение при десятках и сотнях пользователей;
- обмен между клиентом и сервером идёт короткими запросами, а не передачей страниц файла по сети;
- защита от потери данных: журнал транзакций СУБД, резервные копии «на горячую», репликация;
- права на файлы базы получает только администратор сервера, а не каждый пользователь.
Цена — отдельный сервер, лицензии (на сервер 1С и при необходимости на СУБД), специалист по администрированию. Для компании из трёх человек это избыточно, для сотни пользователей без этого не обойтись.
Как выбрать между двумя вариантами
Чтобы не гадать, прикиньте по списку:
Устройство базы: из каких файлов и таблиц она состоит
Файловая база
Основной файл — 1Cv8.1CD. Это внутренний формат 1С: напрямую в нём ничего не поправишь, его читает только платформа. В той же папке бывают:
1Cv8.cdn— блокировки, создаётся при работе пользователей;1Cv8Log— журнал регистрации (может быть в другом формате, если настроен);1Cv8FTxt— каталог полнотекстового индекса, если включён полнотекстовый поиск.
Дополнительные файлы создаются платформой и удаляются или пересоздаются без вашего участия. Руками их удалять не нужно: безобидным может оказаться только полнотекстовый индекс, остальное чревато потерей данных.
Клиент-серверная база
Внутри СУБД база 1С — набор таблиц. Названия для таблиц платформа генерирует сама: у них составные имена вида _Document123, _Reference45, а не «Реализация товаров». Соответствие имён метаданным хранится в служебной таблице. Данные в таблицах разложены по реквизитам, а табличные части выделены в отдельные таблицы.
Для разработчика это почти не важно: он обращается к данным через язык запросов 1С, а не пишет SQL. Но администратору полезно знать две вещи:
- ✅ Прямой SQL-запрос к базе — крайняя мера. Если записать данные в таблицы в обход платформы, можно получить рассинхронизацию индексов и итогов. Читать можно, писать нельзя, за исключением случаев, когда вы на 100% уверены.
- ✅ Структура меняется при каждом обновлении. Любые сторонние отчёты и выгрузки, которые читают таблицы напрямую, нужно перепроверять после смены релиза.
Переносимость базы: выгрузка в .dt
Универсальный способ сохранить базу
любого вида — выгрузка в файл .dt. Это архив, который не зависит от того, файловая база или клиент-серверная. Его можно загрузить в базу другого типа.
Как выгрузить: откройте базу в Конфигураторе и выберите Администрирование → Выгрузить информационную базу. Для загрузки есть парный пункт Загрузить информационную базу. Загрузка заменяет все данные в целевой базе, поэтому проводите её в пустую базу или уже после копирования рабочей.
Если нужно перевести файловую базу на PostgreSQL или SQL Server, выгружайте .dt, создавайте новую пустую базу на сервере и загружайте файл. Прямого «конвертера» файла 1CD в таблицы не существует.
Блокировки: как база не даёт пользователям мешать друг другу
Когда двое одновременно пытаются изменить один и тот же объект, нужен арбитр. В 1С этим занимается механизм блокировок. Он работает на двух уровнях.
Транзакционные блокировки платформы. Платформа сама блокирует объекты на время проведения документа, чтобы остатки считались корректно. Она делает это автоматически для регистров накопления и сведений, где остатки зависят от последовательности проведения.
Блокировки СУБД. Клиент-серверная база дополнительно использует механизмы блокировок СУБД. Здесь выбирается режим управления блокировками (автоматический или управляемый). В управляемом режиме платформа блокирует только то, что нужно, и параллельность выше. В автоматическом режиме блокировки шире и надёжнее с точки зрения ошибок, но возможны ожидания.
Чем отличается поведение в двух типах баз:
| Файловая база | Клиент-серверная | |
|---|---|---|
| Гранулярность | Блокировка на уровне страниц и таблиц файла, крупнее | Строки и таблицы СУБД, детальнее |
| Конфликты | Растут вместе с числом пользователей | Заметны только при нагрузке на одни и те же данные |
| Вероятность взаимоблокировки | Выше | Ниже, но возможна |
Если вы видите сообщение о том, что объект заблокирован другим пользователем или время ожидания блокировки истекло, дело, как правило, в долгой транзакции: массовое проведение, закрытие месяца , обмен. Выясните, какой сеанс держит блокировку, и дождитесь завершения операции.
Не завершайте сеанс пользователя принудительно, пока не убедитесь, что он не в середине проведения. Оборвёте транзакцию — часть работы потеряется. Сначала позвоните коллеге.
Безопасность и доступ
Защита данных строится на нескольких уровнях:
- 🔐 Роли и права внутри 1С определяют, что пользователь видит и меняет. Это основной механизм.
- 🗂 Ограничение доступа на уровне записей (RLS) позволяет показывать пользователю только «свои» организации или склады, если оно настроено в конфигурации.
- 🖥 Права на сервер и СУБД. Пользователи не должны иметь логины в СУБД. Рабочие процессы 1С подключаются под служебной учётной записью.
- 💾 Шифрование и физический доступ. Файловую базу безопасно хранить только там, куда не заходят посторонние.
Отдельно: пароли пользователей 1С хранятся в базе не в открытом виде, но это не повод считать файл безопасным. Копия файла 1CD с паролем администратора — серьёзная утечка.
Обслуживание: что делать, чтобы база не тормозила и не умерла
Базу нужно периодически «причёсывать». Набор действий зависит от типа.
Для файловой базы
- 🗄 Резервная копия. Ежедневно: копируйте папку при закрытой базе или выгружайте
.dt. Хранить копию в той же папке нельзя — потеряете вместе с базой. - 🔧 Тестирование и исправление. Конфигуратор:
Администрирование → Тестирование и исправление информационной базы. Проверка проводится в монопольном режиме, когда в базе никто больше не работает . Перед запуском сделайте копию. - 🧹 Чистка журнала регистрации. Он растёт и замедляет открытие. Настройте срок хранения или периодически очищайте его.
- 📦 Контроль размера. Если файл заметно вырос, а данных столько же, выгрузите
.dtи загрузите в новую базу: так файл уплотняется.
Для клиент-серверной базы
Часть задач выполняет СУБД, часть — администратор.
| Что | Зачем | Как часто |
|---|---|---|
| Резервная копия средствами СУБД | Восстановить базу на любой момент | Ежедневно, плюс копии журнала транзакций, если нужна точность |
| Обновление статистики | Оптимизатор строит правильные планы запросов | Регулярно, обычно раз в сутки или неделю |
| Переиндексация и очистка | Убирает фрагментацию, освобождает место | Регулярно по регламенту |
| Контроль свободного места | База и журнал растут, диск не должен кончиться | Постоянно, с оповещением |
Для PostgreSQL регламент включает обслуживание командами и фоновыми процессами очистки; для MS SQL Server — планы обслуживания (бэкапы, пересчёт статистики, перестроение индексов). Конкретные настройки зависят от версии и нагрузки, поэтому проверяйте рекомендации по вашей СУБД.
Самая частая ошибка — копия есть, но никогда не восстанавливалась. Раз в квартал разворачивайте копию на тестовой базе и проверяйте, что она открывается.
Частые вопросы
Можно ли открыть файл 1CD без 1С и прочитать данные?
Можно ли перенести базу с файлового варианта на SQL?
.dt в Конфигураторе, создайте пустую базу на сервере 1С и загрузите файл. Данные и конфигурация переедут целиком.