Справочники и Данные · 11 мин
Где хранятся справочники 1С и как их найти
Объясняем, где физически хранятся справочники 1С: в таблицах СУБД, файловой базе 1Cv8.1CD и конфигурации. Как найти нужный справочник и не потерять данные.
Справочники 1С — это не отдельные файлы на диске и не документы в папке «Мои документы». Все элементы справочников (контрагенты, номенклатура, сотрудники, склады) хранятся внутри информационной базы: в файловом варианте — в едином файле 1Cv8.1CD, в клиент-серверном — в таблицах базы данных SQL Server, PostgreSQL или другой СУБД. Понимание этого принципа важно для резервного копирования, переноса данных и восстановления после сбоев.
При этом у термина «справочник» в 1С два смысла. Первый — метаданные, то есть описание структуры справочника (реквизиты, табличные части, формы), которое хранится в конфигурации. Второй — сами данные, то есть конкретные элементы, которые вводят пользователи. Метаданные живут в конфигураторе и файле конфигурации (.cf), данные — в таблицах базы. Путаница между этими уровнями — частая причина ошибок при обновлениях и переносах.
Ниже разберём, где именно находятся справочники в файловом и серверном вариантах, какие таблицы СУБД им соответствуют, как найти нужный справочник в конфигураторе и предприятии, и как безопасно делать копии, не рискуя потерять данные.
Два уровня хранения: конфигурация и данные
Когда разработчик открывает конфигуратор и видит в дереве метаданных ветку «Справочники», он работает с описанием структуры. Здесь задаются реквизиты (ИНН, КПП, единица измерения), табличные части, иерархия, подчинение владельцу, формы списка и элемента. Это описание сохраняется в конфигурации базы данных и может быть выгружено в файл .cf или .dt.
Данные — это уже конкретные записи: «ООО Ромашка», «Гвоздь 6х200», «Иванов И.И.». Они хранятся в таблицах базы данных и никак не попадут в файл конфигурации .cf. Именно поэтому выгрузка конфигурации не является резервной копией: структура сохранится, а все контрагенты и номенклатура — нет.
Практический вывод: для полной копии базы используйте выгрузку в .dt (через конфигуратор: «Администрирование → Выгрузить информационную базу») или штатные средства резервного копирования СУБД. Файл .cf годится только для переноса доработок конфигурации.
Файловый вариант: где лежит база на диске
В файловом варианте вся информационная база — это каталог, в котором главный файл называется 1Cv8.1CD. Внутри него в специальном формате хранятся все таблицы: справочники, документы, регистры, константы, настройки. Путь к каталогу виден при запуске: в окне выбора информационных баз выделите базу — путь отобразится внизу окна или в настройках.
Также путь можно посмотреть из режима «Предприятие»: меню «О программе» (или «Сервис → О программе») покажет каталог информационной базы. Рядом с 1Cv8.1CD могут лежать служебные файлы и папки: журнал регистрации (в новых форматах — каталог 1Cv8Log), файлы блокировок и индексов полнотекстового поиска.
Копировать файл 1Cv8.1CD напрямую можно только при полном отсутствии активных сеансов. Если пользователи работают, файл будет заблокирован, а скопированная версия может оказаться повреждённой или несогласованной. Безопаснее делать копию через выгрузку .dt или после завершения всех сеансов.
Клиент-серверный вариант: таблицы в СУБД
В клиент-серверном варианте данные справочников хранятся в таблицах базы данных на сервере СУБД (Microsoft SQL Server, PostgreSQL, Oracle, IBM Db2). Каждому справочнику конфигурации соответствует таблица с именем вида _ReferenceNNN, где NNN — внутренний номер объекта метаданных. Например, справочник «Номенклатура» может храниться в таблице _Reference31, а «Контрагенты» — в _Reference57.
Имена таблиц не совпадают с названиями справочников, потому что платформа присваивает номера автоматически. Сопоставление можно получить штатной функцией «ПолучитьСтруктуруХраненияБазыДанных()» в конфигураторе или через обработку, выводящую структуру хранения. В результате будет видно, какая таблица и какие поля соответствуют каждому справочнику и реквизиту (поля обычно называются _FldNNN).
Прямое обращение к таблицам СУБД запросами SELECT допустимо для чтения и аналитики, но любые UPDATE, INSERT или DELETE в обход платформы категорически не рекомендуются: нарушается логическая целостность (версии объектов, итоги, ссылки), и такая база теряет поддержку. Для изменения данных используйте только средства 1С: обработки, обмены, встроенный язык.
СтруктураХранения = ПолучитьСтруктуруХраненияБазыДанных();
Для Каждого Строка Из СтруктураХранения Цикл
Если СтрНачинаетсяС(Строка.ИмяТаблицыХранения, "_Reference") Тогда
Сообщить(Строка.Метаданные + " -> " + Строка.ИмяТаблицыХранения);
КонецЕсли;
КонецЦикла;Как найти нужный справочник в конфигураторе и предприятии
В конфигураторе справочники находятся в дереве конфигурации: ветка «Справочники» в общем списке метаданных. Если дерево не открыто, выполните «Конфигурация → Открыть конфигурацию». Поиск по имени работает через «Правка → Поиск» или поиск по метаданным (Ctrl+Shift+F в отдельных версиях), а также через кнопку поиска в панели метаданных.
В режиме «Предприятие» справочники доступны из интерфейса прикладного решения: обычно через разделы «Справочники», «НСИ», «Настройки» или через «Все функции» (в управляемом приложении: кнопка меню → «Все функции» → ветка «Справочники»). Если пункта «Все функции» нет, включите его в параметрах: «Сервис → Параметры → Отображать команду Все функции».
Если известно название элемента, но неизвестно, в каком он справочнике, используйте глобальный поиск по строке (Ctrl+Shift+F в предприятии) или полнотекстовый поиск по данным, если он включён администратором. Для поиска по ссылке в технических задачах применяют обработку «Поиск ссылок на объект».
- 1Откройте конфигуратор и убедитесь, что никто не работает с базой (для файлового варианта).
- 2Выполните код с ПолучитьСтруктуруХраненияБазыДанных() или откройте обработку структуры хранения.
- 3Найдите строку с именем метаданных, например Справочник.Номенклатура.
- 4Зафиксируйте имя таблицы вида _ReferenceNNN и имена полей _FldNNN для нужных реквизитов.
- 5Используйте эти данные только для чтения через СУБД или для диагностики.
Кэш метаданных и временные копии: что ещё хранится на компьютере
Помимо основной базы, платформа создаёт на клиентских компьютерах кэш метаданных — служебные каталоги в профиле пользователя, например в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Там хранятся локальные копии структуры конфигурации для ускорения запуска. Это не данные справочников, а кэш описаний; его очистка иногда помогает при ошибках вида «потерян контекст» или несоответствии версий после обновления.
На сервере 1С (в клиент-серверном варианте) также существует каталог srvinfo с рабочими процессами и кэшем сеансовых данных. Удалять его содержимое при работающем сервере нельзя. Если подозреваете повреждение кэша, корректная последовательность — остановить службу агента сервера, очистить каталог, запустить службу заново.
Отдельно стоит упомянуть автосохранённые настройки пользователей (варианты отчётов, настройки списков): они хранятся в системных таблицах базы, а не в справочниках, и при выгрузке .dt переносятся вместе с базой.
Резервное копирование и перенос справочников
Чтобы сохранить справочники вместе с остальными данными, используйте выгрузку информационной базы в файл .dt: конфигуратор → «Администрирование → Выгрузить информационную базу». Выгрузка требует монопольного доступа, поэтому пользователи должны выйти. Для клиент-серверных баз альтернатива — резервное копирование средствами СУБД (например, BACKUP DATABASE в SQL Server), что обычно быстрее на больших объёмах.
Если нужно перенести только справочники между разными базами (например, номенклатуру из старой учётной системы в новую), применяют типовые обработки: «Универсальный обмен данными в формате XML», «Выгрузка и загрузка данных XML» (для идентичных конфигураций) или конвертацию данных с настроенными правилами обмена. При переносе в неидентичную конфигурацию правила сопоставления реквизитов настраиваются отдельно.
Проверка результата после переноса: сравните количество элементов в ключевых справочниках, откройте несколько случайных элементов и убедитесь, что реквизиты и табличные части заполнены, а ссылки на связанные объекты (единицы измерения, валюты, договоры) не битые.
Как проверить результат переноса справочников
Совпадает с источником или отличается на известное число отборов
Существенная разница без объяснения — часть данных не перенеслась
Поля заполнены, типы значений корректны
Пустые обязательные поля, обрезанные строки, неверные даты
Связанные элементы открываются без ошибок
«Объект не найден» — битые ссылки, перенос неполный
Типичные ошибки и ограничения
Самая распространённая ошибка — считать выгрузку конфигурации .cf резервной копией. После сбоя обнаруживается, что структура есть, а данные справочников потеряны. Вторая ошибка — копирование 1Cv8.1CD «на живую» и последующая работа с повреждённой копией. Третья — прямое редактирование таблиц SQL: база начинает выдавать ошибки согласованности, а восстановление требует участия специалиста.
Ещё одна ловушка — поиск справочников «по файлам» в каталоге базы. В файловом варианте нельзя открыть отдельный справочник как файл: всё внутри 1Cv8.1CD, и извлечь данные можно только штатными инструментами платформы или утилитами восстановления после повреждений.
Что важно запомнить
Справочники 1С хранятся внутри информационной базы: в файле 1Cv8.1CD (файловый вариант) или в таблицах _ReferenceNNN в СУБД (клиент-серверный). Структура справочников — в конфигурации, данные — в базе. Резервную копию делайте через .dt или средства СУБД, таблицы SQL напрямую не редактируйте.
Частые вопросы
Можно ли открыть справочник 1С без программы 1С?
Штатно — нет. Файл 1Cv8.1CD имеет закрытый формат, и прочитать его могут только платформа 1С или специализированные утилиты восстановления. В клиент-серверном варианте данные доступны через запросы к СУБД, но только для чтения и с пониманием структуры хранения.
Где взять путь к файловой базе, если я его забыл?
Откройте стартовое окно 1С (список информационных баз), выделите нужную базу — путь к каталогу отображается внизу окна. Также путь виден в режиме «Предприятие» через «О программе» в строке «Каталог».
Хранятся ли справочники в облаке при работе через 1С:Фреш?
Да, в сервисе 1С:Фреш база размещается на серверах оператора, и прямого доступа к файлам или таблицам у пользователя нет. Выгрузка данных выполняется штатными средствами: через выгрузку .dt (если доступна в тарифе) или обмены.
Чем отличается таблица _Reference от _ReferenceChngR?
Таблица _ReferenceNNN хранит сами элементы справочника, а _ReferenceChngRNNN — зарегистрированные изменения для планов обмена. Вторая нужна механизму синхронизации и не содержит самих данных справочника.
Как перенести только один справочник в другую базу?
Для идентичных конфигураций подойдёт обработка «Выгрузка и загрузка данных XML» с отбором по нужному справочнику. Для разных конфигураций используют «Универсальный обмен данными в формате XML» с правилами конвертации или пишут перенос на встроенном языке через COM/OLE.
Удалил элемент справочника — где искать его восстановление?
Штатной «корзины» в 1С нет: удалённый элемент восстанавливается только из резервной копии (.dt или бэкапа СУБД). Если пометка на удаление ещё не удалена монопольно, объект можно вернуть, сняв пометку. Поэтому регулярное резервное копирование — единственная надёжная защита.