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