Конфигурация 1С внутри базы данных: файл 1Cv8.1CD, таблицы SQL и выгрузки

· 10 мин

Содержание

Конфигурация 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 снимаются без выгона пользователей и захватывают конфигурацию вместе с данными.

Две конфигурации в одной базе: основная и конфигурация БД

В каждой информационной базе одновременно живут две конфигурации:

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

Пока вы меняете объекты в Конфигураторе и не нажали 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 захватывает и расширения.

Поддержка поставщика и версии конфигурации

Типовая конфигурация (Бухгалтерия, ЗУП, УТ) обычно стоит «на поддержке» у разработчика. Это значит, что в базе, помимо основной конфигурации, хранится ещё и конфигурация поставщика — эталонная версия текущего релиза. Платформа держит её внутри информационной базы, отдельный файл не нужен.

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

  • 🔒 «Изменения не разрешены» — объект редактировать нельзя, он обновляется автоматически;
  • ✏️ «Изменения разрешены» — правки возможны, при обновлении потребуется объединение;
  • 🔓 «Снято с поддержки» — объект больше не обновляется от поставщика.

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

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

Историю ведут тремя способами:

  1. Хранилище конфигурации — отдельная база для командной разработки (Конфигурация → Хранилище конфигурации). Файловое хранилище лежит в каталоге в файле 1cv8ddb.1CD и помнит каждую версию с автором, датой и комментарием. Из любой версии можно получить .cf.
  2. Выгрузка в XML и Git — каталог исходников коммитится в репозиторий, история видна построчно.
  3. Архив .cf и .dt — простейший вариант: файлы с датой в имени перед каждым обновлением.

Перед обновлением доработанной конфигурации сохраните три файла: основную конфигурацию (.cf), конфигурацию поставщика и .dt. Конфигурацию поставщика сохраняют из окна сравнения или через меню поддержки — тогда при неудачном объединении можно повторить его с чистого листа.

Как сохранить и восстановить конфигурацию базы

Сохранение через Конфигуратор

  1. Запустите базу в режиме «Конфигуратор».
  2. Если дерево конфигурации не показано, откройте его: Конфигурация → Открыть конфигурацию.
  3. Выберите Конфигурация → Сохранить конфигурацию в файл, укажите путь и имя, например buh_2026-10-07.cf.
  4. Для полной копии выберите Администрирование → Выгрузить информационную базу и сохраните .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. Восстановить базу после этого можно только из резервной копии.

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

Можно ли открыть файл .cf без информационной базы?
Нет. Файл .cf открывают в Конфигураторе любой базы: например, создают пустую базу и загружают в неё конфигурацию из файла. Сравнить .cf с текущей конфигурацией можно без загрузки — через сравнение конфигураций.
Почему файл 1Cv8.1CD такой большой, если данных мало?
В нём лежат три копии конфигурации: рабочая, основная и конфигурация поставщика. У типовых решений каждая весит десятки мегабайт. Плюс файл не уменьшается сам после удаления данных — место освобождает тестирование и исправление со сжатием таблиц.
Попадают ли пользователи и пароли в файл .cf?
Нет. Список пользователей хранится в таблице v8users и переносится только выгрузкой .dt. Загрузка .cf пользователей базы не меняет.
Где хранятся внешние отчёты и обработки?
Подключённые через справочник «Дополнительные отчёты и обработки» — внутри базы, в её данных. Открытые через «Файл → Открыть» — только на диске в виде файлов .epf и .erf, в базе их нет.
Можно ли перенести конфигурацию из файловой базы на SQL без потери данных?
Да. Выгрузите .dt из файловой базы, создайте пустую базу на сервере 1С и загрузите в неё этот файл. Конфигурация, данные и пользователи перейдут целиком.