Справочники в 1С:Предприятие — это основа любой конфигурации, будь то бухгалтерия, торговля или производство. Они хранят данные о контрагентах, номенклатуре, сотрудниках и других объектах, без которых невозможна работа системы. Однако для администраторов, разработчиков и даже опытных пользователей часто остаётся загадкой, где физически расположены эти справочники и как к ним получить доступ вне интерфейса программы. В зависимости от режима работы (файловый или клиент-серверный) и версии платформы пути хранения могут кардинально отличаться.

Эта статья раскроет все возможные места хранения справочников — от классических .1CD-файлов до таблиц Microsoft SQL Server или PostgreSQL, а также объяснит, как данные структурированы внутри базы. Вы узнаете, можно ли редактировать справочники напрямую (и почему этого делать не стоит), как найти временные файлы с кэшем и что такое "физическая" и "логическая" структура хранения. Особое внимание уделено различиям между платформами 1С:Предприятие 8.3 и 1С:Предприятие 7.7, а также нюансам работы с облачными версиями.

Файловый режим: где хранятся справочники в локальной базе 1С

В файловом режиме все данные, включая справочники, хранятся в одном монолитном файле с расширением .1CD. Этот файл представляет собой бинарную базу данных, которую обрабатывает с помощью встроенного механизма DBF-совместимого движка. Физически файл расположен там, где вы указали при создании или подключении базы.

Типичные пути хранения:

  • 📁 C:\Users\Public\1C\1Cv8\ — стандартное расположение для новых баз в Windows.
  • 📁 \\SERVER\1C_Bases\ — сетевой путь, если база размещена на файловом сервере.
  • 📁 /home/user/1c_bases/ — типичный путь в Linux-системах.
  • 💾 D:\1C\BaseName\ — пользовательский каталог на отдельном диске.

Важно понимать, что .1CD — это не просто архив с таблицами, а сложная структура с индексами, журналами транзакций и служебными данными. Прямое редактирование этого файла (например, через hex-редактор) почти всегда приводит к повреждению базы. Даже инструменты вроде 1Cv8.1CD или ChDBFl позволяют только просматривать данные в читаемом виде, но не гарантируют целостность после изменений.

💡

Если нужно перенести справочники в другую базу, используйте стандартные механизмы выгрузки/загрузки данных (XML или DT-формат) или инструменты вроде Конвертация данных 2.0. Прямое копирование .1CD-файла приведёт к потере связей между объектами.

Клиент-серверный режим: справочники в SQL-базах

В клиент-серверном режиме справочники хранятся в реляционной СУБД — Microsoft SQL Server, PostgreSQL или IBM DB2 (в зависимости от версии 1С). Здесь данные разбиты на сотни таблиц, каждая из которых отвечает за свой тип объектов. Например, справочник "Номенклатура" может храниться в таблице с префиксом SC (от SprCatalog), а его реквизиты — в отдельных таблицах с суффиксами _R (реквизиты) или _T (табличные части).

Основные таблицы для справочников в SQL Server:

Тип объектаПрефикс таблицыПример названияОписание
Справочник_SC_SC1234Основные записи справочника (наименование, код, пометка удаления)
Реквизиты справочника_SC_R_SC1234_R1Дополнительные поля (например, "Артикул" или "Единица измерения")
Табличные части_SC_T_SC1234_T100Подчинённые таблицы (например, "Цены номенклатуры")
История изменений_SC_H_SC1234_HЛог изменений для версионирования (если включено)
Права доступа_SC_RR_SC1234_RRНастройки прав на уровне записей

Чтобы найти конкретный справочник, нужно знать его уникальный идентификатор (он присваивается при создании конфигурации). Например, справочник "Контрагенты" в типовой "Бухгалтерии 3.0" имеет ID 25, поэтому его данные будут в таблицах вроде _SC25. Узнать ID можно через Конфигуратор → Объекты конфигурации → Справочники (в свойствах объекта).

📊 Какую СУБД вы используете для 1С?
Microsoft SQL Server
PostgreSQL
IBM DB2
Файловый режим
Не знаю

Временные файлы и кэш: где 1С хранит промежуточные данные справочников

Помимо основной базы, 1С:Предприятие активно использует временные файлы для кэширования часто запрашиваемых данных. Это ускоряет работу, но иногда приводит к проблемам — например, если кэш устарел или повреждён. Временные файлы справочников могут храниться в нескольких местах:

  • 📂 %TEMP%\1C\1Cv8\ — кэш текущего сеанса (удаляется при закрытии 1С).
  • 📂 C:\Users\<ИмяПользователя>\AppData\Local\1C\1Cv8\ — постоянный кэш для ускорения повторных запусков.
  • 📂 C:\ProgramData\1C\1Cv8\ — общие временные файлы для всех пользователей (включая блокировки).
  • 🔄 .cdx, .tmp — расширения временных файлов, связанных со справочниками.

