При администрировании старых информационных систем на платформе 1С:Предприятие 7.7 специалисты часто сталкиваются с парадоксальной ситуацией: база успешно подключается к MS SQL Server, конфигурация открывается, структура таблиц видна, но при запуске в режиме «Предприятие» все справочники, документы и пользователи отсутствуют. При этом файл базы данных (MDF) может иметь внушительный размер (десятки гигабайт), что подтверждает наличие информации внутри.
В этой статье мы подробно разберем причины возникновения такой проблемы, проанализируем внутреннюю структуру хранения данных «клюшек» (1С 7.7) и разработаем пошаговый план восстановления доступа к информации.
Основная причина кроется в специфике работы платформы 7.7 с SQL-сервером. В отличие от современных версий (8.x), где конфигурация хранится внутри самой базы данных SQL, в версии 7.7 конфигурация — это внешний файл 1cv7.md. Связующим звеном между метаданными в MD-файле и физическими таблицами в SQL является файл словаря 1cv7.dds.
Рассмотрим основные факторы, приводящие к потере видимости данных:
_1SJOURN) могут быть удалены.Прежде чем предпринимать действия в конфигураторе 1С, нам необходимо убедиться, что данные в таблицах физически существуют. Для этого воспользуемся SQL Server Management Studio (SSMS). Проанализируем состояние самой важной таблицы — общего журнала документов.
Выполним следующий запрос к вашей базе:
SELECT TOP 100 * FROM dbo._1SJOURN
Если запрос возвращает пустой результат, значит, данные в журнале были очищены (возможно, в момент неудачной попытки подключения с неверным MD-файлом). Если же записи есть, но 1С их не видит — проблема в метаданных.
Также проверим таблицы справочников (начинаются на SC) и шапок документов (начинаются на DH). Для этого нужно знать их ID, но для теста можно просто найти самую большую по количеству строк таблицу через отчеты SQL или простым запросом:
SELECT TOP 100 * FROM dbo.SC123 -- вместо 123 подставьте ID любого справочника из вашей структуры
Выясним причину несоответствия. В 1С 7.7 имена таблиц жестко привязаны к внутренним идентификаторам объектов. Например, справочник «Контрагенты» может иметь таблицу SC245. Эти номера генерируются в момент создания объекта в конфигураторе. Если взять MD-файл от другой, даже аналогичной конфигурации, «Контрагенты» там могут получить ID SC250. В итоге 1С будет искать данные в SC250, найдет пустую таблицу (или создаст её), а боевые данные в SC245 останутся нетронутыми и невидимыми.
Проанализируем ситуацию с журналом документов. Рассмотрим типичную структуру таблицы _1SJOURN, которую выдает SQL:
IDDOC — уникальный идентификатор документа;IDDOCDEF — тип документа (ID метаданных);DATE_TIME_IDDOC — дата и время документа в специальном формате.Если при подключении 1С ругается на «Нарушена структура таблицы _1SJOURN», это верный признак того, что текущий файл 1cv7.md ожидает увидеть другой набор полей (например, из-за различия в общих реквизитах или графах отбора).
Если вам достались только файлы .mdf и .ldf (отсоединенная база) и файл .md, действуйте по следующему безопасному алгоритму:
Attach в SSMS.1cv7.md..mdf и .ldf этой новой базы своими «боевыми» файлами из архива (переименовав их соответствующим образом).Проанализируем технический нюанс: 1С 7.7 официально не поддерживает версии SQL выше 2000. Если вы используете SQL 2008 или выше, необходимо выполнить дополнительные действия:
Solution7. Без этого 1С может вести себя непредсказуемо при записи данных.SQL Server 2000 (80).Cyrillic_General_CI_AS). Используйте файл OrdNoChk.res для отключения проверки порядка сортировки, если возникают ошибки при запуске.Если данные все равно не видны, выясним, тот ли это MD-файл. Рассмотрим способ проверки через таблицу констант:
SELECT * FROM dbo._1SCONST WHERE ID = 0 (или посмотрите все записи таблицы _1SCONST).1cv7.md, который использовался в момент последнего сохранения базы.Резюме: В 90% случаев проблема «пустой базы» в 1С 7.7 на SQL связана с использованием неверного файла метаданных. Всегда храните актуальный 1cv7.md и 1cv7.dds вместе с бэкапами SQL-базы, так как восстановить структуру MD по таблицам SQL в версии 7.7 — задача практически невыполнимая.