Как обновить базовую базу 1С на ПРОФ-платформе и очистить историю лицензий

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

В практике обслуживания клиентов часто возникает классическая ситуация: у пользователя установлена базовая версия конфигурации (например, 1С:Бухгалтерия 2.0 или 3.0), на его рабочем компьютере временно или полностью отсутствует доступ к интернету, и он не может обновиться самостоятельно. Клиент передает базу данных специалисту на флеш-накопителе. При этом специалист работает на своем компьютере, используя коммерческую ПРОФ-лицензию.

В связи с этим возникает ряд технических и юридических вопросов. Можно ли обновлять базовую базу на профессиональной платформе? Запустится ли потом обновленная база у клиента? Какие скрытые следы оставляет такое обновление в самой структуре файла базы данных, и как их при необходимости устранить? Разберем эти вопросы подробно и по шагам.

Различие базовой и ПРОФ-версий: платформа или конфигурация

Прежде всего проанализируем архитектуру системы «1С:Предприятие 8». Нам необходимо четко разделять понятия технологической платформы и информационной базы (конфигурации вместе с данными).

Технологическая платформа «1С:Предприятие» абсолютно едина для всех существующих версий (Базовая, ПРОФ, КОРП). Сам исполняемый файл платформы не имеет встроенного разделения на базовый или профессиональный функционал. Поведение системы, доступность тех или иных механизмов определяются исключительно двумя факторами:

  1. Тип лицензии: Файл программной лицензии (.lic) или аппаратный USB-ключ защиты. Базовая лицензия жестко привязывается к компьютеру и накладывает ограничения на запуск (только один сеанс работы с базой, только определенные типы конфигураций, отсутствие возможности работы по сети и поддержки веб-серверов).
  2. Свойства конфигурации: В свойствах самого прикладного решения разработчиком устанавливается признак «Базовая». Базовые конфигурации изначально содержат программные ограничения (например, ведение учета только по одной организации в базе данных, невозможность изменения кода конфигурации пользователем).

Таким образом, если мы передадим клиенту дистрибутив новой платформы, он без проблем установит его. При запуске платформа автоматически обнаружит ранее активированную базовую лицензию в системных каталогах (например, в папке C:\ProgramData\1C\licenses) и продолжит работу в штатном режиме.

Обновление базовой конфигурации на компьютере специалиста

Выясним, как ведет себя система при обновлении. Мы можем взять файл базы данных клиента (1Cv8.1CD), развернуть его на своем рабочем месте с установленной ПРОФ-лицензией и успешно обновить конфигурацию. Программа обновится без каких-либо препятствий.

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

Но здесь кроется ключевой нюанс, о котором обязан знать каждый специалист. В процессе открытия и обновления базы на вашем компьютере платформа запишет информацию о вашей ПРОФ-лицензии прямо внутрь структуры этой базы.

Где и как хранится история лицензий

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

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

Физически эти данные записываются внутрь файла базы данных 1Cv8.1CD (для файлового варианта) или в таблицы СУБД (для клиент-серверного варианта). Платформа использует для этого специальную служебную таблицу под названием Files.

В этой таблице хранится бинарный файл настроек с уникальным идентификатором (GUID):
c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl

Именно в этой строке таблицы в зашифрованном бинарном виде накапливается история всех подключений и регистрационных номеров ключей защиты.

Юридические риски и вопросы безопасности

Проанализируем риски, связанные с сохранением истории лицензий. Если вы используете абсолютно легальную ПРОФ-версию для обновления клиентской базы, закон вы не нарушаете. Но представьте ситуацию, когда база данных клиента уходит на проверку к аудиторам или правоохранительным органам, и там обнаруживается след лицензии, зарегистрированной на совершенно стороннее юридическое лицо.

Гораздо более опасная ситуация возникает в следующих случаях:

  1. Если на вашем рабочем компьютере установлена нелицензионная платформа (используются эмуляторы ключа HASP, патчи или «таблетки»). В этом случае в историю базы запишется признак взлома или фиктивный серийный номер эмулятора. При проверке ИТ-инфраструктуры клиента это станет прямым доказательством использования пиратского софта, что влечет за собой ответственность вплоть до уголовной по ст. 146 УК РФ.
  2. Если вы обновляете базу клиента, не имея на то законных оснований (например, у клиента нет действующего договора ИТС/1С:КП, хотя для базовых версий обновления предоставляются бесплатно, сторонний специалист должен соблюдать регламенты партнерских соглашений).

Чтобы исключить любые недоразумения и риски, хорошей практикой является очистка истории лицензий перед передачей базы обратно клиенту.

Как очистить историю лицензий в базе данных

Рассмотрим по шагам два способа удаления истории лицензирования из базы данных.

Способ 1. Для клиент-серверных баз данных (SQL)

Если база данных развернута на сервере под управлением MS SQL, PostgreSQL или другой СУБД, очистить историю лицензий можно с помощью прямого SQL-запроса. Нам необходимо обнулить поле с двоичными данными в таблице Files для строки с системным именем файла конфигурации.

Выполним следующий SQL-запрос в консоли управления СУБД:


UPDATE Files 
SET BinaryData = 0x 
WHERE FileName = 'c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl'

Важное предупреждение: Любые прямые манипуляции с таблицами СУБД в обход платформы 1С нарушают условия лицензионного соглашения. Перед выполнением запроса обязательно сделайте резервную копию (бэкап) базы данных!

Способ 2. Для файловых баз данных (1Cv8.1CD)

С файловой базой работать напрямую через SQL нельзя. Для её очистки нам понадобятся специализированные внешние инструменты. Одним из самых популярных решений является использование утилиты Tool_1CD или специализированных внешних обработок (например, HaspCleaner), которые можно найти на профильных ресурсах.

Разберем общий алгоритм действий при очистке файловой базы:

  1. Полностью завершим все сеансы работы с базой данных и выгрузим серверные процессы, если они обращаются к файлу.
  2. Сделаем копию файла 1Cv8.1CD в отдельный каталог на диске. Это критически важно на случай повреждения файла при редактировании.
  3. Запустим специализированную утилиту для просмотра и редактирования структуры файлов баз данных 1С.
  4. Откроем в утилите наш файл базы 1Cv8.1CD.
  5. Найдем таблицу с именем Files.
  6. Внутри таблицы найдем строку, где в поле FileName указано значение c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl.
  7. Очистим содержимое поля BinaryData (установим его значение в пустое или удалим саму строку таблицы, если утилита корректно поддерживает реструктуризацию). В большинстве случаев достаточно просто очистить бинарное поле.
  8. Сохраним изменения в файле базы данных.

После проведения данной процедуры запустим базу данных на чистом компьютере без лицензий или непосредственно у клиента. Откроем окно «О программе». Мы увидим, что блок «Информационная база» полностью очищен, и никаких посторонних следов использования ПРОФ-лицензий в конфигурации больше нет.

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

← На главную