Информационная база 1С: из чего состоит, где лежит и как её найти
Содержание
База 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С (по умолчанию порт
1540). - Агент передаёт его менеджеру кластера (порт
1541). - Работу выполняет рабочий процесс, а он читает и пишет данные в базу на 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 в пустую базу или в ту, данные которой точно больше не нужны.
Конфигурация и данные: почему это разные вещи
Конфигурация описывает, какие бывают документы и справочники и как они работают. Данные — это конкретные документы, контрагенты и остатки. Конфигурация хранится внутри информационной базы вместе с данными, поэтому вне 1С их не разделить простым копированием файлов.
Из этого следуют три практических вывода:
- Обновление конфигурации
не стирает данные. При обновлении меняется структура, а данные переносятся в новую структуру. Поэтому перед обновлением делают выгрузку
.dt: если структура не сойдётся, вернуть можно всё целиком. - Файл
.cfне содержит учёта. Загрузить.cfв рабочую базу — значит заменить конфигурацию . Данные останутся, но доработки, которых нет в этом файле, пропадут. - Одна конфигурация — много баз. Типичная картина: одна Бухгалтерия предприятия, но по отдельной базе на каждое юрлицо. Или одна рабочая и одна копия для экспериментов.
Как узнать, какая конфигурация в базе
В режиме Предприятия откройте Справка → О программе (в интерфейсе «Такси» — через меню-гамбургер или значок с вопросом в правом верхнем углу). В окне указаны название и версия конфигурации, версия платформы и строка подключения к информационной базе. Последняя и показывает, где база лежит физически.
Три имени одной базы: список запуска, кластер и СУБД
Здесь кроется самая частая путаница. У клиент-серверной базы бывает до трёх разных имён, и все они могут не совпадать.
| Где | Что это за имя | Можно ли менять свободно |
|---|---|---|
| Список баз в окне запуска | Подпись для пользователя | Да, на данные не влияет |
| Кластер серверов 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"
Как переименовать файловую базу без проблем
- Попросите всех пользователей выйти из базы.
- Переименуйте каталог базы. Файл
1Cv8.1CDвнутри не переименовывайте: платформа ищет именно это имя. - В окне запуска у каждого пользователя нажмите
Изменитьи укажите новый путь. Либо поправьте путь в общем файле списка баз, если он у вас централизован. - Откройте базу и проверьте в
Справка → О программе, что строка подключения указывает на новый каталог.
Частые вопросы
Можно ли открыть файл 1Cv8.1CD без установленной 1С?
Как понять, файловая у меня база или клиент-серверная?
Справка → О программе. Строка подключения с File= означает файловую базу, с Srvr= и Ref= — клиент-серверную.Почему база в списке есть, а при запуске пишет, что файл не найден?
Изменить.Сколько баз можно держать на одном компьютере?
Перенос файла ibases.v8i переносит базы?
1Cv8.1CD или база на SQL-сервере.