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

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

В этой статье мы разберём:

  • 📁 Физическую структуру — какие файлы входят в состав базы и за что каждый отвечает
  • 🗃️ Логическую архитектуру — как данные организованы внутри (таблицы, индексы, BLOB-объекты)
  • 🔄 Механизмы работы — как 1С взаимодействует с базой при запуске, обновлении и резервном копировании
  • ⚠️ Типичные ошибки — что нельзя делать с файлами ИБ и почему

Информация будет полезна как администраторам, так и разработчикам, которые хотят глубже понять, почему некоторые операции с базой (например, тестирование и исправление) могут занимать часы, а неправильное копирование файлов приводит к потере данных.

1. Физическая структура информационной базы: какие файлы входят в состав

Когда вы создаёте новую базу в 1С:Предприятие, программа формирует на диске набор файлов. Их состав зависит от режима работы (файловый или клиент-серверный) и версии платформы. Рассмотрим типичный случай для файлового варианта (наиболее распространённого среди небольших компаний).

Основные файлы информационной базы:

  • 📄 1Cv8.1CD — главный файл базы данных. Содержит все данные пользователей, документы, справочники и настройки. Именно его чаще всего копируют при резервировании. В клиент-серверном варианте этот файл заменяет база данных на MS SQL, PostgreSQL или другом сервере.
  • 📄 1Cv8.lgd — файл журнала регистрации. Хранит историю действий пользователей (кто и когда создавал/изменял документы). Полезен для аудита и восстановления данных после сбоев.
  • 📄 1cv8usr.lst — список пользователей базы. Здесь хранятся логины, пароли (в зашифрованном виде) и права доступа. При утере этого файла пользователи не смогут войти в систему.
  • 📄 1Cv8Log (расширение отсутствует) — временные файлы журналов транзакций. Используются для отката изменений при аварийном завершении работы.
  • 📁 Папка ExtForms — хранит внешние формы и отчёты, если они подключены к базе.

В клиент-серверном варианте (например, при работе с MS SQL Server) структура иная:

  • 🗄️ База данных на сервере (обычно одна на все информационные базы).
  • 📄 Файлы конфигурации (.cf и .cfu) — хранят структуру метаданных.
  • 📄 1Cv8.lgd и 1cv8usr.lst — остаются локально на сервере приложений.
⚠️ Внимание: Никогда не копируйте только файл 1Cv8.1CD, игнорируя остальные! Без 1cv8usr.lst пользователи не смогут авторизоваться, а без 1Cv8.lgd вы потеряете историю изменений. Полноценное резервное копирование должно включать все файлы каталога базы.
📊 Какой режим работы 1С используете вы?
Файловый
Клиент-серверный (MS SQL)
Клиент-серверный (PostgreSQL)
Не знаю

2. Логическая структура: как данные организованы внутри базы

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

Основные компоненты логической структуры:

  • 🗂️ Таблицы данных — аналоги таблиц в классических СУБД. Например, таблица Справочник.Контрагенты хранит все записи о партнёрах компании. Каждая таблица имеет первичный ключ (обычно Ссылка или ID).
  • 🔗 Индексы — ускоряют поиск данных. 1С автоматически создаёт индексы для полей, используемых в запросах и отборах. Например, индекс по полю ИНН в справочнике контрагентов.
  • 📊 BLOB-объекты — бинарные данные (например, файлы вложений, картинки, печатные формы). Хранятся отдельно от основных таблиц.
  • 📝 Журналы регистрации — фиксируют все изменения в базе (кто, когда и что изменил). Используются для отката транзакций и аудита.
  • 🔄 Транзакционные журналы — временные файлы, обеспечивающие целостность данных при аварийном завершении работы.

Особенность 1С — динамическая структура таблиц. При изменении конфигурации (например, добавлении нового реквизита в справочник) платформа автоматически модифицирует таблицы в базе данных. Это отличает её от классических СУБД, где структура таблиц жёстко фиксирована.

Компонент Описание Пример
Таблица данных Хранит записи объектов (документов, справочников) Документ.ПоступлениеТоваров
Индекс Ускоряет поиск по полям Индекс по полю НомерДокумента
BLOB-объект Бинарные данные (файлы, картинки) Скан копия договора в справочнике контрагента
Журнал регистрации История изменений (кто, когда, что сделал) Запись: "Петров П.П. изменил документ №123 в 10:15"

