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

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


stepbystep:protect1c

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
stepbystep:protect1c [2021/07/06 13:26] atarstepbystep:protect1c [2021/09/14 15:40] – [Шаг за шагом: защита конфигурации 1С] atar
Строка 8: Строка 8:
  
 Далее рассмотрим всю процедуру по шагам. Создадим простую конфигурацию 1С, а для выдачи лицензий на работу с ней  будем использовать демо-доступ к личному кабинету. Адрес, логин и пароль высылаются на электронную почту после регистрации. Далее рассмотрим всю процедуру по шагам. Создадим простую конфигурацию 1С, а для выдачи лицензий на работу с ней  будем использовать демо-доступ к личному кабинету. Адрес, логин и пароль высылаются на электронную почту после регистрации.
 +Для удобства также существует [[https://www.youtube.com/watch?v=lVnr4Y0RjmE|видеоинструкция на Youtube]]
  
 ===== Обзор демонстрационной базы ===== ===== Обзор демонстрационной базы =====
Строка 73: Строка 74:
  
 Настроим **инструмент защиты** конфигураций **МИКО_ЗащитаКонфигураций** (ссылка в электронном письме). Настроим **инструмент защиты** конфигураций **МИКО_ЗащитаКонфигураций** (ссылка в электронном письме).
-  - Создайте новую информационную базу, откройте ее в конфигураторе, загрузите конфигурацию из файла "МИКО_ЗащитаКонифгураций_v1.0.8", запустите в режиме 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С. Сперва нужно перенести в конфигурацию объекты системы лицензирования.
-  - Откройте в конфигураторе защищаемую конфигурацию. Выполните "**Конфигурация**" -> "**Сравнить и объединить с конфигурацией из файла**", выберите файл "МИКО_ЗащитаКонифгураций_v1.0.8".+ 
 +  - Откройте в конфигураторе защищаемую конфигурацию, которую вы создали на этапе "Обзор демонстрационной базы". Выполните "**Конфигурация**" -> "**Сравнить и объединить с конфигурацией из файла**", выберите файл "МИКО_ЗащитаКонфигураций.cf".
   - Перенесите объекты (общие модули, макеты, формы) подсистемы "МИКО_СистемаЛицензирования" в защищаемую конфигурацию. Для этого в окне основной конфигурации снимите флажок с корневого элемента, затем выполните "**Действия**" -> "**Отметить по подсистемам файла**". Установите флажок только у подсистемы "МИКО_СистемаЛицензирования". Выполните "**Установить**" -> "**Выполнить**". От сохранения настроек объединения конфигураций в xml-файл откажитесь.    - Перенесите объекты (общие модули, макеты, формы) подсистемы "МИКО_СистемаЛицензирования" в защищаемую конфигурацию. Для этого в окне основной конфигурации снимите флажок с корневого элемента, затем выполните "**Действия**" -> "**Отметить по подсистемам файла**". Установите флажок только у подсистемы "МИКО_СистемаЛицензирования". Выполните "**Установить**" -> "**Выполнить**". От сохранения настроек объединения конфигураций в xml-файл откажитесь. 
 {{ :stepbystep:obedinenie_konfigaraciy.png?nolink |}} {{ :stepbystep:obedinenie_konfigaraciy.png?nolink |}}
Строка 89: Строка 90:
  ОписаниеПродукта = Новый Структура;  ОписаниеПродукта = Новый Структура;
  ОписаниеПродукта.Вставить("Наименование",                    "Кошкин дом");  ОписаниеПродукта.Вставить("Наименование",                    "Кошкин дом");
- ОписаниеПродукта.Вставить("ИдентификаторКонфигурации",       "9cf50201-976d-11e6-810f-0050568123f9");+ ОписаниеПродукта.Вставить("ИдентификаторКонфигурации",       "b7ce16d5-e39f-11eb-bb18-005056882bf6");
  ОписаниеПродукта.Вставить("ПрефиксКлюч",                     "DEMO");  ОписаниеПродукта.Вставить("ПрефиксКлюч",                     "DEMO");
- ОписаниеПродукта.Вставить("ИдентификаторФичи",               "1"); + ОписаниеПродукта.Вставить("ИдентификаторФичи",               "13"); 
- ОписаниеПродукта.Вставить("ИдентификаторТриальногоПродукта", "25");+ ОписаниеПродукта.Вставить("ИдентификаторТриальногоПродукта", "74");
   
  Продукты.Добавить(ОписаниеПродукта);  Продукты.Добавить(ОписаниеПродукта);
   
 КонецПроцедуры</sxh> КонецПроцедуры</sxh>
-  - В этом же модуле нужно указать местоположение макетов внешних компонент. В данном примере компоненты подключаются к демо-серверу лицензирования. Для подключения к собственным серверам требуются персонализированные под разработчика компоненты, получить их можно по запросу у фирмы [[http://protect.miko.ru|"МИКО"]]. В данном демонстрационном примере выполните следующее: в дереве объектов конфигурации в группе "Общие макеты" загрузите в макеты "МИКО_КомпонентЗакрытогоМодуля_DEMO" и "МИКО_КомпонентРегистрацииПродукта_DEMO" компонент "МИКО_КомпонентЗакрытогоМодуля_DEMO.zip", который вы можете взять [[http://files.miko.ru/public.php?service=files&t=5ef0ae204e786bfcda57270e447a5acd|из комплекта для защиты расширений конфигурации]] <sxh>Процедура ПриИнициализацииЗакрытогоМодуля(ПрефиксКлюч, МестоположениеКомпонента) Экспорт+  - В этом же модуле нужно указать местоположение макетов внешних компонент. В данном примере компоненты подключаются к демо-серверу лицензирования. Для подключения к собственным серверам требуются персонализированные под разработчика компоненты, получить их можно по запросу у фирмы [[http://protect.miko.ru|"МИКО"]]. В данном демонстрационном примере выполните следующее: в дереве объектов конфигурации в группе "**Общие макеты**" загрузите в макет "**МИКО_КомпонентЗакрытогоМодуля_DEMO**" компонент "**МИКО_КомпонентЗакрытогоМодуля_DEMO.zip**", который выслан вам в письмеАрхив не распаковывайте. <sxh>Процедура ПриИнициализацииЗакрытогоМодуля(ПрефиксКлюч, МестоположениеКомпонента) Экспорт
   
  Если ПрефиксКлюч = "DEMO" Тогда  Если ПрефиксКлюч = "DEMO" Тогда
Строка 108: Строка 109:
   
  Если ПрефиксКлюч = "DEMO" Тогда  Если ПрефиксКлюч = "DEMO" Тогда
- МестоположениеКомпонента = "ОбщийМакет.МИКО_КомпонентРегистрацииПродукта_DEMO";+ МестоположениеКомпонента = "ОбщийМакет.МИКО_КомпонентЗакрытогоМодуля_DEMO";
  КонецЕсли;  КонецЕсли;
   
-КонецПроцедуры</sxh> +КонецПроцедуры 
-  - Для работы закрытого модуля потребуется лицензионный ключ. Система будет периодически запрашивать ключ, а также может выдать новый при регистрации продукта. В процедурах "ПриЧтенииЛицензионногоКлюча", "ПриЗаписиЛицензионногоКлюча" переменную "ИдентификаторКонфигурации" также поменяйте на полученный вами ранее идентификатор конфигурации. <sxh>Процедура ПриЧтенииЛицензионногоКлюча(ИдентификаторКонфигурации, ЛицензионныйКлюч) Экспорт+</sxh> 
 +  - Для работы закрытого модуля потребуется лицензионный ключ. Система будет периодически запрашивать ключ, а также может выдать новый при регистрации продукта. В процедурах "ПриЧтенииЛицензионногоКлюча", "ПриЗаписиЛицензионногоКлюча" переменную "ИдентификаторКонфигурации" также поменяйте на ваш идентификатор конфигурации. <sxh>Процедура ПриЧтенииЛицензионногоКлюча(ИдентификаторКонфигурации, ЛицензионныйКлюч) Экспорт
   
- Если ИдентификаторКонфигурации= "9cf50201-976d-11e6-810f-0050568123f9" Тогда + Если ИдентификаторКонфигурации= "b7ce16d5-e39f-11eb-bb18-005056882bf6" Тогда 
- ЛицензионныйКлюч = Константы.КошкинДомЛицензионныйКлюч.Получить();+ ЛицензионныйКлюч = Константы.КотыЛицензионныйКлюч.Получить();
  КонецЕсли;  КонецЕсли;
   
Строка 122: Строка 124:
 Процедура ПриЗаписиЛицензионногоКлюча(ИдентификаторКонфигурации, ЛицензионныйКлюч) Экспорт Процедура ПриЗаписиЛицензионногоКлюча(ИдентификаторКонфигурации, ЛицензионныйКлюч) Экспорт
   
- Если ИдентификаторКонфигурации= "9cf50201-976d-11e6-810f-0050568123f9" Тогда + Если ИдентификаторКонфигурации= "b7ce16d5-e39f-11eb-bb18-005056882bf6" Тогда 
- Константы.КошкинДомЛицензионныйКлюч.Установить(ЛицензионныйКлюч);+ Константы.КотыЛицензионныйКлюч.Установить(ЛицензионныйКлюч);
  КонецЕсли;  КонецЕсли;
   
 КонецПроцедуры</sxh> КонецПроцедуры</sxh>
-  - В дереве объектов конфигурации в группе "Константы" создайте константу с именем "КотыЛицензионныйКлюч", типом трока", длиной 30, допустимая длина "Переменная"+  - Установите пароль на текст общего модуля "КотыСервер" (например: 123) командой главного меню "**Текст**" -> "**Установить пароль**". Вместо установки пароля вы можете использовать [[protect1c:postavka|механизм создания файла поставки]], при помощи которого вы исключите из поставки текст защищаемого модуля. Но это более долгий и трудоемкий процесс
   - Обновите конфигурацию базы данных.   - Обновите конфигурацию базы данных.
-  - Выполните "**Конфигурация**" -> "**Поставка конфигурации**" -> "**Настройка поставки**". В открывшемся окне в поле "Объект" выделите общий модуль "КотыСервер". Для данного модуля в поле "Поставка модулей объекта" двойным кликом вызовите "Настройка правил поставщика и текстов модулей". В открывшемся окне снимите флажок "Включать в поставку исходный текст модулей объекта". Нажмите "Ок". Тем самым мы исключили из файла поставки текст общего модуля "КотыСервер". {{ :stepbystep:postavka.png?nolink |}}   +  - Сохраните конфигурацию в файл "**КошкинДом.cf**"
-  - Сохраните и обновите конфигурацию базы данных. Далее в этой конфигурации будем создавать файл поставки. +   
- +===== Дальнейшая настройка в инструменте защиты =====
-====== Создание и настройка файла поставки ====== +
- +
-  -  Выполните "**Конфигурация**" -> "**Поставка конфигурации**" -> "**Создать файлы поставки и обновления конфигурации**". Снимите флажок напротив "Создать файл обновления конфигурации". Нажмите кнопку "Каталог файлов поставки" и укажите каталог   H:\tmp\КошкинДом\Поставка\1.0\КошкинДомПоставка.cf. Нажмите "Выполнить"+
-  - Закройте конфигуратор. +
-  - Создайте новую информационную базу "ИзменениеПоставки", откройте ее в конфигураторе, и загрузите конфигурацию из файла поставки "КошкинДомПоставка.cf"+
-  - Выполните "**Конфигурация**" -> "**Поддержка**" -> "**Настройка поддержки**". В появившемся окне нажмите кнопку "Включить возможность изменения". Установите настройку правил поддержки в соответствии с картинкой. {{ :stepbystep:nastroyka_pravil_podderjki.png?nolink |}} +
-  - Нажмите "Ок". У корневого элемента дерева объектов конфигурации сменится пиктограмма. {{ :stepbystep:postavka_izmenenie_znachka.png?nolink |}} +
-  - Сохраните и обновите конфигурацию базы данных. Сохраните конфигурацию в файл "КошкинДомПоставка.cf", заменив ее. +
-  - Итак файл поставки создан и настроен. Закройте конфигуратор. +
- +
-====== Дальнейшая настройка инструмента защиты ======+
  
 Вернемся к инструменту защиты конфигураций. Вернемся к инструменту защиты конфигураций.
-  - Создайте новый образ конфигурации. Укажите путь к файлу поставки "H:\tmp\КошкинДом\Поставка\1.0\КошкинДомПоставка.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**". Нажмите "Выполнить".
-  - Обновите конфигурацию информационной базы, загрузив ее из файла "КошкинДом.protect.cf".+
   - Убедитесь, что текст модуля "КотыСервер" стал недоступен.   - Убедитесь, что текст модуля "КотыСервер" стал недоступен.
   - Запустите информационную базу в режиме предприятия и попробуйте открыть один из элементов справочника "Котики". На экране будет сообщение об ошибке: "Для выполнения операции требуется лицензионный ключ". {{ :stepbystep:18-11-2016_10-36-47.png?nolink |}}   - Запустите информационную базу в режиме предприятия и попробуйте открыть один из элементов справочника "Котики". На экране будет сообщение об ошибке: "Для выполнения операции требуется лицензионный ключ". {{ :stepbystep:18-11-2016_10-36-47.png?nolink |}}
Строка 205: Строка 195:
   - Убедитесь, что элементы справочника "Котики" теперь открываются. При этом будет создана сессия с сервером лицензирования и произведен захват фичи, что можно проверить в разделе "Монитор сессий" личного кабинета разработчика (фильтр должен быть заполнен). {{ :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 |}}
stepbystep/protect1c.txt · Последнее изменение: 2024/01/23 15:06 — 127.0.0.1