Как устроено хранение конфигурации в 1С 8.3: от файла 1Cv8.1CD до Git

· 10 мин

Содержание

Конфигурация 1С 8 хранится внутри самой информационной базы, а не отдельным файлом рядом с ней. В файловом варианте это файл 1Cv8.1CD в каталоге базы, в клиент-серверном — служебные таблицы Config и ConfigSave в базе SQL Server или PostgreSQL. Файлы .cf, .cfu и хранилище конфигурации — это внешние копии и инструменты, а не место, откуда база читает свои метаданные при работе.

Отсюда частая путаница. Человек ищет «папку с конфигурацией», находит в профиле пользователя каталог tmplts с файлами .cf и думает, что база живёт там. Нет: удалите шаблоны — база продолжит работать. Ниже разложено по местам, что где лежит в 1С 8.3, как вынуть конфигурацию наружу и откуда её восстановить, если что-то сломалось. Всё описанное общее для платформы и не зависит от того, Бухгалтерия у вас, ЗУП или самописная конфигурация.

Файловая база: что лежит в каталоге информационной базы

Путь к каталогу файловой базы виден в окне запуска 1С: выделите базу в списке — внизу появится строка вида File="D:\Bases\Buh". Откройте этот каталог в проводнике.

Что вы там увидите:

  • 📦 1Cv8.1CD — главный и единственный обязательный файл. В нём одновременно данные (справочники, документы, регистры), конфигурация, пользователи и настройки. Конфигурация лежит внутри как набор служебных таблиц.
  • 📝 1Cv8Log — каталог журнала регистрации. В новых версиях платформы журнал хранится в файле 1Cv8.lgd, в старом формате — набором файлов .lgf и .lgp.
  • 🔍 1Cv8FTxt — индекс полнотекстового поиска. Его можно удалить, платформа перестроит индекс заново.
  • ⏳ временные файлы, которые появляются во время работы и реструктуризации, например 1Cv8tmp.1CD. Пока база открыта, их не трогают.

Скопировать каталог базы целиком — самый простой способ сделать полную резервную копию файлового варианта. Но только когда в базе никто не работает: копия «на ходу» может оказаться несогласованной.

Внутри 1Cv8.1CD конфигурация разнесена по нескольким служебным таблицам. Их имена совпадают с клиент-серверным вариантом, поэтому подробно они разобраны в следующем разделе.

Где лежат не сами базы, а их список

Список баз в окне запуска — это не база и не конфигурация. Это текстовый файл ibases.v8i в профиле пользователя Windows: %APPDATA%\1C\1CEStart\ibases.v8i. В нём только названия и строки подключения. Если список «пропал» после переустановки Windows, сами базы, скорее всего, целы — нужно просто заново добавить их в список.

Клиент-серверный вариант: в каких таблицах СУБД хранится конфигурация

В клиент-серверной базе нет файла 1Cv8.1CD. Всё лежит в базе данных на сервере СУБД, а сервер 1С лишь обращается к ней. Если открыть эту базу в SQL Server Management Studio или в pgAdmin, вы увидите два вида таблиц.

Таблицы данных имеют имена с подчёркиванием и номером: _Reference45, _Document312, _AccumRg1050. Это справочники, документы и регистры. Соответствие номеров объектам метаданных хранится в самой базе, по имени таблицы его не угадать.

Служебные таблицы платформы имеют «человеческие» имена:

ТаблицаЧто в ней лежит
ConfigКонфигурация базы данных — та, с которой сейчас работают пользователи
ConfigSaveОсновная конфигурация: изменения, сохранённые в конфигураторе, но ещё не применённые к базе данных
ParamsПараметры информационной базы, в том числе список пользователей
FilesСлужебные файлы платформы
DBSchemaОписание структуры таблиц базы данных

Связка Config и ConfigSave объясняет поведение конфигуратора. Пока вы правите конфигурацию и нажимаете «Сохранить», изменения копятся в ConfigSave. Пользователи этого не видят. Только команда «Обновить конфигурацию базы данных» переносит их в Config и при необходимости перестраивает таблицы данных.

Никогда не правьте таблицы Config, ConfigSave, Params напрямую через SQL — ни удалением, ни очисткой. Встречаются советы «очистить ConfigSave , чтобы откатить изменения». Без резервной копии базы целиком такой эксперимент может закончиться неоткрывающейся базой.

