Что на самом деле хранит информационная база 1С и как она защищает ваши данные
Содержание
База данных 1С нужна, чтобы хранить все учётные записи предприятия в одном месте: справочники, документы, проводки, остатки, настройки пользователей и саму конфигурацию. Программа 1С без базы — пустая оболочка: она умеет показывать формы и считать, но всё, что вы ввели, живёт именно в информационной базе.
Частое заблуждение — считать, что «база 1С» и «программа 1С» одно и то же. На деле платформа 1С:Предприятие 8.3 ставится на компьютер отдельно, а базы подключаются к ней списком в окне запуска. Одна платформа может работать с десятком баз: бухгалтерия, зарплата, тестовая копия. И наоборот, одну базу открывают десятки пользователей с разных компьютеров.
Что хранится в информационной базе и как устроено хранение
Информационная база 1С объединяет две вещи: описание учёта (конфигурацию) и данные, которые по этому описанию накоплены.
Конфигурация
Конфигурация — это «чертёж» учёта: какие есть справочники, документы, регистры, отчёты, формы и роли. Бухгалтерия предприятия, ЗУП, Управление торговлей — всё это разные конфигурации, загруженные в разные базы.
В базе одновременно лежат:
- 📐 основная конфигурация — та, что пришла от поставщика или после доработки;
- 🗄 конфигурация базы данных — версия, по которой сейчас реально построены таблицы;
- 🧩 расширения — доработки, которые подключаются поверх типовой конфигурации, не меняя её.
Пока вы не нажали в Конфигураторе «Обновить конфигурацию
базы данных» (F7), изменения основной конфигурации пользователи не видят.
Данные
Каждый объект конфигурации превращается в одну или несколько таблиц:
| Объект конфигурации | Что хранит | Пример |
|---|---|---|
| Справочник | Списки, которые меняются редко | Контрагенты, номенклатура, сотрудники |
| Документ | Факты хозяйственной жизни | Поступление товаров, начисление зарплаты |
| Регистр накопления | Движения и остатки | Товары на складах, взаиморасчёты |
| Регистр бухгалтерии | Проводки и обороты по счетам | Дт 41.01 Кт 60.01 |
| Регистр сведений | Значения во времени | Курсы валют, цены, учётная политика |
| Константа | Одно значение на всю базу | Основная организация, дата запрета |
Документ при проведении записывает движения в регистры. Отчёты потом читают уже регистры, а не перебирают документы. Поэтому оборотно-сальдовая ведомость за год строится за секунды, а не за час.
💡 Регистры накопления и бухгалтерии хранят ещё и итоги — заранее посчитанные остатки по периодам. Это главный приём, на котором держится скорость отчётов в 1С.
Служебные данные
Кроме учёта, база хранит то, о чём пользователи обычно не думают:
- 👤 список пользователей, их роли и пароли (в виде хеша, не открытым текстом);
- ⚙️ персональные настройки форм и отчётов;
- 🔢 нумераторы документов;
- 📜 журнал регистрации — кто, когда и что менял (хранится рядом с базой, в каталоге
1Cv8Logу файловой базы).
Ссылочная целостность тоже на совести базы. Если контрагент указан в документах, удалить его «напрямую» нельзя: сначала пометка на удаление, затем проверка ссылок и только потом удаление.
Файловая база или SQL-сервер: два режима работы
Платформа 8.3 работает с базой в двух вариантах. Учётные возможности конфигурации одинаковы, разница — в надёжности, скорости и числе пользователей.
Файловый вариант
Вся база — один файл 1Cv8.1CD в папке на диске или в сетевом ресурсе. Рядом лежат служебные каталоги: журнал регистрации 1Cv8Log, индекс полнотекстового поиска 1Cv8FTxt.
Плюсы:
- ✅ не нужен отдельный сервер и СУБД;
- ✅ базу легко скопировать на флешку или другой компьютер;
- ✅ подходит для одного-нескольких пользователей и небольших объёмов.
Минусы:
- ❌ при работе по сети каждый клиент сам читает файл — при росте числа пользователей всё тормозит;
- ❌ сбой сети или питания во время записи может повредить файл;
- ❌ у всех пользователей должен быть доступ на чтение и запись к папке базы, а значит, файл можно просто скопировать.
Клиент-серверный вариант
Данные хранятся в отдельной СУБД, а между пользователями и СУБД стоит кластер серверов 1С. Пользователь подключается к агенту сервера (порт 1540 по умолчанию), тот передаёт его менеджеру кластера (1541) и рабочим процессам.
Платформа 8.3 поддерживает четыре СУБД:
- 🐘 PostgreSQL — чаще всего сборки, адаптированные для 1С; бесплатен;
- 🪟 Microsoft SQL Server — классический выбор на Windows;
- 🏢 IBM Db2 и Oracle Database — встречаются в крупных компаниях.
Клиент-серверный режим выдерживает сотни одновременных пользователей, блокирует данные точнее, а бэкапы делает средствами СУБД без остановки работы.
Перевести базу между режимами можно в любую сторону: выгрузить её в файл .dt в Конфигураторе и загрузить в новую пустую базу нужного типа.
Как база 1С справляется с одновременной работой пользователей
Когда два менеджера одновременно продают последний товар со склада, база должна пропустить только одну продажу. Для этого существуют транзакции и блокировки.
Транзакции
Проведение документа — это транзакция: либо записались все движения (документ, регистры, проводки), либо ни одно. Если на середине случился сбой, база откатывается к состоянию «до». Отсюда простое правило: полупроведённых документов в 1С не бывает.
Блокировки
Пока одна транзакция пишет данные, другие не должны их менять. В свойствах конфигурации есть параметр «Режим управления блокировкой данных» с вариантами:
- Автоматический — блокировки ставит СУБД, часто крупными кусками;
- Управляемый — блокировки ставит сама 1С по конкретным записям, а программист явно указывает, что блокировать;
- Автоматический и управляемый — переходный вариант для доработанных конфигураций.
Современные типовые конфигурации работают в управляемом режиме. Это и даёт возможность сотне пользователей проводить документы одновременно.
⚠️ В файловом варианте блокировка идёт на уровне целых таблиц. Если один бухгалтер проводит большой документ, остальные, кто пишет в те же таблицы, ждут. Отсюда типичные жалобы «всё зависло, когда Маша закрывает месяц».
Монопольный режим
Иногда базе нужно, чтобы в ней не было никого, кроме администратора. Монопольный доступ обязателен для:
- обновления структуры базы данных после изменения конфигурации;
- загрузки информационной базы из файла
.dt; - тестирования и исправления базы.
Перед такими операциями пользователей просят выйти или блокируют начало сеансов. Принудительное завершение сеансов обрывает несохранённую работу пользователей — предупредите людей заранее и выбирайте время вне рабочего дня.
Резервное копирование: как не потерять данные базы 1С
База данных — единственное место, где хранится учёт. Если она испорчена и копии нет, восстанавливать придётся по бумагам и выпискам.
Способы сделать копию
| Способ | Когда подходит | Риски |
|---|---|---|
Выгрузка в .dt через Конфигуратор (Администрирование → Выгрузить информационную базу) | Любой режим, разовая копия перед обновлением | Нужен монопольный доступ, на больших базах долго |
Копирование файла 1Cv8.1CD | Файловая база | Копировать только при закрытой базе, иначе копия может быть битой |
| Резервное копирование из типовой конфигурации (раздел «Администрирование», группа обслуживания) | Файловая база, автоматическое расписание | Работает, пока открыта программа на компьютере с расписанием |
| Бэкап средствами СУБД (MS SQL, PostgreSQL) | Клиент-серверный режим | Нужен администратор, который проверяет восстановление |
Для клиент-серверной базы на MS SQL стандартная схема — полный бэкап раз в сутки плюс копии журнала транзакций каждые 15–60 минут при модели восстановления Full. Тогда при сбое теряется не день работы, а последние минуты. Для PostgreSQL аналог — pg_dump для ежедневной копии и архивирование WAL для точечного восстановления.
💡 Копия, которую ни разу не пробовали развернуть, — это надежда, а не копия. Раз в месяц загружайте свежую резервную копию в тестовую базу и открывайте пару отчётов.
Если база повреждена
Для файловой базы есть два инструмента:
- Тестирование и исправление в Конфигураторе:
Администрирование → Тестирование и исправление. Проверяет логическую и ссылочную целостность, пересчитывает итоги, сжимает таблицы. - Утилита
chdbfl.exeв каталогеbinплатформы — проверяет физическую целостность файла1Cv8.1CD, когда база не открывается вовсе.
⚠️ Обе операции запускайте только на копии базы или после свежей резервной копии: режим исправления может удалить битые объекты.
Скорость работы базы 1С: что на неё влияет
Медленная 1С почти всегда упирается в базу данных: в диск, в блокировки или в неудачные запросы.
Что тормозит чаще всего
- 💾 Медленный диск. Файловая база на HDD или сетевой папке через слабый канал. SSD даёт кратный прирост.
- 🔒 Ожидание на блокировках. Пользователи ждут друг друга при проведении документов.
- 📊 Устаревшая статистика СУБД. Оптимизатор SQL выбирает плохой план запроса.
- 🧾 Отключённые или неактуальные итоги. Отчёты считают остатки с начала времён.
- 🧑💻 Тяжёлые доработки. Запрос в цикле, обращение к реквизитам через точку на тысячах строк.
Что делать администратору
Для клиент-серверной базы настройте регламентные задания в СУБД:
-- MS SQL: обновить статистику по всей базе (база BUH — пример имени)
USE BUH;
EXEC sp_updatestats;
Для PostgreSQL аналог — регулярный VACUUM ANALYZE (обычно его закрывает автовакуум, но после больших загрузок полезно запустить вручную).
Ещё три рычага:
- Перестройка индексов раз в неделю на больших базах — в планах обслуживания MS SQL.
- Управление итогами: в типовых конфигурациях есть обработка для установки периода рассчитанных итогов, в Конфигураторе это делается через режим тестирования с пересчётом итогов.
- Технологический журнал — файл
logcfg.xmlв каталоге настроек платформы включает запись медленных запросов и ожиданий на блокировках. По нему видно, какой именно запрос виноват.
⚠️ Не правьте данные 1С напрямую SQL-запросами в обход платформы. Вы минуете проверки конфигурации, итоги разойдутся с движениями, а ошибку найти будет очень сложно.
Безопасность данных и права доступа к базе 1С
База хранит зарплаты, банковские реквизиты, персональные данные сотрудников. Защищать её нужно на трёх уровнях.
Уровень 1: пользователи и роли внутри 1С
Каждый, кто входит в базу, — пользователь информационной базы. Ему назначают роли: что он видит и что может менять.
В типовых конфигурациях на БСП пользователями управляют в режиме «Предприятие»: Администрирование → Настройки пользователей и прав. Там же — группы доступа (профили): «Бухгалтер», «Кадровик», «Менеджер по продажам».
Для тонкой настройки есть ограничение доступа на уровне записей (RLS): например, менеджер видит документы только своей организации или своего склада.
Способы входа:
- 🔑 по имени и паролю 1С;
- 🪟 аутентификация операционной системы — пользователь Windows входит без пароля 1С;
- 🌐 OpenID — для веб-публикаций.
Учётная запись без пароля с полными правами — главная дыра в безопасности базы. Проверьте список пользователей прямо сейчас.
Уровень 2: доступ к файлам и серверу
Для файловой базы права в 1С не защищают сам файл. Любой, у кого есть доступ к папке, скопирует 1Cv8.1CD и откроет его у себя. Поэтому:
- ограничьте сетевую папку только нужными учётными записями Windows;
- не храните базу в общедоступной «шаре» вида
\\server\обмен.
В клиент-серверном варианте пользователи вообще не видят СУБД. Логин и пароль к SQL знает только кластер 1С. Доступ к серверу СУБД закрывают сетевым экраном, а администратора кластера защищают отдельным паролем.
Уровень 3: журнал регистрации
Журнал регистрации фиксирует входы, изменения документов, удаление объектов. Открывается в Конфигураторе: Администрирование → Журнал регистрации, а в типовых конфигурациях — в разделе «Администрирование» через поиск по слову «журнал». По нему отвечают на вопрос «кто удалил накладную в прошлую пятницу».
Что проверить в своей базе 1С за полчаса
Короткая ревизия, которая показывает, в каком состоянии ваша база данных:
Если три и больше пунктов не выполнены, начните с резервного копирования: остальное можно исправить, а потерянные данные — нет.
Частые вопросы
Можно ли открыть базу 1С без самой программы?
1Cv8.1CD имеет закрытый формат и читается только платформой 1С:Предприятие. Таблицы SQL-базы видны в СУБД, но их имена служебные (_Document123, _Reference45), и без конфигурации разобраться в них почти невозможно.Сколько весит база 1С?
Нужна ли отдельная лицензия на сервер 1С?
Можно ли держать несколько организаций в одной базе?
Чем база 1С отличается от конфигурации?
.cf содержит только конфигурацию, файл .dt — всю базу целиком с данными.