При аварийном завершении работы программы или сбое оборудования файл базы данных 1Cv8.1CD может повредиться. В таких ситуациях база перестает запускаться, а резервных копий под рукой не оказывается. Для восстановления работоспособности нам часто требуется развернуть пустую чистую базу точно такой же версии, чтобы перенести туда конфигурацию или данные. Но как узнать точную версию релиза, если сама база не открывается? Разберем эту задачу подробно по шагам.
При попытке заглянуть внутрь служебных таблиц базы данных через специализированные просмотрщики мы часто видим нечитаемые символы. Выясним причину этого поведения. Дело в том, что конфигурация 1С в таблице Config (а также в таблице ConfigSave) хранится в сжатом бинарном формате. Платформа использует алгоритм сжатия Deflate без стандартных заголовков архива. Чтобы прочитать текстовые свойства и GUID-идентификаторы, нам потребуется выполнить принудительную декомпрессию этих данных.
Для решения нашей задачи рассмотрим проверенную последовательность действий по извлечению номера релиза с помощью популярной утилиты TOOL_1CD.
1Cv8.1CD в утилите. Перейдем к таблице Config (или ConfigSave). Найдем строку, в которой поле FileName содержит значение root. Нам необходимо выгрузить бинарное содержимое этого поля. Для этого используем встроенную функцию утилиты для сохранения декомпрессированного потока (разжатого zlib-архива).
{1,
{2,e0666db2-45d6-49b4-a200-061c6ba7d569}
}
Config и найдем строку, где поле FileName полностью совпадает со скопированным GUID. Сохраним бинарные данные этой строки с обязательным применением декомпрессии."БухгалтерияПредприятия"), синоним (например, "Бухгалтерия предприятия, редакция 3.0") и, наконец, искомый номер релиза (например, "3.0.140.20").Что делать, если таблица Config повреждена настолько, что прочитать файл root не удается? Проанализируем обходные пути.
ConfigSave. Проделаем аналогичные шаги по поиску файла root именно в этой таблице..cf. Даже при сильном повреждении пользовательских данных, этот блок может остаться нетронутым. Сохраненный файл конфигурации можно попытаться открыть в чистой базе или распаковать для анализа.%LOCALAPPDATA%\1C\1cv8 или %APPDATA%\1C\1cv8. Найдем каталог, имя которого соответствует уникальному идентификатору базы из списка запуска. Внутри кэша файлы уже декомпрессированы, и мы сможем найти свойства конфигурации с указанием точной версии.Params (записи v8system или version), хотя точный релиз прикладного решения там содержится крайне редко.При работе с утилитами восстановления важно учитывать технологические изменения в самой платформе 1С:
1Cv8.1CD изменился. Размер страницы увеличился с 4 Кб до 8 Кб и более, изменилась структура внутренних индексов. Устаревшие версии сторонних утилит просмотра не смогут открыть такой файл и выдадут ошибку. Используйте только актуальные версии инструментов, совместимые с современными форматами хранения.cnvdbfl.exe, которая позволяет принудительно изменить формат базы данных (например, понизить его до версии 8.2.14 для анализа старыми инструментами). Будьте осторожны: на сильно поврежденных файлах эта утилита может безвозвратно затереть поврежденные разделы, лишив вас возможности восстановить данные. Всегда выполняйте любые манипуляции только на копии файла!