При работе с базовыми версиями конфигураций «1С:Предприятие», в частности с 1С:Бухгалтерия 3.0, специалисты часто сталкиваются с неприятной ситуацией. После технического сбоя (например, из-за внезапного отключения электричества) или после выполнения стандартных процедур обслуживания, таких как Тестирование и исправление (ТиИ) или использование утилиты chdbfl.exe, база данных начинает вести себя некорректно. Основной симптом — при запуске программа внезапно запрашивает лицензию, предлагая ввести 15-значный пин-код, характерный для версии ПРОФ, хотя клиент всегда использовал базовую версию с 16-значным кодом.
В рамках данной статьи мы подробно разберем, почему базовая конфигурация может «потерять» свой статус, как диагностировать эту проблему и какие существуют методы ее решения — от простых до радикальных.
Первым делом проанализируем окно запроса лицензии. Это ключевой момент в диагностике. В системе защиты 1С количество цифр в пин-коде однозначно определяет тип защиты:
Если вы видите запрос на 15 цифр, это означает, что внутренняя структура файла 1Cv8.1CD повреждена настолько, что флаг «базовости» в заголовке конфигурации был сброшен или затерт. Система «по умолчанию» начинает считать себя версией ПРОФ и искать соответствующую лицензию или аппаратный ключ.
Рассмотрим подробнее техническую сторону вопроса. В заголовке таблицы CONFIG (или в специальных системных полях файла базы данных) содержится информация о типе конфигурации. Утилита chdbfl.exe, предназначенная для проверки физической целостности, при обнаружении ошибок в структуре таблиц пытается их исправить. В некоторых случаях, если повреждены именно метаданные, отвечающие за ограничение функционала (статус базовой), утилита может восстановить таблицу в «стандартном» виде, характерном для ПРОФ-версии.
Также важно помнить, что лицензия базовой версии привязана к конкретному «железу» (процессору, материнской плате, сетевой карте). Если вы взяли базу клиента, восстановили ее на своем компьютере и запустили, она в любом случае потребует активации, так как параметры вашего оборудования отличаются. Однако она должна просить 16-значный код. Если просит 15 — проблема в самой структуре базы.
Как показывает практика, иногда результат работы утилит восстановления зависит от окружения или состояния кэша. Рассмотрим ситуацию: специалист выполнил chdbfl на своем ПК, и база «превратилась» в ПРОФ. Однако повторный запуск той же утилиты chdbfl.exe на компьютере клиента непосредственно на исходном поврежденном файле (до ваших манипуляций) может привести к успеху. Программа может корректно восстановить связи и сохранить признак базовой версии.
Важное правило: перед любыми действиями всегда создавайте резервную копию файла 1Cv8.1CD!
Если база уже открывается в конфигураторе, но в режиме предприятия требует 15-значный код, мы можем принудительно вернуть ей статус «базовой». Для этого разберем по шагам процесс загрузки конфигурации:
Конфигурация — Сохранить конфигурацию в файл... (получим файл .cf).Конфигуратор.Конфигурация — Загрузить конфигурацию из файла.....cf файл.При использовании команды Загрузить конфигурацию из файла (в отличие от «Сравнить и объединить») система полностью перезаписывает структуру метаданных и заголовков, включая тот самый флаг базовой версии. Это один из самых надежных способов «лечения» программных сбоев идентификации версии.
Если повреждения структуры настолько серьезны, что ТиИ и chdbfl не помогают или приводят к потере данных, рассмотрим вариант с полным переносом информации. Этот метод гарантирует, что вы получите абсолютно «здоровую» базу с корректными лицензионными флагами.
Проанализируем алгоритм действий:
ВыгрузкаЗагрузкаДанныхXML.epf (она входит в состав состава инструментов разработчика или доступна на диске ИТС)..xml.Этот метод позволяет обойти ошибки на уровне физической структуры файла .1CD, так как переносятся только объекты данных (справочники, документы, константы), а системные таблицы базы данных формируются заново.
Выясним еще одну возможную причину — влияние локального кэша. Иногда база уже исправлена, но из-за старых данных в кэш-памяти платформа продолжает выдавать окно запроса лицензии. Посмотрим, как правильно очистить кэш:
1С:Предприятия.%AppData%\1C\1Cv8\ и %LocalAppData%\1C\1Cv8\ (удалите папки с длинными буквенно-цифровыми именами).Что касается самих файлов лицензий, то для базовых версий они обычно хранятся в каталоге C:\ProgramData\1C\licenses. Файлы имеют расширение .lic. Если после восстановления базы на компьютере клиента лицензия все равно запрашивается (но уже 16-значная), возможно, файл лицензии был поврежден при сбое питания вместе с базой. В этом случае потребуется повторная активация с использованием резервного пин-кода из конверта (всего для базовой версии доступно 3 активации: 1 основная и 2 резервных). Для детального анализа и проверки содержимого файлов лицензий можно использовать утилиту для расшифровки и просмотра параметров программных лицензий.
Для опытных системных администраторов и программистов существует еще один путь — использование сторонних утилит для редактирования файлов .1CD, таких как Tool_1CD. Проанализируем, что можно сделать с ее помощью:
В таблице CONFIG содержатся записи о конфигурации. Специалист может просмотреть содержимое и сравнить его с заведомо исправной базовой версией. Иногда ручная корректировка определенных полей позволяет вернуть базе статус базовой без полной перезагрузки конфигурации, однако этот метод требует глубокого понимания структуры базы данных и является недокументированным, поэтому использовать его следует только в крайних случаях и при наличии полной копии данных.
Подведем итог нашему исследованию. Если базовая версия 1С начала требовать 15-значный код:
Соблюдение этих правил позволит вам эффективно решать проблемы с «битыми» базами и минимизировать простои в работе бухгалтерии.