Информационная база 1С: из чего состоит, где лежит и как её найти

· 10 мин

Содержание

База 1С правильно называется информационная база (сокращённо ИБ). В файловом варианте это папка с главным файлом 1Cv8.1CD, в клиент-серверном — база данных на SQL-сервере, которую обслуживает кластер серверов 1С. Слова «база данных», «конфигурация» и «программа» в обиходе часто путают, хотя это три разные вещи.

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

Платформа, конфигурация, информационная база: как правильно называть

Путаница с названиями мешает больше, чем кажется. Программист просит «скинуть базу», а бухгалтер отправляет ярлык. Или пересылает файл .cf, в котором нет ни одного документа. Разложим термины по полочкам.

ТерминЧто этоПример
ПлатформаИсполняемая программа, «движок»1С:Предприятие 8.3, папка C:\Program Files\1cv8\8.3.xx.xxxx
КонфигурацияПрикладное решение: справочники, документы, отчёты, кодБухгалтерия предприятия 3.0, ЗУП 3.1
Информационная базаКонфигурация + ваши данные + пользователи + настройки«Бухгалтерия ООО Ромашка»
База данныхХранилище ИБ на уровне СУБД (в клиент-серверном варианте)База buh_romashka на MS SQL Server

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

Когда вас просят «прислать базу», уточните, что нужно. Для поддержки и переноса почти всегда нужен файл выгрузки .dt, а не ярлык и не .cf.

Файловая база 1С: что лежит в её папке

Файловая информационная база — это обычный каталог на диске. При создании новой базы 1С по умолчанию предлагает папку InfoBase в «Документах» пользователя (InfoBase1, InfoBase2 и так далее для следующих). Название каталога можно задать любое.

Внутри каталога вы увидите:

  • 📦 1Cv8.1CD — главный файл. В нём всё сразу: конфигурация, справочники, документы, регистры, список пользователей. Именно этот файл и есть «база» в физическом смысле.
  • 🔒 1Cv8.1CL — служебный файл блокировок. Появляется, пока с базой работают, и нужен для совместного доступа.
  • 🗂 1Cv8tmp.1CD — временный файл. Возникает при реструктуризации или тестировании и исправлении базы. После штатного завершения операции исчезает.
  • 📜 папка 1Cv8Log — журнал регистрации. В новом формате это один файл 1Cv8.lgd, в старом — 1Cv8.lgf и набор файлов .lgp по периодам.
  • 🔎 папка 1Cv8FTxt — индекс полнотекстового поиска. Его можно перестроить, данных учёта там нет.

Размер базы определяется почти целиком файлом 1Cv8.1CD. У небольшой организации он занимает от сотен мегабайт до нескольких гигабайт. Журнал регистрации при подробном логировании иногда разрастается до размеров самой базы.

Не копируйте и не переносите 1Cv8.1CD, пока в базе работают пользователи. Копия может оказаться несогласованной и не открыться. Для резервной копии файловой базы закройте все сеансы или делайте выгрузку .dt через Конфигуратор.

Для проверки файла 1Cv8.1CD без запуска Конфигуратора в каталоге платформы (bin) есть утилита chdbfl.exe. Она тестирует и исправляет физическую структуру файловой базы. Запускайте её только на закрытой базе и после резервного копирования.

Где хранится клиент-серверная база 1С

В клиент-серверном варианте файла 1Cv8.1CD нет вообще. Данные лежат в СУБД: Microsoft SQL Server, PostgreSQL, IBM Db2 или Oracle Database. Сервер 1С сам данные не хранит, он только обрабатывает запросы клиентов и обращается к СУБД.

Цепочка такая:

  1. Клиент подключается к агенту сервера 1С (по умолчанию порт 1540).
  2. Агент передаёт его менеджеру кластера (порт 1541).
  3. Работу выполняет рабочий процесс, а он читает и пишет данные в базу на SQL-сервере.

Где кластер хранит список своих баз

Сервер 1С ведёт собственный реестр кластера. Он лежит в каталоге srvinfo (при установке по умолчанию — C:\Program Files\1cv8\srvinfo), внутри — папка reg_1541. Там находится файл 1CV8Clst.lst со списком информационных баз и их параметрами, а также служебные папки баз, названные по их идентификаторам (GUID).

