параметры для активации пинкода через соответствие
This commit is contained in:
parent
f85ff1df02
commit
7dd339b37c
@ -6,7 +6,7 @@
|
|||||||
Попытка
|
Попытка
|
||||||
СтрокаДата = Прав(СтрокаДата, 10);
|
СтрокаДата = Прав(СтрокаДата, 10);
|
||||||
МассивДата = Новый Массив;
|
МассивДата = Новый Массив;
|
||||||
МассивДата = СтрРазделить(СтрокаДата, ".");
|
МассивДата = СтрРазделить(СтрокаДата, ".", Ложь);
|
||||||
Возврат Дата(Строка(МассивДата[2]) + Строка(МассивДата[1]) + Строка(МассивДата[0]));
|
Возврат Дата(Строка(МассивДата[2]) + Строка(МассивДата[1]) + Строка(МассивДата[0]));
|
||||||
Исключение
|
Исключение
|
||||||
Возврат Дата(1899, 12, 30);
|
Возврат Дата(1899, 12, 30);
|
||||||
@ -47,7 +47,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
мПинЛицензия = СтрРазделить(ПинЛицензия, "-");
|
мПинЛицензия = СтрРазделить(ПинЛицензия, "-", Ложь);
|
||||||
Если мПинЛицензия.Количество() < 2 Тогда
|
Если мПинЛицензия.Количество() < 2 Тогда
|
||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@ -108,11 +108,36 @@
|
|||||||
// общ
|
// общ
|
||||||
Р.Вставить("License generation date:", "ДатаАктивации");
|
Р.Вставить("License generation date:", "ДатаАктивации");
|
||||||
Р.Вставить("Distribution kit registration number:", "РегистрационныйНомер");
|
Р.Вставить("Distribution kit registration number:", "РегистрационныйНомер");
|
||||||
|
Р.Вставить("DistributionKitRegistrationNumber:", "РегистрационныйНомер");
|
||||||
Р.Вставить("Product code:", "КодПродукта");
|
Р.Вставить("Product code:", "КодПродукта");
|
||||||
|
Р.Вставить("ProductCode:", "КодПродукта");
|
||||||
|
|
||||||
Возврат Новый ФиксированноеСоответствие(Р);
|
Возврат Новый ФиксированноеСоответствие(Р);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервереБезКонтекста
|
||||||
|
Функция Соответсвие_АктивацияПинКода()
|
||||||
|
Р = Новый Соответствие;
|
||||||
|
Р.Вставить("Имя", "--first-name");
|
||||||
|
Р.Вставить("Отчество", "--middle-name");
|
||||||
|
Р.Вставить("Фамилия", "--last-name");
|
||||||
|
Р.Вставить("EMail", "--email");
|
||||||
|
Р.Вставить("Компания", "--company");
|
||||||
|
Р.Вставить("Страна", "--country");
|
||||||
|
Р.Вставить("Индекс", "--zip-code");
|
||||||
|
Р.Вставить("Город", "--town");
|
||||||
|
Р.Вставить("Регион", "--region");
|
||||||
|
Р.Вставить("Район", "--district");
|
||||||
|
Р.Вставить("Улица", "--street");
|
||||||
|
Р.Вставить("Дом", "--house");
|
||||||
|
Р.Вставить("Строение", "--building");
|
||||||
|
Р.Вставить("Квартира", "--apartment");
|
||||||
|
Р.Вставить("НомерЛицензии", "--serial");
|
||||||
|
Р.Вставить("НовыйПинКод", "--pin");
|
||||||
|
Р.Вставить("ПинКод", "--previous-pin");
|
||||||
|
Возврат Новый ФиксированноеСоответствие(Р);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Функция ЗапросИнформацииОЛицезнии(ИмяЛицензии)
|
Функция ЗапросИнформацииОЛицезнии(ИмяЛицензии)
|
||||||
СтруктураОтвета = Новый Структура("Описание, Фамилия, Имя, Отчество, EMail, Компания, Страна, Индекс, Город, Регион, Район, Улица, Дом, Строение, Квартира, ДатаАктивации, РегистрационныйНомер, КодПродукта, ТекстоваяИнформация, КоличествоЛицензий");
|
СтруктураОтвета = Новый Структура("Описание, Фамилия, Имя, Отчество, EMail, Компания, Страна, Индекс, Город, Регион, Район, Улица, Дом, Строение, Квартира, ДатаАктивации, РегистрационныйНомер, КодПродукта, ТекстоваяИнформация, КоличествоЛицензий");
|
||||||
@ -160,8 +185,8 @@
|
|||||||
Позиция_РабМест = СтрНайти(СтруктураОтвета.Описание, " рабочих мест");
|
Позиция_РабМест = СтрНайти(СтруктураОтвета.Описание, " рабочих мест");
|
||||||
Если Позиция_РабМест > 0 Тогда
|
Если Позиция_РабМест > 0 Тогда
|
||||||
тСтр = Лев(СтруктураОтвета.Описание, Позиция_РабМест);
|
тСтр = Лев(СтруктураОтвета.Описание, Позиция_РабМест);
|
||||||
мСтр = СтрРазделить(тСтр, " ");
|
мСтр = СтрРазделить(СокрЛП(тСтр), " ", Ложь);
|
||||||
СтруктураОтвета.КоличествоЛицензий = Число(мСтр[мСтр.Количество() - 1]);
|
СтруктураОтвета.КоличествоЛицензий = Число(СокрЛП(мСтр[мСтр.Количество() - 1]));
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
СтруктураОтвета.ДатаАктивации = СтрокуВДату(СтруктураОтвета.ДатаАктивации);
|
СтруктураОтвета.ДатаАктивации = СтрокуВДату(СтруктураОтвета.ДатаАктивации);
|
||||||
@ -240,31 +265,36 @@
|
|||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура ПовторнаяАктивацияЛицензииНаСервере(ПереданныеПараметры)
|
Процедура ПовторнаяАктивацияЛицензииНаСервере(ПереданныеПараметры)
|
||||||
СтруктураПараметров = Новый Структура(" НовыйПинКод,ПинКод, Описание, Фамилия, Имя, Отчество, EMail, Компания, Страна, Индекс, Город, Улица, Дом, ДатаАктивации, РегистрационныйНомер, КодПродукта, ТекстоваяИнформация, КоличествоЛицензий");
|
СтруктураПараметров = Новый Структура("НовыйПинКод, ПинКод, Описание, Фамилия, Имя, Отчество, EMail, Компания, Страна, Индекс, Город, Улица, Дом, ДатаАктивации, РегистрационныйНомер, КодПродукта, ТекстоваяИнформация, КоличествоЛицензий");
|
||||||
|
|
||||||
|
Кавычка = Символ(34);
|
||||||
|
|
||||||
|
Реквизиты = Соответсвие_АктивацияПинКода();
|
||||||
|
ОбязательныеРеквизиты = СтрРазделить("НомерЛицензии,ПинКод,НовыйПинКод", ",");
|
||||||
|
|
||||||
|
СтрокаПараметров = "";
|
||||||
|
Для Каждого ТекРеквизит Из Реквизиты Цикл
|
||||||
|
ЭтоОбязательный = Не Неопределено = ОбязательныеРеквизиты.Найти(ТекРеквизит.Ключ);
|
||||||
|
|
||||||
|
ЗначениеРеквизита = ПереданныеПараметры[ТекРеквизит.Ключ];
|
||||||
|
|
||||||
|
РеквизитЗаполнен = ЗначениеЗаполнено(ЗначениеРеквизита);
|
||||||
|
ВыводитьРеквизит = ЭтоОбязательный ИЛИ РеквизитЗаполнен;
|
||||||
|
|
||||||
|
Если НЕ ВыводитьРеквизит Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если НЕ ЭтоОбязательный Тогда
|
||||||
|
ЗначениеРеквизита = СтрШаблон("%1%2%1", Кавычка, ЗначениеРеквизита);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтрокаПараметров = СтрокаПараметров + СтрШаблон(" %1 %2", ТекРеквизит.Значение, ЗначениеРеквизита);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
ФайлОтвет = "";
|
ФайлОтвет = "";
|
||||||
ФайлОшибок = "";
|
ФайлОшибок = "";
|
||||||
ИмяВременногоФайлаCMD = SPS_СоздатьСистемныйСкрипт(
|
ИмяВременногоФайлаCMD = SPS_СоздатьСистемныйСкрипт(СтрШаблон("call ring license activate %1 --validate", СтрокаПараметров), ФайлОтвет, ФайлОшибок);
|
||||||
"call ring license activate" + ?(ЗначениеЗаполнено(
|
|
||||||
ПереданныеПараметры.Имя), " --first-name " + ПереданныеПараметры.Имя, "") + ?(ЗначениеЗаполнено(
|
|
||||||
ПереданныеПараметры.Отчество), " --middle-name " + ПереданныеПараметры.Отчество, "") + ?(ЗначениеЗаполнено(
|
|
||||||
ПереданныеПараметры.Фамилия), " --last-name " + ПереданныеПараметры.Фамилия, "") + ?(ЗначениеЗаполнено(
|
|
||||||
ПереданныеПараметры.EMail), " --email " + ПереданныеПараметры.EMail, "") + ?(ЗначениеЗаполнено(
|
|
||||||
ПереданныеПараметры.Компания), " --company " + Символ(34) + СтрЗаменить(ПереданныеПараметры.Компания, Символ(
|
|
||||||
34), "") + Символ(34), "") + ?(ЗначениеЗаполнено(ПереданныеПараметры.Страна), " --country " + Символ(34)
|
|
||||||
+ ПереданныеПараметры.Страна + Символ(34), "") + ?(ЗначениеЗаполнено(ПереданныеПараметры.Индекс),
|
|
||||||
" --zip-code " + ПереданныеПараметры.Индекс, "") + ?(ЗначениеЗаполнено(ПереданныеПараметры.Город), " --town "
|
|
||||||
+ Символ(34) + ПереданныеПараметры.Город + Символ(34), "") + ?(ЗначениеЗаполнено(ПереданныеПараметры.Регион),
|
|
||||||
" --region " + Символ(34) + ПереданныеПараметры.Регион + Символ(34), "") + ?(ЗначениеЗаполнено(
|
|
||||||
ПереданныеПараметры.Район), " --district " + Символ(34) + ПереданныеПараметры.Район + Символ(34), "") + ?(
|
|
||||||
ЗначениеЗаполнено(ПереданныеПараметры.Улица), " --street " + Символ(34) + ПереданныеПараметры.Улица + Символ(
|
|
||||||
34), "") + ?(ЗначениеЗаполнено(ПереданныеПараметры.Дом), " --house " + Символ(34) + ПереданныеПараметры.Дом
|
|
||||||
+ Символ(34), "") + ?(ЗначениеЗаполнено(ПереданныеПараметры.Строение), " --building " + Символ(34)
|
|
||||||
+ ПереданныеПараметры.Строение + Символ(34), "") + ?(ЗначениеЗаполнено(ПереданныеПараметры.Квартира),
|
|
||||||
" --apartment " + Символ(34) + ПереданныеПараметры.Квартира + Символ(34), "") + " --serial "
|
|
||||||
+ ПереданныеПараметры.НомерЛицензии + " --pin " + ПереданныеПараметры.НовыйПинКод + " --previous-pin "
|
|
||||||
+ ПереданныеПараметры.ПинКод + " --validate", ФайлОтвет, ФайлОшибок
|
|
||||||
);
|
|
||||||
SPS_ЗапуститьСистемныйСкрипт(ИмяВременногоФайлаCMD);
|
SPS_ЗапуститьСистемныйСкрипт(ИмяВременногоФайлаCMD);
|
||||||
|
|
||||||
SPS_ВыводФайлаОшибок(ФайлОшибок);
|
SPS_ВыводФайлаОшибок(ФайлОшибок);
|
||||||
|
@ -1,22 +1,56 @@
|
|||||||
&НаСервере
|
&НаСервереБезКонтекста
|
||||||
|
Функция Соответсвие_АктивацияПинКода()
|
||||||
|
Р = Новый Соответствие;
|
||||||
|
Р.Вставить("Имя", "--first-name");
|
||||||
|
Р.Вставить("Отчество", "--middle-name");
|
||||||
|
Р.Вставить("Фамилия", "--last-name");
|
||||||
|
Р.Вставить("EMail", "--email");
|
||||||
|
Р.Вставить("Компания", "--company");
|
||||||
|
Р.Вставить("Страна", "--country");
|
||||||
|
Р.Вставить("Индекс", "--zip-code");
|
||||||
|
Р.Вставить("Город", "--town");
|
||||||
|
Р.Вставить("Регион", "--region");
|
||||||
|
Р.Вставить("Район", "--district");
|
||||||
|
Р.Вставить("Улица", "--street");
|
||||||
|
Р.Вставить("Дом", "--house");
|
||||||
|
Р.Вставить("Строение", "--building");
|
||||||
|
Р.Вставить("Квартира", "--apartment");
|
||||||
|
Р.Вставить("НомерЛицензии", "--serial");
|
||||||
|
Р.Вставить("НовыйПинКод", "--pin");
|
||||||
|
Р.Вставить("ПинКод", "--previous-pin");
|
||||||
|
Возврат Новый ФиксированноеСоответствие(Р);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
Функция АктивироватьНаСервере()
|
Функция АктивироватьНаСервере()
|
||||||
|
Кавычка = Символ(34);
|
||||||
|
|
||||||
|
Реквизиты = Соответсвие_АктивацияПинКода();
|
||||||
|
ОбязательныеРеквизиты = СтрРазделить("НомерЛицензии,ПинКод,НовыйПинКод", ",");
|
||||||
|
|
||||||
|
СтрокаПараметров = "";
|
||||||
|
Для Каждого ТекРеквизит Из Реквизиты Цикл
|
||||||
|
ЭтоОбязательный = Не Неопределено = ОбязательныеРеквизиты.Найти(ТекРеквизит.Ключ);
|
||||||
|
|
||||||
|
ЗначениеРеквизита = ЭтаФорма[ТекРеквизит.Ключ];
|
||||||
|
|
||||||
|
РеквизитЗаполнен = ЗначениеЗаполнено(ЗначениеРеквизита);
|
||||||
|
ВыводитьРеквизит = ЭтоОбязательный ИЛИ РеквизитЗаполнен;
|
||||||
|
|
||||||
|
Если НЕ ВыводитьРеквизит Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если НЕ ЭтоОбязательный Тогда
|
||||||
|
ЗначениеРеквизита = СтрШаблон("%1%2%1", Кавычка, ЗначениеРеквизита);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СтрокаПараметров = СтрокаПараметров + СтрШаблон(" %1 %2", ТекРеквизит.Значение, ЗначениеРеквизита);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
ФайлОтвет = "";
|
ФайлОтвет = "";
|
||||||
ФайлОшибок = "";
|
ФайлОшибок = "";
|
||||||
ИмяВременногоФайлаCMD = SPS_СоздатьСистемныйСкрипт(
|
ИмяВременногоФайлаCMD = SPS_СоздатьСистемныйСкрипт(СтрШаблон("call ring license activate %1 --validate", СтрокаПараметров), ФайлОтвет, ФайлОшибок);
|
||||||
"call ring license activate" + ?(ЗначениеЗаполнено(Имя),
|
|
||||||
" --first-name " + Имя, "") + ?(ЗначениеЗаполнено(Отчество), " --middle-name " + Отчество, "") + ?(
|
|
||||||
ЗначениеЗаполнено(Фамилия), " --last-name " + Фамилия, "") + " --email " + EMail + ?(ЗначениеЗаполнено(
|
|
||||||
Компания), " --company " + Символ(34) + СтрЗаменить(Компания, Символ(34), "") + Символ(34), "") + " --country "
|
|
||||||
+ Символ(34) + Страна + Символ(34) + " --zip-code " + Индекс + " --town " + Символ(34) + Город + Символ(34) + ?(
|
|
||||||
ЗначениеЗаполнено(Регион), " --region " + Символ(34) + Регион + Символ(34), "") + ?(ЗначениеЗаполнено(Район),
|
|
||||||
" --district " + Символ(34) + Район + Символ(34), "") + ?(ЗначениеЗаполнено(Улица), " --street " + Символ(34)
|
|
||||||
+ Улица + Символ(34), "") + ?(ЗначениеЗаполнено(Дом), " --house " + Символ(34) + Дом + Символ(34), "") + ?(
|
|
||||||
ЗначениеЗаполнено(Строение), " --building " + Символ(34) + Строение + Символ(34), "") + ?(ЗначениеЗаполнено(
|
|
||||||
Квартира), " --apartment " + Символ(34) + Квартира + Символ(34), "") + " --serial " + НомерЛицензии + " --pin "
|
|
||||||
+ ПинКод + ?(ЗначениеЗаполнено(ПредыдущийПинКод), " --previous-pin " + ПредыдущийПинКод, "") + " --validate", ФайлОтвет, ФайлОшибок
|
|
||||||
);
|
|
||||||
SPS_ЗапуститьСистемныйСкрипт(ИмяВременногоФайлаCMD);
|
|
||||||
|
|
||||||
SPS_ВыводФайлаОшибок(ФайлОшибок);
|
SPS_ВыводФайлаОшибок(ФайлОшибок);
|
||||||
фФайлОтвет = Новый Файл(ФайлОтвет);
|
фФайлОтвет = Новый Файл(ФайлОтвет);
|
||||||
@ -86,10 +120,10 @@
|
|||||||
|
|
||||||
Если НЕ Это_Windows Тогда
|
Если НЕ Это_Windows Тогда
|
||||||
// добавление Шебанг
|
// добавление Шебанг
|
||||||
ТекстСкрипта.ЗаписатьСтроку("#!/bin/sh");
|
//ТекстСкрипта.ЗаписатьСтроку("#!/bin/sh");
|
||||||
ТекстСкрипта.ЗаписатьСтроку("");
|
//ТекстСкрипта.ЗаписатьСтроку("");
|
||||||
|
|
||||||
// исправление кодировки вывода (для парсинга)
|
// выбор языка вывода (для парсинга)
|
||||||
ТекстСкрипта.ЗаписатьСтроку("export LC_ALL=en_US.UTF8");
|
ТекстСкрипта.ЗаписатьСтроку("export LC_ALL=en_US.UTF8");
|
||||||
|
|
||||||
// избавляемся от call
|
// избавляемся от call
|
||||||
@ -110,9 +144,7 @@
|
|||||||
Это_Windows = SPS_ЭтоWindows();
|
Это_Windows = SPS_ЭтоWindows();
|
||||||
|
|
||||||
// добавляем интерпретатор чтобы запускать скрипт без "chmod +x"
|
// добавляем интерпретатор чтобы запускать скрипт без "chmod +x"
|
||||||
Если НЕ Это_Windows Тогда
|
ИмяФайлаСкрипта = СтрШаблон(?(Это_Windows, "cmd.exe /c %1", "/bin/sh %1"), ИмяФайлаСкрипта);
|
||||||
ИмяФайлаСкрипта = СтрШаблон("/bin/sh %1", ИмяФайлаСкрипта);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ЗапуститьПриложение(ИмяФайлаСкрипта, КаталогВременныхФайлов(), Истина);
|
ЗапуститьПриложение(ИмяФайлаСкрипта, КаталогВременныхФайлов(), Истина);
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
Loading…
Reference in New Issue
Block a user