Конфигурация 1С 8.3 изнутри: в каком файле, таблице и папке она лежит

· 9 мин

Содержание

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

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

Конфигурация в файловой базе: один файл 1Cv8.1CD

Откройте список баз в окне запуска, выделите нужную и посмотрите путь внизу окна: File="D:\Bases\Buh". В этой папке и лежит база.

Типичное содержимое каталога файловой базы:

ОбъектЧто это
1Cv8.1CDСама база: данные, конфигурация, пользователи, параметры
1Cv8Log\Журнал регистрации
1Cv8FTxt\ или похожая папкаИндекс полнотекстового поиска

Внутри 1Cv8.1CD — набор таблиц, как в обычной СУБД. Конфигурация лежит в служебных таблицах, данные — в таблицах объектов (справочники, документы, регистры). Поэтому скопировать «только конфигурацию» простым копированием файла нельзя: вместе с ней уедут все данные.

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

💡 Размер 1Cv8.1CD растёт не только от документов. Типовая конфигурация вроде Бухгалтерии 3.0 сама по себе занимает сотни мегабайт внутри файла, а после серии обновлений в базе остаются и старые версии служебных данных. Тестирование и исправление с режимом сжатия таблиц возвращает часть места.

Где лежит конфигурация в клиент-серверной базе

В клиент-серверном варианте файла 1Cv8.1CD нет. Платформа создаёт в СУБД (MS SQL Server, PostgreSQL и др.) базу, и конфигурация хранится в её служебных таблицах.

Основные служебные таблицы:

  • 📦 Config — конфигурация базы данных, по которой сейчас работают пользователи.
  • ✏️ ConfigSave — основная (редактируемая) конфигурация: изменения, которые сохранены в Конфигураторе, но ещё не применены к базе.
  • 🧱 DBSchema — описание структуры таблиц базы для текущей конфигурации.
  • ⚙️ Params — параметры информационной базы.
  • 👤 v8users — список пользователей информационной базы.
  • 🗂 Files — служебные файлы платформы.

В новых версиях платформы рядом могут встречаться таблицы ConfigCAS и ConfigCASSave. Они тоже относятся к хранению конфигурации, но устроены по-другому.

Таблицы с данными имеют имена с префиксом и номером: _Reference25, _Document112, _AccumRg1540. По имени таблицы нельзя понять, какой это справочник или документ — для этого есть отдельный способ (о нём ниже).

На сервере 1С (не СУБД) конфигурации тоже нет. В каталоге кластера srvinfo\reg_1541\ хранятся реестр кластера, журналы регистрации и служебные данные баз, но не сама конфигурация.

Три конфигурации в одной базе

Начинающих разработчиков путает то, что в одной базе одновременно живут три конфигурации. Их легко увидеть в Конфигураторе.

КонфигурацияГде хранитсяКак открыть
Основная (редактируемая)ConfigSaveКонфигурация → Открыть конфигурацию
Конфигурация базы данныхConfigКонфигурация → Конфигурация базы данных → Открыть конфигурацию БД
Конфигурация поставщикавнутри служебных данных базычерез меню Конфигурация → Поддержка

Как они связаны:

  1. Вы правите модуль и нажимаете «Сохранить». Изменение попадает в основную конфигурацию (ConfigSave).
  2. Пользователи пока работают по старой версии из Config.
  3. Команда Конфигурация → Обновить конфигурацию базы данных (F7) переносит изменения в Config и при необходимости перестраивает таблицы данных.
  4. Конфигурация поставщика — эталон фирмы-разработчика. Она нужна, чтобы при обновлении понять, что поменял поставщик, а что доработали вы.

Пока не выполнено «Обновить конфигурацию базы данных», пользователи ваших правок не видят. Это частая причина вопроса «я поменял код, а ничего не изменилось».

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

Как узнать, какая таблица SQL хранит справочник или документ

Когда нужно найти в SQL таблицу конкретного объекта (например, для анализа размера базы или блокировок), пользуйтесь встроенной функцией платформы. Она возвращает соответствие объектов метаданных и таблиц СУБД.

