Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
stepbystep:protectext1c [2021/06/21 12:47] – atar | stepbystep:protectext1c [2024/01/23 12:06] (текущий) – внешнее изменение 127.0.0.1 |
---|
* добавить в продукт интерактивную форму активации продукта и вспомогательные модули системы лицензирования. | * добавить в продукт интерактивную форму активации продукта и вспомогательные модули системы лицензирования. |
| |
Далее рассмотрим всю процедуру по шагам на примере простого расширения конфигурации 1С. Для выдачи лицензий на работу с ней будем использовать демо-доступ к личному кабинету (адрес, логин и пароль высылаются на электронную почту после регистрации). | В данной инструкции рассмотрим всю процедуру по шагам на примере простого расширения конфигурации 1С. . Для выдачи лицензий на работу с ней будем использовать демо-доступ к личному кабинету (адрес, логин и пароль высылаются на электронную почту после регистрации). |
| <note> Для удобства также существует [[http://www.youtube.com/watch?v=NVHpBUpbmNA|видеоинструкция на YouTube]]</note> |
===== Обзор демонстрационной базы ===== | ===== Обзор демонстрационной базы ===== |
| |
Для примера будем использовать конфигурацию для учета домашних животных. | Для примера будем использовать конфигурацию для учета домашних животных. |
- Скачайте файл демонстрационной базы "КошкинДом.dt" (ссылка в электронном письме). | - Скачайте файл демонстрационной базы "**КошкинДом.dt**" (ссылка в электронном письме). |
- Создайте новую информационную базу из загрузите в нее информационную базу из файла "КошкинДом.dt".\\ Структура конфигурации имеет следующий вид. {{ :stepbystep:21-10-2016_11-23-09.png?nolink |}} Центральным объектом конфигурации является справочник "Котики", в котором содержится вся информация о животных. В примере мы будем выгружать данные этого справочника в XML-файл при помощи расширения. | - Создайте новую информационную базу из загрузите в нее информационную базу из файла "**КошкинДом.dt**".\\ Структура конфигурации имеет следующий вид. {{ :stepbystep:21-10-2016_11-23-09.png?nolink |}} Центральным объектом конфигурации является справочник "**Котики**", в котором содержится вся информация о животных. В примере мы будем выгружать данные этого справочника в XML-файл при помощи расширения. |
- Перейдите к расширению "Экспорт котов". Для этого выполните: "Конфигурация" -> "Расширения конфигурации". В появившемся окне расширений конфигурации будет расширение "ЭкспортКотов". Нажмите "Открыть конфигурацию". Откроется окно конфигурации расширенния. Единственный объект, который добавляет расширение - это форма списка "Экспорт_ФормаСписка". {{ :stepbystep:19-01-2017_15-11-47.png?nolink |}} | - Перейдите к расширению "**Экспорт котов**". Для этого выполните: "**Конфигурация**" -> "**Расширения конфигурации**". В появившемся окне расширений конфигурации будет расширение "**ЭкспортКотов**". Нажмите "**Открыть конфигурацию**". Откроется окно конфигурации расширения. Единственный объект, который добавляет расширение - это форма списка "**Экспорт_ФормаСписка**". {{ :stepbystep:19-01-2017_15-11-47.png?nolink |}} |
- Откройте форму списка справочника. На форме расположена кнопка экспорта, которая вызывает диалоговое окно сохранения файла и формирует его содержимое. Код формирования файла расположен в модуле менеджера справочника: <sxh>Процедура ЭкспортКотов(ПолноеИмяФайла) Экспорт | - Откройте форму списка справочника. На форме расположена кнопка экспорта, которая вызывает диалоговое окно сохранения файла и формирует его содержимое. Код формирования файла расположен в **модуле менеджера справочника**: <sxh>Процедура ЭкспортКотов(ПолноеИмяФайла) Экспорт |
| |
Запрос = Новый Запрос; | Запрос = Новый Запрос; |
| |
КонецПроцедуры</sxh> | КонецПроцедуры</sxh> |
- Код этого модуля мы будем защищать. Установите на него произвольный пароль командой главного меню "Текст" -> "Установить пароль" (например, 123). | - Код этого модуля мы будем защищать. Установите на него произвольный пароль командой главного меню "**Текст**" -> "**Установить пароль**" (например, 123). |
- Сохраните изменения и обновите конфигурацию базы данных. | - Сохраните изменения и обновите конфигурацию базы данных. |
- Выгрузите расширение в файл с именем "ЭкспортКотов.cfe". | - Выгрузите расширение в файл с именем "**ЭкспортКотов.cfe**". |
| |
===== Регистрация продукта в личном кабинете ===== | ===== Регистрация продукта в личном кабинете ===== |
Перейдем к настройке продукта в личном кабинете разработчика. | Перейдем к настройке продукта в личном кабинете разработчика. |
- Откройте личный кабинет и перейдите на страницу фич. | - Откройте личный кабинет и перейдите на страницу фич. |
- Добавьте новую фичу. В качестве названия укажите "Экспорт котов". Идентификатор фичи можно указать произвольный. {{ :stepbystep:19-01-2017_15-15-41.png?nolink |}} Некоторые данные (они будут выделены синим цветом) необходимо будет повторить в инструменте защиты конфигураций. | - Добавьте новую фичу. В качестве названия укажите "**Экспорт котов**". Идентификатор фичи можно указать произвольный. {{ :stepbystep:19-01-2017_15-15-41.png?nolink |}} Некоторые данные (они будут выделены синим цветом) необходимо будет повторить в инструменте защиты конфигураций. |
- Далее перейдите к странице продуктов. Добавьте новый продукт "Экспорт котов на 1 хост". В продукт добавьте созданную ранее фичу. Способ лицензирования - на хост. {{ :stepbystep:19-01-2017_15-20-00.png?nolink |}} | - Далее перейдите к странице продуктов. Добавьте новый продукт "**Экспорт котов на 1 хост**". В продукт добавьте созданную ранее фичу. Способ лицензирования - на хост. {{ :stepbystep:19-01-2017_15-20-00.png?nolink |}} |
- Сохраните продукт, идентификатор будет сгенерирован автоматически. {{ :stepbystep:19-01-2017_15-22-39.png?nolink |}} | - Сохраните продукт, идентификатор будет сгенерирован автоматически. {{ :stepbystep:produkt.png?nolink |}} |
| |
===== Настройка инструмента ===== | ===== Настройка инструмента защиты ===== |
| |
Настроим инструмент защиты конфигураций (ссылка в электронном письме). | Настроим инструмент защиты конфигураций (содержится электронном письме). |
| |
- Создайте новую информационную базу, загрузите в нее конфигурацию из файла "МИКО_ЗащитаКонфигураций.cf". Запустите ее в режиме "1С:Предпритие". | - Создайте новую информационную базу, загрузите в нее конфигурацию из файла "**МИКО_ЗащитаРасширений.cf**". Запустите ее в режиме "1С:Предпритие". |
- Заполните в настройках префикс ключ и код поставщика (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 |}} | - Заполните в настройках **префикс ключ** и **код поставщика (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 |}} | - В списке фич добавьте новую, с тем же кодом и наименованием, что и в личном кабинете. {{ :stepbystep:19-01-2017_15-25-40.png?nolink |}} |
- В пункте "Компоненты" подключите компонент закрытого модуля "МИКО_КомпонентЗакрытогоМодуля_DEMO.zip" (содержится в электронном письме). {{ :stepbystep:компонент_закрытого_модуля.png?nolink |}} | - В пункте "**Компоненты**" подключите компонент закрытого модуля "**МИКО_КомпонентЗакрытогоМодуля_DEMO.zip**" (содержится в электронном письме). {{ :stepbystep:компонент_закрытого_модуля.png?nolink |}} |
- Перейдите к списку расширений и добавьте новое. В качестве файла расширения укажите "ЭкспортКотов.cfe", созданный ранее. Дождитесь завершения анализа конфигурации расширения, по окончанию будет сформирован образ конфигурации. | - Перейдите к списку расширений и добавьте новое. В качестве файла расширения укажите "**ЭкспортКотов.cfe**", созданный ранее. Дождитесь завершения анализа конфигурации расширения, по окончанию будет сформирован образ конфигурации. |
- Откройте созданный образ конфигурации. В дереве метаданных будут отображены те программные модули, содержание которых было скрыто, а также некоторые служебные. {{ :stepbystep:19-01-2017_15-33-47.png?nolink |}} | - Откройте созданный образ конфигурации. В дереве метаданных будут отображены те программные модули, содержание которых было скрыто, в нашем случае это модуль менеджера справочника "Котики". {{ :stepbystep:obraz_sozdan.png?nolink |}} |
- Выберите модуль менеджера справочника "Котики". Рядом отобразятся процедуры и функции этого модуля. | - Выберите модуль менеджера справочника "Котики". Рядом отобразятся процедуры и функции этого модуля. |
- Установите в соответствие процедуре "ЭкспортКотов" фичу "Экспорт котов". {{ :stepbystep:19-01-2017_16-07-14.png?nolink |}} | - Установите в соответствие процедуре "ЭкспортКотов" фичу "**Экспорт котов**". {{ :stepbystep:obraz_sozdan_ficha.png?nolink |}} |
- Сохраните изменения. | - Сохраните изменения. |
| |
Чтобы пользователи могли активировать ключи или использовать триальный период, заполним данные о продукте. | Чтобы пользователи могли активировать ключи или использовать триальный период, заполним данные о продукте. |
- Откройте конфигурацию расширения "Экспорт котов". | - Откройте конфигурацию расширения "Экспорт котов". |
- Заполните поле "Основная функция (фича)", указав ту фичу, доступность которой будет проверятся системой при запуске расширения. В этом примере у нас одна фича, ее и укажем. | - Заполните поле "**Основная функция (фича)**", указав ту фичу, доступность которой будет проверятся системой при запуске расширения. В этом примере у нас одна фича, ее и укажем. |
- Заполните поле "Идентификатор триального продукта", указав идентификатор ранее созданного в личном кабинете продукта. {{ :stepbystep:19-01-2017_16-12-01.png?nolink |}} | - Заполните поле "**Идентификатор триального продукта**", указав идентификатор ранее созданного в личном кабинете продукта. {{ :stepbystep:identifikatori_produka.png?nolink |}} |
- Сохраните изменения. | - Сохраните изменения. |
| |
| |
После выполнения настройки, можно установить защиту на расширение. | После выполнения настройки, можно установить защиту на расширение. |
- Перейдите в раздел "Установка защиты". | - Перейдите в раздел "**Установка защиты**". |
- Выберите конфигурацию и ее образ в соответствующих полях. | - Выберите конфигурацию и ее образ в соответствующих полях. |
- Укажите путь к защищаемому файлу расширения (выберем тот же файл "ЭкспортКотов.cfe"). {{ :stepbystep:19-01-2017_16-22-37.png?nolink |}} | - Укажите путь к защищаемому файлу расширения (выберем тот же файл "**ЭкспортКотов.cfe**"). {{ :stepbystep:ustanovka_zashiti_ustanovit.png?nolink |}} |
- Нажмите кнопку "Установить защиту" и дождитесь окончанию процедуры. В результате будет сформирован новый файл "ЭкспортКотов.protect.cfe". | - Нажмите кнопку "**Установить защиту**" и дождитесь окончанию процедуры. В результате будет сформирован новый файл "**ЭкспортКотов.protect.cfe**". {{ :stepbystep:ustanovka_zashiti_sozdan_protect.png?nolink |}} |
| |
Осталось проверить полученные результаты. | Осталось проверить полученные результаты. |
- Сперва откройте полученный файл в конфигураторе 1С. Убедитесь, что в конфигурации расширения появились новые объекты системы лицензирования, а текст защищаемого модуля стал недоступен. {{ :stepbystep:19-01-2017_16-25-12.png?nolink |}} | - Откройте в конфигураторе информационную базу, из которой вы выгружали расширение "ЭкспортКотов" на этапе "Обзор демонстрационной базы". Откройте "Расширения конфигурации". |
- Загрузите конфигурацию расширения из файла "ЭкспортКотов.protect.cfe" заменив оригинал. | - Загрузите конфигурацию расширения из файла "**ЭкспортКотов.protect.cfe**" заменив оригинал. |
- Отключите безопасный режим работы расширения. {{ :stepbystep:19-01-2017_16-28-42.png?nolink |}} | - Отключите безопасный режим работы расширения, если он был у вас был включен {{ :stepbystep:19-01-2017_16-28-42.png?nolink |}} |
- Запустите конфигурацию 1С в пользовательском режиме. При первом запуске появится окно регистрации продукта. {{ :stepbystep:19-01-2017_16-37-37.png?nolink |}} | - Убедитесь, что в конфигурации расширения появились новые объекты системы лицензирования, а текст защищаемого модуля стал недоступен. \\ \\ {{:stepbystep:novayakofiguraciya_rasshireniya.png?nolink|}} {{ :stepbystep:tekst_modula_nedostupen.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 |}} | ===== Настройка захвата основной фичи ===== |
| <note important>Захват основной фичи добавлен в функционал и будет доступен при работе инструментом защиты 1.2.2</note> |
| Теперь нужно внести изменения в получившуюся конфигурацию, для того чтобы при ее запуске захватывалась основная фича создавалась пользовательская сессия. \\ \\ |
| 1. Элемент нумерованного списка Элемент ненумерованного спискаВ основной конфигурации (а не в расширении) добавьте общий модуль с названием "**Переопределяемый**" (обращаю внимание, что название модуля должно быть именно таким). В настройках модуля должен быть флажок только "Сервер". {{ :stepbystep:modul_pereopredelayemiy.png?nolink |}} \\ |
| 2. Внесите в модуль следующий код <sxh>Процедура ЛицензируемыеПродукты(Продукты) Экспорт |
| |
| СтруктураДляЗапуска = Новый Структура; |
| |
| СтруктураДляЗапуска.Вставить("Наименование", "Экспорт котов"); |
| |
| СтруктураДляЗапуска.Вставить("ПрефиксРасширения", "Экспорт_"); |
| |
| СтруктураДляЗапуска.Вставить("ПрефиксКлюч", "DEMO"); |
| |
| СтруктураДляЗапуска.Вставить("ИдентификаторФичи", "102"); |
| |
| СтруктураДляЗапуска.Вставить("ИдентификаторТриальногоПродукта", "96"); |
| |
| Продукты.Добавить(СтруктураДляЗапуска); |
| |
| КонецПроцедуры</sxh> |
| |
| где значения структуры, соответствующие ключам "Наименование", "ПрефиксРасширения", "ПрефиксКлюч", "ИдентификаторФичи", "ИдентификаторТриальногоПродукта" возьмите из: Расширение "ЭкспортКотов" -> Общие формы -> "Экспорт_РегистрацияПродукта" -> модуль формы -> Функция "**ОписаниеПродукта()**" \\ |
| {{ :stepbystep:znacheniyz_iz_modula_formi.png?nolink |}} |
| |
| 3. В **основной** конфигурации откройте **модуль управляемого приложения** и добавьте в него следующий код. |
| <sxh>Процедура ПриНачалеРаботыСистемы() |
| |
| ИнициализироватьСистемуЛицензирования("Экспорт котов"); |
| |
| КонецПроцедуры |
| |
| Процедура ПриЗавершенииРаботыСистемы(Отказ, ТекстПредупреждения) |
| |
| ЗавершитьРаботуСистемыЛицензирования("Экспорт котов"); |
| |
| КонецПроцедуры |
| |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| Процедура ИнициализироватьСистемуЛицензирования(НаименованиеКонфигурации) |
| |
| Попытка |
| |
| Экспорт_Лицензирование.НачатьРаботу(НаименованиеКонфигурации); |
| |
| Исключение |
| |
| ПараметрыФормы = Новый Структура; |
| ПараметрыФормы.Вставить("НаименованиеПродукта", НаименованиеКонфигурации); |
| ПараметрыФормы.Вставить("ОписаниеОшибки", ИнформацияОбОшибке().Описание); |
| |
| ОткрытьФорму("ОбщаяФорма.Экспорт_РегистрацияПродукта", ПараметрыФормы); |
| |
| КонецПопытки; |
| |
| КонецПроцедуры |
| |
| Процедура ЗавершитьРаботуСистемыЛицензирования(НаименованиеКонфигурации) |
| |
| Экспорт_Лицензирование.ЗавершитьРаботу(НаименованиеКонфигурации); |
| |
| КонецПроцедуры</sxh> |
| |
| где параметр передающийся в процедуры "**ИнициализироватьСистемуЛицензирования**" "**ЗавершитьРаботуСистемыЛицензирования**" должен соответствовать значению ключа "Наименование" |
| структуры "СтруктураДляЗапуска" в процедуре модуля "Переопределяемый". \\ |
| 4. Запустите конфигурацию 1С в пользовательском режиме. При первом запуске появится предупреждение безопасности. Утвердительно ответьте на него, и запустите конфигурацию заново. {{ :stepbystep:предупреждение_безопасности.png?nolink |}} \\ |
| 5. Нажмите "**Регистрация продукта**". При первом запуске появится окно регистрации продукта. {{ :stepbystep:19-01-2017_16-37-37.png?nolink |}} \\ |
| 6. Нажмите кнопку "**Перейти к регистрации клиента...**" и заполните анкету нового клиента. {{ :stepbystep:19-01-2017_16-41-47.png?nolink |}} |
| 7. Нажмите кнопку "**Зарегистрировать**". Если данные введены корректно, то система выдаст новый лицензионный ключ. Все выданные ключи можно увидеть в соответствующем разделе личного кабинета разработчика (фильтр должен быть заполнен). {{ :stepbystep:19-01-2017_16-45-26.png?nolink |}} |
| 8. Проверим, что расширение работает. Откройте справочник "Котики" и нажмите кнопку "Экспорт...". Убедитесь, что файл сформировался. При этом будет выполнена привязка лицензионного ключа к текущему хосту, что можно проверить в разделе "**Монитор сессий**" личного кабинета разработчика (фильтр должен быть заполнен). {{ :stepbystep:19-01-2017_16-47-25.png?nolink |}} |