3_1_10_295
This commit is contained in:
1 parent
10a6064cd2
commit
7da40d8877
189 files changed
+17108
-4192
No files matched your search
@@ -76,16 +76,6 @@
|
||||
Для Каждого Расширение Из РасширенияБазыДанных Цикл
|
||||
КонтрольнаяСумма = КонтрольнаяСуммаРасширения(Расширение);
|
||||
РасширениеПриЗапуске = РасширенияПриЗапуске.Получить(КонтрольнаяСумма);
|
||||
Если РасширениеПриЗапуске = Неопределено Тогда
|
||||
Ошибки = Расширение.ПроверитьВозможностьПрименения();
|
||||
Для Каждого Ошибка Из Ошибки Цикл
|
||||
Если Ошибка.Важность = ВажностьПроблемыПримененияРасширенияКонфигурации.Критичная Тогда
|
||||
РасширенияПриЗапуске.Вставить(КонтрольнаяСумма, Расширение);
|
||||
РасширениеПриЗапуске = Расширение;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Если РасширениеПриЗапуске <> Неопределено Тогда
|
||||
ДобавленныеРасширения.Вставить(КонтрольнаяСумма, Истина);
|
||||
Расширения.Добавить(РасширениеПриЗапуске);
|
||||
|
||||
@@ -1927,7 +1927,7 @@
|
||||
<id>182</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -1958,7 +1958,7 @@
|
||||
<id>183</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -2218,6 +2218,7 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<headerHeight>1</headerHeight>
|
||||
<footerHeight>1</footerHeight>
|
||||
<horizontalScrollBar>AutoUse</horizontalScrollBar>
|
||||
@@ -3540,12 +3541,12 @@
|
||||
<name>ИсключитьРоли</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</title>
|
||||
<id>5</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -3567,12 +3568,12 @@
|
||||
<name>ВключитьРоли</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</title>
|
||||
<id>6</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
|
||||
@@ -966,7 +966,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ВключитьРоли(Команда)
|
||||
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ВключитьВсе");
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ВключитьВыделенные");
|
||||
|
||||
ПользователиСлужебныйКлиент.РазвернутьПодсистемыРолей(ЭтотОбъект, Ложь);
|
||||
|
||||
@@ -975,7 +975,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ИсключитьРоли(Команда)
|
||||
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ИсключитьВсе");
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ИсключитьВыделенные");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -1296,7 +1296,7 @@
|
||||
<id>139</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -1327,7 +1327,7 @@
|
||||
<id>140</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -1588,6 +1588,7 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<headerHeight>1</headerHeight>
|
||||
<footerHeight>1</footerHeight>
|
||||
<horizontalScrollBar>AutoUse</horizontalScrollBar>
|
||||
@@ -2114,12 +2115,12 @@
|
||||
<name>ИсключитьРоли</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</title>
|
||||
<id>3</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -2140,12 +2141,12 @@
|
||||
<name>ВключитьРоли</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</title>
|
||||
<id>4</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
|
||||
@@ -392,7 +392,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ВключитьРоли(Команда)
|
||||
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ВключитьВсе");
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ВключитьВыделенные");
|
||||
|
||||
ПользователиСлужебныйКлиент.РазвернутьПодсистемыРолей(ЭтотОбъект, Ложь);
|
||||
|
||||
@@ -401,7 +401,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ИсключитьРоли(Команда)
|
||||
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ИсключитьВсе");
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ИсключитьВыделенные");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -1213,10 +1213,6 @@
|
||||
<event>TextEditEnd</event>
|
||||
<name>ЗначениеДоступаОкончаниеВводаТекста</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>ChoiceProcessing</event>
|
||||
<name>ЗначениеДоступаОбработкаВыбора</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
@@ -1270,8 +1266,148 @@
|
||||
<autoCommandBar>
|
||||
<name>ЗначенияДоступаКоманднаяПанель</name>
|
||||
<id>68</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗначенияДоступаПодобратьЗначенияДоступа</name>
|
||||
<id>457</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Подобрать</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаПодобратьЗначенияДоступаРасширеннаяПодсказка</name>
|
||||
<id>458</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.ПодобратьЗначенияДоступа</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗначенияДоступаДобавить</name>
|
||||
<id>461</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаДобавитьРасширеннаяПодсказка</name>
|
||||
<id>462</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.ЗначенияДоступа.StandardCommand.Add</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗначенияДоступаУдалить</name>
|
||||
<id>466</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаУдалитьРасширеннаяПодсказка</name>
|
||||
<id>467</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.ЗначенияДоступа.StandardCommand.Delete</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ЗначенияДоступаСтандартныеКоманды</name>
|
||||
<id>459</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Значения доступа стандартные команды</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаСтандартныеКомандыРасширеннаяПодсказка</name>
|
||||
<id>460</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<extInfo xsi:type="form:ButtonGroupExtInfo">
|
||||
<commandSource>Item.ЗначенияДоступа</commandSource>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Addition">
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Поиск</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<name>ЗначенияДоступаПоиск</name>
|
||||
<id>463</id>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаПоискРасширеннаяПодсказка</name>
|
||||
<id>465</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ЗначенияДоступаПоискКонтекстноеМеню</name>
|
||||
<id>464</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<source>ЗначенияДоступа</source>
|
||||
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
</extInfo>
|
||||
</items>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>OnEditEnd</event>
|
||||
@@ -1279,7 +1415,7 @@
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>ChoiceProcessing</event>
|
||||
<name>ЗначениеДоступаОбработкаВыбора</name>
|
||||
<name>ЗначенияДоступаОбработкаВыбора</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnStartEdit</event>
|
||||
@@ -2389,6 +2525,28 @@
|
||||
<currentRowUse>DontUse</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>ПодобратьЗначенияДоступа</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Подобрать</value>
|
||||
</title>
|
||||
<id>4</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Подобрать</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>ПодобратьЗначенияДоступа</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
@@ -939,18 +939,18 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗначениеДоступаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
Процедура ЗначенияДоступаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
|
||||
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначениеДоступаНачалоВыбора(
|
||||
ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка);
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначенияДоступаОбработкаВыбора(
|
||||
ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗначениеДоступаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
|
||||
Процедура ЗначениеДоступаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначениеДоступаОбработкаВыбора(
|
||||
ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначениеДоступаНачалоВыбора(
|
||||
ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1004,6 +1004,13 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПодобратьЗначенияДоступа(Команда)
|
||||
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначенияДоступаПодобрать(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
@@ -2874,7 +2874,7 @@
|
||||
<id>185</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -2905,7 +2905,7 @@
|
||||
<id>186</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -3165,6 +3165,7 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<headerHeight>1</headerHeight>
|
||||
<footerHeight>1</footerHeight>
|
||||
<horizontalScrollBar>AutoUse</horizontalScrollBar>
|
||||
@@ -4818,12 +4819,12 @@
|
||||
<name>ИсключитьРоли</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</title>
|
||||
<id>2</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -4844,12 +4845,12 @@
|
||||
<name>ВключитьРоли</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</title>
|
||||
<id>3</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
|
||||
@@ -1310,7 +1310,8 @@
|
||||
&НаКлиенте
|
||||
Процедура ВключитьРоли(Команда)
|
||||
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ВключитьВсе");
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ВключитьВыделенные");
|
||||
|
||||
ПользователиСлужебныйКлиент.РазвернутьПодсистемыРолей(ЭтотОбъект, Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -1318,7 +1319,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ИсключитьРоли(Команда)
|
||||
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ИсключитьВсе");
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ИсключитьВыделенные");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
+1
-1
@@ -418,7 +418,7 @@
|
||||
<event>OnCreateAtServer</event>
|
||||
<name>ПриСозданииНаСервере</name>
|
||||
</handlers>
|
||||
<windowOpeningMode>DontBlock</windowOpeningMode>
|
||||
<windowOpeningMode>LockOwner</windowOpeningMode>
|
||||
<saveWindowSettings>true</saveWindowSettings>
|
||||
<autoTitle>true</autoTitle>
|
||||
<autoUrl>true</autoUrl>
|
||||
|
||||
@@ -0,0 +1,887 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаПароль</name>
|
||||
<id>43</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Пароль</name>
|
||||
<id>32</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Пин-код</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Пароль</segments>
|
||||
</dataPath>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ПарольПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ПарольРасширеннаяПодсказка</name>
|
||||
<id>34</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПарольКонтекстноеМеню</name>
|
||||
<id>33</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<handlers>
|
||||
<event>StartChoice</event>
|
||||
<name>ПарольНачалоВыбора</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<passwordMode>true</passwordMode>
|
||||
<choiceButton>true</choiceButton>
|
||||
<choiceButtonPicture xsi:type="core:PictureRef">
|
||||
<picture>CommonPicture.ВводимыеСимволыВидны</picture>
|
||||
</choiceButtonPicture>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
<inputHint>
|
||||
<key>ru</key>
|
||||
<value>Введите пин-код пользователя токена</value>
|
||||
</inputHint>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ЗапомнитьПароль</name>
|
||||
<id>35</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Запомнить на время сеанса</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ЗапомнитьПароль</segments>
|
||||
</dataPath>
|
||||
<titleLocation>Right</titleLocation>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Запомнить пароль токена до закрытия приложения. При снятии флажка пароль стирается из памяти, если запоминался ранее.</value>
|
||||
</toolTip>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ЗапомнитьПарольПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ЗапомнитьПарольРасширеннаяПодсказка</name>
|
||||
<id>37</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ЗапомнитьПарольКонтекстноеМеню</name>
|
||||
<id>36</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Пароль</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаПарольРасширеннаяПодсказка</name>
|
||||
<id>44</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаОбновлениеСертификатов</name>
|
||||
<id>45</id>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>КартинкаОбновлениеСертификатов</name>
|
||||
<id>47</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>КартинкаОбновлениеСертификатовРасширеннаяПодсказка</name>
|
||||
<id>49</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>КартинкаОбновлениеСертификатовКонтекстноеМеню</name>
|
||||
<id>48</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:PictureDecorationExtInfo">
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>CommonPicture.ДлительнаяОперация16</picture>
|
||||
</picture>
|
||||
<fileDragMode>AsFileRef</fileDragMode>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ДекорацияОбновлениеСертификатов</name>
|
||||
<id>50</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Поиск сертификатов на токене...</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ДекорацияОбновлениеСертификатовРасширеннаяПодсказка</name>
|
||||
<id>52</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДекорацияОбновлениеСертификатовКонтекстноеМеню</name>
|
||||
<id>51</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Обновление сертификатов</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаОбновлениеСертификатовРасширеннаяПодсказка</name>
|
||||
<id>46</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Table">
|
||||
<name>Сертификаты</name>
|
||||
<id>7</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Сертификаты на токене</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Сертификаты</segments>
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<excludedCommands>Add</excludedCommands>
|
||||
<excludedCommands>Change</excludedCommands>
|
||||
<excludedCommands>Copy</excludedCommands>
|
||||
<excludedCommands>Delete</excludedCommands>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СертификатыПредставление</name>
|
||||
<id>20</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Сертификат</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Сертификаты.Представление</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СертификатыПредставлениеРасширеннаяПодсказка</name>
|
||||
<id>22</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СертификатыПредставлениеКонтекстноеМеню</name>
|
||||
<id>21</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СертификатыКемВыдан</name>
|
||||
<id>40</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Кем выдан</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Сертификаты.КемВыдан</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СертификатыКемВыданРасширеннаяПодсказка</name>
|
||||
<id>42</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СертификатыКемВыданКонтекстноеМеню</name>
|
||||
<id>41</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СертификатыДействуетДо</name>
|
||||
<id>26</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Действует до</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Сертификаты.ДействуетДо</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СертификатыДействуетДоРасширеннаяПодсказка</name>
|
||||
<id>28</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СертификатыДействуетДоКонтекстноеМеню</name>
|
||||
<id>27</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СертификатыОтпечаток</name>
|
||||
<id>23</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Отпечаток</value>
|
||||
</title>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Сертификаты.Отпечаток</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СертификатыОтпечатокРасширеннаяПодсказка</name>
|
||||
<id>25</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СертификатыОтпечатокКонтекстноеМеню</name>
|
||||
<id>24</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<autoCommandBar>
|
||||
<name>СертификатыКоманднаяПанель</name>
|
||||
<id>8</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>СертификатыОбновить</name>
|
||||
<id>38</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Обновить</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СертификатыОбновитьРасширеннаяПодсказка</name>
|
||||
<id>39</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.Обновить</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>Selection</event>
|
||||
<name>СертификатыВыбор</name>
|
||||
</handlers>
|
||||
<searchStringAddition>
|
||||
<name>СертификатыСтрокаПоиска</name>
|
||||
<id>11</id>
|
||||
<extendedTooltip>
|
||||
<name>СертификатыСтрокаПоискаРасширеннаяПодсказка</name>
|
||||
<id>13</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СертификатыСтрокаПоискаКонтекстноеМеню</name>
|
||||
<id>12</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<source>Сертификаты</source>
|
||||
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
</extInfo>
|
||||
</searchStringAddition>
|
||||
<viewStatusAddition>
|
||||
<name>СертификатыСостояниеПросмотра</name>
|
||||
<id>17</id>
|
||||
<extendedTooltip>
|
||||
<name>СертификатыСостояниеПросмотраРасширеннаяПодсказка</name>
|
||||
<id>19</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СертификатыСостояниеПросмотраКонтекстноеМеню</name>
|
||||
<id>18</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>ViewStatusAddition</type>
|
||||
<source>Сертификаты</source>
|
||||
<extInfo xsi:type="form:ViewStatusAdditionExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
</extInfo>
|
||||
</viewStatusAddition>
|
||||
<searchControlAddition>
|
||||
<name>СертификатыУправлениеПоиском</name>
|
||||
<id>14</id>
|
||||
<extendedTooltip>
|
||||
<name>СертификатыУправлениеПоискомРасширеннаяПодсказка</name>
|
||||
<id>16</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СертификатыУправлениеПоискомКонтекстноеМеню</name>
|
||||
<id>15</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>SearchControlAddition</type>
|
||||
<source>Сертификаты</source>
|
||||
<extInfo xsi:type="form:SearchControlAdditionExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
</extInfo>
|
||||
</searchControlAddition>
|
||||
<extendedTooltip>
|
||||
<name>СертификатыРасширеннаяПодсказка</name>
|
||||
<id>10</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СертификатыКонтекстноеМеню</name>
|
||||
<id>9</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<readOnly>true</readOnly>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<header>true</header>
|
||||
<headerHeight>1</headerHeight>
|
||||
<footerHeight>1</footerHeight>
|
||||
<horizontalScrollBar>AutoUse</horizontalScrollBar>
|
||||
<verticalScrollBar>AutoUse</verticalScrollBar>
|
||||
<horizontalLines>true</horizontalLines>
|
||||
<verticalLines>true</verticalLines>
|
||||
<useAlternationRowColorBWA>false</useAlternationRowColorBWA>
|
||||
<searchOnInput>Auto</searchOnInput>
|
||||
<initialListView>Auto</initialListView>
|
||||
<horizontalStretch>true</horizontalStretch>
|
||||
<verticalStretch>true</verticalStretch>
|
||||
<fileDragMode>AsFileRef</fileDragMode>
|
||||
<autoMaxCardHeight>true</autoMaxCardHeight>
|
||||
<rowFilter xsi:type="core:UndefinedValue"/>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СерийныйНомер</name>
|
||||
<id>4</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Серийный номер</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>СерийныйНомер</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СерийныйНомерРасширеннаяПодсказка</name>
|
||||
<id>6</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СерийныйНомерКонтекстноеМеню</name>
|
||||
<id>5</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<readOnly>true</readOnly>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<autoCommandBar>
|
||||
<name>ФормаКоманднаяПанель</name>
|
||||
<id>-1</id>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>OnOpen</event>
|
||||
<name>ПриОткрытии</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnCreateAtServer</event>
|
||||
<name>ПриСозданииНаСервере</name>
|
||||
</handlers>
|
||||
<windowOpeningMode>LockOwner</windowOpeningMode>
|
||||
<saveWindowSettings>true</saveWindowSettings>
|
||||
<autoUrl>true</autoUrl>
|
||||
<group>Vertical</group>
|
||||
<autoFillCheck>true</autoFillCheck>
|
||||
<allowFormCustomize>true</allowFormCustomize>
|
||||
<enabled>true</enabled>
|
||||
<showTitle>auto</showTitle>
|
||||
<showCloseButton>true</showCloseButton>
|
||||
<attributes>
|
||||
<name>СерийныйНомер</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Серийный номер</value>
|
||||
</title>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>Представление</name>
|
||||
<id>2</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>Сертификаты</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Сертификаты</value>
|
||||
</title>
|
||||
<id>3</id>
|
||||
<valueType>
|
||||
<types>ValueTable</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<columns>
|
||||
<name>Представление</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Сертификат</value>
|
||||
</title>
|
||||
<id>5</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>Отпечаток</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Отпечаток</value>
|
||||
</title>
|
||||
<id>6</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>ДействуетДо</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Действует до</value>
|
||||
</title>
|
||||
<id>7</id>
|
||||
<valueType>
|
||||
<types>Date</types>
|
||||
<dateQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>АдресСертификата</name>
|
||||
<id>12</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>КемВыдан</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Кем выдан</value>
|
||||
</title>
|
||||
<id>2</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ЭтоСервер</name>
|
||||
<id>4</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>Слот</name>
|
||||
<id>9</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>Пароль</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Пин-код</value>
|
||||
</title>
|
||||
<id>10</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ЗапомнитьПароль</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Запомнить на время сеанса</value>
|
||||
</title>
|
||||
<id>11</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>Обновить</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Обновить</value>
|
||||
</title>
|
||||
<id>1</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Обновить</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>StdPicture.Refresh</picture>
|
||||
</picture>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>Обновить</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<parameters>
|
||||
<name>Токен</name>
|
||||
<valueType/>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
</commandInterface>
|
||||
</form:Form>
|
||||
@@ -0,0 +1,229 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (c) 2024, ООО 1С-Софт
|
||||
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
||||
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
||||
// Текст лицензии доступен по ссылке:
|
||||
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#Область ОписаниеПеременных
|
||||
|
||||
&НаКлиенте
|
||||
Перем ВнутренниеДанные, СвойстваПароля;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если ЗначениеЗаполнено(Параметры.Токен) Тогда
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Параметры.Токен);
|
||||
|
||||
Если ЭтоСервер Тогда
|
||||
ШаблонЗаголовка = НСтр("ru = '%1 на сервере'");
|
||||
Иначе
|
||||
ШаблонЗаголовка = НСтр("ru = '%1 на компьютере'");
|
||||
КонецЕсли;
|
||||
|
||||
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ШаблонЗаголовка, Параметры.Токен.Представление);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
|
||||
Если ВнутренниеДанные = Неопределено Тогда
|
||||
Отказ = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗапомнитьПарольПриИзменении(Элемент)
|
||||
|
||||
ДополнительныеПараметры = ДополнительныеПараметры();
|
||||
ДополнительныеПараметры.Вставить("ПриИзмененииРеквизитаЗапомнитьПароль", Истина);
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ОбработатьПарольВФорме(ЭтотОбъект,
|
||||
ВнутренниеДанные, СвойстваПароля, ДополнительныеПараметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// АПК:78-выкл: для безопасной передачи данных на клиенте между формами, не отправляя их на сервер.
|
||||
&НаКлиенте
|
||||
Процедура ПродолжитьОткрытие(Оповещение, ОбщиеВнутренниеДанные, КлиентскиеПараметры) Экспорт
|
||||
// АПК:78-вкл: для безопасной передачи данных на клиенте между формами, не отправляя их на сервер.
|
||||
|
||||
ДополнительныеПараметры = ДополнительныеПараметры();
|
||||
|
||||
ВнутренниеДанные = ОбщиеВнутренниеДанные;
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ОбработатьПарольВФорме(ЭтотОбъект,
|
||||
ВнутренниеДанные, СвойстваПароля, ДополнительныеПараметры);
|
||||
Открыть();
|
||||
ЗаполнитьСписокСертификатов();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Асинх Процедура ЗаполнитьСписокСертификатов()
|
||||
|
||||
Если Не ЗначениеЗаполнено(СвойстваПароля.Значение) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Токен = Новый Структура;
|
||||
Токен.Вставить("Слот");
|
||||
Токен.Вставить("СерийныйНомер");
|
||||
ЗаполнитьЗначенияСвойств(Токен, ЭтотОбъект);
|
||||
Токен.Вставить("ЗначениеПароля", СвойстваПароля.Значение);
|
||||
|
||||
Элементы.ГруппаОбновлениеСертификатов.Видимость = Истина;
|
||||
Результат = Ждать ЭлектроннаяПодписьКлиентЛокализация.СертификатыНаТокене(Токен, Неопределено, Истина);
|
||||
|
||||
ТекстОшибки = "";
|
||||
Если Результат.ПроверкаВыполнена Тогда
|
||||
Ошибки = Новый Массив;
|
||||
ЗаполнитьСписокСертификатовНаСервере(Результат.Сертификаты, Ошибки);
|
||||
Если Ошибки.Количество() > 0 Тогда
|
||||
ТекстОшибки = СтрСоединить(Ошибки, Символы.ПС);
|
||||
КонецЕсли;
|
||||
|
||||
ДополнительныеПараметры = ДополнительныеПараметры();
|
||||
ДополнительныеПараметры.Вставить("ПриУспешномВыполненииОперации", Истина);
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ОбработатьПарольВФорме(ЭтотОбъект,
|
||||
ВнутренниеДанные, СвойстваПароля, ДополнительныеПараметры);
|
||||
|
||||
Иначе
|
||||
ТекстОшибки = Результат.Ошибка;
|
||||
Если ЭлектроннаяПодписьКлиентЛокализация.ЭтоОшибкаНеправильныйПинКод(Результат.Ошибка) Тогда
|
||||
ТекстОшибки = НСтр("ru = 'Введен неверный пин-код пользователя токена.'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("ЗаголовокПредупреждения", НСтр("ru = 'Не удалось прочитать сертификаты на токене'"));
|
||||
ПараметрыФормы.Вставить("ТекстОшибкиКлиент", ТекстОшибки);
|
||||
ПараметрыФормы.Вставить("ПоказатьТребуетсяПомощь", Истина);
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ОткрытьФормуРасширенногоПредставленияОшибки(ПараметрыФормы, ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ГруппаОбновлениеСертификатов.Видимость = Ложь;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПарольПриИзменении(Элемент)
|
||||
|
||||
ДополнительныеПараметры = ДополнительныеПараметры();
|
||||
ДополнительныеПараметры.Вставить("ПриИзмененииРеквизитаПароль", Истина);
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ОбработатьПарольВФорме(ЭтотОбъект,
|
||||
ВнутренниеДанные, СвойстваПароля, ДополнительныеПараметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПарольНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ДополнительныеПараметры = ДополнительныеПараметры();
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПолеПароляНачалоВыбора(ЭтотОбъект,
|
||||
ВнутренниеДанные, СвойстваПароля, СтандартнаяОбработка, ДополнительныеПараметры);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Обновить(Команда)
|
||||
ЗаполнитьСписокСертификатов()
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьСписокСертификатовНаСервере(СертификатыСтрокой, Ошибки)
|
||||
|
||||
Сертификаты.Очистить();
|
||||
|
||||
Для Каждого Сертификат Из СертификатыСтрокой Цикл
|
||||
|
||||
Сертификат = СтрЗаменить(Сертификат, "-----BEGIN CERTIFICATE-----", "");
|
||||
Сертификат = СтрЗаменить(Сертификат, "-----END CERTIFICATE-----", "");
|
||||
Сертификат = СтрЗаменить(Сертификат, Символы.ПС, "");
|
||||
|
||||
Попытка
|
||||
ДанныеСертификата = Base64Значение(Сертификат);
|
||||
Исключение
|
||||
Ошибки.Добавить(ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
Если ТипЗнч(ДанныеСертификата) <> Тип("ДвоичныеДанные") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
СертификатКриптографии = Новый СертификатКриптографии(ДанныеСертификата);
|
||||
Исключение
|
||||
Ошибки.Добавить(ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
СвойстваСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваСертификата(
|
||||
СертификатКриптографии, ЭлектроннаяПодписьСлужебный.РазницаСУниверсальнымВременем(), ДанныеСертификата);
|
||||
|
||||
НоваяСтрока = Сертификаты.Добавить();
|
||||
НоваяСтрока.ДействуетДо = СвойстваСертификата.ДействителенДо;
|
||||
НоваяСтрока.Отпечаток = СвойстваСертификата.Отпечаток;
|
||||
НоваяСтрока.Представление = СвойстваСертификата.Представление;
|
||||
НоваяСтрока.КемВыдан = СвойстваСертификата.КемВыдан;
|
||||
НоваяСтрока.АдресСертификата = ПоместитьВоВременноеХранилище(СертификатКриптографии.Выгрузить(), УникальныйИдентификатор);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СертификатыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
СсылкаНаСертификат = ПолучитьСсылкуНаСертификат(Элементы.Сертификаты.ТекущиеДанные.Отпечаток);
|
||||
Если Не ЗначениеЗаполнено(СсылкаНаСертификат) Тогда
|
||||
ЭлектроннаяПодписьКлиент.ОткрытьСертификат(Элементы.Сертификаты.ТекущиеДанные.АдресСертификата);
|
||||
Иначе
|
||||
ЭлектроннаяПодписьКлиент.ОткрытьСертификат(СсылкаНаСертификат);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ПолучитьСсылкуНаСертификат(Отпечаток)
|
||||
Возврат ЭлектроннаяПодпись.СсылкаНаСертификат(Отпечаток);
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ДополнительныеПараметры()
|
||||
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
ДополнительныеПараметры.Вставить("ПриЧтенииСертификатовТокена", Истина);
|
||||
ДополнительныеПараметры.Вставить("Сертификат", СерийныйНомер);
|
||||
ДополнительныеПараметры.Вставить("ВводитьПарольВПрограммеЭлектроннойПодписи", Ложь);
|
||||
|
||||
Возврат ДополнительныеПараметры;
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
+9
@@ -318,4 +318,13 @@
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
<forms uuid="4d9df55f-724d-4792-96a7-885df898e7cc">
|
||||
<name>Токен</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Токен</value>
|
||||
</synonym>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
</mdclass:Catalog>
|
||||
@@ -556,7 +556,7 @@
|
||||
<id>212</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -587,7 +587,7 @@
|
||||
<id>213</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -847,6 +847,7 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<headerHeight>1</headerHeight>
|
||||
<footerHeight>1</footerHeight>
|
||||
<horizontalScrollBar>AutoUse</horizontalScrollBar>
|
||||
@@ -1320,10 +1321,6 @@
|
||||
<event>TextEditEnd</event>
|
||||
<name>ЗначениеДоступаОкончаниеВводаТекста</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>ChoiceProcessing</event>
|
||||
<name>ЗначениеДоступаОбработкаВыбора</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
@@ -1372,13 +1369,157 @@
|
||||
<autoCommandBar>
|
||||
<name>ЗначенияДоступаКоманднаяПанель</name>
|
||||
<id>235</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗначенияДоступаПодобратьЗначенияДоступа</name>
|
||||
<id>417</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Подобрать</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаПодобратьЗначенияДоступаРасширеннаяПодсказка</name>
|
||||
<id>418</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.ПодобратьЗначенияДоступа</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗначенияДоступаДобавить</name>
|
||||
<id>419</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаДобавитьРасширеннаяПодсказка</name>
|
||||
<id>420</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.ЗначенияДоступа.StandardCommand.Add</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗначенияДоступаУдалить</name>
|
||||
<id>421</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаУдалитьРасширеннаяПодсказка</name>
|
||||
<id>422</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.ЗначенияДоступа.StandardCommand.Delete</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ЗначенияДоступаСтандартныеКоманды</name>
|
||||
<id>423</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Значения доступа стандартные команды</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаСтандартныеКомандыРасширеннаяПодсказка</name>
|
||||
<id>424</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<extInfo xsi:type="form:ButtonGroupExtInfo">
|
||||
<commandSource>Item.ЗначенияДоступа</commandSource>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Addition">
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Поиск</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<name>ЗначенияДоступаПоиск</name>
|
||||
<id>425</id>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаПоискРасширеннаяПодсказка</name>
|
||||
<id>427</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ЗначенияДоступаПоискКонтекстноеМеню</name>
|
||||
<id>426</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<source>ЗначенияДоступа</source>
|
||||
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
</extInfo>
|
||||
</items>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>OnEditEnd</event>
|
||||
<name>ЗначенияДоступаПриОкончанииРедактирования</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>ChoiceProcessing</event>
|
||||
<name>ЗначенияДоступаОбработкаВыбора</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnStartEdit</event>
|
||||
<name>ЗначенияДоступаПриНачалеРедактирования</name>
|
||||
@@ -2479,12 +2620,12 @@
|
||||
<name>ВключитьРоли</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</title>
|
||||
<id>5</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Включить роли</value>
|
||||
<value>Включить выделенные роли</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -2505,12 +2646,12 @@
|
||||
<name>ИсключитьРоли</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</title>
|
||||
<id>6</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Исключить роли</value>
|
||||
<value>Исключить выделенные роли</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -2620,6 +2761,28 @@
|
||||
<currentRowUse>DontUse</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>ПодобратьЗначенияДоступа</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Подобрать</value>
|
||||
</title>
|
||||
<id>9</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Подобрать</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>ПодобратьЗначенияДоступа</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
@@ -385,18 +385,18 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗначениеДоступаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
Процедура ЗначенияДоступаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
|
||||
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначениеДоступаНачалоВыбора(
|
||||
ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка);
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначенияДоступаОбработкаВыбора(
|
||||
ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗначениеДоступаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
|
||||
Процедура ЗначениеДоступаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначениеДоступаОбработкаВыбора(
|
||||
ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначениеДоступаНачалоВыбора(
|
||||
ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -516,7 +516,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ВключитьРоли(Команда)
|
||||
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ВключитьВсе");
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ВключитьВыделенные");
|
||||
|
||||
ПользователиСлужебныйКлиент.РазвернутьПодсистемыРолей(ЭтотОбъект, Ложь);
|
||||
|
||||
@@ -525,7 +525,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ИсключитьРоли(Команда)
|
||||
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ИсключитьВсе");
|
||||
ОбработатьИнтерфейсРолей("ОбновитьСоставРолей", "ИсключитьВыделенные");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -535,6 +535,13 @@
|
||||
ПользователиСлужебныйКлиент.ВыбратьНазначение(ЭтотОбъект, НСтр("ru = 'Выбор назначения профиля групп доступа'"),,, ОписаниеОповещения);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПодобратьЗначенияДоступа(Команда)
|
||||
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначенияДоступаПодобрать(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
+6
-2
@@ -41,7 +41,7 @@
|
||||
|
||||
ВидыФорм =
|
||||
",ПодписаниеДанных,ШифрованиеДанных,РасшифровкаДанных,
|
||||
|,ВыборСертификатаДляПодписанияИлиРасшифровки,ПроверкаСертификата,";
|
||||
|,ВыборСертификатаДляПодписанияИлиРасшифровки,ПроверкаСертификата,Токен,";
|
||||
|
||||
Если СтрНайти(ВидыФорм, "," + ВидФормы + ",") = 0 Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
@@ -53,7 +53,11 @@
|
||||
ВладелецНовойФормы = Новый УникальныйИдентификатор;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяНовойФормы = "Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Форма." + ВидФормы;
|
||||
Если ВидФормы = "Токен" Тогда
|
||||
ИмяНовойФормы = "Справочник.ПрограммыЭлектроннойПодписиИШифрования.Форма." + ВидФормы;
|
||||
Иначе
|
||||
ИмяНовойФормы = "Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Форма." + ВидФормы;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Форма = ОткрытьФорму(ИмяНовойФормы, СерверныеПараметры, ВладелецНовойФормы,,,,
|
||||
|
||||
+10
-2
@@ -21,6 +21,7 @@
|
||||
ЭлектроннаяПодписьСлужебный.НастроитьПояснениеВводаПароля(ЭтотОбъект, ,
|
||||
Элементы.ПояснениеУсиленногоПароля.Имя);
|
||||
|
||||
УстановитьТипПодписи(Параметры.ТипПодписи);
|
||||
ЭлектроннаяПодписьСлужебный.НастроитьФормуПодписанияШифрованияРасшифровки(ЭтотОбъект);
|
||||
|
||||
Если ЭлектроннаяПодписьСлужебный.ИспользоватьСервисОблачнойПодписи() Тогда
|
||||
@@ -34,8 +35,6 @@
|
||||
МодульСервисКриптографииDSSПодтверждениеСервер.ПодтверждениеПриИзмененииСертификата(ЭтотОбъект, Сертификат);
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьТипПодписи(Параметры.ТипПодписи);
|
||||
|
||||
Если Не ЭлектроннаяПодпись.ДоступнаУсовершенствованнаяПодпись() Тогда
|
||||
ТипПодписи = Неопределено;
|
||||
Элементы.ТипПодписи.Видимость = Ложь;
|
||||
@@ -1045,7 +1044,15 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ОповеститьОбОкончанииСрокаДействия Тогда
|
||||
|
||||
ПараметрыОткрытияФормы = Новый Структура("Сертификат", Сертификат);
|
||||
Если РезультатПроверкиУдостоверяющегоЦентра <> Неопределено
|
||||
И РезультатПроверкиУдостоверяющегоЦентра.Действует
|
||||
И (ЗначениеЗаполнено(РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки)
|
||||
Или ЗначениеЗаполнено(РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения)) Тогда
|
||||
ПараметрыОткрытияФормы.Вставить("ДополнительныеДанныеПроверки", РезультатПроверкиУдостоверяющегоЦентра.Предупреждение);
|
||||
КонецЕсли;
|
||||
|
||||
ДействиеПриНажатии = Новый ОписаниеОповещения("ОткрытьФормуОповещенияОНеобходимостиЗаменыСертификата",
|
||||
ЭлектроннаяПодписьСлужебныйКлиент, ПараметрыОткрытияФормы);
|
||||
|
||||
@@ -1055,6 +1062,7 @@
|
||||
Сертификат);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
+9
-4
@@ -317,16 +317,17 @@
|
||||
ЭлектроннаяПодписьСлужебныйВызовСервера.ДобавитьОписаниеДополнительныхДанных(
|
||||
Новый Структура("Сертификат", Сертификат), ОписаниеФайлов, ТекстОшибок);
|
||||
|
||||
ТемаСообщения = "";
|
||||
ТекстОшибок = ТекстОшибок + НСтр("ru = 'Результат проверки на клиенте'") + ":" + Символы.ПС;
|
||||
ДополнитьТекстОшибками(ТекстОшибок, СоставПроверок);
|
||||
ДополнитьТекстОшибками(ТекстОшибок, СоставПроверок, Ложь, ТемаСообщения);
|
||||
|
||||
ТекстОшибок = ТекстОшибок + Символы.ПС + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Результат проверки на сервере ""%1"":'"), ИмяСервера) + Символы.ПС;
|
||||
ДополнитьТекстОшибками(ТекстОшибок, СоставПроверок, Истина);
|
||||
ДополнитьТекстОшибками(ТекстОшибок, СоставПроверок, Истина, ТемаСообщения);
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.СформироватьТехническуюИнформацию(
|
||||
ТекстОшибок, Новый Структура("Тема, Сообщение",
|
||||
НСтр("ru = 'Проблема при проверке сертификата электронной подписи'"),
|
||||
?(ПустаяСтрока(ТемаСообщения), НСтр("ru = 'Проблема при проверке сертификата электронной подписи'"), ТемаСообщения),
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ТекстОбращенияВТехническуюПоддержкуПриПроверкеСертификата()),
|
||||
Неопределено, ОписаниеФайлов);
|
||||
|
||||
@@ -2426,7 +2427,7 @@
|
||||
#КонецОбласти
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДополнитьТекстОшибками(ТекстОшибок, Проверки, НаСервере = Ложь)
|
||||
Процедура ДополнитьТекстОшибками(ТекстОшибок, Проверки, НаСервере = Ложь, ТемаСообщения = "")
|
||||
|
||||
СоставПроверок = ЭтотОбъект[?(НаСервере, "ПроверкиНаСервере", "ПроверкиНаКлиенте")];
|
||||
Для Каждого Проверка Из Проверки Цикл
|
||||
@@ -2442,6 +2443,10 @@
|
||||
ТекстОшибкиПроверки = ?(СоставПроверок.Свойство(Проверка + "Ошибка"),
|
||||
СокрЛП(ПроверкиНаКлиенте[Проверка + "Ошибка"]), "");
|
||||
|
||||
Если ПустаяСтрока(ТемаСообщения) И Не ПустаяСтрока(ТекстОшибкиПроверки) Тогда
|
||||
ТемаСообщения = ТекстОшибкиПроверки;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибок = ТекстОшибок + Проверка + ": "
|
||||
+ ?(РезультатПроверки = Неопределено, НСтр("ru = 'Не выполнялась из-за предыдущих ошибок'"),
|
||||
Формат(РезультатПроверки, НСтр("ru = 'БЛ=Ошибка; БИ=Успех'")))
|
||||
|
||||
BIN
Binary file not shown.
+1
-1
@@ -836,7 +836,7 @@
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
<templates uuid="5189beb9-b939-4f97-aca0-c2f3492ac8b9">
|
||||
<name>КомпонентаExtraCryptoAPI_3_0_3_11</name>
|
||||
<name>КомпонентаExtraCryptoAPI_3_0_3_33</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Компонента ExtraCryptoAPI</value>
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаИнформацияОНастрокеВОднойБазе</name>
|
||||
<name>ГруппаИнформацияОНастройкеВОднойБазе</name>
|
||||
<id>164</id>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>Декорация3</name>
|
||||
@@ -180,11 +180,11 @@
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Информация о настроке в одной базе</value>
|
||||
<value>Информация о настройке в одной базе</value>
|
||||
</title>
|
||||
<horizontalStretch>true</horizontalStretch>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаИнформацияОНастрокеВОднойБазеРасширеннаяПодсказка</name>
|
||||
<name>ГруппаИнформацияОНастройкеВОднойБазеРасширеннаяПодсказка</name>
|
||||
<id>165</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -222,7 +222,7 @@
|
||||
<segments>Объект.Description</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>НаименованиеРасширеннаяПодсказка</name>
|
||||
<name>НаименованиеExtendedTooltip</name>
|
||||
<id>129</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -258,7 +258,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>КодРасширеннаяПодсказка</name>
|
||||
<name>КодExtendedTooltip</name>
|
||||
<id>130</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -339,7 +339,7 @@
|
||||
<name>ИспользоватьРегламентноеЗаданиеПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ИспользоватьРегламентноеЗаданиеРасширеннаяПодсказка</name>
|
||||
<name>ИспользоватьРегламентноеЗаданиеExtendedTooltip</name>
|
||||
<id>132</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -374,7 +374,7 @@
|
||||
</userVisible>
|
||||
<skipOnInput>false</skipOnInput>
|
||||
<extendedTooltip>
|
||||
<name>НастроитьРасписаниеРегламентногоЗаданияРасширеннаяПодсказка</name>
|
||||
<name>НастроитьРасписаниеРегламентногоЗаданияExtendedTooltip</name>
|
||||
<id>133</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
@@ -406,7 +406,7 @@
|
||||
<value>Обмен по расписанию</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ОбменПоРасписаниюРасширеннаяПодсказка</name>
|
||||
<name>ОбменПоРасписаниюExtendedTooltip</name>
|
||||
<id>131</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -554,7 +554,7 @@
|
||||
<segments>Объект.НастройкиОбмена.LineNumber</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>НастройкиОбменаНомерСтрокиРасширеннаяПодсказка</name>
|
||||
<name>НастройкиОбменаНомерСтрокиExtendedTooltip</name>
|
||||
<id>138</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -594,7 +594,7 @@
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<extendedTooltip>
|
||||
<name>НастройкиОбменаРезультатВыполненияОбменаРасширеннаяПодсказка</name>
|
||||
<name>НастройкиОбменаРезультатВыполненияОбменаExtendedTooltip</name>
|
||||
<id>140</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -643,7 +643,7 @@
|
||||
<name>НастройкиОбменаУзелИнформационнойБазыПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>НастройкиОбменаУзелИнформационнойБазыРасширеннаяПодсказка</name>
|
||||
<name>НастройкиОбменаУзелИнформационнойБазыExtendedTooltip</name>
|
||||
<id>141</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -690,7 +690,7 @@
|
||||
<value>Колонки узла информационной базы</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>КолонкиУзлаИнформационнойБазыРасширеннаяПодсказка</name>
|
||||
<name>КолонкиУзлаИнформационнойБазыExtendedTooltip</name>
|
||||
<id>139</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -718,7 +718,7 @@
|
||||
<segments>Объект.НастройкиОбмена.ВидТранспортаОбмена</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>НастройкиОбменаВидТранспортаОбменаРасширеннаяПодсказка</name>
|
||||
<name>НастройкиОбменаВидТранспортаОбменаExtendedTooltip</name>
|
||||
<id>142</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -764,7 +764,7 @@
|
||||
<segments>Объект.НастройкиОбмена.ВыполняемоеДействие</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>НастройкиОбменаВыполняемоеДействиеРасширеннаяПодсказка</name>
|
||||
<name>НастройкиОбменаВыполняемоеДействиеExtendedTooltip</name>
|
||||
<id>143</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -875,7 +875,7 @@
|
||||
</extInfo>
|
||||
</searchControlAddition>
|
||||
<extendedTooltip>
|
||||
<name>СоставРасписанияРасширеннаяПодсказка</name>
|
||||
<name>СоставРасписанияExtendedTooltip</name>
|
||||
<id>137</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -901,7 +901,7 @@
|
||||
</userVisible>
|
||||
<skipOnInput>false</skipOnInput>
|
||||
<extendedTooltip>
|
||||
<name>НастройкиТранспортаРасширеннаяПодсказка</name>
|
||||
<name>НастройкиТранспортаExtendedTooltip</name>
|
||||
<id>135</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -932,7 +932,7 @@
|
||||
</userVisible>
|
||||
<skipOnInput>false</skipOnInput>
|
||||
<extendedTooltip>
|
||||
<name>КонтекстноеМенюСоставРасписанияПерейтиВЖурналРегистрацииРасширеннаяПодсказка</name>
|
||||
<name>КонтекстноеМенюСоставРасписанияПерейтиВЖурналРегистрацииExtendedTooltip</name>
|
||||
<id>136</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -984,7 +984,7 @@
|
||||
<value>Состав настройки обмена</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СоставРасширеннаяПодсказка</name>
|
||||
<name>СоставExtendedTooltip</name>
|
||||
<id>134</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1017,7 +1017,7 @@
|
||||
<segments>Объект.Комментарий</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>КомментарийРасширеннаяПодсказка</name>
|
||||
<name>КомментарийExtendedTooltip</name>
|
||||
<id>146</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1060,7 +1060,7 @@
|
||||
<value>Дополнительно</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ДополнительноРасширеннаяПодсказка</name>
|
||||
<name>ДополнительноExtendedTooltip</name>
|
||||
<id>145</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1095,7 +1095,7 @@
|
||||
</userVisible>
|
||||
<skipOnInput>false</skipOnInput>
|
||||
<extendedTooltip>
|
||||
<name>ВыполнитьОбменРасширеннаяПодсказка</name>
|
||||
<name>ВыполнитьОбменExtendedTooltip</name>
|
||||
<id>127</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1317,7 +1317,39 @@
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<navigationPanel>
|
||||
<cmiFragmentRecord>
|
||||
<command>0</command>
|
||||
<type>Added</type>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
</cmiFragmentRecord>
|
||||
<cmiFragmentRecord>
|
||||
<command>0</command>
|
||||
<type>Added</type>
|
||||
<index>3</index>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
</cmiFragmentRecord>
|
||||
<cmiFragmentRecord>
|
||||
<command>0</command>
|
||||
<type>Added</type>
|
||||
<index>1</index>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
</cmiFragmentRecord>
|
||||
<cmiFragmentRecord>
|
||||
<command>0</command>
|
||||
<type>Added</type>
|
||||
<index>2</index>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
</cmiFragmentRecord>
|
||||
</navigationPanel>
|
||||
<commandBar/>
|
||||
</commandInterface>
|
||||
<extInfo xsi:type="form:CatalogFormExtInfo">
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
Элементы.НастройкиОбменаВидТранспортаОбмена.Видимость = Ложь;
|
||||
Элементы.НастройкиОбменаУзелИнформационнойБазы.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать;
|
||||
Элементы.НастройкиОбменаУзелИнформационнойБазы.КнопкаВыпадающегоСписка = Ложь;
|
||||
Элементы.ГруппаИнформацияОНастрокеВОднойБазе.Видимость = Истина;
|
||||
Элементы.ГруппаИнформацияОНастройкеВОднойБазе.Видимость = Истина;
|
||||
Элементы.ГруппаСценарийОтключен.Видимость = Объект.ОтключенАвтоматически;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -194,13 +194,19 @@
|
||||
|
||||
Если Модифицированность ИЛИ ЭтоНовый Тогда
|
||||
|
||||
Записать();
|
||||
Если Не Записать() Тогда
|
||||
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
НомерОбрабатываемойСтроки = 1;
|
||||
КоличествоСтрок = Объект.НастройкиОбмена.Количество();
|
||||
|
||||
Элементы.СоставРасписания.ТолькоПросмотр = Истина;
|
||||
|
||||
ПодключитьОбработчикОжидания("ВыполнитьОбменДаннымиНаКлиенте", 0.1, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -318,9 +324,14 @@
|
||||
Процедура ВыполнитьОбменДаннымиНаКлиенте()
|
||||
|
||||
Если НомерОбрабатываемойСтроки > КоличествоСтрок Тогда // выход из рекурсии
|
||||
|
||||
ВыводитьСостояние = (КоличествоСтрок > 1);
|
||||
Состояние(НСтр("ru = 'Данные синхронизированы.'"), ?(ВыводитьСостояние, 100, Неопределено));
|
||||
|
||||
Элементы.СоставРасписания.ТолькоПросмотр = Ложь;
|
||||
|
||||
Возврат; // выходим
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ТекущиеДанные = Объект.НастройкиОбмена[НомерОбрабатываемойСтроки - 1];
|
||||
|
||||
@@ -228,6 +228,12 @@
|
||||
ЗаданиеОбъект = РегламентныеЗаданияСервер.Задание(ЗаданиеGUID);
|
||||
КонецЕсли;
|
||||
|
||||
ОбластьДанных = ПараметрыСеанса["ОбластьДанныхЗначение"];
|
||||
|
||||
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
|
||||
ЧасовойПояс = МодульРаботаВМоделиСервиса.ПолучитьЧасовойПоясОбластиДанных(ОбластьДанных);
|
||||
ЗапланированныйМоментЗапуска = МестноеВремя(ТекущаяУниверсальнаяДата(), ЧасовойПояс);
|
||||
|
||||
Если ЗаданиеОбъект = Неопределено Тогда
|
||||
|
||||
ПараметрыПроцедуры = Новый Массив;
|
||||
@@ -238,9 +244,9 @@
|
||||
ПараметрыЗадания = Новый Структура;
|
||||
ПараметрыЗадания.Вставить("Ключ", Лев(Ключ, 120));
|
||||
ПараметрыЗадания.Вставить("ИмяМетода" , "ОбменДаннымиВнутренняяПубликация.ВыполнитьОбменДаннымиПоСценарию");
|
||||
ПараметрыЗадания.Вставить("ОбластьДанных", ПараметрыСеанса["ОбластьДанныхЗначение"]);
|
||||
ПараметрыЗадания.Вставить("ОбластьДанных", ОбластьДанных);
|
||||
ПараметрыЗадания.Вставить("Использование", Истина);
|
||||
ПараметрыЗадания.Вставить("ЗапланированныйМоментЗапуска", ТекущаяДатаСеанса());
|
||||
ПараметрыЗадания.Вставить("ЗапланированныйМоментЗапуска", ЗапланированныйМоментЗапуска);
|
||||
ПараметрыЗадания.Вставить("Параметры", ПараметрыПроцедуры);
|
||||
ПараметрыЗадания.Вставить("Использование", ТекущийОбъект.ИспользоватьРегламентноеЗадание);
|
||||
|
||||
@@ -257,7 +263,7 @@
|
||||
|
||||
ПараметрыЗадания = Новый Структура;
|
||||
ПараметрыЗадания.Вставить("Использование", ТекущийОбъект.ИспользоватьРегламентноеЗадание);
|
||||
ПараметрыЗадания.Вставить("ЗапланированныйМоментЗапуска", ТекущаяДатаСеанса());
|
||||
ПараметрыЗадания.Вставить("ЗапланированныйМоментЗапуска", ЗапланированныйМоментЗапуска);
|
||||
|
||||
Если РасписаниеРегламентногоЗадания <> Неопределено Тогда
|
||||
ПараметрыЗадания.Вставить("Расписание", РасписаниеРегламентногоЗадания);
|
||||
@@ -306,18 +312,14 @@
|
||||
//
|
||||
Процедура ОчиститьСсылкиНаУзелИнформационнойБазы(Знач УзелИнформационнойБазы) Экспорт
|
||||
|
||||
Если ОбщегоНазначения.РазделениеВключено()
|
||||
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос(
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| СценарииОбменовДаннымиНастройкиОбмена.Ссылка КАК СценарийОбменаДанными
|
||||
|ИЗ
|
||||
| Справочник.СценарииОбменовДанными.НастройкиОбмена КАК СценарииОбменовДаннымиНастройкиОбмена
|
||||
|ГДЕ
|
||||
| СценарииОбменовДаннымиНастройкиОбмена.УзелИнформационнойБазы = &УзелИнформационнойБазы");
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| СценарииОбменовДаннымиНастройкиОбмена.Ссылка КАК СценарийОбменаДанными
|
||||
|ИЗ
|
||||
| Справочник.СценарииОбменовДанными.НастройкиОбмена КАК СценарииОбменовДаннымиНастройкиОбмена
|
||||
|ГДЕ
|
||||
| СценарииОбменовДаннымиНастройкиОбмена.УзелИнформационнойБазы = &УзелИнформационнойБазы");
|
||||
|
||||
Запрос.УстановитьПараметр("УзелИнформационнойБазы", УзелИнформационнойБазы);
|
||||
|
||||
ТаблицаСценарии = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
@@ -22,15 +22,21 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
|
||||
|
||||
Если РазделениеВключено
|
||||
И ИспользоватьРегламентноеЗадание
|
||||
И ОтключенАвтоматически Тогда
|
||||
МодульОбменДаннымиВнутренняяПубликация = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиВнутренняяПубликация");
|
||||
|
||||
ОтключенАвтоматически = Ложь;
|
||||
РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
|
||||
|
||||
ОбменДаннымиВнутренняяПубликация.УдалитьЗадачиПоСценариюСОшибкой(Ссылка);
|
||||
Если РазделениеВключено
|
||||
И ИспользоватьРегламентноеЗадание
|
||||
И ОтключенАвтоматически Тогда
|
||||
|
||||
ОтключенАвтоматически = Ложь;
|
||||
|
||||
МодульОбменДаннымиВнутренняяПубликация.УдалитьЗадачиПоСценариюСОшибкой(Ссылка);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<segments>Список.Представление</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СписокПредставлениеРасширеннаяПодсказка</name>
|
||||
<name>СписокПредставлениеExtendedTooltip</name>
|
||||
<id>23</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -85,7 +85,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СписокВыбратьЗначениеРасширеннаяПодсказка</name>
|
||||
<name>СписокВыбратьЗначениеExtendedTooltip</name>
|
||||
<id>21</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -181,7 +181,7 @@
|
||||
</extInfo>
|
||||
</searchControlAddition>
|
||||
<extendedTooltip>
|
||||
<name>СписокРасширеннаяПодсказка</name>
|
||||
<name>СписокExtendedTooltip</name>
|
||||
<id>22</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -209,7 +209,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СписокКонтекстноеМенюВыбратьЗначениеРасширеннаяПодсказка</name>
|
||||
<name>СписокКонтекстноеМенюВыбратьЗначениеExtendedTooltip</name>
|
||||
<id>17</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -236,7 +236,7 @@
|
||||
<value>Контекстное меню группа 1</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СписокКонтекстноеМенюГруппа1РасширеннаяПодсказка</name>
|
||||
<name>СписокКонтекстноеМенюГруппа1ExtendedTooltip</name>
|
||||
<id>16</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -256,7 +256,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СписокКонтекстноеМенюКопироватьВБуферОбменаРасширеннаяПодсказка</name>
|
||||
<name>СписокКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip</name>
|
||||
<id>18</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -282,7 +282,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СписокКонтекстноеМенюВыделитьВсеРасширеннаяПодсказка</name>
|
||||
<name>СписокКонтекстноеМенюВыделитьВсеExtendedTooltip</name>
|
||||
<id>19</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -308,7 +308,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СписокКонтекстноеМенюВывестиСписокРасширеннаяПодсказка</name>
|
||||
<name>СписокКонтекстноеМенюВывестиСписокExtendedTooltip</name>
|
||||
<id>20</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
@@ -14,6 +14,14 @@
|
||||
Параметры.Свойство("ВыборГруппИЭлементов", ВыборГруппИЭлементов);
|
||||
|
||||
РежимПодбора = (Параметры.ЗакрыватьПриВыборе = Ложь);
|
||||
|
||||
// Проверка, что форма открыта с нужными параметрами
|
||||
Если Не Параметры.Свойство("ИмяРеквизита") Тогда
|
||||
|
||||
ВызватьИсключение НСтр("ru = 'Эта форма не предназначена для непосредственного открытия.'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИмяРеквизита = Параметры.ИмяРеквизита;
|
||||
|
||||
Если Параметры.ПараметрыВнешнегоСоединения.ТипСоединения = "ВнешнееСоединение" Тогда
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<skipOnInput>true</skipOnInput>
|
||||
<titleLocation>None</titleLocation>
|
||||
<extendedTooltip>
|
||||
<name>ПолеHTMLДокументаРасширеннаяПодсказка</name>
|
||||
<name>ПолеHTMLДокументаExtendedTooltip</name>
|
||||
<id>5</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -60,7 +60,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаЗакрытьРасширеннаяПодсказка</name>
|
||||
<name>ФормаЗакрытьExtendedTooltip</name>
|
||||
<id>4</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
@@ -11,6 +11,13 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
// Проверка, что форма открыта с нужными параметрами
|
||||
Если Не Параметры.Свойство("ИмяМакета") Тогда
|
||||
|
||||
ВызватьИсключение НСтр("ru = 'Эта форма не предназначена для непосредственного открытия.'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Макет = ПолучитьОбщийМакет(Параметры.ИмяМакета);
|
||||
|
||||
ПолеHTMLДокумента = Макет.ПолучитьТекст();
|
||||
|
||||
@@ -456,7 +456,7 @@
|
||||
<value>Право обновления страницы</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ПравоОбновленияСтраницыРасширеннаяПодсказка</name>
|
||||
<name>ПравоОбновленияСтраницыExtendedTooltip</name>
|
||||
<id>746</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1551,7 +1551,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаИзменитьФормуРасширеннаяПодсказка</name>
|
||||
<name>ФормаИзменитьФормуExtendedTooltip</name>
|
||||
<id>483</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1577,7 +1577,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаСправкаРасширеннаяПодсказка</name>
|
||||
<name>ФормаСправкаExtendedTooltip</name>
|
||||
<id>487</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1604,7 +1604,7 @@
|
||||
<value>Командная панель</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>КоманднаяПанельРасширеннаяПодсказка</name>
|
||||
<name>КоманднаяПанельExtendedTooltip</name>
|
||||
<id>462</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
@@ -1699,8 +1699,8 @@
|
||||
|
||||
ИначеЕсли ОтключенныеСценарии.Количество() > 1 Тогда
|
||||
|
||||
ТекстПредупреждения =
|
||||
НСтр("ru = 'Обнаружены <a href = ""СписокСценариев"">сценарии</a>, которые были отключены из-за ошибок выполнения. Включите сценарий после устранения проблем.'");
|
||||
Шаблон = НСтр("ru = 'Обнаружены <a href = ""%1"">сценарии</a>, которые были отключены из-за ошибок выполнения. Включите сценарий после устранения проблем.'");
|
||||
ТекстПредупреждения = СтрШаблон(Шаблон, "СписокСценариев");
|
||||
|
||||
Элементы.ПредупреждениеОбОтключенныхСценарияхОписание.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(ТекстПредупреждения);
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -542,7 +542,12 @@
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("ЗаголовокПредупреждения", НСтр("ru = 'Результат проверки приложения'"));
|
||||
ПараметрыФормы.Вставить("ТекстОшибкиКлиент", ТекущиеДанные.РезультатПроверки);
|
||||
Если ТекущиеДанные.ЭтоТокен И СтрНайти(ТекущиеДанные.РезультатПроверки, ЭлектроннаяПодписьСлужебныйКлиент.ОшибкаНеНайденТокен()) <> 0 Тогда
|
||||
ПараметрыФормы.Вставить("ТекстОшибкиКлиент", ТекущиеДанные.РезультатПроверки + Символы.ПС + ЭлектроннаяПодписьСлужебныйКлиент.РекомендацииДляТокена());
|
||||
Иначе
|
||||
ПараметрыФормы.Вставить("ТекстОшибкиКлиент", ТекущиеДанные.РезультатПроверки);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыФормы.Вставить("ТекстОшибкиСервер", ТекущиеДанные.РезультатПроверкиНаСервере);
|
||||
ПараметрыФормы.Вставить("ПоказатьТребуетсяПомощь", Истина);
|
||||
ПараметрыФормы.Вставить("ПоказатьИнструкцию", Истина);
|
||||
@@ -552,12 +557,22 @@
|
||||
ИначеЕсли Не ЗначениеЗаполнено(ТекущиеДанные.Ссылка) Тогда
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ОписаниеПрограммы = ЭлектроннаяПодписьСлужебныйКлиентСервер.НовоеРасширенноеОписаниеПрограммы();
|
||||
ЗаполнитьЗначенияСвойств(ОписаниеПрограммы, ТекущиеДанные);
|
||||
ОписаниеПрограммы.Представление = ТекущиеДанные.Наименование;
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ОткрытьФормуПрограммы(ОписаниеПрограммы, ЭтотОбъект);
|
||||
Если ТекущиеДанные.ЭтоТокен Тогда
|
||||
Если ЗначениеЗаполнено(ТекущиеДанные.Слот) Тогда
|
||||
ОписаниеТокена = ЭлектроннаяПодписьСлужебныйКлиент.НовыеСвойстваТокена();
|
||||
ОписаниеТокена.Представление = ТекущиеДанные.Наименование;
|
||||
ОписаниеТокена.СерийныйНомер = ТекущиеДанные.ИмяПрограммы;
|
||||
ОписаниеТокена.Слот = ТекущиеДанные.Слот;
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ОткрытьТокен(ОписаниеТокена, ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ОписаниеПрограммы = ЭлектроннаяПодписьСлужебныйКлиентСервер.НовоеРасширенноеОписаниеПрограммы();
|
||||
ЗаполнитьЗначенияСвойств(ОписаниеПрограммы, ТекущиеДанные);
|
||||
ОписаниеПрограммы.Представление = ТекущиеДанные.Наименование;
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ОткрытьФормуПрограммы(ОписаниеПрограммы, ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -739,6 +754,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ДобавитьСертификатыВЛичномХранилищеВПараметрДинамическогоСписка()
|
||||
|
||||
Элементы.ГруппаОбновлениеСпискаСертификатов.Видимость = Истина;
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьСвойстваСертификатовНаКлиенте(
|
||||
Новый ОписаниеОповещения("ОбновитьСписокСертификатовПослеПолученияСвойствСертификатовНаКлиенте", ЭтотОбъект),
|
||||
Истина, Истина, Истина);
|
||||
@@ -748,6 +764,8 @@
|
||||
&НаКлиенте
|
||||
Процедура ОбновитьСписокСертификатовПослеПолученияСвойствСертификатовНаКлиенте(Результат, Параметры) Экспорт
|
||||
|
||||
Элементы.ГруппаОбновлениеСпискаСертификатов.Видимость = Ложь;
|
||||
|
||||
Для Каждого КлючИЗначение Из Результат.СвойстваСертификатовНаКлиенте Цикл
|
||||
СертификатыВЛичномХранилище.Добавить(КлючИЗначение.Ключ);
|
||||
КонецЦикла;
|
||||
@@ -1050,7 +1068,7 @@
|
||||
Процедура ОпределитьУстановленныеПрограммыПослеПодключенияРасширения(Подключено, Контекст) Экспорт
|
||||
|
||||
Если Подключено Тогда
|
||||
Элементы.СтраницыПрограммыИОбновление.ТекущаяСтраница = Элементы.СтраницаПрограммыОбновление;
|
||||
Элементы.ГруппаПрограммыОбновление.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
@@ -1127,11 +1145,12 @@
|
||||
|
||||
Если Программы.Количество() <= Контекст.Индекс + 1 Тогда
|
||||
// После цикла.
|
||||
Элементы.СтраницыПрограммыИОбновление.ТекущаяСтраница = Элементы.СтраницаПрограммыСписок;
|
||||
Элементы.ГруппаПрограммыОбновление.Видимость = Ложь;
|
||||
ТекущийЭлемент = Элементы.Программы;
|
||||
ОбновитьLinuxПутьКПрограмме();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Индекс = Контекст.Индекс + 1;
|
||||
ОписаниеПрограммы = Программы.Получить(Контекст.Индекс);
|
||||
|
||||
@@ -1173,6 +1192,9 @@
|
||||
ОбновитьЗначение(ОписаниеПрограммы.Установлена, Истина);
|
||||
ОбработчикОжиданияОпределитьУстановленныеПрограммыЦиклНачало(Контекст);
|
||||
Возврат;
|
||||
ИначеЕсли ОписаниеПрограммы.ЭтоТокен Тогда
|
||||
ОбработчикОжиданияОпределитьУстановленныеПрограммыЦиклНачало(Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Контекст.РасширениеПодключено Тогда
|
||||
@@ -1352,6 +1374,29 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Токен Из Результат.Токены Цикл
|
||||
|
||||
Найдено = Программы.НайтиСтроки(Новый Структура("ИмяПрограммы, ТипПрограммы",
|
||||
Токен.СерийныйНомер, Токен.Токен));
|
||||
|
||||
Если Найдено.Количество() = 0 Тогда
|
||||
НоваяСтрока = Программы.Добавить();
|
||||
Иначе
|
||||
НоваяСтрока = Найдено[0];
|
||||
КонецЕсли;
|
||||
|
||||
НоваяСтрока.ТипРазмещения = 1;
|
||||
НоваяСтрока.Автоопределение = Истина;
|
||||
НоваяСтрока.РежимИспользованияКартинка = -1;
|
||||
НоваяСтрока.Наименование = Токен.Представление;
|
||||
НоваяСтрока.ЭтоТокен = Истина;
|
||||
НоваяСтрока.ИмяПрограммы = Токен.СерийныйНомер;
|
||||
НоваяСтрока.Слот = Токен.Слот;
|
||||
НоваяСтрока.РезультатПроверки = ?(ЗначениеЗаполнено(Токен.Ошибка), Токен.Ошибка, НСтр("ru = 'Доступен.'"));
|
||||
НоваяСтрока.Подробнее = ?(ЗначениеЗаполнено(Токен.Ошибка), НСтр("ru = 'Подробнее'") + "...", "");
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Локализация
|
||||
Если Не ЕстьПроверяемыеПрограммы Тогда
|
||||
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = Истина;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация3РасширеннаяПодсказка</name>
|
||||
<name>Декорация3ExtendedTooltip</name>
|
||||
<id>34</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -42,7 +42,7 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:PictureDecorationExtInfo">
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>StdPicture.DialogExclamation</picture>
|
||||
<picture>CommonPicture.Предупреждение32</picture>
|
||||
</picture>
|
||||
</extInfo>
|
||||
</items>
|
||||
@@ -62,7 +62,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация1РасширеннаяПодсказка</name>
|
||||
<name>Декорация1ExtendedTooltip</name>
|
||||
<id>35</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -93,7 +93,7 @@
|
||||
<value>Группа</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>Группа7РасширеннаяПодсказка</name>
|
||||
<name>Группа7ExtendedTooltip</name>
|
||||
<id>33</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -123,7 +123,7 @@
|
||||
</title>
|
||||
<verticalStretch>true</verticalStretch>
|
||||
<extendedTooltip>
|
||||
<name>НачалоРасширеннаяПодсказка</name>
|
||||
<name>НачалоExtendedTooltip</name>
|
||||
<id>32</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -154,7 +154,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация4РасширеннаяПодсказка</name>
|
||||
<name>Декорация4ExtendedTooltip</name>
|
||||
<id>38</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -192,7 +192,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация5РасширеннаяПодсказка</name>
|
||||
<name>Декорация5ExtendedTooltip</name>
|
||||
<id>39</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -224,7 +224,7 @@
|
||||
<value>Группа</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>Группа8РасширеннаяПодсказка</name>
|
||||
<name>Группа8ExtendedTooltip</name>
|
||||
<id>37</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -252,7 +252,7 @@
|
||||
<value>Ожидание</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ОжиданиеРасширеннаяПодсказка</name>
|
||||
<name>ОжиданиеExtendedTooltip</name>
|
||||
<id>36</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -283,7 +283,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация6РасширеннаяПодсказка</name>
|
||||
<name>Декорация6ExtendedTooltip</name>
|
||||
<id>42</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -320,7 +320,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация2РасширеннаяПодсказка</name>
|
||||
<name>Декорация2ExtendedTooltip</name>
|
||||
<id>43</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -351,7 +351,7 @@
|
||||
<value>Группа</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>Группа9РасширеннаяПодсказка</name>
|
||||
<name>Группа9ExtendedTooltip</name>
|
||||
<id>41</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -380,7 +380,7 @@
|
||||
<value>Завершение</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ЗавершениеРасширеннаяПодсказка</name>
|
||||
<name>ЗавершениеExtendedTooltip</name>
|
||||
<id>40</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -407,7 +407,7 @@
|
||||
</title>
|
||||
<verticalStretch>true</verticalStretch>
|
||||
<extendedTooltip>
|
||||
<name>ПанельОсновнаяРасширеннаяПодсказка</name>
|
||||
<name>ПанельОсновнаяExtendedTooltip</name>
|
||||
<id>31</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -443,7 +443,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ПрекратитьСинхронизациюДанныхРасширеннаяПодсказка</name>
|
||||
<name>ПрекратитьСинхронизациюДанныхExtendedTooltip</name>
|
||||
<id>47</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -473,7 +473,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ОтменитьРасширеннаяПодсказка</name>
|
||||
<name>ОтменитьExtendedTooltip</name>
|
||||
<id>48</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -500,7 +500,7 @@
|
||||
<value>Группа</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>Группа5РасширеннаяПодсказка</name>
|
||||
<name>Группа5ExtendedTooltip</name>
|
||||
<id>46</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -524,7 +524,7 @@
|
||||
<value>Страница навигации начало</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СтраницаНавигацииНачалоРасширеннаяПодсказка</name>
|
||||
<name>СтраницаНавигацииНачалоExtendedTooltip</name>
|
||||
<id>45</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -559,7 +559,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗакрытьРасширеннаяПодсказка</name>
|
||||
<name>ЗакрытьExtendedTooltip</name>
|
||||
<id>51</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -587,7 +587,7 @@
|
||||
</title>
|
||||
<enableContentChange>true</enableContentChange>
|
||||
<extendedTooltip>
|
||||
<name>Группа6РасширеннаяПодсказка</name>
|
||||
<name>Группа6ExtendedTooltip</name>
|
||||
<id>50</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -613,7 +613,7 @@
|
||||
<readOnly>true</readOnly>
|
||||
<enableContentChange>true</enableContentChange>
|
||||
<extendedTooltip>
|
||||
<name>СтраницаНавигацииОжиданиеРасширеннаяПодсказка</name>
|
||||
<name>СтраницаНавигацииОжиданиеExtendedTooltip</name>
|
||||
<id>49</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -648,7 +648,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Закрыть1РасширеннаяПодсказка</name>
|
||||
<name>Закрыть1ExtendedTooltip</name>
|
||||
<id>54</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -676,7 +676,7 @@
|
||||
</title>
|
||||
<enableContentChange>true</enableContentChange>
|
||||
<extendedTooltip>
|
||||
<name>Группа14РасширеннаяПодсказка</name>
|
||||
<name>Группа14ExtendedTooltip</name>
|
||||
<id>53</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -701,7 +701,7 @@
|
||||
</title>
|
||||
<enableContentChange>true</enableContentChange>
|
||||
<extendedTooltip>
|
||||
<name>СтраницаНавигацииОкончаниеРасширеннаяПодсказка</name>
|
||||
<name>СтраницаНавигацииОкончаниеExtendedTooltip</name>
|
||||
<id>52</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -727,7 +727,7 @@
|
||||
<value>Панель навигации</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ПанельНавигацииРасширеннаяПодсказка</name>
|
||||
<name>ПанельНавигацииExtendedTooltip</name>
|
||||
<id>44</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
@@ -11,6 +11,13 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
// Проверка, что форма открыта с нужными параметрами
|
||||
Если Не Параметры.Свойство("АвтономноеРабочееМесто") Тогда
|
||||
|
||||
ВызватьИсключение НСтр("ru = 'Эта форма не предназначена для непосредственного открытия.'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
АвтономноеРабочееМесто = Параметры.АвтономноеРабочееМесто;
|
||||
|
||||
Если Не ЗначениеЗаполнено(АвтономноеРабочееМесто) Тогда
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
ОбщегоНазначения.УстановитьУсловноеОформлениеСпискаВыбора(ЭтотОбъект, "ПочтовыйАдресПолучателейВариантОтправки", "ПочтовыеАдресаПолучателей.ВариантОтправки");
|
||||
ОбщегоНазначения.УстановитьУсловноеОформлениеСпискаВыбора(ЭтотОбъект,
|
||||
"ПочтовыйАдресПолучателейВариантОтправки", "ПочтовыеАдресаПолучателей.ВариантОтправки");
|
||||
|
||||
РезультатУспехЦвет = ЦветаСтиля.РезультатУспехЦвет;
|
||||
|
||||
@@ -640,7 +641,8 @@
|
||||
Процедура ПродолжитьОткрытиеФайлаMXLПослеСозданияКаталога(ИмяВременногоКаталога, ВыбранноеВложение) Экспорт
|
||||
|
||||
#Если Не ВебКлиент Тогда
|
||||
ИмяВременногоФайла = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременногоКаталога) + ВыбранноеВложение.Представление;
|
||||
ИмяВременногоФайла = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременногоКаталога)
|
||||
+ ВыбранноеВложение.Представление;
|
||||
ТабличныйДокумент = ПолучитьТабличныйДокументПоДвоичнымДанным(ВыбранноеВложение.АдресВоВременномХранилище);
|
||||
|
||||
ДвоичныеДанные = ПолучитьИзВременногоХранилища(ВыбранноеВложение.АдресВоВременномХранилище); // ДвоичныеДанные
|
||||
|
||||
@@ -528,7 +528,10 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПерейтиКУправлениюМакетами(Команда)
|
||||
ОткрытьФорму("РегистрСведений.ПользовательскиеМакетыПечати.Форма.МакетыПечатныхФорм");
|
||||
|
||||
НастройкаПечатнойФормы = НастройкаТекущейПечатнойФормы();
|
||||
УправлениеПечатьюКлиент.ПерейтиКМакету(НастройкаПечатнойФормы.ПутьКМакету);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
|
||||
@@ -279,7 +279,9 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПерейтиКУправлениюМакетами(Команда)
|
||||
ОткрытьФорму("РегистрСведений.ПользовательскиеМакетыПечати.Форма.МакетыПечатныхФорм");
|
||||
|
||||
УправлениеПечатьюКлиент.ПерейтиКМакету(НастройкиПечатныхФорм[0].ПутьКМакету);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
|
||||
@@ -385,8 +385,6 @@
|
||||
|
||||
ВсеГруппыДоступа = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
// Установка представления для группы доступа.
|
||||
// Удаление текущего пользователя из группы доступа, если он входит в нее только непосредственно.
|
||||
ЕстьЗапрещенныеГруппы = Ложь;
|
||||
Индекс = ВсеГруппыДоступа.Количество()-1;
|
||||
|
||||
|
||||
@@ -932,10 +932,6 @@
|
||||
<event>TextEditEnd</event>
|
||||
<name>ЗначениеДоступаОкончаниеВводаТекста</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>ChoiceProcessing</event>
|
||||
<name>ЗначениеДоступаОбработкаВыбора</name>
|
||||
</handlers>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
@@ -992,13 +988,157 @@
|
||||
<autoCommandBar>
|
||||
<name>ЗначенияДоступаКоманднаяПанель</name>
|
||||
<id>29</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗначенияДоступаПодобратьЗначенияДоступа</name>
|
||||
<id>159</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Подобрать</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаПодобратьЗначенияДоступаРасширеннаяПодсказка</name>
|
||||
<id>160</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.ПодобратьЗначенияДоступа</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗначенияДоступаДобавить</name>
|
||||
<id>166</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаДобавитьРасширеннаяПодсказка</name>
|
||||
<id>167</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.ЗначенияДоступа.StandardCommand.Add</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗначенияДоступаУдалить</name>
|
||||
<id>168</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаУдалитьРасширеннаяПодсказка</name>
|
||||
<id>169</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Item.ЗначенияДоступа.StandardCommand.Delete</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ЗначенияДоступаСтандартныеКоманды</name>
|
||||
<id>161</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Значения доступа стандартные команды</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаСтандартныеКомандыРасширеннаяПодсказка</name>
|
||||
<id>162</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<extInfo xsi:type="form:ButtonGroupExtInfo">
|
||||
<commandSource>Item.ЗначенияДоступа</commandSource>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Addition">
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Поиск</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<name>ЗначенияДоступаПоиск</name>
|
||||
<id>163</id>
|
||||
<extendedTooltip>
|
||||
<name>ЗначенияДоступаПоискРасширеннаяПодсказка</name>
|
||||
<id>165</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ЗначенияДоступаПоискКонтекстноеМеню</name>
|
||||
<id>164</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<source>ЗначенияДоступа</source>
|
||||
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
</extInfo>
|
||||
</items>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>OnEditEnd</event>
|
||||
<name>ЗначенияДоступаПриОкончанииРедактирования</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>ChoiceProcessing</event>
|
||||
<name>ЗначенияДоступаОбработкаВыбора</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnStartEdit</event>
|
||||
<name>ЗначенияДоступаПриНачалеРедактирования</name>
|
||||
@@ -1890,6 +2030,28 @@
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>ПодобратьЗначенияДоступа</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Подобрать</value>
|
||||
</title>
|
||||
<id>5</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Подобрать</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>ПодобратьЗначенияДоступа</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<parameters>
|
||||
<name>Пользователь</name>
|
||||
<valueType>
|
||||
|
||||
@@ -303,18 +303,18 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗначениеДоступаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
Процедура ЗначенияДоступаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
|
||||
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначениеДоступаНачалоВыбора(
|
||||
ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка);
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначенияДоступаОбработкаВыбора(
|
||||
ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗначениеДоступаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
|
||||
Процедура ЗначениеДоступаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначениеДоступаОбработкаВыбора(
|
||||
ЭтотОбъект, Элемент, ВыбранноеЗначение, СтандартнаяОбработка);
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначениеДоступаНачалоВыбора(
|
||||
ЭтотОбъект, Элемент, ДанныеВыбора, СтандартнаяОбработка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -377,6 +377,13 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПодобратьЗначенияДоступа(Команда)
|
||||
|
||||
УправлениеДоступомСлужебныйКлиент.ЗначенияДоступаПодобрать(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
@@ -70,6 +70,9 @@
|
||||
|
||||
ДанныеДляИзмененияМультиязычныхРеквизитов = МультиязычностьСервер.ДанныеДляИзмененияМультиязычныхРеквизитов();
|
||||
Если ДанныеДляИзмененияМультиязычныхРеквизитов <> Неопределено Тогда
|
||||
Если Не ДанныеДляИзмененияМультиязычныхРеквизитов.ОсновнойЯзыкИзменен И ОбщегоНазначения.ЭтоОсновнойЯзык() Тогда
|
||||
РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
|
||||
КонецЕсли;
|
||||
ПродолжитьИзменениеМультиязычныхРеквизитов = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -408,13 +411,13 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.Страницы.ТекущаяСтраница = Элементы.УспешноеЗавершение;
|
||||
ОбновитьПовторноИспользуемыеЗначения();
|
||||
|
||||
Элементы.Закрыть.КнопкаПоУмолчанию = Истина;
|
||||
Элементы.ОК.Видимость = Ложь;
|
||||
Элементы.Закрыть.Видимость = Истина;
|
||||
Элементы.Закрыть.КнопкаПоУмолчанию = Истина;
|
||||
ТекущийЭлемент = Элементы.Закрыть;
|
||||
ТекущийЭлемент = Элементы.Закрыть;
|
||||
Элементы.Страницы.ТекущаяСтраница = Элементы.УспешноеЗавершение;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -794,7 +794,35 @@
|
||||
|
||||
ПараметрыВыгрузки = Получатель.ДополнительныеСвойства.ПараметрыВыгрузки;
|
||||
|
||||
ЗаписатьXML(ПараметрыВыгрузки.ВыгруженныеДанные, ЭлементДанных);
|
||||
Попытка
|
||||
|
||||
ЗаписатьXML(ПараметрыВыгрузки.ВыгруженныеДанные, ЭлементДанных);
|
||||
|
||||
Исключение
|
||||
|
||||
МетаданныеЭлемента = ЭлементДанных.Метаданные();
|
||||
|
||||
Если ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеЭлемента) Тогда
|
||||
Шаблон = НСтр("ru = 'Навигационная ссылка: %1'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
Ссылка = СтрШаблон(Шаблон, ПолучитьНавигационнуюСсылку(ЭлементДанных.Ссылка));
|
||||
ИначеЕсли ОбщегоНазначения.ЭтоРегистр(МетаданныеЭлемента) Тогда
|
||||
Шаблон = НСтр("ru = 'Отбор: %1'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
Ссылка = СтрШаблон(Шаблон, ЭлементДанных.Отбор);
|
||||
Иначе
|
||||
Ссылка = "";
|
||||
КонецЕсли;
|
||||
|
||||
Шаблон = НСтр(
|
||||
"ru = 'Ошибка при записи элемента ""%1"" при создании начального образа
|
||||
|%2
|
||||
|Подробности см. в журнале регистрации.'",
|
||||
ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
ТекстИсключения = СтрШаблон(Шаблон, ЭлементДанных, Ссылка);
|
||||
|
||||
ВызватьИсключение ТекстИсключения;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Если ПараметрыВыгрузки.ИспользоватьОптимизированнуюЗапись Тогда
|
||||
|
||||
|
||||
@@ -329,6 +329,9 @@
|
||||
// При получении кодов через веб-сервиса выполнение функции может занимать 20 секунд.
|
||||
// Поэтому для исключения зависаний пользовательского интерфейса, например при открытии формы,
|
||||
// функцию следует вызвать в фоновом задании.
|
||||
// Если при попытке получения кодов через веб-сервис он оказывается недоступен или доступ к нему запрещен пользователем,
|
||||
// то функция возвращает структуру с пустыми полями.
|
||||
// Проверить, разрешен ли администратором доступ к веб-сервису адресов можно с помощью функции РазрешенДоступВИнтернет.
|
||||
//
|
||||
// Параметры:
|
||||
// Адрес - Строка - адрес во внутреннем формате JSON или XML, соответствующий структуре XDTO-пакета Адрес.
|
||||
|
||||
@@ -1648,7 +1648,7 @@
|
||||
|
||||
РезультатВебСервис = ЗаполнитьРезультатПроверкиАдресаПоКлассификаторуСервис1С(Адреса);
|
||||
|
||||
Если Не РезультатВебСервис.Отказ Тогда
|
||||
Если Не РезультатВебСервис.Отказ И РезультатВебСервис.Данные.Количество() > 0 Тогда
|
||||
|
||||
АдресПослеПроверки = РезультатВебСервис.Данные.Получить(1);
|
||||
Если Не АдресПослеПроверки.АдресКорректный Или АдресПослеПроверки.Варианты.Количество() = 0 Тогда
|
||||
|
||||
@@ -5462,9 +5462,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОтправитьSMS() Экспорт
|
||||
|
||||
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ОтправкаSMS);
|
||||
Функция СообщенияSMSДляОтправки()
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "
|
||||
@@ -5497,9 +5495,19 @@
|
||||
| Ссылка";
|
||||
|
||||
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса());
|
||||
Результат = Запрос.Выполнить();
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОтправитьSMS() Экспорт
|
||||
|
||||
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ОтправкаSMS);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Результат = Запрос.Выполнить();
|
||||
|
||||
Результат = СообщенияSMSДляОтправки();
|
||||
Если Результат.Пустой() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -5589,20 +5597,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработчик регламентного задания.
|
||||
// Выполняет процедуру обновления статусов доставки SMS по расписанию.
|
||||
//
|
||||
Процедура ОбновлениеСтатусовДоставкиSMS() Экспорт
|
||||
|
||||
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ОбновлениеСтатусовДоставкиSMS);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
МетаданныеДокумента = Метаданные.Документы.СообщениеSMS;
|
||||
|
||||
ТаблицаИзменившихсяСтатусов = Новый ТаблицаЗначений;
|
||||
ТаблицаИзменившихсяСтатусов.Колонки.Добавить("НомерСтроки");
|
||||
ТаблицаИзменившихсяСтатусов.Колонки.Добавить("СостояниеСообщения");
|
||||
Функция СообщенияSMSДляПроверкиСтатусов()
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "
|
||||
@@ -5622,7 +5617,26 @@
|
||||
|ИТОГИ ПО
|
||||
| Ссылка";
|
||||
|
||||
Результат = Запрос.Выполнить();
|
||||
Возврат Запрос.Выполнить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Обработчик регламентного задания.
|
||||
// Выполняет процедуру обновления статусов доставки SMS по расписанию.
|
||||
//
|
||||
Процедура ОбновлениеСтатусовДоставкиSMS() Экспорт
|
||||
|
||||
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ОбновлениеСтатусовДоставкиSMS);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
МетаданныеДокумента = Метаданные.Документы.СообщениеSMS;
|
||||
|
||||
ТаблицаИзменившихсяСтатусов = Новый ТаблицаЗначений;
|
||||
ТаблицаИзменившихсяСтатусов.Колонки.Добавить("НомерСтроки");
|
||||
ТаблицаИзменившихсяСтатусов.Колонки.Добавить("СостояниеСообщения");
|
||||
|
||||
Результат = СообщенияSMSДляПроверкиСтатусов();
|
||||
Если Результат.Пустой() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Определяет список справочников, доступных для загрузки с помощью подсистемы "Загрузка данных из файла".
|
||||
// Если справочник нужно исключить из списка загружаемых, то его следует удалить из таблицы.
|
||||
//
|
||||
// Параметры:
|
||||
// ЗагружаемыеСправочники - ТаблицаЗначений - список справочников, в которые возможна загрузка данных:
|
||||
@@ -17,6 +18,20 @@
|
||||
// * ПрикладнаяЗагрузка - Булево - если Истина, значит справочник использует собственный алгоритм загрузки и
|
||||
// в модуле менеджера справочника определены функции.
|
||||
//
|
||||
// Пример:
|
||||
//
|
||||
// // Собственный алгоритм загрузки в справочник Номенклатуры.
|
||||
// Сведения = ЗагружаемыеСправочники.Добавить();
|
||||
// Сведения.ПолноеИмя = Метаданные.Справочники.Номенклатура.ПолноеИмя();
|
||||
// Сведения.Представление = Метаданные.Справочники.Номенклатура.Представление();
|
||||
// Сведения.ПрикладнаяЗагрузка = Истина;
|
||||
//
|
||||
// //Загрузка в классификатор валюты запрещена.
|
||||
// СтрокаТаблицы = ЗагружаемыеСправочники.Найти(Метаданные.Справочники.Валюты.ПолноеИмя(), "ПолноеИмя");
|
||||
// Если СтрокаТаблицы <> Неопределено Тогда
|
||||
// ЗагружаемыеСправочники.Удалить(СтрокаТаблицы);
|
||||
// КонецЕсли;
|
||||
//
|
||||
Процедура ПриОпределенииСправочниковДляЗагрузкиДанных(ЗагружаемыеСправочники) Экспорт
|
||||
|
||||
|
||||
|
||||
@@ -82,6 +82,8 @@
|
||||
// Проверка необходимости восстановления связи с главным узлом.
|
||||
Параметры.Модули.Добавить(Новый Структура("Модуль, Номер", СтандартныеПодсистемыКлиент, 3));
|
||||
|
||||
Параметры.Модули.Добавить(СерверныеОповещенияКлиент);
|
||||
|
||||
// Проверка необходимости выбора начальных неизменяемых настроек ИБ (основной язык, часовой пояс).
|
||||
Параметры.Модули.Добавить(Новый Структура("Модуль, Номер", СтандартныеПодсистемыКлиент, 4));
|
||||
|
||||
@@ -104,8 +106,6 @@
|
||||
// Проверка статуса обработчиков отложенного обновления.
|
||||
Параметры.Модули.Добавить(Новый Структура("Модуль, Номер", ОбновлениеИнформационнойБазыКлиент, 2));
|
||||
|
||||
Параметры.Модули.Добавить(СерверныеОповещенияКлиент);
|
||||
|
||||
// Загрузка/обновление параметров работы программы.
|
||||
Параметры.Модули.Добавить(Новый Структура("Модуль, Номер", ОбновлениеИнформационнойБазыКлиент, 3));
|
||||
|
||||
|
||||
@@ -526,8 +526,20 @@
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Если ДанныеДляИзмененияМультиязычныхРеквизитов() <> Неопределено Тогда
|
||||
Возврат Истина;
|
||||
ДанныеИзмененияМультиязычныхРеквизитов = ДанныеДляИзмененияМультиязычныхРеквизитов();
|
||||
Если ДанныеИзмененияМультиязычныхРеквизитов <> Неопределено Тогда
|
||||
Если ДанныеИзмененияМультиязычныхРеквизитов.ОсновнойЯзыкИзменен
|
||||
Или Пользователи.ЭтоПолноправныйПользователь(,, Ложь) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если (ДанныеИзмененияМультиязычныхРеквизитов.ПервыйДополнительныйЯзыкИзменен
|
||||
И ТекущийЯзык().КодЯзыка = КодПервогоДополнительногоЯзыкаИнформационнойБазы())
|
||||
Или (ДанныеИзмененияМультиязычныхРеквизитов.ВторойДополнительныйЯзыкИзменен
|
||||
И ТекущийЯзык().КодЯзыка = КодВторогоДополнительногоЯзыкаИнформационнойБазы()) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Константы.ОсновнойЯзык.Получить()) Тогда
|
||||
@@ -2458,6 +2470,8 @@
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
|
||||
ПредставлениеИзменяемогоОбъекта = Строка(ВыборкаДетальныеЗаписи.Ссылка);
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
|
||||
@@ -2587,7 +2601,16 @@
|
||||
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
|
||||
ПоследняяСсылка = ВыборкаДетальныеЗаписи.Ссылка;
|
||||
ДанныеОбъекта.СсылкаНаПоследнийОбработанныйОбъекты = ПоследняяСсылка;
|
||||
|
||||
ОписаниеОшибки = ИнформацияОбОшибке();
|
||||
МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ПолноеИмя);
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,
|
||||
МетаданныеОбъекта, ПредставлениеИзменяемогоОбъекта,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ОписаниеОшибки));
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -2816,7 +2839,17 @@
|
||||
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
|
||||
Отбор = Новый Структура();
|
||||
Отбор.Вставить("Регистратор", СтрокаРезультата.РегистраторРеквизитСсылка);
|
||||
|
||||
ДанныеОбъекта.СсылкаНаПоследнийОбработанныйОбъекты = Отбор;
|
||||
|
||||
ОписаниеОшибки = ИнформацияОбОшибке();
|
||||
МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ПолноеИмя);
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,
|
||||
МетаданныеОбъекта,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ОписаниеОшибки));
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -3015,7 +3048,23 @@
|
||||
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
|
||||
Отбор = Новый Структура();
|
||||
Для Каждого Измерение Из Измерения Цикл
|
||||
Отбор.Вставить(Измерение.Имя, СтрокаРезультата[Измерение.Имя + "ИзмерениеСсылка"]);
|
||||
КонецЦикла;
|
||||
|
||||
Если Периодический Тогда
|
||||
Отбор.Вставить("Период", СтрокаРезультата["Период"]);
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеОбъекта.СсылкаНаПоследнийОбработанныйОбъекты = Отбор;
|
||||
|
||||
ОписаниеОшибки = ИнформацияОбОшибке();
|
||||
МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ПолноеИмя);
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,
|
||||
МетаданныеОбъекта,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ОписаниеОшибки));
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -3075,6 +3124,17 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Имя событие для записи в журнал регистрации.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - событие журнала регистрации
|
||||
//
|
||||
Функция СобытиеЖурналаРегистрации()
|
||||
|
||||
Возврат НСтр("ru = 'Мультиязычность'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@@ -188,11 +188,13 @@
|
||||
КомпонентыОбмена.Вставить("ВыполнятьЗамеры", Ложь);
|
||||
КомпонентыОбмена.Вставить("СеансОбмена", Неопределено);
|
||||
КомпонентыОбмена.Вставить("ИмяВременногоФайлаЗамеров", "");
|
||||
КомпонентыОбмена.Вставить("ИмяВременногоКаталогаЗамеров", "");
|
||||
КомпонентыОбмена.Вставить("ЗаписьЗамеров", Неопределено);
|
||||
КомпонентыОбмена.Вставить("ТаблицаЗамеровПоСобытиям", ОбменДаннымиОценкаПроизводительности.ТаблицаЗамеровПоСобытиям());
|
||||
|
||||
КомпонентыОбмена.Вставить("ИспользоватьКешПубличныхИдентификаторов", Ложь);
|
||||
КомпонентыОбмена.Вставить("КешПубличныхИдентификаторов", Неопределено);
|
||||
КомпонентыОбмена.Вставить("КешДанныхОбъектовДляРегистрацииВОбменах", Новый Соответствие);
|
||||
|
||||
КомпонентыОбмена.Вставить("ОбменЧерезОбработкуВыгрузкаЗагрузкаED", Ложь);
|
||||
|
||||
@@ -918,7 +920,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеXDTO = Неопределено;
|
||||
Если ТипСвойства = КлассКлючевыеСвойстваФормата() Тогда
|
||||
Если ТипСвойства = КлассКлючевыеСвойства() Тогда
|
||||
|
||||
ЗначениеXDTO = ОбъектXDTOИзДанныхXDTO(КомпонентыОбмена, ЗначениеСвойства, Свойство.Тип, СсылкиИзОбъекта, , Расширения);
|
||||
|
||||
@@ -1589,6 +1591,8 @@
|
||||
|
||||
ПараметрыЗаголовка.ОбменЧерезОбработкуВыгрузкаЗагрузкаED = КомпонентыОбмена.ОбменЧерезОбработкуВыгрузкаЗагрузкаED;
|
||||
|
||||
КомпонентыОбмена.КешПубличныхИдентификаторов = Новый Соответствие;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ЗаписатьЗаголовокСообщенияОбмена(ФайлОбмена, ПараметрыЗаголовка);
|
||||
@@ -1622,7 +1626,7 @@
|
||||
|
||||
ТипСвойства = "Таблица";
|
||||
|
||||
ИначеЕсли СтрНайти(Свойство.Тип.Имя, КлассКлючевыеСвойства()) > 0 Тогда
|
||||
ИначеЕсли СтрНайти(Свойство.Тип.Имя, КлассКлючевыеСвойстваФормата()) > 0 Тогда
|
||||
|
||||
ТипСвойства = КлассКлючевыеСвойства();
|
||||
|
||||
@@ -1813,7 +1817,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
// Получение (или переопределение) ссылки на найденный объект информационной базы
|
||||
// посредствам произвольного алгоритма, описанного в менеджере обмена.
|
||||
// посредством произвольного алгоритма, описанного в менеджере обмена.
|
||||
Если ПравилоКонвертации.ЕстьОбработчикАлгоритмПоиска Тогда
|
||||
АлгоритмПоиска(
|
||||
ДанныеИБ,
|
||||
@@ -2223,12 +2227,7 @@
|
||||
|
||||
ПодтверждениеXDTO = ЗаголовокСообщенияXDTO.Confirmation;
|
||||
|
||||
ИмяПланаОбмена = НайтиИмяПланаОбменаЧерезУниверсальныйФормат(КомпонентыОбмена, ПодтверждениеXDTO);
|
||||
Если Не ЗначениеЗаполнено(ИмяПланаОбмена) Тогда
|
||||
ЗаписатьВПротоколВыполнения(КомпонентыОбмена, 177);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяПланаОбмена = КомпонентыОбмена.УзелКорреспондента.Метаданные().Имя;
|
||||
ФорматПланаОбмена = ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ФорматОбмена");
|
||||
|
||||
КомпонентыОбмена.ТолькоНастройкиXDTO =
|
||||
@@ -2356,6 +2355,12 @@
|
||||
КомпонентыОбмена.ПрефиксКорреспондента = ЗаголовокСообщенияXDTO.Prefix;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПодтверждениеXDTO.ExchangePlan <> ИмяПланаОбмена Тогда
|
||||
РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.УстановитьИмяПланаОбменаКорреспондента(
|
||||
КомпонентыОбмена.УзелКорреспондента,
|
||||
ПодтверждениеXDTO.ExchangePlan);
|
||||
КонецЕсли;
|
||||
|
||||
ОбменДаннымиКонтрольЗацикливания.ЗагрузитьКонтурИзСообщения(КомпонентыОбмена, ЗаголовокСообщенияXDTO);
|
||||
|
||||
// Проверяем поддержку кодировки по УИДам в корреспонденте.
|
||||
@@ -2648,8 +2653,29 @@
|
||||
|
||||
ПроведениеДокументаОтменено = Истина;
|
||||
ЗафиксироватьТранзакцию();
|
||||
|
||||
Исключение
|
||||
|
||||
ОтменитьТранзакцию();
|
||||
|
||||
ТипПроблемы = Перечисления.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриПолученииДанных;
|
||||
ШаблонТекста = НСтр("ru ='При отмене проведения документа:
|
||||
|%1
|
||||
|перед его повторной загрузкой произошла ошибка:
|
||||
|%2.
|
||||
|Проблему можно проигнорировать (скрыть) если документ после загрузки проведен.
|
||||
|Подробное описание ошибки см. в журнале регистрации'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
Кратко = СтрШаблон(ШаблонТекста, Строка(Объект), ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Подробно = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
|
||||
ОписаниеОшибки = Новый Структура;
|
||||
ОписаниеОшибки.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
|
||||
ОписаниеОшибки.Вставить("КраткоеПредставлениеОшибки", Кратко);
|
||||
ОписаниеОшибки.Вставить("ПодробноеПредставлениеОшибки", Подробно);
|
||||
|
||||
ЗаписатьВПротоколВыполнения(КомпонентыОбмена, ОписаниеОшибки, , Ложь);
|
||||
ЗаписатьОшибкуОбработкиОбъектаПриОтправке(Объект, КомпонентыОбмена.УзелКорреспондента, Кратко, ТипПроблемы);
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Если КомпонентыОбмена <> Неопределено Тогда
|
||||
@@ -2981,7 +3007,7 @@
|
||||
// Получает правила регистрации объектов для плана обмена.
|
||||
//
|
||||
// Параметры:
|
||||
// УзелПланаОбмена - ПланОбменаСсылка - ссылка на узел плана обмена
|
||||
// УзелПланаОбмена - ПланОбменаСсылка - Ссылка на узел плана обмена
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений
|
||||
@@ -3000,7 +3026,7 @@
|
||||
// Получает свойства узла плана обмена.
|
||||
//
|
||||
// Параметры:
|
||||
// Узел - ПланОбменаСсылка - ссылка на узел плана обмена
|
||||
// Узел - ПланОбменаСсылка - Ссылка на узел плана обмена
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - ключ соответствует имени свойства, а значение - значению свойства.
|
||||
@@ -3060,13 +3086,6 @@
|
||||
Если Не ЗаголовокСообщенияXDTO.Установлено("Confirmation") Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
КомпонентыОбмена = Новый Структура("ОбменДаннымиСВнешнейСистемой, УзелКорреспондента", Ложь, Неопределено);
|
||||
ПодтверждениеXDTO = ЗаголовокСообщенияXDTO.Confirmation;
|
||||
|
||||
ИмяПланаОбмена = НайтиИмяПланаОбменаЧерезУниверсальныйФормат(КомпонентыОбмена, ПодтверждениеXDTO);
|
||||
Если Не ЗначениеЗаполнено(ИмяПланаОбмена) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Истина;
|
||||
КонецФункции
|
||||
@@ -3851,7 +3870,7 @@
|
||||
|
||||
КомпонентыОбмена.МенеджерОбмена.ЗаполнитьПравилаКонвертацииПредопределенныхДанных(КомпонентыОбмена.НаправлениеОбмена, ПравилаКонвертации);
|
||||
|
||||
ТранслироватьПредопределенныеданные(ПравилаКонвертации);
|
||||
ТранслироватьПредопределенныеДанные(ПравилаКонвертации);
|
||||
|
||||
Для Каждого ПравилоКонвертации Из ПравилаКонвертации Цикл
|
||||
ПравилоКонвертации.ТипXDTO = ФабрикаXDTO.Тип(XMLСхема, ПравилоКонвертации.ТипXDTO);
|
||||
@@ -3923,7 +3942,7 @@
|
||||
ТипРасширенияXDTO = ФабрикаXDTO.Тип(ПространствоИменРасширения, ПОД.ОбъектВыборкиФормат);
|
||||
Если ТипРасширенияXDTO <> Неопределено Тогда
|
||||
|
||||
// Установили пренадлежность к расширению схемы XDTO
|
||||
// Установили принадлежность к расширению схемы XDTO
|
||||
ТипXDTO = ТипРасширенияXDTO;
|
||||
Прервать;
|
||||
|
||||
@@ -3941,7 +3960,7 @@
|
||||
ПравилоКонвертации.ТипXDTO = ФабрикаXDTO.Тип(ПространствоИменРасширения, ПравилоКонвертации.ОбъектФормата);
|
||||
Если ПравилоКонвертации.ТипXDTO <> Неопределено Тогда
|
||||
|
||||
// Установили пренадлежность к расширению схемы XDTO
|
||||
// Установили принадлежность к расширению схемы XDTO
|
||||
Прервать;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -4102,115 +4121,136 @@
|
||||
УзелДляОбмена = КомпонентыОбмена.УзелКорреспондента;
|
||||
УзелДляОбменаОбъект = УзелДляОбмена.ПолучитьОбъект();
|
||||
|
||||
// Предварительная очистка регистрации
|
||||
ИменаОбъектовМетаданных = ОбменДаннымиВызовСервера.ИменаМетаданныхНеВыгружаемыхОбъектовУзла(УзелДляОбмена);
|
||||
Для Каждого Имя Из ИменаОбъектовМетаданных Цикл
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Имя);
|
||||
ПланыОбмена.УдалитьРегистрациюИзменений(УзелДляОбмена, ОбъектМетаданных);
|
||||
КонецЦикла;
|
||||
|
||||
НачальнаяВыгрузкаДанных = ОбменДаннымиСервер.УстановленПризнакНачальнойВыгрузкиДанных(УзелДляОбмена);
|
||||
КоличествоОбъектовКВыгрузке = 0;
|
||||
ТаблицаИзменений = ЗаполнитьТаблицуИзменений(УзелДляОбмена, НомерСообщения, КоличествоОбъектовКВыгрузке);
|
||||
|
||||
// Получаем выборку измененных данных.
|
||||
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелДляОбмена, НомерСообщения);
|
||||
|
||||
КоличествоОбъектовКВыгрузке = 0;
|
||||
Пока ВыборкаИзменений.Следующий() Цикл
|
||||
КоличествоОбъектовКВыгрузке = КоличествоОбъектовКВыгрузке + 1;
|
||||
КонецЦикла;
|
||||
КомпонентыОбмена.Вставить("КоличествоОбъектовКВыгрузке", КоличествоОбъектовКВыгрузке);
|
||||
|
||||
// Алгоритм выгрузки данных в XML-файл:
|
||||
// 1. Получаем Данные из ИБ
|
||||
// 2. Отправляем информацию об удалении либо выгружаем данные.
|
||||
// 3. Конвертируем Данные в Структуру по правилу конвертации.
|
||||
// 4. Конвертируем Данные в Структуру в обработчике ПриОтправкеДанных.
|
||||
// 5. Конвертируем Структуру в ОбъектXDTO.
|
||||
// 6. Записываем ОбъектXDTO в XML-файл.
|
||||
Для Каждого СтрокаИзменений Из ТаблицаИзменений Цикл
|
||||
//
|
||||
СоставПланаОбмена = УзелДляОбмена.Метаданные().Состав;
|
||||
|
||||
СписокТиповСПакетнойРегистрацией = Новый Массив;
|
||||
СписокТиповБезПакетнойРегистрации = Новый Массив;
|
||||
|
||||
Для Каждого ОбъектПланаОбмена Из СоставПланаОбмена Цикл
|
||||
|
||||
ПолноеИмяОбъекта = ОбъектПланаОбмена.Метаданные.ПолноеИмя();
|
||||
|
||||
Правила = ОбменДаннымиСобытия.ПравилаРегистрацииОбъекта(УзелДляОбмена.Метаданные().Имя, ПолноеИмяОбъекта);
|
||||
|
||||
ЕстьПакетноеВыполнениеОбработчиков = Ложь;
|
||||
|
||||
Для Каждого ПРО Из Правила Цикл
|
||||
Если ПРО.ПакетноеВыполнениеОбработчиков Тогда
|
||||
ЕстьПакетноеВыполнениеОбработчиков = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ЕстьПакетноеВыполнениеОбработчиков Тогда
|
||||
СписокТиповСПакетнойРегистрацией.Добавить(ОбъектПланаОбмена.Метаданные);
|
||||
Иначе
|
||||
СписокТиповБезПакетнойРегистрации.Добавить(ОбъектПланаОбмена.Метаданные);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ВыполнитьВыгрузкуЗарегистрированныхДанныхСПакетнойРегистрацией(
|
||||
КомпонентыОбмена, НомерСообщения, НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, СписокТиповСПакетнойРегистрацией);
|
||||
|
||||
ВыполнитьВыгрузкуЗарегистрированныхДанныхБезПакетнойРегистрации(
|
||||
КомпонентыОбмена, НомерСообщения, НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, СписокТиповБезПакетнойРегистрации);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВыполнитьВыгрузкуЗарегистрированныхДанныхСПакетнойРегистрацией(
|
||||
КомпонентыОбмена, НомерСообщения, НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, СписокТипов)
|
||||
|
||||
УзелДляОбмена = УзелДляОбменаОбъект.Ссылка;
|
||||
|
||||
Для Каждого ТипОбъекта Из СписокТипов Цикл
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ТаблицаИзменений.Ссылка КАК Ссылка,
|
||||
| ВЫБОР
|
||||
| КОГДА ТаблицаИзменений.Ссылка.Ссылка ЕСТЬ NULL
|
||||
| ТОГДА ИСТИНА
|
||||
| ИНАЧЕ ЛОЖЬ
|
||||
| КОНЕЦ КАК ЭтоУдалениеОбъекта
|
||||
|ПОМЕСТИТЬ ВременнаяТаблица
|
||||
|ИЗ
|
||||
| #ТаблицаИзменений КАК ТаблицаИзменений
|
||||
|ГДЕ
|
||||
| ТаблицаИзменений.Узел = &Узел
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ВременнаяТаблица.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| ВременнаяТаблица КАК ВременнаяТаблица
|
||||
|ГДЕ
|
||||
| ВременнаяТаблица.ЭтоУдалениеОбъекта
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ВременнаяТаблица.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| ВременнаяТаблица КАК ВременнаяТаблица
|
||||
|ГДЕ
|
||||
| НЕ ВременнаяТаблица.ЭтоУдалениеОбъекта";
|
||||
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ТаблицаИзменений", ТипОбъекта.ПолноеИмя() + ".Изменения"); //@Query-part-2
|
||||
|
||||
Запрос.УстановитьПараметр("Узел", УзелДляОбмена);
|
||||
|
||||
РезультатЗапроса = Запрос.ВыполнитьПакет();
|
||||
|
||||
Выборка = РезультатЗапроса[1].Выбрать();
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
ВыгрузитьУдаление(КомпонентыОбмена, Выборка.Ссылка);
|
||||
|
||||
КомпонентыОбмена.СчетчикВыгруженныхОбъектов = КомпонентыОбмена.СчетчикВыгруженныхОбъектов + 1;
|
||||
ОбменДаннымиСервер.РассчитатьПроцентВыгрузки(КомпонентыОбмена.СчетчикВыгруженныхОбъектов, КомпонентыОбмена.КоличествоОбъектовКВыгрузке);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
МассивДанных = РезультатЗапроса[2].Выгрузить().ВыгрузитьКолонку("Ссылка");
|
||||
|
||||
ПараметрыПР = ОбменДаннымиСобытия.ПараметрыПакетнойРегистрации();
|
||||
ПараметрыПР.СозданиеНачальногоОбраза = НачальнаяВыгрузкаДанных;
|
||||
|
||||
Если СтрокаИзменений.ЕстьПравилоПакетнойРегистрации Тогда
|
||||
ВремяНачала = ОбменДаннымиОценкаПроизводительности.НачатьЗамер();
|
||||
|
||||
ВремяНачала = ОбменДаннымиОценкаПроизводительности.НачатьЗамер();
|
||||
ОбменДаннымиСобытия.ВыполнитьПакетнуюРегистрациюДляУзла(УзелДляОбмена, МассивДанных, ПараметрыПР);
|
||||
|
||||
ОбменДаннымиСобытия.ВыполнитьПакетнуюРегистрациюДляУзла(УзелДляОбмена, СтрокаИзменений.МассивДанных, ПараметрыПР);
|
||||
ОбменДаннымиОценкаПроизводительности.ЗавершитьЗамер(
|
||||
ВремяНачала, "ПакетнаяРегистрацияОбъектов", ТипОбъекта.ПолноеИмя(), КомпонентыОбмена,
|
||||
ОбменДаннымиОценкаПроизводительности.ТипСобытияПрикладное());
|
||||
|
||||
ОбменДаннымиОценкаПроизводительности.ЗавершитьЗамер(
|
||||
ВремяНачала, "ПакетнаяРегистрацияОбъектов", СтрокаИзменений.Тип, КомпонентыОбмена,
|
||||
ОбменДаннымиОценкаПроизводительности.ТипСобытияПрикладное());
|
||||
Для Каждого Ссылка Из ПараметрыПР.СсылкиПоФильтруПакетнойРегистрации Цикл
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Данные Из СтрокаИзменений.МассивДанных Цикл
|
||||
Объект = Ссылка.ПолучитьОбъект();
|
||||
|
||||
Попытка
|
||||
Если ТипЗнч(Данные) = Тип("УдалениеОбъекта") Тогда
|
||||
ВыгрузитьУдаление(КомпонентыОбмена, Данные.Ссылка);
|
||||
Иначе
|
||||
|
||||
ЭтоСсылка = СтрокаИзменений.ЕстьПравилоПакетнойРегистрации;
|
||||
|
||||
ОтправкаЭлемента = ОтправкаЭлементаДанных.Авто;
|
||||
|
||||
ВремяНачала = ОбменДаннымиОценкаПроизводительности.НачатьЗамер();
|
||||
|
||||
Если СтрокаИзменений.ЕстьПравилоПакетнойРегистрации Тогда
|
||||
|
||||
Если ПараметрыПР.ЕстьПРО_БезПакетнойРегистрации
|
||||
И ПараметрыПР.СсылкиПоФильтруПакетнойРегистрации.Найти(Данные) = Неопределено Тогда
|
||||
|
||||
ЭлементДанных = ?(ЭтоСсылка, Данные.ПолучитьОбъект(), Данные);
|
||||
ЭлементДанных.ДополнительныеСвойства.Вставить("ПроверкаРегистрацииПередВыгрузкой");
|
||||
ОбменДаннымиСобытия.ПриОтправкеДанныхКорреспонденту(ЭлементДанных, ОтправкаЭлемента,
|
||||
НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, Ложь);
|
||||
|
||||
ИначеЕсли Не ПараметрыПР.ЕстьПРО_БезПакетнойРегистрации
|
||||
И ПараметрыПР.СсылкиПоФильтруПакетнойРегистрации.Найти(Данные.Ссылка) = Неопределено Тогда
|
||||
|
||||
Если НачальнаяВыгрузкаДанных Тогда
|
||||
ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
|
||||
Иначе
|
||||
ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
ЭлементДанных = ?(ЭтоСсылка, Данные.ПолучитьОбъект(), Данные);
|
||||
ЭлементДанных.ДополнительныеСвойства.Вставить("ПроверкаРегистрацииПередВыгрузкой");
|
||||
ОбменДаннымиСобытия.ПриОтправкеДанныхКорреспонденту(ЭлементДанных, ОтправкаЭлемента,
|
||||
НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, Ложь);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОбменДаннымиОценкаПроизводительности.ЗавершитьЗамер(
|
||||
ВремяНачала, "РегистрацияОбъектов", Данные, КомпонентыОбмена,
|
||||
ОбменДаннымиОценкаПроизводительности.ТипСобытияБиблиотека());
|
||||
|
||||
// Удаление регистра отсылаем в виде пустого набора записей.
|
||||
Если ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить
|
||||
И ОбщегоНазначения.ЭтоРегистр(Данные.Метаданные()) Тогда
|
||||
ОтправкаЭлемента = ОтправкаЭлементаДанных.Авто;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить Тогда
|
||||
ВыгрузитьУдаление(КомпонентыОбмена, Данные.Ссылка);
|
||||
ИначеЕсли ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать Тогда
|
||||
// Ситуация, когда объект не соответствует условиям фильтра, но его не нужно отправлять как удаление.
|
||||
// Возникает в случае первоначальной выгрузки данных.
|
||||
ПланыОбмена.УдалитьРегистрациюИзменений(УзелДляОбмена, Данные);
|
||||
Продолжить;
|
||||
Иначе
|
||||
ЭлементДанных = ?(ЭтоСсылка, Данные.ПолучитьОбъект(), Данные);
|
||||
ВыгрузкаОбъектаВыборки(КомпонентыОбмена, ЭлементДанных);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КомпонентыОбмена.СчетчикВыгруженныхОбъектов = КомпонентыОбмена.СчетчикВыгруженныхОбъектов + 1;
|
||||
ОбменДаннымиСервер.РассчитатьПроцентВыгрузки(КомпонентыОбмена.СчетчикВыгруженныхОбъектов, КомпонентыОбмена.КоличествоОбъектовКВыгрузке);
|
||||
ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Объект);
|
||||
|
||||
Исключение
|
||||
|
||||
Инфо = ИнформацияОбОшибке();
|
||||
ПредставлениеДанных = ПредставлениеОбъектаДляПротокола(Данные);
|
||||
ПредставлениеДанных = ПредставлениеОбъектаДляПротокола(Объект);
|
||||
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Событие: %1.
|
||||
@@ -4220,82 +4260,103 @@
|
||||
КомпонентыОбмена.НаправлениеОбмена,
|
||||
ПредставлениеДанных,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(Инфо));
|
||||
КонецПопытки;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
КомпонентыОбмена.СчетчикВыгруженныхОбъектов = КомпонентыОбмена.СчетчикВыгруженныхОбъектов + 1;
|
||||
ОбменДаннымиСервер.РассчитатьПроцентВыгрузки(КомпонентыОбмена.СчетчикВыгруженныхОбъектов, КомпонентыОбмена.КоличествоОбъектовКВыгрузке);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ПараметрыПР.ЕстьПРО_БезПакетнойРегистрации
|
||||
И ПараметрыПР.СсылкиНеПоФильтруПакетнойРегистрации.Количество() > 0 Тогда
|
||||
|
||||
Для Каждого Ссылка Из ПараметрыПР.СсылкиНеПоФильтруПакетнойРегистрации Цикл
|
||||
|
||||
Объект = Ссылка.ПолучитьОбъект();
|
||||
ВыгрузкаЗарегистрированногоОбъекта(КомпонентыОбмена, НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, Объект);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли НачальнаяВыгрузкаДанных
|
||||
И НЕ ПараметрыПР.ЕстьПРО_БезПакетнойРегистрации
|
||||
И ПараметрыПР.СсылкиНеПоФильтруПакетнойРегистрации.Количество() > 0 Тогда
|
||||
|
||||
Для Каждого Ссылка Из ПараметрыПР.СсылкиНеПоФильтруПакетнойРегистрации Цикл
|
||||
|
||||
Объект = Ссылка.ПолучитьОбъект();
|
||||
ПланыОбмена.УдалитьРегистрациюИзменений(УзелДляОбменаОбъект.Ссылка, Объект);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ЗаполнитьТаблицуИзменений(УзелДляОбмена, НомерСообщения, КоличествоОбъектовКВыгрузке)
|
||||
Процедура ВыполнитьВыгрузкуЗарегистрированныхДанныхБезПакетнойРегистрации(
|
||||
КомпонентыОбмена, НомерСообщения, НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, СписокТипов)
|
||||
|
||||
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелДляОбмена);
|
||||
|
||||
// Получаем выборку измененных данных.
|
||||
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелДляОбмена, НомерСообщения);
|
||||
|
||||
ТаблицаИзменений = Новый ТаблицаЗначений;
|
||||
ТаблицаИзменений.Колонки.Добавить("Тип");
|
||||
ТаблицаИзменений.Колонки.Добавить("МассивДанных", Новый ОписаниеТипов("Массив"));
|
||||
ТаблицаИзменений.Колонки.Добавить("ЕстьПравилоПакетнойРегистрации", Новый ОписаниеТипов("Булево"));
|
||||
УзелДляОбмена = КомпонентыОбмена.УзелКорреспондента;
|
||||
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелДляОбмена, НомерСообщения, СписокТипов);
|
||||
|
||||
Пока ВыборкаИзменений.Следующий() Цикл
|
||||
|
||||
КоличествоОбъектовКВыгрузке = КоличествоОбъектовКВыгрузке + 1;
|
||||
|
||||
Данные = ВыборкаИзменений.Получить();
|
||||
Тип = ТипЗнч(Данные);
|
||||
СтрокаИзменений = ТаблицаИзменений.Найти(Тип, "Тип");
|
||||
|
||||
Если СтрокаИзменений = Неопределено Тогда
|
||||
|
||||
СтрокаИзменений = ТаблицаИзменений.Добавить();
|
||||
СтрокаИзменений.Тип = Тип;
|
||||
СтрокаИзменений.ЕстьПравилоПакетнойРегистрации = ЕстьПравилоПакетнойРегистрации(Данные, УзелДляОбмена);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрокаИзменений.ЕстьПравилоПакетнойРегистрации Тогда
|
||||
СтрокаИзменений.МассивДанных.Добавить(Данные.Ссылка);
|
||||
Иначе
|
||||
СтрокаИзменений.МассивДанных.Добавить(Данные);
|
||||
КонецЕсли;
|
||||
Объект = ВыборкаИзменений.Получить();
|
||||
ВыгрузкаЗарегистрированногоОбъекта(КомпонентыОбмена, НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, Объект);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ТаблицаИзменений;
|
||||
КонецПроцедуры
|
||||
|
||||
КонецФункции
|
||||
Процедура ВыгрузкаЗарегистрированногоОбъекта(КомпонентыОбмена, НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, Объект)
|
||||
|
||||
Функция ЕстьПравилоПакетнойРегистрации(Данные, Узел)
|
||||
Попытка
|
||||
Если ТипЗнч(Объект) = Тип("УдалениеОбъекта") Тогда
|
||||
ВыгрузитьУдаление(КомпонентыОбмена, Объект.Ссылка);
|
||||
Иначе
|
||||
ОтправкаЭлемента = ОтправкаЭлементаДанных.Авто;
|
||||
ОбменДаннымиСобытия.ПриОтправкеДанныхКорреспонденту(Объект, ОтправкаЭлемента, НачальнаяВыгрузкаДанных, УзелДляОбменаОбъект, Ложь);
|
||||
|
||||
Тип = ТипЗнч(Данные);
|
||||
|
||||
Если Тип = Тип("УдалениеОбъекта") Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Ложь;
|
||||
Если ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(Данные.Метаданные()) Тогда
|
||||
|
||||
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(Узел);
|
||||
ПолноеИмяОбъекта = Данные.Метаданные().ПолноеИмя();
|
||||
|
||||
Правила = ОбменДаннымиСобытия.ПравилаРегистрацииОбъекта(ИмяПланаОбмена, ПолноеИмяОбъекта);
|
||||
|
||||
Для Каждого ПРО Из Правила Цикл
|
||||
Если ПРО.ПакетноеВыполнениеОбработчиков Тогда
|
||||
Результат = Истина;
|
||||
Прервать;
|
||||
// Удаление регистра отсылаем в виде пустого набора записей.
|
||||
Если ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить
|
||||
И ОбщегоНазначения.ЭтоРегистр(Объект.Метаданные()) Тогда
|
||||
ОтправкаЭлемента = ОтправкаЭлементаДанных.Авто;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
Если ОтправкаЭлемента = ОтправкаЭлементаДанных.Удалить Тогда
|
||||
ВыгрузитьУдаление(КомпонентыОбмена, Объект.Ссылка);
|
||||
ИначеЕсли ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать Тогда
|
||||
// Ситуация, когда объект не соответствует условиям фильтра, но его не нужно отправлять как удаление.
|
||||
// Возникает в случае первоначальной выгрузки данных.
|
||||
ПланыОбмена.УдалитьРегистрациюИзменений(УзелДляОбменаОбъект.Ссылка, Объект);
|
||||
Возврат;
|
||||
Иначе
|
||||
ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Объект);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
КомпонентыОбмена.СчетчикВыгруженныхОбъектов = КомпонентыОбмена.СчетчикВыгруженныхОбъектов + 1;
|
||||
ОбменДаннымиСервер.РассчитатьПроцентВыгрузки(КомпонентыОбмена.СчетчикВыгруженныхОбъектов, КомпонентыОбмена.КоличествоОбъектовКВыгрузке);
|
||||
|
||||
КонецФункции
|
||||
Исключение
|
||||
|
||||
Инфо = ИнформацияОбОшибке();
|
||||
ПредставлениеДанных = ПредставлениеОбъектаДляПротокола(Объект);
|
||||
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Событие: %1.
|
||||
|Объект: %2.
|
||||
|
|
||||
|%3'"),
|
||||
КомпонентыОбмена.НаправлениеОбмена,
|
||||
ПредставлениеДанных,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(Инфо));
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВыгрузитьОбъектыПоСсылке(КомпонентыОбмена, СсылкиИзОбъекта)
|
||||
|
||||
@@ -4308,21 +4369,29 @@
|
||||
Если КомпонентыОбмена.ВыгруженныеОбъекты.Найти(ЗначениеСсылки) = Неопределено
|
||||
И ВыгружатьОбъектПоНеобходимости(КомпонентыОбмена, ЗначениеСсылки) Тогда
|
||||
|
||||
Если Не РегистрыСведений.ДанныеОбъектовДляРегистрацииВОбменах.ОбъектЕстьВРегистре(
|
||||
ЗначениеСсылки, КомпонентыОбмена.УзелКорреспондента) Тогда
|
||||
ОбъектЕстьВРегистре = КомпонентыОбмена.КешДанныхОбъектовДляРегистрацииВОбменах.Получить(ЗначениеСсылки);
|
||||
|
||||
ОбъектВыгружаемыйПоСсылке = Неопределено;
|
||||
Если ОбъектЕстьВРегистре = Неопределено Тогда
|
||||
|
||||
Если ОбщегоНазначения.СсылкаСуществует(ЗначениеСсылки) Тогда
|
||||
ОбъектВыгружаемыйПоСсылке = ЗначениеСсылки.ПолучитьОбъект();
|
||||
КонецЕсли;
|
||||
Если Не РегистрыСведений.ДанныеОбъектовДляРегистрацииВОбменах.ОбъектЕстьВРегистре(
|
||||
ЗначениеСсылки, КомпонентыОбмена.УзелКорреспондента) Тогда
|
||||
|
||||
Если ОбъектВыгружаемыйПоСсылке <> Неопределено Тогда
|
||||
ОбъектВыгружаемыйПоСсылке = Неопределено;
|
||||
|
||||
ВыгрузкаОбъектаВыборки(КомпонентыОбмена, ОбъектВыгружаемыйПоСсылке);
|
||||
КомпонентыОбмена.ВыгруженныеПоСсылкеОбъекты.Добавить(ЗначениеСсылки);
|
||||
РегистрыСведений.ДанныеОбъектовДляРегистрацииВОбменах.ДобавитьОбъектВФильтрРазрешенныхОбъектов(
|
||||
ЗначениеСсылки, КомпонентыОбмена.УзелКорреспондента);
|
||||
Если ОбщегоНазначения.СсылкаСуществует(ЗначениеСсылки) Тогда
|
||||
ОбъектВыгружаемыйПоСсылке = ЗначениеСсылки.ПолучитьОбъект();
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбъектВыгружаемыйПоСсылке <> Неопределено Тогда
|
||||
|
||||
ВыгрузкаОбъектаВыборки(КомпонентыОбмена, ОбъектВыгружаемыйПоСсылке);
|
||||
КомпонентыОбмена.ВыгруженныеПоСсылкеОбъекты.Добавить(ЗначениеСсылки);
|
||||
РегистрыСведений.ДанныеОбъектовДляРегистрацииВОбменах.ДобавитьОбъектВФильтрРазрешенныхОбъектов(
|
||||
ЗначениеСсылки, КомпонентыОбмена.УзелКорреспондента);
|
||||
|
||||
КомпонентыОбмена.КешДанныхОбъектовДляРегистрацииВОбменах.Вставить(ЗначениеСсылки);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -4564,8 +4633,17 @@
|
||||
|
||||
Если КомпонентыОбмена.ЭтоОбменЧерезПланОбмена Тогда
|
||||
|
||||
УИДОбъектаXDTO = РегистрыСведений.ПубличныеИдентификаторыСинхронизируемыхОбъектов.ПубличныйИдентификаторПоСсылкеОбъекта(
|
||||
КомпонентыОбмена.УзелКорреспондента, ЗначениеСсылки);
|
||||
УИДОбъектаXDTO = КомпонентыОбмена.КешПубличныхИдентификаторов.Получить(ЗначениеСсылки);
|
||||
|
||||
Если УИДОбъектаXDTO = Неопределено Тогда
|
||||
|
||||
УИДОбъектаXDTO = РегистрыСведений.ПубличныеИдентификаторыСинхронизируемыхОбъектов.ПубличныйИдентификаторПоСсылкеОбъекта(
|
||||
КомпонентыОбмена.УзелКорреспондента, ЗначениеСсылки);
|
||||
|
||||
КомпонентыОбмена.КешПубличныхИдентификаторов.Вставить(ЗначениеСсылки, УИДОбъектаXDTO);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеXDTO = ФабрикаXDTO.Создать(ТипСсылкиXDTO, УИДОбъектаXDTO);
|
||||
|
||||
Возврат ЗначениеXDTO;
|
||||
@@ -4863,7 +4941,7 @@
|
||||
ВыгрузитьПоддерживаемыеОбъектыФормата(ЗаголовокСообщенияXDTO,
|
||||
ПараметрыЗаголовка.ПоддерживаемыеОбъекты, ПараметрыЗаголовка.УзелКорреспондента);
|
||||
Иначе
|
||||
ИмяПланаОбмена = ТранслироватьИмя(ПараметрыЗаголовка.ИмяПланаОбменаКорреспондента, "ru");
|
||||
ИмяПланаОбмена = ТранслироватьИмя(ПараметрыЗаголовка.ИмяПланаОбмена, "ru");
|
||||
ПодтверждениеXDTO.ExchangePlan = ИмяПланаОбмена;
|
||||
ПодтверждениеXDTO.To = ПараметрыЗаголовка.ИдентификаторПолучателя;
|
||||
|
||||
@@ -6906,6 +6984,13 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
// Попытка на случай отсутствия обработчика в менеджере обмена данными
|
||||
Попытка
|
||||
КомпонентыОбмена.МенеджерОбмена.ПередОбработкойУдаляемогоОбъекта(КомпонентыОбмена, Объект);
|
||||
Исключение
|
||||
// Действий не требуется
|
||||
КонецПопытки;
|
||||
|
||||
МетаданныеОбъекта = Объект.Метаданные();
|
||||
Если Метаданные.Документы.Содержит(МетаданныеОбъекта) Тогда
|
||||
Если Объект.Проведен Тогда
|
||||
@@ -7828,10 +7913,24 @@
|
||||
ПредставлениеОбъекта = Строка(Объект);
|
||||
НавигационнаяСсылка = "";
|
||||
|
||||
// Для корректного перевода кода на английский язык
|
||||
Ссылка = Неопределено;
|
||||
Если ТипЗнч(Объект) = Тип("ОбъектXDTO") Тогда
|
||||
Ссылка = Объект.Ссылка;
|
||||
ИначеЕсли ТипЗнч(Объект) = Тип("Структура") Тогда
|
||||
Если Объект.Свойство("Ссылка") Тогда
|
||||
Ссылка = Объект.Ссылка;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта) Тогда
|
||||
Ссылка = Объект.Ссылка;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если МетаданныеОбъекта <> Неопределено
|
||||
И ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта)
|
||||
И ЗначениеЗаполнено(Объект.Ссылка) Тогда
|
||||
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Объект.Ссылка);
|
||||
И ЗначениеЗаполнено(Ссылка) Тогда
|
||||
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Ссылка);
|
||||
Иначе
|
||||
|
||||
Если ТипОбъекта = Тип("ОбъектXDTO") Тогда
|
||||
@@ -7852,12 +7951,11 @@
|
||||
ИначеЕсли ТипОбъекта = Тип("Структура") Тогда
|
||||
|
||||
СформироватьПредставлениеДляСтруктуры = Истина;
|
||||
Если Объект.Свойство("Ссылка")
|
||||
И ЗначениеЗаполнено(Объект.Ссылка) Тогда
|
||||
ТипОбъекта = ТипЗнч(Объект.Ссылка);
|
||||
Если ЗначениеЗаполнено(Ссылка) Тогда
|
||||
ТипОбъекта = ТипЗнч(Ссылка);
|
||||
Если ОбщегоНазначения.ЭтоСсылка(ТипОбъекта) Тогда
|
||||
ПредставлениеОбъекта = Строка(Объект.Ссылка);
|
||||
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Объект.Ссылка);
|
||||
ПредставлениеОбъекта = Строка(Ссылка);
|
||||
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Ссылка);
|
||||
|
||||
СформироватьПредставлениеДляСтруктуры = Ложь;
|
||||
КонецЕсли;
|
||||
@@ -7875,7 +7973,7 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ПредставлениеОбъекта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1, %2 (%3)'"),
|
||||
ПредставлениеОбъекта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1, %2 (%3)",
|
||||
ТипОбъекта, ПредставлениеОбъекта, НавигационнаяСсылка);
|
||||
|
||||
Возврат ПредставлениеОбъекта;
|
||||
@@ -8556,38 +8654,17 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НайтиИмяПланаОбменаЧерезУниверсальныйФормат(КомпонентыОбмена, ПодтверждениеXDTO)
|
||||
|
||||
Если КомпонентыОбмена.ОбменДаннымиСВнешнейСистемой Тогда
|
||||
Возврат ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(КомпонентыОбмена.УзелКорреспондента);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(КомпонентыОбмена.УзелКорреспондента) Тогда
|
||||
|
||||
Возврат ОбменДаннымиСервер.НайтиИмяПланаОбменаЧерезУниверсальныйФормат(ПодтверждениеXDTO.ExchangePlan);
|
||||
|
||||
Иначе
|
||||
|
||||
ИмяПланаОбмена = ТранслироватьИмя(ПодтверждениеXDTO.ExchangePlan, "en");
|
||||
ИмяПланаОбмена = Метаданные.ПланыОбмена.Найти(ИмяПланаОбмена);
|
||||
|
||||
Возврат ИмяПланаОбмена;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ТрансляцияФормата
|
||||
|
||||
Функция ТранслироватьИмя(ИсхдноеИмя, НаправлениеПеревода, ДоступныеИмена = Неопределено)
|
||||
Функция ТранслироватьИмя(ИсходноеИмя, НаправлениеПеревода, ДоступныеИмена = Неопределено)
|
||||
|
||||
Если Метаданные.ВариантВстроенногоЯзыка = Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Русский Тогда
|
||||
Возврат ИсхдноеИмя;
|
||||
Возврат ИсходноеИмя;
|
||||
КонецЕсли;
|
||||
|
||||
НовоеИмя = ОбменДаннымиТрансляцияФорматаПовтИсп.ТранслироватьИмя(ИсхдноеИмя, НаправлениеПеревода);
|
||||
НовоеИмя = ОбменДаннымиТрансляцияФорматаПовтИсп.ТранслироватьИмя(ИсходноеИмя, НаправлениеПеревода);
|
||||
|
||||
Если ТипЗнч(НовоеИмя) = Тип("Строка") Тогда
|
||||
|
||||
@@ -8707,6 +8784,8 @@
|
||||
|
||||
Для Каждого Строка Из ПравилаКонвертации Цикл
|
||||
|
||||
Строка.ТипXDTO = ТранслироватьИмя(Строка.ТипXDTO, "ru");
|
||||
|
||||
Если ЗначениеЗаполнено(Строка.КонвертацииЗначенийПриОтправке) Тогда
|
||||
|
||||
ЗначенийПриОтправке = Новый Соответствие;
|
||||
|
||||
@@ -208,7 +208,6 @@
|
||||
Типы.Добавить(Метаданные.Константы.ЗарегистрированыИзмененияДанных);
|
||||
Типы.Добавить(Метаданные.Константы.НастройкиПодчиненногоУзлаРИБ);
|
||||
Типы.Добавить(Метаданные.Константы.ПрефиксПоследнегоАвтономногоРабочегоМеста);
|
||||
Типы.Добавить(Метаданные.Константы.ВыполняетсяЗагрузкаДанныхРИБ);
|
||||
|
||||
МодульВыгрузкаЗагрузкаДанных = ОбщегоНазначения.ОбщийМодуль("ВыгрузкаЗагрузкаДанных");
|
||||
МодульВыгрузкаЗагрузкаДанных.ДополнитьТипомИсключаемымИзВыгрузкиЗагрузки(Типы,
|
||||
@@ -455,9 +454,8 @@
|
||||
// 4. Не входит в список исключений.
|
||||
//
|
||||
// Параметры:
|
||||
// Объект - Произвольный - объект-источник данных
|
||||
// Объект - Произвольный - Объект-источник данных
|
||||
// Отказ - Булево - флаг отказа
|
||||
//
|
||||
Процедура ПередЗаписьюОбщихДанных(Объект, Отказ) Экспорт
|
||||
|
||||
Если Объект.ОбменДанными.Загрузка Тогда
|
||||
@@ -580,14 +578,14 @@
|
||||
Новый Структура("КодУзла", ОбменДаннымиСервер.КодУзлаПланаОбменаСтрокой(ОбластьДанных)),
|
||||
МодульРаботаВМоделиСервисаБТСПовтИсп.КонечнаяТочкаМенеджераСервиса());
|
||||
|
||||
ИзменитьПризнакНеобходимостиОбменаДаннымиВМоделиСервиса(Истина);
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
ИзменитьПризнакНеобходимостиОбменаДаннымиВМоделиСервиса(Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет переданный массив общими модулями, которые являются обработчиками интерфейсов
|
||||
|
||||
@@ -657,7 +657,7 @@
|
||||
// Функция передает указанный файл в сервис передачи файлов.
|
||||
//
|
||||
// Параметры:
|
||||
// Прокси
|
||||
// Прокси -
|
||||
// ВерсияПрокси - Строка - версия используемого веб-сервиса
|
||||
// СтруктураНастроекОбмена - Структура - структура со всеми необходимыми данными и объектами для выполнения обмена.
|
||||
// ИмяФайла - Строка - путь к передаваемому файлу.
|
||||
|
||||
@@ -49,7 +49,16 @@
|
||||
|
||||
// Должны быть выполнены задачи из сценария из последнего запуска
|
||||
Если Не ОчередьЗадачВыполнена(Сценарий) Тогда
|
||||
|
||||
ТекстСообщения = НСтр("ru = 'Не запустилось выполнение синхронизации по сценарию,
|
||||
|не завершилась предыдущая сессия выполнения синхронизации.'",
|
||||
ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииОбменДанными(),
|
||||
УровеньЖурналаРегистрации.Информация,,,ТекстСообщения);
|
||||
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ПерваяЗадача = Неопределено;
|
||||
@@ -87,7 +96,7 @@
|
||||
ПараметрыЗадания.Вставить("ЗапланированныйМоментЗапуска", ТекущаяУниверсальнаяДата());
|
||||
ПараметрыЗадания.Вставить("Параметры", ПараметрыПроцедуры);
|
||||
ПараметрыЗадания.Вставить("КоличествоПовторовПриАварийномЗавершении", 3);
|
||||
ПараметрыЗадания.Вставить("ИнтервалПовтораПриАварийномЗавершении", 300);
|
||||
ПараметрыЗадания.Вставить("ИнтервалПовтораПриАварийномЗавершении", 900);
|
||||
|
||||
МодульОчередьЗаданий = ОбщегоНазначения.ОбщийМодуль("ОчередьЗаданий");
|
||||
МодульОчередьЗаданий.ДобавитьЗадание(ПараметрыЗадания);
|
||||
@@ -96,6 +105,10 @@
|
||||
|
||||
Процедура ВыполнитьОчередьЗадач(Задача, ЗадачаПред = "") Экспорт
|
||||
|
||||
Если Задача = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Задача) = Тип("Строка") Тогда
|
||||
ТекЗадача = ЗадачаПоИдентификатору(Задача);
|
||||
Иначе
|
||||
@@ -168,7 +181,9 @@
|
||||
| Задачи.ЗавершенаУспешно КАК ЗавершенаУспешно,
|
||||
| Задачи.ЗавершенаСОшибкой КАК ЗавершенаСОшибкой,
|
||||
| Задачи.Ошибка КАК Ошибка,
|
||||
| Задачи.Параметры КАК Параметры
|
||||
| Задачи.Параметры КАК Параметры,
|
||||
| Задачи.Режим КАК Режим,
|
||||
| Задачи.ОбластьДанныхКорреспондента КАК ОбластьДанныхКорреспондента
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
|ГДЕ
|
||||
@@ -203,7 +218,9 @@
|
||||
| ЗадачаСлед.ЗавершенаУспешно КАК ЗавершенаУспешно,
|
||||
| ЗадачаСлед.ЗавершенаСОшибкой КАК ЗавершенаСОшибкой,
|
||||
| ЗадачаСлед.Ошибка КАК Ошибка,
|
||||
| ЗадачаСлед.Параметры КАК Параметры
|
||||
| ЗадачаСлед.Параметры КАК Параметры,
|
||||
| ЗадачаСлед.Режим КАК Режим,
|
||||
| ЗадачаСлед.ОбластьДанныхКорреспондента КАК ОбластьДанныхКорреспондента
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задача
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК ЗадачаСлед
|
||||
@@ -265,71 +282,39 @@
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| Задачи.ДатаСоздания КАК ДатаСоздания,
|
||||
| Задачи.Сценарий КАК Сценарий,
|
||||
| Задачи.ИдентификаторОбмена КАК ИдентификаторОбмена
|
||||
|ПОМЕСТИТЬ втПоследнийСценарий
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
|ГДЕ
|
||||
| Задачи.ИдентификаторОбмена = &ИдентификаторОбмена
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| ДатаСоздания УБЫВ
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
"ВЫБРАТЬ
|
||||
| Задачи.ДатаСоздания КАК ДатаСоздания,
|
||||
| Задачи.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
|
||||
| Задачи.НомерЗадачи КАК НомерЗадачи,
|
||||
| Задачи.ИдентификаторОбмена КАК ИдентификаторОбмена,
|
||||
| Задачи.ИдентификаторЗадачи КАК ИдентификаторЗадачи
|
||||
|ИЗ
|
||||
| втПоследнийСценарий КАК втПоследнийСценарий
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
| ПО втПоследнийСценарий.ДатаСоздания = Задачи.ДатаСоздания
|
||||
| И втПоследнийСценарий.ИдентификаторОбмена = Задачи.ИдентификаторОбмена
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Задачи.ИдентификаторЗадачи КАК ИдентификаторЗадачи,
|
||||
| Задачи.Действие КАК Действие,
|
||||
| Задачи.ЗавершенаУспешно КАК ЗавершенаУспешно,
|
||||
| Задачи.ЗавершенаСОшибкой КАК ЗавершенаСОшибкой
|
||||
| Задачи.ЗавершенаСОшибкой КАК ЗавершенаСОшибкой,
|
||||
| Задачи.Действие КАК Действие
|
||||
|ИЗ
|
||||
| втПоследнийСценарий КАК втПоследнийСценарий
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
| ПО втПоследнийСценарий.ДатаСоздания = Задачи.ДатаСоздания
|
||||
| И втПоследнийСценарий.ИдентификаторОбмена = Задачи.ИдентификаторОбмена";
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
|ГДЕ
|
||||
| Задачи.ИдентификаторОбмена = &ИдентификаторОбмена";
|
||||
|
||||
Запрос.УстановитьПараметр("ИдентификаторОбмена", ИдентификаторОбмена);
|
||||
|
||||
Результат = Запрос.ВыполнитьПакет();
|
||||
Результат = Запрос.Выполнить();
|
||||
|
||||
Выборка = Результат[1].Выбрать();
|
||||
Если Результат.Пустой() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
Запись = РегистрыСведений.ЗадачиОбменаДаннымиВнутренняяПубликация.СоздатьМенеджерЗаписи();
|
||||
ЗаполнитьЗначенияСвойств(Запись, Выборка);
|
||||
Запись.Прочитать();
|
||||
Запись.Удалить();
|
||||
|
||||
КонецЦикла;
|
||||
Выборка = Результат.Выбрать();
|
||||
|
||||
ЗадачиИсточника = Новый Массив;
|
||||
|
||||
Если ТипЗнч(Сценарий) = Тип("СправочникСсылка.СценарииОбменовДанными") Тогда
|
||||
ЗадачиИсточника.Добавить(Сценарий.РегламентноеЗаданиеGUID);
|
||||
Если ЗначениеЗаполнено(Сценарий) Тогда
|
||||
РегламентноеЗаданиеGUID = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Сценарий, "РегламентноеЗаданиеGUID");
|
||||
ЗадачиИсточника.Добавить(РегламентноеЗаданиеGUID);
|
||||
КонецЕсли;
|
||||
|
||||
ЗадачиПриемника = Новый Массив;
|
||||
|
||||
Выборка = Результат[2].Выбрать();
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
Если (Выборка.Действие = Перечисления.ДействияПриОбменеВнутренняяПубликация.ВыгрузкаДанныхКорреспондент
|
||||
@@ -340,15 +325,17 @@
|
||||
|
||||
ИначеЕсли Выборка.Действие = Перечисления.ДействияПриОбменеВнутренняяПубликация.ВыгрузкаДанных
|
||||
Или Выборка.Действие = Перечисления.ДействияПриОбменеВнутренняяПубликация.ЗагрузкаДанных
|
||||
Или Выборка.Действие = Перечисления.ДействияПриОбменеВнутренняяПубликация.ДополнительнаяРегистрация Тогда
|
||||
Или Выборка.Действие = Перечисления.ДействияПриОбменеВнутренняяПубликация.ДополнительнаяРегистрация
|
||||
И Не Выборка.ЗавершенаУспешно Тогда
|
||||
|
||||
ЗадачиИсточника.Добавить(Выборка.ИдентификаторЗадачи);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Выборка.ЗавершенаУспешно Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
Запись = РегистрыСведений.ЗадачиОбменаДаннымиВнутренняяПубликация.СоздатьМенеджерЗаписи();
|
||||
ЗаполнитьЗначенияСвойств(Запись, Выборка);
|
||||
Запись.Прочитать();
|
||||
Запись.Удалить();
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -361,23 +348,25 @@
|
||||
Отбор = Новый Структура("Ключ", ИдентификаторЗадачи);
|
||||
Задания = МодульОчередьЗаданий.ПолучитьЗадания(Отбор);
|
||||
|
||||
Если Задания.Количество() = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Для Каждого Задание Из Задания Цикл
|
||||
|
||||
УникальныйИдентификаторФЗ = Задания[0].Идентификатор.ИсполняющееФоновоеЗадание;
|
||||
ПараметрыЗадания = Новый Структура;
|
||||
ПараметрыЗадания.Вставить("КоличествоПовторовПриАварийномЗавершении", 0);
|
||||
|
||||
Если Не ЗначениеЗаполнено(УникальныйИдентификаторФЗ) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
МодульОчередьЗаданий.ИзменитьЗадание(Задание.Идентификатор, ПараметрыЗадания);
|
||||
МодульОчередьЗаданий.УдалитьЗадание(Задание.Идентификатор);
|
||||
|
||||
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(УникальныйИдентификаторФЗ);
|
||||
Если ФоновоеЗадание <> Неопределено Тогда
|
||||
ФоновоеЗадание.Отменить();
|
||||
КонецЕсли;
|
||||
УникальныйИдентификаторФЗ = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
|
||||
Задание.Идентификатор, "ИсполняющееФоновоеЗадание");
|
||||
|
||||
ДлительныеОперации.ОтменитьВыполнениеЗадания(УникальныйИдентификаторФЗ);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
Если ЗадачиПриемника.Количество() > 0 Тогда
|
||||
|
||||
Прокси = Неопределено;
|
||||
@@ -600,57 +589,121 @@
|
||||
|
||||
Процедура УдалитьУстаревшиеЗадачи(Сценарий = Неопределено, РучнойОбмен = Ложь)
|
||||
|
||||
// Оставляем N последних записей
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 5
|
||||
| Задачи.ДатаСоздания КАК ДатаСоздания
|
||||
|ПОМЕСТИТЬ втДаты
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
|ГДЕ
|
||||
| (&РучнойОбмен
|
||||
| И ТИПЗНАЧЕНИЯ(Задачи.Сценарий) = ТИП(СТРОКА)
|
||||
| ИЛИ НЕ &РучнойОбмен
|
||||
| И Задачи.Сценарий = &Сценарий)
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| ДатаСоздания УБЫВ
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Задачи.ДатаСоздания КАК ДатаСоздания,
|
||||
| Задачи.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
|
||||
| Задачи.НомерЗадачи КАК НомерЗадачи,
|
||||
| Задачи.ИдентификаторОбмена КАК ИдентификаторОбмена,
|
||||
| Задачи.ИдентификаторЗадачи КАК ИдентификаторЗадачи
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
|ГДЕ
|
||||
| Задачи.Сценарий = &Сценарий
|
||||
| И НЕ Задачи.ДатаСоздания В
|
||||
| (ВЫБРАТЬ
|
||||
| втДаты.ДатаСоздания
|
||||
| ИЗ
|
||||
| втДаты)";
|
||||
НачатьТранзакцию();
|
||||
|
||||
Запрос.УстановитьПараметр("Сценарий", Сценарий);
|
||||
Запрос.УстановитьПараметр("РучнойОбмен", РучнойОбмен);
|
||||
Попытка
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
// Удаление записей с битыми ссылками
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
||||
| Задачи.ДатаСоздания КАК ДатаСоздания,
|
||||
| Задачи.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
|
||||
| Задачи.НомерЗадачи КАК НомерЗадачи,
|
||||
| Задачи.ИдентификаторОбмена КАК ИдентификаторОбмена,
|
||||
| Задачи.ИдентификаторЗадачи КАК ИдентификаторЗадачи
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
|ГДЕ
|
||||
| Задачи.УзелИнформационнойБазы.Код ЕСТЬ NULL";
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Запись = РегистрыСведений.ЗадачиОбменаДаннымиВнутренняяПубликация.СоздатьМенеджерЗаписи();
|
||||
ЗаполнитьЗначенияСвойств(Запись, Выборка);
|
||||
Запись.Прочитать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
Если Запись.Выбран() Тогда
|
||||
Запись.Удалить();
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация");
|
||||
ЭлементБлокировки.УстановитьЗначение("ДатаСоздания", Выборка.ДатаСоздания);
|
||||
ЭлементБлокировки.УстановитьЗначение("УзелИнформационнойБазы", Выборка.УзелИнформационнойБазы);
|
||||
ЭлементБлокировки.УстановитьЗначение("НомерЗадачи", Выборка.НомерЗадачи);
|
||||
ЭлементБлокировки.УстановитьЗначение("ИдентификаторОбмена", Выборка.ИдентификаторОбмена);
|
||||
ЭлементБлокировки.УстановитьЗначение("ИдентификаторЗадачи", Выборка.ИдентификаторЗадачи);
|
||||
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Запись = РегистрыСведений.ЗадачиОбменаДаннымиВнутренняяПубликация.СоздатьМенеджерЗаписи();
|
||||
ЗаполнитьЗначенияСвойств(Запись, Выборка);
|
||||
Запись.Прочитать();
|
||||
|
||||
Если Запись.Выбран() Тогда
|
||||
Запись.Удалить();
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Оставляем N последних записей
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 5
|
||||
| Задачи.ИдентификаторОбмена КАК ИдентификаторОбмена
|
||||
|ПОМЕСТИТЬ втПоследниеСинхронизации
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
|ГДЕ
|
||||
| Задачи.Сценарий = &Сценарий
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Задачи.ДатаСоздания КАК ДатаСоздания,
|
||||
| Задачи.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
|
||||
| Задачи.НомерЗадачи КАК НомерЗадачи,
|
||||
| Задачи.ИдентификаторОбмена КАК ИдентификаторОбмена,
|
||||
| Задачи.ИдентификаторЗадачи КАК ИдентификаторЗадачи
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
| ПОЛНОЕ СОЕДИНЕНИЕ втПоследниеСинхронизации КАК втПоследниеСинхронизации
|
||||
| ПО Задачи.ИдентификаторОбмена = втПоследниеСинхронизации.ИдентификаторОбмена
|
||||
|ГДЕ
|
||||
| втПоследниеСинхронизации.ИдентификаторОбмена ЕСТЬ NULL
|
||||
| И Задачи.Сценарий = &Сценарий
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| ДатаСоздания";
|
||||
|
||||
Если ЗначениеЗаполнено(Сценарий) Тогда
|
||||
Запрос.УстановитьПараметр("Сценарий", Сценарий);
|
||||
Иначе
|
||||
Запрос.УстановитьПараметр("Сценарий", Справочники.СценарииОбменовДанными.ПустаяСсылка());
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация");
|
||||
ЭлементБлокировки.УстановитьЗначение("ДатаСоздания", Выборка.ДатаСоздания);
|
||||
ЭлементБлокировки.УстановитьЗначение("УзелИнформационнойБазы", Выборка.УзелИнформационнойБазы);
|
||||
ЭлементБлокировки.УстановитьЗначение("НомерЗадачи", Выборка.НомерЗадачи);
|
||||
ЭлементБлокировки.УстановитьЗначение("ИдентификаторОбмена", Выборка.ИдентификаторОбмена);
|
||||
ЭлементБлокировки.УстановитьЗначение("ИдентификаторЗадачи", Выборка.ИдентификаторЗадачи);
|
||||
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Запись = РегистрыСведений.ЗадачиОбменаДаннымиВнутренняяПубликация.СоздатьМенеджерЗаписи();
|
||||
ЗаполнитьЗначенияСвойств(Запись, Выборка);
|
||||
Запись.Прочитать();
|
||||
|
||||
Если Запись.Выбран() Тогда
|
||||
Запись.Удалить();
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
|
||||
Исключение
|
||||
|
||||
ОтменитьТранзакцию();
|
||||
|
||||
СообщениеОбОшибке = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
|
||||
Событие = НСтр("ru = 'Обмен данными.Удаление записей регистра задач'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
ЗаписьЖурналаРегистрации(Событие, УровеньЖурналаРегистрации.Ошибка, , , СообщениеОбОшибке);
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -792,26 +845,57 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ОчередьЗадачВыполнена(Сценарий = "", ИдентификаторОбмена = "", Ошибка = "")
|
||||
Функция ОчередьЗадачВыполнена(Сценарий = Неопределено, ИдентификаторОбмена = "", Ошибка = "")
|
||||
|
||||
// Считаем, что сценарий (или ручной обмен) завершен, если для всех задач ЗавершеноУспешно = Истина, или есть ошибка
|
||||
Если ЗначениеЗаполнено(Сценарий) И Не ЗначениеЗаполнено(ИдентификаторОбмена) Тогда
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| Задачи.ИдентификаторОбмена КАК ИдентификаторОбмена
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
|ГДЕ
|
||||
| Задачи.Сценарий = &Сценарий
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Задачи.ДатаСоздания УБЫВ";
|
||||
|
||||
Запрос.УстановитьПараметр("Сценарий", Сценарий);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Если Выборка.Следующий() Тогда
|
||||
ИдентификаторОбмена = Выборка.ИдентификаторОбмена;
|
||||
Иначе
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Задачи.ИдентификаторЗадачи КАК ИдентификаторЗадачи,
|
||||
| Задачи.ДатаСоздания КАК ДатаСоздания,
|
||||
| Задачи.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
|
||||
| Задачи.НомерЗадачи КАК НомерЗадачи,
|
||||
| Задачи.ИдентификаторОбмена КАК ИдентификаторОбмена,
|
||||
| Задачи.ИдентификаторЗадачи КАК ИдентификаторЗадачи,
|
||||
| Задачи.Действие КАК Действие,
|
||||
| Задачи.ЗавершенаУспешно КАК ЗавершенаУспешно,
|
||||
| Задачи.ЗавершенаСОшибкой КАК ЗавершенаСОшибкой,
|
||||
| Задачи.Ошибка КАК Ошибка
|
||||
| Задачи.Ошибка КАК Ошибка,
|
||||
| ВЫБОР
|
||||
| КОГДА Задачи.ВремяПроверкиЗадачи = ДАТАВРЕМЯ(1, 1, 1)
|
||||
| ТОГДА Задачи.ДатаСоздания
|
||||
| ИНАЧЕ Задачи.ВремяПроверкиЗадачи
|
||||
| КОНЕЦ КАК ВремяПроверкиЗадачи
|
||||
|ПОМЕСТИТЬ втЗадачи
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗадачиОбменаДаннымиВнутренняяПубликация КАК Задачи
|
||||
|ГДЕ
|
||||
| (Задачи.Сценарий = &Сценарий
|
||||
| ИЛИ Задачи.ИдентификаторОбмена = &ИдентификаторОбмена)
|
||||
| Задачи.ИдентификаторОбмена = &ИдентификаторОбмена
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -841,10 +925,13 @@
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| втЗадачи.ИдентификаторЗадачи КАК ИдентификаторЗадачи,
|
||||
| втЗадачи.ДатаСоздания КАК ДатаСоздания,
|
||||
| втЗадачи.УзелИнформационнойБазы КАК УзелИнформационнойБазы,
|
||||
| втЗадачи.НомерЗадачи КАК НомерЗадачи,
|
||||
| втЗадачи.ИдентификаторОбмена КАК ИдентификаторОбмена,
|
||||
| втЗадачи.ИдентификаторЗадачи КАК ИдентификаторЗадачи,
|
||||
| втЗадачи.Действие КАК Действие,
|
||||
| втЗадачи.НомерЗадачи КАК НомерЗадачи
|
||||
| РАЗНОСТЬДАТ(втЗадачи.ВремяПроверкиЗадачи, &ТекущаяДата, ЧАС) КАК ПоследняяПроверка
|
||||
|ИЗ
|
||||
| втЗадачи КАК втЗадачи
|
||||
|ГДЕ
|
||||
@@ -854,8 +941,8 @@
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| НомерЗадачи";
|
||||
|
||||
Запрос.УстановитьПараметр("Сценарий", Сценарий);
|
||||
Запрос.УстановитьПараметр("ИдентификаторОбмена", ИдентификаторОбмена);
|
||||
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяУниверсальнаяДата());
|
||||
|
||||
Результат = Запрос.ВыполнитьПакет();
|
||||
|
||||
@@ -876,7 +963,72 @@
|
||||
Выборка = Результат[3].Выбрать();
|
||||
|
||||
Если Выборка.Следующий() Тогда
|
||||
Возврат Ложь
|
||||
|
||||
Если (Выборка.Действие = Перечисления.ДействияПриОбменеВнутренняяПубликация.ЗагрузкаДанных
|
||||
Или Выборка.Действие = Перечисления.ДействияПриОбменеВнутренняяПубликация.ВыгрузкаДанных
|
||||
Или Выборка.Действие = Перечисления.ДействияПриОбменеВнутренняяПубликация.ДополнительнаяРегистрация) Тогда
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
// Проверка очереди задач в корреспонденте
|
||||
|
||||
Состояние = "";
|
||||
|
||||
Если Выборка.ПоследняяПроверка >= 1 Тогда
|
||||
|
||||
Прокси = Неопределено;
|
||||
ПараметрыПрокси = Новый Структура;
|
||||
Отказ = Ложь;
|
||||
|
||||
СтруктураНастроекОбмена = НастройкиОбменаДляУзлаИнформационнойБазы(
|
||||
Выборка.УзелИнформационнойБазы, "ПроверкаСостоянияЗадания", Отказ);
|
||||
|
||||
Попытка
|
||||
ИнициализацияПрокси(Прокси, ПараметрыПрокси, СтруктураНастроекОбмена, Отказ, Ошибка);
|
||||
Состояние = Прокси.TaskStatus(Выборка.ИдентификаторЗадачи);
|
||||
Исключение
|
||||
// Возможно проблемы с доступом к корреспонденту
|
||||
Возврат Ложь;
|
||||
КонецПопытки
|
||||
Иначе
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Состояние = "Запланировано" Или Состояние = "Выполняется" Тогда
|
||||
|
||||
Запись = РегистрыСведений.ЗадачиОбменаДаннымиВнутренняяПубликация.СоздатьМенеджерЗаписи();
|
||||
ЗаполнитьЗначенияСвойств(Запись, Выборка);
|
||||
Запись.Прочитать();
|
||||
Запись.ВремяПроверкиЗадачи = ТекущаяУниверсальнаяДата();
|
||||
Запись.Записать();
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
Иначе
|
||||
|
||||
Запись = РегистрыСведений.ЗадачиОбменаДаннымиВнутренняяПубликация.СоздатьМенеджерЗаписи();
|
||||
ЗаполнитьЗначенияСвойств(Запись, Выборка);
|
||||
Запись.Прочитать();
|
||||
|
||||
Шаблон = НСтр("ru = 'Не обнаружено активных задач обмена в корреспонденте.
|
||||
|См. журнал регистрации корреспондента (%1).'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
Ошибка = СтрШаблон(Шаблон, Выборка.УзелИнформационнойБазы);
|
||||
|
||||
ОбменДаннымиСервер.ЗаписьЖурналаРегистрацииОбменаДанными(Ошибка, СтруктураНастроекОбмена, Истина);
|
||||
|
||||
Запись.ЗавершенаСОшибкой = Истина;
|
||||
Запись.Ошибка = Ошибка;
|
||||
Запись.Записать();
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Истина;
|
||||
@@ -895,6 +1047,9 @@
|
||||
Задача.Вставить("Действие");
|
||||
Задача.Вставить("ЗавершенаУспешно");
|
||||
Задача.Вставить("ЗавершенаСОшибкой");
|
||||
Задача.Вставить("ВремяПроверкиЗадачи");
|
||||
Задача.Вставить("Режим");
|
||||
Задача.Вставить("ОбластьДанныхКорреспондента");
|
||||
Задача.Вставить("Параметры");
|
||||
|
||||
Возврат Задача;
|
||||
@@ -912,6 +1067,7 @@
|
||||
| Справочник.СценарииОбменовДанными.НастройкиОбмена КАК НастройкиОбмена
|
||||
|ГДЕ
|
||||
| НастройкиОбмена.Ссылка = &Ссылка
|
||||
| И НЕ НастройкиОбмена.УзелИнформационнойБазы.Код ЕСТЬ NULL
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| НастройкиОбмена.НомерСтроки";
|
||||
@@ -935,6 +1091,12 @@
|
||||
|
||||
Запись.Вставить("УзелИнформационнойБазы", Выборка.УзелИнформационнойБазы);
|
||||
|
||||
НастройкиТранспорта =
|
||||
РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(Выборка.УзелИнформационнойБазы);
|
||||
|
||||
Запись.ОбластьДанныхКорреспондента = НастройкиТранспорта.WSОбластьДанныхКорреспондента;
|
||||
Запись.Режим = НСтр("ru = 'Автоматический'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
Если Выборка.ВыполняемоеДействие = Перечисления.ДействияПриОбмене.ЗагрузкаДанных Тогда
|
||||
|
||||
//
|
||||
@@ -1004,6 +1166,11 @@
|
||||
Запись.ЗавершенаСОшибкой = Ложь;
|
||||
Запись.ИдентификаторОбмена = ИдентификаторОбмена;
|
||||
|
||||
НастройкиТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(УзелИнформационнойБазы);
|
||||
|
||||
Запись.ОбластьДанныхКорреспондента = НастройкиТранспорта.WSОбластьДанныхКорреспондента;
|
||||
Запись.Режим = НСтр("ru = 'Ручной'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
Набор = РегистрыСведений.ЗадачиОбменаДаннымиВнутренняяПубликация.СоздатьНаборЗаписей();
|
||||
|
||||
НомерЗадачи = 1;
|
||||
@@ -1070,7 +1237,18 @@
|
||||
|
||||
Прокси = ОбменДаннымиВебСервис.WSПроксиДляУзлаИнформационнойБазы(Узел, СтрокаСообщенияОбОшибке);
|
||||
|
||||
Прокси.Callback(ИдентификаторЗадачи, Ошибка, НастройкиТранспорта.WSОбластьДанныхКорреспондента);
|
||||
Если Прокси = Неопределено Тогда
|
||||
ТекстИсключения = НСтр("ru = 'Не удалось создать подключение к базе корреспонденту'",
|
||||
ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
ВызватьИсключение ТекстИсключения;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
Прокси.Callback(ИдентификаторЗадачи, Ошибка, НастройкиТранспорта.WSОбластьДанныхКорреспондента);
|
||||
Исключение
|
||||
ПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ВызватьИсключение ПредставлениеОшибки;
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1092,6 +1270,14 @@
|
||||
Узел = Задача.УзелИнформационнойБазы;
|
||||
Действие = Задача.Действие;
|
||||
|
||||
Шаблон = НСтр("ru = 'Выполнение шага сценария синхронизации.
|
||||
|ПорядковыйНомер: %1, Приложение: %2, Действие: %3, Режим: %4.'");
|
||||
|
||||
Комментарий = СтрШаблон(Шаблон, Задача.НомерЗадачи, Задача.ОбластьДанныхКорреспондента, Задача.Действие, Задача.Режим);
|
||||
|
||||
ЗаписьЖурналаРегистрации(ОбменДаннымиВМоделиСервиса.СобытиеЖурналаРегистрацииСинхронизацииДанных(),
|
||||
УровеньЖурналаРегистрации.Информация, , , Комментарий);
|
||||
|
||||
Если Действие = Перечисления.ДействияПриОбменеВнутренняяПубликация.ВыгрузкаДанныхКорреспондент Тогда
|
||||
|
||||
СтруктураНастроекОбмена = НастройкиОбменаДляУзлаИнформационнойБазы(Узел, Действие, Отказ);
|
||||
@@ -1141,7 +1327,10 @@
|
||||
|
||||
Исключение
|
||||
|
||||
Ошибка = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
Ошибка = СтрШаблон(НСтр("ru = 'Ошибка в базе-корреспонденте:%1 %2'"),
|
||||
Символы.ПС,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
|
||||
Отказ = Истина;
|
||||
ОбменДаннымиСервер.ЗаписьЖурналаРегистрацииОбменаДанными(Ошибка, СтруктураНастроекОбмена, Истина);
|
||||
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Ошибка;
|
||||
@@ -1162,11 +1351,28 @@
|
||||
ФайлСообщенияОбмена = ОбменДаннымиВебСервис.ПолучитьФайлИзХранилищаВСервисе(УИДФайлаСообщения,
|
||||
СтруктураНастроекОбмена.УзелИнформационнойБазы, 1024, ПараметрыОбмена.ПараметрыАутентификации);
|
||||
|
||||
Исключение
|
||||
|
||||
Ошибка = СтрШаблон(НСтр("ru = 'Ошибка в базе-корреспонденте:%1 %2'"),
|
||||
Символы.ПС,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
|
||||
ОбменДаннымиСервер.ЗаписьЖурналаРегистрацииОбменаДанными(Ошибка, СтруктураНастроекОбмена, Истина);
|
||||
|
||||
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Ошибка;
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
Если РезультатВыполненияОбменаВыполненоСОшибкой(СтруктураНастроекОбмена, Отказ, Ошибка) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
|
||||
ОбменДаннымиСервер.ПрочитатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, ФайлСообщенияОбмена);
|
||||
|
||||
Исключение
|
||||
|
||||
Отказ = Истина;
|
||||
Ошибка = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ОбменДаннымиСервер.ЗаписьЖурналаРегистрацииОбменаДанными(Ошибка, СтруктураНастроекОбмена, Истина);
|
||||
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Ошибка;
|
||||
@@ -1231,17 +1437,13 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
УдалитьФайлы(ВременныйКаталог);
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииОбменДанными(),
|
||||
УровеньЖурналаРегистрации.Ошибка,,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
Исключение
|
||||
|
||||
Отказ = Истина;
|
||||
Ошибка = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
Ошибка = СтрШаблон(НСтр("ru = 'Ошибка в базе-корреспонденте:%1 %2'"),
|
||||
Символы.ПС,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
|
||||
ОбменДаннымиСервер.ЗаписьЖурналаРегистрацииОбменаДанными(Ошибка, СтруктураНастроекОбмена, Истина);
|
||||
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Ошибка;
|
||||
|
||||
@@ -1249,6 +1451,13 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
УдалитьФайлы(ВременныйКаталог);
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииОбменДанными(),
|
||||
УровеньЖурналаРегистрации.Ошибка,,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВыполнитьЗадачуЗагрузкаДанныхКорреспондент(Задача, Прокси, ПараметрыОбмена, СтруктураНастроекОбмена, Отказ, Ошибка)
|
||||
@@ -1266,7 +1475,11 @@
|
||||
Исключение
|
||||
|
||||
Отказ = Истина;
|
||||
Ошибка = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
|
||||
Ошибка = СтрШаблон(НСтр("ru = 'Ошибка в базе-корреспонденте:%1 %2'"),
|
||||
Символы.ПС,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
|
||||
ОбменДаннымиСервер.ЗаписьЖурналаРегистрацииОбменаДанными(Ошибка, СтруктураНастроекОбмена, Истина);
|
||||
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Ошибка;
|
||||
|
||||
@@ -1422,7 +1635,7 @@
|
||||
ТекстПанели =
|
||||
НСтр("ru = 'Для данной синхронизации есть возможность настроить обмен через Интернет (веб-сервис).
|
||||
|<br>Это позволит ускорить обмен и более гибко настроить график синхронизации.
|
||||
|<br>Для перехода на обмен по средством веб-сервиса, воспользуйтесь <a href=ФормаПомощникПереходаНаИнтернетВнутренняяПубликация>помощником перехода</a>.
|
||||
|<br>Для перехода на обмен посредством веб-сервиса, воспользуйтесь <a href=ФормаПомощникПереходаНаИнтернетВнутренняяПубликация>помощником перехода</a>.
|
||||
|<br><br>
|
||||
|<a href=НеПредлагатьПерейтиНаВебСервис>Больше не предлагать перейти на веб-сервис</a>. (Вызвать помощник перехода можно через меню <b>Еще<b>)'");
|
||||
|
||||
|
||||
@@ -366,14 +366,14 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПроверитьИЗарегистрироватьCOMСоединитель(Знач СтрукураНастроек) Экспорт
|
||||
Функция ПроверитьИЗарегистрироватьCOMСоединитель(Знач СтруктураНастроек) Экспорт
|
||||
|
||||
Если ТипЗнч(СтрукураНастроек) <> Тип("Структура") Тогда
|
||||
СтрукураНастроек = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспорта(
|
||||
СтрукураНастроек, Перечисления.ВидыТранспортаСообщенийОбмена.COM)
|
||||
Если ТипЗнч(СтруктураНастроек) <> Тип("Структура") Тогда
|
||||
СтруктураНастроек = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспорта(
|
||||
СтруктураНастроек, Перечисления.ВидыТранспортаСообщенийОбмена.COM)
|
||||
КонецЕсли;
|
||||
|
||||
Результат = ОбменДаннымиСервер.УстановитьВнешнееСоединениеСБазой(СтрукураНастроек);
|
||||
Результат = ОбменДаннымиСервер.УстановитьВнешнееСоединениеСБазой(СтруктураНастроек);
|
||||
|
||||
Если Результат.Соединение = Неопределено Тогда
|
||||
Возврат Ложь;
|
||||
|
||||
@@ -12,12 +12,6 @@
|
||||
//
|
||||
Процедура ПроверитьНеобходимостьОбновленияКонфигурацииПодчиненногоУзла() Экспорт
|
||||
|
||||
#Если МобильныйКлиент Тогда
|
||||
Если ОсновнойСерверДоступен() = Ложь Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
ТребуетсяОбновление = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().ТребуетсяОбновлениеКонфигурацииУзлаРИБ;
|
||||
ПроверитьНеобходимостьОбновления(ТребуетсяОбновление);
|
||||
|
||||
@@ -27,12 +21,6 @@
|
||||
//
|
||||
Процедура ПроверитьНеобходимостьОбновленияКонфигурацииПодчиненногоУзлаПриЗапуске() Экспорт
|
||||
|
||||
#Если МобильныйКлиент Тогда
|
||||
Если ОсновнойСерверДоступен() = Ложь Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
ТребуетсяОбновление = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиентаПриЗапуске().ТребуетсяОбновлениеКонфигурацииУзлаРИБ;
|
||||
ПроверитьНеобходимостьОбновления(ТребуетсяОбновление);
|
||||
|
||||
|
||||
@@ -1558,13 +1558,13 @@
|
||||
Возврат Истина;
|
||||
КонецФункции
|
||||
|
||||
Функция ПроверитьИЗарегистрироватьCOMСоединитель(Знач СтрукураНастроек, Оповещение = Неопределено) Экспорт
|
||||
Функция ПроверитьИЗарегистрироватьCOMСоединитель(Знач СтруктураНастроек, Оповещение = Неопределено) Экспорт
|
||||
|
||||
Если НЕ ОбщегоНазначенияКлиент.ИнформационнаяБазаФайловая() Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ОбменДаннымиВызовСервера.ПроверитьИЗарегистрироватьCOMСоединитель(СтрукураНастроек) Тогда
|
||||
Если НЕ ОбменДаннымиВызовСервера.ПроверитьИЗарегистрироватьCOMСоединитель(СтруктураНастроек) Тогда
|
||||
ОбщегоНазначенияКлиент.ЗарегистрироватьCOMСоединитель(Ложь, Оповещение);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -47,12 +47,19 @@
|
||||
|
||||
КомпонентыОбмена.СеансОбмена = СеансОбмена;
|
||||
|
||||
Каталог = ОбменДаннымиПовтИсп.КаталогВременногоХранилищаФайлов();
|
||||
ИмяВременногоФайлаЗамеров = Каталог + "log.txt"; //АПК:441 временный файл будет удален при подведении итогов
|
||||
ИмяВременногоКаталогаЗамеров =
|
||||
ОбменДаннымиПовтИсп.КаталогВременногоХранилищаФайлов() + Строка(Новый УникальныйИдентификатор);
|
||||
|
||||
СоздатьКаталог(ИмяВременногоКаталогаЗамеров);
|
||||
|
||||
ИмяВременногоФайлаЗамеров = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(
|
||||
ИмяВременногоКаталогаЗамеров, "log.txt"); //АПК:441 временный файл будет удален при подведении итогов
|
||||
|
||||
КомпонентыОбмена.ИмяВременногоКаталогаЗамеров = ИмяВременногоКаталогаЗамеров;
|
||||
КомпонентыОбмена.ИмяВременногоФайлаЗамеров = ИмяВременногоФайлаЗамеров;
|
||||
КомпонентыОбмена.ЗаписьЗамеров = Новый ЗаписьТекста(ИмяВременногоФайлаЗамеров, КодировкаТекста.UTF8);
|
||||
|
||||
ЗаголовокЛога = НСтр("ru = 'Начало замера; Время выполнения; ТипСобытия; Событие; Комментарий'");
|
||||
ЗаголовокЛога = НСтр("ru = 'Начало замера; Время выполнения; Тип события; Событие; Комментарий'");
|
||||
КомпонентыОбмена.ЗаписьЗамеров.ЗаписатьСтроку(ЗаголовокЛога, КодОсновногоЯзыка);
|
||||
|
||||
НачатьТранзакцию();
|
||||
@@ -125,12 +132,9 @@
|
||||
ВремяНачала = СеансОбмена.Начало;
|
||||
ВремяОкончания = ТекущаяДатаСеанса();
|
||||
|
||||
Каталог = ОбменДаннымиПовтИсп.КаталогВременногоХранилищаФайлов();
|
||||
ИмяАрхива = Формат(СеансОбмена.Начало, "ДФ=yyyy-MM-dd-HH-mm-ss") + "_"
|
||||
+ Строка(СеансОбмена.Ссылка.УникальныйИдентификатор()) + ".zip";
|
||||
|
||||
ИмяВременногоФайлаИтогов = Каталог + "total.txt";
|
||||
ИмяВременногоФайлаАрхива = Каталог + ИмяАрхива;
|
||||
ИмяВременногоКаталогаЗамеров = КомпонентыОбмена.ИмяВременногоКаталогаЗамеров;
|
||||
ИмяВременногоФайлаИтогов = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(ИмяВременногоКаталогаЗамеров, "total.txt");
|
||||
ИмяВременногоФайлаАрхива = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(ИмяВременногоКаталогаЗамеров, "archive.zip");
|
||||
|
||||
ЗаписьИтогов = Новый ЗаписьТекста(ИмяВременногоФайлаИтогов);
|
||||
|
||||
@@ -198,7 +202,7 @@
|
||||
ВремяВыполнения = СтроковыеФункцииКлиентСервер.ДополнитьСтроку(ВремяВыполнения, 7, " ", "Слева");
|
||||
|
||||
Количество = Формат(СтрокаТаблицы.Количество,"ЧГ=;");
|
||||
Количество = СтроковыеФункцииКлиентСервер.ДополнитьСтроку(СтрокаТаблицы.Количество, 7, " ", "Слева");
|
||||
Количество = СтроковыеФункцииКлиентСервер.ДополнитьСтроку(Количество, 7, " ", "Слева");
|
||||
ТипСобытия = СтроковыеФункцииКлиентСервер.ДополнитьСтроку(СтрокаТаблицы.ТипСобытия, 11, " ", "Справа");
|
||||
|
||||
Строка = СтрШаблон(Шаблон,
|
||||
@@ -228,9 +232,7 @@
|
||||
СеансОбмена.Записать();
|
||||
|
||||
// Удаление временных файлов
|
||||
УдалитьФайлы(ИмяВременногоФайлаИтогов);
|
||||
УдалитьФайлы(ИмяВременногоФайлаАрхива);
|
||||
УдалитьФайлы(ИмяВременногоФайлаЗамеров);
|
||||
УдалитьФайлы(ИмяВременногоКаталогаЗамеров);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -273,6 +273,46 @@
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Вызывается в функции ОбменДаннымиСервер.НайтиИмяПланаОбменаЧерезУниверсальныйФормат
|
||||
// Позволяет переопределить имя плана обмена, которое будет использоваться при обмене с корреспондирующее базой.
|
||||
// Только для обмена через EnterpriseData
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяПланаОбмена - Строка - имя плана обмена корреспондирующей базы,
|
||||
// для которого подбираем соответствие из метаданных конфигурации.
|
||||
// ИдентификаторНастройки- Строка - идентификатор варианта настройки (ВариантНастройки), корреспондирующей базы.
|
||||
// НайденноеИмяПланаОбмена - Строка - Если информационная база уже содержит план обмена с именем ИмяПланаОбмена,
|
||||
// то параметр будет равен ИмяПланаОбмена.
|
||||
// Иначе параметр будет содержать имя Глобального плана обмена.
|
||||
// Параметр может быть переопределен
|
||||
//
|
||||
Процедура ПриПоискеИмениПланаОбменаЧерезУниверсальныйФормат(
|
||||
ИмяПланаОбмена, ИдентификаторНастройки, НайденноеИмяПланаОбмена) Экспорт
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Вызывается в Модуле ОбменДаннымиСобытия.
|
||||
// Позволяет переопределить стандартную обработку РеквизитыСсылочногоТипаУзлаПланаОбмена.
|
||||
//
|
||||
// Параметры:
|
||||
// УзелПланаОбменаОбъект - ПланОбменаОбъект - Ссылка на план обмена.
|
||||
// Результат - ТаблицаЗначений - данные заполненные в процедуре ОбменДаннымиСобытия.РеквизитыСсылочногоТипаУзлаПланаОбмена:
|
||||
// * Порядок - Число.
|
||||
// * ИмяОбъекта - Строка - Полное имя объекта метаданных.
|
||||
// * ТипОбъектаСтрокой - Строка.
|
||||
// * ИмяПланаОбмена - Строка.
|
||||
// * ИмяТабличнойЧасти - Строка - Имя табличной части плана обмена.
|
||||
// * РеквизитыРегистрации - Строка - Ключ объектов регистрации.
|
||||
// * СтруктураРеквизитовРегистрации - Структура:
|
||||
// * Ключ - Строка - Имя реквизита или имя колонки плана обмена.
|
||||
// * Значение - ЛюбаяСсылка - ссылка на регистрируемый объект
|
||||
//
|
||||
Процедура ПриПереопределенииРеквизитовСсылочногоТипаУзлаПланаОбмена(УзелПланаОбменаОбъект, Результат) Экспорт
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область УстаревшиеПроцедурыИФункции
|
||||
|
||||
@@ -561,7 +561,7 @@
|
||||
// ИмяПланаОбмена - Строка - имя плана обмена, как оно задано в конфигураторе.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Истина - используется кэш, иначе Ложь - используются запросы к РС ПубличныеИдентификаторыСинхронизируемыхОбъектов.
|
||||
// Булево - Истина - используется кеш, иначе Ложь - используются запросы к РС ПубличныеИдентификаторыСинхронизируемыхОбъектов.
|
||||
//
|
||||
Функция ИспользоватьКешПубличныхИдентификаторов(Знач ИмяПланаОбмена) Экспорт
|
||||
|
||||
|
||||
@@ -14,13 +14,12 @@
|
||||
// которая храниться в регистре сведений ПравилаДляОбменаДанными.
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяПланаОбмена - Строка - имя плана обмена.
|
||||
// ИмяПланаОбмена - строка - имя плана обмена.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ПараметрыВыборочнойРегистрации - Структура
|
||||
// - Неопределено - параметры выборочной регистрации объектов.
|
||||
// В случае, если выборочная регистрация не используется для указанного плана
|
||||
// обмена возвращаем Неопределено.
|
||||
// В случае, если выборочная регистрация не используется для указанного плана обмена возвращаем Неопределено.
|
||||
//
|
||||
Функция ПараметрыВыборочнойРегистрацииПоИмениПланаОбмена(ИмяПланаОбмена) Экспорт
|
||||
|
||||
@@ -60,7 +59,7 @@
|
||||
// Если для плана обмена ОУФ указан неподдерживаемый режим "СогласноПравиламXML", то будет возвращено значение по-умолчанию.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - значение настройки плана обмена "РежимВыборочнойРегистрации".
|
||||
// Строка - Значение настройки плана обмена "РежимВыборочнойРегистрации".
|
||||
//
|
||||
// Описание значений:
|
||||
//
|
||||
|
||||
@@ -977,12 +977,12 @@
|
||||
// * Алгоритмы - Структура - перечень экспортных процедур и функций, которые
|
||||
// объявлены в модуле менеджера плана обмена
|
||||
// и используются подсистемой обмена данными.
|
||||
// *ПравилаРегистрацииВМенеджере - Булево - признак использования правил регистрации,
|
||||
// *ПравилаРегистрацииВМенеджере - Булево - Признак использования правил регистрации,
|
||||
// расположенных в общем модуле (менеджере регистрации)
|
||||
// *ИмяМенеджераРегистрации - Строка - имя модуля с правилами регистрации
|
||||
// *ИспользоватьКешПубличныхИдентификаторов - Булево - признак того, что при загрузке данных будет
|
||||
// использован кэш для поиска ссылок
|
||||
// *Глобальный - Булево - если установлено Истина, то план обмена может быть
|
||||
// использован кеш для поиска ссылок
|
||||
// *Глобальный - Булево - Если установлено Истина, то план обмена может быть
|
||||
// использован для обмена с планами обмена с другими наименованиями.
|
||||
// Только для обмена через EnterpriseData
|
||||
//
|
||||
@@ -1083,7 +1083,7 @@
|
||||
// * НаименованиеКонфигурацииКорреспондента - Строка - представление наименования конфигурации корреспондента
|
||||
// выводимое в пользовательском интерфейсе.
|
||||
// * ИспользуемыеТранспортыСообщенийОбмена - Массив из ПеречислениеСсылка.ВидыТранспортаСообщенийОбмена
|
||||
// - перечень используемых транспортов сообщений. Если не заполнен,
|
||||
// - Перечень используемых транспортов сообщений. Если не заполнен,
|
||||
// будут доступны все возможные виды транспорта.
|
||||
// * КраткаяИнформацияПоОбмену - Строка - краткое описание обмена данными, которое
|
||||
// выводится на первой странице помощника
|
||||
@@ -1165,19 +1165,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает признак того, что в данный момент загружаются данные в подчиненный узел РИБ.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево
|
||||
//
|
||||
Функция ВыполняетсяЗагрузкаДанныхРИБ() Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Возврат Константы.ВыполняетсяЗагрузкаданныхРИБ.Получить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область НастройкиПодключенияКВнешнейСистеме
|
||||
|
||||
// Сохраняет настройки подключения для обмена с внешней системой через EnterpriseData.
|
||||
@@ -1644,22 +1631,19 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НастройкаСинхронизацииЗавершена = Истина;
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
|
||||
Если Не НастройкаСинхронизацииЗавершена(УзелОбмена) Тогда
|
||||
|
||||
НастройкаСинхронизацииЗавершена = Ложь;
|
||||
|
||||
// Изменения, зарегистрированные до момента завершения настройки синхронизации,
|
||||
// являются некорректными, т.к. еще не были установлены отборы.
|
||||
ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена);
|
||||
|
||||
// Необходимо сбросить ранее установленный признак регистрации изменений для повторной отправки сообщения в МС.
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
|
||||
|
||||
МодульОбменДаннымиВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиВМоделиСервиса");
|
||||
МодульОбменДаннымиВМоделиСервиса.ИзменитьПризнакНеобходимостиОбменаДаннымиВМоделиСервиса(Ложь);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
РегистрыСведений.ОбщиеНастройкиУзловИнформационныхБаз.УстановитьПризнакНастройкаЗавершена(УзелОбмена);
|
||||
@@ -1670,6 +1654,15 @@
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
// Необходимо сбросить ранее установленный признак регистрации изменений для повторной отправки сообщения в МС.
|
||||
Если Не НастройкаСинхронизацииЗавершена
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
|
||||
|
||||
МодульОбменДаннымиВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиВМоделиСервиса");
|
||||
МодульОбменДаннымиВМоделиСервиса.ИзменитьПризнакНеобходимостиОбменаДаннымиВМоделиСервиса(Ложь);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает признак завершения настройки синхронизации для узла обмена.
|
||||
@@ -3031,7 +3024,10 @@
|
||||
И ДополнительныеПараметры <> Неопределено
|
||||
И ДополнительныеПараметры.Свойство("ЭтоПланОбменаXDTO") Тогда
|
||||
|
||||
ПланОбмена = НайтиИмяПланаОбменаЧерезУниверсальныйФормат(ИмяПланаОбмена);
|
||||
ИдентификаторНастройки = Неопределено;
|
||||
ДополнительныеПараметры.Свойство("ИдентификаторНастройки", ИдентификаторНастройки);
|
||||
|
||||
ПланОбмена = НайтиИмяПланаОбменаЧерезУниверсальныйФормат(ИмяПланаОбмена, ИдентификаторНастройки);
|
||||
|
||||
Результат.ПланОбменаСуществует = ЗначениеЗаполнено(ПланОбмена);
|
||||
Результат.ИмяПланаОбмена = ПланОбмена;
|
||||
@@ -4626,6 +4622,7 @@
|
||||
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииИсключенийПоискаСсылок.
|
||||
Процедура ПриДобавленииИсключенийПоискаСсылок(ИсключенияПоискаСсылок) Экспорт
|
||||
|
||||
ИсключенияПоискаСсылок.Добавить(Метаданные.РегистрыСведений.ДанныеОбъектовДляРегистрацииВОбменах.ПолноеИмя());
|
||||
ИсключенияПоискаСсылок.Добавить(Метаданные.РегистрыСведений.РезультатыОбменаДанными.ПолноеИмя());
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -5428,24 +5425,33 @@
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
Функция НайтиИмяПланаОбменаЧерезУниверсальныйФормат(Знач ИсходноеИмяПланаОбмена) Экспорт
|
||||
Функция НайтиИмяПланаОбменаЧерезУниверсальныйФормат(ИмяПланаОбмена, ИдентификаторНастройки) Экспорт
|
||||
|
||||
ИмяПланаОбмена = ОбменДаннымиТрансляцияФорматаПовтИсп.ТранслироватьИмя(ИсходноеИмяПланаОбмена, "en");
|
||||
НайденноеИмя = ОбменДаннымиТрансляцияФорматаПовтИсп.ТранслироватьИмя(ИмяПланаОбмена, "en");
|
||||
|
||||
Если Метаданные.ПланыОбмена.Найти(ИмяПланаОбмена) <> Неопределено Тогда
|
||||
Возврат ИмяПланаОбмена;
|
||||
Если Метаданные.ПланыОбмена.Найти(НайденноеИмя) = Неопределено Тогда
|
||||
НайденноеИмя = "";
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ПланОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл
|
||||
Если НайденноеИмя = "" Тогда
|
||||
|
||||
Если ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ПланОбмена)
|
||||
И ОбменДаннымиПовтИсп.ЭтоГлобальныйОбменЧерезУниверсальныйФормат(ПланОбмена) Тогда
|
||||
Для Каждого ПланОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл
|
||||
|
||||
Возврат ПланОбмена;
|
||||
Если ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ПланОбмена)
|
||||
И ОбменДаннымиПовтИсп.ЭтоГлобальныйОбменЧерезУниверсальныйФормат(ПланОбмена) Тогда
|
||||
|
||||
КонецЕсли;
|
||||
НайденноеИмя = ПланОбмена;
|
||||
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОбменДаннымиПереопределяемый.ПриПоискеИмениПланаОбменаЧерезУниверсальныйФормат(
|
||||
ИмяПланаОбмена, ИдентификаторНастройки, НайденноеИмя);
|
||||
|
||||
Возврат НайденноеИмя;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -7047,7 +7053,7 @@
|
||||
Процедура ВыполнитьТранспортСообщенияОбменаПередОбработкой(СтруктураНастроекОбмена)
|
||||
|
||||
// Получаем инициализированную обработку транспорта сообщений.
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена;
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена; // ОбработкаОбъект.ТранспортСообщенийОбменаEMAIL, ОбработкаОбъект.ТранспортСообщенийОбменаFILE, ОбработкаОбъект.ТранспортСообщенийОбменаFTP
|
||||
|
||||
// Получаем новое имя временного файла.
|
||||
Если Не ОбработкаТранспортаСообщенийОбмена.ВыполнитьДействияПередОбработкойСообщения() Тогда
|
||||
@@ -7063,7 +7069,7 @@
|
||||
Процедура ВыполнитьТранспортСообщенияОбменаОтправка(СтруктураНастроекОбмена)
|
||||
|
||||
// Получаем инициализированную обработку транспорта сообщений.
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена;
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена; // ОбработкаОбъект.ТранспортСообщенийОбменаEMAIL, ОбработкаОбъект.ТранспортСообщенийОбменаFILE, ОбработкаОбъект.ТранспортСообщенийОбменаFTP
|
||||
|
||||
// Отправляем сообщение обмена из временного каталога.
|
||||
Если Не ОбработкаТранспортаСообщенийОбмена.ПодключениеУстановлено()
|
||||
@@ -7084,7 +7090,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
// Получаем инициализированную обработку транспорта сообщений.
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена;
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена; // ОбработкаОбъект.ТранспортСообщенийОбменаEMAIL, ОбработкаОбъект.ТранспортСообщенийОбменаFILE, ОбработкаОбъект.ТранспортСообщенийОбменаFTP
|
||||
ОбработкаТранспортаСообщенийОбмена.УзелИнформационнойБазы = СтруктураНастроекОбмена.УзелИнформационнойБазы;
|
||||
|
||||
// Получаем сообщение обмена во временный каталог.
|
||||
@@ -7143,7 +7149,7 @@
|
||||
Процедура ВыполнитьТранспортСообщенияОбменаПослеОбработки(СтруктураНастроекОбмена)
|
||||
|
||||
// Получаем инициализированную обработку транспорта сообщений.
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена;
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена; // ОбработкаОбъект.ТранспортСообщенийОбменаEMAIL, ОбработкаОбъект.ТранспортСообщенийОбменаFILE, ОбработкаОбъект.ТранспортСообщенийОбменаFTP
|
||||
|
||||
// Выполняем действия после отправки сообщения.
|
||||
ОбработкаТранспортаСообщенийОбмена.ВыполнитьДействияПослеОбработкиСообщения();
|
||||
@@ -8677,7 +8683,7 @@
|
||||
// Функция должна возвращать одно и то же значение при многократном вызове.
|
||||
//
|
||||
// Параметры:
|
||||
// ВнешнийМодуль - ЛюбаяСсылка - ссылка на внешний модуль.
|
||||
// ВнешнийМодуль - ОбъектМетаданныхПланОбмена - объект метаданных ПланОбмена, являющийся внешним модулем.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - шаблон имя профиля безопасности, содержащий символы
|
||||
@@ -8692,10 +8698,11 @@
|
||||
|
||||
// Возвращает пиктограмму, отображающую внешний модуль.
|
||||
//
|
||||
// ВнешнийМодуль - ЛюбаяСсылка, ссылка на внешний модуль,
|
||||
// Параметры:
|
||||
// ВнешнийМодуль- ЛюбаяСсылка - ссылка на внешний модуль
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Картинка.
|
||||
// Картинка. - Пиктограмма внешнего модуля
|
||||
//
|
||||
Функция ПиктограммаВнешнегоМодуля(Знач ВнешнийМодуль) Экспорт
|
||||
|
||||
@@ -9648,7 +9655,7 @@
|
||||
ИмяФайлаСообщения = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(
|
||||
ИмяВременногоКаталога, УникальноеИмяФайлаСообщенияОбмена());
|
||||
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена;
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена; // ОбработкаОбъект.ТранспортСообщенийОбменаEMAIL, ОбработкаОбъект.ТранспортСообщенийОбменаFILE, ОбработкаОбъект.ТранспортСообщенийОбменаFTP, ОбработкаОбъект.ТранспортСообщенийОбменаВнешняяСистема
|
||||
|
||||
СообщениеПолучено = Ложь;
|
||||
Попытка
|
||||
@@ -9726,7 +9733,7 @@
|
||||
|
||||
Процедура ВыполнитьОбменДаннымиСВнешнейСистемойВыгрузкаНастроекXDTO(СтруктураНастроекОбмена)
|
||||
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена;
|
||||
ОбработкаТранспортаСообщенийОбмена = СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена; // ОбработкаОбъект.ТранспортСообщенийОбменаВнешняяСистема
|
||||
|
||||
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(СтруктураНастроекОбмена.УзелИнформационнойБазы);
|
||||
|
||||
@@ -10080,7 +10087,8 @@
|
||||
СтруктураНастроекОбмена.ОбменПоПравиламКонвертацииОбъектов = ОбменДаннымиПовтИсп.ЭтоУзелУниверсальногоОбменаДанными(СтруктураНастроекОбмена.УзелИнформационнойБазы);
|
||||
|
||||
СтруктураНастроекОбмена.ТекущийУзелПланаОбмена = ПланыОбмена[СтруктураНастроекОбмена.ИмяПланаОбмена].ЭтотУзел();
|
||||
СтруктураНастроекОбмена.ТекущийУзелПланаОбменаКод = СтруктураНастроекОбмена.ТекущийУзелПланаОбмена.Код;
|
||||
СтруктураНастроекОбмена.ТекущийУзелПланаОбменаКод =
|
||||
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СтруктураНастроекОбмена.ТекущийУзелПланаОбмена, "Код");
|
||||
|
||||
СтруктураНастроекОбмена.ИмяОбработкиТранспортаСообщенийОбмена = ИмяОбработкиТранспортаСообщенийОбмена(СтруктураНастроекОбмена.ВидТранспортаОбмена);
|
||||
|
||||
@@ -10343,7 +10351,7 @@
|
||||
|
||||
ЗафиксироватьЗавершениеИнициализацииОбмена(СтруктураНастроекОбмена);
|
||||
|
||||
ИначеЕсли СтруктураНастроекОбмена.УзелИнформационнойБазы.ПометкаУдаления Тогда
|
||||
ИначеЕсли ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СтруктураНастроекОбмена.УзелИнформационнойБазы, "ПометкаУдаления") Тогда
|
||||
|
||||
// Узел информационной базы не должен быть помечен на удаление.
|
||||
СтрокаСообщенияОбОшибке = НСтр("ru = 'Узел информационной базы помечен на удаление. Обмен отменен.'",
|
||||
@@ -14573,12 +14581,14 @@
|
||||
ДекорацияКартинка.РазмерКартинки = РазмерКартинки.Пропорционально;
|
||||
|
||||
ШаблонТекста = НСтр("ru = '<br>Обнаружено зацикливание синхронизаций. Для получения подробной информации перейдите по
|
||||
|<a href=ФормаЗацикливаниеСинхронизации>ссылке</a>.
|
||||
|<a href=""%1"">ссылке</a>.
|
||||
|<br><br>
|
||||
|<a href=ФормаОбъектыНезарегистрированныеПриЗацикливании>Объекты незарегистрированные при зацикливании</a>.'");
|
||||
|<a href=""%2"">Объекты незарегистрированные при зацикливании</a>.'");
|
||||
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонТекста,
|
||||
"ФормаЗацикливаниеСинхронизации", "ФормаОбъектыНезарегистрированныеПриЗацикливании" );
|
||||
|
||||
ФДок = Новый ФорматированныйДокумент;
|
||||
ФДок.УстановитьHTML("<html>" + ШаблонТекста + "</html>", Новый Структура);
|
||||
ФДок.УстановитьHTML("<html>" + ТекстПредупреждения + "</html>", Новый Структура);
|
||||
|
||||
ДекорацияНадпись = Элементы.Добавить("Надпись" + ИмяПанели, Тип("ДекорацияФормы"), Группа);
|
||||
ДекорацияНадпись.Вид = ВидДекорацииФормы.Надпись;
|
||||
|
||||
@@ -852,22 +852,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура УстановитьПризнакЗагрузкиДанныхРИБ(Включить) Экспорт
|
||||
|
||||
Если ПланыОбмена.ГлавныйУзел() = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Если Константы.ВыполняетсяЗагрузкаДанныхРИБ.Получить() = Включить Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Константы.ВыполняетсяЗагрузкаДанныхРИБ.Установить(Включить);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область ВыполнениеОбменаМетодамиСериализации
|
||||
|
||||
// Возвращает таблицу предопределенных данных информационной базы.
|
||||
@@ -951,11 +935,12 @@
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// Данные - СправочникОбъект
|
||||
// Данные - СправочникОбъект,
|
||||
// - ДокументОбъект
|
||||
// - ПланСчетовОбъект
|
||||
// - ПланВидовРасчетаОбъект
|
||||
// - РегистрСведенийНаборЗаписей -
|
||||
// - РегистрСведенийНаборЗаписей
|
||||
// - КонстантаМенеджерЗначения -
|
||||
// объект данных.
|
||||
// ТаблицаПредопределенных - см. ОбменДаннымиСлужебный.ТаблицаПредопределенныхДанных
|
||||
//
|
||||
@@ -1551,6 +1536,10 @@
|
||||
//
|
||||
Процедура ПроверитьЗаменитьСсылкуПредопределенногоВРеквизитеОбъекта(Данные, ИмяРеквизита, ТаблицаПредопределенных)
|
||||
|
||||
Если ИмяРеквизита = "Ссылка" Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Значение = Данные[ИмяРеквизита];
|
||||
|
||||
Если Не ОбщегоНазначения.ЭтоСсылка(ТипЗнч(Значение)) Тогда
|
||||
|
||||
@@ -352,11 +352,11 @@
|
||||
// Выполняет обработчики после загрузки объекта.
|
||||
//
|
||||
// Параметры:
|
||||
// Контейнер - ОбработкаОбъект.ВыгрузкаЗагрузкаДанныхМенеджерКонтейнера - менеджер
|
||||
// Контейнер - ОбработкаОбъект.ВыгрузкаЗагрузкаДанныхМенеджерКонтейнера - менеджер
|
||||
// контейнера, используемый в процессе выгрузи данных. Подробнее см. комментарий
|
||||
// к программному интерфейсу обработки ВыгрузкаЗагрузкаДанныхМенеджерКонтейнера.
|
||||
// Объект - Произвольный - объект загружаемых данных.
|
||||
// Артефакты - Массив из ОбъектXDTO - массив артефактов (объектов XDTO).
|
||||
// Объект - Произвольный - объект загружаемых данных.
|
||||
// Артефакты - Массив из ОбъектXDTO - массив артефактов (объектов XDTO).
|
||||
//
|
||||
Процедура ПослеЗагрузкиОбъекта(Контейнер, Объект, Артефакты) Экспорт
|
||||
|
||||
@@ -1115,6 +1115,23 @@
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
|
||||
|
||||
МодульОбменДаннымиВнутренняяПубликация = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиВнутренняяПубликация");
|
||||
|
||||
СценарииОбменовДанными = "";
|
||||
ИдентификаторОбмена = "";
|
||||
|
||||
ПоУзлуЗапланированОбмен = МодульОбменДаннымиВнутренняяПубликация.ПоУзлуЗапланированОбмен(
|
||||
Источник.Ссылка, СценарииОбменовДанными,ИдентификаторОбмена);
|
||||
|
||||
Если ПоУзлуЗапланированОбмен Тогда
|
||||
МодульОбменДаннымиВнутренняяПубликация.ОтменитьОчередьЗадач(
|
||||
Источник.Ссылка, СценарииОбменовДанными, ИдентификаторОбмена);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
@@ -3125,6 +3142,8 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ОбменДаннымиПереопределяемый.ПриПереопределенииРеквизитовСсылочногоТипаУзлаПланаОбмена(УзелПланаОбменаОбъект, Результат);
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
@@ -3584,8 +3603,9 @@
|
||||
ОбъектМетаданных = Объект.Метаданные();
|
||||
ЭтоОбъектСсылочногоТипа = ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(ОбъектМетаданных);
|
||||
|
||||
Если ЭтоОбъектСсылочногоТипа
|
||||
И Объект.ОбменДанными.Загрузка Тогда
|
||||
Если Не(Объект.ОбменДанными.Загрузка
|
||||
Или Объект.ДополнительныеСвойства.Свойство("ОтложеннаяЗапись")
|
||||
Или Объект.ДополнительныеСвойства.Свойство("ОтложенноеПроведение")) Тогда
|
||||
|
||||
Возврат;
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -39,7 +39,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "БиблиотекаСинхронизацииДанных";
|
||||
Описание.Версия = "1.0.3.409";
|
||||
Описание.Версия = "1.0.3.534";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "DSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "1.0.1.1";
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.1.10.277";
|
||||
Описание.Версия = "3.1.10.295";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -2442,6 +2442,8 @@
|
||||
ИмяКлючевогоРеквизита = ИмяКлючевогоРеквизита(
|
||||
НаборДанныхДляЗаполнения.НастройкиПредопределенныхЭлементов);
|
||||
ЗначениеКлючевогоРеквизита = Объект[ИмяКлючевогоРеквизита];
|
||||
Иначе
|
||||
ИмяКлючевогоРеквизита = "ИмяПредопределенныхДанных";
|
||||
КонецЕсли;
|
||||
|
||||
Если ПустаяСтрока(ЗначениеКлючевогоРеквизита) Тогда
|
||||
@@ -2488,7 +2490,13 @@
|
||||
ЗначениеРеквизита = СтрокаТаблицы.Родитель;
|
||||
КонецЕсли;
|
||||
ИначеЕсли ТипЗнч(СтрокаТаблицы.Родитель) = Тип("Строка") Тогда
|
||||
ЗначениеРеквизита = МенеджерОбъекта.НайтиПоРеквизиту(ИмяКлючевогоРеквизита, СтрокаТаблицы.Родитель);
|
||||
|
||||
Если ИмяКлючевогоРеквизита = "ИмяПредопределенныхДанных" Тогда
|
||||
ЗначениеРеквизита = МенеджерОбъекта[СтрокаТаблицы.Родитель];
|
||||
Иначе
|
||||
ЗначениеРеквизита = МенеджерОбъекта.НайтиПоРеквизиту(ИмяКлючевогоРеквизита, СтрокаТаблицы.Родитель);
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
ЗначениеРеквизита = СтрокаТаблицы.Родитель;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -975,6 +975,12 @@
|
||||
// указанные в ПараметрыПодключения.ИдентификаторыСозданияОбъектов:
|
||||
// *** Ключ - Строка - идентификатор внешней компоненты;
|
||||
// *** Значение - ОбъектВнешнейКомпоненты - экземпляр объекта.
|
||||
// ** Местоположение - Строка - имя макета или навигационная ссылка компоненты из справочника, если она
|
||||
// более старшей версии, из которых была подключена компонента.
|
||||
// ** СимволическоеИмя - Строка - символическое имя, с которым была подключена компонента.
|
||||
// По местоположению и символическому имени из прикладного кода можно проверять подключение компоненты
|
||||
// методом платформы
|
||||
// ПроверитьПодключениеВнешнейКомпоненты(Местоположение, Имя)
|
||||
// ** ОписаниеОшибки - Строка - краткое описание ошибки. При отмене пользователем пустая строка.
|
||||
// * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
|
||||
// Идентификатор - Строка - идентификатор объекта внешней компоненты.
|
||||
@@ -1156,6 +1162,11 @@
|
||||
// указанные в ПараметрыПодключения.ИдентификаторыСозданияОбъектов:
|
||||
// ** Ключ - Строка - идентификатор внешней компоненты;
|
||||
// ** Значение - ОбъектВнешнейКомпоненты - экземпляр объекта.
|
||||
// * Местоположение - Строка - имя макета или навигационная ссылка компоненты из справочника, если она более
|
||||
// старшей версии, из которых была подключена компонента.
|
||||
// * СимволическоеИмя - Строка - символическое имя, с которым была подключена компонента.
|
||||
// По местоположению и символическому имени из прикладного кода можно проверять подключение компоненты методом платформы
|
||||
// ПроверитьПодключениеВнешнейКомпоненты(Местоположение, Имя)
|
||||
// * ОписаниеОшибки - Строка - краткое описание ошибки. При отмене пользователем пустая строка.
|
||||
//
|
||||
Асинх Функция ПодключитьКомпонентуИзМакетаАсинх(Идентификатор, ПолноеИмяМакета,
|
||||
|
||||
@@ -126,43 +126,25 @@
|
||||
|
||||
Если Контекст.Кэшировать Тогда
|
||||
|
||||
ПодключаемыйМодуль = ПолучитьОбъектКомпонентыИзКэша(Контекст.Местоположение);
|
||||
СвойстваПодключаемогоМодуля = ПолучитьОбъектКомпонентыИзКэша(Контекст.Местоположение);
|
||||
|
||||
ПровереноПодключение = Неопределено;
|
||||
|
||||
Если ПодключаемыйМодуль <> Неопределено Тогда
|
||||
ПровереноПодключение = ПроверитьПодключениеВнешнейКомпоненты(Контекст.Местоположение,
|
||||
Контекст.Идентификатор);
|
||||
Если ПровереноПодключение Тогда
|
||||
Результат = РезультатПодключенияКомпоненты();
|
||||
Результат.Подключено = Истина;
|
||||
Результат.ПодключаемыйМодуль = ПодключаемыйМодуль;
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
Если СвойстваПодключаемогоМодуля <> Неопределено Тогда
|
||||
Результат = РезультатПодключенияКомпоненты();
|
||||
Результат.Подключено = Истина;
|
||||
Результат.ПодключаемыйМодуль = СвойстваПодключаемогоМодуля.ПодключаемыйМодуль;
|
||||
Результат.Местоположение = СвойстваПодключаемогоМодуля.Местоположение;
|
||||
Результат.СимволическоеИмя = СвойстваПодключаемогоМодуля.Имя;
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПровереноПодключение <> Ложь Тогда
|
||||
// Проверка факта подключения внешней компоненты в этом сеансе ранее.
|
||||
СимволическоеИмя = ПолучитьСимволическоеИмяКомпонентыИзКэша(Контекст.Местоположение);
|
||||
// Проверка факта подключения внешней компоненты в этом сеансе ранее.
|
||||
СимволическоеИмя = ПолучитьСимволическоеИмяКомпонентыИзКэша(Контекст.Местоположение);
|
||||
|
||||
Если СимволическоеИмя <> Неопределено Тогда
|
||||
// Если в кэше уже есть символическое имя - значит к этому сеансу ранее компонента уже подключалась.
|
||||
|
||||
Если ПровереноПодключение = Неопределено Тогда
|
||||
ПровереноПодключение = ПроверитьПодключениеВнешнейКомпоненты(Контекст.Местоположение,
|
||||
Контекст.Идентификатор);
|
||||
КонецЕсли;
|
||||
|
||||
Если ПровереноПодключение Тогда
|
||||
Подключено = Истина;
|
||||
Контекст.Вставить("СимволическоеИмя", СимволическоеИмя);
|
||||
Возврат Ждать ПодключитьКомпонентуПослеПопыткиПодключенияАсинх(Подключено, Контекст);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПровереноПодключение = Ложь Тогда
|
||||
ОчиститьОбъектКомпонентыВКэше(Контекст.Местоположение);
|
||||
Если СимволическоеИмя <> Неопределено Тогда
|
||||
// Если в кэше уже есть символическое имя - значит к этому сеансу ранее компонента уже подключалась.
|
||||
Подключено = Истина;
|
||||
Контекст.Вставить("СимволическоеИмя", СимволическоеИмя);
|
||||
Возврат Ждать ПодключитьКомпонентуПослеПопыткиПодключенияАсинх(Подключено, Контекст);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -268,41 +250,22 @@
|
||||
|
||||
Если Контекст.Кэшировать Тогда
|
||||
|
||||
ПодключаемыйМодуль = ПолучитьОбъектКомпонентыИзКэша(Контекст.Местоположение);
|
||||
СвойстваПодключаемогоМодуля = ПолучитьОбъектКомпонентыИзКэша(Контекст.Местоположение);
|
||||
|
||||
ПровереноПодключение = Неопределено;
|
||||
|
||||
Если ПодключаемыйМодуль <> Неопределено Тогда
|
||||
ПровереноПодключение = ПроверитьПодключениеВнешнейКомпоненты(Контекст.Местоположение,
|
||||
Контекст.Идентификатор);
|
||||
Если ПровереноПодключение Тогда
|
||||
ПодключитьКомпонентуОповеститьОПодключении(ПодключаемыйМодуль, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Если СвойстваПодключаемогоМодуля <> Неопределено Тогда
|
||||
ПодключитьКомпонентуОповеститьОПодключении(СвойстваПодключаемогоМодуля, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПровереноПодключение <> Ложь Тогда
|
||||
// Проверка факта подключения внешней компоненты в этом сеансе ранее.
|
||||
СимволическоеИмя = ПолучитьСимволическоеИмяКомпонентыИзКэша(Контекст.Местоположение);
|
||||
// Проверка факта подключения внешней компоненты в этом сеансе ранее.
|
||||
СимволическоеИмя = ПолучитьСимволическоеИмяКомпонентыИзКэша(Контекст.Местоположение);
|
||||
|
||||
Если СимволическоеИмя <> Неопределено Тогда
|
||||
Если ПровереноПодключение = Неопределено Тогда
|
||||
ПровереноПодключение = ПроверитьПодключениеВнешнейКомпоненты(Контекст.Местоположение,
|
||||
Контекст.Идентификатор);
|
||||
КонецЕсли;
|
||||
|
||||
Если ПровереноПодключение Тогда
|
||||
// Если в кэше уже есть символическое имя - значит к этому сеансу ранее компонента уже подключалась.
|
||||
Подключено = Истина;
|
||||
Контекст.Вставить("СимволическоеИмя", СимволическоеИмя);
|
||||
ПодключитьКомпонентуПослеПопыткиПодключения(Подключено, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПровереноПодключение = Ложь Тогда
|
||||
ОчиститьОбъектКомпонентыВКэше(Контекст.Местоположение);
|
||||
Если СимволическоеИмя <> Неопределено Тогда
|
||||
// Если в кэше уже есть символическое имя - значит к этому сеансу ранее компонента уже подключалась.
|
||||
Подключено = Истина;
|
||||
Контекст.Вставить("СимволическоеИмя", СимволическоеИмя);
|
||||
ПодключитьКомпонентуПослеПопыткиПодключения(Подключено, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -352,11 +315,13 @@
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПодключитьКомпоненту.
|
||||
Процедура ПодключитьКомпонентуОповеститьОПодключении(ПодключаемыйМодуль, Контекст) Экспорт
|
||||
Процедура ПодключитьКомпонентуОповеститьОПодключении(СвойстваПодключаемогоМодуля, Контекст) Экспорт
|
||||
|
||||
Результат = РезультатПодключенияКомпоненты();
|
||||
Результат.Подключено = Истина;
|
||||
Результат.ПодключаемыйМодуль = ПодключаемыйМодуль;
|
||||
Результат.ПодключаемыйМодуль = СвойстваПодключаемогоМодуля.ПодключаемыйМодуль;
|
||||
Результат.СимволическоеИмя = СвойстваПодключаемогоМодуля.Имя;
|
||||
Результат.Местоположение = СвойстваПодключаемогоМодуля.Местоположение;
|
||||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -384,6 +349,8 @@
|
||||
Результат.Вставить("Подключено", Ложь);
|
||||
Результат.Вставить("ОписаниеОшибки", "");
|
||||
Результат.Вставить("ПодключаемыйМодуль", Неопределено);
|
||||
Результат.Вставить("Местоположение", "");
|
||||
Результат.Вставить("СимволическоеИмя", "");
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -950,10 +917,11 @@
|
||||
КонецПопытки;
|
||||
|
||||
Если Контекст.Кэшировать Тогда
|
||||
ЗаписатьОбъектКомпонентыВКэш(ИсходноеМестоположение, ПодключаемыйМодуль)
|
||||
ЗаписатьОбъектКомпонентыВКэш(ИсходноеМестоположение, ПодключаемыйМодуль, Контекст.Местоположение, Контекст.СимволическоеИмя);
|
||||
КонецЕсли;
|
||||
|
||||
ПодключитьКомпонентуОповеститьОПодключении(ПодключаемыйМодуль, Контекст);
|
||||
ПодключитьКомпонентуОповеститьОПодключении(Новый Структура("ПодключаемыйМодуль, Местоположение, Имя",
|
||||
ПодключаемыйМодуль, Контекст.Местоположение, Контекст.СимволическоеИмя), Контекст);
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -1276,12 +1244,15 @@
|
||||
#КонецЕсли
|
||||
|
||||
Если Контекст.Кэшировать Тогда
|
||||
ЗаписатьОбъектКомпонентыВКэш(ИсходноеМестоположение, ПодключаемыйМодуль)
|
||||
ЗаписатьОбъектКомпонентыВКэш(
|
||||
ИсходноеМестоположение, ПодключаемыйМодуль, Контекст.Местоположение, Контекст.СимволическоеИмя);
|
||||
КонецЕсли;
|
||||
|
||||
Результат = РезультатПодключенияКомпоненты();
|
||||
Результат.Подключено = Истина;
|
||||
Результат.ПодключаемыйМодуль = ПодключаемыйМодуль;
|
||||
Результат.Местоположение = Контекст.Местоположение;
|
||||
Результат.СимволическоеИмя = Контекст.СимволическоеИмя;
|
||||
Возврат Результат;
|
||||
|
||||
Иначе
|
||||
@@ -1440,14 +1411,22 @@
|
||||
КэшированныеОбъекты = ПараметрыПриложения["СтандартныеПодсистемы.ВнешниеКомпоненты.Объекты"];
|
||||
|
||||
Если ТипЗнч(КэшированныеОбъекты) = Тип("ФиксированноеСоответствие") Тогда
|
||||
ПодключаемыйМодуль = КэшированныеОбъекты.Получить(КлючОбъекта);
|
||||
СвойстваПодключаемогоМодуля = КэшированныеОбъекты.Получить(КлючОбъекта);
|
||||
Если СвойстваПодключаемогоМодуля <> Неопределено Тогда
|
||||
Если ПроверитьПодключениеВнешнейКомпоненты(СвойстваПодключаемогоМодуля.Местоположение,
|
||||
СвойстваПодключаемогоМодуля.Имя) Тогда
|
||||
Возврат СвойстваПодключаемогоМодуля;
|
||||
Иначе
|
||||
ОчиститьОбъектКомпонентыВКэше(КлючОбъекта);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПодключаемыйМодуль;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаписатьОбъектКомпонентыВКэш(КлючОбъекта, ПодключаемыйМодуль)
|
||||
Процедура ЗаписатьОбъектКомпонентыВКэш(КлючОбъекта, ПодключаемыйМодуль, Местоположение, Имя)
|
||||
|
||||
Соответствие = Новый Соответствие;
|
||||
КэшированныеОбъекты = ПараметрыПриложения["СтандартныеПодсистемы.ВнешниеКомпоненты.Объекты"];
|
||||
@@ -1458,7 +1437,9 @@
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Соответствие.Вставить(КлючОбъекта, ПодключаемыйМодуль);
|
||||
СвойстваПодключаемогоМодуля = Новый Структура("ПодключаемыйМодуль, Местоположение, Имя",
|
||||
ПодключаемыйМодуль, Местоположение, Имя);
|
||||
Соответствие.Вставить(КлючОбъекта, СвойстваПодключаемогоМодуля);
|
||||
|
||||
ПараметрыПриложения.Вставить("СтандартныеПодсистемы.ВнешниеКомпоненты.Объекты",
|
||||
Новый ФиксированноеСоответствие(Соответствие));
|
||||
|
||||
@@ -216,6 +216,7 @@
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Отправка SMS'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат Неопределено;
|
||||
КонецПопытки;
|
||||
|
||||
Если HTTPОтвет <> Неопределено Тогда
|
||||
@@ -225,6 +226,7 @@
|
||||
+ HTTPОтвет.ПолучитьТелоКакСтроку();
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Отправка SMS'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки);
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат HTTPОтвет.ПолучитьТелоКакСтроку();
|
||||
|
||||
@@ -11491,6 +11491,7 @@
|
||||
|
||||
Форма = Параметры.Форма;
|
||||
|
||||
ТаблицаРолей = Форма.Элементы.Роли;
|
||||
Роли = Форма.Роли;
|
||||
ПоказатьТолькоВыбранныеРоли = Форма.Элементы.РолиПоказатьТолькоВыбранныеРоли.Пометка;
|
||||
НазначениеРолей = Параметры.НазначениеРолей;
|
||||
@@ -11499,17 +11500,26 @@
|
||||
НедоступныеРоли = ПользователиСлужебныйПовтИсп.НедоступныеРоли(НазначениеРолей);
|
||||
|
||||
Если Параметры.ОсновнойПараметр = "ВключитьВсе" Тогда
|
||||
ИдентификаторСтроки = Неопределено;
|
||||
Добавить = Истина;
|
||||
Добавить = Истина;
|
||||
ИдентификаторыСтрок = Неопределено;
|
||||
|
||||
ИначеЕсли Параметры.ОсновнойПараметр = "ИсключитьВсе" Тогда
|
||||
ИдентификаторСтроки = Неопределено;
|
||||
Добавить = Ложь;
|
||||
Добавить = Ложь;
|
||||
ИдентификаторыСтрок = Неопределено;
|
||||
|
||||
ИначеЕсли Параметры.ОсновнойПараметр = "ВключитьВыделенные" Тогда
|
||||
Добавить = Истина;
|
||||
ИдентификаторыСтрок = ТаблицаРолей.ВыделенныеСтроки;
|
||||
|
||||
ИначеЕсли Параметры.ОсновнойПараметр = "ИсключитьВыделенные" Тогда
|
||||
Добавить = Ложь;
|
||||
ИдентификаторыСтрок = ТаблицаРолей.ВыделенныеСтроки;
|
||||
Иначе
|
||||
ИдентификаторСтроки = Форма.Элементы.Роли.ТекущаяСтрока;
|
||||
ИдентификаторыСтрок = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
|
||||
Форма.Элементы.Роли.ТекущаяСтрока);
|
||||
КонецЕсли;
|
||||
|
||||
Если ИдентификаторСтроки = Неопределено Тогда
|
||||
Если ИдентификаторыСтрок = Неопределено Тогда
|
||||
|
||||
БылУстановленАдминистративныйДоступ = Параметры.КоллекцияРолей.НайтиСтроки(
|
||||
Новый Структура("Роль", "ПолныеПрава")).Количество() > 0;
|
||||
@@ -11557,12 +11567,15 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ТекущиеДанные = Роли.НайтиПоИдентификатору(ИдентификаторСтроки);
|
||||
Если ТекущиеДанные.ЭтоРоль Тогда
|
||||
ДобавитьУдалитьРоль(Параметры, ТекущиеДанные.Имя, ТекущиеДанные.Пометка);
|
||||
Иначе
|
||||
ДобавитьУдалитьРолиПодсистемы(Параметры, ТекущиеДанные.ПолучитьЭлементы(), ТекущиеДанные.Пометка);
|
||||
КонецЕсли;
|
||||
Для Каждого ИдентификаторСтроки Из ИдентификаторыСтрок Цикл
|
||||
ТекущиеДанные = Роли.НайтиПоИдентификатору(ИдентификаторСтроки);
|
||||
Добавить = ?(Добавить = Неопределено, ТекущиеДанные.Пометка, Добавить);
|
||||
Если ТекущиеДанные.ЭтоРоль Тогда
|
||||
ДобавитьУдалитьРоль(Параметры, ТекущиеДанные.Имя, Добавить);
|
||||
Иначе
|
||||
ДобавитьУдалитьРолиПодсистемы(Параметры, ТекущиеДанные.ПолучитьЭлементы(), Добавить);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ЗаполнитьСтандартныеРолиРасширений(Параметры);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -721,7 +721,6 @@
|
||||
|
||||
Если ПолучитьФункциональнуюОпцию("ХранитьИсториюРассылкиОтчетов") Тогда
|
||||
ПараметрыДоставки.ПараметрыПисьма.УведомитьОДоставке = Истина;
|
||||
ПараметрыДоставки.ПараметрыПисьма.УведомитьОПрочтении = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПараметрыДоставки;
|
||||
|
||||
@@ -247,7 +247,6 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Склоняет представление объекта.
|
||||
// Только для работы на ОС Windows.
|
||||
//
|
||||
// Параметры:
|
||||
// Объект - ОпределяемыйТип.ОбъектСклонения - ссылка на объект, в котором содержится реквизит для склонения.
|
||||
@@ -261,7 +260,7 @@
|
||||
// 6 - Предложный.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - результат склонения представления объекта в падеже.
|
||||
// Строка - результат склонения представления объекта в требуемом падеже.
|
||||
//
|
||||
Функция Просклонять(Представление, Падеж, Объект = Неопределено, ПараметрыСклонения = Неопределено)
|
||||
|
||||
|
||||
@@ -549,6 +549,25 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ЭтоРазделенныйРежимБезРасширенийОбластиДанных() Экспорт
|
||||
|
||||
ЭтоРазделенныйРежимСеансаБезРазделителей = СтандартныеПодсистемыСервер.ЭтоРазделенныйРежимСеансаБезРазделителей();
|
||||
|
||||
Если Не ЭтоРазделенныйРежимСеансаБезРазделителей Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ФоновоеЗадание = ПолучитьТекущийСеансИнформационнойБазы().ПолучитьФоновоеЗадание();
|
||||
Если ФоновоеЗадание <> Неопределено
|
||||
И ФоновоеЗадание.РазделениеДанных.Количество() > 0 Тогда
|
||||
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Кеширует общие параметры работы между вызовами сервера.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
|
||||
@@ -739,17 +739,7 @@
|
||||
// Вызывает исключение с требованием перезапустить сеанс из-за обновления расширений программы.
|
||||
Процедура ПотребоватьПерезапускСеансаПоПричинеДинамическогоОбновленияРасширенийПрограммы() Экспорт
|
||||
|
||||
ЭтоРазделенныйРежимБезРасширенийОбластиДанных = ЭтоРазделенныйРежимСеансаБезРазделителей();
|
||||
|
||||
Если ЭтоРазделенныйРежимБезРасширенийОбластиДанных Тогда
|
||||
ФоновоеЗадание = ПолучитьТекущийСеансИнформационнойБазы().ПолучитьФоновоеЗадание();
|
||||
Если ФоновоеЗадание <> Неопределено
|
||||
И ФоновоеЗадание.РазделениеДанных.Количество() > 0 Тогда
|
||||
ЭтоРазделенныйРежимБезРасширенийОбластиДанных = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоРазделенныйРежимБезРасширенийОбластиДанных Тогда
|
||||
Если СтандартныеПодсистемыПовтИсп.ЭтоРазделенныйРежимБезРасширенийОбластиДанных() Тогда
|
||||
ТекстОшибки =
|
||||
НСтр("ru = 'Для выполнения требуемых действий следует
|
||||
|запустить сеанс с установленными разделителями.
|
||||
@@ -2677,6 +2667,12 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоВызовПередНачаломРаботыСистемы
|
||||
И Не Параметры.ПолученныеПараметрыКлиента.Свойство("СерверныеОповещения") Тогда
|
||||
|
||||
СерверныеОповещения.ПриДобавленииПараметровРаботыКлиентаПриЗапуске(Параметры);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоВызовПередНачаломРаботыСистемы
|
||||
И Не Параметры.ПолученныеПараметрыКлиента.Свойство("ВыбратьНачальныеРегиональныеНастройкиИБ")
|
||||
И ТребуетсяУстановкаРегиональныхНастроекИнформационнойБазы() Тогда
|
||||
@@ -2700,12 +2696,6 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоВызовПередНачаломРаботыСистемы
|
||||
И Не Параметры.ПолученныеПараметрыКлиента.Свойство("СерверныеОповещения") Тогда
|
||||
|
||||
СерверныеОповещения.ПриДобавленииПараметровРаботыКлиентаПриЗапуске(Параметры);
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыСеанса.ВыполняетсяОбновлениеИБ <> Неопределено // Обязательная инициализация параметра сеанса.
|
||||
И Не Параметры.РазделениеВключено
|
||||
И ОбновлениеИнформационнойБазы.НеобходимоОбновлениеИнформационнойБазы()
|
||||
|
||||
@@ -1430,7 +1430,7 @@
|
||||
ИначеЕсли СтрСравнить(ИмяАтрибута, "href") = 0 И СтрСравнить(ИмяТега, "a") = 0 Тогда
|
||||
ТекущаяСсылка = ЗначениеАтрибута;
|
||||
ИначеЕсли СтрСравнить(ИмяАтрибута, "src") = 0 И СтрСравнить(ИмяТега, "img") = 0 Тогда
|
||||
НаборСтрок.Добавить(ФорматированнаяСтрокаБезИзмененияРазмераШрифта(Новый ФорматированнаяСтрока(БиблиотекаКартинок[ЗначениеАтрибута], ТекущийШрифт, ТекущийЦвет, ТекущийФон, ТекущаяСсылка)));
|
||||
НаборСтрок.Добавить(Новый ФорматированнаяСтрока(БиблиотекаКартинок[ЗначениеАтрибута], ТекущийШрифт, ТекущийЦвет, ТекущийФон, ТекущаяСсылка));
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеАтрибутов = Сред(ОписаниеАтрибутов, ПозицияВтораяКавычка + 1);
|
||||
@@ -1456,7 +1456,7 @@
|
||||
|
||||
ТелоСтроки = СтрЗаменить(ТелоСтроки, "<", "<");
|
||||
Если СтрДлина(ТелоСтроки) > 0 Тогда
|
||||
НаборСтрок.Добавить(ФорматированнаяСтрокаБезИзмененияРазмераШрифта(Новый ФорматированнаяСтрока(ТелоСтроки, ТекущийШрифт, ТекущийЦвет, ТекущийФон, ТекущаяСсылка)));
|
||||
НаборСтрок.Добавить(Новый ФорматированнаяСтрока(ТелоСтроки, ТекущийШрифт, ТекущийЦвет, ТекущийФон, ТекущаяСсылка));
|
||||
КонецЕсли;
|
||||
|
||||
СимволНачалаФрагмента = "<" ;
|
||||
@@ -1490,12 +1490,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ФорматированнаяСтрокаБезИзмененияРазмераШрифта(Строка)
|
||||
ФорматированныйДокумент = Новый ФорматированныйДокумент;
|
||||
ФорматированныйДокумент.УстановитьФорматированнуюСтроку(Строка);
|
||||
Возврат ФорматированныйДокумент.ПолучитьФорматированнуюСтроку();
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ПреобразоватьЧислоВРимскуюНотацию
|
||||
|
||||
@@ -2484,7 +2484,7 @@
|
||||
// Параметры:
|
||||
// ОбъектыАвторизации - Массив из ОпределяемыйТип.ВнешнийПользователь - новый объект авторизации и
|
||||
// старый объект авторизации (если есть).
|
||||
// - Неопределено - все
|
||||
// - Неопределено - все объекты авторизации.
|
||||
//
|
||||
Процедура ПослеИзмененияОбъектаАвторизацииВнешнегоПользователя(ОбъектыАвторизации) Экспорт
|
||||
|
||||
@@ -3514,10 +3514,10 @@
|
||||
Если ПользователиСлужебныйПовтИсп.РегистрироватьИзмененияПравДоступа()
|
||||
Или Не Источник.ОбменДанными.Загрузка Тогда
|
||||
|
||||
Если Источник.ЭтоНовый()
|
||||
И ОбщегоНазначения.ИнформационнаяБазаФайловая()
|
||||
Если ОбщегоНазначения.ИнформационнаяБазаФайловая()
|
||||
И Не ПропуститьПроверкуДоступа(Отказ, Источник) Тогда
|
||||
|
||||
ЗаблокироватьРегистрыПланированияОбновленияКлючейДоступаВФайловойИБ();
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
Блокировка.Добавить("РегистрСведений.ПараметрыРаботыВерсийРасширений");
|
||||
Блокировка.Заблокировать();
|
||||
@@ -5652,6 +5652,9 @@
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
|
||||
ЗаблокироватьРегистрыПланированияОбновленияКлючейДоступаВФайловойИБ();
|
||||
КонецЕсли;
|
||||
Блокировка.Заблокировать();
|
||||
УжеИзменен = Ложь;
|
||||
СтандартныеПодсистемыСервер.ПараметрРаботыРасширения(ИмяПараметра, Истина, УжеИзменен);
|
||||
@@ -6195,7 +6198,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для процедуры ОбновитьВспомогательныеДанныеЭлементовИзмененныхПриЗагрузке.
|
||||
// Для процедуры ОбновитьВспомогательныеДанныеЭлементовИзмененныхПриПолученииДанных.
|
||||
Процедура ОбработатьИзменениеЗначенийДоступаЗарегистрированноеПриПолученииДанных()
|
||||
|
||||
ОчисткаРегистрации = Новый Массив;
|
||||
@@ -6210,7 +6213,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для процедуры ОбработатьИзменениеЗначенийДоступаЗарегистрированноеПриЗагрузке.
|
||||
// Для процедуры ОбработатьИзменениеЗначенийДоступаЗарегистрированноеПриПолученииДанных.
|
||||
Процедура ОбработатьЗарегистрированноеИзменениеЗначенийДоступа(ИмяВидаСсылок, ОчисткаРегистрации)
|
||||
|
||||
ЗначенияДоступа = ПользователиСлужебный.ЗарегистрированныеСсылки(ИмяВидаСсылок);
|
||||
@@ -6229,7 +6232,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для процедуры ОбработатьИзменениеЗначенийДоступаЗарегистрированноеПриЗагрузке.
|
||||
// Для процедуры ОбработатьИзменениеЗначенийДоступаЗарегистрированноеПриПолученииДанных.
|
||||
Процедура ОбработатьЗарегистрированноеИзменениеИерархииЗначенийДоступа(ИмяВидаСсылок, ОчисткаРегистрации)
|
||||
|
||||
ГруппыДоступа = ПользователиСлужебный.ЗарегистрированныеСсылки(ИмяВидаСсылок);
|
||||
@@ -6248,9 +6251,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для процедур ВключитьПользователяВГруппуДоступа, ИсключитьПользователяИзГруппыДоступа
|
||||
// и функции НайтиПользователяВГруппеДоступа.
|
||||
|
||||
// Для процедур ВключитьПользователяВГруппуДоступа.
|
||||
Функция ОбработатьСвязьПользователяСГруппойДоступа(Пользователь, ПоставляемыйПрофиль, Включить = Неопределено)
|
||||
|
||||
Если ТипЗнч(Пользователь) <> Тип("СправочникСсылка.Пользователи")
|
||||
@@ -13100,6 +13101,7 @@
|
||||
ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом"); // СтандартныеПодсистемыПовтИсп.ИменаПодсистем
|
||||
УправлениеДоступомСлужебныйПовтИсп.КонстантаОграничиватьДоступНаУровнеЗаписей();
|
||||
УправлениеДоступомСлужебныйПовтИсп.КонстантаОграничиватьДоступНаУровнеЗаписейУниверсально();
|
||||
СвойстваВидовДоступа();
|
||||
КонецЕсли;
|
||||
|
||||
Если ИспользованиеВидовДоступаИзменено Тогда
|
||||
@@ -41191,7 +41193,7 @@
|
||||
Процедура РазобратьСоединитель(Контекст, ЭтоОперация = Ложь)
|
||||
|
||||
// И, Или, Как, Кроме, Только, Есть и любая операция =, <>, ...
|
||||
// Ключевое слово В разбирается отдельно в процедуре "РазобратьОперациюВ".
|
||||
// Ключевое слово В разбирается отдельно в процедуре "РазобратьСоединительВ".
|
||||
|
||||
Строка = Контекст.Строка; // СтрокаТаблицыЗначений из см. ТаблицаНаборовСимволов
|
||||
|
||||
@@ -41362,7 +41364,7 @@
|
||||
|
||||
ИначеЕсли СтрНайти(",Поле,Значение,Константа,В,ЕстьNull,Выбор,", "," + Описание.Узел + ",") > 0
|
||||
Или Описание.Источник.Тип = "Функция" Тогда
|
||||
// Второй аргумент операции В уже разобран в процедуре РазобратьОперациюВ.
|
||||
// Второй аргумент операции В уже разобран в процедуре РазобратьСоединительВ.
|
||||
// Второй аргумент Null операции Есть уже разобран в функции ФункцииСВыражениямиВСкобках.
|
||||
// Остальные узлы не имеют второго аргумента.
|
||||
ВставитьСоединительСУчетомПриоритета(Контекст, Неопределено, НовоеОписание, ПервыйАргумент);
|
||||
@@ -42324,7 +42326,7 @@
|
||||
|
||||
ИначеЕсли СтрНайти(",Поле,Значение,Константа,В,ЕстьNull,Выбор,", "," + Описание.Узел + ",") > 0
|
||||
Или Описание.Источник.Тип = "Функция" Тогда
|
||||
// Второй аргумент операции В уже разобран в процедуре РазобратьОперациюВ.
|
||||
// Второй аргумент операции В уже разобран в процедуре РазобратьСоединительВ.
|
||||
// Второй аргумент Null операции Есть уже разобран в функции ФункцииСВыражениямиВСкобках.
|
||||
// Остальные узлы не имеют второго аргумента.
|
||||
ОбработатьПропущеннуюЛогическуюОперацию(Контекст, Неопределено, ДобавляемоеОписание);
|
||||
|
||||
@@ -14,6 +14,17 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обработчики событий таблицы формы ЗначенияДоступа.
|
||||
|
||||
// Только для внутреннего использования.
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - см. УправлениеДоступомСлужебныйКлиентСервер.ПараметрыФормыРедактированияРазрешенныхЗначений
|
||||
//
|
||||
Процедура ЗначенияДоступаПодобрать(Форма) Экспорт
|
||||
|
||||
ЗначениеДоступаНачалоВыбора(Форма, Неопределено, Неопределено, Null);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Только для внутреннего использования.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -75,16 +86,56 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Только для внутреннего использования.
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - см. УправлениеДоступомСлужебныйКлиентСервер.ПараметрыФормыРедактированияРазрешенныхЗначений
|
||||
// Элемент - ТаблицаФормы
|
||||
// ВыбранноеЗначение - Произвольный
|
||||
// СтандартнаяОбработка - Булево
|
||||
//
|
||||
Процедура ЗначенияДоступаОбработкаВыбора(Форма, Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Экспорт
|
||||
|
||||
Значения = ?(ТипЗнч(ВыбранноеЗначение) = Тип("Массив"),
|
||||
ВыбранноеЗначение, ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ВыбранноеЗначение));
|
||||
|
||||
Параметры = ПараметрыФормыРедактированияРазрешенныхЗначений(Форма);
|
||||
|
||||
ТекущиеТипы = Новый Массив;
|
||||
Для Каждого ЭлементСписка Из Форма.ТекущиеТипыВыбираемыхЗначений Цикл
|
||||
ТекущиеТипы.Добавить(ТипЗнч(ЭлементСписка.Значение));
|
||||
КонецЦикла;
|
||||
|
||||
Отбор = УправлениеДоступомСлужебныйКлиентСервер.ОтборВТаблицахФормыРедактированияРазрешенныхЗначений(
|
||||
Форма, Форма.ТекущийВидДоступа);
|
||||
|
||||
Для Каждого Значение Из Значения Цикл
|
||||
Если ТекущиеТипы.Найти(ТипЗнч(Значение)) = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Отбор.Вставить("ЗначениеДоступа", Значение);
|
||||
Если Не ЗначениеЗаполнено(Параметры.ЗначенияДоступа.НайтиСтроки(Отбор)) Тогда
|
||||
НоваяСтрока = Параметры.ЗначенияДоступа.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Отбор);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
УправлениеДоступомСлужебныйКлиентСервер.ЗаполнитьНомераСтрокЗначенийДоступаПоВиду(Форма,
|
||||
Форма.Элементы.ВидыДоступа.ТекущиеДанные);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Только для внутреннего использования.
|
||||
Процедура ЗначениеДоступаНачалоВыбора(Форма, Элемент, ДанныеВыбора, СтандартнаяОбработка) Экспорт
|
||||
|
||||
Контекст = Новый Структура("Форма, ЭтоПодбор", Форма, СтандартнаяОбработка = Null);
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
Если Форма.ТекущиеТипыВыбираемыхЗначений.Количество() = 1 Тогда
|
||||
|
||||
Форма.ТекущийТипВыбираемыхЗначений = Форма.ТекущиеТипыВыбираемыхЗначений[0].Значение;
|
||||
|
||||
ЗначениеДоступаНачалоВыбораЗавершение(Форма);
|
||||
ЗначениеДоступаНачалоВыбораЗавершение(Контекст);
|
||||
Возврат;
|
||||
|
||||
ИначеЕсли Форма.ТекущиеТипыВыбираемыхЗначений.Количество() > 0 Тогда
|
||||
@@ -95,7 +146,7 @@
|
||||
Форма.ТекущийТипВыбираемыхЗначений = ПредопределенноеЗначение(
|
||||
"Справочник.Пользователи.ПустаяСсылка");
|
||||
|
||||
ЗначениеДоступаНачалоВыбораЗавершение(Форма);
|
||||
ЗначениеДоступаНачалоВыбораЗавершение(Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -103,58 +154,19 @@
|
||||
Форма.ТекущийТипВыбираемыхЗначений = ПредопределенноеЗначение(
|
||||
"Справочник.ВнешниеПользователи.ПустаяСсылка");
|
||||
|
||||
ЗначениеДоступаНачалоВыбораЗавершение(Форма);
|
||||
ЗначениеДоступаНачалоВыбораЗавершение(Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Форма.ТекущиеТипыВыбираемыхЗначений.ПоказатьВыборЭлемента(
|
||||
Новый ОписаниеОповещения("ЗначениеДоступаНачалоВыбораПродолжение", ЭтотОбъект, Форма),
|
||||
Новый ОписаниеОповещения("ЗначениеДоступаНачалоВыбораПродолжение", ЭтотОбъект, Контекст),
|
||||
НСтр("ru = 'Выбор типа данных'"),
|
||||
Форма.ТекущиеТипыВыбираемыхЗначений[0]);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Только для внутреннего использования.
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - см. УправлениеДоступомСлужебныйКлиентСервер.ПараметрыФормыРедактированияРазрешенныхЗначений
|
||||
// Элемент - ТаблицаФормы
|
||||
// ВыбранноеЗначение - Произвольный
|
||||
// СтандартнаяОбработка - Булево
|
||||
//
|
||||
Процедура ЗначениеДоступаОбработкаВыбора(Форма, Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Экспорт
|
||||
|
||||
ТекущиеДанные = Форма.Элементы.ЗначенияДоступа.ТекущиеДанные;
|
||||
|
||||
Если ВыбранноеЗначение = Тип("СправочникСсылка.Пользователи")
|
||||
Или ВыбранноеЗначение = Тип("СправочникСсылка.ГруппыПользователей") Тогда
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("РежимВыбора", Истина);
|
||||
ПараметрыФормы.Вставить("ТекущаяСтрока", ТекущиеДанные.ЗначениеДоступа);
|
||||
ПараметрыФормы.Вставить("ВыборГруппПользователей", Истина);
|
||||
|
||||
ОткрытьФорму("Справочник.Пользователи.ФормаВыбора", ПараметрыФормы, Элемент);
|
||||
|
||||
ИначеЕсли ВыбранноеЗначение = Тип("СправочникСсылка.ВнешниеПользователи")
|
||||
Или ВыбранноеЗначение = Тип("СправочникСсылка.ГруппыВнешнихПользователей") Тогда
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("РежимВыбора", Истина);
|
||||
ПараметрыФормы.Вставить("ТекущаяСтрока", ТекущиеДанные.ЗначениеДоступа);
|
||||
ПараметрыФормы.Вставить("ВыборГруппВнешнихПользователей", Истина);
|
||||
|
||||
ОткрытьФорму("Справочник.ВнешниеПользователи.ФормаВыбора", ПараметрыФормы, Элемент);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Только для внутреннего использования.
|
||||
Процедура ЗначенияДоступаПриОкончанииРедактирования(Форма, Элемент, НоваяСтрока, ОтменаРедактирования) Экспорт
|
||||
|
||||
@@ -540,11 +552,11 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Продолжение обработчика события ЗначениеДоступаНачалоВыбора.
|
||||
Процедура ЗначениеДоступаНачалоВыбораПродолжение(ВыбранныйЭлемент, Форма) Экспорт
|
||||
Процедура ЗначениеДоступаНачалоВыбораПродолжение(ВыбранныйЭлемент, Контекст) Экспорт
|
||||
|
||||
Если ВыбранныйЭлемент <> Неопределено Тогда
|
||||
Форма.ТекущийТипВыбираемыхЗначений = ВыбранныйЭлемент.Значение;
|
||||
ЗначениеДоступаНачалоВыбораЗавершение(Форма);
|
||||
Контекст.Форма.ТекущийТипВыбираемыхЗначений = ВыбранныйЭлемент.Значение;
|
||||
ЗначениеДоступаНачалоВыбораЗавершение(Контекст);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -554,27 +566,39 @@
|
||||
// Параметры:
|
||||
// Форма - см. УправлениеДоступомСлужебныйКлиентСервер.ПараметрыФормыРедактированияРазрешенныхЗначений
|
||||
//
|
||||
Процедура ЗначениеДоступаНачалоВыбораЗавершение(Форма)
|
||||
Процедура ЗначениеДоступаНачалоВыбораЗавершение(Контекст)
|
||||
|
||||
Форма = Контекст.Форма;
|
||||
Элементы = Форма.Элементы;
|
||||
Элемент = Элементы.ЗначенияДоступаЗначениеДоступа;
|
||||
ТекущиеДанные = Элементы.ЗначенияДоступа.ТекущиеДанные;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ТекущиеДанные.ЗначениеДоступа)
|
||||
И ТекущиеДанные.ЗначениеДоступа <> Форма.ТекущийТипВыбираемыхЗначений Тогда
|
||||
Если Контекст.ЭтоПодбор Тогда
|
||||
Элемент = Элементы.ЗначенияДоступа;
|
||||
ТекущаяСтрока = ?(ТекущиеДанные = Неопределено, Неопределено, ТекущиеДанные.ЗначениеДоступа);
|
||||
Иначе
|
||||
Элемент = Элементы.ЗначенияДоступаЗначениеДоступа;
|
||||
|
||||
ТекущиеДанные.ЗначениеДоступа = Форма.ТекущийТипВыбираемыхЗначений;
|
||||
Если Не ЗначениеЗаполнено(ТекущиеДанные.ЗначениеДоступа)
|
||||
И ТекущиеДанные.ЗначениеДоступа <> Форма.ТекущийТипВыбираемыхЗначений Тогда
|
||||
|
||||
ТекущиеДанные.ЗначениеДоступа = Форма.ТекущийТипВыбираемыхЗначений;
|
||||
КонецЕсли;
|
||||
ТекущаяСтрока = ТекущиеДанные.ЗначениеДоступа;
|
||||
|
||||
Элементы.ЗначенияДоступаЗначениеДоступа.КнопкаВыбора = Неопределено;
|
||||
Элементы.ЗначенияДоступаЗначениеДоступа.КнопкаОчистки
|
||||
= Форма.ТекущийТипВыбираемыхЗначений <> Неопределено
|
||||
И Форма.ТекущиеТипыВыбираемыхЗначений.Количество() > 1;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ЗначенияДоступаЗначениеДоступа.КнопкаВыбора = Неопределено;
|
||||
Элементы.ЗначенияДоступаЗначениеДоступа.КнопкаОчистки
|
||||
= Форма.ТекущийТипВыбираемыхЗначений <> Неопределено
|
||||
И Форма.ТекущиеТипыВыбираемыхЗначений.Количество() > 1;
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("РежимВыбора", Истина);
|
||||
ПараметрыФормы.Вставить("ТекущаяСтрока", ТекущиеДанные.ЗначениеДоступа);
|
||||
ПараметрыФормы.Вставить("ТекущаяСтрока", ТекущаяСтрока);
|
||||
ПараметрыФормы.Вставить("ЭтоВыборЗначенияДоступа");
|
||||
Если Контекст.ЭтоПодбор Тогда
|
||||
ПараметрыФормы.Вставить("ЗакрыватьПриВыборе", Ложь);
|
||||
ПараметрыФормы.Вставить("МножественныйВыбор", Истина);
|
||||
КонецЕсли;
|
||||
|
||||
Если Форма.ТекущийВидДоступа = Форма.ВидДоступаПользователи Тогда
|
||||
ПараметрыФормы.Вставить("ВыборГруппПользователей", Истина);
|
||||
|
||||
@@ -4491,12 +4491,22 @@
|
||||
ПоследняяСтрока = НайденныеСтроки.Получить(КоличествоСтрокВида - 1);
|
||||
ИндексДобавляемойСтроки = ТаблицаКонтактнойИнформации.Индекс(ПоследняяСтрока) + 1;
|
||||
Иначе
|
||||
ИндексДобавляемойСтроки = ТаблицаКонтактнойИнформации.Количество();
|
||||
ОтборПоРазмещению = Новый Структура("ИмяЭлементаДляРазмещения", ИмяЭлементаДляРазмещения);
|
||||
НайденныеСтроки = ТаблицаКонтактнойИнформации.НайтиСтроки(ОтборПоРазмещению);
|
||||
КоличествоСтрокВГруппе = НайденныеСтроки.Количество();
|
||||
Если КоличествоСтрокВГруппе > 0 Тогда
|
||||
ПоследняяСтрока = НайденныеСтроки.Получить(КоличествоСтрокВГруппе - 1);
|
||||
ИндексДобавляемойСтроки = ТаблицаКонтактнойИнформации.Индекс(ПоследняяСтрока) + 1;
|
||||
Иначе
|
||||
ИндексДобавляемойСтроки = ТаблицаКонтактнойИнформации.Количество();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ЭтоПоследняяСтрока = Ложь;
|
||||
Если ИндексДобавляемойСтроки = ТаблицаКонтактнойИнформации.Количество() Тогда
|
||||
Если ИндексДобавляемойСтроки >= ТаблицаКонтактнойИнформации.Количество() Тогда
|
||||
ЭтоПоследняяСтрока = Истина;
|
||||
Иначе
|
||||
СледующаяСтрокаТаблицы = ТаблицаКонтактнойИнформации.Получить(ИндексДобавляемойСтроки);
|
||||
ЭтоПоследняяСтрока = СледующаяСтрокаТаблицы.ИмяЭлементаДляРазмещения <> ИмяЭлементаДляРазмещения;
|
||||
КонецЕсли;
|
||||
|
||||
НоваяСтрока = ТаблицаКонтактнойИнформации.Вставить(ИндексДобавляемойСтроки);
|
||||
|
||||
@@ -1139,4 +1139,11 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПерейтиКМакету(ПутьКМакету) Экспорт
|
||||
|
||||
ПараметрыОткрытия = Новый Структура("ПутьКМакету", ПутьКМакету);
|
||||
ОткрытьФорму("РегистрСведений.ПользовательскиеМакетыПечати.Форма.МакетыПечатныхФорм", ПараметрыОткрытия);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1688,6 +1688,7 @@
|
||||
// Значение передается в процедуру ПриЗаполненииРеквизитовВладельцаВЗаявленииНаСертификат
|
||||
// общего модуля ЗаявлениеНаСертификатПереопределяемый без изменения, а после вызова
|
||||
// приводится к составу типов свойства ТипВладельца.
|
||||
// * НаТокене - Булево - по умолчанию выбирать в заявлении на сертификат токен.
|
||||
//
|
||||
Функция ПараметрыДобавленияСертификата() Экспорт
|
||||
|
||||
@@ -1697,6 +1698,7 @@
|
||||
ПараметрыДобавления.Вставить("СоздатьЗаявление", Истина);
|
||||
ПараметрыДобавления.Вставить("ИзЛичногоХранилища", Истина);
|
||||
ПараметрыДобавления.Вставить("ФизическоеЛицо", Неопределено);
|
||||
ПараметрыДобавления.Вставить("НаТокене", Ложь);
|
||||
|
||||
Возврат ПараметрыДобавления;
|
||||
|
||||
@@ -1749,6 +1751,9 @@
|
||||
ПараметрыДобавления.ИзЛичногоХранилища И Не ПараметрыДобавления.СоздатьЗаявление);
|
||||
ПараметрыИнтерактивногоВыбора.Вставить("СоздатьЗаявление",
|
||||
ПараметрыДобавления.СоздатьЗаявление И Не ПараметрыДобавления.ИзЛичногоХранилища);
|
||||
Если ПараметрыИнтерактивногоВыбора.СоздатьЗаявление Тогда
|
||||
ПараметрыИнтерактивногоВыбора.Вставить("НаТокене", ПараметрыДобавления.НаТокене);
|
||||
КонецЕсли;
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ДобавитьСертификат(ПараметрыИнтерактивногоВыбора, ОбработчикЗавершения);
|
||||
|
||||
@@ -1973,8 +1978,7 @@
|
||||
// см. Обработка.ПрограммыЭлектроннойПодписиИШифрования.УстановкаПрограммКриптопровайдеров,
|
||||
// если она существует и если список установленных программ пуст. По умолчанию, если ПроверяемыеПрограммы = Истина
|
||||
// и не используется облачная подпись и криптографические операции на сервере - Истина, иначе - Ложь.
|
||||
// * ПроверяемыеПрограммы - Структура
|
||||
// - Неопределено - (по умолчанию) возвращаются все установленные программы.
|
||||
// * ПроверяемыеПрограммы - Неопределено - (по умолчанию) возвращаются все установленные программы.
|
||||
// - Булево - см. ЭлектроннаяПодписьСлужебныйКлиентСервер.АктуальныеАлгоритмыПрограмм
|
||||
// - ДвоичныеДанные - данные подписи или сертификата, для проверки наличия подходящих программ.
|
||||
// - Строка - адрес во временном хранилище данных подписи или сертификата, для проверки наличия подходящих программ.
|
||||
|
||||
@@ -8,6 +8,14 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ПриОпределенииПолучателяОбращенияВТехническуюПоддержку(Получатель) Экспорт
|
||||
|
||||
// Локализация
|
||||
Получатель = "edo";
|
||||
// Конец Локализация
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПриПолученииФильтраДляВыбораПодписей(Фильтр) Экспорт
|
||||
|
||||
// Локализация
|
||||
@@ -93,5 +101,285 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Асинх Функция УстановленныеТокены(ОбъектКомпоненты = Неопределено, ПредложитьУстановить = Ложь) Экспорт
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ПроверкаВыполнена", Ложь);
|
||||
Результат.Вставить("Токены", Новый Массив);
|
||||
Результат.Вставить("Ошибка", "");
|
||||
|
||||
// Локализация
|
||||
|
||||
ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр(
|
||||
"ru = 'Для получения данных о токенах требуется установка внешней компоненты %1.'"),
|
||||
"ExtraCryptoAPI");
|
||||
|
||||
Попытка
|
||||
ОбъектКомпоненты = Ждать ЭлектроннаяПодписьСлужебныйКлиент.ОбъектВнешнейКомпонентыExtraCryptoAPI(ПредложитьУстановить, ТекстПояснения);
|
||||
Исключение
|
||||
Результат.Ошибка = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
|
||||
Попытка
|
||||
ТипыУстройств = Ждать ОбъектКомпоненты.PKCS11ПолучитьПоддерживаемыеБэкендыАсинх();
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
ТипыУстройств = СтрРазделить(ТипыУстройств.Значение, "; ");
|
||||
Исключение
|
||||
Результат.Ошибка = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
|
||||
СтрокиУстройств = Новый Соответствие;
|
||||
СтрокиТокенов = Новый Соответствие;
|
||||
|
||||
Для Каждого ТипУстройства Из ТипыУстройств Цикл
|
||||
|
||||
СвойстваТокена = ЭлектроннаяПодписьСлужебныйКлиент.НовыеСвойстваТокена();
|
||||
СвойстваТокена.Токен = ТипУстройства;
|
||||
СвойстваТокена.Представление = МодельТокена(ТипУстройства);
|
||||
СвойстваТокена.СерийныйНомер = ТипУстройства;
|
||||
|
||||
ОшибкаИнициализацииТокена = "";
|
||||
БиблиотекиТокена = "";
|
||||
Попытка
|
||||
НастройкиТокена = Ждать ОбъектКомпоненты.PKCS11ПолучитьНастройкиБэкендаПоУмолчаниюАсинх(ТипУстройства);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
БиблиотекиТокена = НастройкиТокена.Значение;
|
||||
Ждать ОбъектКомпоненты.PKCS11ИнициализацияАсинх(БиблиотекиТокена);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
Исключение
|
||||
ОшибкаИнициализацииТокена = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
КонецПопытки;
|
||||
|
||||
Если ЗначениеЗаполнено(ОшибкаИнициализацииТокена) Тогда
|
||||
|
||||
Если ЭтоОшибкаЗагрузкиБиблиотеки(ОшибкаИнициализацииТокена) Тогда
|
||||
СвойстваТокена.Ошибка = РекомендацииДляУстановкиБиблиотекТокена(ТипУстройства, БиблиотекиТокена);
|
||||
ИначеЕсли Не ЗначениеЗаполнено(БиблиотекиТокена) Тогда
|
||||
СвойстваТокена.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: Не удалось получить настройки для работы с токеном: %2'"),
|
||||
СвойстваТокена.Представление, ОшибкаИнициализацииТокена);
|
||||
Иначе
|
||||
СвойстваТокена.Ошибка = ОшибкаИнициализацииТокена + Символы.ПС + РекомендацииДляУстановкиБиблиотекТокена(ТипУстройства, БиблиотекиТокена);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
СвойстваТокена.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: %2.'"), СвойстваТокена.Представление, ЭлектроннаяПодписьСлужебныйКлиент.ОшибкаНеНайденТокен());
|
||||
КонецЕсли;
|
||||
|
||||
СтрокиУстройств.Вставить(ТипУстройства, СвойстваТокена);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ОшибкаПолученияСлотов = "";
|
||||
|
||||
Попытка
|
||||
СписокСлотов = Ждать ОбъектКомпоненты.PKCS11ПолучитьСписокСлотовАсинх(Истина);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
Исключение
|
||||
ОшибкаПолученияСлотов = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось получить список токенов. %1'"),
|
||||
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
|
||||
ТокенНеВставлен = Не ЗначениеЗаполнено(ОшибкаПолученияСлотов) И (СписокСлотов.Значение = Неопределено Или СписокСлотов.Значение = "null");
|
||||
|
||||
Если Не ЗначениеЗаполнено(ОшибкаПолученияСлотов) И Не ТокенНеВставлен Тогда
|
||||
|
||||
СписокСлотов = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПрочитатьОтветКомпоненты(СписокСлотов.Значение);
|
||||
|
||||
Для Каждого Слот Из СписокСлотов Цикл
|
||||
Если Слот.Ключ <> "available slot number" Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ЗначенияСлотов = Слот.Значение;
|
||||
Для Каждого ЗначениеСлота Из ЗначенияСлотов Цикл
|
||||
|
||||
ТипУстройства = ТипУстройства(ЗначениеСлота);
|
||||
|
||||
СвойстваТокена = ЭлектроннаяПодписьСлужебныйКлиент.НовыеСвойстваТокена();
|
||||
СвойстваТокена.Слот = ЗначениеСлота;
|
||||
СвойстваТокена.Токен = ТипУстройства;
|
||||
СвойстваТокена.Представление = СтрШаблон("%1 %2", МодельТокена(ТипУстройства), СвойстваТокена.Слот);
|
||||
|
||||
Если СтрокиУстройств.Получить(ТипУстройства) <> Неопределено Тогда
|
||||
СтрокиУстройств.Удалить(ТипУстройства);
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
ИнформацияОТокене = Ждать ОбъектКомпоненты.PKCS11ПолучитьИнформациюОТокенеАсинх(ЗначениеСлота);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
Исключение
|
||||
СвойстваТокена.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: Не удалось получить информацию о токене в слоте %2. %3'"), МодельТокена(ТипУстройства),
|
||||
ЗначениеСлота, ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
СтрокиТокенов.Вставить(ТипУстройства, СвойстваТокена);
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
Информация = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПрочитатьОтветКомпоненты(ИнформацияОТокене.Значение);
|
||||
СвойстваТокена.СерийныйНомер = Информация.Получить("serial_number");
|
||||
Модель = Информация.Получить("model");
|
||||
СвойстваТокена.Модель = МодельТокена(Модель, ТипУстройства);
|
||||
СвойстваТокена.Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 (серийный номер %2)'"), СвойстваТокена.Модель, СвойстваТокена.СерийныйНомер);
|
||||
|
||||
Попытка
|
||||
СписокМеханизмов = Ждать ОбъектКомпоненты.PKCS11ПолучитьСписокПоддерживаемыхМеханизмовАсинх(ЗначениеСлота);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
Исключение
|
||||
СвойстваТокена.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: Не удалось получить информацию о механизмах токена в слоте %2. %3'"),
|
||||
МодельТокена(ТипУстройства), ЗначениеСлота, ОбработкаОшибок.КраткоеПредставлениеОшибки(
|
||||
ИнформацияОбОшибке()));
|
||||
СтрокиТокенов.Вставить(ТипУстройства, СвойстваТокена);
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
СвойстваТокена.Механизмы = СписокМеханизмов.Значение;
|
||||
СтрокиТокенов.Вставить(ТипУстройства, СвойстваТокена);
|
||||
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
ИначеЕсли Не ТокенНеВставлен И Не ЭтоОшибкаЗагрузкиБиблиотеки(ОшибкаПолученияСлотов) Тогда
|
||||
Для Каждого КлючИЗначение Из СтрокиУстройств Цикл
|
||||
КлючИЗначение.Значение.Ошибка = ОшибкаПолученияСлотов + Символы.ПС + КлючИЗначение.Значение.Ошибка;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого КлючИЗначение Из СтрокиТокенов Цикл
|
||||
Результат.Токены.Добавить(КлючИЗначение.Значение);
|
||||
КонецЦикла;
|
||||
Для Каждого КлючИЗначение Из СтрокиУстройств Цикл
|
||||
Результат.Токены.Добавить(КлючИЗначение.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
// Конец Локализация
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Асинх Функция СертификатыНаТокене(Токен, ОбъектКомпоненты = Неопределено, ПредложитьУстановить = Ложь) Экспорт
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ПроверкаВыполнена", Ложь);
|
||||
Результат.Вставить("Сертификаты", Новый Массив);
|
||||
Результат.Вставить("Ошибка", "");
|
||||
|
||||
// Локализация
|
||||
|
||||
Если ОбъектКомпоненты = Неопределено Тогда
|
||||
Попытка
|
||||
ОбъектКомпоненты = Ждать ЭлектроннаяПодписьСлужебныйКлиент.ОбъектВнешнейКомпонентыExtraCryptoAPI(ПредложитьУстановить);
|
||||
Исключение
|
||||
Результат.Ошибка = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
СертификатыНаТокене = Ждать ОбъектКомпоненты.PKCS11ПолучитьСписокСертификатовАсинх(Токен.Слот, Токен.ЗначениеПароля);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
Результат.ПроверкаВыполнена = Истина;
|
||||
Результат.Сертификаты = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПрочитатьОтветКомпоненты(СертификатыНаТокене.Значение);
|
||||
Исключение
|
||||
Результат.Ошибка = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
|
||||
// Конец Локализация
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоОшибкаЗагрузкиБиблиотеки(ТекстОшибки)
|
||||
// Локализация
|
||||
Если СтрНачинаетсяС(ТекстОшибки, "[token:10102]") Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
// Конец Локализация
|
||||
Возврат Ложь;
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоОшибкаНеправильныйПинКод(ТекстОшибки) Экспорт
|
||||
// Локализация
|
||||
Если СтрНачинаетсяС(ТекстОшибки, "[pkcs11:160]") Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
// Конец Локализация
|
||||
Возврат Ложь;
|
||||
КонецФункции
|
||||
|
||||
// Локализация
|
||||
|
||||
Асинх Функция ПолучитьОшибкуКомпоненты(ОбъектКомпоненты)
|
||||
Ошибка = Ждать ОбъектКомпоненты.ПолучитьСписокОшибокАсинх();
|
||||
|
||||
Если Не ЗначениеЗаполнено(Ошибка) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ВызватьИсключение Ошибка;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция МодельТокена(Модель, ТипУстройства = Неопределено)
|
||||
|
||||
Если СтрНачинаетсяС(НРег(Модель), "rutokenecp") Тогда
|
||||
Возврат НСтр("ru = 'Рутокен ЭЦП'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "rutokenlite") Тогда
|
||||
Возврат НСтр("ru = 'Рутокен Lite'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "rutokens") Тогда
|
||||
Возврат НСтр("ru = 'Рутокен S'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "rutoken") Тогда
|
||||
Возврат НСтр("ru = 'Рутокен'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "jacarta") Тогда
|
||||
Возврат "JaCarta";
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипУстройства <> Неопределено Тогда
|
||||
Возврат СтрШаблон("%1 %2", МодельТокена(ТипУстройства), Модель);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Модель;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТипУстройства(Слот)
|
||||
|
||||
Если СтрНачинаетсяС(НРег(Слот), "rutoken") Тогда
|
||||
Возврат "rutoken";
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Слот), "jacarta") Тогда
|
||||
Возврат "jacarta";
|
||||
КонецЕсли;
|
||||
|
||||
Массив = СтрРазделить(Слот, ": ");
|
||||
Если Массив.Количество() > 0 Тогда
|
||||
Возврат Массив[0];
|
||||
КонецЕсли;
|
||||
|
||||
Возврат "";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция РекомендацииДляУстановкиБиблиотекТокена(ТипУстройства, Библиотеки)
|
||||
|
||||
Если НРег(ТипУстройства) = "rutoken" Тогда
|
||||
Возврат НСтр("ru = 'Для работы с Рутокеном скачайте и установите библиотеку с сайта производителя https://www.rutoken.ru/support/download/pkcs/, вставьте токен в компьютер, обновите список токенов и повторите попытку.'");
|
||||
ИначеЕсли НРег(ТипУстройства) = "jacarta" Тогда
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для работы с %1 скачайте и установите библиотеку с сайта производителя https://aladdin-rd.ru/support/downloads/jacarta/, вставьте токен в компьютер, обновите список токенов и повторите попытку.'"),
|
||||
"JaСarta");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат "";
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Конец Локализация
|
||||
|
||||
#КонецОбласти
|
||||
@@ -706,7 +706,7 @@
|
||||
|
||||
Если ЗначениеЗаполнено(ДатаПрекращенияАккредитацииУЦ)
|
||||
И (СтрНачинаетсяС(КонтекстПроверки.ЗначенияПоиска, "1024001434049") И ДатаПрекращенияАккредитацииУЦ - КонтекстПроверки.РазницаСУниверсальнымВременем = Дата(2024, 7, 20, 21, 0, 0)
|
||||
Или СтрНачинаетсяС(КонтекстПроверки.ЗначенияПоиска, "1197746000000") И ДатаПрекращенияАккредитацииУЦ - КонтекстПроверки.РазницаСУниверсальнымВременем = Дата(2024, 8, 15, 21, 0, 0)) Тогда
|
||||
Или СтрНачинаетсяС(КонтекстПроверки.ЗначенияПоиска, "1197746000000") И ДатаПрекращенияАккредитацииУЦ - КонтекстПроверки.РазницаСУниверсальнымВременем = Дата(2024, 8, 16, 21, 0, 0)) Тогда
|
||||
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Действует = Ложь;
|
||||
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.РазрешитьПодписание = Ложь;
|
||||
|
||||
@@ -702,6 +702,7 @@
|
||||
СертификатКриптографии);
|
||||
|
||||
Если ДанныеДляПроверкиУдостоверяющегоЦентра.ЗначенияПоиска = Неопределено Тогда
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаполнитьРезультатПроверкиСертификатНеквалифицированный(ПараметрыПроверки, Результат);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -709,6 +710,7 @@
|
||||
ДанныеДляПроверкиУдостоверяющегоЦентра.ЗначенияПоиска);
|
||||
|
||||
Если ДанныеУдостоверяющегоЦентра = Неопределено Тогда
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаполнитьРезультатПроверкиСертификатНеквалифицированный(ПараметрыПроверки, Результат);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -5038,17 +5040,34 @@
|
||||
КонецЕсли;
|
||||
Форма.СертификатВводитьПарольВПрограммеЭлектроннойПодписи = ЗначенияРеквизитов.ВводитьПарольВПрограммеЭлектроннойПодписи;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Форма, "РезультатПроверкиУдостоверяющегоЦентра") Тогда
|
||||
ПараметрыПроверки = Неопределено;
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Форма, "ПроверятьСертификат") Тогда
|
||||
ПараметрыПроверки = Новый Структура;
|
||||
ПараметрыПроверки.Вставить("ЭтоПроверкаПодписи", Ложь);
|
||||
ПараметрыПроверки.Вставить("ПроверятьСертификат", Форма.ПроверятьСертификат);
|
||||
КонецЕсли;
|
||||
Форма.РезультатПроверкиУдостоверяющегоЦентра = РезультатПроверкиУдостоверяющегоЦентраСертификата(Сертификат,,ПараметрыПроверки);
|
||||
КонецЕсли;
|
||||
|
||||
ЕстьПараметрОповеститьОбОкончанииСрокаДействия = Форма.Параметры.Свойство("ОповеститьОбОкончанииСрокаДействия");
|
||||
Если ЕстьПараметрОповеститьОбОкончанииСрокаДействия И Форма.Параметры.ОповеститьОбОкончанииСрокаДействия
|
||||
Или Не ЕстьПараметрОповеститьОбОкончанииСрокаДействия Тогда
|
||||
Форма.ОповеститьОбОкончанииСрокаДействия =
|
||||
Форма.СертификатДействителенДо <= ТекущаяУниверсальнаяДата() + КоличествоДнейДляОповещенияОбОкончанииСрокаДействия()*24*60*60
|
||||
И Не РегистрыСведений.ОповещенияПользователейСертификатов.ПользовательОповещен(Форма.Сертификат)
|
||||
И Не СертификатПеревыпущен(Форма.Сертификат);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Форма, "РезультатПроверкиУдостоверяющегоЦентра") Тогда
|
||||
Форма.РезультатПроверкиУдостоверяющегоЦентра = РезультатПроверкиУдостоверяющегоЦентраСертификата(Сертификат);
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Форма, "РезультатПроверкиУдостоверяющегоЦентра")
|
||||
И Форма.РезультатПроверкиУдостоверяющегоЦентра <> Неопределено
|
||||
И Форма.РезультатПроверкиУдостоверяющегоЦентра.Действует
|
||||
И (ЗначениеЗаполнено(Форма.РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ТекстОшибки)
|
||||
Или ЗначениеЗаполнено(Форма.РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.ДополнительныеСведения)) Тогда
|
||||
Форма.ОповеститьОбОкончанииСрокаДействия = Не РегистрыСведений.ОповещенияПользователейСертификатов.ПользовательОповещен(Форма.Сертификат)
|
||||
И Не СертификатПеревыпущен(Форма.Сертификат);
|
||||
Иначе
|
||||
Форма.ОповеститьОбОкончанииСрокаДействия =
|
||||
Форма.СертификатДействителенДо <= ТекущаяУниверсальнаяДата() + КоличествоДнейДляОповещенияОбОкончанииСрокаДействия()*24*60*60
|
||||
И Не РегистрыСведений.ОповещенияПользователейСертификатов.ПользовательОповещен(Форма.Сертификат)
|
||||
И Не СертификатПеревыпущен(Форма.Сертификат);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Форма.СертификатНаСервереОписаниеОшибки = Новый Структура;
|
||||
|
||||
@@ -443,7 +443,29 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ПолеПароляНачалоВыбора(Форма, ВнутренниеДанные, СвойстваПароля, СтандартнаяОбработка) Экспорт
|
||||
Процедура ОткрытьТокен(Токен, ВладелецФормы, ОбработкаЗавершения = Неопределено) Экспорт
|
||||
|
||||
СерверныеПараметры = Новый Структура;
|
||||
СерверныеПараметры.Вставить("Токен", Токен);
|
||||
ФормаПередачаПараметров().ОткрытьНовуюФорму("Токен",
|
||||
СерверныеПараметры, Новый Структура, ОбработкаЗавершения, ВладелецФормы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция РекомендацииДляТокена() Экспорт
|
||||
|
||||
Возврат НСтр("ru = 'Убедитесь, что токен правильно вставлен в USB-порт компьютера и на нем горит световой индикатор, обновите список токенов и повторите действие.
|
||||
|Если токен не найден после обновления списка токенов, попробуйте другой USB-порт или другой компьютер.'");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОшибкаНеНайденТокен() Экспорт
|
||||
|
||||
Возврат НСтр("ru = 'Не подключен токен'");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ПолеПароляНачалоВыбора(Форма, ВнутренниеДанные, СвойстваПароля, СтандартнаяОбработка, ДополнительныеПараметры = Неопределено) Экспорт
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
Элемент = Форма.Элементы.Пароль;
|
||||
@@ -455,8 +477,13 @@
|
||||
Элемент.КартинкаКнопкиВыбора = БиблиотекаКартинок.ВводимыеСимволыСкрыты;
|
||||
КонецЕсли;
|
||||
|
||||
Если ДополнительныеПараметры = Неопределено Тогда
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
КонецЕсли;
|
||||
ДополнительныеПараметры.Вставить("ПриИзмененииВидимостиПароля", Истина);
|
||||
|
||||
ОбработатьПарольВФорме(Форма,
|
||||
ВнутренниеДанные, СвойстваПароля, Новый Структура("ПриИзмененииВидимостиПароля", Истина));
|
||||
ВнутренниеДанные, СвойстваПароля, ДополнительныеПараметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2475,7 +2502,7 @@
|
||||
ПараметрыПроверки = НовыеПараметрыПроверки;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыПроверки.ПроверятьСертификат = "НеПроверятьСертификат" Тогда
|
||||
Если ПараметрыПроверки.ПроверятьСертификат = ЭлектроннаяПодписьСлужебныйКлиентСервер.НеПроверятьСертификат() Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2486,6 +2513,7 @@
|
||||
СертификатКриптографии);
|
||||
|
||||
Если ДанныеДляПроверкиУдостоверяющегоЦентра.ЗначенияПоиска = Неопределено Тогда
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаполнитьРезультатПроверкиСертификатНеквалифицированный(ПараметрыПроверки, Результат);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2493,6 +2521,7 @@
|
||||
ДанныеДляПроверкиУдостоверяющегоЦентра.ЗначенияПоиска);
|
||||
|
||||
Если ДанныеУдостоверяющегоЦентра = Неопределено Тогда
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаполнитьРезультатПроверкиСертификатНеквалифицированный(ПараметрыПроверки, Результат);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -3612,6 +3641,7 @@
|
||||
// * ОбработчикЗавершения - ОписаниеОповещения
|
||||
// * СоздатьЗаявление - Булево - сразу открыть форму создания заявления на выпуск сертификата.
|
||||
// * СкрытьЗаявление - Булево - не предлагать создать заявление на выпуск сертификата.
|
||||
// * НаТокене - Булево - по умолчанию выбирать в заявлении на сертификат токен.
|
||||
//
|
||||
Функция ПараметрыДобавленияСертификата() Экспорт
|
||||
|
||||
@@ -3623,6 +3653,7 @@
|
||||
Структура.Вставить("ОбработчикЗавершения", Неопределено);
|
||||
Структура.Вставить("СоздатьЗаявление", Неопределено);
|
||||
Структура.Вставить("СкрытьЗаявление", Неопределено);
|
||||
Структура.Вставить("НаТокене", Ложь);
|
||||
|
||||
Возврат Структура;
|
||||
|
||||
@@ -3637,6 +3668,7 @@
|
||||
ПараметрыФормы.Вставить("Организация", ПараметрыСоздания.Организация);
|
||||
ПараметрыФормы.Вставить("ФизическоеЛицо", ПараметрыСоздания.ФизическоеЛицо);
|
||||
ПараметрыФормы.Вставить("СертификатОснование", ПараметрыСоздания.СертификатОснование);
|
||||
ПараметрыФормы.Вставить("НаТокене", ПараметрыСоздания.НаТокене);
|
||||
ИмяФормы = "Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Форма.Форма";
|
||||
ОткрытьФорму(ИмяФормы, ПараметрыФормы, , , , , ПараметрыСоздания.ОбработчикЗавершения);
|
||||
Возврат;
|
||||
@@ -5061,9 +5093,11 @@
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
КонецЕсли;
|
||||
|
||||
ДополнительныеПараметры.Вставить("Сертификат", Форма.Сертификат);
|
||||
ДополнительныеПараметры.Вставить("ВводитьПарольВПрограммеЭлектроннойПодписи",
|
||||
Форма.СертификатВводитьПарольВПрограммеЭлектроннойПодписи);
|
||||
Если Не ДополнительныеПараметры.Свойство("ПриЧтенииСертификатовТокена") Тогда
|
||||
ДополнительныеПараметры.Вставить("Сертификат", Форма.Сертификат);
|
||||
ДополнительныеПараметры.Вставить("ВводитьПарольВПрограммеЭлектроннойПодписи",
|
||||
Форма.СертификатВводитьПарольВПрограммеЭлектроннойПодписи);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДополнительныеПараметры.Свойство("ПриИзмененииВидимостиПароля") Тогда
|
||||
ДополнительныеПараметры.Вставить("ПриИзмененииВидимостиПароля", Ложь);
|
||||
@@ -10427,6 +10461,7 @@
|
||||
Результат.Вставить("ПроверкаВыполнена", Ложь);
|
||||
Результат.Вставить("КомпонентаУстановлена", Ложь);
|
||||
Результат.Вставить("Криптопровайдеры", Новый Массив);
|
||||
Результат.Вставить("Токены", Новый Массив);
|
||||
Результат.Вставить("КриптопровайдерыНаСервере", Новый Массив);
|
||||
Результат.Вставить("Ошибка", "");
|
||||
Возврат Результат;
|
||||
@@ -10448,6 +10483,7 @@
|
||||
КриптопровайдерыРезультат = Ждать УстановленныеКриптопровайдерыИзКэша(Контекст.УстанавливатьКомпоненту);
|
||||
Если КриптопровайдерыРезультат.ПроверкаВыполнена Тогда
|
||||
Результат.Криптопровайдеры = КриптопровайдерыРезультат.Криптопровайдеры;
|
||||
Результат.Токены = КриптопровайдерыРезультат.Токены;
|
||||
Результат.ПроверкаВыполнена = Истина;
|
||||
Иначе
|
||||
Результат.Ошибка = КриптопровайдерыРезультат.Ошибка;
|
||||
@@ -10462,6 +10498,7 @@
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ПроверкаВыполнена", Ложь);
|
||||
Результат.Вставить("Криптопровайдеры", Новый Массив);
|
||||
Результат.Вставить("Токены", Новый Массив);
|
||||
Результат.Вставить("Ошибка", "");
|
||||
|
||||
Если ОбъектКомпоненты = Неопределено Тогда
|
||||
@@ -10497,12 +10534,31 @@
|
||||
КонецПопытки;
|
||||
|
||||
Результат.Криптопровайдеры = Криптопровайдеры;
|
||||
|
||||
РезультатТокены = Ждать ЭлектроннаяПодписьКлиентЛокализация.УстановленныеТокены(ОбъектКомпоненты, ПредложитьУстановить);
|
||||
Результат.Токены = РезультатТокены.Токены;
|
||||
|
||||
ЗаписатьВКэшУстановленныеКриптопровайдеры(Результат);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НовыеСвойстваТокена() Экспорт
|
||||
|
||||
СвойстваТокена = Новый Структура;
|
||||
СвойстваТокена.Вставить("Представление", НСтр("ru = 'Токен'"));
|
||||
СвойстваТокена.Вставить("Модель", "");
|
||||
СвойстваТокена.Вставить("СерийныйНомер");
|
||||
СвойстваТокена.Вставить("Слот");
|
||||
СвойстваТокена.Вставить("Токен");
|
||||
СвойстваТокена.Вставить("Механизмы");
|
||||
СвойстваТокена.Вставить("Ошибка");
|
||||
|
||||
Возврат СвойстваТокена;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает результат проверки криптопровайдеров из кэша с обновлением в 5 минут.
|
||||
Асинх Функция УстановленныеКриптопровайдерыИзКэша(ПредложитьУстановить = Ложь)
|
||||
|
||||
@@ -10527,6 +10583,7 @@
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ПроверкаВыполнена", РезультатИзКэша.ПроверкаВыполнена);
|
||||
Результат.Вставить("Криптопровайдеры", Новый Массив(РезультатИзКэша.Криптопровайдеры));
|
||||
Результат.Вставить("Токены", Новый Массив(РезультатИзКэша.Токены));
|
||||
Результат.Вставить("Ошибка", РезультатИзКэша.Ошибка);
|
||||
|
||||
Возврат Результат;
|
||||
@@ -10550,6 +10607,7 @@
|
||||
РезультатДляКэша = Новый Структура;
|
||||
РезультатДляКэша.Вставить("ПроверкаВыполнена", Результат.ПроверкаВыполнена);
|
||||
РезультатДляКэша.Вставить("Криптопровайдеры", Новый ФиксированныйМассив(Результат.Криптопровайдеры));
|
||||
РезультатДляКэша.Вставить("Токены", Новый ФиксированныйМассив(Результат.Токены));
|
||||
РезультатДляКэша.Вставить("Ошибка", Результат.Ошибка);
|
||||
РезультатДляКэша.Вставить("ВремяПроверки", ТекущаяДата()); // АПК:143 Должна использоваться ТекущаяДата().
|
||||
|
||||
@@ -10571,6 +10629,7 @@
|
||||
РезультатПроверки = Новый Структура("КомпонентаУстановлена, Ошибка, ПроверкаВыполнена");
|
||||
ЗаполнитьЗначенияСвойств(РезультатПроверки, Результат);
|
||||
РезультатПроверки.Вставить("Программы", Новый Массив);
|
||||
РезультатПроверки.Вставить("Токены", Результат.Токены);
|
||||
РезультатПроверки.Вставить("ПрограммыНаСервере", Новый Массив);
|
||||
РезультатПроверки.Вставить("ВозможенКонфликт", Ложь);
|
||||
РезультатПроверки.Вставить("ВозможенКонфликтНаСервере", Ложь);
|
||||
@@ -10979,6 +11038,7 @@
|
||||
ПараметрыОтправкиВТехподдержку.Вставить("Тема");
|
||||
ПараметрыОтправкиВТехподдержку.Вставить("Сообщение");
|
||||
ПараметрыОтправкиВТехподдержку.Вставить("ОбработчикЗавершения");
|
||||
ПараметрыОтправкиВТехподдержку.Вставить("Получатель", ПолучательОбращенияВТехническуюПоддержку());
|
||||
|
||||
Возврат ПараметрыОтправкиВТехподдержку;
|
||||
|
||||
@@ -10992,7 +11052,7 @@
|
||||
|
||||
ДанныеСообщения = МодульСообщенияВСлужбуТехническойПоддержкиКлиентСервер.ДанныеСообщения();
|
||||
ДанныеСообщения.Тема = ПараметрыОтправкиВТехподдержку.Тема;
|
||||
ДанныеСообщения.Получатель = ПолучательОбращенияВТехническуюПоддержку();
|
||||
ДанныеСообщения.Получатель = ПараметрыОтправкиВТехподдержку.Получатель;
|
||||
ДанныеСообщения.Сообщение = ПараметрыОтправкиВТехподдержку.Сообщение;
|
||||
|
||||
Вложения = Новый Массив;
|
||||
@@ -11061,7 +11121,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучательОбращенияВТехническуюПоддержку()
|
||||
Возврат "v8";
|
||||
Получатель = "v8";
|
||||
ЭлектроннаяПодписьКлиентЛокализация.ПриОпределенииПолучателяОбращенияВТехническуюПоддержку(Получатель);
|
||||
Возврат Получатель;
|
||||
КонецФункции
|
||||
|
||||
Функция АдресПолучателяОбращенияВТехническуюПоддержку()
|
||||
|
||||
@@ -119,6 +119,15 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаполнитьРезультатПроверкиСертификатНеквалифицированный(ПараметрыПроверки, Результат) Экспорт
|
||||
Если ПараметрыПроверки.ПроверятьСертификат = ТолькоКвалифицированные() Тогда
|
||||
ТекстОшибки = НСтр("ru='Сертификат неквалифицированный, подпись таким сертификатом не является юридически значимой.'");
|
||||
Результат.Действует = Ложь;
|
||||
Результат.Предупреждение.ТекстОшибки = ТекстОшибки;
|
||||
Результат.Предупреждение.РазрешитьПодписание = Ложь;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Строка
|
||||
// Массив из см. НовоеРасширенноеОписаниеПрограммы
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="fa3ebf18-1920-4337-9c5f-3925ce8ae04d">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="fd9392a2-7cc3-4e57-840b-4fc0744ff6ed">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.1</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="f08b1376-850c-42e7-b25a-635d9d945139"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="362c61f8-ae88-409e-b8f3-4f592c1b41c6"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="dd7a329e-5bf9-4d90-b634-cddb40c8825e"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="c402eb0b-0ce2-42d1-beb8-9458ed1dfcba"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="8b659c49-4521-4537-957d-f571106a0179"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="9c162ab1-0362-43db-acda-c199b60b8113"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="05468275-09e4-406c-9bec-1044fe73ae53"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="d41d9841-c281-4abc-86bc-036843633db6"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="78389e55-c6b2-458c-b9f9-95ed444890f0"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="fcfa9daa-bc3e-4a10-ae22-cb23c0ee4c70"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="5bcf427d-2961-48c8-a83f-34f30b8df958"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="fd4b9033-9922-4a58-8478-e3af8c970516"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="f754dc40-5ab2-4d8b-a45e-8488a010b85c"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="471c9719-9961-4748-a0ae-0c92a9239c5d"/>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||
<vendor>Фирма "1С"</vendor>
|
||||
<version>3.1.10.277</version>
|
||||
<version>3.1.10.295</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
@@ -1419,6 +1419,7 @@
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_12_1</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_15_3</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_16_2</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_17_3</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_2_3</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_3_20</xDTOPackages>
|
||||
<xDTOPackages>XDTOPackage.EnterpriseData_1_4_20</xDTOPackages>
|
||||
@@ -1812,7 +1813,6 @@
|
||||
<constants>Constant.АккредитованныеУдостоверяющиеЦентры</constants>
|
||||
<constants>Constant.ВерсияДатЗапретаИзменения</constants>
|
||||
<constants>Constant.ВерсияКлассификатораБанков</constants>
|
||||
<constants>Constant.ВыполняетсяЗагрузкаДанныхРИБ</constants>
|
||||
<constants>Constant.ВыполнятьЗамерыПроизводительности</constants>
|
||||
<constants>Constant.ГлавныйУзел</constants>
|
||||
<constants>Constant.ДанныеДляИзмененияМультиязычныхРеквизитов</constants>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,83c2c242-8a08-4277-96c8-0ec2ce22dbae,1,f70d4ec2-483e-4147-a837-34a626b87558,"3.1.10.277","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7659,1,0,fa3ebf18-1920-4337-9c5f-3925ce8ae04d,fa3ebf18-1920-4337-9c5f-3925ce8ae04d,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,fa04bf1e-69c0-4998-a939-039fcaba83c8,fa04bf1e-69c0-4998-a939-039fcaba83c8,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7bLine truncated
|
||||
{6,1,1,c53a7f4a-5cad-4099-bfb6-52924e7660e6,1,ffb82d54-8575-41e4-8530-9c760af3cb14,"3.1.10.295","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7663,1,0,fd9392a2-7cc3-4e57-840b-4fc0744ff6ed,fd9392a2-7cc3-4e57-840b-4fc0744ff6ed,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,fa04bf1e-69c0-4998-a939-039fcaba83c8,fa04bf1e-69c0-4998-a939-039fcaba83c8,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7bLine truncated
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Constant xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="0a71d5d6-0771-4946-a77d-9aa1638b8327">
|
||||
<producedTypes>
|
||||
<managerType typeId="0e47b6e6-789a-4103-9dd6-2946ed4c9b4f" valueTypeId="19cdce25-a69c-451b-ac92-2e99d2ecea99"/>
|
||||
<valueManagerType typeId="a6825004-2be6-48ab-852d-32025ac70b20" valueTypeId="cdf0f5d5-1b26-4ad0-a897-c1b627551030"/>
|
||||
<valueKeyType typeId="71b9a7f7-7056-4f28-8e0d-e74873ca099d" valueTypeId="093f45b7-9979-4509-880b-ec6d62c6646e"/>
|
||||
</producedTypes>
|
||||
<name>ВыполняетсяЗагрузкаДанныхРИБ</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Выполняется загрузка данных РИБ</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Boolean</types>
|
||||
</type>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
</mdclass:Constant>
|
||||
@@ -1773,7 +1773,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ДекорацияДлительнаяОперацияРасширеннаяПодсказка</name>
|
||||
<name>ДекорацияДлительнаяОперацияExtendedTooltip</name>
|
||||
<id>255</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1808,7 +1808,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ДекорацияПоясняющийТекстДлительнойОперацииРасширеннаяПодсказка</name>
|
||||
<name>ДекорацияПоясняющийТекстДлительнойОперацииExtendedTooltip</name>
|
||||
<id>258</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
@@ -513,7 +513,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>Декорация2РасширеннаяПодсказка</name>
|
||||
<name>Декорация2ExtendedTooltip</name>
|
||||
<id>90</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -552,7 +552,7 @@
|
||||
<segments>WSПароль</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>WSПарольРасширеннаяПодсказка</name>
|
||||
<name>WSПарольExtendedTooltip</name>
|
||||
<id>92</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -599,7 +599,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ЗабылиПарольРасширеннаяПодсказка</name>
|
||||
<name>ЗабылиПарольExtendedTooltip</name>
|
||||
<id>93</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -928,7 +928,7 @@
|
||||
</userVisible>
|
||||
<defaultItem>true</defaultItem>
|
||||
<extendedTooltip>
|
||||
<name>ВыполнитьОбменРасширеннаяПодсказка</name>
|
||||
<name>ВыполнитьОбменExtendedTooltip</name>
|
||||
<id>95</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -954,7 +954,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаЗакрыть2РасширеннаяПодсказка</name>
|
||||
<name>ФормаЗакрыть2ExtendedTooltip</name>
|
||||
<id>96</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -984,7 +984,7 @@
|
||||
<value>Командная панель закрыть</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>КоманднаяПанельВыполненияОбменаРасширеннаяПодсказка</name>
|
||||
<name>КоманднаяПанельВыполненияОбменаExtendedTooltip</name>
|
||||
<id>94</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1012,7 +1012,7 @@
|
||||
<value>Загрузка данных</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>ЗапросПароляПользователяРасширеннаяПодсказка</name>
|
||||
<name>ЗапросПароляПользователяExtendedTooltip</name>
|
||||
<id>89</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1047,7 +1047,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ДлительнаяОперацияРасширеннаяПодсказка</name>
|
||||
<name>ДлительнаяОперацияExtendedTooltip</name>
|
||||
<id>98</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1083,7 +1083,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СтатусЗагрузкиДанныхРасширеннаяПодсказка</name>
|
||||
<name>СтатусЗагрузкиДанныхExtendedTooltip</name>
|
||||
<id>99</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1406,7 +1406,7 @@
|
||||
<value>Ожидание синхронизации данных</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ОжиданиеСинхронизацииДанныхРасширеннаяПодсказка</name>
|
||||
<name>ОжиданиеСинхронизацииДанныхExtendedTooltip</name>
|
||||
<id>97</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1742,7 +1742,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>КартинкаОбменЗавершенУспешноРасширеннаяПодсказка</name>
|
||||
<name>КартинкаОбменЗавершенУспешноExtendedTooltip</name>
|
||||
<id>103</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1760,7 +1760,7 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:PictureDecorationExtInfo">
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>StdPicture.DialogInformation</picture>
|
||||
<picture>CommonPicture.Информация32</picture>
|
||||
</picture>
|
||||
</extInfo>
|
||||
</items>
|
||||
@@ -1777,7 +1777,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СтатусОбменЗавершенУспешноРасширеннаяПодсказка</name>
|
||||
<name>СтатусОбменЗавершенУспешноExtendedTooltip</name>
|
||||
<id>104</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1809,7 +1809,7 @@
|
||||
<value>Обмен завершен успешно</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ОбменЗавершенУспешноРасширеннаяПодсказка</name>
|
||||
<name>ОбменЗавершенУспешноExtendedTooltip</name>
|
||||
<id>102</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1841,7 +1841,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>КартинкаОбменЗавершенСОшибкойРасширеннаяПодсказка</name>
|
||||
<name>КартинкаОбменЗавершенСОшибкойExtendedTooltip</name>
|
||||
<id>106</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1877,7 +1877,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СтатусОбменЗавершенСОшибкойРасширеннаяПодсказка</name>
|
||||
<name>СтатусОбменЗавершенСОшибкойExtendedTooltip</name>
|
||||
<id>107</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1908,7 +1908,7 @@
|
||||
<value>Обмен завершен с ошибкой</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ОбменЗавершенСОшибкойРасширеннаяПодсказка</name>
|
||||
<name>ОбменЗавершенСОшибкойExtendedTooltip</name>
|
||||
<id>105</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1940,7 +1940,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>КартинкаОбменЗавершенСОшибкой1РасширеннаяПодсказка</name>
|
||||
<name>КартинкаОбменЗавершенСОшибкой1ExtendedTooltip</name>
|
||||
<id>109</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1978,7 +1978,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>СтатусОбменЗавершенСОшибкойДляАдминистратораРасширеннаяПодсказка</name>
|
||||
<name>СтатусОбменЗавершенСОшибкойДляАдминистратораExtendedTooltip</name>
|
||||
<id>111</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2012,7 +2012,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ПерейтиВЖурналРегистрацииРасширеннаяПодсказка</name>
|
||||
<name>ПерейтиВЖурналРегистрацииExtendedTooltip</name>
|
||||
<id>112</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2040,7 +2040,7 @@
|
||||
<value>Статусное сообщение</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СтатусноеСообщениеРасширеннаяПодсказка</name>
|
||||
<name>СтатусноеСообщениеExtendedTooltip</name>
|
||||
<id>110</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2068,7 +2068,7 @@
|
||||
<value>Обмен завершен с ошибкой</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ОбменЗавершенСОшибкойДляАдминистратораРасширеннаяПодсказка</name>
|
||||
<name>ОбменЗавершенСОшибкойДляАдминистратораExtendedTooltip</name>
|
||||
<id>108</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2100,7 +2100,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>КартинкаОбменЗавершенСОшибкой2РасширеннаяПодсказка</name>
|
||||
<name>КартинкаОбменЗавершенСОшибкой2ExtendedTooltip</name>
|
||||
<id>114</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2135,7 +2135,7 @@
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<extendedTooltip>
|
||||
<name>СообщениеОбОшибкеПользователюРасширеннаяПодсказка</name>
|
||||
<name>СообщениеОбОшибкеПользователюExtendedTooltip</name>
|
||||
<id>115</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2179,7 +2179,7 @@
|
||||
<value>Обмен завершен с ошибкой</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>ОбменЗавершенСОшибкойПодключенияРасширеннаяПодсказка</name>
|
||||
<name>ОбменЗавершенСОшибкойПодключенияExtendedTooltip</name>
|
||||
<id>113</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2211,7 +2211,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>КартинкаТребуетсяОбновлениеРасширеннаяПодсказка</name>
|
||||
<name>КартинкаТребуетсяОбновлениеExtendedTooltip</name>
|
||||
<id>117</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2253,7 +2253,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ТекстТребуетсяОбновлениеОграниченныеПраваРасширеннаяПодсказка</name>
|
||||
<name>ТекстТребуетсяОбновлениеОграниченныеПраваExtendedTooltip</name>
|
||||
<id>120</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2285,7 +2285,7 @@
|
||||
<value>Требуется обновление ограниченные права</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ТребуетсяОбновлениеОграниченныеПраваРасширеннаяПодсказка</name>
|
||||
<name>ТребуетсяОбновлениеОграниченныеПраваExtendedTooltip</name>
|
||||
<id>119</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2318,7 +2318,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ТекстТребуетсяОбновлениеПолныеПраваРасширеннаяПодсказка</name>
|
||||
<name>ТекстТребуетсяОбновлениеПолныеПраваExtendedTooltip</name>
|
||||
<id>122</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2350,7 +2350,7 @@
|
||||
<value>Требуется обновление полные права</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ТребуетсяОбновлениеПолныеПраваРасширеннаяПодсказка</name>
|
||||
<name>ТребуетсяОбновлениеПолныеПраваExtendedTooltip</name>
|
||||
<id>121</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2376,7 +2376,7 @@
|
||||
<value>Панель требуется обновление</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ПанельТребуетсяОбновлениеРасширеннаяПодсказка</name>
|
||||
<name>ПанельТребуетсяОбновлениеExtendedTooltip</name>
|
||||
<id>118</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2720,7 +2720,7 @@
|
||||
<value>Статус завершения обмена</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>СтатусЗавершенияОбменаРасширеннаяПодсказка</name>
|
||||
<name>СтатусЗавершенияОбменаExtendedTooltip</name>
|
||||
<id>101</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2752,7 +2752,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаЗакрытьРасширеннаяПодсказка</name>
|
||||
<name>ФормаЗакрытьExtendedTooltip</name>
|
||||
<id>126</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2778,7 +2778,7 @@
|
||||
<value>Командная панель закрыть</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>КоманднаяПанельЗакрытьРасширеннаяПодсказка</name>
|
||||
<name>КоманднаяПанельЗакрытьExtendedTooltip</name>
|
||||
<id>125</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2802,7 +2802,7 @@
|
||||
<value>Действия закрыть</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ДействияЗакрытьРасширеннаяПодсказка</name>
|
||||
<name>ДействияЗакрытьExtendedTooltip</name>
|
||||
<id>124</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2837,7 +2837,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>УстановитьОбновлениеРасширеннаяПодсказка</name>
|
||||
<name>УстановитьОбновлениеExtendedTooltip</name>
|
||||
<id>129</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2863,7 +2863,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаЗакрыть1РасширеннаяПодсказка</name>
|
||||
<name>ФормаЗакрыть1ExtendedTooltip</name>
|
||||
<id>130</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2889,7 +2889,7 @@
|
||||
<value>Командная панель установить закрыть</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>КоманднаяПанельУстановитьЗакрытьРасширеннаяПодсказка</name>
|
||||
<name>КоманднаяПанельУстановитьЗакрытьExtendedTooltip</name>
|
||||
<id>128</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2913,7 +2913,7 @@
|
||||
<value>Действия установить закрыть</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ДействияУстановитьЗакрытьРасширеннаяПодсказка</name>
|
||||
<name>ДействияУстановитьЗакрытьExtendedTooltip</name>
|
||||
<id>127</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -3165,7 +3165,7 @@
|
||||
<value>Панель действий</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ПанельДействийРасширеннаяПодсказка</name>
|
||||
<name>ПанельДействийExtendedTooltip</name>
|
||||
<id>123</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -3189,7 +3189,7 @@
|
||||
<value>Завершение обмена</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ЗавершениеОбменаРасширеннаяПодсказка</name>
|
||||
<name>ЗавершениеОбменаExtendedTooltip</name>
|
||||
<id>100</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -3215,7 +3215,7 @@
|
||||
<value>Выполнение обмена данными</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ВыполнениеОбменаДаннымиРасширеннаяПодсказка</name>
|
||||
<name>ВыполнениеОбменаДаннымиExtendedTooltip</name>
|
||||
<id>88</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
+6
-63
@@ -2048,51 +2048,6 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СписокТокеновОписание</name>
|
||||
<id>978</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Описание</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>СписокТокенов.Описание</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>СписокТокеновОписаниеРасширеннаяПодсказка</name>
|
||||
<id>980</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СписокТокеновОписаниеКонтекстноеМеню</name>
|
||||
<id>979</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СписокТокеновПредставление</name>
|
||||
<id>981</id>
|
||||
@@ -5185,24 +5140,6 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>Описание</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Описание</value>
|
||||
</title>
|
||||
<id>2</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>Представление</name>
|
||||
<title>
|
||||
@@ -5633,6 +5570,12 @@
|
||||
<types>AnyRef</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>НаТокене</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
+115
-163
@@ -19,6 +19,7 @@
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Не ЗначениеЗаполнено(Параметры.СертификатСсылка) Тогда
|
||||
КлючНаТокене = Параметры.НаТокене;
|
||||
ВыполнитьПроверкуПравДоступа("Добавление", Метаданные.Справочники.СертификатыКлючейЭлектроннойПодписиИШифрования);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -113,9 +114,10 @@
|
||||
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = Ложь;
|
||||
|
||||
ПодсказкаДляПрограммы = СтроковыеФункции.ФорматированнаяСтрока(
|
||||
НСтр("ru = 'Для создания запроса на сертификат используется приложение электронной подписи и шифрования <b>%1</b> или <b>%2</b> или активный ключевой носитель (<b>Рутокен</b>).
|
||||
НСтр("ru = 'Для создания запроса на сертификат используется приложение электронной подписи и шифрования <b>%1</b> или <b>%2</b> или активный ключевой носитель (<b>Рутокен</b> или <b>JaCarta</b>).
|
||||
|По вопросам работы приложения обратитесь к его документации или воспользуйтесь <a href=""СсылкаНаСтатьюИТС"">дополнительной инструкцией на сайте 1С</a>.
|
||||
|Для работы с <b>Рутокеном</b> скачайте и установите <a href=""СсылкаНаДрайверРутокена"">библиотеку с сайта производителя</a> и вставьте токен в компьютер.
|
||||
|Для работы с <b>JaCarta</b> скачайте и установите <a href=""СсылкаНаДрайверJaCarta"">библиотеку с сайта производителя</a> и вставьте токен в компьютер.
|
||||
|
|
||||
|<b>Ключ электронной подписи</b> - это секретная информация, которая сохраняется на компьютер, флешку, устройство или другой носитель информации и используется в дальнейшем для создания электронных подписей.
|
||||
|
|
||||
@@ -647,9 +649,12 @@
|
||||
Если Найдено.Количество() > 0 Тогда
|
||||
|
||||
Если ЗначениеЗаполнено(Найдено[0].Ошибка) Тогда
|
||||
ТекстОшибки = Найдено[0].Ошибка;
|
||||
|
||||
ПриПотереГотовности(ЭтотОбъект);
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПоказатьОшибкуОбращенияКПрограмме(НСтр("ru = 'Выбор токена'"), "",
|
||||
Новый Структура("ОписаниеОшибки", Найдено[0].Ошибка), Новый Структура);
|
||||
Новый Структура("ОписаниеОшибки", ТекстОшибки), Новый Структура);
|
||||
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -712,6 +717,8 @@
|
||||
СтандартнаяОбработка = Ложь;
|
||||
Если НавигационнаяСсылка = "СсылкаНаДрайверРутокена" Тогда
|
||||
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку("https://www.rutoken.ru/support/download/pkcs/");
|
||||
ИначеЕсли НавигационнаяСсылка = "СсылкаНаДрайверJaCarta" Тогда
|
||||
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку("https://aladdin-rd.ru/support/downloads/jacarta/");
|
||||
Иначе
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ОткрытьИнструкциюПоРаботеСПрограммами();
|
||||
КонецЕсли;
|
||||
@@ -3453,7 +3460,8 @@
|
||||
Найдено = СписокТокенов.НайтиСтроки(Новый Структура("ПрограммаИдентификатор", ПрограммаИдентификатор));
|
||||
Если Найдено.Количество() = 0 Тогда
|
||||
Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не найден токен %1.'"), ПредставлениеПрограммы);
|
||||
НСтр("ru = '%1: %2.
|
||||
|%3'"), ПредставлениеПрограммы, ОшибкаНеНайденТокен(), РекомендацииДляТокена());
|
||||
ОткрытьФормуОшибки(НовыйОписаниеОшибки(НСтр("ru = 'Создание ключа электронной подписи'"), Ошибка));
|
||||
ОбработатьЗаявлениеПослеСозданияКлючаИЗапросаНаСертификат(Ложь, Контекст);
|
||||
Возврат;
|
||||
@@ -3461,6 +3469,14 @@
|
||||
|
||||
СвойстваТокена = Найдено[0];
|
||||
|
||||
Если ЗначениеЗаполнено(СвойстваТокена.Ошибка) Тогда
|
||||
|
||||
ОткрытьФормуОшибки(НовыйОписаниеОшибки(НСтр("ru = 'Создание ключа электронной подписи'"), СвойстваТокена.Ошибка));
|
||||
ОбработатьЗаявлениеПослеСозданияКлючаИЗапросаНаСертификат(Ложь, Контекст);
|
||||
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр(
|
||||
"ru = 'Для создания ключа электронной подписи требуется установка внешней компоненты %1.'"),
|
||||
@@ -3506,6 +3522,11 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция ОшибкаНеНайденТокен()
|
||||
Возврат ЭлектроннаяПодписьСлужебныйКлиент.ОшибкаНеНайденТокен();
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Асинх Процедура ПродолжитьПослеВводаПинКода(ПинКод, Контекст) Экспорт
|
||||
|
||||
@@ -3551,7 +3572,7 @@
|
||||
РасширенныеАтрибуты.Вставить("keyUsage", "digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment");
|
||||
РасширенныеАтрибуты.Вставить("extendedKeyUsage", "1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4");
|
||||
РасширенныеАтрибуты.Вставить("certificatePolicies", "1.2.643.100.113.1");
|
||||
РасширенныеАтрибуты.Вставить("1.2.643.100.111", СтрШаблон("ASN1:UTF8String: СКЗИ %1", ПрограммаИмя));
|
||||
РасширенныеАтрибуты.Вставить("1.2.643.100.111", СтрШаблон("ASN1:UTF8String:%1", ИмяСредства(СвойстваТокена.Токен)));
|
||||
РасширенныеАтрибуты.Вставить("1.3.6.1.4.1.311.21.7", "DER:30:10:06:08:2A:85:03:02:02:2E:00:08:02:01:01:02:01:00"); //CertTemplate
|
||||
РасширенныеАтрибуты.Вставить("1.2.643.100.114", СтрШаблон("DER:02:01:0%1", Контекст.ПоляСертификата.IdentKind));
|
||||
|
||||
@@ -3635,7 +3656,12 @@
|
||||
ДатаЗаявления = Формат(ОбщегоНазначенияКлиент.ДатаСеанса(), "ДФ=dd.MM.yyyy"); // АПК:335 Не локализуется (формат веб-сервиса).
|
||||
Попытка
|
||||
Ждать УдалитьФайлыАсинх(Контекст.ИмяФайлаЗапроса);
|
||||
Исключение // АПК:280
|
||||
Исключение
|
||||
ИмяСобытия = НСтр("ru = 'Электронная подпись.Заявление на выпуск сертификата'",
|
||||
ОбщегоНазначенияКлиент.КодОсновногоЯзыка());
|
||||
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(ИмяСобытия, "Ошибка",
|
||||
НСтр("ru = 'Не удалось удалить файл запроса на сертификат.'") + Символы.ПС
|
||||
+ ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,Истина);
|
||||
КонецПопытки;
|
||||
|
||||
ОбработатьЗаявлениеПослеСозданияКлючаИЗапросаНаСертификат(Истина, Контекст);
|
||||
@@ -4607,154 +4633,49 @@
|
||||
&НаКлиенте
|
||||
Асинх Функция ЗаполнитьСписокУстройств(ПредлагатьУстановить = Истина)
|
||||
|
||||
Если Не ОбщегоНазначенияКлиент.ЭтоWindowsКлиент() Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ОтобразитьПоискПриложений(Истина, Истина);
|
||||
|
||||
СписокТокенов.Очистить();
|
||||
|
||||
ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр(
|
||||
"ru = 'Для получения данных о токенах требуется установка внешней компоненты %1.'"),
|
||||
"ExtraCryptoAPI");
|
||||
УстановленныеТокеныРезультат = Ждать ЭлектроннаяПодписьКлиентЛокализация.УстановленныеТокены(Неопределено, ПредлагатьУстановить);
|
||||
ТекстОшибкиЗаполненияУстройств = УстановленныеТокеныРезультат.Ошибка;
|
||||
|
||||
Попытка
|
||||
ОбъектКомпоненты = Ждать ЭлектроннаяПодписьСлужебныйКлиент.ОбъектВнешнейКомпонентыExtraCryptoAPI(ПредлагатьУстановить, ТекстПояснения);
|
||||
Исключение
|
||||
ТекстОшибкиЗаполненияУстройств = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ОтобразитьПоискПриложений(Ложь, Истина);
|
||||
Возврат Ложь;
|
||||
КонецПопытки;
|
||||
Для Каждого Токен Из УстановленныеТокеныРезультат.Токены Цикл
|
||||
|
||||
Попытка
|
||||
ТипыУстройств = Ждать ОбъектКомпоненты.PKCS11ПолучитьПоддерживаемыеБэкендыАсинх();
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
ТипыУстройств = СтрРазделить(ТипыУстройств.Значение, "; ");
|
||||
Исключение
|
||||
ТекстОшибкиЗаполненияУстройств = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
ОтобразитьПоискПриложений(Ложь, Истина);
|
||||
Возврат Ложь;
|
||||
КонецПопытки;
|
||||
НоваяСтрока = СписокТокенов.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Токен);
|
||||
НоваяСтрока.ПрограммаИмя = ИмяПрограммы(НоваяСтрока.Токен);
|
||||
НоваяСтрока.ПрограммаТип = ТипПрограммы(НоваяСтрока.Токен);
|
||||
НоваяСтрока.ПрограммаИдентификатор = Токен.СерийныйНомер;
|
||||
Если Не ПустаяСтрока(НоваяСтрока.Ошибка) И СтрНайти(НоваяСтрока.Ошибка, ОшибкаНеНайденТокен()) <> 0 Тогда
|
||||
НоваяСтрока.Ошибка = СтрШаблон("%1%2%3", НоваяСтрока.Ошибка, Символы.ПС, РекомендацииДляТокена());
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ТипУстройства Из ТипыУстройств Цикл
|
||||
|
||||
СтрокаТокена = СписокТокенов.Добавить();
|
||||
СтрокаТокена.Токен = ТипУстройства;
|
||||
СтрокаТокена.Представление = МодельТокена(ТипУстройства);
|
||||
СтрокаТокена.ПрограммаИдентификатор = ТипУстройства;
|
||||
СтрокаТокена.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: Не найдены подключенные токены.'"), СтрокаТокена.Представление);
|
||||
|
||||
Попытка
|
||||
НастройкиТокена = Ждать ОбъектКомпоненты.PKCS11ПолучитьНастройкиБэкендаПоУмолчаниюАсинх(ТипУстройства);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
НастройкиТокена = НастройкиТокена.Значение;
|
||||
Исключение
|
||||
СтрокаТокена.Ошибка = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
Попытка
|
||||
Ждать ОбъектКомпоненты.PKCS11ИнициализацияАсинх(НастройкиТокена);
|
||||
Исключение
|
||||
СтрокаТокена.Ошибка = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
Ждать ОбъектКомпоненты.ПолучитьСписокОшибокАсинх();
|
||||
|
||||
Попытка
|
||||
СписокСлотов = Ждать ОбъектКомпоненты.PKCS11ПолучитьСписокСлотовАсинх(Истина);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
Исключение
|
||||
СтрокаТокена.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: Не найдены подключенные токены. %2'"), СтрокаТокена.Представление,
|
||||
ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
Если СписокСлотов.Значение = Неопределено Или СписокСлотов.Значение = "null" Тогда
|
||||
СтрокаТокена.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: Не найдены подключенные токены.'"), СтрокаТокена.Представление);
|
||||
Если Токен.Слот = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
СписокСлотов = Прочитать(СписокСлотов.Значение);
|
||||
Попытка
|
||||
ТипМеханизмаГенерацииКлючевойПары = ТипМеханизмаГенерацииКлючевойПары(Токен.Механизмы, Токен.Представление);
|
||||
Исключение
|
||||
НоваяСтрока.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: Не удалось получить информацию о механизмах токена в слоте %2. %3'"),
|
||||
НоваяСтрока.Представление, Токен.Слот, ОбработкаОшибок.КраткоеПредставлениеОшибки(
|
||||
ИнформацияОбОшибке()));
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
Для каждого Слот Из СписокСлотов Цикл
|
||||
Если Слот.Ключ <> "available slot number" Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ЗначенияСлотов = Слот.Значение;
|
||||
Для каждого ЗначениеСлота Из ЗначенияСлотов Цикл
|
||||
ЕстьТокены = Истина;
|
||||
НоваяСтрока = СписокТокенов.Добавить();
|
||||
НоваяСтрока.Слот = ЗначениеСлота;
|
||||
НоваяСтрока.Токен = ТипУстройства;
|
||||
НоваяСтрока.Представление = СтрШаблон("%1 %2", СтрокаТокена.Представление, НоваяСтрока.Слот);
|
||||
|
||||
Попытка
|
||||
ИнформацияОСлоте = Ждать ОбъектКомпоненты.PKCS11ПолучитьИнформациюОСлотеАсинх(ЗначениеСлота);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
Исключение
|
||||
НоваяСтрока.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: Ошибка получения информации о слоте %2. %3'"), СтрокаТокена.Представление,
|
||||
ЗначениеСлота, ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
НоваяСтрока.Описание = Прочитать(ИнформацияОСлоте.Значение).Получить("description");
|
||||
|
||||
Попытка
|
||||
ИнформацияОТокене = Ждать ОбъектКомпоненты.PKCS11ПолучитьИнформациюОТокенеАсинх(ЗначениеСлота);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
Исключение
|
||||
НоваяСтрока.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: Ошибка получения информации о токене в слоте %2. %3'"), СтрокаТокена.Представление,
|
||||
ЗначениеСлота, ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
Информация = Прочитать(ИнформацияОТокене.Значение);
|
||||
НоваяСтрока.ПрограммаИдентификатор = Информация.Получить("serial_number");
|
||||
Модель = Информация.Получить("model");
|
||||
НоваяСтрока.Модель = МодельТокена(Модель);
|
||||
НоваяСтрока.ПрограммаИмя = ИмяПрограммы(Модель);
|
||||
НоваяСтрока.ПрограммаТип = ТипПрограммы(Модель);
|
||||
НоваяСтрока.Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 (серийный номер %2)'"), НоваяСтрока.Модель, НоваяСтрока.ПрограммаИдентификатор);
|
||||
|
||||
Попытка
|
||||
СписокМеханизмов = Ждать ОбъектКомпоненты.PKCS11ПолучитьСписокПоддерживаемыхМеханизмовАсинх(ЗначениеСлота);
|
||||
Ждать ПолучитьОшибкуКомпоненты(ОбъектКомпоненты);
|
||||
ТипМеханизмаГенерацииКлючевойПары = ТипМеханизмаГенерацииКлючевойПары(СписокМеханизмов.Значение, Модель);
|
||||
Исключение
|
||||
НоваяСтрока.Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: Ошибка получения информации о механизмах токена в слоте %2. %3'"), СтрокаТокена.Представление,
|
||||
ЗначениеСлота, ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Продолжить;
|
||||
КонецПопытки;
|
||||
|
||||
Если ТипЗнч(ТипМеханизмаГенерацииКлючевойПары) = Тип("Строка") Тогда
|
||||
НоваяСтрока.Ошибка = ТипМеханизмаГенерацииКлючевойПары;
|
||||
Иначе
|
||||
НоваяСтрока.ТипМеханизмаГенерацииКлючевойПары = ТипМеханизмаГенерацииКлючевойПары;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
Если ЕстьТокены Тогда
|
||||
СписокТокенов.Удалить(СтрокаТокена);
|
||||
Если ТипЗнч(ТипМеханизмаГенерацииКлючевойПары) = Тип("Строка") Тогда
|
||||
НоваяСтрока.Ошибка = ТипМеханизмаГенерацииКлючевойПары;
|
||||
Иначе
|
||||
НоваяСтрока.ТипМеханизмаГенерацииКлючевойПары = ТипМеханизмаГенерацииКлючевойПары;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ОтобразитьПоискПриложений(Ложь, Истина);
|
||||
|
||||
Возврат Истина;
|
||||
Возврат УстановленныеТокеныРезультат.ПроверкаВыполнена;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -4781,16 +4702,26 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Асинх Функция ПолучитьОшибкуКомпоненты(ОбъектКомпоненты)
|
||||
Ошибка = Ждать ОбъектКомпоненты.ПолучитьСписокОшибокАсинх();
|
||||
Если ЗначениеЗаполнено(Ошибка) Тогда
|
||||
ВызватьИсключение Ошибка;
|
||||
КонецЕсли;
|
||||
Возврат Истина;
|
||||
Функция РекомендацииДляТокена()
|
||||
|
||||
Возврат ЭлектроннаяПодписьСлужебныйКлиент.РекомендацииДляТокена();
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ТипМеханизмаГенерацииКлючевойПары(Механизмы, Модель)
|
||||
Асинх Функция ПолучитьОшибкуКомпоненты(ОбъектКомпоненты)
|
||||
Ошибка = Ждать ОбъектКомпоненты.ПолучитьСписокОшибокАсинх();
|
||||
|
||||
Если Не ЗначениеЗаполнено(Ошибка) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ВызватьИсключение Ошибка;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ТипМеханизмаГенерацииКлючевойПары(Механизмы, Представление)
|
||||
|
||||
СписокМеханизмов = Прочитать(Механизмы);
|
||||
СписокМеханизмов = СписокМеханизмов.Получить("support_mechanisms");
|
||||
@@ -4813,25 +4744,8 @@
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не поддерживается механизм создания ключевой пары с алгоритмом ГОСТ 34.10-2012 (256).
|
||||
|Поддерживаемые механизмы: %1'"), СтрСоединить(СписокПоддерживаемыхМеханизмов, ", "));
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция МодельТокена(Модель)
|
||||
|
||||
Если СтрНачинаетсяС(НРег(Модель), "rutokenecp") Тогда
|
||||
Возврат НСтр("ru = 'Рутокен ЭЦП'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "rutokenlite") Тогда
|
||||
Возврат НСтр("ru = 'Рутокен Lite'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "rutokens") Тогда
|
||||
Возврат НСтр("ru = 'Рутокен S'");
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "rutoken") Тогда
|
||||
Возврат НСтр("ru = 'Рутокен'");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Модель;
|
||||
НСтр("ru = 'На токене %1 не поддерживается механизм создания ключевой пары с алгоритмом ГОСТ 34.10-2012 (256).
|
||||
|Поддерживаемые механизмы: %2'"), Представление, СтрСоединить(СписокПоддерживаемыхМеханизмов, ", "));
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -4848,6 +4762,19 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ИмяСредства(Модель)
|
||||
|
||||
Если СтрНачинаетсяС(НРег(Модель), "rutoken") Тогда
|
||||
Возврат "СКЗИ Рутокен ЭЦП"; // АПК:1297 Название для внешней системы.
|
||||
ИначеЕсли СтрНачинаетсяС(НРег(Модель), "jacarta") Тогда
|
||||
Возврат "SKZI Kriptotoken 2 EP";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Модель;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ТипПрограммы(Модель)
|
||||
|
||||
@@ -5151,6 +5078,11 @@
|
||||
|
||||
Объект.Программа = Неопределено;
|
||||
|
||||
Если КлючНаТокене И СписокТокенов.Количество() > 0 Тогда
|
||||
ЗаполнитьТокен(СписокТокенов[0]);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("Оповещение", Оповещение);
|
||||
Контекст.Вставить("ПерваяДобавленнаяПрограмма", Неопределено);
|
||||
@@ -5160,6 +5092,18 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьТокен(СвойстваТокена)
|
||||
ПрограммаИдентификатор = СвойстваТокена.ПрограммаИдентификатор;
|
||||
Объект.Программа = Неопределено;
|
||||
ПрограммаИмя = СвойстваТокена.ПрограммаИмя;
|
||||
ПрограммаТип = СвойстваТокена.ПрограммаТип;
|
||||
ПредставлениеПрограммы = СвойстваТокена.Представление;
|
||||
УстановитьВидимостьПрограммы();
|
||||
КлючНаТокене = Истина;
|
||||
ПодключитьОбработчикОжидания("ПослеВыбораПрограммыОбработчикОжидания", 0.1, Истина);
|
||||
КонецПроцедуры
|
||||
|
||||
// Параметры:
|
||||
// Контекст - Структура:
|
||||
// * Строка - СтрокаТаблицыЗначений:
|
||||
@@ -7036,13 +6980,21 @@
|
||||
Найдено = СписокТокенов.НайтиСтроки(Новый Структура("ПрограммаИдентификатор", ПрограммаИдентификатор));
|
||||
Если Найдено.Количество() = 0 Тогда
|
||||
ОшибкаУстановкиСертификата = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не найден токен %1.'"), ПредставлениеПрограммы);
|
||||
НСтр("ru = '%1: %2. Вставьте токен в компьютер и повторите попытку установить сертификат.
|
||||
|%3'"), ПредставлениеПрограммы, ОшибкаНеНайденТокен(), РекомендацииДляТокена());
|
||||
ПослеУстановкиСертификата(Ложь, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваТокена = Найдено[0];
|
||||
|
||||
Если ЗначениеЗаполнено(СвойстваТокена.Ошибка) Тогда
|
||||
ОшибкаУстановкиСертификата = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: %2.'"), ПредставлениеПрограммы, СвойстваТокена.Ошибка);
|
||||
ПослеУстановкиСертификата(Ложь, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр(
|
||||
"ru = 'Для импорта сертификата на токен требуется установка внешней компоненты %1.'"),
|
||||
|
||||
-6
@@ -904,12 +904,6 @@
|
||||
<c>
|
||||
<c>
|
||||
<f>22</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>М.П.</v8:content>
|
||||
</v8:item>
|
||||
</tl>
|
||||
</c>
|
||||
</c>
|
||||
<c>
|
||||
|
||||
-6
@@ -1004,12 +1004,6 @@
|
||||
<i>5</i>
|
||||
<c>
|
||||
<f>8</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>М.П.</v8:content>
|
||||
</v8:item>
|
||||
</tl>
|
||||
</c>
|
||||
</c>
|
||||
</row>
|
||||
|
||||
+4
-4
@@ -36,7 +36,7 @@
|
||||
<segments>ДоступныеВидыОбъектов.ПредставлениеСписка</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ДоступныеВидыОбъектовПредставлениеСпискаРасширеннаяПодсказка</name>
|
||||
<name>ДоступныеВидыОбъектовПредставлениеСпискаExtendedTooltip</name>
|
||||
<id>28</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -143,7 +143,7 @@
|
||||
</extInfo>
|
||||
</searchControlAddition>
|
||||
<extendedTooltip>
|
||||
<name>ДоступныеВидыОбъектовРасширеннаяПодсказка</name>
|
||||
<name>ДоступныеВидыОбъектовExtendedTooltip</name>
|
||||
<id>27</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -263,7 +263,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаОтменаРасширеннаяПодсказка</name>
|
||||
<name>ФормаОтменаExtendedTooltip</name>
|
||||
<id>25</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -289,7 +289,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаСправкаРасширеннаяПодсказка</name>
|
||||
<name>ФормаСправкаExtendedTooltip</name>
|
||||
<id>26</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
+6
@@ -11,6 +11,12 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если Параметры.УзелИнформационнойБазы = Неопределено Тогда
|
||||
|
||||
ВызватьИсключение НСтр("ru = 'Эта форма не предназначена для непосредственного открытия.'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ЗакрыватьПриЗакрытииВладельца = Истина;
|
||||
ЗакрыватьПриВыборе = Ложь;
|
||||
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@
|
||||
</dataPath>
|
||||
<titleLocation>None</titleLocation>
|
||||
<extendedTooltip>
|
||||
<name>ОбщиеПараметрыСинхронизацииСтрокойРасширеннаяПодсказка</name>
|
||||
<name>ОбщиеПараметрыСинхронизацииСтрокойExtendedTooltip</name>
|
||||
<id>5</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -73,7 +73,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаЗакрытьРасширеннаяПодсказка</name>
|
||||
<name>ФормаЗакрытьExtendedTooltip</name>
|
||||
<id>4</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
+8
-8
@@ -27,7 +27,7 @@
|
||||
<value>Общий отбор по периоду, применяется для всех документов</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>ПериодДанныхРасширеннаяПодсказка</name>
|
||||
<name>ПериодДанныхExtendedTooltip</name>
|
||||
<id>21</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -71,7 +71,7 @@
|
||||
<value>Период</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаПериодРасширеннаяПодсказка</name>
|
||||
<name>ГруппаПериодExtendedTooltip</name>
|
||||
<id>20</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -121,7 +121,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>КомпоновщикНастроекОтборДобавитьЭлементОтбораРасширеннаяПодсказка</name>
|
||||
<name>КомпоновщикНастроекОтборДобавитьЭлементОтбораExtendedTooltip</name>
|
||||
<id>22</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -151,7 +151,7 @@
|
||||
<value>Компоновщик настроек отбор группа все действия</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>КомпоновщикНастроекОтборГруппаВсеДействияРасширеннаяПодсказка</name>
|
||||
<name>КомпоновщикНастроекОтборГруппаВсеДействияExtendedTooltip</name>
|
||||
<id>23</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -238,7 +238,7 @@
|
||||
</extInfo>
|
||||
</searchControlAddition>
|
||||
<extendedTooltip>
|
||||
<name>КомпоновщикНастроекОтборРасширеннаяПодсказка</name>
|
||||
<name>КомпоновщикНастроекОтборExtendedTooltip</name>
|
||||
<id>24</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -297,7 +297,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаКомандаОКРасширеннаяПодсказка</name>
|
||||
<name>ФормаКомандаОКExtendedTooltip</name>
|
||||
<id>17</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -323,7 +323,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаСправкаРасширеннаяПодсказка</name>
|
||||
<name>ФормаСправкаExtendedTooltip</name>
|
||||
<id>18</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -349,7 +349,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаОтменаРасширеннаяПодсказка</name>
|
||||
<name>ФормаОтменаExtendedTooltip</name>
|
||||
<id>19</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
+6
-6
@@ -49,7 +49,7 @@
|
||||
<segments>ВариантыНастроек.Value</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ВариантыНастроекЗначениеРасширеннаяПодсказка</name>
|
||||
<name>ВариантыНастроекЗначениеExtendedTooltip</name>
|
||||
<id>18</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -164,7 +164,7 @@
|
||||
</extInfo>
|
||||
</searchControlAddition>
|
||||
<extendedTooltip>
|
||||
<name>ВариантыНастроекРасширеннаяПодсказка</name>
|
||||
<name>ВариантыНастроекExtendedTooltip</name>
|
||||
<id>17</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -224,7 +224,7 @@
|
||||
<value>Имя, под которым будут сохранены текущие настройки</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>ПредставлениеНастройкиРасширеннаяПодсказка</name>
|
||||
<name>ПредставлениеНастройкиExtendedTooltip</name>
|
||||
<id>19</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -273,7 +273,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаСохранитьРасширеннаяПодсказка</name>
|
||||
<name>ФормаСохранитьExtendedTooltip</name>
|
||||
<id>14</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -303,7 +303,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаОтменаРасширеннаяПодсказка</name>
|
||||
<name>ФормаОтменаExtendedTooltip</name>
|
||||
<id>15</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -329,7 +329,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаСправкаРасширеннаяПодсказка</name>
|
||||
<name>ФормаСправкаExtendedTooltip</name>
|
||||
<id>16</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
|
||||
+7
@@ -12,6 +12,13 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
// Проверка, что форма открыта с нужными параметрами
|
||||
Если Параметры.Объект = Неопределено Тогда
|
||||
|
||||
ВызватьИсключение НСтр("ru = 'Эта форма не предназначена для непосредственного открытия.'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьЗначенияСвойств(Объект, Параметры.Объект , , "КомпоновщикОтбораВсехДокументов, ДополнительнаяРегистрация, ДополнительнаяРегистрацияСценарияУзла");
|
||||
Для Каждого Строка Из Параметры.Объект.ДополнительнаяРегистрация Цикл
|
||||
ЗаполнитьЗначенияСвойств(Объект.ДополнительнаяРегистрация.Добавить(), Строка);
|
||||
|
||||
Loaded 100 of 189 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user