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

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


stepbystep:protectext1c
no way to compare when less than two revisions

Различия

Показаны различия между двумя версиями страницы.


Следующая версия
stepbystep:protectext1c [2017/01/19 16:52] – создано mcvet
Строка 1: Строка 1:
 +====== Шаг за шагом: защита расширения конфигурации 1С ======
  
 +В общем случае для защиты своей конфигурации 1С понадобится:
 +  * создать продукт в своем личном кабинете;
 +  * определить способ лицензирования продукта - по количеству пользователей или хостов;
 +  * установить на свой компьютер инструмент для выполнения процедуры защиты продукта;
 +  * добавить в продукт интерактивную форму активации продукта и вспомогательные модули системы лицензирования.
 +
 +Далее рассмотрим всю процедуру по шагам на примере простого расширения конфигурации 1С. Для выдачи лицензий на работу с ней  будем использовать демо-доступ к личному кабинету (адрес, логин и пароль высылаются на электронную почту после регистрации).
 +
 +===== Обзор демонстрационной базы =====
 +
 +Для примера будем использовать конфигурацию для учета домашних животных.
 +  - Скачайте файл демонстрационной базы "КошкинДом.dt" (ссылка в электронном письме).
 +  - Создайте информационную базу из загрузите в нее копию из скаченнего файла.\\ Структура конфигурации имеет следующий вид. {{ :stepbystep:21-10-2016_11-23-09.png?nolink |}} Центральным объектом конфигурации является справочник "Котики", в котором содержится вся информация о животных. В примере мы будем выгружать данные этого справочника в XML-файл при помощи расширения.
 +  - Перейдите к расширению "Экспорт котов". Единственный объект, который добавляет расширение - это форма списка "Экспорт_ФормаСписка". {{ :stepbystep:19-01-2017_15-11-47.png?nolink |}}
 +  - Откройте форму списка справочника. На форме расположена кнопка экспорта, которая вызывает диалоговое окно сохранения файла и формирует его содержимое. Код формирования файла расположен в модуле менеджера справочника: <code>Процедура ЭкспортКотов(ПолноеИмяФайла) Экспорт
 +
 + Запрос = Новый Запрос;
 + Запрос.Текст = 
 + "ВЫБРАТЬ
 + | Котики.Код КАК Код,
 + | Котики.Кличка КАК Кличка,
 + | Котики.Порода КАК Порода,
 + | Котики.Окрас КАК Окрас
 + |ИЗ
 + | Справочник.Котики КАК Котики";
 +
 + РезультатЗапроса = Запрос.Выполнить();
 + ТаблицаКотов = РезультатЗапроса.Выгрузить();
 +
 + ФайлXML = Новый ЗаписьXML;
 + ФайлXML.ОткрытьФайл(ПолноеИмяФайла);
 + ФайлXML.ЗаписатьОбъявлениеXML();
 +
 + ФайлXML.ЗаписатьНачалоЭлемента("Коты");
 +
 + Для Каждого СтрокаТаблицы Из ТаблицаКотов Цикл
 +
 + ФайлXML.ЗаписатьНачалоЭлемента("Кот");
 +
 + ФайлXML.ЗаписатьАтрибут("Код",    СтрокаТаблицы.Код);
 + ФайлXML.ЗаписатьАтрибут("Порода", Строка(СтрокаТаблицы.Порода));
 + ФайлXML.ЗаписатьАтрибут("Окрас",  СтрокаТаблицы.Окрас);
 +
 + ФайлXML.ЗаписатьТекст(СтрокаТаблицы.Кличка);
 +
 + ФайлXML.ЗаписатьКонецЭлемента();
 +
 + КонецЦикла;
 +
 + ФайлXML.ЗаписатьКонецЭлемента();
 + ФайлXML.Закрыть();
 +
 +КонецПроцедуры</code>
 +   - Код этого модуля мы будем защищать. Установите на него произвольный пароль (например, 123).
 +   - Выгрузите расширение в файл с именем "ЭкспортКотов.cfe".
 +
 +===== Регистрация продукта в личном кабинете =====
 +
 +<note tip>**Фича** - это та функциональная опция программы, которая подлежит лицензированию. Программный модуль, обработка, а также вся конфигурация 1С в целом могут является фичей. \\
 +**Продукт** - это минимально допустимый набор функциональных опций, который мы предлагаем клиенту как готовое решение. Продукт может состоять как из одной так и из нескольких фич, в зависимости от сложности лицензируемого решения.</note>
 +В данном примере не будем выделять отдельные функции конфигурации, поэтому в продукте будет одна фича и лицензирование по количеству пользователей работающих с конфигурацией.
 +Перейдем к настройке продукта в личном кабинете разработчика.
 +  - Откройте личный кабинет и перейдите на страницу фич.
 +  - Добавьте новую фичу. В качестве названия укажите "Экспорт котов". Идентификатор фичи можно указать произвольный. {{ :stepbystep:19-01-2017_15-15-41.png?nolink |}} Некоторые данные (они будут выделены синим цветом) необходимо будет повторить в инструменте защиты конфигураций.
 +  - Далее перейдите к странице продуктов. Добавьте новый продукт "Экспорт котов на 1 хост". В продукт добавьте созданную ранее фичу. Способ лицензирования - на хост. {{ :stepbystep:19-01-2017_15-20-00.png?nolink |}} 
 +  - Сохраните продукт, идентификатор будет сгенерирован автоматически. {{ :stepbystep:19-01-2017_15-22-39.png?nolink |}}
 +
 +===== Настройка инструмента =====
 +
 +Настроим инструмент защиты конфигураций (ссылка в электронном письме).
 +  - Заполните в настройках префикс ключ и код поставщика (vendor code). Персональные ключи разработчика указаны в настройках личного кабинета. {{ :stepbystep:21-10-2016_11-53-26.png?nolink |}}{{ :stepbystep:dn_arrow.png?nolink&48 |}}{{ :stepbystep:21-10-2016_11-56-52.png?nolink |}}
 +  - В списке фич добавьте новую, с тем же кодом и наименованием, что и в личном кабинете. {{ :stepbystep:19-01-2017_15-25-40.png?nolink |}}
 +  - Перейдите к списку расширений и добавьте новое. В качестве файла расширения укажите "ЭкспортКотов.cfe", созданный ранее. Дождитесь завершения анализа конфигурации расширения, по окончанию будет сформирован образ конфигурации.
 +  - Откройте созданный образ конфигурации. В дереве метаданных будут отображены те программные модули, содержание которых было скрыто, а также некоторые служебные. {{ :stepbystep:19-01-2017_15-33-47.png?nolink |}}
 +  - Выберите модуль менеджера справочника "Котики". Рядом отобразятся процедуры и функции этого модуля. 
 +  - Установите в соответствие процедуре "ЭкспортКотов" фичу "Экспорт котов". {{ :stepbystep:19-01-2017_16-07-14.png?nolink |}}
 +  - Сохраните изменения.
 +
 +Чтобы пользователи могли активировать ключи или использовать триальный период, заполним данные о продукте.
 +  - Откройте конфигурацию расширения "Экспорт котов".
 +  - Заполните поле "Основная функция (фича)", указав ту фичу, доступность которой будет проверятся системой при запуске расширения. В этом примере у нас одна фича, ее и укажем.
 +  - Заполните поле "Идентификатор триального продукта", указав идентификатор ранее созданного в личном кабинете продукта. {{ :stepbystep:19-01-2017_16-12-01.png?nolink |}}
 +  - Сохраните изменения.
 +
 +===== Защита и проверка результатов =====
 +
 +После выполнения настройки, можно установить защиту на расширение.
 +  - Перейдите в раздел "Установка защиты".
 +  - Выберите конфигурацию и ее образ в соответствующих полях.
 +  - Укажите путь к защищаемому файлу расширения (выберем тот же файл "ЭкспортКотов.cfe"). {{ :stepbystep:19-01-2017_16-22-37.png?nolink |}}
 +  - Нажмите кнопку "Установить защиту" и дождитесь окончанию процедуры. В результате будет сформирован новый файл "ЭкспортКотов.protect.cfe".
 +
 +Осталось проверить полученные результаты.
 +  - Сперва откройте полученный файл в конфигураторе 1С. Убедитесь, что в конфигурации расширения появились новые объекты системы лицензирования, а текст защищаемого модуля стал недоступен. {{ :stepbystep:19-01-2017_16-25-12.png?nolink |}}
 +  - Загрузите конфигурацию расширения из файла "ЭкспортКотов.protect.cfe" заменив оригинал.
 +  - Отключите безопасный режим работы расширения. {{ :stepbystep:19-01-2017_16-28-42.png?nolink |}}
 +  - Запустите конфигурацию 1С в пользовательском режиме. При первом запуске появится окно регистрации продукта. {{ :stepbystep:19-01-2017_16-37-37.png?nolink |}}
 +  - Нажмите кнопку "Перейти к регистрации клиента..." и заполните анкету нового клиента. {{ :stepbystep:19-01-2017_16-41-47.png?nolink |}}
 +  - Нажмите кнопку "Зарегистрировать". Если данные введены корректно, то система выдаст новый лицензионный ключ. Все выданные ключи можно увидеть в соответствующем разделе личного кабинета разработчика (фильтр должен быть заполнен). {{ :stepbystep:19-01-2017_16-45-26.png?nolink |}}
 +  - Проверим, что расширение работает. Откройте справочник "Котики" и нажмите кнопку "Экспорт...". Убедитесь, что файл сформировался. При этом будет выполнена привязка лицензионного ключа к текущему хосту, что можно проверить в разделе "Монитор сессий" личного кабинета разработчика (фильтр должен быть заполнен). {{ :stepbystep:19-01-2017_16-47-25.png?nolink |}}
stepbystep/protectext1c.txt · Последнее изменение: 2024/01/23 15:06 — 127.0.0.1