В srvinfo хранятся сеансовые данные и кэши, но не данные учёта. Тем не менее не удаляйте и не правьте файлы реестра кластера вручную на работающем сервере: служба сервера оборвёт сеансы пользователей, а кластер может «потерять» базы. Если это действительно нужно, делайте вне рабочего времени, с остановленной службой и копией папки.

Как выглядит база внутри СУБД

Откройте клиент-серверную базу в SQL Server Management Studio или pgAdmin — и вы не увидите таблиц «Контрагенты» или «Реализация». Таблицы названы служебно:

  • _Reference… — справочники;
  • _Document… — документы;
  • _AccumRg… — регистры накопления;
  • _InfoRg… — регистры сведений;
  • Config, ConfigSave, Params, Files, DBSchema — служебные таблицы платформы, в которых хранится в том числе сама конфигурация.

Чтобы понять, какая таблица SQL соответствует какому объекту, используют функцию встроенного языка ПолучитьСтруктуруХраненияБазыДанных(). Её вызывают из обработки, и она возвращает соответствие метаданных и имён таблиц.

Править данные 1С прямыми SQL-запросами нельзя: так легко нарушить целостность регистров и итогов. SQL-доступ годится для чтения, диагностики и резервного копирования средствами СУБД.

Расширения файлов 1С: что за файл перед вами

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

РасширениеЧто внутриЕсть ли данные учётаКак открыть
.1CD (1Cv8.1CD)Файловая информационная база целикомДаДобавить папку в список баз
.dtВыгрузка информационной базыДаКонфигуратор → Администрирование → Загрузить информационную базу
.cfФайл конфигурацииНетКонфигуратор → Конфигурация → Загрузить конфигурацию из файла
.cfuФайл обновления конфигурацииНетКонфигуратор, при обновлении
.cfeРасширение конфигурацииНетЧерез список расширений в режиме Предприятия или в Конфигураторе
.epfВнешняя обработкаНетФайл → Открыть или справочник дополнительных обработок
.erfВнешний отчётНетФайл → Открыть или справочник дополнительных отчётов
.mxlТабличный документТолько то, что в нём сохранилиФайл → Открыть в 1С
.v8iСписок информационных базНет1С при запуске читает его сам
.efdАрхив дистрибутива обновленияНетРаспаковка программой установки

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

Почему .dt надёжнее копии .1CD

Выгрузка .dt не зависит от варианта работы. Её можно снять с файловой базы и загрузить в клиент-серверную, и наоборот. Копия 1Cv8.1CD подходит только для файлового варианта и только если делалась на закрытой базе.

Минус .dt — при загрузке нужен монопольный доступ, а все текущие данные в принимающей базе заменяются содержимым файла. Загружайте .dt в пустую базу или в ту, данные которой точно больше не нужны.

Проверьте себя
Бухгалтер прислал файл .cf. Что в нём есть?
Где лежат данные клиент-серверной базы?
Какой файл нужен, чтобы перенести базу с данными в другую организацию поддержки?

Конфигурация и данные: почему это разные вещи

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

Из этого следуют три практических вывода:

  1. Обновление конфигурации не стирает данные. При обновлении меняется структура, а данные переносятся в новую структуру. Поэтому перед обновлением делают выгрузку .dt: если структура не сойдётся, вернуть можно всё целиком.
  2. Файл .cf не содержит учёта. Загрузить .cf в рабочую базу — значит заменить конфигурацию . Данные останутся, но доработки, которых нет в этом файле, пропадут.
  3. Одна конфигурация — много баз. Типичная картина: одна Бухгалтерия предприятия, но по отдельной базе на каждое юрлицо. Или одна рабочая и одна копия для экспериментов.

Как узнать, какая конфигурация в базе

В режиме Предприятия откройте Справка → О программе (в интерфейсе «Такси» — через меню-гамбургер или значок с вопросом в правом верхнем углу). В окне указаны название и версия конфигурации, версия платформы и строка подключения к информационной базе. Последняя и показывает, где база лежит физически.

Три имени одной базы: список запуска, кластер и СУБД

Здесь кроется самая частая путаница. У клиент-серверной базы бывает до трёх разных имён, и все они могут не совпадать.

ГдеЧто это за имяМожно ли менять свободно
Список баз в окне запускаПодпись для пользователяДа, на данные не влияет
Кластер серверов 1СИмя ИБ в кластере, используется в строке подключенияНет, от него зависят подключения клиентов
СУБДИмя базы данных на SQL-сервереНет без переподключения ИБ