Очистка кэша может помочь, если справочники подгружаются медленно или отображаются некорректно. Для этого:

  1. Закройте все сеансы 1С.
  2. Удалите содержимое папок %TEMP%\1C и AppData\Local\1C\1Cv8.
  3. Перезапустите 1С с ключом /ClearCache (пример: "C:\Program Files\1cv8\8.3.20.1500\bin\1cv8.exe" /ClearCache).
Что будет если удалить файлы кэша во время работы 1С?

Программа может зависнуть или выдать ошибку "Неверный формат потока". Восстановить данные придётся из резервной копии, так как некоторые временные файлы содержат несохранённые изменения. Всегда закрывайте 1С перед очисткой кэша!

⚠️ Внимание: Не путайте временные файлы с .1CD-файлом базы! Удаление последнего приведёт к полной потере данных. Временные файлы можно удалять только при закрытой 1С и после создания резервной копии.

Структура хранения справочников: логическая vs физическая модель

Данные справочников в 1С организованы по двухуровневой модели:

  1. Логическая структура — то, что видно в конфигураторе: иерархия справочников, реквизиты, табличные части. Например, справочник "Номенклатура" может иметь реквизиты "Артикул", "Единица измерения" и табличную часть "Цены".
  2. Физическая структура — то, как данные реально хранятся в базе (в .1CD или SQL). Здесь каждый реквизит может быть вынесен в отдельную таблицу, а связи между объектами реализованы через идентификаторы.

Пример соответствия для справочника "Контрагенты":

Логический элементФизическое хранение (SQL)Физическое хранение (файловый режим)
Код контрагентаПоле Code в таблице _SC25Бинарный блок в .1CD с меткой типа
НаименованиеПоле Descr в таблице _SC25Текстовая строка в бинарной структуре
ИННПоле R1 в таблице _SC25_R1 (если ИНН — реквизит)Отдельный блок данных с привязкой к ID записи
Адреса (табличная часть)Таблица _SC25_T100 с полями LineNo, AddressTextВложенная структура внутри основной записи

В файловом режиме все эти данные "упакованы" в .1CD в виде бинарных блоков с метками типов. Например, справочник может начинаться с сигнатуры 0x1CDB, за которой следуют записи фиксированной длины. Разобраться в этой структуре без документации практически невозможно — для этого предназначены специализированные утилиты вроде 1Cv8.1CD или EDT (1C:Enterprise Development Tools).

💡

Физическая структура справочников зависит от версии платформы. Например, в 1С 8.3.20+ появилась поддержка сжатия данных в SQL, что изменило формат хранения табличных частей.

Особенности хранения справочников в разных версиях 1С

Механизмы хранения справочников эволюционировали вместе с платформой. Вот ключевые различия:

1С:Предприятие 7.7

  • 📜 Данные хранятся в .DBF-файлах (по одному на справочник).
  • 🔢 Имена файлов соответствуют синонимам справочников (например, SC1.DBF для "Контрагентов").
  • 🛠 Индексы хранятся в .CDX-файлах.
  • ⚠️ Нет транзакционной целостности — повреждение одного файла ломает весь справочник.

1С:Предприятие 8.0–8.2

  • 🗄 Переход на .1CD-формат (для файлового режима) или SQL.
  • 🔗 Появление поддержки Microsoft SQL Server 2000/2005.
  • 📊 Таблицы в SQL имеют префиксы _1S (например, _1SSC123).
  • 🔒 Добавлена поддержка транзакций, но без полноценного журнала изменений.

1С:Предприятие 8.3

  • 🖥 Поддержка PostgreSQL и IBM DB2 (наряду с MS SQL).
  • 📦 Оптимизация хранения табличных частей (теперь могут храниться в отдельных таблицах).
  • 🔄 Появление механизма версионирования данных (таблицы с суффиксом _H).
  • 🛡 Улучшенная защита от повреждений за счёт контрольных сумм и журналов.

⚠️ Внимание: В версиях 8.3.10+ изменился формат хранения двоичных данных (например, картинок в справочниках). Теперь они могут храниться не в самой базе, а во внешних файлах (если включена настройка ХранитьВнеБазыДанных в конфигураторе). Это касается реквизитов типа "ХранилищеЗначения" или "ДвоичныеДанные".

Как просмотреть справочники вне 1С: инструменты и утилиты

Иногда требуется получить данные из справочников без запуска 1С — например, для анализа или восстановления. Вот основные инструменты:

Для файлового режима (.1CD):

  • 🔧 1Cv8.1CD — официальная утилита для просмотра содержимого .1CD-файлов. Позволяет экспортировать данные в XML или CSV.
  • 🔍 ChDBFl — сторонний инструмент с поддержкой поиска и фильтрации записей.
  • 📄 EDT (1C:Enterprise Development Tools) — для разработчиков, позволяет анализировать структуру базы.

Для клиент-серверного режима (SQL):

  • 🗃 SQL Server Management Studio (или pgAdmin для PostgreSQL) — для прямого запроса к таблицам.
  • 📊 1C:SQL — надстройка для удобного просмотра таблиц 1С в SQL.
  • 🔄 Unidata — инструмент для миграции данных между базами.

