Инструменты пользователя

Инструменты сайта


stepbystep:protectext1c

Шаг за шагом: защита расширения конфигурации 1С

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

  • создать продукт в своем личном кабинете;
  • определить способ лицензирования продукта - по количеству пользователей или хостов;
  • установить на свой компьютер инструмент для выполнения процедуры защиты продукта;
  • добавить в продукт интерактивную форму активации продукта и вспомогательные модули системы лицензирования.

Далее рассмотрим всю процедуру по шагам на примере простого расширения конфигурации 1С. Для выдачи лицензий на работу с ней будем использовать демо-доступ к личному кабинету (адрес, логин и пароль высылаются на электронную почту после регистрации).

Обзор демонстрационной базы

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

  1. Скачайте файл демонстрационной базы «КошкинДом.dt» (ссылка в электронном письме).
  2. Создайте информационную базу из загрузите в нее копию из скаченнего файла.
    Структура конфигурации имеет следующий вид. Центральным объектом конфигурации является справочник «Котики», в котором содержится вся информация о животных. В примере мы будем выгружать данные этого справочника в XML-файл при помощи расширения.
  3. Перейдите к расширению «Экспорт котов». Единственный объект, который добавляет расширение - это форма списка «Экспорт_ФормаСписка».
  4. Откройте форму списка справочника. На форме расположена кнопка экспорта, которая вызывает диалоговое окно сохранения файла и формирует его содержимое. Код формирования файла расположен в модуле менеджера справочника:
    Процедура ЭкспортКотов(ПолноеИмяФайла) Экспорт
    	
    	Запрос = Новый Запрос;
    	Запрос.Текст = 
    		"ВЫБРАТЬ
    		|	Котики.Код КАК Код,
    		|	Котики.Кличка КАК Кличка,
    		|	Котики.Порода КАК Порода,
    		|	Котики.Окрас КАК Окрас
    		|ИЗ
    		|	Справочник.Котики КАК Котики";
    	
    	РезультатЗапроса = Запрос.Выполнить();
    	ТаблицаКотов = РезультатЗапроса.Выгрузить();
    	
    	ФайлXML = Новый ЗаписьXML;
    	ФайлXML.ОткрытьФайл(ПолноеИмяФайла);
    	ФайлXML.ЗаписатьОбъявлениеXML();
    	
    	ФайлXML.ЗаписатьНачалоЭлемента("Коты");
    	
    	Для Каждого СтрокаТаблицы Из ТаблицаКотов Цикл
    	
    		ФайлXML.ЗаписатьНачалоЭлемента("Кот");
    		
    		ФайлXML.ЗаписатьАтрибут("Код",    СтрокаТаблицы.Код);
    		ФайлXML.ЗаписатьАтрибут("Порода", Строка(СтрокаТаблицы.Порода));
    		ФайлXML.ЗаписатьАтрибут("Окрас",  СтрокаТаблицы.Окрас);
    		
    		ФайлXML.ЗаписатьТекст(СтрокаТаблицы.Кличка);
    		
    		ФайлXML.ЗаписатьКонецЭлемента();
    		
    	КонецЦикла;
    	
    	ФайлXML.ЗаписатьКонецЭлемента();
    	ФайлXML.Закрыть();
    	
    КонецПроцедуры
  5. Код этого модуля мы будем защищать. Установите на него произвольный пароль (например, 123).
  6. Выгрузите расширение в файл с именем «ЭкспортКотов.cfe».

Регистрация продукта в личном кабинете

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

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

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

Настройка инструмента

Настроим инструмент защиты конфигураций (ссылка в электронном письме).

  1. Заполните в настройках префикс ключ и код поставщика (vendor code). Персональные ключи разработчика указаны в настройках личного кабинета.
  2. В списке фич добавьте новую, с тем же кодом и наименованием, что и в личном кабинете.
  3. Перейдите к списку расширений и добавьте новое. В качестве файла расширения укажите «ЭкспортКотов.cfe», созданный ранее. Дождитесь завершения анализа конфигурации расширения, по окончанию будет сформирован образ конфигурации.
  4. Откройте созданный образ конфигурации. В дереве метаданных будут отображены те программные модули, содержание которых было скрыто, а также некоторые служебные.
  5. Выберите модуль менеджера справочника «Котики». Рядом отобразятся процедуры и функции этого модуля.
  6. Установите в соответствие процедуре «ЭкспортКотов» фичу «Экспорт котов».
  7. Сохраните изменения.

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

  1. Откройте конфигурацию расширения «Экспорт котов».
  2. Заполните поле «Основная функция (фича)», указав ту фичу, доступность которой будет проверятся системой при запуске расширения. В этом примере у нас одна фича, ее и укажем.
  3. Заполните поле «Идентификатор триального продукта», указав идентификатор ранее созданного в личном кабинете продукта.
  4. Сохраните изменения.

Защита и проверка результатов

После выполнения настройки, можно установить защиту на расширение.

  1. Перейдите в раздел «Установка защиты».
  2. Выберите конфигурацию и ее образ в соответствующих полях.
  3. Укажите путь к защищаемому файлу расширения (выберем тот же файл «ЭкспортКотов.cfe»).
  4. Нажмите кнопку «Установить защиту» и дождитесь окончанию процедуры. В результате будет сформирован новый файл «ЭкспортКотов.protect.cfe».

Осталось проверить полученные результаты.

  1. Сперва откройте полученный файл в конфигураторе 1С. Убедитесь, что в конфигурации расширения появились новые объекты системы лицензирования, а текст защищаемого модуля стал недоступен.
  2. Загрузите конфигурацию расширения из файла «ЭкспортКотов.protect.cfe» заменив оригинал.
  3. Отключите безопасный режим работы расширения.
  4. Запустите конфигурацию 1С в пользовательском режиме. При первом запуске появится окно регистрации продукта.
  5. Нажмите кнопку «Перейти к регистрации клиента…» и заполните анкету нового клиента.
  6. Нажмите кнопку «Зарегистрировать». Если данные введены корректно, то система выдаст новый лицензионный ключ. Все выданные ключи можно увидеть в соответствующем разделе личного кабинета разработчика (фильтр должен быть заполнен).
  7. Проверим, что расширение работает. Откройте справочник «Котики» и нажмите кнопку «Экспорт…». Убедитесь, что файл сформировался. При этом будет выполнена привязка лицензионного ключа к текущему хосту, что можно проверить в разделе «Монитор сессий» личного кабинета разработчика (фильтр должен быть заполнен).
stepbystep/protectext1c.txt · Последние изменения: 2017/01/19 13:52 — mcvet