Имя в списке запуска

То, что пользователь видит в окне запуска 1С, — просто метка. Её задают при добавлении базы и меняют кнопкой Изменить. Переименование ничего не делает с самой базой.

Список баз хранится в файле ibases.v8i в профиле пользователя: %APPDATA%\1C\1CEStart\ibases.v8i. Запись выглядит так:

[Бухгалтерия Ромашка]
Connect=Srvr="srv1c";Ref="buh_romashka";
ID=...
Folder=/

Для файловой базы вместо Srvr и Ref будет путь:

Connect=File="D:\Bases\Buh_Romashka";

Имя в кластере

В клиент-серверной строке подключения Ref — это имя информационной базы в кластере. Его видно в консоли «Администрирование серверов 1С Предприятия»: Кластер → Информационные базы. В свойствах базы там же указаны сервер СУБД, тип СУБД и имя базы данных на нём.

Имя на SQL-сервере

Имя базы данных задаётся при создании ИБ в кластере. По умолчанию его часто делают таким же, как имя в кластере, но это не обязательно. Через год никто уже не помнит, что база buh_romashka в кластере смотрит в SQL-базу Buh2019_test. Проверить связь можно только в свойствах ИБ в консоли кластера.

Заведите для своих баз простое правило: латиница, нижний регистр, без пробелов, одинаковое имя в кластере и в СУБД. Например, zup_romashka. Это снимает половину вопросов при переносе и резервном копировании.

Имена, пути и кодировка в сети: что ломается

Кириллица и пробелы в названиях технически допустимы. Но в смешанной инфраструктуре они регулярно доставляют неприятности.

  • 🗺 Буквы сетевых дисков. Если у одного пользователя база подключена как Z:\Buh, а у другого — Y:\Buh, это одна база, но список баз у них разный, а при смене буквы ярлык перестаёт работать. Используйте путь UNC: \\fileserver\1C\Buh.
  • 🐧 Linux и Samba. Если файловая база лежит на сервере с Linux, кириллические имена папок могут отображаться «кракозябрами» при неверно настроенной кодировке общей папки. Латинские имена каталогов проблему снимают.
  • 🌐 Веб-публикация. Имя виртуального каталога на веб-сервере становится частью адреса. Кириллица и пробелы в адресе кодируются, ссылки получаются нечитаемыми, а часть клиентов и мобильных приложений работает с ними нестабильно.
  • 🧾 Скрипты резервного копирования. Пакетные файлы, планы обслуживания SQL и утилиты командной строки спотыкаются о пробелы и кириллицу в именах, если имя не заключено в кавычки.
  • 📏 Длинные пути. Глубоко вложенные папки с длинными русскими названиями упираются в ограничение длины пути Windows в 260 символов, особенно при копировании.

Пример параметра командной строки, где пробел в пути требует кавычек:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "\\fileserver\1C\Buh Romashka"

Как переименовать файловую базу без проблем

  1. Попросите всех пользователей выйти из базы.
  2. Переименуйте каталог базы. Файл 1Cv8.1CD внутри не переименовывайте: платформа ищет именно это имя.
  3. В окне запуска у каждого пользователя нажмите Изменить и укажите новый путь. Либо поправьте путь в общем файле списка баз, если он у вас централизован.
  4. Откройте базу и проверьте в Справка → О программе, что строка подключения указывает на новый каталог.

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

Можно ли открыть файл 1Cv8.1CD без установленной 1С?
Нет. Формат закрытый, данные читаются только платформой 1С:Предприятие. Для просмотра нужна установленная платформа подходящей версии и лицензия (кроме учебной версии).
Как понять, файловая у меня база или клиент-серверная?
Откройте Справка → О программе. Строка подключения с File= означает файловую базу, с Srvr= и Ref= — клиент-серверную.
Почему база в списке есть, а при запуске пишет, что файл не найден?
Путь в списке баз указывает на каталог, которого больше нет: базу перенесли, сменилась буква сетевого диска или нет доступа к папке. Исправьте путь кнопкой Изменить.
Сколько баз можно держать на одном компьютере?
Ограничения на число информационных баз платформа не вводит. Реальный предел — место на диске и удобство списка: при десятках баз их группируют по папкам в окне запуска.
Перенос файла ibases.v8i переносит базы?
Нет, только список ссылок на них. Сами данные остаются там, где лежат 1Cv8.1CD или база на SQL-сервере.