Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
stepbystep:protect1c [2021/07/13 07:11] – atar | stepbystep:protect1c [2024/01/23 12:06] (текущий) – внешнее изменение 127.0.0.1 |
---|
| |
Далее рассмотрим всю процедуру по шагам. Создадим простую конфигурацию 1С, а для выдачи лицензий на работу с ней будем использовать демо-доступ к личному кабинету. Адрес, логин и пароль высылаются на электронную почту после регистрации. | Далее рассмотрим всю процедуру по шагам. Создадим простую конфигурацию 1С, а для выдачи лицензий на работу с ней будем использовать демо-доступ к личному кабинету. Адрес, логин и пароль высылаются на электронную почту после регистрации. |
| <note>Для удобства также существует [[https://www.youtube.com/watch?v=lVnr4Y0RjmE|видеоинструкция на Youtube]]</note> |
| |
===== Обзор демонстрационной базы ===== | ===== Обзор демонстрационной базы ===== |
| |
Настроим **инструмент защиты** конфигураций **МИКО_ЗащитаКонфигураций** (ссылка в электронном письме). | Настроим **инструмент защиты** конфигураций **МИКО_ЗащитаКонфигураций** (ссылка в электронном письме). |
- Создайте новую информационную базу, откройте ее в конфигураторе, загрузите конфигурацию из файла "МИКО_ЗащитаКонифгураций.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:21-10-2016_12-03-34.png?nolink |}} | - Откройте список фич и добавьте новую, с тем же кодом и наименованием, что и в личном кабинете.{{ :stepbystep:21-10-2016_12-03-34.png?nolink |}} |
- Перейдите в раздел "**Конфигурации**". Создайте новую конфигурацию. Укажите имя конфигурации 1С и каталог файлов поставки (например, H:\tmp\КошкинДом\Поставка).{{ :stepbystep:21-10-2016_12-07-08.png?nolink |}} | - Перейдите в раздел "**Конфигурации**". Создайте новую конфигурацию. Укажите имя конфигурации 1С и каталог файлов поставки. Сохраните изменения. Идентификатор продукта будет сформирован автоматически и понадобится позже. |
- Сохраните изменения. Идентификатор продукта будет сформирован автоматически и понадобится позже. | {{ :stepbystep:soadanie_konfiguracii.png?nolink |}} \\ |
| |
Перейдем к защищаемой конфигурации 1С. Сперва нужно перенести в конфигурацию объекты системы лицензирования. | Перейдем к защищаемой конфигурации 1С. Сперва нужно перенести в конфигурацию объекты системы лицензирования. |
- Откройте в конфигураторе защищаемую конфигурацию. Выполните "**Конфигурация**" -> "**Сравнить и объединить с конфигурацией из файла**", выберите файл "МИКО_ЗащитаКонфигураций.cf". | |
| - Откройте в конфигураторе защищаемую конфигурацию, которую вы создали на этапе "Обзор демонстрационной базы". Выполните "**Конфигурация**" -> "**Сравнить и объединить с конфигурацией из файла**", выберите файл "МИКО_ЗащитаКонфигураций.cf". |
- Перенесите объекты (общие модули, макеты, формы) подсистемы "МИКО_СистемаЛицензирования" в защищаемую конфигурацию. Для этого в окне основной конфигурации снимите флажок с корневого элемента, затем выполните "**Действия**" -> "**Отметить по подсистемам файла**". Установите флажок только у подсистемы "МИКО_СистемаЛицензирования". Выполните "**Установить**" -> "**Выполнить**". От сохранения настроек объединения конфигураций в xml-файл откажитесь. | - Перенесите объекты (общие модули, макеты, формы) подсистемы "МИКО_СистемаЛицензирования" в защищаемую конфигурацию. Для этого в окне основной конфигурации снимите флажок с корневого элемента, затем выполните "**Действия**" -> "**Отметить по подсистемам файла**". Установите флажок только у подсистемы "МИКО_СистемаЛицензирования". Выполните "**Установить**" -> "**Выполнить**". От сохранения настроек объединения конфигураций в xml-файл откажитесь. |
{{ :stepbystep:obedinenie_konfigaraciy.png?nolink |}} | {{ :stepbystep:obedinenie_konfigaraciy.png?nolink |}} |
ОписаниеПродукта = Новый Структура; | ОписаниеПродукта = Новый Структура; |
ОписаниеПродукта.Вставить("Наименование", "Кошкин дом"); | ОписаниеПродукта.Вставить("Наименование", "Кошкин дом"); |
ОписаниеПродукта.Вставить("ИдентификаторКонфигурации", "9cf50201-976d-11e6-810f-0050568123f9"); | ОписаниеПродукта.Вставить("ИдентификаторКонфигурации", "b7ce16d5-e39f-11eb-bb18-005056882bf6"); |
ОписаниеПродукта.Вставить("ПрефиксКлюч", "DEMO"); | ОписаниеПродукта.Вставить("ПрефиксКлюч", "DEMO"); |
ОписаниеПродукта.Вставить("ИдентификаторФичи", "1"); | ОписаниеПродукта.Вставить("ИдентификаторФичи", "13"); |
ОписаниеПродукта.Вставить("ИдентификаторТриальногоПродукта", "25"); | ОписаниеПродукта.Вставить("ИдентификаторТриальногоПродукта", "74"); |
| |
Продукты.Добавить(ОписаниеПродукта); | Продукты.Добавить(ОписаниеПродукта); |
| |
КонецПроцедуры</sxh> | КонецПроцедуры</sxh> |
- В этом же модуле нужно указать местоположение макетов внешних компонент. В данном примере компоненты подключаются к демо-серверу лицензирования. Для подключения к собственным серверам требуются персонализированные под разработчика компоненты, получить их можно по запросу у фирмы [[http://protect.miko.ru|"МИКО"]]. В данном демонстрационном примере выполните следующее: в дереве объектов конфигурации в группе "**Общие макеты**" загрузите в макет "**МИКО_КомпонентЗакрытогоМодуля_DEMO**" компонент "**МИКО_КомпонентЗакрытогоМодуля_DEMO.zip**", который выслан вам в архиве. <sxh>Процедура ПриИнициализацииЗакрытогоМодуля(ПрефиксКлюч, МестоположениеКомпонента) Экспорт | - В этом же модуле нужно указать местоположение макетов внешних компонент. В данном примере компоненты подключаются к демо-серверу лицензирования. Для подключения к собственным серверам требуются персонализированные под разработчика компоненты, получить их можно по запросу у фирмы [[http://protect.miko.ru|"МИКО"]]. В данном демонстрационном примере выполните следующее: в дереве объектов конфигурации в группе "**Общие макеты**" загрузите в макет "**МИКО_КомпонентЗакрытогоМодуля_DEMO**" компонент "**МИКО_КомпонентЗакрытогоМодуля_DEMO.zip**", который выслан вам в письме. Архив не распаковывайте. <sxh>Процедура ПриИнициализацииЗакрытогоМодуля(ПрефиксКлюч, МестоположениеКомпонента) Экспорт |
| |
Если ПрефиксКлюч = "DEMO" Тогда | Если ПрефиксКлюч = "DEMO" Тогда |
| |
Если ПрефиксКлюч = "DEMO" Тогда | Если ПрефиксКлюч = "DEMO" Тогда |
МестоположениеКомпонента = "ОбщийМакет.МИКО_КомпонентРегистрацииПродукта_DEMO"; | МестоположениеКомпонента = "ОбщийМакет.МИКО_КомпонентЗакрытогоМодуля_DEMO"; |
КонецЕсли; | КонецЕсли; |
| |
КонецПроцедуры</sxh> | КонецПроцедуры |
| </sxh> |
- Для работы закрытого модуля потребуется лицензионный ключ. Система будет периодически запрашивать ключ, а также может выдать новый при регистрации продукта. В процедурах "ПриЧтенииЛицензионногоКлюча", "ПриЗаписиЛицензионногоКлюча" переменную "ИдентификаторКонфигурации" также поменяйте на ваш идентификатор конфигурации. <sxh>Процедура ПриЧтенииЛицензионногоКлюча(ИдентификаторКонфигурации, ЛицензионныйКлюч) Экспорт | - Для работы закрытого модуля потребуется лицензионный ключ. Система будет периодически запрашивать ключ, а также может выдать новый при регистрации продукта. В процедурах "ПриЧтенииЛицензионногоКлюча", "ПриЗаписиЛицензионногоКлюча" переменную "ИдентификаторКонфигурации" также поменяйте на ваш идентификатор конфигурации. <sxh>Процедура ПриЧтенииЛицензионногоКлюча(ИдентификаторКонфигурации, ЛицензионныйКлюч) Экспорт |
| |
Если ИдентификаторКонфигурации= "9cf50201-976d-11e6-810f-0050568123f9" Тогда | Если ИдентификаторКонфигурации= "b7ce16d5-e39f-11eb-bb18-005056882bf6" Тогда |
ЛицензионныйКлюч = Константы.КошкинДомЛицензионныйКлюч.Получить(); | ЛицензионныйКлюч = Константы.КотыЛицензионныйКлюч.Получить(); |
КонецЕсли; | КонецЕсли; |
| |
Процедура ПриЗаписиЛицензионногоКлюча(ИдентификаторКонфигурации, ЛицензионныйКлюч) Экспорт | Процедура ПриЗаписиЛицензионногоКлюча(ИдентификаторКонфигурации, ЛицензионныйКлюч) Экспорт |
| |
Если ИдентификаторКонфигурации= "9cf50201-976d-11e6-810f-0050568123f9" Тогда | Если ИдентификаторКонфигурации= "b7ce16d5-e39f-11eb-bb18-005056882bf6" Тогда |
Константы.КошкинДомЛицензионныйКлюч.Установить(ЛицензионныйКлюч); | Константы.КотыЛицензионныйКлюч.Установить(ЛицензионныйКлюч); |
КонецЕсли; | КонецЕсли; |
| |
КонецПроцедуры</sxh> | КонецПроцедуры</sxh> |
- Убедитесь что текст общего модуля "КотыСервер" защищен паролем (пароль: 123). В ваших коммерческих решениях на защищаемый код, вам нужно будет установить пароль командой главного меню "**Текст**" -> "**Установить пароль**". Вместо установки пароля вы можете использовать [[protect1c:postavka|механизм создания файла поставки]], при помощи которого вы исключите из поставки текст защищаемого модуля. Но это более долгий и трудоемкий процесс. | - Установите пароль на текст общего модуля "КотыСервер" (например: 123) командой главного меню "**Текст**" -> "**Установить пароль**". Вместо установки пароля вы можете использовать [[protect1c:postavka|механизм создания файла поставки]], при помощи которого вы исключите из поставки текст защищаемого модуля. Но это более долгий и трудоемкий процесс. |
- Обновите конфигурацию базы данных. | - Обновите конфигурацию базы данных. |
- Сохраните конфигурацию в файл "**КошкинДом.cf**". | - Сохраните конфигурацию в файл "**КошкинДом.cf**". |
| |
Вернемся к инструменту защиты конфигураций. | Вернемся к инструменту защиты конфигураций. |
- Создайте новый образ конфигурации. Укажите путь к файлу сохраненной конфигурации "**КошкинДом.cf**" | - Создайте новый образ конфигурации. Укажите путь к файлу сохраненной конфигурации "**КошкинДом.cf**" {{ :stepbystep:soadanie_obraza.png?nolink |}} |
- Откройте образ конфигурации. В нем будет указан один программный модуль - КотыСервер.{{ :stepbystep:26-10-2016_22-36-35.png?nolink |}} | - Откройте образ конфигурации. В нем будет указан один программный модуль - КотыСервер. {{ :stepbystep:soadanie_obraza_nezashishenniy_modul.png?nolink |}} |
- Откройте модуль "КотыСервер" и создайте новую защитную маску. Для функции "ПолучитьКличкиКотов" укажите фичу "Учет котов".{{ :stepbystep:26-10-2016_22-47-43.png?nolink |}} | - Откройте модуль "КотыСервер" и создайте новую защитную маску. Для функции "ПолучитьКличкиКотов" укажите фичу "Учет котов". {{ :stepbystep:soadanie_zashitnoy_maskil.png?nolink |}} |
- Сохраните изменения и вернитесь на начальную страницу. | - Сохраните изменения и вернитесь на начальную страницу. |
- В журнале поставок напротив образа конфигурации нажмите на гиперссылку "Установить защиту". После завершения работы системы установки защиты в каталоге поставки появится файл "КошкинДом.protect.cf". | - В журнале поставок напротив образа конфигурации нажмите на гиперссылку "Установить защиту". После завершения работы системы установки защиты в каталоге поставки появится файл "**КошкинДом.protect.cf**". |
| |
===== Проверка результатов ===== | ===== Проверка результатов ===== |
| |
После выполнения всех этапов осталось проверить полученные результаты. | После выполнения всех этапов осталось проверить полученные результаты. |
- Создайте новую информационную базу и загрузите в нее базу из файла "КошкинДом.dt" (изначальная информационная база, поставляемая вам в дистрибутиве). | - Создайте новую информационную базу и загрузите в нее базу из файла "**КошкинДом.dt**" (изначальная информационная база, поставляемая вам в дистрибутиве). |
- Выполните "**Конфигурация**" -> "**Сравнить и объединить с конфигурацией из файла**". Выберите файл конфигурации "КошкинДом.protect.cf". Нажмите "Выполнить". | - Выполните "**Конфигурация**" -> "**Сравнить и объединить с конфигурацией из файла**". Выберите файл конфигурации "**КошкинДом.protect.cf**". Нажмите "Выполнить". |
- Убедитесь, что текст модуля "КотыСервер" стал недоступен. | - Убедитесь, что текст модуля "КотыСервер" стал недоступен. |
- Запустите информационную базу в режиме предприятия и попробуйте открыть один из элементов справочника "Котики". На экране будет сообщение об ошибке: "Для выполнения операции требуется лицензионный ключ". {{ :stepbystep:18-11-2016_10-36-47.png?nolink |}} | - Запустите информационную базу в режиме предприятия и попробуйте открыть один из элементов справочника "Котики". На экране будет сообщение об ошибке: "Для выполнения операции требуется лицензионный ключ". {{ :stepbystep:18-11-2016_10-36-47.png?nolink |}} |
- Убедитесь, что элементы справочника "Котики" теперь открываются. При этом будет создана сессия с сервером лицензирования и произведен захват фичи, что можно проверить в разделе "Монитор сессий" личного кабинета разработчика (фильтр должен быть заполнен). {{ :stepbystep:18-11-2016_13-53-45.png?nolink |}} | - Убедитесь, что элементы справочника "Котики" теперь открываются. При этом будет создана сессия с сервером лицензирования и произведен захват фичи, что можно проверить в разделе "Монитор сессий" личного кабинета разработчика (фильтр должен быть заполнен). {{ :stepbystep:18-11-2016_13-53-45.png?nolink |}} |
- Завершите работу с программой 1С. Фича будет освобождена, а сессия завершена. | - Завершите работу с программой 1С. Фича будет освобождена, а сессия завершена. |
| |
| ===== Примечание ===== |
| В ваших конфигурациях модули, которые вы будете защищать должны иметь флажки "**Сервер**", "**Вызов сервера**". Флажок "**Клиент**" должен быть снят. |
| {{ :stepbystep:flajok_server.png?nolink |}} |
| |
| В защищаемых вами модулях должны быть какие-либо строковые литералы. Например |
| |
| {{ :stepbystep:strokovie_literali.png?nolink |}} |