Важно понимать, что конфигурация (структура метаданных) и данные хранятся раздельно. Конфигурация описывает, что может храниться в базе (справочники, документы, отчёты), а данные — что именно записано (конкретные контрагенты, документы, остатки). Это позволяет обновлять конфигурацию без потери пользовательской информации.

💡

Если база работает медленно, проверьте фрагментацию индексов в таблицах. В клиент-серверном варианте это делается через администратор СУБД (например, SQL Server Management Studio). В файловом — поможет тестирование и исправление базы с опцией "Реиндексация".

3. Где хранится информационная база: пути по умолчанию и как их изменить

По умолчанию 1С размещает информационные базы в стандартных каталогах, но администратор может перенести их в любое удобное место. Рассмотрим типичные пути для разных операционных систем и версий платформы.

Пути по умолчанию:

  • 🪟 Windows (файловый вариант):
    • C:\Users\Public\Documents\1C\1Cv8\ — для пользовательских баз.
    • C:\Program Files (x86)\1cv8\ — системные файлы платформы.
  • 🐧 Linux (клиент-серверный вариант):
    • /var/1C/1cv8/ — каталог с базами.
    • /opt/1cv8/ — файлы платформы.

Чтобы изменить путь хранения базы:

  1. Запустите 1С:Предприятие в режиме Конфигуратор.
  2. Выберите Администрирование → Информационные базы.
  3. Нажмите Добавить или Изменить, затем укажите новый путь в поле Каталог информационной базы.
  4. Сохраните изменения и перезапустите базу.
⚠️ Внимание: При переносе базы на другой диск или сервер обязательно проверьте права доступа! В Windows каталог должен быть доступен для записи пользователю SYSTEM и группе Users. В Linux — права 775 для владельца и группы 1c8.

В клиент-серверном варианте путь к базе данных указывается при её создании на сервере MS SQL или PostgreSQL. Сами файлы базы (.mdf, .ldf для SQL Server) хранятся в каталогах, настроенных в СУБД.

Убедиться, что на новом диске достаточно места (минимум в 1.5 раза больше размера базы)|Остановить все сеансы работы с базой|Скопировать ВСЕ файлы из старого каталога|Проверить права доступа на новом месте|Обновить путь в списке информационных баз в 1С|Перезапустить службу 1С:Предприятие (если используется сервер)

-->

4. Как 1С работает с базой: механизмы запуска, обновления и резервного копирования

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

1. Запуск базы:

  • 🔍 Платформа считывает файл 1Cv8.1CD (или подключается к серверу СУБД).
  • 🔑 Проверяет права пользователя по файлу 1cv8usr.lst.
  • 📖 Загружает конфигурацию (метаданные) из файла .cf или базы SQL.
  • 🖥️ Инициализирует сеанс работы и открывает основное окно.

2. Обновление конфигурации:

  • 🔄 При обновлении платформа сравнивает текущую и новую версию конфигурации.
  • 📝 Вносит изменения в структуру таблиц (добавляет/удаляет поля, индексы).
  • 🗑️ Создаёт резервную копию старой конфигурации (файл .cfu).
  • ⚠️ Если обновление прервать, база может остаться в нерабочем состоянии!

3. Резервное копирование:

  • 💾 В файловом варианте копируются все файлы каталога базы (1Cv8.1CD, 1Cv8.lgd и др.).
  • 🗃️ В клиент-серверном — используется встроенные средства СУБД (например, BACKUP DATABASE в MS SQL).
  • ⏱️ Рекомендуемая частота: ежедневно для рабочих баз, перед любыми изменениями конфигурации.

Один из самых важных файлов — 1Cv8Log (журнал транзакций). Он позволяет откатить изменения, если база была повреждена из-за внезапного отключения питания или сбоя программы. При восстановлении из резервной копии этот файл должен быть скопирован вместе с основной базой, иначе возможна потеря данных за период между последним бэкапом и сбоем.

Что будет, если удалить файл 1Cv8Log?

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

5. Типичные ошибки при работе с информационной базой и как их избежать

Даже опытные пользователи иногда допускают ошибки, которые ведут к потере данных или сбоям в работе 1С. Рассмотрим самые распространённые случаи и способы их предотвращения.

1. Копирование только файла 1Cv8.1CD:

  • Ошибка: При резервном копировании берут только главный файл базы, игнорируя 1Cv8.lgd и 1cv8usr.lst.
  • Решение: Всегда копируйте весь каталог базы! Используйте архиваторы (например, 7-Zip) для создания единого архива.