Выполните код в обработке или в режиме отладки:

Структура = ПолучитьСтруктуруХраненияБазыДанных(, Истина);
Для Каждого Строка Из Структура Цикл
    Сообщить(Строка.Метаданные + " → " + Строка.ИмяТаблицыХранения);
КонецЦикла;

Второй параметр Истина возвращает имена в терминах СУБД (_Reference25), а не платформы. В таблице результата есть и поля: колонки таблицы с соответствием реквизитам.

Чтобы посмотреть служебную таблицу конфигурации на SQL Server, достаточно запроса только на чтение:

SELECT TOP 20 FileName, DataSize, Modified
FROM Config
ORDER BY Modified DESC;

Каждая строка Config — один «файл» конфигурации: корневое описание, модули, формы, макеты. Имена — служебные идентификаторы (GUID), содержимое — в поле двоичных данных в сжатом виде. Читать модули так неудобно: для работы с кодом есть выгрузка в XML.

Никогда не изменяйте и не удаляйте строки в Config, ConfigSave, DBSchema средствами SQL. Платформа сверяет их между собой, и база может перестать открываться. Все изменения — только через Конфигуратор или командную строку 1cv8.

Для файловой базы смотреть внутренности 1Cv8.1CD можно сторонними утилитами просмотра. Работайте только с копией файла.

Выгрузка конфигурации в XML: какие файлы и папки появляются

Выгрузка в файлы — единственный удобный способ увидеть конфигурацию «на диске» в читаемом виде. Её используют для Git, EDT, сравнения версий и автоматической проверки кода.

Как выгрузить через Конфигуратор :

  1. Откройте конфигурацию: Конфигурация → Открыть конфигурацию.
  2. Выберите Конфигурация → Выгрузить конфигурацию в файлы.
  3. Укажите пустой каталог и формат выгрузки (иерархический — стандарт).
  4. Дождитесь окончания. Для Бухгалтерии 3.0 это несколько минут и десятки тысяч файлов.

Что окажется в каталоге:

  • 📄 Configuration.xml — свойства конфигурации: имя, версия, поставщик, режим совместимости.
  • 📄 ConfigDumpInfo.xml — список выгруженных объектов с версиями. Нужен для частичной выгрузки только изменений.
  • 📁 Catalogs\, Documents\, CommonModules\, InformationRegisters\, Reports\ и др. — по папке на каждый вид объектов метаданных.
  • 📁 внутри объекта — его .xml с описанием реквизитов и подпапка Ext\ с модулями .bsl, формами и макетами.

Например, модуль менеджера справочника «Контрагенты» окажется в Catalogs\Контрагенты\Ext\ManagerModule.bsl.

То же из командной строки:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Админ" /P"" /DumpConfigToFiles "D:\Export\Buh" /Out "D:\Export\log.txt"

Обратная загрузка — параметр /LoadConfigFromFiles. Сохранение в один файл .cf — /DumpCfg "D:\buh.cf", загрузка — /LoadCfg, применение к базе — /UpdateDBCfg. Номер версии в пути замените на установленный у вас.

Перед загрузкой конфигурации из файлов или .cf
Выполнено: 0 / 5

Файлы .cf, .cfu, .dt и каталог шаблонов tmplts

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

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

Дистрибутивы обновлений после установки распаковываются в каталог шаблонов. По умолчанию это:

%APPDATA%\1C\1cv8\tmplts\

Внутри — папки по поставщику, конфигурации и версии, например tmplts\1c\Accounting\3_0_xxx_xx\. Там лежат 1Cv8.cf, 1Cv8.cfu, файлы описания обновления.

Каталог можно сменить: в окне запуска нажмите Настройка и укажите свои пути в списке каталогов шаблонов конфигураций и обновлений. Удобно вынести его на сетевой диск, чтобы все администраторы видели одни и те же дистрибутивы.

💡 Папка tmplts со временем разрастается до десятков гигабайт: каждый релиз — отдельная папка. Старые версии, через которые вы уже обновились, можно удалить. Оставьте последние 2–3 релиза на случай отката.