Для 1С в клиент-серверном варианте резервная копия средствами СУБД (бэкап SQL Server или pg_dump) сохраняет и данные, и конфигурацию одновременно. Отдельно «бэкапить конфигурацию» для восстановления базы не требуется.

Где хранятся настройки сервера 1С

Отдельно от баз хранятся настройки кластера: список информационных баз кластера, рабочие серверы, администраторы. Они лежат в каталоге srvinfo на сервере 1С, в подкаталоге reg_1541 — файл 1CV8Clst.lst. Конфигурации там нет, но если этот файл потерян, кластер «забывает» базы, хотя данные в СУБД остаются на месте.

Файлы .cf, .cfu, .dt и .cfe: чем отличаются выгрузки

Конфигурацию можно вынуть из базы в отдельный файл. Форматов несколько, и их легко перепутать.

РасширениеЧто внутриГде получают и применяют
.cfПолная конфигурация без данныхКонфигурация → Сохранить конфигурацию в файл / Загрузить конфигурацию из файла
.cfuФайл обновления: разница между релизами поставщикаПрименяется только к базе на поддержке, через режим обновления конфигурации
.dtВся информационная база: конфигурация, данные, пользователиАдминистрирование → Выгрузить информационную базу / Загрузить информационную базу
.cfeРасширение конфигурацииСохраняется и загружается в окне расширений конфигуратора

Главное различие для практики:

  • 🧩 .cf переносит только «программу». Загрузили .cf в рабочую базу — конфигурация полностью заменена, данные остались, но структура таблиц перестроится под новые метаданные.
  • 🔄 .cfu нельзя загрузить в пустую базу. Это не конфигурация, а «заплатка» поверх конкретного релиза.
  • 💾 .dt — это полная копия базы. Именно его делают перед обновлением.

Загрузка .cf или .dt поверх рабочей базы полностью заменяет то, что в ней было. Перед этим нужна свежая выгрузка .dt и уверенность, что в базе никто не работает .

Где лежат файлы поставки и обновлений

Когда вы устанавливаете обновление типовой конфигурации из дистрибутива, файлы .cf, .cfu и описание поставки 1cv8.mft распаковываются в каталог шаблонов. По умолчанию это %APPDATA%\1C\1cv8\tmplts. Путь меняется в окне запуска: кнопка «Настройка» → «Каталоги шаблонов конфигураций и обновлений».

Это и есть тот самый каталог, который принимают за «место хранения конфигурации». На деле это склад дистрибутивов. Его можно чистить от старых релизов, базы это не затронет.

Конфигурация поставщика внутри базы

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

Хранилище конфигурации для командной разработки

Хранилище конфигурации — отдельная база, в которой лежит история версий конфигурации. Его используют, когда над одной конфигурацией работают несколько разработчиков. Каждый подключает к хранилищу свою базу, захватывает объекты на редактирование, правит и помещает изменения обратно.

Где физически лежит хранилище, зависит от способа подключения:

ВариантГде данныеСтрока подключения
ФайловоеКаталог с файлом 1cv8ddb.1CDПуть к каталогу: \\server\repo\buh
Через сервер хранилищаКаталог на машине, где запущен crservertcp://server:1542/buh (1542 — порт по умолчанию)
Через веб-серверКаталог на сервере, публикация через HTTPhttp://server/repo/repo.1ccr

Основные действия в конфигураторе находятся в меню Конфигурация → Хранилище конфигурации:

  1. «Создать хранилище» — указываете каталог, задаёте администратора хранилища.
  2. «Подключиться к хранилищу» — база получает конфигурацию из хранилища и связь с ним.
  3. «Захватить в хранилище» — объект блокируется для других и становится доступен вам на редактирование.
  4. «Поместить в хранилище» — изменения уходят в хранилище новой версией с комментарием.
  5. «История хранилища» — список версий, сравнение и сохранение любой версии в файл .cf.

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

Помните: хранилище хранит только конфигурацию. Данные рабочей базы туда не попадают. Подключённая база по-прежнему держит свою копию конфигурации у себя, в Config и ConfigSave.

Выгрузка конфигурации в файлы и связка с Git

Начиная с платформы 8.3 конфигурацию можно выгрузить не одним бинарным .cf, а деревом XML-файлов и модулей .bsl. Каждый справочник, документ, форма и модуль — отдельный файл. Именно такой формат кладут в Git.