2. Изменение файлов базы вручную:

  • Ошибка: Пытаются редактировать 1Cv8.1CD или 1cv8usr.lst в блокноте или hex-редакторе.
  • Решение: Файлы 1С имеют бинарный формат. Любое ручное изменение приведёт к повреждению базы. Для редактирования данных используйте штатные средства конфигуратора.

3. Прерывание обновления конфигурации:

  • Ошибка: Закрывают 1С или выключают компьютер во время обновления.
  • Решение: Дождитесь завершения процесса. Если сбой произошёл, восстановите базу из резервной копии и повторите обновление.

4. Нехватка места на диске:

  • Ошибка: База растёт, а свободное место на диске не контролируется.
  • Решение: Настройте мониторинг свободного места. Для больших баз (от 10 ГБ) рекомендуется выделять диск объёмом в 2-3 раза больше текущего размера базы.

5. Использование сетевых папок для файловой базы:

  • Ошибка: Размещают файловую базу на сетевом диске (например, \\server\share\).
  • Решение: Файловая база должна храниться локально на компьютере или сервере. Сетевые задержки приводят к тормозам и повреждению данных. Для совместной работы используйте клиент-серверный вариант.
⚠️ Внимание: Если база повреждена, никогда не запускайте её в режиме 1С:Предприятие без предварительного тестирования! Используйте утилиту chdbfl.exe (входит в комплект поставки 1С) для проверки и исправления:
chdbfl.exe "C:\Путь\к\базе\1Cv8.1CD" /F

Параметр /F принудительно исправляет ошибки. Без него утилита только проверит базу.

6. Оптимизация информационной базы: как ускорить работу

Со временем база 1С может начать работать медленнее. Это связано с фрагментацией данных, разрастанием журналов и другими факторами. Рассмотрим основные способы оптимизации.

1. Регулярное тестирование и исправление:

  • 🔧 Запускайте тестирование базы не реже одного раза в месяц. В конфигураторе: Администрирование → Тестирование и исправление.
  • 📊 Выбирайте опции:
    • 🔸 Проверка логической целостности
    • 🔸 Проверка ссылочной целостности
    • 🔸 Реиндексация таблиц
    • 🔸 Сжатие таблиц (уменьшает размер базы)

2. Очистка журнала регистрации:

  • 🗑️ Файл 1Cv8.lgd может разрастаться до гигантских размеров. Периодически архивируйте и очищайте его:
    • В конфигураторе: Администрирование → Журнал регистрации → Настроить → Очистить.
    • Установите лимит размера журнала (например, 1 ГБ).

3. Оптимизация запросов:

  • 🛠️ Медленные отчёты и обработки часто связаны с неоптимальными запросами. Используйте:
    • 🔹 Индексы для полей, используемых в ГДЕ и УПОРЯДОЧИТЬ ПО.
    • 🔹 Виртуальные таблицы вместо прямых выборок.
    • 🔹 Ограничение выборки (ПЕРВЫЕ 100).

4. Перенос на SSD:

  • 💾 Если база файловая, разместите её на SSD-диске. Это ускорит чтение/запись в 3-5 раз по сравнению с HDD.
  • 🗄️ В клиент-серверном варианте SSD рекомендуется для:
    • 🔸 Файлов журналов транзакций (.ldf).
    • 🔸 TempDB (в MS SQL).

5. Разделение базы:

  • 📂 Если база стала слишком большой (более 50 ГБ), рассмотрите возможность:
    • 🔹 Выделения архивных данных в отдельную базу.
    • 🔹 Перехода на клиент-серверный вариант.
💡

Регулярная оптимизация базы (тестирование, очистка журналов, дефрагментация) может увеличить производительность на 30-50%. Особенно это заметно в файловом варианте работы.

7. Резервное копирование: стратегии и инструменты

Потеря данных в 1С может парализовать работу компании на дни. Поэтому резервное копирование — критически важная задача. Рассмотрим основные подходы и инструменты.

1. Ручное копирование (для небольших баз):

  • 🖱️ Подходит для файлового варианта с базой до 5 ГБ.
  • 📂 Алгоритм:
    1. Закройте все сеансы 1С.
    2. Скопируйте весь каталог базы в резервную папку.
    3. Сожмите архиватором (например, 7-Zip с максимальной степенью сжатия).
    4. Перенесите архив на внешний носитель или облако.

