initial commit
This commit is contained in:
commit
ba1d8d6ab2
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/*.e[rp]f
|
1077
src/ИнформацияОЛицензиях1С.xml
Normal file
1077
src/ИнформацияОЛицензиях1С.xml
Normal file
File diff suppressed because it is too large
Load Diff
22
src/ИнформацияОЛицензиях1С/Forms/Форма.xml
Normal file
22
src/ИнформацияОЛицензиях1С/Forms/Форма.xml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.14">
|
||||||
|
<Form uuid="ba8d10e7-eeb5-480c-82b0-b1a35bacd73a">
|
||||||
|
<Properties>
|
||||||
|
<Name>Форма</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Форма</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<FormType>Managed</FormType>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
<ExtendedPresentation/>
|
||||||
|
</Properties>
|
||||||
|
</Form>
|
||||||
|
</MetaDataObject>
|
470
src/ИнформацияОЛицензиях1С/Forms/Форма/Ext/Form.xml
Normal file
470
src/ИнформацияОЛицензиях1С/Forms/Форма/Ext/Form.xml
Normal file
@ -0,0 +1,470 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.14">
|
||||||
|
<Group>AlwaysHorizontal</Group>
|
||||||
|
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
|
||||||
|
<ChildItems>
|
||||||
|
<Button name="ПолучитьСписокЛицензий" id="71">
|
||||||
|
<Type>CommandBarButton</Type>
|
||||||
|
<CommandName>Form.Command.ПолучитьСписокЛицензий</CommandName>
|
||||||
|
<ExtendedTooltip name="ПолучитьСписокЛицензийРасширеннаяПодсказка" id="72"/>
|
||||||
|
</Button>
|
||||||
|
<Button name="ПолучитьПолнуюИнформациюОЛицензии" id="73">
|
||||||
|
<Type>CommandBarButton</Type>
|
||||||
|
<CommandName>Form.Command.ПолучитьПолнуюИнформациюОЛицензии</CommandName>
|
||||||
|
<ExtendedTooltip name="ПолучитьПолнуюИнформациюОЛицензииРасширеннаяПодсказка" id="74"/>
|
||||||
|
</Button>
|
||||||
|
<Button name="ПроверкаВалидностиЛицензий" id="75">
|
||||||
|
<Type>CommandBarButton</Type>
|
||||||
|
<CommandName>Form.Command.ПроверкаВалидностиЛицензий</CommandName>
|
||||||
|
<ExtendedTooltip name="ПроверкаВалидностиЛицензийРасширеннаяПодсказка" id="76"/>
|
||||||
|
</Button>
|
||||||
|
<Button name="ФормаАктивироватьЛицензию" id="159">
|
||||||
|
<Type>CommandBarButton</Type>
|
||||||
|
<CommandName>Form.Command.АктивироватьЛицензию</CommandName>
|
||||||
|
<ExtendedTooltip name="ФормаАктивироватьЛицензиюРасширеннаяПодсказка" id="160"/>
|
||||||
|
</Button>
|
||||||
|
</ChildItems>
|
||||||
|
</AutoCommandBar>
|
||||||
|
<Events>
|
||||||
|
<Event name="OnOpen">ПриОткрытии</Event>
|
||||||
|
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||||
|
</Events>
|
||||||
|
<ChildItems>
|
||||||
|
<Table name="СписокЛицензий" id="1">
|
||||||
|
<Representation>List</Representation>
|
||||||
|
<AutoInsertNewRow>true</AutoInsertNewRow>
|
||||||
|
<EnableStartDrag>true</EnableStartDrag>
|
||||||
|
<EnableDrag>true</EnableDrag>
|
||||||
|
<FileDragMode>AsFile</FileDragMode>
|
||||||
|
<DataPath>Объект.СписокЛицензий</DataPath>
|
||||||
|
<CommandSet>
|
||||||
|
<ExcludedCommand>Change</ExcludedCommand>
|
||||||
|
<ExcludedCommand>Copy</ExcludedCommand>
|
||||||
|
<ExcludedCommand>Delete</ExcludedCommand>
|
||||||
|
</CommandSet>
|
||||||
|
<RowFilter xsi:nil="true"/>
|
||||||
|
<ContextMenu name="СписокЛицензийКонтекстноеМеню" id="2"/>
|
||||||
|
<AutoCommandBar name="СписокЛицензийКоманднаяПанель" id="3">
|
||||||
|
<ChildItems>
|
||||||
|
<Button name="СписокЛицензийПовторнаяАктивацияЛицензии" id="153">
|
||||||
|
<Type>CommandBarButton</Type>
|
||||||
|
<CommandName>Form.Command.ПовторнаяАктивацияЛицензии</CommandName>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийПовторнаяАктивацияЛицензииРасширеннаяПодсказка" id="154"/>
|
||||||
|
</Button>
|
||||||
|
<Button name="СписокЛицензийУдалитьЛицензию" id="155">
|
||||||
|
<Type>CommandBarButton</Type>
|
||||||
|
<CommandName>Form.Command.УдалитьЛицензию</CommandName>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийУдалитьЛицензиюРасширеннаяПодсказка" id="156"/>
|
||||||
|
</Button>
|
||||||
|
</ChildItems>
|
||||||
|
</AutoCommandBar>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийРасширеннаяПодсказка" id="4"/>
|
||||||
|
<SearchStringAddition name="СписокЛицензийСтрокаПоиска" id="5">
|
||||||
|
<AdditionSource>
|
||||||
|
<Item>СписокЛицензий</Item>
|
||||||
|
<Type>SearchStringRepresentation</Type>
|
||||||
|
</AdditionSource>
|
||||||
|
<ContextMenu name="СписокЛицензийСтрокаПоискаКонтекстноеМеню" id="6"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийСтрокаПоискаРасширеннаяПодсказка" id="7"/>
|
||||||
|
</SearchStringAddition>
|
||||||
|
<ViewStatusAddition name="СписокЛицензийСостояниеПросмотра" id="8">
|
||||||
|
<AdditionSource>
|
||||||
|
<Item>СписокЛицензий</Item>
|
||||||
|
<Type>ViewStatusRepresentation</Type>
|
||||||
|
</AdditionSource>
|
||||||
|
<HorizontalLocation>Left</HorizontalLocation>
|
||||||
|
<ContextMenu name="СписокЛицензийСостояниеПросмотраКонтекстноеМеню" id="9"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийСостояниеПросмотраРасширеннаяПодсказка" id="10"/>
|
||||||
|
</ViewStatusAddition>
|
||||||
|
<SearchControlAddition name="СписокЛицензийУправлениеПоиском" id="11">
|
||||||
|
<AdditionSource>
|
||||||
|
<Item>СписокЛицензий</Item>
|
||||||
|
<Type>SearchControl</Type>
|
||||||
|
</AdditionSource>
|
||||||
|
<ContextMenu name="СписокЛицензийУправлениеПоискомКонтекстноеМеню" id="12"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийУправлениеПоискомРасширеннаяПодсказка" id="13"/>
|
||||||
|
</SearchControlAddition>
|
||||||
|
<Events>
|
||||||
|
<Event name="BeforeAddRow">СписокЛицензийПередНачаломДобавления</Event>
|
||||||
|
<Event name="OnActivateRow">СписокЛицензийПриАктивизацииСтроки</Event>
|
||||||
|
</Events>
|
||||||
|
<ChildItems>
|
||||||
|
<LabelField name="СписокЛицензийНомерСтроки" id="14">
|
||||||
|
<DataPath>Объект.СписокЛицензий.LineNumber</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ContextMenu name="СписокЛицензийНомерСтрокиКонтекстноеМеню" id="15"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийНомерСтрокиРасширеннаяПодсказка" id="16"/>
|
||||||
|
</LabelField>
|
||||||
|
<InputField name="СписокЛицензийНомерЛицензии" id="17">
|
||||||
|
<DataPath>Объект.СписокЛицензий.НомерЛицензии</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ContextMenu name="СписокЛицензийНомерЛицензииКонтекстноеМеню" id="18"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийНомерЛицензииРасширеннаяПодсказка" id="19"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийОписание" id="20">
|
||||||
|
<DataPath>Объект.СписокЛицензий.Описание</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ContextMenu name="СписокЛицензийОписаниеКонтекстноеМеню" id="21"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийОписаниеРасширеннаяПодсказка" id="22"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийКоличествоЛицензий" id="80">
|
||||||
|
<DataPath>Объект.СписокЛицензий.КоличествоЛицензий</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ContextMenu name="СписокЛицензийКоличествоЛицензийКонтекстноеМеню" id="81"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийКоличествоЛицензийРасширеннаяПодсказка" id="82"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийПинКод" id="23">
|
||||||
|
<DataPath>Объект.СписокЛицензий.ПинКод</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ContextMenu name="СписокЛицензийПинКодКонтекстноеМеню" id="24"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийПинКодРасширеннаяПодсказка" id="25"/>
|
||||||
|
</InputField>
|
||||||
|
<CheckBoxField name="СписокЛицензийАктивна" id="77">
|
||||||
|
<DataPath>Объект.СписокЛицензий.Активна</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<CheckBoxType>Auto</CheckBoxType>
|
||||||
|
<ContextMenu name="СписокЛицензийАктивнаКонтекстноеМеню" id="78"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийАктивнаРасширеннаяПодсказка" id="79"/>
|
||||||
|
</CheckBoxField>
|
||||||
|
<InputField name="СписокЛицензийДатаАктивации" id="56">
|
||||||
|
<DataPath>Объект.СписокЛицензий.ДатаАктивации</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ContextMenu name="СписокЛицензийДатаАктивацииКонтекстноеМеню" id="57"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийДатаАктивацииРасширеннаяПодсказка" id="58"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийРегистрационныйНомер" id="59">
|
||||||
|
<DataPath>Объект.СписокЛицензий.РегистрационныйНомер</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ContextMenu name="СписокЛицензийРегистрационныйНомерКонтекстноеМеню" id="60"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийРегистрационныйНомерРасширеннаяПодсказка" id="61"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийКодПродукта" id="62">
|
||||||
|
<DataPath>Объект.СписокЛицензий.КодПродукта</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ContextMenu name="СписокЛицензийКодПродуктаКонтекстноеМеню" id="63"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийКодПродуктаРасширеннаяПодсказка" id="64"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийИмяФайлаЛицензии" id="65">
|
||||||
|
<DataPath>Объект.СписокЛицензий.ИмяФайлаЛицензии</DataPath>
|
||||||
|
<EditMode>EnterOnInput</EditMode>
|
||||||
|
<ContextMenu name="СписокЛицензийИмяФайлаЛицензииКонтекстноеМеню" id="66"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийИмяФайлаЛицензииРасширеннаяПодсказка" id="67"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
</Table>
|
||||||
|
<UsualGroup name="ГруппаПодробно" id="83">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Группа подробно</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Группа подробно</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<HorizontalStretch>true</HorizontalStretch>
|
||||||
|
<Behavior>Usual</Behavior>
|
||||||
|
<ShowTitle>false</ShowTitle>
|
||||||
|
<ExtendedTooltip name="ГруппаПодробноРасширеннаяПодсказка" id="84"/>
|
||||||
|
<ChildItems>
|
||||||
|
<Pages name="ГруппаСтраницыИнформация" id="115">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Группа страницы информация</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Группа страницы информация</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<PagesRepresentation>TabsOnTop</PagesRepresentation>
|
||||||
|
<ExtendedTooltip name="ГруппаСтраницыИнформацияРасширеннаяПодсказка" id="116"/>
|
||||||
|
<ChildItems>
|
||||||
|
<Page name="ГруппаИнфо" id="122">
|
||||||
|
<ReadOnly>true</ReadOnly>
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Информация</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Группа инфо</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<ExtendedTooltip name="ГруппаИнфоРасширеннаяПодсказка" id="123"/>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="СписокЛицензийОписание1" id="142">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Описание</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийОписание1КонтекстноеМеню" id="143"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийОписание1РасширеннаяПодсказка" id="144"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийКоличествоЛицензий1" id="124">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.КоличествоЛицензий</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийКоличествоЛицензий1КонтекстноеМеню" id="125"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийКоличествоЛицензий1РасширеннаяПодсказка" id="126"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийНомерЛицензии1" id="145">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.НомерЛицензии</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийНомерЛицензии1КонтекстноеМеню" id="146"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийНомерЛицензии1РасширеннаяПодсказка" id="147"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийПинКод1" id="139">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.ПинКод</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийПинКод1КонтекстноеМеню" id="140"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийПинКод1РасширеннаяПодсказка" id="141"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийКодПродукта1" id="133">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.КодПродукта</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийКодПродукта1КонтекстноеМеню" id="134"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийКодПродукта1РасширеннаяПодсказка" id="135"/>
|
||||||
|
</InputField>
|
||||||
|
<CheckBoxField name="СписокЛицензийАктивна1" id="127">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Активна</DataPath>
|
||||||
|
<CheckBoxType>Auto</CheckBoxType>
|
||||||
|
<ContextMenu name="СписокЛицензийАктивна1КонтекстноеМеню" id="128"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийАктивна1РасширеннаяПодсказка" id="129"/>
|
||||||
|
</CheckBoxField>
|
||||||
|
<InputField name="СписокЛицензийРегистрационныйНомер1" id="136">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.РегистрационныйНомер</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийРегистрационныйНомер1КонтекстноеМеню" id="137"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийРегистрационныйНомер1РасширеннаяПодсказка" id="138"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийИмяФайлаЛицензии1" id="130">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.ИмяФайлаЛицензии</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийИмяФайлаЛицензии1КонтекстноеМеню" id="131"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийИмяФайлаЛицензии1РасширеннаяПодсказка" id="132"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
</Page>
|
||||||
|
<Page name="ГруппаДанныеАктивации" id="117">
|
||||||
|
<ReadOnly>true</ReadOnly>
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Данные активации</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Группа данные активации</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<ExtendedTooltip name="ГруппаДанныеАктивацииРасширеннаяПодсказка" id="118"/>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="СписокЛицензийФамилия" id="85">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Фамилия</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийФамилияКонтекстноеМеню" id="86"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийФамилияРасширеннаяПодсказка" id="87"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийИмя" id="88">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Имя</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийИмяКонтекстноеМеню" id="89"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийИмяРасширеннаяПодсказка" id="90"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийОтчество" id="91">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Отчество</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийОтчествоКонтекстноеМеню" id="92"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийОтчествоРасширеннаяПодсказка" id="93"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийEMail" id="94">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.EMail</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийEMailКонтекстноеМеню" id="95"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийEMailРасширеннаяПодсказка" id="96"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийКомпания" id="97">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Компания</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийКомпанияКонтекстноеМеню" id="98"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийКомпанияРасширеннаяПодсказка" id="99"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийСтрана" id="100">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Страна</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийСтранаКонтекстноеМеню" id="101"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийСтранаРасширеннаяПодсказка" id="102"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийРегион" id="161">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Регион</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийРегионКонтекстноеМеню" id="162"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийРегионРасширеннаяПодсказка" id="163"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийИндекс" id="103">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Индекс</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийИндексКонтекстноеМеню" id="104"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийИндексРасширеннаяПодсказка" id="105"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийРайон" id="164">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Район</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийРайонКонтекстноеМеню" id="165"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийРайонРасширеннаяПодсказка" id="166"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийГород" id="106">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Город</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийГородКонтекстноеМеню" id="107"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийГородРасширеннаяПодсказка" id="108"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийУлица" id="109">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Улица</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийУлицаКонтекстноеМеню" id="110"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийУлицаРасширеннаяПодсказка" id="111"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийДом" id="112">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Дом</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийДомКонтекстноеМеню" id="113"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийДомРасширеннаяПодсказка" id="114"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийСтроение" id="170">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Строение</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийСтроениеКонтекстноеМеню" id="171"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийСтроениеРасширеннаяПодсказка" id="172"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийКвартира" id="167">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.Квартира</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийКвартираКонтекстноеМеню" id="168"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийКвартираРасширеннаяПодсказка" id="169"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="СписокЛицензийДатаАктивации1" id="119">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.ДатаАктивации</DataPath>
|
||||||
|
<ContextMenu name="СписокЛицензийДатаАктивации1КонтекстноеМеню" id="120"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийДатаАктивации1РасширеннаяПодсказка" id="121"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
</Page>
|
||||||
|
<Page name="ГруппаДругое" id="148">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Другое</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Группа другое</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<ExtendedTooltip name="ГруппаДругоеРасширеннаяПодсказка" id="149"/>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="СписокЛицензийТекстоваяИнформация" id="150">
|
||||||
|
<DataPath>Items.СписокЛицензий.CurrentData.ТекстоваяИнформация</DataPath>
|
||||||
|
<ReadOnly>true</ReadOnly>
|
||||||
|
<MultiLine>true</MultiLine>
|
||||||
|
<ContextMenu name="СписокЛицензийТекстоваяИнформацияКонтекстноеМеню" id="151"/>
|
||||||
|
<ExtendedTooltip name="СписокЛицензийТекстоваяИнформацияРасширеннаяПодсказка" id="152"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
</Page>
|
||||||
|
</ChildItems>
|
||||||
|
</Pages>
|
||||||
|
</ChildItems>
|
||||||
|
</UsualGroup>
|
||||||
|
</ChildItems>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute name="Объект" id="1">
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:ExternalDataProcessorObject.ИнформацияОЛицензиях1С</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<MainAttribute>true</MainAttribute>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
<Commands>
|
||||||
|
<Command name="ПолучитьСписокЛицензий" id="1">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Получить список лицензий</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Получить список лицензий</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<Action>ПолучитьСписокЛицензий</Action>
|
||||||
|
</Command>
|
||||||
|
<Command name="ПолучитьПолнуюИнформациюОЛицензии" id="2">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Получить полную информацию о лицензиях</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Получить полную информацию о лицензии</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<Action>ПолучитьПолнуюИнформациюОЛицензии</Action>
|
||||||
|
</Command>
|
||||||
|
<Command name="ПроверкаВалидностиЛицензий" id="3">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Проверка валидности лицензий</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Проверка валидности лицензий</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<Action>ПроверкаВалидностиЛицензий</Action>
|
||||||
|
</Command>
|
||||||
|
<Command name="ПовторнаяАктивацияЛицензии" id="4">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Повторная активация лицензии</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Повторная активация лицензии</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<Action>ПовторнаяАктивацияЛицензии</Action>
|
||||||
|
</Command>
|
||||||
|
<Command name="УдалитьЛицензию" id="5">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Удалить лицензию</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Удалить лицензию</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<Action>УдалитьЛицензию</Action>
|
||||||
|
</Command>
|
||||||
|
<Command name="АктивироватьЛицензию" id="6">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Активировать лицензию</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Активировать лицензию</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<Action>АктивироватьЛицензию</Action>
|
||||||
|
</Command>
|
||||||
|
</Commands>
|
||||||
|
</Form>
|
502
src/ИнформацияОЛицензиях1С/Forms/Форма/Ext/Form/Module.bsl
Normal file
502
src/ИнформацияОЛицензиях1С/Forms/Форма/Ext/Form/Module.bsl
Normal file
@ -0,0 +1,502 @@
|
|||||||
|
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||||
|
//УИ_ОбщегоНазначения.ФормаИнструментаПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция СтрокуВДату(СтрокаДата)
|
||||||
|
Попытка
|
||||||
|
СтрокаДата = Прав(СтрокаДата, 10);
|
||||||
|
МассивДата = Новый Массив;
|
||||||
|
МассивДата = РазложитьСтрокуВМассивПодстрок(СтрокаДата, ".");
|
||||||
|
Возврат Дата(Строка(МассивДата[2]) + Строка(МассивДата[1]) + Строка(МассивДата[0]));
|
||||||
|
Исключение
|
||||||
|
Возврат Дата(1899, 12, 30);
|
||||||
|
КонецПопытки;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Строка - Строка - текст с разделителями;
|
||||||
|
// Разделитель - Строка - разделитель строк текста, минимум 1 символ;
|
||||||
|
// ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк.
|
||||||
|
// Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией:
|
||||||
|
// - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки
|
||||||
|
// включаются в результат.
|
||||||
|
// Е если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в
|
||||||
|
// случае разделителя-пробела результатом функции будет массив, содержащий одно значение "" (пустая строка), а
|
||||||
|
// при других разделителях результатом функции будет пустой массив.
|
||||||
|
// СокращатьНепечатаемыеСимволы - Булево - сокращать непечатаемые символы по краям каждой из найденных подстрок.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Массив - массив строк.
|
||||||
|
//
|
||||||
|
// Примеры:
|
||||||
|
// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",") - возвратит массив из 5 элементов, три из которых - пустые
|
||||||
|
// строки;
|
||||||
|
// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина) - возвратит массив из двух элементов;
|
||||||
|
// РазложитьСтрокуВМассивПодстрок(" один два ", " ") - возвратит массив из двух элементов;
|
||||||
|
// РазложитьСтрокуВМассивПодстрок("") - возвратит пустой массив;
|
||||||
|
// РазложитьСтрокуВМассивПодстрок("",,Ложь) - возвратит массив с одним элементом "" (пустой строкой);
|
||||||
|
// РазложитьСтрокуВМассивПодстрок("", " ") - возвратит массив с одним элементом "" (пустой строкой);
|
||||||
|
//
|
||||||
|
&НаСервере
|
||||||
|
Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено,
|
||||||
|
СокращатьНепечатаемыеСимволы = Ложь) Экспорт
|
||||||
|
|
||||||
|
Результат = Новый Массив;
|
||||||
|
|
||||||
|
// Для обеспечения обратной совместимости.
|
||||||
|
Если ПропускатьПустыеСтроки = Неопределено Тогда
|
||||||
|
ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь);
|
||||||
|
Если ПустаяСтрока(Строка) Тогда
|
||||||
|
Если Разделитель = " " Тогда
|
||||||
|
Результат.Добавить("");
|
||||||
|
КонецЕсли;
|
||||||
|
Возврат Результат;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
//
|
||||||
|
|
||||||
|
Позиция = Найти(Строка, Разделитель);
|
||||||
|
Пока Позиция > 0 Цикл
|
||||||
|
Подстрока = Лев(Строка, Позиция - 1);
|
||||||
|
Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда
|
||||||
|
Если СокращатьНепечатаемыеСимволы Тогда
|
||||||
|
Результат.Добавить(СокрЛП(Подстрока));
|
||||||
|
Иначе
|
||||||
|
Результат.Добавить(Подстрока);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
Строка = Сред(Строка, Позиция + СтрДлина(Разделитель));
|
||||||
|
Позиция = Найти(Строка, Разделитель);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда
|
||||||
|
Если СокращатьНепечатаемыеСимволы Тогда
|
||||||
|
Результат.Добавить(СокрЛП(Строка));
|
||||||
|
Иначе
|
||||||
|
Результат.Добавить(Строка);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПолучитьСписокЛицензийНаСервере()
|
||||||
|
Объект.СписокЛицензий.Очистить();
|
||||||
|
ФайлОтвет = "";
|
||||||
|
ФайлОшибок = "";
|
||||||
|
|
||||||
|
ИмяВременногоФайлаCMD = SPS_СоздатьСистемныйСкрипт("ring license list", ФайлОтвет, ФайлОшибок);
|
||||||
|
SPS_ЗапуститьСистемныйСкрипт(ИмяВременногоФайлаCMD);
|
||||||
|
|
||||||
|
SPS_ВыводФайлаОшибок(ФайлОшибок);
|
||||||
|
|
||||||
|
фФайлОтвет = Новый Файл(ФайлОтвет);
|
||||||
|
Если НЕ фФайлОтвет.Существует() Тогда
|
||||||
|
ВызватьИсключение "Ошибка чтения результата";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Текст = Новый ЧтениеТекста;
|
||||||
|
Текст.Открыть(ФайлОтвет, SPS_КодировкаФайлаОтвета());
|
||||||
|
стр = "";
|
||||||
|
Пока стр <> Неопределено Цикл
|
||||||
|
стр = Текст.ПрочитатьСтроку();
|
||||||
|
Сообщить(стр);
|
||||||
|
ПозицияИмениФайла = СтрНайти(стр, "(file name:");
|
||||||
|
Если ПозицияИмениФайла > 0 Тогда
|
||||||
|
ПинЛицензия = Лев(стр, ПозицияИмениФайла - 1);
|
||||||
|
Иначе
|
||||||
|
ПинЛицензия = стр;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
мПинЛицензия = РазложитьСтрокуВМассивПодстрок(ПинЛицензия, "-");
|
||||||
|
Если мПинЛицензия.Количество() < 2 Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
ИмяФайлаЛицензии = Сред(стр, ПозицияИмениФайла + 13, 99);
|
||||||
|
ИмяФайлаЛицензии = СтрЗаменить(ИмяФайлаЛицензии, """)", "");
|
||||||
|
нСтр = Объект.СписокЛицензий.Добавить();
|
||||||
|
нСтр.ПинКод = мПинЛицензия[0];
|
||||||
|
нСтр.НомерЛицензии = мПинЛицензия[1];
|
||||||
|
нСтр.ИмяФайлаЛицензии = ИмяФайлаЛицензии;
|
||||||
|
нСтр.РучнойВвод = Ложь;
|
||||||
|
|
||||||
|
//Сообщить(стр);
|
||||||
|
КонецЦикла;
|
||||||
|
Текст.Закрыть();
|
||||||
|
УдалитьФайлы(ФайлОтвет);
|
||||||
|
УдалитьФайлы(ИмяВременногоФайлаCMD);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ПолучитьСписокЛицензий()
|
||||||
|
ПолучитьСписокЛицензийНаСервере();
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ЗапросИнформацииОЛицезнии(ИмяЛицензии)
|
||||||
|
СтруктураОтвета = Новый Структура("Описание, Фамилия, Имя, Отчество, EMail, Компания, Страна, Индекс, Город, Регион, Район, Улица, Дом, Строение, Квартира, ДатаАктивации, РегистрационныйНомер, КодПродукта, ТекстоваяИнформация, КоличествоЛицензий");
|
||||||
|
ФайлОтвет = "";
|
||||||
|
ФайлОшибок = "";
|
||||||
|
ИмяВременногоФайлаCMD = SPS_СоздатьСистемныйСкрипт(СтрШаблон("call ring license info --name %1", ИмяЛицензии), ФайлОтвет, ФайлОшибок);
|
||||||
|
SPS_ЗапуститьСистемныйСкрипт(ИмяВременногоФайлаCMD);
|
||||||
|
|
||||||
|
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 Тогда
|
||||||
|
СтруктураОтвета.Компания = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "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:"));
|
||||||
|
ИначеЕсли СтрНайти(стр, "Apartment:") > 0 Тогда
|
||||||
|
СтруктураОтвета.Квартира = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Apartment:") - СтрДлина("Apartment:"));
|
||||||
|
ИначеЕсли СтрНайти(стр, "Street:") > 0 Тогда
|
||||||
|
СтруктураОтвета.Улица = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Street:") - СтрДлина("Street:"));
|
||||||
|
ИначеЕсли СтрНайти(стр, "House:") > 0 Тогда
|
||||||
|
СтруктураОтвета.Дом = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "House:") - СтрДлина("House:"));
|
||||||
|
ИначеЕсли СтрНайти(стр, "Description:") > 0 Тогда
|
||||||
|
СтруктураОтвета.Описание = Прав(стр, СтрДлина(стр) - СтрНайти(стр, "Description:") - СтрДлина(
|
||||||
|
"Description:"));
|
||||||
|
Если СтрНайти(стр, " рабочих мест") Тогда
|
||||||
|
тСтр = Лев(стр, СтрНайти(стр, " рабочих мест"));
|
||||||
|
мСтр = РазложитьСтрокуВМассивПодстрок(тСтр, " ");
|
||||||
|
СтруктураОтвета.КоличествоЛицензий = Число(мСтр[мСтр.Количество() - 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 = SPS_СоздатьСистемныйСкрипт("call ring license validate --name " + ИмяЛицензии, ФайлОтвет, ФайлОшибок);
|
||||||
|
SPS_ЗапуститьСистемныйСкрипт(ИмяВременногоФайлаCMD);
|
||||||
|
|
||||||
|
SPS_ВыводФайлаОшибок(ФайлОшибок);
|
||||||
|
фФайлОтвет = Новый Файл(ФайлОтвет);
|
||||||
|
Если НЕ фФайлОтвет.Существует() Тогда
|
||||||
|
ВызватьИсключение "Ошибка чтения результата";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Текст = Новый ЧтениеТекста;
|
||||||
|
Текст.Открыть(ФайлОтвет, SPS_КодировкаФайлаОтвета());
|
||||||
|
стр = Текст.Прочитать();
|
||||||
|
СтруктураОтвета = Новый Структура("Активна, ТекстоваяИнформация");
|
||||||
|
Если СтрНайти(стр, "License check passed for the following license:") Тогда
|
||||||
|
СтруктураОтвета.Активна = Истина;
|
||||||
|
Иначе
|
||||||
|
СтруктураОтвета.Активна = Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
СтруктураОтвета.ТекстоваяИнформация = стр;
|
||||||
|
Текст.Закрыть();
|
||||||
|
УдалитьФайлы(ФайлОтвет);
|
||||||
|
УдалитьФайлы(ИмяВременногоФайлаCMD);
|
||||||
|
Возврат СтруктураОтвета;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ПолучитьПолнуюИнформациюОЛицензии()
|
||||||
|
КоличествоЛицензий = Объект.СписокЛицензий.Количество();
|
||||||
|
значениеИндикатора = 0;
|
||||||
|
Счетчик = 1;
|
||||||
|
Для Каждого стр Из Объект.СписокЛицензий Цикл
|
||||||
|
ТекстСообщения = "Получение информации о лицензиях (" + Строка(КоличествоЛицензий) + " шт.)";
|
||||||
|
Пояснение = "Запрос информации о лицензии " + стр.НомерЛицензии + ". Всего: " + КоличествоЛицензий;
|
||||||
|
Картинка = БиблиотекаКартинок.Провести;
|
||||||
|
значениеИндикатора = 100 / (КоличествоЛицензий / Счетчик);
|
||||||
|
Состояние(ТекстСообщения, значениеИндикатора, Пояснение, Картинка);
|
||||||
|
СтруктураЗн = ЗапросИнформацииОЛицезнии(стр.ПинКод + "-" + стр.НомерЛицензии);
|
||||||
|
ЗаполнитьЗначенияСвойств(стр, СтруктураЗн);
|
||||||
|
Счетчик = Счетчик + 1;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ПроверкаВалидностиЛицензий()
|
||||||
|
КоличествоЛицензий = Объект.СписокЛицензий.Количество();
|
||||||
|
значениеИндикатора = 0;
|
||||||
|
Счетчик = 1;
|
||||||
|
Для Каждого стр Из Объект.СписокЛицензий Цикл
|
||||||
|
ТекстСообщения = "Получение информации о лицензиях (" + Строка(КоличествоЛицензий) + " шт.)";
|
||||||
|
Пояснение = "Запрос информации о лицензии " + стр.НомерЛицензии + ". Всего: " + КоличествоЛицензий;
|
||||||
|
Картинка = БиблиотекаКартинок.Провести;
|
||||||
|
значениеИндикатора = 100 / (КоличествоЛицензий / Счетчик);
|
||||||
|
Состояние(ТекстСообщения, значениеИндикатора, Пояснение, Картинка);
|
||||||
|
СтруктураЗн = ЗапросВалидностиЛицезнии(стр.ПинКод + "-" + стр.НомерЛицензии);
|
||||||
|
ЗаполнитьЗначенияСвойств(стр, СтруктураЗн);
|
||||||
|
Счетчик = Счетчик + 1;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПовторнаяАктивацияЛицензииНаСервере(ПереданныеПараметры)
|
||||||
|
СтруктураПараметров = Новый Структура(" НовыйПинКод,ПинКод, Описание, Фамилия, Имя, Отчество, EMail, Компания, Страна, Индекс, Город, Улица, Дом, ДатаАктивации, РегистрационныйНомер, КодПродукта, ТекстоваяИнформация, КоличествоЛицензий");
|
||||||
|
|
||||||
|
ФайлОтвет = "";
|
||||||
|
ФайлОшибок = "";
|
||||||
|
ИмяВременногоФайлаCMD = SPS_СоздатьСистемныйСкрипт(
|
||||||
|
"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_ВыводФайлаОшибок(ФайлОшибок);
|
||||||
|
фФайлОтвет = Новый Файл(ФайлОтвет);
|
||||||
|
Если НЕ фФайлОтвет.Существует() Тогда
|
||||||
|
ВызватьИсключение "Ошибка чтения результата";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Текст = Новый ЧтениеТекста;
|
||||||
|
Текст.Открыть(ФайлОтвет, SPS_КодировкаФайлаОтвета());
|
||||||
|
стр = Текст.Прочитать();
|
||||||
|
Сообщить(стр);
|
||||||
|
Текст.Закрыть();
|
||||||
|
УдалитьФайлы(ФайлОтвет);
|
||||||
|
УдалитьФайлы(ИмяВременногоФайлаCMD);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПослеВводаСтрокиПинкода(ПолученноеЗначение, ПереданныеПараметры) Экспорт
|
||||||
|
ВведенныйКод = ПолученноеЗначение;
|
||||||
|
Если ПустаяСтрока(ВведенныйКод) Тогда
|
||||||
|
Отказ = Истина;
|
||||||
|
Иначе
|
||||||
|
ПереданныеПараметры.НовыйПинКод = ВведенныйКод;
|
||||||
|
ПовторнаяАктивацияЛицензииНаСервере(ПереданныеПараметры);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ПовторнаяАктивацияЛицензии(Команда)
|
||||||
|
ТекущаяСтрока = Элементы.СписокЛицензий.ТекущиеДанные;
|
||||||
|
СтруктураПараметров = Новый Структура(" НомерЛицензии,НовыйПинКод,ПинКод, Описание, Фамилия, Имя, Отчество, EMail, Компания, Страна, Индекс, Регион, Район,Город, Улица, Дом, Корпус, Квартира, Строение, ДатаАктивации, РегистрационныйНомер, КодПродукта, ТекстоваяИнформация, КоличествоЛицензий");
|
||||||
|
ЗаполнитьЗначенияСвойств(СтруктураПараметров, ТекущаяСтрока);
|
||||||
|
Оповещение = Новый ОписаниеОповещения("ПослеВводаСтрокиПинкода", ЭтотОбъект, СтруктураПараметров);
|
||||||
|
|
||||||
|
ПоказатьВводСтроки(
|
||||||
|
Оповещение, , // пропускаем начальное значение
|
||||||
|
|
||||||
|
"Введите пин-код для лицензии " + ТекущаяСтрока["НомерЛицензии"], 0, // (необ.) длина
|
||||||
|
|
||||||
|
Ложь // (необ.) многострочность
|
||||||
|
);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура УдалитьЛицензиюНаСервере(ИмяЛицензии)
|
||||||
|
ФайлОтвет = "";
|
||||||
|
ФайлОшибок = "";
|
||||||
|
ИмяВременногоФайлаCMD = SPS_СоздатьСистемныйСкрипт("call ring license remove --name " + ИмяЛицензии, ФайлОтвет, ФайлОшибок);
|
||||||
|
SPS_ЗапуститьСистемныйСкрипт(ИмяВременногоФайлаCMD);
|
||||||
|
|
||||||
|
SPS_ВыводФайлаОшибок(ФайлОшибок);
|
||||||
|
фФайлОтвет = Новый Файл(ФайлОтвет);
|
||||||
|
Если НЕ фФайлОтвет.Существует() Тогда
|
||||||
|
ВызватьИсключение "Ошибка чтения результата";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Текст = Новый ЧтениеТекста;
|
||||||
|
Текст.Открыть(ФайлОтвет, SPS_КодировкаФайлаОтвета());
|
||||||
|
стр = Текст.Прочитать();
|
||||||
|
Сообщить(стр);
|
||||||
|
Текст.Закрыть();
|
||||||
|
УдалитьФайлы(ФайлОтвет);
|
||||||
|
УдалитьФайлы(ИмяВременногоФайлаCMD);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура УдалитьЛицензию(Команда)
|
||||||
|
ТекущаяСтрока = Элементы.СписокЛицензий.ТекущиеДанные;
|
||||||
|
УдалитьЛицензиюНаСервере(ТекущаяСтрока["ПинКод"] + "-" + ТекущаяСтрока["НомерЛицензии"]);
|
||||||
|
Объект.СписокЛицензий.Удалить(Элементы.СписокЛицензий.ТекущаяСтрока);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ПриОткрытии(Отказ)
|
||||||
|
ПодключитьОбработчикОжидания("ЗагрузитьДанные", 1, Истина);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ЗагрузитьДанные()
|
||||||
|
ПолучитьСписокЛицензий();
|
||||||
|
ПолучитьПолнуюИнформациюОЛицензии();
|
||||||
|
//ПроверкаВалидностиЛицензий();
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура СписокЛицензийПриАктивизацииСтроки(Элемент)
|
||||||
|
Попытка
|
||||||
|
Элементы.ГруппаДанныеАктивации.ТолькоПросмотр = Элементы.СписокЛицензий.ТекущиеДанные["Активна"];
|
||||||
|
Элементы.СписокЛицензийАктивироватьЛицензию.Доступность = Не Элементы.СписокЛицензий.ТекущиеДанные["Активна"];
|
||||||
|
Исключение
|
||||||
|
КонецПопытки;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура СписокЛицензийПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
|
||||||
|
// Вставить содержимое обработчика.
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура АктивироватьЛицензию(Команда)
|
||||||
|
ПараметрыОткрытия = Новый Структура("Фамилия, Имя, Отчество, EMail, Компания, Страна, Индекс, Регион, Район,Город, Улица, Дом, Корпус, Квартира, Строение");
|
||||||
|
ТекущаяСтрока = Элементы.СписокЛицензий.ТекущиеДанные;
|
||||||
|
ЗаполнитьЗначенияСвойств(ПараметрыОткрытия, ТекущаяСтрока);
|
||||||
|
ОткрытьФорму("ВнешняяОбработка.ИнформацияОЛицензиях1С.Форма.ФормаАктивацииЛицензии", ПараметрыОткрытия);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
|
Функция SPS_ЭтоWindows()
|
||||||
|
СистемнаяИнформация = Новый СистемнаяИнформация;
|
||||||
|
Возврат СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86
|
||||||
|
Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
|
Функция SPS_КодировкаФайлаОтвета()
|
||||||
|
Возврат ?(SPS_ЭтоWindows(), Неопределено, КодировкаТекста.UTF8);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
|
Функция SPS_СоздатьСистемныйСкрипт(Знач Команда, ФайлОтвет="", ФайлОшибок="")
|
||||||
|
Это_Windows = SPS_ЭтоWindows();
|
||||||
|
ИмяФайлаСкрипта = ПолучитьИмяВременногоФайла(?(Это_Windows, "cmd", "sh"));
|
||||||
|
|
||||||
|
Если ПустаяСтрока(ФайлОтвет) Тогда
|
||||||
|
ФайлОтвет = ПолучитьИмяВременногоФайла("txt");
|
||||||
|
КонецЕсли;
|
||||||
|
Если ПустаяСтрока(ФайлОшибок) Тогда
|
||||||
|
ФайлОшибок = ПолучитьИмяВременногоФайла("log");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТекстСкрипта = Новый ЗаписьТекста;
|
||||||
|
ТекстСкрипта.Открыть(ИмяФайлаСкрипта, ?(Это_Windows, КодировкаТекста.ANSI, КодировкаТекста.UTF8));
|
||||||
|
|
||||||
|
Если НЕ Это_Windows Тогда
|
||||||
|
// добавление Шебанг
|
||||||
|
ТекстСкрипта.ЗаписатьСтроку("#!/bin/sh");
|
||||||
|
ТекстСкрипта.ЗаписатьСтроку("");
|
||||||
|
|
||||||
|
// исправление кодировки вывода (для парсинга)
|
||||||
|
ТекстСкрипта.ЗаписатьСтроку("export LC_ALL=en_US.UTF8");
|
||||||
|
|
||||||
|
// избавляемся от call
|
||||||
|
Команда = СтрЗаменить(Команда, "call ring", "ring");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// добавляем перенаправления вывода
|
||||||
|
Команда = СтрШаблон("%1 >%2 2>%3", Команда, ФайлОтвет, ФайлОшибок);
|
||||||
|
|
||||||
|
ТекстСкрипта.ЗаписатьСтроку(Команда);
|
||||||
|
ТекстСкрипта.Закрыть();
|
||||||
|
|
||||||
|
Возврат ИмяФайлаСкрипта;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
|
Процедура SPS_ЗапуститьСистемныйСкрипт(Знач ИмяФайлаСкрипта)
|
||||||
|
Это_Windows = SPS_ЭтоWindows();
|
||||||
|
|
||||||
|
// добавляем интерпретатор чтобы запускать скрипт без "chmod +x"
|
||||||
|
Если НЕ Это_Windows Тогда
|
||||||
|
ИмяФайлаСкрипта = СтрШаблон("/bin/sh %1", ИмяФайлаСкрипта);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЗапуститьПриложение(ИмяФайлаСкрипта, КаталогВременныхФайлов(), Истина);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
|
Процедура SPS_ВыводФайлаОшибок(Знач ИмяФайлаОшибок)
|
||||||
|
фФайл = Новый Файл(ИмяФайлаОшибок);
|
||||||
|
Если НЕ фФайл.Существует() Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Чтение = Новый ЧтениеТекста(ИмяФайлаОшибок, КодировкаТекста.ANSI);
|
||||||
|
Текст = Чтение.Прочитать();
|
||||||
|
Чтение.Закрыть();
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
УдалитьФайлы(ИмяФайлаОшибок);
|
||||||
|
Исключение
|
||||||
|
;
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
Если ПустаяСтрока(СокрЛП(Текст)) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Сообщить(СтрШаблон("Ошибки: %1%2", Символы.ПС, Текст));
|
||||||
|
КонецПроцедуры
|
22
src/ИнформацияОЛицензиях1С/Forms/ФормаАктивацииЛицензии.xml
Normal file
22
src/ИнформацияОЛицензиях1С/Forms/ФормаАктивацииЛицензии.xml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.14">
|
||||||
|
<Form uuid="242b1c92-1c07-499b-9e42-502e24c55a37">
|
||||||
|
<Properties>
|
||||||
|
<Name>ФормаАктивацииЛицензии</Name>
|
||||||
|
<Synonym>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Форма активации лицензии</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Synonym>
|
||||||
|
<Comment/>
|
||||||
|
<FormType>Managed</FormType>
|
||||||
|
<IncludeHelpInContents>false</IncludeHelpInContents>
|
||||||
|
<UsePurposes>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
|
||||||
|
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
|
||||||
|
</UsePurposes>
|
||||||
|
<ExtendedPresentation/>
|
||||||
|
</Properties>
|
||||||
|
</Form>
|
||||||
|
</MetaDataObject>
|
@ -0,0 +1,445 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.14">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Активация лицензии</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||||
|
<CommandBarLocation>None</CommandBarLocation>
|
||||||
|
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||||
|
<Events>
|
||||||
|
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
|
||||||
|
</Events>
|
||||||
|
<ChildItems>
|
||||||
|
<UsualGroup name="ГруппаЛицензия" id="52">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Группа лицензия</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Группа лицензия</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<Behavior>Usual</Behavior>
|
||||||
|
<Representation>StrongSeparation</Representation>
|
||||||
|
<ShowTitle>false</ShowTitle>
|
||||||
|
<ExtendedTooltip name="ГруппаЛицензияРасширеннаяПодсказка" id="53"/>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="НомерЛицензии" id="16">
|
||||||
|
<DataPath>НомерЛицензии</DataPath>
|
||||||
|
<ContextMenu name="НомерЛицензииКонтекстноеМеню" id="17"/>
|
||||||
|
<ExtendedTooltip name="НомерЛицензииРасширеннаяПодсказка" id="18"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="ПинКод" id="28">
|
||||||
|
<DataPath>ПинКод</DataPath>
|
||||||
|
<ContextMenu name="ПинКодКонтекстноеМеню" id="29"/>
|
||||||
|
<ExtendedTooltip name="ПинКодРасширеннаяПодсказка" id="30"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="ПредыдущийПинКод" id="25">
|
||||||
|
<DataPath>ПредыдущийПинКод</DataPath>
|
||||||
|
<ContextMenu name="ПредыдущийПинКодКонтекстноеМеню" id="26"/>
|
||||||
|
<ExtendedTooltip name="ПредыдущийПинКодРасширеннаяПодсказка" id="27"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
</UsualGroup>
|
||||||
|
<UsualGroup name="ГруппаВладелецЛицензии" id="54">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Владелец лицензии</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Группа владелец лицензии</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<Behavior>Usual</Behavior>
|
||||||
|
<Representation>StrongSeparation</Representation>
|
||||||
|
<ExtendedTooltip name="ГруппаВладелецЛицензииРасширеннаяПодсказка" id="55"/>
|
||||||
|
<ChildItems>
|
||||||
|
<InputField name="Компания" id="34">
|
||||||
|
<DataPath>Компания</DataPath>
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Организация</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ContextMenu name="КомпанияКонтекстноеМеню" id="35"/>
|
||||||
|
<ExtendedTooltip name="КомпанияРасширеннаяПодсказка" id="36"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Фамилия" id="4">
|
||||||
|
<DataPath>Фамилия</DataPath>
|
||||||
|
<ContextMenu name="ФамилияКонтекстноеМеню" id="5"/>
|
||||||
|
<ExtendedTooltip name="ФамилияРасширеннаяПодсказка" id="6"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Имя" id="43">
|
||||||
|
<DataPath>Имя</DataPath>
|
||||||
|
<ContextMenu name="ИмяКонтекстноеМеню" id="44"/>
|
||||||
|
<ExtendedTooltip name="ИмяРасширеннаяПодсказка" id="45"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Отчество" id="31">
|
||||||
|
<DataPath>Отчество</DataPath>
|
||||||
|
<ContextMenu name="ОтчествоКонтекстноеМеню" id="32"/>
|
||||||
|
<ExtendedTooltip name="ОтчествоРасширеннаяПодсказка" id="33"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="email" id="1">
|
||||||
|
<DataPath>email</DataPath>
|
||||||
|
<ContextMenu name="emailКонтекстноеМеню" id="2"/>
|
||||||
|
<ExtendedTooltip name="emailРасширеннаяПодсказка" id="3"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Страна" id="13">
|
||||||
|
<DataPath>Страна</DataPath>
|
||||||
|
<ContextMenu name="СтранаКонтекстноеМеню" id="14"/>
|
||||||
|
<ExtendedTooltip name="СтранаРасширеннаяПодсказка" id="15"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Регион" id="19">
|
||||||
|
<DataPath>Регион</DataPath>
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Регион/Область</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ContextMenu name="РегионКонтекстноеМеню" id="20"/>
|
||||||
|
<ExtendedTooltip name="РегионРасширеннаяПодсказка" id="21"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Индекс" id="40">
|
||||||
|
<DataPath>Индекс</DataPath>
|
||||||
|
<ContextMenu name="ИндексКонтекстноеМеню" id="41"/>
|
||||||
|
<ExtendedTooltip name="ИндексРасширеннаяПодсказка" id="42"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Район" id="22">
|
||||||
|
<DataPath>Район</DataPath>
|
||||||
|
<ContextMenu name="РайонКонтекстноеМеню" id="23"/>
|
||||||
|
<ExtendedTooltip name="РайонРасширеннаяПодсказка" id="24"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Город" id="49">
|
||||||
|
<DataPath>Город</DataPath>
|
||||||
|
<ContextMenu name="ГородКонтекстноеМеню" id="50"/>
|
||||||
|
<ExtendedTooltip name="ГородРасширеннаяПодсказка" id="51"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Улица" id="7">
|
||||||
|
<DataPath>Улица</DataPath>
|
||||||
|
<ContextMenu name="УлицаКонтекстноеМеню" id="8"/>
|
||||||
|
<ExtendedTooltip name="УлицаРасширеннаяПодсказка" id="9"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Дом" id="46">
|
||||||
|
<DataPath>Дом</DataPath>
|
||||||
|
<ContextMenu name="ДомКонтекстноеМеню" id="47"/>
|
||||||
|
<ExtendedTooltip name="ДомРасширеннаяПодсказка" id="48"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Строение" id="10">
|
||||||
|
<DataPath>Строение</DataPath>
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Строение/Корпус</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ContextMenu name="СтроениеКонтекстноеМеню" id="11"/>
|
||||||
|
<ExtendedTooltip name="СтроениеРасширеннаяПодсказка" id="12"/>
|
||||||
|
</InputField>
|
||||||
|
<InputField name="Квартира" id="37">
|
||||||
|
<DataPath>Квартира</DataPath>
|
||||||
|
<ContextMenu name="КвартираКонтекстноеМеню" id="38"/>
|
||||||
|
<ExtendedTooltip name="КвартираРасширеннаяПодсказка" id="39"/>
|
||||||
|
</InputField>
|
||||||
|
</ChildItems>
|
||||||
|
</UsualGroup>
|
||||||
|
<Button name="Активировать" id="56">
|
||||||
|
<Type>UsualButton</Type>
|
||||||
|
<HorizontalStretch>true</HorizontalStretch>
|
||||||
|
<CommandName>Form.Command.Активировать</CommandName>
|
||||||
|
<ExtendedTooltip name="АктивироватьРасширеннаяПодсказка" id="57"/>
|
||||||
|
</Button>
|
||||||
|
</ChildItems>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute name="Объект" id="1">
|
||||||
|
<Type>
|
||||||
|
<v8:Type>cfg:ExternalDataProcessorObject.ИнформацияОЛицензиях1С</v8:Type>
|
||||||
|
</Type>
|
||||||
|
<MainAttribute>true</MainAttribute>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Фамилия" id="2">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Фамилия</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Имя" id="3">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Имя</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Отчество" id="4">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Отчество</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="email" id="5">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Email</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Компания" id="6">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Компания</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Страна" id="7">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Страна</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Индекс" id="8">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Индекс</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Регион" id="9">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Регион</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Район" id="10">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Район</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Город" id="11">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Город</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Улица" id="12">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Улица</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Дом" id="13">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Дом</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Строение" id="14">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Строение</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="Квартира" id="15">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Квартира</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="НомерЛицензии" id="16">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Номер лицензии</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="ПинКод" id="17">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Пин код</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
<Attribute name="ПредыдущийПинКод" id="18">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Предыдущий пин код</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<Type>
|
||||||
|
<v8:Type>xs:string</v8:Type>
|
||||||
|
<v8:StringQualifiers>
|
||||||
|
<v8:Length>0</v8:Length>
|
||||||
|
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||||
|
</v8:StringQualifiers>
|
||||||
|
</Type>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
<Commands>
|
||||||
|
<Command name="Активировать" id="1">
|
||||||
|
<Title>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Активировать</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</Title>
|
||||||
|
<ToolTip>
|
||||||
|
<v8:item>
|
||||||
|
<v8:lang>ru</v8:lang>
|
||||||
|
<v8:content>Активировать</v8:content>
|
||||||
|
</v8:item>
|
||||||
|
</ToolTip>
|
||||||
|
<Action>Активировать</Action>
|
||||||
|
</Command>
|
||||||
|
</Commands>
|
||||||
|
</Form>
|
@ -0,0 +1,142 @@
|
|||||||
|
&НаСервере
|
||||||
|
Функция АктивироватьНаСервере()
|
||||||
|
|
||||||
|
ФайлОтвет = "";
|
||||||
|
ФайлОшибок = "";
|
||||||
|
ИмяВременногоФайлаCMD = SPS_СоздатьСистемныйСкрипт(
|
||||||
|
"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_КодировкаФайлаОтвета());
|
||||||
|
стр = Текст.Прочитать();
|
||||||
|
Сообщить(стр);
|
||||||
|
Текст.Закрыть();
|
||||||
|
УдалитьФайлы(ФайлОтвет);
|
||||||
|
УдалитьФайлы(ИмяВременногоФайлаCMD);
|
||||||
|
Возврат стр;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура Активировать(Команда)
|
||||||
|
АктивироватьНаСервере();
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||||
|
Фамилия = Параметры.Фамилия;
|
||||||
|
Имя = Параметры.Имя;
|
||||||
|
Отчество = Параметры.Отчество;
|
||||||
|
Компания = Параметры.Компания;
|
||||||
|
email = Параметры.email;
|
||||||
|
Страна = Параметры.Страна;
|
||||||
|
Индекс = Параметры.Индекс;
|
||||||
|
Регион = Параметры.Регион;
|
||||||
|
Район = Параметры.Район;
|
||||||
|
Город = Параметры.Город;
|
||||||
|
Улица = Параметры.Улица;
|
||||||
|
Дом = Параметры.Дом;
|
||||||
|
Строение = Параметры.Строение;
|
||||||
|
Квартира = Параметры.Квартира;
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
|
Функция SPS_ЭтоWindows()
|
||||||
|
СистемнаяИнформация = Новый СистемнаяИнформация;
|
||||||
|
Возврат СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86
|
||||||
|
Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
|
Функция SPS_КодировкаФайлаОтвета()
|
||||||
|
Возврат ?(SPS_ЭтоWindows(), Неопределено, КодировкаТекста.UTF8);
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
|
Функция SPS_СоздатьСистемныйСкрипт(Знач Команда, ФайлОтвет="", ФайлОшибок="")
|
||||||
|
Это_Windows = SPS_ЭтоWindows();
|
||||||
|
ИмяФайлаСкрипта = ПолучитьИмяВременногоФайла(?(Это_Windows, "cmd", "sh"));
|
||||||
|
|
||||||
|
Если ПустаяСтрока(ФайлОтвет) Тогда
|
||||||
|
ФайлОтвет = ПолучитьИмяВременногоФайла("txt");
|
||||||
|
КонецЕсли;
|
||||||
|
Если ПустаяСтрока(ФайлОшибок) Тогда
|
||||||
|
ФайлОшибок = ПолучитьИмяВременногоФайла("log");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТекстСкрипта = Новый ЗаписьТекста;
|
||||||
|
ТекстСкрипта.Открыть(ИмяФайлаСкрипта, ?(Это_Windows, КодировкаТекста.ANSI, КодировкаТекста.UTF8));
|
||||||
|
|
||||||
|
Если НЕ Это_Windows Тогда
|
||||||
|
// добавление Шебанг
|
||||||
|
ТекстСкрипта.ЗаписатьСтроку("#!/bin/sh");
|
||||||
|
ТекстСкрипта.ЗаписатьСтроку("");
|
||||||
|
|
||||||
|
// исправление кодировки вывода (для парсинга)
|
||||||
|
ТекстСкрипта.ЗаписатьСтроку("export LC_ALL=en_US.UTF8");
|
||||||
|
|
||||||
|
// избавляемся от call
|
||||||
|
Команда = СтрЗаменить(Команда, "call ring", "ring");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
// добавляем перенаправления вывода
|
||||||
|
Команда = СтрШаблон("%1 >%2 2>%3", Команда, ФайлОтвет, ФайлОшибок);
|
||||||
|
|
||||||
|
ТекстСкрипта.ЗаписатьСтроку(Команда);
|
||||||
|
ТекстСкрипта.Закрыть();
|
||||||
|
|
||||||
|
Возврат ИмяФайлаСкрипта;
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
|
Процедура SPS_ЗапуститьСистемныйСкрипт(Знач ИмяФайлаСкрипта)
|
||||||
|
Это_Windows = SPS_ЭтоWindows();
|
||||||
|
|
||||||
|
// добавляем интерпретатор чтобы запускать скрипт без "chmod +x"
|
||||||
|
Если НЕ Это_Windows Тогда
|
||||||
|
ИмяФайлаСкрипта = СтрШаблон("/bin/sh %1", ИмяФайлаСкрипта);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЗапуститьПриложение(ИмяФайлаСкрипта, КаталогВременныхФайлов(), Истина);
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
|
Процедура SPS_ВыводФайлаОшибок(Знач ИмяФайлаОшибок)
|
||||||
|
фФайл = Новый Файл(ИмяФайлаОшибок);
|
||||||
|
Если НЕ фФайл.Существует() Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Чтение = Новый ЧтениеТекста(ИмяФайлаОшибок, КодировкаТекста.ANSI);
|
||||||
|
Текст = Чтение.Прочитать();
|
||||||
|
Чтение.Закрыть();
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
УдалитьФайлы(ИмяФайлаОшибок);
|
||||||
|
Исключение
|
||||||
|
;
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
Если ПустаяСтрока(СокрЛП(Текст)) Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Сообщить(СтрШаблон("Ошибки: %1%2", Символы.ПС, Текст));
|
||||||
|
КонецПроцедуры
|
Loading…
Reference in New Issue
Block a user