Информационная база 1С: что в ней хранится и в каком виде

· 10 мин

Содержание

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

Физически база бывает двух видов: файловая (один файл 1Cv8.1CD в папке) и клиент-серверная (данные лежат в СУБД: PostgreSQL, Microsoft SQL Server и других). Вид базы выбирают при создании, от него зависят скорость, число пользователей, надёжность и способ резервного копирования.

Что именно лежит внутри базы 1С

В базе хранятся не только цифры. Условно содержимое делится на четыре слоя:

  • 📄 Данные учёта. Документы (реализации, поступления, платёжки), записи справочников (контрагенты, номенклатура), движения по регистрам, остатки и обороты.
  • ⚙️ Конфигурация. Метаданные: какие вообще существуют документы и справочники, их реквизиты, формы, отчёты и программный код на встроенном языке.
  • 👤 Настройки. Пользователи, роли и права, персональные настройки интерфейса, сохранённые варианты отчётов, расписания регламентных заданий.
  • 🧾 Служебные сведения. Журнал регистрации (действия пользователей, ошибки), история изменений данных, если она включена, версии объектов.

Конфигурация и данные живут вместе. Поэтому, когда вы обновляете релиз, платформа меняет структуру самой базы: добавляет таблицы, колонки, индексы. Это нетривиальная операция, и её нужно проводить с резервной копией.

Отдельно от базы хранятся файлы платформы (программа 1cv8), шаблоны, кэш пользователя и временные файлы. Копируя только каталог с программой, данные вы не сохраните.

Для чего нужно хранилище данных и что оно обеспечивает

База решает не только задачу «где положить данные». От неё ждут пяти вещей:

  1. Единое место правды. Все пользователи видят одни и те же остатки и документы. Бухгалтер и кладовщик работают с общими данными, а не с копиями.
  2. Целостность. Проведение документа либо записывает все его движения, либо не записывает ничего. Это обеспечивает механизм транзакций.
  3. Одновременная работа. Несколько человек вводят документы параллельно, а система следит, чтобы они не затёрли друг друга.
  4. Быстрая выборка. Отчёт за год по сотне тысяч строк строится за секунды благодаря индексам и итогам регистров.
  5. История и контроль. Журнал регистрации показывает, кто и когда изменил документ или удалил запись.

Всё это работает независимо от того, какой тип базы вы выбрали. Различается масштаб и цена ошибки.

Файловая база: когда хватает одного файла

Файловая база — это папка, в которой лежит файл 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 — планы обслуживания (бэкапы, пересчёт статистики, перестроение индексов). Конкретные настройки зависят от версии и нагрузки, поэтому проверяйте рекомендации по вашей СУБД.

Минимум регулярного обслуживания
Выполнено: 0 / 5

Самая частая ошибка — копия есть, но никогда не восстанавливалась. Раз в квартал разворачивайте копию на тестовой базе и проверяйте, что она открывается.

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

Можно ли открыть файл 1CD без 1С и прочитать данные?
Нет, формат закрытый. Штатный способ получить данные из файла — открыть базу платформой 1С и выгрузить нужное. Для внешних программ используют обмены и выгрузки, а не чтение файла напрямую.
Можно ли перенести базу с файлового варианта на SQL?
Да. Выгрузите базу в .dt в Конфигураторе, создайте пустую базу на сервере 1С и загрузите файл. Данные и конфигурация переедут целиком.
Почему размер базы растёт, хотя документов добавилось мало?
Чаще всего растут журнал регистрации, история изменений и итоги регистров. В SQL-базе добавляется фрагментация и журнал транзакций. Начните с проверки журнала регистрации и расписания обслуживания СУБД.
Сколько пользователей выдержит файловая база?
Ориентир — 5–10 одновременных пользователей при небольшом объёме данных. Точная цифра зависит от сети, дисков и типа операций. Если проведение стало долгим, пора переходить на клиент-серверный вариант.
Что делать, если файловая база повредилась?
Закройте базу у всех, скопируйте папку целиком, затем запустите тестирование и исправление в Конфигураторе. Если не помогло, восстанавливайте из свежей резервной копии.