Рассмотрим распространенную ситуацию: вы создали или работали с базой 1С на домашнем компьютере с легальной электронной лицензией, а затем скопировали эту базу и принесли на работу. На рабочем месте также установлена официальная лицензия, зарегистрированная на вашу организацию. Однако, когда вы открываете рабочую базу и заходите в меню «О программе», в разделе с информацией о лицензии отображаются данные домашнего компьютера (регистрационный номер, название организации-владельца и так далее). Проанализируем причину такого поведения платформы и разберем по шагам, как избавиться от этих неактуальных данных.
Давайте выясним причину. Информация, которую вы видите в окне «О программе» в разделе «Информационная база», на самом деле является историей всех лицензий, под которыми эта конкретная база данных когда-либо запускалась. Платформа 1С сохраняет эти следы намеренно.
Многие пользователи ошибочно полагают, что эти данные лежат в кэше. Но простая очистка временных папок платформы (кэша в AppData) не решит проблему. При следующем запуске платформа снова вытащит информацию и сохранит ее в локальный кэш. Это происходит потому, что данные об использованных лицензиях записываются непосредственно внутрь самого файла базы данных (для файлового варианта — в файл 1Cv8.1CD, а для клиент-серверного — в таблицы СУБД).
Технически эта информация хранится во внутренней служебной таблице Files. Конкретный профиль с историей лицензий записывается в файл с системным идентификатором c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl. Штатных способов через конфигуратор очистить эту историю фирма «1С» не предоставляет. Сотрудники технической поддержки (ИТС) обычно отвечают, что удаление этой информации не предусмотрено и так и должно быть. Тем не менее, убрать чужие реквизиты для собственного спокойствия можно. Рассмотрим подробнее несколько способов.
Разберем первый и самый «чистый» метод, который не требует прямого вмешательства в структуру базы данных. Важно понимать, почему обычная выгрузка базы в формат .dt не поможет. Выгрузка в файл .dt — это полное копирование структуры, включая служебную таблицу Files. Если вы сделаете бэкап в .dt и загрузите его в пустую базу, вся история лицензий «переедет» вместе с ним.
Поэтому нам нужно перенести только пользовательские данные (справочники, документы, регистры), не затрагивая системные таблицы — решается через универсальный перенос данных для любых конфигураций 1С. Для этого используем XML-обмен.
.cf. Убедитесь, что конфигурации обеих баз (исходной и новой) идентичны до релиза.После завершения процесса вы получите точную копию своей базы, но с абсолютно чистой историей лицензий в системных таблицах.
Если ваша база работает в клиент-серверном варианте (например, на MS SQL Server или PostgreSQL), мы можем решить проблему точечным «хирургическим» вмешательством. Посмотрим на пример, как можно обнулить конкретную запись в таблице.
Нам необходимо очистить бинарные данные внутри системной таблицы Files для файла профиля лицензий. Выполните следующий запрос в консоли администрирования вашей СУБД к базе данных 1С:
UPDATE Files
SET BinaryData = CONVERT(varbinary(max),''), datasize = 0
WHERE FileName = 'c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl'
Важное примечание: Названия таблиц и синтаксис могут немного отличаться в зависимости от используемой СУБД (например, в PostgreSQL приведение типов будет выглядеть иначе). Обязательно сделайте бэкап базы данных средствами СУБД перед выполнением скрипта! После выполнения запроса необходимо перезапустить службу Агента сервера 1С, чтобы сервер сбросил закэшированные данные из оперативной памяти.
Проанализируем ситуацию с файловой базой. Прямого доступа через SQL к файлу 1Cv8.1CD у нас нет. Редактировать его стандартными средствами платформы невозможно.
Для решения этой задачи в сообществе администраторов 1С применяются специализированные утилиты, работающие на базе библиотеки 1CDLib (например, Tool_1CD). Эти программы позволяют открывать файл базы данных на низком уровне, как набор таблиц.
1Cv8.1CD.Files.FileName равна c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl — поможет анализ физической структуры таблиц информационной базы.Мы настоятельно рекомендуем использовать первый способ (с переносом данных через XML), так как любое прямое редактирование таблиц СУБД или HEX-редактирование файла 1Cv8.1CD официально является нарушением лицензионного соглашения фирмы «1С». Более того, неосторожное изменение системных таблиц может привести к полному разрушению информационной базы без возможности восстановления.
Также помните, что сотрудников технической поддержки (в том числе при проверках подписок ИТС) в первую очередь волнует не история запусков, а совпадение логина и пароля от портала 1С:ИТС в настройках интернет-поддержки текущей конфигурации с реквизитами вашей организации. Если интернет-поддержка подключена на легальный аккаунт компании, претензий к старой истории лицензий обычно не возникает. При необходимости можно воспользоваться инструментом для массового обновления данных авторизации ИТС.