В конфигураторе: Конфигурация → Выгрузить конфигурацию в файлы, обратно — Загрузить конфигурацию из файлов. То же самое делается из командной строки, что удобно для автоматизации:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Admin" /P "" ^
  /DumpConfigToFiles "D:\src\buh" -Format Hierarchical /Out "D:\logs\dump.log"

Номер версии в пути подставьте свой. Для клиент-серверной базы вместо /F указывают /S "server\base".

Полезные ключи пакетного режима конфигуратора:

  • /DumpConfigToFiles и /LoadConfigFromFiles — выгрузка и загрузка XML-исходников;
  • -update к выгрузке — выгружает только изменённое, опираясь на файл ConfigDumpInfo.xml из прошлой выгрузки;
  • /DumpCfg и /LoadCfg — то же самое для одного файла .cf;
  • /UpdateDBCfg — применить конфигурацию к базе данных после загрузки.

Три рабочие схемы связи с Git:

  • 🛠 1С:EDT (Enterprise Development Tools). Проект изначально хранится в файлах, Git встроен в среду. Конфигуратор используют только для отладки и сборки.
  • 🔁 Хранилище + конвертер истории. Команда работает в привычном хранилище, а утилита вроде GitSync (на OneScript) по расписанию переносит каждую версию хранилища в коммит Git с автором и комментарием.
  • 📂 Ручная выгрузка. Разработчик сам выгружает конфигурацию в файлы и коммитит. Годится для одного человека, в команде быстро превращается в конфликты.

Выгрузка в XML — это исходники, а не резервная копия базы. В ней нет данных, пользователей и настроек. Для восстановления рабочей базы нужен .dt или бэкап СУБД.

Резервные копии конфигурации: где искать и как восстановить

Когда конфигурация испорчена — неудачное обновление, ошибка при доработке, база не открывается в режиме предприятия, — вопрос «где хранится» превращается в «откуда достать рабочую версию». Варианты по порядку, от безопасного к радикальному:

Что у вас случилось?

Где обычно лежат резервные копии, если вы их не делали сознательно:

  1. Выгрузки .dt перед обновлением. Мастер обновления конфигурации в типовых решениях предлагает создать копию. Путь копии задавался в мастере; если не меняли — ищите в каталоге резервного копирования, указанном в настройках программы.
  2. Автоматическое резервное копирование в файловом варианте. В типовых конфигурациях на БСП оно настраивается в Администрирование → Обслуживание, раздел резервного копирования. Там же виден каталог, куда пишутся копии.
  3. Бэкапы СУБД. В клиент-серверном варианте их делает администратор SQL Server или PostgreSQL по своему плану обслуживания. Конфигурация восстанавливается вместе с базой.
  4. Копии каталогов файловых баз на сетевом диске или в системе резервного копирования сервера.

Если не открывается файловая база и есть подозрение на повреждение файла, а не конфигурации, начните с утилиты chdbfl.exe из каталога bin платформы. Она проверяет физическую целостность 1Cv8.1CD. Запускайте её на копии файла и только когда с базой никто не работает.

Загрузка .dt или .cf в рабочую базу оборвёт работу пользователей и заменит текущее содержимое. Делайте это вне рабочего времени, предупредив сотрудников, и сначала проверьте файл на копии базы.

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

Можно ли достать конфигурацию из файла 1Cv8.1CD, не открывая базу в 1С?
Штатно — нет. Правильный путь: подключить каталог как новую базу в окне запуска, открыть конфигуратор и сохранить конфигурацию в .cf. Сторонние утилиты чтения формата существуют, но для рабочих задач они не нужны.
Сколько места занимает конфигурация внутри базы?
Для типовых конфигураций вроде Бухгалтерии 3.0 полный .cf весит сотни мегабайт. Внутри базы занято больше: хранятся конфигурация базы данных, основная конфигурация и копия поставщика.
Почему после загрузки .cf пропала поддержка типовой конфигурации?
Файл .cf может загрузиться как конфигурация без связи с поставщиком. Для типовых баз обновления ставят через режим поддержки и файлы .cfu или через сравнение с конфигурацией поставщика, а не простой загрузкой .cf.
Хранится ли расширение конфигурации отдельно от базы?
Нет, подключённые расширения тоже хранятся внутри информационной базы. Файл .cfe — только способ перенести расширение между базами.
Где лежит кеш конфигурации на компьютере пользователя?
В профиле Windows: %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8, в подкаталогах с длинными именами-идентификаторами баз. Это копия для ускорения запуска. Её очистка не затрагивает саму базу, но делать её стоит при закрытой 1С.