Ситуация, когда новый системный администратор или программист обнаруживает в компании «наследство» в виде взломанной версии 1С:Предприятие, встречается довольно часто. Основной страх в этот момент — потерять накопленные годами доработки в конфигурации при попытке «обелить» систему. Разберем подробно, как провести процедуру лицензирования правильно, сохранив все данные и программный код.
Прежде всего, нам необходимо четко разграничить два понятия, которые часто путают начинающие специалисты. Платформа — это программная оболочка (движок), которая устанавливается на компьютер (файлы в папке bin, такие как 1cv8.exe). Конфигурация — это структура метаданных, программный код и сами данные, которые хранятся в базе (файле 1Cv8.1CD или в таблицах СУБД PostgreSQL/MS SQL).
Лицензирование относится только к платформе. Когда мы вводим пин-код программной лицензии или вставляем USB-ключ, мы разрешаем запуск «движка». На саму базу данных, на ваши справочники, документы и уникальный программный код это никак не влияет. Рассмотрим ситуацию: если вы откроете сложную доработанную базу на лицензионной платформе, все ваши функции останутся на месте. Потеря доработок возможна только при обновлении конфигурации на типовую, но это отдельный процесс, не связанный напрямую с активацией лицензии.
В процессе перехода часто возникает ошибка: Различаются версии клиента и сервера (8.3.25.1445 - 8.3.20.1549). Проанализируем ситуацию: это происходит потому, что на разных узлах вашей сети установлены разные релизы платформы.
Выясним причину конфликта при работе через веб-сервер или тонкий клиент:
Чтобы решить эту проблему, мы должны привести всю инфраструктуру к единому знаменателю. Рассмотрим два пути:
Мы обновляем сервер 1С до актуальной версии, на которой работают новые базы. Посмотрим, как это сделать безопасно:
Шаг 1: Резервное копирование. Никогда не начинайте процесс без бэкапа. Для баз на PostgreSQL используйте команду pg_dump, а для файловых баз просто скопируйте файл 1Cv8.1CD. Важно помнить, что выгрузка в .dt — это формат для переноса данных, а не полноценный бэкап для критических ситуаций.
Шаг 2: Очистка системы от «взлома». Это самый важный этап. Лицензионная платформа может конфликтовать с остатками эмуляторов. Необходимо:
backbas.dll), если они были заменены вручную.Шаг 3: Установка и публикация. Устанавливаем актуальную лицензионную платформу. Если вы используете веб-сервер (Apache или IIS), обязательно выполните перепубликацию базы. Это обновит модули расширения (такие как wsap24.dll), чтобы они соответствовали новой версии ядра.
Если ваша «перепиленная» УТ 11 категорически отказывается работать на новой платформе (например, из-за специфических вызовов XDTO или старого режима совместимости), мы можем поднять два экземпляра сервера 1С на одном физическом сервере. Разберем, как это работает:
Когда платформа стала лицензионной, встает вопрос обновления самой конфигурации УТ 11 для соответствия законодательству. Чтобы не потерять «тонну наработок», разберем технологию Расширений.
Проанализируем стратегию современного программиста:
Расширение конфигурации.Это позволит в будущем обновлять конфигурацию в автоматическом или полуавтоматическом режиме, так как расширения подключаются динамически и не мешают обновлению основных файлов 1С.
В процессе обсуждения часто звучат советы заменить бесплатный PostgreSQL на «трофейный» (пиратский) MS SQL Server. Мы категорически не рекомендуем этого делать. Рассмотрим риски:
Если после перехода на новую платформу ваша старая база выдает ошибки в коде, проверьте свойство Режим совместимости в корне конфигурации. Рассмотрим пример программного кода, который может вести себя по-разному в разных версиях:
// В новых версиях платформы работа с некоторыми объектами метаданных
// требует явного указания контекста или прав доступа.
// Если режим совместимости стоит "8.3.20",
// движок 8.3.25 будет имитировать старое поведение.
Если КонфигурацияМенеджер.РежимСовместимости = РежимСовместимости.Версия8_3_20 Тогда
// Выполняем старый алгоритм
Иначе
// Используем новые возможности платформы
КонецЕсли;
Подведем итог: Лицензирование — это безопасный процесс для ваших данных. Главное — тщательно вычистить систему от следов старых «ломалок», использовать одну версию платформы для всех клиентов и серверов (либо грамотно развести их по портам) и ни в коем случае не обновлять саму конфигурацию без участия опытного программиста, который сохранит ваши доработки через механизм расширений.