Как обновить защищенную конфигурацию 1С на незащищенную версию без потери данных

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

В практике работы с отраслевыми решениями 1С программисты часто сталкиваются с Системой Лицензирования и Конфигурирования (СЛК). Ошибка «Система защиты конфигурации не настроена» может заблокировать работу пользователей, даже если у вас есть легальные ключи. Иногда решением становится переход на «очищенную» от защиты версию конфигурации. В этой статье мы подробно разберем, как правильно перенести данные из защищенной версии 1.1.7.807 в незащищенную 1.1.8.1, используя файл .cf, и почему стандартные методы обновления в этом случае не срабатывают.

Анализируем причину ошибки СЛК

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

  1. Служба СЛК: На сервере или локальной машине должна быть запущена служба «СЛК: Сервер». Если она остановлена, программа не сможет достучаться до ключа.
  2. Версия драйвера: Отраслевые решения жестко привязаны к версии СЛК (например, 2.0, 3.0 или 3.1). Если вы обновили платформу, но не обновили компоненты защиты, связь разорвется.
  3. Настройки подключения: Проверим настройки в самой программе. Обычно это обработка «Настройка параметров защиты» или раздел меню «Сервис». Там должен быть указан адрес сервера (например, localhost или IP-адрес) и порт (по умолчанию 9091 или 9092).

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

Почему стандартное обновление через файл .cf выдает ошибку

При попытке выполнить команду «Конфигурация — Поддержка — Обновить конфигурацию» и выборе файла .cf система часто выдает ошибку: «Файл не содержит данных для обновления». Это происходит по двум причинам:

Пошаговая инструкция по обновлению через «Сравнить и объединить»

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

Шаг 1: Подготовка и бэкап. Перед любыми манипуляциями с конфигуратором обязательно создаем резервную копию базы данных (выгрузка .dt или копирование файла 1Cv8.1CD). Это аксиома работы любого специалиста 1С.

Шаг 2: Включение возможности изменения. Если ваша текущая конфигурация стоит на поддержке (замочек рядом с объектами), нам нужно разрешить изменения. Перейдем в Конфигурация — Поддержка — Настройка поддержки и нажмем кнопку «Включить возможность изменения». В появившемся окне выберем вариант «Объект поставщика редактируется с сохранением поддержки».

Шаг 3: Сравнение с файлом. Выберем в меню Конфигурация — Сравнить, объединить с конфигурацией из файла. В открывшемся окне укажем наш файл 1.1.8.1.cf. Система проведет анализ и покажет дерево объектов.

Шаг 4: Настройка окна объединения. Это критический момент. Чтобы не «сломать» идентификацию вашей базы, проделаем следующее:

  1. Снимем галочку с самого верхнего уровня (корневой элемент с названием конфигурации). Это позволит сохранить свойства вашей текущей базы (имя, автор, ИД).
  2. Проанализируем изменения в модулях и справочниках.
  3. Важное замечание: Не нажимайте кнопку «Сохранить настройки». Она просто выгрузит правила объединения в XML-файл, с которым столкнулся автор темы. Нам нужна кнопка «Выполнить».

Завершение обновления и реструктуризация данных

После того как процесс объединения в конфигураторе завершится, изменения еще не применены к самой базе данных (таблицам SQL или файловой базе). Рассмотрим, что нужно сделать дальше.

Обязательно нажмем клавишу F7 или синюю кнопку «Обновить конфигурацию базы данных». В этот момент 1С проанализирует изменения в структуре метаданных. Если в версии 1.1.8.1 появились новые реквизиты или таблицы, система создаст их, сохранив при этом старые данные. Если вы увидите окно со списком изменений, внимательно изучите его и нажмите «Принять».

Особенности работы с «незащищенными» конфигурациями

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

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


// Пример принудительного запуска обновления (условно)
ПараметрыОбновления = Константы.ПараметрыРаботыПрограммы.СоздатьМенеджерЗначения();
ПараметрыОбновления.Прочитать();
ПараметрыОбновления.Значение.Версия = "1.1.7.807"; // Указываем старую версию
ПараметрыОбновления.Записать();
// При следующем запуске система увидит разницу версий и запустит обработчики

Риски и технические нюансы

Проанализируем риски, которые несет в себе такой переход:

Таким образом, мы выяснили, что для решения проблемы автора темы необходимо использовать инструмент сравнения и объединения, предварительно подготовив базу и настроив правила сопоставления объектов. Главное — помнить про F7 и не путать сохранение настроек сравнения в XML с самим процессом объединения.

← На главную