2. Автоматическое копирование (для средних и крупных баз):

  • ⏱️ Используйте планировщик задач Windows или cron в Linux.
  • 🤖 Скрипт для копирования (пример для Windows):
    @echo off
    

    set DATE=%date:~0,2%-%date:~3,2%-%date:~6,4%

    set TIME=%time:~0,2%-%time:~3,2%

    xcopy "C:\1C\Base\" "D:\Backup\1C\%DATE%_%TIME%\" /E /I /Y

    "C:\Program Files\7-Zip\7z.exe" a -tzip "D:\Backup\1C\%DATE%_%TIME%.zip" "D:\Backup\1C\%DATE%_%TIME%\*" -mx9

3. Копирование в клиент-серверном варианте:

  • 🗃️ Для MS SQL используйте встроенные средства:
    BACKUP DATABASE [YourDatabaseName] TO DISK = 'D:\Backups\YourDatabaseName.bak' WITH COMPRESSION;
  • 🐘 Для PostgreSQL:
    pg_dump -U postgres -F c -b -v -f "D:\Backups\yourdb.backup" yourdb

4. Облачные резервные копии:

  • ☁️ Сервисы:
    • 🔸 1С:Линк — официальное решение для резервного копирования в облако.
    • 🔸 Yandex Disk, Google Drive — для ручных копий.
    • 🔸 AWS S3, Azure Blob Storage — для автоматизированных решений.

5. Проверка резервных копий:

  • 🔍 Регулярно (раз в квартал) проверяйте, что копии работоспособны:
    1. Восстановите базу из резерва на тестовом сервере.
    2. Убедитесь, что все данные на месте и база открывается без ошибок.
  • ⚠️ Внимание: Храните резервные копии в двух разных местах! Например, одна копия на внешнем жёстком диске, другая — в облаке. Это защитит вас от потери данных при пожаре, краже или поломке оборудования.

    FAQ: Частые вопросы об информационной базе 1С

    Можно ли открыть файл 1Cv8.1CD в другой программе?

    Нет, файл 1Cv8.1CD имеет проприетарный бинарный формат, который понимает только 1С:Предприятие. Попытки открыть его в текстовом или hex-редакторе приведут к повреждению данных. Для экспорта данных используйте штатные средства 1С (например, выгрузку в XML или Excel).

    Что делать, если база не открывается после сбоя?

    Сначала попробуйте запустить тестирование и исправление через конфигуратор (Администрирование → Тестирование и исправление). Если это не помогает:

    1. Восстановите базу из последней резервной копии.
    2. Если копии нет, используйте утилиту chdbfl.exe для исправления:
    3. chdbfl.exe "C:\Путь\к\базе\1Cv8.1CD" /F
    4. В крайнем случае обратитесь в службу поддержки 1С с файлом дампа ошибки.

    Как уменьшить размер базы 1С?

    Размер базы можно уменьшить несколькими способами:

    • 🗑️ Очистите журнал регистрации (1Cv8.lgd).
    • 🧹 Выполните тестирование и исправление с опцией Сжатие таблиц.
    • 🗃️ Архивируйте и удаляйте старые документы (например, старше 5 лет).
    • 🔍 Проверьте наличие крупных вложений (файлов, картинок) и оптимизируйте их хранение.

    В клиент-серверном варианте также можно сжать базу данных через администратор СУБД.

    Можно ли перенести базу с файлового варианта на клиент-серверный?

    Да, это стандартная процедура. Для переноса:

    1. Создайте новую базу на сервере MS SQL или PostgreSQL.
    2. В конфигураторе файловой базы выберите Администрирование → Выгрузить информационную базу (файл .dt).
    3. В новой клиент-серверной базе выберите Администрирование → Загрузить информационную базу.
    4. Настройте права доступа и подключение пользователей.
    Важно: Перед переносом проверьте совместимость версий платформы и СУБД!

    Что такое "разделение данных" в 1С и зачем оно нужно?

    Разделение данных — это механизм, позволяющий хранить часть информации (например, документы за прошлые годы) в отдельной базе, а текущие данные — в основной. Это уменьшает размер рабочей базы и ускоряет её работу. Реализуется через:

    • 📂 Выгрузку архивных данных в отдельную базу.
    • 🔗 Настройку связей между базами (например, через Распределённые информационные базы).
    • 📊 Использование внешних отчётов для консолидации данных.

    Актуально для крупных компаний с историей данных более 5 лет.