Служебные каталоги платформы и кэш конфигурации

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

  • 📁 %APPDATA%\1C\1cv8\ — папки с именами-GUID, по одной на каждую базу;
  • 📁 %LOCALAPPDATA%\1C\1cv8\ — ещё один набор GUID-папок с кэшем;
  • 📄 %APPDATA%\1C\1CEStart\ibases.v8i — список баз в окне запуска (только ссылки, конфигурации там нет).

На Linux аналогичные каталоги находятся в домашней папке пользователя, в скрытой директории .1cv8.

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

Как сбросить кэш безопасно:

  1. Попросите пользователя закрыть все окна 1С на этом компьютере.
  2. Либо запустите базу с параметром /ClearCache (его можно прописать в свойствах базы в поле дополнительных параметров запуска).
  3. Либо удалите GUID-папки вручную в обоих каталогах.

Удаление папок кэша на терминальном сервере затрагивает всех, кто работает под этим профилем. Делайте это, когда сеансы этих пользователей закрыты, иначе часть файлов будет занята, а у работающих сотрудников могут вылететь ошибки.

Обновление и объединение: какие конфигурации участвуют

При обновлении типовой конфигурации платформа работает со всеми тремя версиями сразу. Понимание того, где какая лежит, снимает большинство вопросов.

Обновление на поддержке без доработок. Конфигурация поставщика и основная совпадают. Команда Конфигурация → Поддержка → Обновить конфигурацию берёт .cfu или .cf из каталога шаблонов, заменяет обе конфигурации, затем F7 применяет результат к базе.

Обновление доработанной конфигурации. Включается сравнение и объединение трёх версий:

  • старая конфигурация поставщика — что было у фирмы раньше;
  • новая конфигурация поставщика — что пришло в обновлении;
  • основная конфигурация — то, что сейчас у вас с доработками.

Платформа показывает, какие объекты изменил поставщик, какие — вы, и где правки пересеклись. Для пересечений выбирается правило: взять из нового релиза, оставить своё или объединить с приоритетом одной из сторон.

Ручное сравнение. Конфигурация → Сравнить, объединить с конфигурацией из файла подходит, когда нужно перенести доработки из одной базы в другую через .cf.

СценарийЧто меняетсяРиск
Типовая на поддержкеПоставщика и основнаяМинимальный
Доработанная на поддержкеВсе три, с объединениемПотеря правок при неверных правилах
Снята с поддержкиТолько основнаяОбновлять придётся вручную через сравнение
Изменения в расширенииОсновная не трогаетсяРасширение может не подключиться после обновления

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

Хранилище конфигурации. При групповой разработке есть ещё одно место — хранилище. Это отдельный каталог (файл 1cv8ddb.1CD) или сервер хранилища, где лежит история версий конфигурации. Рабочая база подключена к хранилищу, но её собственная конфигурация по-прежнему хранится в ней самой.

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

Можно ли скопировать конфигурацию без данных, просто взяв файл из папки базы?
Нет. В 1Cv8.1CD конфигурация и данные лежат вместе. Для переноса без данных сохраните конфигурацию в .cf и загрузите её в пустую базу.
Почему после удаления базы из списка она занимает место на диске?
Команда «Удалить» в окне запуска убирает только ссылку из ibases.v8i. Каталог с 1Cv8.1CD и кэш в профиле остаются, их удаляют вручную.
Где хранится конфигурация, если база опубликована на веб-сервере?
Там же, в базе. На веб-сервере лежит только файл публикации default.vrd с адресом базы, конфигурации в нём нет.
Можно ли открыть .cf без базы?
Напрямую — нет. Создайте пустую информационную базу, загрузите в неё .cf через Конфигуратор или выполните сравнение с этим файлом из любой базы.
Хранятся ли расширения в файле .cf основной конфигурации?
Нет. Расширения сохраняются отдельно в .cfe. В выгрузку .dt они попадают вместе с базой.