stepbystep:protect1c
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
stepbystep:protect1c [2020/04/07 12:11] – внешнее изменение 127.0.0.1 | stepbystep:protect1c [2024/01/23 15:06] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 8: | Строка 8: | ||
Далее рассмотрим всю процедуру по шагам. Создадим простую конфигурацию 1С, а для выдачи лицензий на работу с ней | Далее рассмотрим всю процедуру по шагам. Создадим простую конфигурацию 1С, а для выдачи лицензий на работу с ней | ||
+ | < | ||
===== Обзор демонстрационной базы ===== | ===== Обзор демонстрационной базы ===== | ||
Строка 13: | Строка 14: | ||
Для примера будем использовать конфигурацию для учета домашних животных. | Для примера будем использовать конфигурацию для учета домашних животных. | ||
- Скачайте файл демонстрационной базы " | - Скачайте файл демонстрационной базы " | ||
- | - Создайте информационную базу из загрузите в нее копию из скаченнего файла.\\ Структура конфигурации имеет следующий вид. {{ : | + | - Создайте информационную базу из загрузите в нее копию из скачанного файла.\\ Структура конфигурации имеет следующий вид. {{ : |
- | - Откройте модуль формы элемента справочника " | + | - Откройте модуль формы элемента справочника " |
Функция ПолучитьСписокКличек(Пол) | Функция ПолучитьСписокКличек(Пол) | ||
Строка 37: | Строка 38: | ||
Элементы.Кличка.СписокВыбора.ЗагрузитьЗначения(КличкиКотов); | Элементы.Кличка.СписокВыбора.ЗагрузитьЗначения(КличкиКотов); | ||
- | КонецПроцедуры</ | + | КонецПроцедуры</ |
- | - Перейдите к модулю " | + | - Перейдите к модулю " |
Запрос = Новый Запрос; | Запрос = Новый Запрос; | ||
Строка 56: | Строка 57: | ||
Возврат МассивКличек; | Возврат МассивКличек; | ||
- | КонецФункции</ | + | КонецФункции</ |
===== Регистрация продукта в личном кабинете ===== | ===== Регистрация продукта в личном кабинете ===== | ||
- | <note tip> | + | <note tip> |
**Продукт** - это минимально допустимый набор функциональных опций, который мы предлагаем клиенту как готовое решение. Продукт может состоять как из одной так и из нескольких фич, в зависимости от сложности лицензируемого решения.</ | **Продукт** - это минимально допустимый набор функциональных опций, который мы предлагаем клиенту как готовое решение. Продукт может состоять как из одной так и из нескольких фич, в зависимости от сложности лицензируемого решения.</ | ||
В данном примере не будем выделять отдельные функции конфигурации, | В данном примере не будем выделять отдельные функции конфигурации, | ||
Строка 72: | Строка 73: | ||
===== Встраивание подсистемы лицензирования ===== | ===== Встраивание подсистемы лицензирования ===== | ||
- | Настроим инструмент защиты конфигураций (ссылка в электронном письме). | + | Настроим |
- | - Укажите в настройках код поставщика (vendor code). Персональный код | + | - Создайте новую информационную базу, откройте ее в конфигураторе, загрузите |
+ | - В разделе " | ||
- Откройте список фич и добавьте новую, с тем же кодом и наименованием, | - Откройте список фич и добавьте новую, с тем же кодом и наименованием, | ||
- | - Создайте новую конфигурацию. Укажите имя конфигурации 1С и каталог файлов поставки | + | - Перейдите в раздел " |
- | - Сохраните изменения. Идентификатор продукта будет сформирован автоматически и понадобится позже. | + | {{ : |
Перейдем к защищаемой конфигурации 1С. Сперва нужно перенести в конфигурацию объекты системы лицензирования. | Перейдем к защищаемой конфигурации 1С. Сперва нужно перенести в конфигурацию объекты системы лицензирования. | ||
- | | + | |
- | - Перенесите объекты (общие модули, | + | |
+ | - Перенесите объекты (общие модули, | ||
+ | {{ : | ||
- Откройте общий модуль " | - Откройте общий модуль " | ||
- | - Заполнение тело процедуры " | + | - Заполнение тело процедуры " |
ОписаниеПродукта = Новый Структура; | ОписаниеПродукта = Новый Структура; | ||
ОписаниеПродукта.Вставить(" | ОписаниеПродукта.Вставить(" | ||
- | ОписаниеПродукта.Вставить(" | + | ОписаниеПродукта.Вставить(" |
ОписаниеПродукта.Вставить(" | ОписаниеПродукта.Вставить(" | ||
- | ОписаниеПродукта.Вставить(" | + | ОписаниеПродукта.Вставить(" |
- | ОписаниеПродукта.Вставить(" | + | ОписаниеПродукта.Вставить(" |
Продукты.Добавить(ОписаниеПродукта); | Продукты.Добавить(ОписаниеПродукта); | ||
- | КонецПроцедуры</ | + | КонецПроцедуры</ |
- | - В этом же модуле нужно указать местоположение макетов внешних компонент. В данном примере компоненты подключаются к демо-серверу лицензирования. Для подключения к собственным серверам требуются персонализированные под разработчика компоненты, | + | - В этом же модуле нужно указать местоположение макетов внешних компонент. В данном примере компоненты подключаются к демо-серверу лицензирования. Для подключения к собственным серверам требуются персонализированные под разработчика компоненты, |
- | Процедура ПриИнициализацииЗакрытогоМодуля(ПрефиксКлюч, | + | |
Если ПрефиксКлюч = " | Если ПрефиксКлюч = " | ||
Строка 105: | Строка 109: | ||
Если ПрефиксКлюч = " | Если ПрефиксКлюч = " | ||
- | МестоположениеКомпонента = " | + | МестоположениеКомпонента = " |
КонецЕсли; | КонецЕсли; | ||
- | КонецПроцедуры</ | + | КонецПроцедуры |
- | - Для работы закрытого модуля потребуется лицензионный ключ. Система будет периодически запрашивать ключ, а также может выдать новый при регистрации продукта.< | + | </sxh> |
+ | - Для работы закрытого модуля потребуется лицензионный ключ. Система будет периодически запрашивать ключ, а также может выдать новый при регистрации продукта. В процедурах " | ||
- | Если ИдентификаторКонфигурации= "9cf50201-976d-11e6-810f-0050568123f9" Тогда | + | Если ИдентификаторКонфигурации= "b7ce16d5-e39f-11eb-bb18-005056882bf6" Тогда |
- | ЛицензионныйКлюч = Константы.КошкинДомЛицензионныйКлюч.Получить(); | + | ЛицензионныйКлюч = Константы.КотыЛицензионныйКлюч.Получить(); |
КонецЕсли; | КонецЕсли; | ||
Строка 119: | Строка 124: | ||
Процедура ПриЗаписиЛицензионногоКлюча(ИдентификаторКонфигурации, | Процедура ПриЗаписиЛицензионногоКлюча(ИдентификаторКонфигурации, | ||
- | Если ИдентификаторКонфигурации= "9cf50201-976d-11e6-810f-0050568123f9" Тогда | + | Если ИдентификаторКонфигурации= "b7ce16d5-e39f-11eb-bb18-005056882bf6" Тогда |
- | Константы.КошкинДомЛицензионныйКлюч.Установить(ЛицензионныйКлюч); | + | Константы.КотыЛицензионныйКлюч.Установить(ЛицензионныйКлюч); |
КонецЕсли; | КонецЕсли; | ||
- | КонецПроцедуры</ | + | КонецПроцедуры</ |
+ | - Установите пароль на текст общего модуля " | ||
- Обновите конфигурацию базы данных. | - Обновите конфигурацию базы данных. | ||
- | - Настройте поставку | + | - Сохраните конфигурацию в файл "**КошкинДом.cf**" |
- | | + | |
+ | ===== Дальнейшая настройка в инструменте защиты ===== | ||
Вернемся к инструменту защиты конфигураций. | Вернемся к инструменту защиты конфигураций. | ||
- | - Создайте новый образ конфигурации. Укажите путь к файлу конфигурации "H: | + | - Создайте новый образ конфигурации. Укажите путь к файлу |
- | - Откройте образ конфигурации. В нем будет указан один программный модуль - КотыСервер.{{ : | + | - Откройте образ конфигурации. В нем будет указан один программный модуль - КотыСервер. {{ : |
- | - Откройте модуль " | + | - Откройте модуль " |
- Сохраните изменения и вернитесь на начальную страницу. | - Сохраните изменения и вернитесь на начальную страницу. | ||
- | - В журнале поставок напротив образа конфигурации нажмите на гиперссылку " | + | - В журнале поставок напротив образа конфигурации нажмите на гиперссылку " |
===== Проверка результатов ===== | ===== Проверка результатов ===== | ||
После выполнения всех этапов осталось проверить полученные результаты. | После выполнения всех этапов осталось проверить полученные результаты. | ||
- | - Создайте новую информационную базу и загрузите в нее | + | - Создайте новую информационную базу и загрузите в нее базу из файла |
- | - Обновите | + | - Выполните |
- Убедитесь, | - Убедитесь, | ||
- Запустите информационную базу в режиме предприятия и попробуйте открыть один из элементов справочника " | - Запустите информационную базу в режиме предприятия и попробуйте открыть один из элементов справочника " | ||
Чтобы пользователь мог получить лицензионный ключ потребуется добавить форму регистрации. | Чтобы пользователь мог получить лицензионный ключ потребуется добавить форму регистрации. | ||
- | - Откройте модуль управляемого приложения и добавьте в него код следующего содержания: | + | - Откройте модуль управляемого приложения и добавьте в него код следующего содержания: |
Процедура ПриНачалеРаботыСистемы() | Процедура ПриНачалеРаботыСистемы() | ||
Строка 182: | Строка 189: | ||
МИКО_Лицензирование.ЗавершитьРаботу(НаименованиеКонфигурации); | МИКО_Лицензирование.ЗавершитьРаботу(НаименованиеКонфигурации); | ||
- | КонецПроцедуры</ | + | КонецПроцедуры</ |
- Обновите и запустите информационную базу. При первом запуске появится окно регистрации продукта. {{ : | - Обновите и запустите информационную базу. При первом запуске появится окно регистрации продукта. {{ : | ||
- Нажмите кнопку " | - Нажмите кнопку " | ||
Строка 188: | Строка 195: | ||
- Убедитесь, | - Убедитесь, | ||
- Завершите работу с программой 1С. Фича будет освобождена, | - Завершите работу с программой 1С. Фича будет освобождена, | ||
+ | |||
+ | ===== Примечание ===== | ||
+ | В ваших конфигурациях модули, | ||
+ | {{ : | ||
+ | |||
+ | В защищаемых вами модулях должны быть какие-либо строковые литералы. Например | ||
+ | |||
+ | {{ : |
stepbystep/protect1c.1586250710.txt.gz · Последнее изменение: 2024/01/23 15:06 (внешнее изменение)