Конфигурация 1С внутри базы данных: файл 1Cv8.1CD, таблицы SQL и выгрузки
Содержание
Конфигурация 1С 8.3 хранится внутри самой информационной базы: в файловом варианте — в файле 1Cv8.1CD, в клиент-серверном — в служебных таблицах СУБД Config и ConfigSave. Отдельной папки с «программой бухгалтерии» на диске нет. Файл .cf — это лишь выгрузка, копия конфигурации, а не место её постоянного хранения.
Частое заблуждение: «конфигурация лежит в папке установки 1С, в C:\Program Files\1cv8». Там только платформа — исполняемые файлы 1cv8.exe, 1cv8c.exe, библиотеки. Переустановите платформу хоть десять раз — конфигурация базы не изменится, потому что она живёт вместе с данными.
Где лежит конфигурация файловой базы 1С
Файловая база — это каталог на диске. Его путь виден в окне запуска: выделите базу в списке, и внизу окна появится строка вида File="D:\Bases\Buh". Всё содержимое базы — справочники, документы, регистры, пользователи и сама конфигурация — упаковано в один файл 1Cv8.1CD в этом каталоге.
Внутри 1Cv8.1CD устроен как маленькая СУБД со своими таблицами. Конфигурация занимает несколько служебных таблиц, те же, что и в клиент-серверной базе (о них ниже). Поэтому размер файла растёт и от данных, и от конфигурации: пустая база типовой Бухгалтерии уже весит сотни мегабайт.
Что ещё бывает в каталоге файловой базы:
| Объект в каталоге | Что это | Можно ли удалить |
|---|---|---|
1Cv8.1CD | Данные и конфигурация базы | Нет, это и есть база |
1Cv8Log (папка) | Журнал регистрации | Можно, но потеряете историю событий |
1Cv8FTxt (папка) | Индекс полнотекстового поиска | Можно, индекс пересоздаётся |
1Cv8tmp.1CD | Временный файл при реструктуризации и тестировании | Только когда база никем не открыта |
Копировать 1Cv8.1CD как резервную копию можно только при закрытой базе: все пользователи вышли, Конфигуратор закрыт. Копия файла, снятая во время записи, может оказаться повреждённой.
Кэш конфигурации на компьютере пользователя
Есть ещё одно место, где на диске появляется «кусок» конфигурации, — кэш клиента. Платформа складывает туда скомпилированные модули и формы, чтобы не тянуть их из базы при каждом запуске:
- 📁
%APPDATA%\1C\1cv8\— папки с длинными именами-идентификаторами (GUID), по одной на базу; - 📁
%LOCALAPPDATA%\1C\1cv8\— вторая часть кэша; - 📄
%APPDATA%\1C\1CEStart\ibases.v8i— список баз в окне запуска (только пути, конфигурации там нет).
Кэш вторичен. Удалите его — 1С заново загрузит конфигурацию из базы. Восстановить из кэша конфигурацию нельзя.
Где хранится конфигурация клиент-серверной базы: MS SQL и PostgreSQL
В клиент-серверном варианте база — это обычная база данных на сервере СУБД: Microsoft SQL Server, PostgreSQL, IBM Db2 или Oracle. Конфигурация лежит в её таблицах рядом с данными. Сервер 1С (кластер) конфигурацию у себя постоянно не хранит — он только читает её из СУБД и выполняет код.
На сервере 1С есть каталог кластера, обычно srvinfo (путь задаётся при установке службы). В нём:
- 📄
reg_1541\1CV8Clst.lst— реестр кластера: список баз, рабочие серверы, администраторы; - 📁
reg_1541\<GUID базы>\— серверный кэш конфигурации и сеансовые данные.
Номер в имени reg_1541 совпадает с портом менеджера кластера. Если кластер работает на другом порту, папка называется иначе.
Чтобы понять, в какой СУБД лежит конкретная база, откройте консоль администрирования серверов 1С, найдите базу в разделе информационных баз кластера и откройте её свойства. Там указаны сервер баз данных, тип СУБД и имя базы данных. Имя базы в 1С и имя базы в СУБД могут не совпадать — это частая причина путаницы при поиске нужной базы в SQL Server Management Studio или pgAdmin.
Для резервного копирования клиент-серверной базы средства СУБД надёжнее выгрузки .dt: бэкап SQL Server (BACKUP DATABASE) или pg_dump для PostgreSQL снимаются без выгона пользователей и захватывают конфигурацию вместе с данными.
Две конфигурации в одной базе: основная и конфигурация БД
В каждой информационной базе одновременно живут две конфигурации:
- Конфигурация базы данных — та, по которой сейчас работают пользователи. Платформа строит по ней структуру таблиц.
- Основная конфигурация — та, которую разработчик открывает и правит в Конфигураторе.
Пока вы меняете объекты в Конфигураторе и не нажали F7 («Обновить конфигурацию
базы данных»), изменения живут только в основной конфигурации. Пользователи их не видят. После обновления платформа сравнивает две версии, при необходимости перестраивает таблицы данных (реструктуризация) и делает основную конфигурацию рабочей.
Отсюда практический вывод: в базе может лежать недоделанная доработка, которую никто не применял. Проверить расхождение просто — в Конфигураторе есть сравнение основной конфигурации с конфигурацией базы данных: Конфигурация → Сравнить конфигурации.
Вторая конфигурация отдельно сохраняется в файл командой Конфигурация → Конфигурация базы данных → Сохранить конфигурацию БД в файл. Это пригодится, если основная конфигурация испорчена неудачной правкой, а рабочую нужно сохранить.
Служебные таблицы конфигурации в СУБД
Данные и метаданные в базе 1С разведены по разным таблицам. Таблицы данных называются по шаблону _Reference45, _Document123, _AccumRg678 и т. п. Конфигурация лежит в служебных таблицах без подчёркивания:
| Таблица | Что хранит |
|---|---|
Config | Конфигурацию базы данных (рабочую) |
ConfigSave | Основную конфигурацию, изменённую в Конфигураторе, но ещё не применённую |
Params | Параметры базы и служебные сведения платформы |
Files | Служебные файлы платформы, связанные с базой |
DBSchema | Описание структуры таблиц данных |
v8users | Список пользователей информационной базы |
В PostgreSQL имена этих таблиц пишутся строчными буквами: config, configsave, params. В новых версиях платформы рядом могут появиться таблицы ConfigCAS и ConfigCASSave — это другой способ хранения тех же данных конфигурации.
Каждая строка таблицы Config — отдельный «файл» конфигурации: описание объекта, модуль, форма, макет. Имя записи — идентификатор объекта, содержимое — сжатые двоичные данные. Прочитать модуль SQL-запросом в человеческом виде нельзя.
Посмотреть, сколько записей и места занимает конфигурация, можно безопасным запросом на чтение:
-- MS SQL Server: объём рабочей и основной конфигурации
SELECT 'Config' AS tbl, COUNT(*) AS records, SUM(CAST(DataSize AS bigint)) AS bytes FROM Config
UNION ALL
SELECT 'ConfigSave', COUNT(*), SUM(CAST(DataSize AS bigint)) FROM ConfigSave;
Непустая ConfigSave — признак того, что в Конфигураторе есть изменения, не применённые к базе.
Не меняйте и не очищайте таблицы конфигурации SQL-запросами. Любая запись мимо платформы ломает базу так, что её не откроет даже Конфигуратор. Все операции с конфигурацией — только через Конфигуратор или командную строку 1cv8.
Как узнать, в какой таблице лежит справочник или документ
Соответствие «объект конфигурации → таблица СУБД» выдаёт сама платформа. Метод глобального контекста ПолучитьСтруктуруХраненияБазыДанных() возвращает таблицу значений с именами объектов метаданных и их таблиц, полей и индексов. Его вызывают из внешней обработки или консоли кода и выводят результат в табличный документ. Номера в именах таблиц (_Reference45) в разных базах разные, поэтому брать их из чужих инструкций нельзя.
Файлы конфигурации 1С: .cf, .cfu, .dt и .cfe
Конфигурацию и базу можно вынести из базы данных в файл. Форматов несколько, и их постоянно путают:
| Файл | Что внутри | Как получить | Для чего |
|---|---|---|---|
.cf | Только конфигурация, без данных | Конфигурация → Сохранить конфигурацию в файл | Перенос доработок, эталон для сравнения, создание пустой базы |
.cfu | Файл обновления: изменения между релизами | Входит в поставку обновления от разработчика | Обновление конфигурации на поддержке |
.dt | Вся база: конфигурация, данные, пользователи | Администрирование → Выгрузить информационную базу | Резервная копия, перенос базы, смена файлового варианта на серверный |
.cfe | Расширение конфигурации | Конфигурация → Расширения конфигурации, команда сохранения в файл | Перенос доработок без снятия с поддержки |
| Каталог XML | Конфигурация, разобранная на файлы-исходники | Конфигурация → Выгрузить конфигурацию в файлы | Git, EDT, сравнение по строкам |
Главное различие: .cf без данных, .dt с данными. Если загрузить .cf в рабочую базу, данные останутся, а конфигурация заменится. Если загрузить .dt — заменится вся база целиком.
Загрузка .dt (Администрирование → Загрузить информационную базу) стирает всё, что было в базе, и требует монопольного доступа. Все пользователи будут отключены. Делайте это только в нерабочее время и только после свежей копии текущей базы.
Расширения хранятся в той же базе, что и основная конфигурация, но отдельно от неё. При сохранении .cf расширения в файл не попадают — их выгружают каждое отдельно. Выгрузка .dt захватывает и расширения.
Поддержка поставщика и версии конфигурации
Типовая конфигурация (Бухгалтерия, ЗУП, УТ) обычно стоит «на поддержке» у разработчика. Это значит, что в базе, помимо основной конфигурации, хранится ещё и конфигурация поставщика — эталонная версия текущего релиза. Платформа держит её внутри информационной базы, отдельный файл не нужен.
Сравнивая основную конфигурацию с конфигурацией поставщика, Конфигуратор понимает, что изменил ваш программист, и при обновлении предлагает объединить эти правки с новым релизом. Настройки видны в Конфигурация → Поддержка → Настройка поддержки:
- 🔒 «Изменения не разрешены» — объект редактировать нельзя, он обновляется автоматически;
- ✏️ «Изменения разрешены» — правки возможны, при обновлении потребуется объединение;
- 🔓 «Снято с поддержки» — объект больше не обновляется от поставщика.
Где хранится история версий
Самой базе история не нужна: в ней лежат только текущая основная конфигурация, конфигурация БД и конфигурация поставщика. Прошлые релизы и прошлые правки сами по себе нигде не сохраняются.
Историю ведут тремя способами:
- Хранилище конфигурации — отдельная база для командной разработки (
Конфигурация → Хранилище конфигурации). Файловое хранилище лежит в каталоге в файле1cv8ddb.1CDи помнит каждую версию с автором, датой и комментарием. Из любой версии можно получить.cf. - Выгрузка в XML и Git — каталог исходников коммитится в репозиторий, история видна построчно.
- Архив
.cfи.dt— простейший вариант: файлы с датой в имени перед каждым обновлением.
Перед обновлением доработанной конфигурации сохраните три файла: основную конфигурацию (.cf), конфигурацию поставщика и .dt. Конфигурацию поставщика сохраняют из окна сравнения или через меню поддержки — тогда при неудачном объединении можно повторить его с чистого листа.
Как сохранить и восстановить конфигурацию базы
Сохранение через Конфигуратор
- Запустите базу в режиме «Конфигуратор».
- Если дерево конфигурации не показано, откройте его:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Сохранить конфигурацию в файл, укажите путь и имя, напримерbuh_2026-10-07.cf. - Для полной копии выберите
Администрирование → Выгрузить информационную базуи сохраните.dt.
Сохранение .cf монопольного доступа не требует, пользователи могут продолжать работу.
Восстановление
- Только конфигурация.
Конфигурация → Загрузить конфигурацию из файла→ затемF7для обновления конфигурации БД. При загрузке.cfповерх конфигурации на поддержке связь с поставщиком может быть изменена — внимательно читайте вопросы платформы. - Вся база.
Администрирование → Загрузить информационную базуиз.dt. Лучше загружать в новую пустую базу, проверить её и только потом подменять рабочую.
Сохранение из командной строки
Для регулярных копий по расписанию используют пакетный режим Конфигуратора:
rem Файловая база: выгрузка конфигурации и всей базы
"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpCfg "E:\Backup\buh.cf" /Out "E:\Backup\cf.log"
"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB "E:\Backup\buh.dt" /Out "E:\Backup\dt.log"
rem Серверная база: вместо /F указывается /S "сервер\имя_базы"
"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /S"srv1c\buh" /N"Администратор" /P"пароль" /DumpCfg "E:\Backup\buh.cf"
Путь к 1cv8.exe подставьте свой: номер версии в каталоге совпадает с установленной платформой. Обратные операции — ключи /LoadCfg и /RestoreIB, обновление конфигурации
БД — /UpdateDBCfg. Пароль в bat-файле храните в каталоге с ограниченным доступом.
/DumpIB требует монопольного доступа: активные сеансы пользователей помешают выгрузке. Ставьте задание на ночь и заранее предупредите пользователей.
Частые ошибки при поиске и копировании конфигурации
- ❌ Искать конфигурацию в папке платформы.
C:\Program Files\1cv8содержит только программу. Конфигурация — в каталоге базы или в СУБД. - ❌ Считать кэш
%APPDATA%\1C\1cv8копией базы. Это временные файлы, восстановить из них ничего нельзя. - ❌ Хранить только
.cfкак резервную копию. Конфигурацию типовой можно скачать заново, а данные — нет. Копия без данных бесполезна при сбое. - ❌ Копировать
1Cv8.1CDпри открытой базе. Файл может оказаться несогласованным, и копия не откроется. - ❌ Путать основную конфигурацию и конфигурацию БД. Сохранили
.cfдо нажатияF7— получили недоделанную версию, а не ту, с которой работают пользователи. - ❌ Править таблицу
Configв SQL. Восстановить базу после этого можно только из резервной копии.