разбор информации о лицензии с помощью соответствия
This commit is contained in:
parent
ba1d8d6ab2
commit
b849ece67d
@ -142,6 +142,51 @@
|
|||||||
ПолучитьСписокЛицензийНаСервере();
|
ПолучитьСписокЛицензийНаСервере();
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервереБезКонтекста
|
||||||
|
Функция Соответствие_РазборИнформацииОЛицензии()
|
||||||
|
Р = Новый Соответствие;
|
||||||
|
|
||||||
|
// англ
|
||||||
|
Р.Вставить("First name:", "Имя");
|
||||||
|
Р.Вставить("Middle name:", "Отчество");
|
||||||
|
Р.Вставить("Last name:", "Фамилия");
|
||||||
|
Р.Вставить("Email:", "Email");
|
||||||
|
Р.Вставить("Company:", "Компания");
|
||||||
|
Р.Вставить("Country:", "Страна");
|
||||||
|
Р.Вставить("ZIP code:", "Индекс");
|
||||||
|
Р.Вставить("Region:", "Регион");
|
||||||
|
Р.Вставить("Town:", "Город");
|
||||||
|
Р.Вставить("District:", "Район");
|
||||||
|
Р.Вставить("Building:", "Строение");
|
||||||
|
Р.Вставить("Apartment:", "Квартира");
|
||||||
|
Р.Вставить("Street:", "Улица");
|
||||||
|
Р.Вставить("House:", "Дом");
|
||||||
|
Р.Вставить("Description:", "Описание");
|
||||||
|
|
||||||
|
// рус
|
||||||
|
Р.Вставить("Имя:", "Имя");
|
||||||
|
Р.Вставить("Отчество:", "Отчество");
|
||||||
|
Р.Вставить("Фамилия:", "Фамилия");
|
||||||
|
Р.Вставить("e-mail:", "Email");
|
||||||
|
Р.Вставить("Компания:", "Компания");
|
||||||
|
Р.Вставить("Страна:", "Страна");
|
||||||
|
Р.Вставить("Индекс:", "Индекс");
|
||||||
|
Р.Вставить("Регион/область:", "Регион");
|
||||||
|
Р.Вставить("Район:", "Район");
|
||||||
|
Р.Вставить("Город:", "Город");
|
||||||
|
Р.Вставить("Улица:", "Улица");
|
||||||
|
Р.Вставить("Дом:", "Дом");
|
||||||
|
Р.Вставить("Описание:", "Описание");
|
||||||
|
|
||||||
|
// общ
|
||||||
|
Р.Вставить("License generation date:", "ДатаАктивации");
|
||||||
|
Р.Вставить("Distribution kit registration number:", "РегистрационныйНомер");
|
||||||
|
Р.Вставить("Product code:", "КодПродукта");
|
||||||
|
|
||||||
|
Возврат Новый ФиксированноеСоответствие(Р);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Функция ЗапросИнформацииОЛицезнии(ИмяЛицензии)
|
Функция ЗапросИнформацииОЛицезнии(ИмяЛицензии)
|
||||||
СтруктураОтвета = Новый Структура("Описание, Фамилия, Имя, Отчество, EMail, Компания, Страна, Индекс, Город, Регион, Район, Улица, Дом, Строение, Квартира, ДатаАктивации, РегистрационныйНомер, КодПродукта, ТекстоваяИнформация, КоличествоЛицензий");
|
СтруктураОтвета = Новый Структура("Описание, Фамилия, Имя, Отчество, EMail, Компания, Страна, Индекс, Город, Регион, Район, Улица, Дом, Строение, Квартира, ДатаАктивации, РегистрационныйНомер, КодПродукта, ТекстоваяИнформация, КоличествоЛицензий");
|
||||||
@ -156,64 +201,49 @@
|
|||||||
ВызватьИсключение "Ошибка чтения результата";
|
ВызватьИсключение "Ошибка чтения результата";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Реквизиты = Соответствие_РазборИнформацииОЛицензии();
|
||||||
|
|
||||||
|
РазобранныеРеквизиты = Новый Соответствие;
|
||||||
|
|
||||||
Текст = Новый ЧтениеТекста;
|
Текст = Новый ЧтениеТекста;
|
||||||
Текст.Открыть(ФайлОтвет, SPS_КодировкаФайлаОтвета());
|
Текст.Открыть(ФайлОтвет, SPS_КодировкаФайлаОтвета());
|
||||||
стр = "";
|
стр = "";
|
||||||
Пока стр <> Неопределено Цикл
|
Пока стр <> Неопределено Цикл
|
||||||
стр = Текст.ПрочитатьСтроку();
|
стр = Текст.ПрочитатьСтроку();
|
||||||
Если СтрНайти(стр, "First name:") > 0 Тогда
|
|
||||||
СтруктураОтвета.Имя = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "First name:") - СтрДлина("First name:"));
|
ДлинаСтроки = СтрДлина(стр);
|
||||||
ИначеЕсли СтрНайти(стр, "Middle name:") > 0 Тогда
|
|
||||||
СтруктураОтвета.Отчество = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Middle name:") - СтрДлина(
|
Для Каждого ТекРеквизит Из Реквизиты Цикл
|
||||||
"Middle name:"));
|
Если Не Неопределено = РазобранныеРеквизиты.Получить(ТекРеквизит.Ключ) Тогда
|
||||||
ИначеЕсли СтрНайти(стр, "Last name:") > 0 Тогда
|
Продолжить;
|
||||||
СтруктураОтвета.Фамилия = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Last name:") - СтрДлина("Last name:"));
|
КонецЕсли;
|
||||||
ИначеЕсли СтрНайти(стр, "Email:") > 0 Тогда
|
|
||||||
СтруктураОтвета.Email = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Email:") - СтрДлина("Email:"));
|
Позиция_ТекРеквизит = СтрНайти(стр, ТекРеквизит.Ключ);
|
||||||
ИначеЕсли СтрНайти(стр, "Company:") > 0 Тогда
|
Если 0 = Позиция_ТекРеквизит Тогда
|
||||||
СтруктураОтвета.Компания = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Company:") - СтрДлина("Company:"));
|
Продолжить;
|
||||||
ИначеЕсли СтрНайти(стр, "Country:") > 0 Тогда
|
КонецЕсли;
|
||||||
СтруктураОтвета.Страна = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Country:") - СтрДлина("Country:"));
|
|
||||||
ИначеЕсли СтрНайти(стр, "ZIP code:") > 0 Тогда
|
СтруктураОтвета[ТекРеквизит.Значение] = Прав(стр, ДлинаСтроки - Позиция_ТекРеквизит - СтрДлина(ТекРеквизит.Ключ));
|
||||||
СтруктураОтвета.Индекс = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "ZIP code:") - СтрДлина("ZIP code:"));
|
СтруктураОтвета[ТекРеквизит.Значение] = СокрЛП(СтруктураОтвета[ТекРеквизит.Значение]);
|
||||||
ИначеЕсли СтрНайти(стр, "Town:") > 0 Тогда
|
РазобранныеРеквизиты.Вставить(ТекРеквизит.Ключ, Истина);
|
||||||
СтруктураОтвета.Город = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Town:") - СтрДлина("Town:"));
|
|
||||||
ИначеЕсли СтрНайти(стр, "Region:") > 0 Тогда
|
Прервать;
|
||||||
СтруктураОтвета.Регион = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Region:") - СтрДлина("Region:"));
|
КонецЦикла;
|
||||||
ИначеЕсли СтрНайти(стр, "District:") > 0 Тогда
|
КонецЦикла;
|
||||||
СтруктураОтвета.Район = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "District:") - СтрДлина("District:"));
|
|
||||||
ИначеЕсли СтрНайти(стр, "Building:") > 0 Тогда
|
Позиция_РабМест = СтрНайти(СтруктураОтвета.Описание, " рабочих мест");
|
||||||
СтруктураОтвета.Строение = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Building:") - СтрДлина("Building:"));
|
Если Позиция_РабМест > 0 Тогда
|
||||||
ИначеЕсли СтрНайти(стр, "Apartment:") > 0 Тогда
|
тСтр = Лев(СтруктураОтвета.Описание, Позиция_РабМест);
|
||||||
СтруктураОтвета.Квартира = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Apartment:") - СтрДлина("Apartment:"));
|
|
||||||
ИначеЕсли СтрНайти(стр, "Street:") > 0 Тогда
|
|
||||||
СтруктураОтвета.Улица = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Street:") - СтрДлина("Street:"));
|
|
||||||
ИначеЕсли СтрНайти(стр, "House:") > 0 Тогда
|
|
||||||
СтруктураОтвета.Дом = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "House:") - СтрДлина("House:"));
|
|
||||||
ИначеЕсли СтрНайти(стр, "Description:") > 0 Тогда
|
|
||||||
СтруктураОтвета.Описание = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Description:") - СтрДлина(
|
|
||||||
"Description:"));
|
|
||||||
Если СтрНайти(стр, " рабочих мест") Тогда
|
|
||||||
тСтр = Лев(стр, СтрНайти(стр, " рабочих мест"));
|
|
||||||
мСтр = РазложитьСтрокуВМассивПодстрок(тСтр, " ");
|
мСтр = РазложитьСтрокуВМассивПодстрок(тСтр, " ");
|
||||||
СтруктураОтвета.КоличествоЛицензий = Число(мСтр[мСтр.Количество() - 1]);
|
СтруктураОтвета.КоличествоЛицензий = Число(мСтр[мСтр.Количество() - 1]);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ИначеЕсли СтрНайти(стр, "License generation date:") > 0 Тогда
|
|
||||||
СтруктураОтвета.ДатаАктивации = СтрокуВДату(Прав(стр, СтрДлина(стр) - СтрНайти(стр,
|
СтруктураОтвета.ДатаАктивации = СтрокуВДату(СтруктураОтвета.ДатаАктивации);
|
||||||
"License generation date:") - СтрДлина("License generation date:")));
|
|
||||||
ИначеЕсли СтрНайти(стр, "Distribution kit registration number:") > 0 Тогда
|
|
||||||
СтруктураОтвета.РегистрационныйНомер = Прав(стр, СтрДлина(стр) - СтрНайти(стр,
|
|
||||||
"Distribution kit registration number:") - СтрДлина("Distribution kit registration number:"));
|
|
||||||
ИначеЕсли СтрНайти(стр, "Product code:") > 0 Тогда
|
|
||||||
СтруктураОтвета.КодПродукта = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Product code:") - СтрДлина(
|
|
||||||
"Product code:"));
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЦикла;
|
|
||||||
Текст.Закрыть();
|
Текст.Закрыть();
|
||||||
УдалитьФайлы(ФайлОтвет);
|
УдалитьФайлы(ФайлОтвет);
|
||||||
УдалитьФайлы(ИмяВременногоФайлаCMD);
|
УдалитьФайлы(ИмяВременногоФайлаCMD);
|
||||||
Возврат СтруктураОтвета;
|
Возврат СтруктураОтвета;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
|
Loading…
Reference in New Issue
Block a user