Почему базовая версия 1С требует 15-значный пин-код после восстановления и как это исправить

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

При работе с базовыми версиями конфигураций «1С:Предприятие», в частности с 1С:Бухгалтерия 3.0, специалисты часто сталкиваются с неприятной ситуацией. После технического сбоя (например, из-за внезапного отключения электричества) или после выполнения стандартных процедур обслуживания, таких как Тестирование и исправление (ТиИ) или использование утилиты chdbfl.exe, база данных начинает вести себя некорректно. Основной симптом — при запуске программа внезапно запрашивает лицензию, предлагая ввести 15-значный пин-код, характерный для версии ПРОФ, хотя клиент всегда использовал базовую версию с 16-значным кодом.

В рамках данной статьи мы подробно разберем, почему базовая конфигурация может «потерять» свой статус, как диагностировать эту проблему и какие существуют методы ее решения — от простых до радикальных.

Анализируем симптомы: 15 или 16 цифр

Первым делом проанализируем окно запроса лицензии. Это ключевой момент в диагностике. В системе защиты 1С количество цифр в пин-коде однозначно определяет тип защиты:

  1. 16-значный пин-код: используется исключительно для базовых версий. Он жестко «пришит» к конфигурации и проверяет соответствие базы и лицензии.
  2. 15-значный пин-код: используется для профессиональных версий (ПРОФ, КОРП). Если программа запрашивает такой код, значит, в данный момент она не идентифицирует себя как базовую.

Если вы видите запрос на 15 цифр, это означает, что внутренняя структура файла 1Cv8.1CD повреждена настолько, что флаг «базовости» в заголовке конфигурации был сброшен или затерт. Система «по умолчанию» начинает считать себя версией ПРОФ и искать соответствующую лицензию или аппаратный ключ.

Выясняем причину превращения базовой версии в ПРОФ

Рассмотрим подробнее техническую сторону вопроса. В заголовке таблицы CONFIG (или в специальных системных полях файла базы данных) содержится информация о типе конфигурации. Утилита chdbfl.exe, предназначенная для проверки физической целостности, при обнаружении ошибок в структуре таблиц пытается их исправить. В некоторых случаях, если повреждены именно метаданные, отвечающие за ограничение функционала (статус базовой), утилита может восстановить таблицу в «стандартном» виде, характерном для ПРОФ-версии.

Также важно помнить, что лицензия базовой версии привязана к конкретному «железу» (процессору, материнской плате, сетевой карте). Если вы взяли базу клиента, восстановили ее на своем компьютере и запустили, она в любом случае потребует активации, так как параметры вашего оборудования отличаются. Однако она должна просить 16-значный код. Если просит 15 — проблема в самой структуре базы.

Способ 1: Повторный запуск chdbfl на исходной базе

Как показывает практика, иногда результат работы утилит восстановления зависит от окружения или состояния кэша. Рассмотрим ситуацию: специалист выполнил chdbfl на своем ПК, и база «превратилась» в ПРОФ. Однако повторный запуск той же утилиты chdbfl.exe на компьютере клиента непосредственно на исходном поврежденном файле (до ваших манипуляций) может привести к успеху. Программа может корректно восстановить связи и сохранить признак базовой версии.

Важное правило: перед любыми действиями всегда создавайте резервную копию файла 1Cv8.1CD!

Способ 2: Накатывание типового cf-файла базовой версии

Если база уже открывается в конфигураторе, но в режиме предприятия требует 15-значный код, мы можем принудительно вернуть ей статус «базовой». Для этого разберем по шагам процесс загрузки конфигурации:

  1. Найдите или скачайте дистрибутив точно такого же релиза базовой конфигурации, который установлен у клиента.
  2. Разверните пустую базу из этого шаблона и выгрузите файл конфигурации через меню Конфигурация — Сохранить конфигурацию в файл... (получим файл .cf).
  3. В поврежденной базе зайдите в Конфигуратор.
  4. Выберите пункт меню Конфигурация — Загрузить конфигурацию из файла....
  5. Выберите подготовленный базовый .cf файл.

При использовании команды Загрузить конфигурацию из файла (в отличие от «Сравнить и объединить») система полностью перезаписывает структуру метаданных и заголовков, включая тот самый флаг базовой версии. Это один из самых надежных способов «лечения» программных сбоев идентификации версии.

Способ 3: Перенос данных в «чистую» базовую базу

Если повреждения структуры настолько серьезны, что ТиИ и chdbfl не помогают или приводят к потере данных, рассмотрим вариант с полным переносом информации. Этот метод гарантирует, что вы получите абсолютно «здоровую» базу с корректными лицензионными флагами.

Проанализируем алгоритм действий:

  1. Создаем новую пустую информационную базу из шаблона базовой версии того же релиза.
  2. Используем универсальную обработку ВыгрузкаЗагрузкаДанныхXML.epf (она входит в состав состава инструментов разработчика или доступна на диске ИТС).
  3. В поврежденной базе запускаем обработку и выгружаем все данные в файл .xml.
  4. В новой чистой базе запускаем ту же обработку и загружаем данные из файла.

Этот метод позволяет обойти ошибки на уровне физической структуры файла .1CD, так как переносятся только объекты данных (справочники, документы, константы), а системные таблицы базы данных формируются заново.

Особенности работы с кэшем и файлами лицензий

Выясним еще одну возможную причину — влияние локального кэша. Иногда база уже исправлена, но из-за старых данных в кэш-памяти платформа продолжает выдавать окно запроса лицензии. Посмотрим, как правильно очистить кэш:

  1. Удалите базу из списка в окне запуска 1С:Предприятия.
  2. Нажмите «Добавить» и пропишите путь к базе заново. При этом создается новый идентификатор базы и старый кэш перестает влиять на работу.
  3. Если это не помогло, очистите папки вручную по адресу: %AppData%\1C\1Cv8\ и %LocalAppData%\1C\1Cv8\ (удалите папки с длинными буквенно-цифровыми именами).

Что касается самих файлов лицензий, то для базовых версий они обычно хранятся в каталоге C:\ProgramData\1C\licenses. Файлы имеют расширение .lic. Если после восстановления базы на компьютере клиента лицензия все равно запрашивается (но уже 16-значная), возможно, файл лицензии был поврежден при сбое питания вместе с базой. В этом случае потребуется повторная активация с использованием резервного пин-кода из конверта (всего для базовой версии доступно 3 активации: 1 основная и 2 резервных). Для детального анализа и проверки содержимого файлов лицензий можно использовать утилиту для расшифровки и просмотра параметров программных лицензий.

Профессиональные инструменты: Tool_1CD

Для опытных системных администраторов и программистов существует еще один путь — использование сторонних утилит для редактирования файлов .1CD, таких как Tool_1CD. Проанализируем, что можно сделать с ее помощью:

В таблице CONFIG содержатся записи о конфигурации. Специалист может просмотреть содержимое и сравнить его с заведомо исправной базовой версией. Иногда ручная корректировка определенных полей позволяет вернуть базе статус базовой без полной перезагрузки конфигурации, однако этот метод требует глубокого понимания структуры базы данных и является недокументированным, поэтому использовать его следует только в крайних случаях и при наличии полной копии данных.

Резюме и рекомендации

Подведем итог нашему исследованию. Если базовая версия 1С начала требовать 15-значный код:

Соблюдение этих правил позволит вам эффективно решать проблемы с «битыми» базами и минимизировать простои в работе бухгалтерии.

← На главную