Пример запроса для извлечения справочника "Номенклатура" (ID = 1234) из MS SQL Server:

SELECT

t1.Code AS Код,

t1.Descr AS Наименование,

t2.R1 AS Артикул

FROM

_SC1234 t1

LEFT JOIN

_SC1234_R1 t2 ON t1._IDRRef = t2._IDRRef

⚠️ Внимание: Прямые изменения в SQL-таблицах могут нарушить целостность данных! Например, если вы вручную добавите запись в _SC1234, но не обновите служебные таблицы вроде _1SJOURNAL, база станет неконсистентной. Для безопасных изменений используйте обработки загрузки данных или Конвертацию данных 2.0.

Создать резервную копию базы|Использовать официальные утилиты (1Cv8.1CD, EDT)|Не редактировать данные напрямую в SQL|Проверять целостность после любых изменений|Документировать все действия для отката-->

Облачные версии 1С: где хранятся справочники в 1C:Fresh и подобных сервисах

В облачных решениях вроде 1C:Fresh, 1С:Линк или 1С:ГISPRU физическое хранение справочников скрыто от пользователя. Данные размещаются на серверах провайдера в зашифрованном виде, а доступ осуществляется через веб-интерфейс или тонкий клиент. Однако логическая структура остаётся такой же, как в обычной 1С:

  • 🌐 Справочники хранятся в централизованной базе данных (обычно PostgreSQL или MS SQL).
  • 🔐 Доступ к физическим таблицам заблокирован — можно работать только через API или интерфейс 1С.
  • 📤 Для выгрузки данных предоставляются стандартные механизмы: XML, JSON или Excel.
  • 🔄 Синхронизация между устройствами происходит автоматически (например, в 1С:Мобильная платформа).

Чтобы получить данные справочников из облака:

  1. Используйте стандартные отчёты (например, "Список номенклатуры").
  2. Настройте обмен данными через HTTP-сервисы или REST API (если поддерживается вашим тарифом).
  3. Для сложных задач разрабатывайте внешние обработки с использованием 1С:Предприятие Development Tools.

⚠️ Внимание: В облачных версиях может действовать ограничение на объём выгружаемых данных. Например, в 1C:Fresh бесплатный тариф позволяет экспортировать не более 10 000 записей за один запрос. Для массовой выгрузки потребуется платный план или согласование с поддержкой.

FAQ: Частые вопросы о хранении справочников в 1С

Можно ли открыть файл .1CD в Excel или другой программе?

Нет, .1CD — это бинарный файл со своей структурой, несовместимой с Excel или Access. Для просмотра содержимого используйте утилиты 1Cv8.1CD или ChDBFl, которые преобразуют данные в читаемый формат (например, XML или CSV). Прямое открытие в текстовом редакторе покажет только служебные символы.

Как найти справочник по названию в SQL-базе?

В SQL Server или PostgreSQL выполните запрос к системным таблицам:

SELECT * FROM _1SMetaData WHERE Name LIKE '%Номенклатура%'

Это вернёт идентификатор справочника (например, 1234), который используется в именах таблиц (_SC1234). В 1С:Предприятие 8.3.20+ можно также использовать МетодаМетаданных().НайтиПоИмени("Справочник.Номенклатура") в конфигураторе.

Почему после очистки кэша справочники подгружаются дольше?

Кэш ускоряет доступ к часто используемым данным. После его очистки 1С вынужден загружать справочники напрямую из базы (из .1CD или SQL), что занимает больше времени. Скорость восстановится после нескольких сеансов работы, когда кэш заполнится заново. Если тормоза сохраняются, проверьте фрагментацию диска (для файлового режима) или индексы в SQL.

Можно ли восстановить удалённый справочник из резервной копии?

Да, но с оговорками:

  1. Если справочник был помечен на удаление, его можно вернуть через стандартный интерфейс 1С (отмена пометки).
  2. Если справочник удалён физически, восстановите базу из резервной копии и экспортируйте нужные данные через XML или DT-формат, а затем импортируйте в текущую базу.
  3. В SQL-режиме можно попробовать восстановить записи из таблиц _SC{ID}_H (если включено версионирование), но это требует глубоких знаний структуры базы.
Где хранятся картинки из справочников (например, фото номенклатуры)?

Это зависит от версии платформы и настроек:

  • В 1С 8.3.10+ картинки могут храниться вне базы (в папке ExtFiles внутри каталога базы), если включена настройка ХранитьВнеБазыДанных.
  • В старых версиях и по умолчанию картинки хранятся внутри базы:
    • В файловом режиме — в бинарном виде внутри .1CD.
    • В SQL-режиме — в таблицах с суффиксом _BLOB (например, _SC1234_BLOB).

Чтобы извлечь картинки, используйте обработки вроде "Выгрузка картинок из справочников" (доступны на Инфостарте).