Конфигурация 1С 8.3 изнутри: в каком файле, таблице и папке она лежит
Содержание
Конфигурация 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 | Конфигурация → Конфигурация базы данных → Открыть конфигурацию БД |
| Конфигурация поставщика | внутри служебных данных базы | через меню Конфигурация → Поддержка |
Как они связаны:
- Вы правите модуль и нажимаете «Сохранить». Изменение попадает в основную конфигурацию (
ConfigSave). - Пользователи пока работают по старой версии из
Config. - Команда
Конфигурация → Обновить конфигурацию базы данных(F7) переносит изменения вConfigи при необходимости перестраивает таблицы данных. - Конфигурация поставщика — эталон фирмы-разработчика. Она нужна, чтобы при обновлении понять, что поменял поставщик, а что доработали вы.
Пока не выполнено «Обновить конфигурацию базы данных», пользователи ваших правок не видят. Это частая причина вопроса «я поменял код, а ничего не изменилось».
Если правки в основной конфигурации оказались неудачными и их ещё не применили, вернуть основную конфигурацию к рабочей можно командой Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД.
Как узнать, какая таблица 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, сравнения версий и автоматической проверки кода.
Как выгрузить через Конфигуратор :
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Выгрузить конфигурацию в файлы. - Укажите пустой каталог и формат выгрузки (иерархический — стандарт).
- Дождитесь окончания. Для Бухгалтерии 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, .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С на этом компьютере.
- Либо запустите базу с параметром
/ClearCache(его можно прописать в свойствах базы в поле дополнительных параметров запуска). - Либо удалите GUID-папки вручную в обоих каталогах.
Удаление папок кэша на терминальном сервере затрагивает всех, кто работает под этим профилем. Делайте это, когда сеансы этих пользователей закрыты, иначе часть файлов будет занята, а у работающих сотрудников могут вылететь ошибки.
Обновление и объединение: какие конфигурации участвуют
При обновлении типовой конфигурации платформа работает со всеми тремя версиями сразу. Понимание того, где какая лежит, снимает большинство вопросов.
Обновление на поддержке без доработок. Конфигурация поставщика и основная совпадают. Команда Конфигурация → Поддержка → Обновить конфигурацию берёт .cfu или .cf из каталога шаблонов, заменяет обе конфигурации, затем F7 применяет результат к базе.
Обновление доработанной конфигурации. Включается сравнение и объединение трёх версий:
- старая конфигурация поставщика — что было у фирмы раньше;
- новая конфигурация поставщика — что пришло в обновлении;
- основная конфигурация — то, что сейчас у вас с доработками.
Платформа показывает, какие объекты изменил поставщик, какие — вы, и где правки пересеклись. Для пересечений выбирается правило: взять из нового релиза, оставить своё или объединить с приоритетом одной из сторон.
Ручное сравнение. Конфигурация → Сравнить, объединить с конфигурацией из файла подходит, когда нужно перенести доработки из одной базы в другую через .cf.
| Сценарий | Что меняется | Риск |
|---|---|---|
| Типовая на поддержке | Поставщика и основная | Минимальный |
| Доработанная на поддержке | Все три, с объединением | Потеря правок при неверных правилах |
| Снята с поддержки | Только основная | Обновлять придётся вручную через сравнение |
| Изменения в расширении | Основная не трогается | Расширение может не подключиться после обновления |
Последний вариант — причина, по которой доработки сейчас стараются выносить в расширения. Расширения хранятся в базе отдельно от основной конфигурации, и обновление типовой их не перезаписывает.
Хранилище конфигурации. При групповой разработке есть ещё одно место — хранилище. Это отдельный каталог (файл 1cv8ddb.1CD) или сервер хранилища, где лежит история версий конфигурации. Рабочая база подключена к хранилищу, но её собственная конфигурация по-прежнему хранится в ней самой.
Частые вопросы
Можно ли скопировать конфигурацию без данных, просто взяв файл из папки базы?
1Cv8.1CD конфигурация и данные лежат вместе. Для переноса без данных сохраните конфигурацию в .cf и загрузите её в пустую базу.Почему после удаления базы из списка она занимает место на диске?
ibases.v8i. Каталог с 1Cv8.1CD и кэш в профиле остаются, их удаляют вручную.Где хранится конфигурация, если база опубликована на веб-сервере?
default.vrd с адресом базы, конфигурации в нём нет.Можно ли открыть .cf без базы?
.cf через Конфигуратор или выполните сравнение с этим файлом из любой базы.Хранятся ли расширения в файле .cf основной конфигурации?
.cfe. В выгрузку .dt они попадают вместе с базой.