3_1_2_176
This commit is contained in:
1 parent
07b2436eb9
commit
6a232c400c
69 files changed
+2099
-1171
No files matched your search
@@ -16,7 +16,7 @@
|
||||
Если ИменаПараметровСеанса = Неопределено
|
||||
Или ИменаПараметровСеанса.Найти("УстановленныеРасширения") <> Неопределено Тогда
|
||||
|
||||
ПараметрыСеанса.УстановленныеРасширения = УстановленныеРасширения();
|
||||
ПараметрыСеанса.УстановленныеРасширения = УстановленныеРасширения(Истина);
|
||||
УстановленныеПараметры.Добавить("УстановленныеРасширения");
|
||||
КонецЕсли;
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
Или ИменаПараметровСеанса.Найти("ПодключенныеРасширения") <> Неопределено Тогда
|
||||
|
||||
Расширения = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансАктивные);
|
||||
ПараметрыСеанса.ПодключенныеРасширения = КонтрольныеСуммыРасширений(Расширения);
|
||||
ПараметрыСеанса.ПодключенныеРасширения = КонтрольныеСуммыРасширений(Расширения, "БезопасныйРежим");
|
||||
УстановленныеПараметры.Добавить("ПодключенныеРасширения");
|
||||
КонецЕсли;
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
// * Основные - Строка - контрольная сумма всех расширений, кроме исправительных расширений.
|
||||
// * Исправления - Строка - контрольная сумма всех исправительных расширений.
|
||||
//
|
||||
Функция УстановленныеРасширения() Экспорт
|
||||
Функция УстановленныеРасширения(ПриЗапуске = Ложь) Экспорт
|
||||
|
||||
Если ОбщегоНазначения.РазделениеВключено()
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
|
||||
@@ -70,7 +70,35 @@
|
||||
Неразделенные = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Расширения = РасширенияКонфигурации.Получить();
|
||||
РасширенияБазыДанных = РасширенияКонфигурации.Получить();
|
||||
Если ПриЗапуске Тогда
|
||||
РасширенияПриЗапуске = Новый Соответствие;
|
||||
АктивныеРасширения = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансАктивные);
|
||||
Для Каждого Расширение Из АктивныеРасширения Цикл
|
||||
РасширенияПриЗапуске.Вставить(КонтрольнаяСуммаРасширения(Расширение), Расширение);
|
||||
КонецЦикла;
|
||||
НеподключенныеРасширения = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансОтключенные);
|
||||
Для Каждого Расширение Из НеподключенныеРасширения Цикл
|
||||
РасширенияПриЗапуске.Вставить(КонтрольнаяСуммаРасширения(Расширение), Расширение);
|
||||
КонецЦикла;
|
||||
ДобавленныеРасширения = Новый Соответствие;
|
||||
Расширения = Новый Массив;
|
||||
Для Каждого Расширение Из РасширенияБазыДанных Цикл
|
||||
КонтрольнаяСумма = КонтрольнаяСуммаРасширения(Расширение);
|
||||
РасширениеПриЗапуске = РасширенияПриЗапуске.Получить(КонтрольнаяСумма);
|
||||
Если РасширениеПриЗапуске <> Неопределено Тогда
|
||||
ДобавленныеРасширения.Вставить(КонтрольнаяСумма, Истина);
|
||||
Расширения.Добавить(РасширениеПриЗапуске);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Для Каждого ОписаниеРасширения Из РасширенияПриЗапуске Цикл
|
||||
Если ДобавленныеРасширения.Получить(ОписаниеРасширения.Ключ) = Неопределено Тогда
|
||||
Расширения.Добавить(ОписаниеРасширения.Значение);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
Расширения = РасширенияБазыДанных;
|
||||
КонецЕсли;
|
||||
|
||||
Основные = Новый Массив;
|
||||
Исправления = Новый Массив;
|
||||
@@ -94,8 +122,8 @@
|
||||
УстановленныеРасширения = Новый Структура;
|
||||
УстановленныеРасширения.Вставить("Основные", КонтрольныеСуммыРасширений(Основные));
|
||||
УстановленныеРасширения.Вставить("Исправления", КонтрольныеСуммыРасширений(Исправления));
|
||||
УстановленныеРасширения.Вставить("ОсновныеСостояние", КонтрольныеСуммыРасширений(Основные, Истина));
|
||||
УстановленныеРасширения.Вставить("ИсправленияСостояние", КонтрольныеСуммыРасширений(Исправления, Истина));
|
||||
УстановленныеРасширения.Вставить("ОсновныеСостояние", КонтрольныеСуммыРасширений(Основные, "Все"));
|
||||
УстановленныеРасширения.Вставить("ИсправленияСостояние", КонтрольныеСуммыРасширений(Исправления, "Все"));
|
||||
|
||||
Возврат Новый ФиксированнаяСтруктура(УстановленныеРасширения);
|
||||
|
||||
@@ -491,7 +519,6 @@
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось удалить расширение ""%1"" по причине:
|
||||
|
|
||||
|%2'"),
|
||||
УдаляемоеРасширение,
|
||||
КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
@@ -508,7 +535,6 @@
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'После удаления, при обработке случая удаления всех расширений, произошла ошибка:
|
||||
|
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
@@ -520,7 +546,6 @@
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'После удаления, при подготовке оставшихся расширений к работе, произошла ошибка:
|
||||
|
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
@@ -592,19 +617,12 @@
|
||||
// Возвращаемое значение:
|
||||
// Строка - строки вида "<Имя расширения> (<Версия расширения>) <Контрольная сумма>".
|
||||
//
|
||||
Функция КонтрольныеСуммыРасширений(Расширения, УчитыватьСостояниеРасширений = Ложь)
|
||||
Функция КонтрольныеСуммыРасширений(Расширения, СвойстваПодключения = "")
|
||||
|
||||
Список = Новый СписокЗначений;
|
||||
|
||||
Для Каждого Расширение Из Расширения Цикл
|
||||
КонтрольнаяСумма = Расширение.Имя + " (" + Расширение.Версия + ") " + Base64Строка(Расширение.ХешСумма);
|
||||
Если УчитыватьСостояниеРасширений Тогда
|
||||
КонтрольнаяСумма = КонтрольнаяСумма
|
||||
+ " Активно:" + Расширение.Активно
|
||||
+ " БезопасныйРежим:" + Расширение.БезопасныйРежим
|
||||
+ " ПередаватьВПодчиненныеУзлыРИБ:" + Расширение.ИспользуетсяВРаспределеннойИнформационнойБазе;
|
||||
КонецЕсли;
|
||||
Список.Добавить(КонтрольнаяСумма);
|
||||
Список.Добавить(КонтрольнаяСуммаРасширения(Расширение, СвойстваПодключения));
|
||||
КонецЦикла;
|
||||
|
||||
Если Список.Количество() <> 0 Тогда
|
||||
@@ -621,6 +639,25 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функций КонтрольныеСуммыРасширений и УстановленныеРасширения.
|
||||
Функция КонтрольнаяСуммаРасширения(Расширение, СвойстваПодключения = "")
|
||||
|
||||
КонтрольнаяСумма = Расширение.Имя + " (" + Расширение.Версия + ") " + Base64Строка(Расширение.ХешСумма);
|
||||
|
||||
Если ЗначениеЗаполнено(СвойстваПодключения) Тогда
|
||||
КонтрольнаяСумма = КонтрольнаяСумма + " БезопасныйРежим:" + Расширение.БезопасныйРежим;
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваПодключения = "Все" Тогда
|
||||
КонтрольнаяСумма = КонтрольнаяСумма
|
||||
+ " ПередаватьВПодчиненныеУзлыРИБ:" + Расширение.ИспользуетсяВРаспределеннойИнформационнойБазе
|
||||
+ " Активно:" + Расширение.Активно;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат КонтрольнаяСумма;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает текущую версию расширений.
|
||||
// Для поиска версии используется описание подключенных расширений.
|
||||
//
|
||||
@@ -787,7 +824,8 @@
|
||||
// Для процедуры ЗарегистрироватьИспользованиеВерсииРасширений.
|
||||
Процедура ОбновитьПоследнююВерсиюРасширений(ВерсияРасширений)
|
||||
|
||||
Если КонфигурацияБазыДанныхИзмененаДинамически() Тогда
|
||||
Если КонфигурацияБазыДанныхИзмененаДинамически()
|
||||
Или РасширенияИзмененыДинамически() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -5396,7 +5396,7 @@
|
||||
<id>32</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Удалить данные версии файла</value>
|
||||
<value>Удалить данные файла</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
|
||||
@@ -4717,7 +4717,7 @@
|
||||
<id>4</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Удалить данные версии файла</value>
|
||||
<value>Удалить данные файла</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -4730,6 +4730,7 @@
|
||||
<name>Удалить</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<parameters>
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
Возврат Истина;
|
||||
КонецПопытки;
|
||||
|
||||
Возврат Тип(Тест) <> Тип("Структура");
|
||||
Возврат ТипЗнч(Тест) <> Тип("Структура");
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+183
-54
@@ -1451,34 +1451,102 @@
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ТипЗначенияРеквизита</name>
|
||||
<id>43</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ТипЗначения</name>
|
||||
<id>5</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаТипЗначения</name>
|
||||
<id>471</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ТипЗначения</name>
|
||||
<id>5</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>Объект.ValueType</segments>
|
||||
</dataPath>
|
||||
<titleLocation>Left</titleLocation>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>В реквизите будут указываться данные выбранного типа. Например, текст, дата, число и т.п.</value>
|
||||
</toolTip>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ТипЗначенияПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ТипЗначенияExtendedTooltip</name>
|
||||
<id>126</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ТипЗначенияКонтекстноеМеню</name>
|
||||
<id>6</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>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>РедактироватьФорматЗначения</name>
|
||||
<id>37</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>РедактироватьФорматЗначенияExtendedTooltip</name>
|
||||
<id>127</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Hyperlink</type>
|
||||
<commandName>Form.Command.РедактироватьФорматЗначения</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Тип значения</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.ValueType</segments>
|
||||
</dataPath>
|
||||
<titleLocation>Left</titleLocation>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>В реквизите будут указываться данные выбранного типа. Например, текст, дата, число и т.п.</value>
|
||||
</toolTip>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ТипЗначенияПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ТипЗначенияExtendedTooltip</name>
|
||||
<id>126</id>
|
||||
<name>ГруппаТипЗначенияРасширеннаяПодсказка</name>
|
||||
<id>472</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -1486,36 +1554,96 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ТипЗначенияКонтекстноеМеню</name>
|
||||
<id>6</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>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>РедактироватьФорматЗначения</name>
|
||||
<id>37</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаПояснениеТипаЗначения</name>
|
||||
<id>476</id>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>КартинкаПояснение</name>
|
||||
<id>478</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>КартинкаПояснениеРасширеннаяПодсказка</name>
|
||||
<id>480</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>КартинкаПояснениеКонтекстноеМеню</name>
|
||||
<id>479</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:PictureDecorationExtInfo">
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>CommonPicture.Информация</picture>
|
||||
</picture>
|
||||
<fileDragMode>AsFileRef</fileDragMode>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ПояснениеОДлинеСтроки</name>
|
||||
<id>473</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Максимальная длина строки составляет 1024 символа</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ПояснениеОДлинеСтрокиРасширеннаяПодсказка</name>
|
||||
<id>475</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПояснениеОДлинеСтрокиКонтекстноеМеню</name>
|
||||
<id>474</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>Label</type>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Пояснение типа значения</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>РедактироватьФорматЗначенияExtendedTooltip</name>
|
||||
<id>127</id>
|
||||
<name>ГруппаПояснениеТипаЗначенияРасширеннаяПодсказка</name>
|
||||
<id>477</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -1523,14 +1651,15 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Hyperlink</type>
|
||||
<commandName>Form.Command.РедактироватьФорматЗначения</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -1553,7 +1682,7 @@
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<group>Vertical</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
|
||||
+8
-1
@@ -1486,12 +1486,19 @@
|
||||
ИЛИ НЕ ( Объект.ТипЗначения.СодержитТип(Тип("Число" ))
|
||||
ИЛИ Объект.ТипЗначения.СодержитТип(Тип("Дата" ))
|
||||
ИЛИ Объект.ТипЗначения.СодержитТип(Тип("Булево")) )Тогда
|
||||
|
||||
Элементы.РедактироватьФорматЗначения.Видимость = Ложь;
|
||||
Иначе
|
||||
Элементы.РедактироватьФорматЗначения.Видимость = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если Объект.ЭтоДополнительноеСведение
|
||||
И Объект.ТипЗначения.СодержитТип(Тип("Строка"))
|
||||
И Объект.ТипЗначения.КвалификаторыСтроки.Длина = 0 Тогда
|
||||
Элементы.ГруппаПояснениеТипаЗначения.Видимость = Истина;
|
||||
Иначе
|
||||
Элементы.ГруппаПояснениеТипаЗначения.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ Объект.ЭтоДополнительноеСведение Тогда
|
||||
Элементы.ГруппаМногострочность.Видимость = Истина;
|
||||
ПереключитьНастройкиВыводаРеквизита(Объект.ТипЗначения);
|
||||
|
||||
@@ -436,15 +436,19 @@
|
||||
Процедура ОтправитьПисьмо()
|
||||
|
||||
ОчиститьСообщения();
|
||||
|
||||
Если ПоляЗаполненыКорректно() И ОтправитьПочтовоеСообщение() Тогда
|
||||
ЕстьОшибочныеПолучатели = Ложь;
|
||||
Если ПоляЗаполненыКорректно() И ОтправитьПочтовоеСообщение(ЕстьОшибочныеПолучатели) Тогда
|
||||
СохранитьАдресОтвета(АдресОтвета);
|
||||
ТребуетсяПодтверждениеЗакрытияФормы = Ложь;
|
||||
|
||||
ПоказатьОповещениеПользователя(НСтр("ru = 'Сообщение отправлено:'"), ,
|
||||
?(ПустаяСтрока(ТемаПисьма), НСтр("ru = '<Без темы>'"), ТемаПисьма), БиблиотекаКартинок.Информация32);
|
||||
|
||||
Закрыть();
|
||||
Если ЕстьОшибочныеПолучатели Тогда
|
||||
ПоказатьПредупреждение(, НСтр("ru = 'Письмо отправлено не всем получателям.'"));
|
||||
Иначе
|
||||
Закрыть();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -503,7 +507,7 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ОтправитьПочтовоеСообщение()
|
||||
Функция ОтправитьПочтовоеСообщение(ЕстьОшибочныеПолучатели)
|
||||
|
||||
ПараметрыПисьма = СформироватьПараметрыПисьма();
|
||||
Если ПараметрыПисьма = Неопределено Тогда
|
||||
@@ -511,10 +515,33 @@
|
||||
КонецЕсли;
|
||||
|
||||
Письмо = РаботаСПочтовымиСообщениями.ПодготовитьПисьмо(УчетнаяЗапись, ПараметрыПисьма);
|
||||
РаботаСПочтовымиСообщениями.ОтправитьПисьмо(УчетнаяЗапись, Письмо);
|
||||
РезультатОтправки = РаботаСПочтовымиСообщениями.ОтправитьПисьмо(УчетнаяЗапись, Письмо);
|
||||
РаботаСПочтовымиСообщениямиПереопределяемый.ПослеОтправкиПисьма(ПараметрыПисьма);
|
||||
|
||||
ДобавитьПолучателейВИсторию(ПараметрыПисьма.Кому);
|
||||
|
||||
ОшибочныеПолучатели = РезультатОтправки.ОшибочныеПолучатели;
|
||||
Если ОшибочныеПолучатели.Количество() > 0 Тогда
|
||||
Для Каждого ОшибочныйПолучатель Из ОшибочныеПолучатели Цикл
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: %2'"),
|
||||
ОшибочныйПолучатель.Ключ, ОшибочныйПолучатель.Значение);
|
||||
|
||||
Поле = "ПочтовыеАдресаПолучателей";
|
||||
Для Каждого АдресПолучателя Из ПочтовыеАдресаПолучателей Цикл
|
||||
Если СтрНайти(АдресПолучателя.Представление, ОшибочныйПолучатель.Ключ) > 0 Тогда
|
||||
Поле = Поле + "[" + ПочтовыеАдресаПолучателей.Индекс(АдресПолучателя) + "].Представление";
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , Поле);
|
||||
КонецЦикла;
|
||||
|
||||
ЕстьОшибочныеПолучатели = Истина;
|
||||
Возврат ПочтовыеАдресаПолучателей.Количество() > ОшибочныеПолучатели.Количество();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -121,7 +121,12 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СписокРасширенийБезопасныйРежимФлагПриИзмененииНаСервере(ТекущееРасширение.ПолучитьИдентификатор());
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("ИдентификаторСтроки", ТекущееРасширение.ПолучитьИдентификатор());
|
||||
|
||||
ПоказатьДлительнуюОперацию();
|
||||
ТекущийКонтекст = Контекст;
|
||||
ПодключитьОбработчикОжидания("СписокРасширенийБезопасныйРежимФлагПриИзмененииЗавершение", 0.1, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -133,14 +138,12 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ИдентификаторСтроки = ТекущееРасширение.ПолучитьИдентификатор();
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("ИдентификаторСтроки", ТекущееРасширение.ПолучитьИдентификатор());
|
||||
|
||||
Если Не ТекущееРасширение.Подключать
|
||||
И ЭтоРасширениеСДанными(ТекущееРасширение.ИдентификаторРасширения) Тогда
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("ИдентификаторСтроки", ИдентификаторСтроки);
|
||||
|
||||
Оповещение = Новый ОписаниеОповещения("ОтключитьРасширениеПослеПодтверждения", ЭтотОбъект, Контекст);
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
@@ -148,7 +151,7 @@
|
||||
|
||||
ОткрытьФорму("ОбщаяФорма.ПредупреждениеБезопасности", ПараметрыФормы,,,,, Оповещение)
|
||||
Иначе
|
||||
СписокРасширенийПодключатьПриИзмененииНаСервере(ИдентификаторСтроки);
|
||||
СписокРасширенийПодключатьПриИзмененииПродолжение(Контекст);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -548,13 +551,12 @@
|
||||
ТекстОшибки = "";
|
||||
Справочники.ВерсииРасширений.УдалитьРасширения(ИдентификаторыРасширений, ТекстОшибки);
|
||||
|
||||
ОбновитьСписок();
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
ОбновитьСписок();
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьСписок();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -563,17 +565,58 @@
|
||||
Если Результат <> "Продолжить" Тогда
|
||||
|
||||
СтрокаСписка = СписокРасширений.НайтиПоИдентификатору(Контекст.ИдентификаторСтроки);
|
||||
|
||||
Если СтрокаСписка = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаСписка.Подключать = Не СтрокаСписка.Подключать;
|
||||
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СписокРасширенийПодключатьПриИзмененииНаСервере(Контекст.ИдентификаторСтроки);
|
||||
СписокРасширенийПодключатьПриИзмененииПродолжение(Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СписокРасширенийПодключатьПриИзмененииПродолжение(Контекст)
|
||||
|
||||
ПоказатьДлительнуюОперацию();
|
||||
ТекущийКонтекст = Контекст;
|
||||
ПодключитьОбработчикОжидания("СписокРасширенийПодключатьПриИзмененииЗавершение", 0.1, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СписокРасширенийПодключатьПриИзмененииЗавершение()
|
||||
|
||||
Контекст = ТекущийКонтекст;
|
||||
|
||||
Попытка
|
||||
СписокРасширенийПодключатьПриИзмененииНаСервере(Контекст.ИдентификаторСтроки);
|
||||
Исключение
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
ПодключитьОбработчикОжидания("СкрытьДлительнуюОперацию", 0.1, Истина);
|
||||
ПоказатьПредупреждение(, КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
Возврат;
|
||||
КонецПопытки;
|
||||
ПодключитьОбработчикОжидания("СкрытьДлительнуюОперацию", 0.1, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СписокРасширенийБезопасныйРежимФлагПриИзмененииЗавершение()
|
||||
|
||||
Контекст = ТекущийКонтекст;
|
||||
|
||||
Попытка
|
||||
СписокРасширенийБезопасныйРежимФлагПриИзмененииНаСервере(Контекст.ИдентификаторСтроки);
|
||||
Исключение
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
ПодключитьОбработчикОжидания("СкрытьДлительнуюОперацию", 0.1, Истина);
|
||||
ПоказатьПредупреждение(, КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
Возврат;
|
||||
КонецПопытки;
|
||||
ПодключитьОбработчикОжидания("СкрытьДлительнуюОперацию", 0.1, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -895,14 +938,12 @@
|
||||
Если ИдентификаторыСтрок <> Неопределено Тогда
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось обновить расширение по причине:
|
||||
|
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(ИмяФайлаДобавляемогоРасширения) Тогда
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось добавить расширение ""%1""
|
||||
|из файла ""%2"" по причине:
|
||||
|
|
||||
|%3'"),
|
||||
ОписаниеРасширения.Имя,
|
||||
ИмяФайлаДобавляемогоРасширения,
|
||||
@@ -910,7 +951,6 @@
|
||||
Иначе
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось добавить по причине:
|
||||
|
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
КонецЕсли;
|
||||
КонецПопытки;
|
||||
@@ -923,7 +963,6 @@
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'После добавления, при подготовке расширений к работе, произошла ошибка:
|
||||
|
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
@@ -1000,34 +1039,69 @@
|
||||
Процедура СписокРасширенийБезопасныйРежимФлагПриИзмененииНаСервере(ИдентификаторСтроки)
|
||||
|
||||
СтрокаСписка = СписокРасширений.НайтиПоИдентификатору(ИдентификаторСтроки);
|
||||
|
||||
Если СтрокаСписка = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Расширение = НайтиРасширение(СтрокаСписка.ИдентификаторРасширения);
|
||||
|
||||
Если Расширение <> Неопределено Тогда
|
||||
Если Расширение = Неопределено
|
||||
Или Расширение.БезопасныйРежим = СтрокаСписка.БезопасныйРежимФлаг Тогда
|
||||
|
||||
Если Расширение.БезопасныйРежим <> СтрокаСписка.БезопасныйРежимФлаг Тогда
|
||||
Расширение.БезопасныйРежим = СтрокаСписка.БезопасныйРежимФлаг;
|
||||
ОбновитьСписок();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОтключитьПредупрежденияБезопасности(Расширение);
|
||||
ОтключитьИспользованиеОсновныхРолейДляВсехПользователей(Расширение);
|
||||
Попытка
|
||||
Расширение.Записать();
|
||||
Исключение
|
||||
СтрокаСписка.БезопасныйРежимФлаг = Не СтрокаСписка.БезопасныйРежимФлаг;
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
Расширение.БезопасныйРежим = СтрокаСписка.БезопасныйРежимФлаг;
|
||||
ОтключитьПредупрежденияБезопасности(Расширение);
|
||||
ОтключитьИспользованиеОсновныхРолейДляВсехПользователей(Расширение);
|
||||
Попытка
|
||||
Расширение.Записать();
|
||||
Исключение
|
||||
СтрокаСписка.БезопасныйРежимФлаг = Не СтрокаСписка.БезопасныйРежимФлаг;
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
СтрокаСписка.БезопасныйРежим = СтрокаСписка.БезопасныйРежимФлаг;
|
||||
Попытка
|
||||
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ОбновитьПараметрыРаботыРасширений();
|
||||
Исключение
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
Если Расширение.БезопасныйРежим Тогда
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'После включения безопасного режима, при подготовке расширений к работе, произошла ошибка:
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
Иначе
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'После отключения безопасного режима, при подготовке расширений к работе, произошла ошибка:
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
КонецЕсли;
|
||||
КонецПопытки;
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
ИнформацияОбОшибкеВосстановления = Неопределено;
|
||||
Попытка
|
||||
Расширение.БезопасныйРежим = Не Расширение.БезопасныйРежим;
|
||||
Расширение.Записать();
|
||||
Исключение
|
||||
ИнформацияОбОшибкеВосстановления = ИнформацияОбОшибке();
|
||||
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
|
||||
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'При попытке отменить изменение флажка безопасного режима расширения произошла еще одна ошибка:
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибкеВосстановления));
|
||||
КонецПопытки;
|
||||
Если ИнформацияОбОшибкеВосстановления = Неопределено Тогда
|
||||
СтрокаСписка.БезопасныйРежимФлаг = Расширение.БезопасныйРежим;
|
||||
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
|
||||
+ НСтр("ru = 'Отменено изменение флажка безопасного режима расширения.'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьСписок();
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
@@ -1060,32 +1134,69 @@
|
||||
Процедура СписокРасширенийПодключатьПриИзмененииНаСервере(ИдентификаторСтроки)
|
||||
|
||||
СтрокаСписка = СписокРасширений.НайтиПоИдентификатору(ИдентификаторСтроки);
|
||||
|
||||
Если СтрокаСписка = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Расширение = НайтиРасширение(СтрокаСписка.ИдентификаторРасширения);
|
||||
|
||||
Если Расширение <> Неопределено Тогда
|
||||
Если Расширение = Неопределено
|
||||
Или Расширение.Активно = СтрокаСписка.Подключать Тогда
|
||||
|
||||
Если Расширение.Активно <> СтрокаСписка.Подключать Тогда
|
||||
Расширение.Активно = СтрокаСписка.Подключать;
|
||||
ОбновитьСписок();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОтключитьПредупрежденияБезопасности(Расширение);
|
||||
ОтключитьИспользованиеОсновныхРолейДляВсехПользователей(Расширение);
|
||||
Попытка
|
||||
Расширение.Записать();
|
||||
Исключение
|
||||
СтрокаСписка.Подключать = Не СтрокаСписка.Подключать;
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
Расширение.Активно = СтрокаСписка.Подключать;
|
||||
ОтключитьПредупрежденияБезопасности(Расширение);
|
||||
ОтключитьИспользованиеОсновныхРолейДляВсехПользователей(Расширение);
|
||||
Попытка
|
||||
Расширение.Записать();
|
||||
Исключение
|
||||
СтрокаСписка.Подключать = Не СтрокаСписка.Подключать;
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
Попытка
|
||||
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ОбновитьПараметрыРаботыРасширений();
|
||||
Исключение
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
Если Расширение.Активно Тогда
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'После включения расширения, при подготовке расширений к работе, произошла ошибка:
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
Иначе
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'После отключения расширения, при подготовке расширений к работе, произошла ошибка:
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
КонецЕсли;
|
||||
КонецПопытки;
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
ИнформацияОбОшибкеВосстановления = Неопределено;
|
||||
Попытка
|
||||
Расширение.Активно = Не Расширение.Активно;
|
||||
Расширение.Записать();
|
||||
Исключение
|
||||
ИнформацияОбОшибкеВосстановления = ИнформацияОбОшибке();
|
||||
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
|
||||
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'При попытке отменить изменение флажка подключения расширения произошла еще одна ошибка:
|
||||
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибкеВосстановления));
|
||||
КонецПопытки;
|
||||
Если ИнформацияОбОшибкеВосстановления = Неопределено Тогда
|
||||
СтрокаСписка.Подключать = Расширение.Активно;
|
||||
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
|
||||
+ НСтр("ru = 'Отменено изменение флажка подключения расширения.'");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьСписок();
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
|
||||
@@ -60,9 +60,12 @@
|
||||
&НаКлиенте
|
||||
Процедура СписокПриложенийВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
|
||||
|
||||
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -79,8 +82,11 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.СписокПриложенийНачальнаяВыгрузкаДанных.Доступность =
|
||||
ТекущиеДанные.ДоступнаИнтерактивнаяОтправка И Не ТекущиеДанные.ЗапускОбменаИзКорреспондента;
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.СписокПриложенийВыполнитьСинхронизациюСДополнительнымиОтборами.Доступность =
|
||||
ТекущиеДанные.ДоступнаИнтерактивнаяОтправка И Не ТекущиеДанные.ЗапускОбменаИзКорреспондента;
|
||||
@@ -108,9 +114,10 @@
|
||||
&НаКлиенте
|
||||
Процедура НастроитьСценарииОбменаДанными(Команда)
|
||||
|
||||
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -128,9 +135,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ИзменитьУзелИнформационнойБазы(Команда)
|
||||
|
||||
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -162,9 +170,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ИнформацияПоОбмену(Команда)
|
||||
|
||||
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -184,9 +193,10 @@
|
||||
&НаКлиенте
|
||||
Процедура СоставОтправляемыхДанных(Команда)
|
||||
|
||||
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -205,9 +215,10 @@
|
||||
&НаКлиенте
|
||||
Процедура УдалитьНастройкуСинхронизации(Команда)
|
||||
|
||||
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -236,9 +247,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ЗагрузитьПравилаСинхронизацииДанных(Команда)
|
||||
|
||||
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -261,9 +273,10 @@
|
||||
&НаКлиенте
|
||||
Процедура НачальнаяВыгрузкаДанных(Команда)
|
||||
|
||||
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -286,6 +299,9 @@
|
||||
ПараметрыПомощника.Вставить("УзелОбмена", ТекущиеДанные.УзелИнформационнойБазы);
|
||||
ПараметрыПомощника.Вставить("ЭтоОбменСПриложениемВСервисе", ТекущиеДанные.ЭтоОбменСПриложениемВСервисе);
|
||||
ПараметрыПомощника.Вставить("ОбластьДанныхКорреспондента", ТекущиеДанные.ОбластьДанных);
|
||||
Если ДанныеДляЗавершенияНастройки.ПассивноеПодключение Тогда
|
||||
ПараметрыПомощника.Вставить("НачальнаяВыгрузка", Истина);
|
||||
КонецЕсли;
|
||||
|
||||
ОповещениеОЗакрытии = Новый ОписаниеОповещения("НачальнаяВыгрузкаДанныхЗавершение", ЭтотОбъект);
|
||||
ОткрытьФорму("Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.ВыгрузкаДанныхДляСопоставления",
|
||||
@@ -522,9 +538,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаКомандыВыполненияСинхронизации(ИспользоватьДопОтборы = Ложь)
|
||||
|
||||
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -678,11 +695,22 @@
|
||||
ОписаниеВариантаНастройки.НаименованиеКорреспондента = ЗначенияНастроекДляВарианта.НаименованиеКонфигурацииКорреспондента;
|
||||
КонецЕсли;
|
||||
|
||||
НомераСообщений = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СтрокаПриложение.УзелИнформационнойБазы, "НомерПринятого, НомерОтправленного");
|
||||
ВидТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.ВидТранспортаСообщенийОбменаПоУмолчанию(СтрокаПриложение.УзелИнформационнойБазы);
|
||||
|
||||
Если Не ЗначениеЗаполнено(ВидТранспорта) Тогда
|
||||
ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим;
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеДляЗавершенияНастройки = Новый Структура;
|
||||
ДанныеДляЗавершенияНастройки.Вставить("ИдентификаторНастройки", ИдентификаторНастройки);
|
||||
ДанныеДляЗавершенияНастройки.Вставить("ОписаниеВариантаНастройки", ОписаниеВариантаНастройки);
|
||||
ДанныеДляЗавершенияНастройки.Вставить("ПассивноеПодключение", ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим);
|
||||
|
||||
Возврат ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(СтрокаПриложение.УзелИнформационнойБазы);
|
||||
Возврат ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(СтрокаПриложение.УзелИнформационнойБазы)
|
||||
И Не (НомераСообщений.НомерПринятого = 0
|
||||
И НомераСообщений.НомерОтправленного = 0
|
||||
И ОбменДаннымиСервер.ПолученоСообщениеСДаннымиДляСопоставления(СтрокаПриложение.УзелИнформационнойБазы));
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -698,12 +726,35 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция УзелОбменаСуществует(УзелОбмена)
|
||||
|
||||
Возврат ОбщегоНазначения.СсылкаСуществует(УзелОбмена);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПерейтиВЖурналРегистрацииСобытий(ДействиеПриОбмене)
|
||||
Функция ТекущиеДанныеСпискаПриложений()
|
||||
|
||||
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
|
||||
|
||||
Если ТекущиеДанные <> Неопределено Тогда
|
||||
Если Не УзелОбменаСуществует(ТекущиеДанные.УзелИнформационнойБазы) Тогда
|
||||
ТекущиеДанные = Неопределено;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТекущиеДанные;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПерейтиВЖурналРегистрацииСобытий(ДействиеПриОбмене)
|
||||
|
||||
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
|
||||
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ОбновитьДанныеМонитораИнтерактивно();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -3870,7 +3870,8 @@
|
||||
ПредставлениеПолей = Новый Массив;
|
||||
|
||||
Для Каждого Элемент Из Поля.Элементы Цикл
|
||||
Если ТипЗнч(Элемент) = Тип("АвтоПолеГруппировкиКомпоновкиДанных") Тогда
|
||||
Если Не Элемент.Использование
|
||||
Или ТипЗнч(Элемент) = Тип("АвтоПолеГруппировкиКомпоновкиДанных") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -6526,7 +6527,8 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ДоступныеПоля.НайтиПоле(ЭлементНастройки.ЛевоеЗначение) <> Неопределено Тогда
|
||||
Если ТипЗнч(ЭлементНастройки.ЛевоеЗначение) <> Тип("ПолеКомпоновкиДанных")
|
||||
Или ДоступныеПоля.НайтиПоле(ЭлементНастройки.ЛевоеЗначение) <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -6167,6 +6167,10 @@
|
||||
Сжатие = Новый СжатиеДанных(9);
|
||||
ФайлЗагрузки = ФайлЗагрузкиСубъектаРФ(КодСубъектаРФ, КаталогФайлов, "STEAD", "Steads");
|
||||
|
||||
Если ФайлЗагрузки = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекущаяЗапись = ФайлЗагрузки.ФайлЧтения;
|
||||
|
||||
Набор = РегистрыСведений.ЗемельныеУчастки.СоздатьНаборЗаписей();
|
||||
@@ -6224,6 +6228,7 @@
|
||||
|
||||
Сжатие = Новый СжатиеДанных(9);
|
||||
ФайлЗагрузки = ФайлЗагрузкиСубъектаРФ(КодСубъектаРФ, КаталогФайлов, "LINK", "Links");
|
||||
|
||||
Если ФайлЗагрузки = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -6298,6 +6303,10 @@
|
||||
|
||||
ФайлЗагрузки = ФайлЗагрузкиСубъектаРФ(КодСубъектаРФ, КаталогФайлов, ИмяФайла, "AdditionalAddressInfo");
|
||||
|
||||
Если ФайлЗагрузки = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекущаяЗапись = ФайлЗагрузки.ФайлЧтения;
|
||||
|
||||
Пока ТекущаяЗапись.Прочитать() Цикл
|
||||
@@ -6412,6 +6421,10 @@
|
||||
Набор.Отбор.КодСубъектаРФ.Установить(КодСубъектаРФ);
|
||||
ФайлЗагрузки = ФайлЗагрузкиСубъектаРФ(КодСубъектаРФ, КаталогФайлов, "ARCHDOCS", "RegulatoryDocs");
|
||||
|
||||
Если ФайлЗагрузки = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекущаяЗапись = ФайлЗагрузки.ФайлЧтения;
|
||||
Пока ТекущаяЗапись.Прочитать() Цикл
|
||||
|
||||
|
||||
@@ -514,26 +514,31 @@
|
||||
Иначе
|
||||
|
||||
Для Каждого ЭлементСписка Из СписокОграничений Цикл
|
||||
|
||||
Если Не ПустаяСтрока(Ограничение) Тогда
|
||||
Ограничение = Ограничение + ", ";
|
||||
КонецЕсли;
|
||||
|
||||
Если (ВРег(ИмяОграничения) = ВРег("Сеанс")
|
||||
ИЛИ ВРег(ИмяОграничения) = ВРег("Уровень"))
|
||||
И ПустаяСтрока(Ограничение) Тогда
|
||||
|
||||
Ограничение = НСтр("ru = '[ИмяОграничения]: [Значение]'");
|
||||
Ограничение = СтрЗаменить(Ограничение, "[Значение]", ЭлементСписка.Значение);
|
||||
Ограничение = СтрЗаменить(Ограничение, "[ИмяОграничения]", ИмяОграничения);
|
||||
|
||||
ИначеЕсли ВРег(ИмяОграничения) = ВРег("Сеанс")
|
||||
ИЛИ ВРег(ИмяОграничения) = ВРег("Уровень")Тогда
|
||||
Ограничение = Ограничение + ЭлементСписка.Значение;
|
||||
Если Не ЗначениеЗаполнено(ЭлементСписка.Представление) Тогда
|
||||
ЗначениеОграничения = ЭлементСписка.Значение;
|
||||
Иначе
|
||||
Ограничение = Ограничение + ЭлементСписка.Представление;
|
||||
ЗначениеОграничения = ЭлементСписка.Представление;
|
||||
КонецЕсли;
|
||||
|
||||
Если (ВРег(ИмяОграничения) = ВРег("Сеанс")
|
||||
ИЛИ ВРег(ИмяОграничения) = ВРег("Уровень"))
|
||||
И ПустаяСтрока(Ограничение) Тогда
|
||||
|
||||
Если ИмяОграничения = "Сеанс" Тогда
|
||||
ПредставлениеОграничения = НСтр("ru = 'Сеанс'");
|
||||
Иначе
|
||||
ПредставлениеОграничения = НСтр("ru = 'Уровень'");
|
||||
КонецЕсли;
|
||||
|
||||
Ограничение = НСтр("ru = '%1: %2'");
|
||||
Ограничение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Ограничение, ПредставлениеОграничения, ЗначениеОграничения);
|
||||
Иначе
|
||||
Ограничение = Ограничение + ЗначениеОграничения;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2399,11 +2399,6 @@
|
||||
|
||||
ОбновлениеИнформационнойБазыСлужебный.ПриДобавленииОбработчиковОбновления(Обработчики);
|
||||
|
||||
Если ИнтеграцияПодсистемБСППовтИсп.ПодпискиБТС().ПриДобавленииОбработчиковОбновления Тогда
|
||||
МодульИнтеграцияПодсистемБТС = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБТС");
|
||||
МодульИнтеграцияПодсистемБТС.ПриДобавленииОбработчиковОбновления(Обработчики);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОценкаПроизводительности") Тогда
|
||||
МодульОценкаПроизводительностиСлужебный = ОбщегоНазначения.ОбщийМодуль("ОценкаПроизводительностиСлужебный");
|
||||
МодульОценкаПроизводительностиСлужебный.ПриДобавленииОбработчиковОбновления(Обработчики);
|
||||
@@ -2483,11 +2478,6 @@
|
||||
МодульЭлектроннаяПодписьСлужебный.ПриДобавленииОбработчиковОбновления(Обработчики);
|
||||
КонецЕсли;
|
||||
|
||||
Если ИнтеграцияПодсистемБСППовтИсп.ПодпискиБИП().ПриДобавленииОбработчиковОбновления Тогда
|
||||
МодульИнтеграцияПодсистемБИП = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияПодсистемБИП");
|
||||
МодульИнтеграцияПодсистемБИП.ПриДобавленииОбработчиковОбновления(Обработчики);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ОбновлениеИнформационнойБазыБСП.ПослеОбновленияИнформационнойБазы.
|
||||
@@ -4430,7 +4420,6 @@
|
||||
События.Вставить("ПриНастройкеПодчиненногоУзлаРИБ", Ложь);
|
||||
|
||||
//ОбновлениеВерсииИБ
|
||||
События.Вставить("ПриДобавленииОбработчиковОбновления", Ложь);
|
||||
События.Вставить("ПослеОбновленияИнформационнойБазы", Ложь);
|
||||
События.Вставить("ПриПолученииПриоритетаОбновления", Ложь);
|
||||
|
||||
|
||||
@@ -211,7 +211,26 @@
|
||||
ПараметрыПодключения = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(
|
||||
УзелИнформационнойБазы, ПараметрыАутентификации);
|
||||
|
||||
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
|
||||
ВерсииИнтерфейса = ОбменДаннымиПовтИсп.ВерсииКорреспондента(ПараметрыПодключения);
|
||||
|
||||
WSПрокси = Неопределено;
|
||||
Если ВерсииИнтерфейса.Найти("3.0.1.1") <> Неопределено Тогда
|
||||
|
||||
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_3_0_1_1(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
|
||||
|
||||
ИначеЕсли ВерсииИнтерфейса.Найти("2.1.1.7") <> Неопределено Тогда
|
||||
|
||||
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_2_1_1_7(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
|
||||
|
||||
ИначеЕсли ВерсииИнтерфейса.Найти("2.0.1.6") <> Неопределено Тогда
|
||||
|
||||
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_2_0_1_6(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
|
||||
|
||||
Иначе
|
||||
|
||||
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если WSПрокси = Неопределено Тогда
|
||||
ВызватьИсключение СтрокаСообщенияОбОшибке;
|
||||
|
||||
@@ -2673,7 +2673,14 @@
|
||||
|
||||
Результат.ПрефиксИнформационнойБазы = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");
|
||||
Результат.ПрефиксИнформационнойБазыПоУмолчанию = ПрефиксИнформационнойБазы;
|
||||
Результат.НаименованиеИнформационнойБазы = СвойстваЭтогоУзла.Наименование;
|
||||
|
||||
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
Результат.НаименованиеИнформационнойБазы = Константы.ЗаголовокСистемы.Получить();
|
||||
КонецЕсли;
|
||||
Если ПустаяСтрока(Результат.НаименованиеИнформационнойБазы) Тогда
|
||||
Результат.НаименованиеИнформационнойБазы = СвойстваЭтогоУзла.Наименование;
|
||||
КонецЕсли;
|
||||
|
||||
Результат.УзелСуществует = ЗначениеЗаполнено(УзелКорреспондента);
|
||||
Результат.НастройкиПараметровУчетаЗаданы = Результат.УзелСуществует
|
||||
И НастройкиПараметровУчетаВСистемеУстановлены(Результат.ИмяПланаОбмена, КодУзла, СообщениеОбОшибке);
|
||||
@@ -3845,6 +3852,11 @@
|
||||
// См. ОбновлениеИнформационнойБазыБСП.ПриДобавленииОбработчиковОбновления.
|
||||
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.НачальноеЗаполнение = Истина;
|
||||
Обработчик.Процедура = "ОбменДаннымиСервер.УстановитьКоличествоЭлементовВТранзакцииЗагрузкиДанныхПоУмолчанию";
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "*";
|
||||
Обработчик.Процедура = "ОбменДаннымиСервер.УстановитьКодыПредопределенныхУзлов";
|
||||
@@ -3915,6 +3927,12 @@
|
||||
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
|
||||
Обработчик.БлокируемыеОбъекты = "РегистрСведений.УдалитьРезультатыОбменаДанными,РегистрСведений.РезультатыОбменаДанными";
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "3.1.2.172";
|
||||
Обработчик.Процедура = "ОбменДаннымиСервер.УстановитьКоличествоЭлементовВТранзакцииЗагрузкиДанныхПоУмолчанию";
|
||||
Обработчик.РежимВыполнения = "Оперативно";
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ОбновлениеИнформационнойБазыБСП.ПередОбновлениемИнформационнойБазы.
|
||||
@@ -4109,99 +4127,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
Процедура УстановитьКодыПредопределенныхУзлов() Экспорт
|
||||
|
||||
КодИзМоделиСервиса = "";
|
||||
Если ОбщегоНазначения.РазделениеВключено()
|
||||
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
|
||||
|
||||
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
|
||||
МодульОбменДаннымиВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиВМоделиСервиса");
|
||||
|
||||
КодИзМоделиСервиса = СокрЛП(МодульОбменДаннымиВМоделиСервиса.КодУзлаПланаОбменаВСервисе(МодульРаботаВМоделиСервиса.ЗначениеРазделителяСеанса()));
|
||||
КонецЕсли;
|
||||
|
||||
КоллекцияУзлов = Новый Массив;
|
||||
Для Каждого УзелСсылка Из ПредопределенныеУзлыПлановОбменаБСП() Цикл
|
||||
Если Не ЭтоПланОбменаXDTO(УзелСсылка) Тогда
|
||||
Продолжить;
|
||||
ИначеЕсли Не ОбменДаннымиXDTOСервер.ПоддерживаетсяВерсияСИдентификаторомОбменаДанными(УзелСсылка) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КоллекцияУзлов.Добавить(УзелСсылка);
|
||||
КонецЦикла;
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
Для Каждого УзелСсылка Из КоллекцияУзлов Цикл
|
||||
ЭлементБлокировки = Блокировка.Добавить(ОбщегоНазначения.ИмяТаблицыПоСсылке(УзелСсылка));
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", УзелСсылка);
|
||||
КонецЦикла;
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
ВиртуальныеКоды = РегистрыСведений.ПсевдонимыПредопределенныхУзлов.СоздатьНаборЗаписей();
|
||||
|
||||
Для Каждого УзелСсылка Из КоллекцияУзлов Цикл
|
||||
|
||||
КодПредопределенногоУзла = СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(УзелСсылка, "Код"));
|
||||
Если Не ЗначениеЗаполнено(КодПредопределенногоУзла)
|
||||
// Не был выполнен переход на новую кодировку узлов.
|
||||
Или СтрДлина(КодПредопределенногоУзла) < 36
|
||||
// Требуется перекодировка в связи с тем, что код сформирован по логике БТС.
|
||||
Или КодПредопределенногоУзла = КодИзМоделиСервиса Тогда
|
||||
|
||||
УникальныйИдентификаторОбменаДанными = Строка(Новый УникальныйИдентификатор);
|
||||
|
||||
ЗаблокироватьДанныеДляРедактирования(УзелСсылка);
|
||||
УзелОбъект = УзелСсылка.ПолучитьОбъект();
|
||||
|
||||
УзелОбъект.Код = УникальныйИдентификаторОбменаДанными;
|
||||
УзелОбъект.ОбменДанными.Загрузка = Истина;
|
||||
УзелОбъект.Записать();
|
||||
|
||||
Если ЗначениеЗаполнено(КодПредопределенногоУзла) Тогда
|
||||
// Сохранение предыдущего кода узла в регистре виртуальных кодов.
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ
|
||||
| Т.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| #ТаблицаПланаОбмена КАК Т
|
||||
|ГДЕ
|
||||
| НЕ Т.ЭтотУзел
|
||||
| И НЕ Т.ПометкаУдаления";
|
||||
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
|
||||
"#ТаблицаПланаОбмена", "ПланОбмена." + ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелСсылка));
|
||||
|
||||
Запрос = Новый Запрос(ТекстЗапроса);
|
||||
|
||||
КорреспондентыПланаОбмена = Запрос.Выполнить().Выбрать();
|
||||
Пока КорреспондентыПланаОбмена.Следующий() Цикл
|
||||
ВиртуальныйКод = ВиртуальныеКоды.Добавить();
|
||||
ВиртуальныйКод.Корреспондент = КорреспондентыПланаОбмена.Ссылка;
|
||||
ВиртуальныйКод.КодУзла = КодПредопределенногоУзла;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ВиртуальныеКоды.Количество() > 0 Тогда
|
||||
ВиртуальныеКоды.Записать();
|
||||
КонецЕсли;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ОчередьЗаданийПереопределяемый.ПриОпределенииПсевдонимовОбработчиков.
|
||||
Процедура ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам) Экспорт
|
||||
|
||||
@@ -4209,7 +4134,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ФункцииСвойства
|
||||
@@ -4666,6 +4590,107 @@
|
||||
|
||||
#Область ОбновлениеИнформационнойБазы
|
||||
|
||||
Процедура УстановитьКоличествоЭлементовВТранзакцииЗагрузкиДанныхПоУмолчанию() Экспорт
|
||||
|
||||
Если Не ОбщегоНазначения.РазделениеВключено()
|
||||
И КоличествоЭлементовВТранзакцииЗагрузкиДанных() = 0 Тогда
|
||||
УстановитьКоличествоЭлементовВТранзакцииЗагрузкиДанных(1);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьКодыПредопределенныхУзлов() Экспорт
|
||||
|
||||
КодИзМоделиСервиса = "";
|
||||
Если ОбщегоНазначения.РазделениеВключено()
|
||||
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда
|
||||
|
||||
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
|
||||
МодульОбменДаннымиВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиВМоделиСервиса");
|
||||
|
||||
КодИзМоделиСервиса = СокрЛП(МодульОбменДаннымиВМоделиСервиса.КодУзлаПланаОбменаВСервисе(МодульРаботаВМоделиСервиса.ЗначениеРазделителяСеанса()));
|
||||
КонецЕсли;
|
||||
|
||||
КоллекцияУзлов = Новый Массив;
|
||||
Для Каждого УзелСсылка Из ПредопределенныеУзлыПлановОбменаБСП() Цикл
|
||||
Если Не ЭтоПланОбменаXDTO(УзелСсылка) Тогда
|
||||
Продолжить;
|
||||
ИначеЕсли Не ОбменДаннымиXDTOСервер.ПоддерживаетсяВерсияСИдентификаторомОбменаДанными(УзелСсылка) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КоллекцияУзлов.Добавить(УзелСсылка);
|
||||
КонецЦикла;
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
Для Каждого УзелСсылка Из КоллекцияУзлов Цикл
|
||||
ЭлементБлокировки = Блокировка.Добавить(ОбщегоНазначения.ИмяТаблицыПоСсылке(УзелСсылка));
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", УзелСсылка);
|
||||
КонецЦикла;
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
ВиртуальныеКоды = РегистрыСведений.ПсевдонимыПредопределенныхУзлов.СоздатьНаборЗаписей();
|
||||
|
||||
Для Каждого УзелСсылка Из КоллекцияУзлов Цикл
|
||||
|
||||
КодПредопределенногоУзла = СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(УзелСсылка, "Код"));
|
||||
Если Не ЗначениеЗаполнено(КодПредопределенногоУзла)
|
||||
// Не был выполнен переход на новую кодировку узлов.
|
||||
Или СтрДлина(КодПредопределенногоУзла) < 36
|
||||
// Требуется перекодировка в связи с тем, что код сформирован по логике БТС.
|
||||
Или КодПредопределенногоУзла = КодИзМоделиСервиса Тогда
|
||||
|
||||
УникальныйИдентификаторОбменаДанными = Строка(Новый УникальныйИдентификатор);
|
||||
|
||||
ЗаблокироватьДанныеДляРедактирования(УзелСсылка);
|
||||
УзелОбъект = УзелСсылка.ПолучитьОбъект();
|
||||
|
||||
УзелОбъект.Код = УникальныйИдентификаторОбменаДанными;
|
||||
УзелОбъект.ОбменДанными.Загрузка = Истина;
|
||||
УзелОбъект.Записать();
|
||||
|
||||
Если ЗначениеЗаполнено(КодПредопределенногоУзла) Тогда
|
||||
// Сохранение предыдущего кода узла в регистре виртуальных кодов.
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ
|
||||
| Т.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| #ТаблицаПланаОбмена КАК Т
|
||||
|ГДЕ
|
||||
| НЕ Т.ЭтотУзел
|
||||
| И НЕ Т.ПометкаУдаления";
|
||||
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,
|
||||
"#ТаблицаПланаОбмена", "ПланОбмена." + ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелСсылка));
|
||||
|
||||
Запрос = Новый Запрос(ТекстЗапроса);
|
||||
|
||||
КорреспондентыПланаОбмена = Запрос.Выполнить().Выбрать();
|
||||
Пока КорреспондентыПланаОбмена.Следующий() Цикл
|
||||
ВиртуальныйКод = ВиртуальныеКоды.Добавить();
|
||||
ВиртуальныйКод.Корреспондент = КорреспондентыПланаОбмена.Ссылка;
|
||||
ВиртуальныйКод.КодУзла = КодПредопределенногоУзла;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ВиртуальныеКоды.Количество() > 0 Тогда
|
||||
ВиртуальныеКоды.Записать();
|
||||
КонецЕсли;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Удаляет роль НастройкаСинхронизацииДанных из всех профилей, в которые она входит.
|
||||
Процедура УдалитьРольНастройкаСинхронизацииДанных() Экспорт
|
||||
|
||||
@@ -11277,34 +11302,29 @@
|
||||
//
|
||||
Функция РаспаковатьZipФайл(Знач ПолноеИмяФайлаАрхива, Знач ПутьРаспаковкиФайлов, Знач ПарольАрхива = "") Экспорт
|
||||
|
||||
// Возвращаемое значение функции.
|
||||
Результат = Истина;
|
||||
|
||||
Архиватор = Неопределено;
|
||||
Попытка
|
||||
|
||||
Архиватор = Новый ЧтениеZipФайла(ПолноеИмяФайлаАрхива, ПарольАрхива);
|
||||
|
||||
Исключение
|
||||
Архиватор = Неопределено;
|
||||
СообщитьОбОшибке(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат Ложь;
|
||||
КонецПопытки;
|
||||
|
||||
Попытка
|
||||
|
||||
Архиватор.ИзвлечьВсе(ПутьРаспаковкиФайлов, РежимВосстановленияПутейФайловZIP.НеВосстанавливать);
|
||||
|
||||
Исключение
|
||||
ИнформацияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Ошибка при распаковке файлов архива ""%1"" в каталог ""%2"" по причине:
|
||||
|%3'"),
|
||||
ПолноеИмяФайлаАрхива,
|
||||
ПутьРаспаковкиФайлов,
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
|
||||
СтрокаСообщения = НСтр("ru = 'Ошибка при распаковке файлов архива: %1 в каталог: %2'");
|
||||
СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, ПолноеИмяФайлаАрхива, ПутьРаспаковкиФайлов);
|
||||
ОбщегоНазначения.СообщитьПользователю(СтрокаСообщения);
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииОбменДанными(),
|
||||
УровеньЖурналаРегистрации.Ошибка, , , ИнформацияОбОшибке);
|
||||
|
||||
Результат = Ложь;
|
||||
КонецПопытки;
|
||||
|
||||
Архиватор.Закрыть();
|
||||
Архиватор = Неопределено;
|
||||
Если Архиватор <> Неопределено Тогда
|
||||
Архиватор.Закрыть();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -11882,7 +11902,7 @@
|
||||
Процедура ЗаполнитьИдентификаторыСсылокВДереве(СтрокиДерева)
|
||||
|
||||
Для Каждого Строка Из СтрокиДерева Цикл
|
||||
Строка.Идентификатор = XMLСтрока(Строка.Ссылка);
|
||||
Строка.Идентификатор = ЗначениеВСтрокуВнутр(Строка.Ссылка);
|
||||
ЗаполнитьИдентификаторыСсылокВДереве(Строка.Строки);
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -3488,6 +3488,7 @@
|
||||
СсылкаНаОбъект = ЭлементДанных.Ссылка;
|
||||
СсылкаСуществует = ОбщегоНазначения.СсылкаСуществует(СсылкаНаОбъект);
|
||||
|
||||
ТипВерсииОбъекта = "";
|
||||
Если СсылкаСуществует Тогда
|
||||
|
||||
ОбъектВБазе = СсылкаНаОбъект.ПолучитьОбъект();
|
||||
@@ -3521,6 +3522,12 @@
|
||||
СведенияОВерсииОбъекта.Вставить("ТипВерсииОбъекта", ТипВерсииОбъекта);
|
||||
СведенияОВерсииОбъекта.Вставить("Комментарий", СтрокаСообщенияОбОшибке);
|
||||
|
||||
Если ОбщегоНазначения.ЭтоДокумент(ЭлементДанных.Метаданные())
|
||||
И ТипВерсииОбъекта = "НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе" Тогда
|
||||
СвойствоПроведен = Новый Структура("Проведен", Ложь);
|
||||
ЗаполнитьЗначенияСвойств(ЭлементДанных, СвойствоПроведен);
|
||||
КонецЕсли;
|
||||
|
||||
ПриСозданииВерсииОбъекта(ЭлементДанных, СведенияОВерсииОбъекта, СсылкаСуществует, Отправитель);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.1.2.166";
|
||||
Описание.Версия = "3.1.2.176";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -468,20 +468,21 @@
|
||||
КаталогСкрипта = "";
|
||||
|
||||
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
|
||||
|
||||
СтатусОбновления = Константы.СтатусОбновленияКонфигурации.Получить().Получить();
|
||||
Если СтатусОбновления <> Неопределено
|
||||
И СтатусОбновления.Свойство("КаталогСкрипта") Тогда
|
||||
|
||||
СтатусОбновления = СтатусОбновленияКонфигурации();
|
||||
Если СтатусОбновления <> Неопределено И СтатусОбновления.Свойство("КаталогСкрипта") Тогда
|
||||
КаталогСкрипта = СтатусОбновления.КаталогСкрипта;
|
||||
КонецЕсли;
|
||||
|
||||
СтатусОбновления.КаталогСкрипта = "";
|
||||
УстановитьСтатусОбновленияКонфигурации(СтатусОбновления);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
// Если каталог уже удален - то считаем, что поведение как при обычном обновлении из конфигуратора.
|
||||
ФайлИнфо = Новый Файл(КаталогСкрипта);
|
||||
Если Не ФайлИнфо.Существует() Тогда
|
||||
КаталогСкрипта = "";
|
||||
Если Не ПустаяСтрока(КаталогСкрипта) Тогда
|
||||
// Если каталог уже удален, то считаем, что поведение как при обычном обновлении из конфигуратора.
|
||||
ФайлИнфо = Новый Файл(КаталогСкрипта);
|
||||
Если Не ФайлИнфо.Существует() Тогда
|
||||
КаталогСкрипта = "";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат КаталогСкрипта;
|
||||
@@ -543,11 +544,7 @@
|
||||
Результат = УстановкаИУдалениеИсправлений(Исправления);
|
||||
Результат.Вставить("ВсегоПатчей", УстанавливаемыеИсправления.Количество());
|
||||
|
||||
ЗначениеХранилища = Константы.СтатусОбновленияКонфигурации.Получить();
|
||||
Если ЗначениеХранилища = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Статус = ЗначениеХранилища.Получить();
|
||||
Статус = СтатусОбновленияКонфигурации();
|
||||
Если Статус = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -555,7 +552,7 @@
|
||||
Статус.Вставить("РезультатУстановкиПатчей");
|
||||
КонецЕсли;
|
||||
Статус.РезультатУстановкиПатчей = Результат;
|
||||
Константы.СтатусОбновленияКонфигурации.Установить(Новый ХранилищеЗначения(Статус));
|
||||
УстановитьСтатусОбновленияКонфигурации(Статус);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -569,18 +566,12 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеХранилища = Константы.СтатусОбновленияКонфигурации.Получить();
|
||||
|
||||
Статус = Неопределено;
|
||||
Если ЗначениеХранилища <> Неопределено Тогда
|
||||
Статус = ЗначениеХранилища.Получить();
|
||||
КонецЕсли;
|
||||
|
||||
Статус = СтатусОбновленияКонфигурации();
|
||||
Если Статус <> Неопределено И Статус.ОбновлениеВыполнено И Статус.РезультатОбновленияКонфигурации <> Неопределено
|
||||
И Не Статус.РезультатОбновленияКонфигурации Тогда
|
||||
|
||||
Статус.РезультатОбновленияКонфигурации = Истина;
|
||||
Константы.СтатусОбновленияКонфигурации.Установить(Новый ХранилищеЗначения(Статус));
|
||||
УстановитьСтатусОбновленияКонфигурации(Статус);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -639,13 +630,7 @@
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеХранилища = Константы.СтатусОбновленияКонфигурации.Получить();
|
||||
|
||||
Статус = Неопределено;
|
||||
Если ЗначениеХранилища <> Неопределено Тогда
|
||||
Статус = ЗначениеХранилища.Получить();
|
||||
КонецЕсли;
|
||||
|
||||
Статус = СтатусОбновленияКонфигурации();
|
||||
Если Статус = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
@@ -682,24 +667,20 @@
|
||||
Статус.Вставить("КаталогСкрипта", КаталогСкрипта);
|
||||
Статус.Вставить("РезультатУстановкиПатчей", Неопределено);
|
||||
|
||||
ЗначениеХранилища = Константы.СтатусОбновленияКонфигурации.Получить();
|
||||
СтарыйСтатус = Неопределено;
|
||||
Если ЗначениеХранилища <> Неопределено Тогда
|
||||
СтарыйСтатус = ЗначениеХранилища.Получить();
|
||||
КонецЕсли;
|
||||
СтарыйСтатус = СтатусОбновленияКонфигурации();
|
||||
Если СтарыйСтатус <> Неопределено
|
||||
И СтарыйСтатус.Свойство("РезультатУстановкиПатчей")
|
||||
И СтарыйСтатус.РезультатУстановкиПатчей <> Неопределено Тогда
|
||||
Статус.РезультатУстановкиПатчей = СтарыйСтатус.РезультатУстановкиПатчей;
|
||||
КонецЕсли;
|
||||
|
||||
Константы.СтатусОбновленияКонфигурации.Установить(Новый ХранилищеЗначения(Статус));
|
||||
УстановитьСтатусОбновленияКонфигурации(Статус);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СброситьСтатусОбновленияКонфигурации() Экспорт
|
||||
|
||||
Константы.СтатусОбновленияКонфигурации.Установить(Новый ХранилищеЗначения(Неопределено));
|
||||
УстановитьСтатусОбновленияКонфигурации(Неопределено);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -854,7 +835,9 @@
|
||||
ФайловаяСистема.УдалитьВременныйКаталог(ВременныйКаталог);
|
||||
Исключение
|
||||
ФайловаяСистема.УдалитьВременныйФайл(ИмяАрхива);
|
||||
ФайловаяСистема.УдалитьВременныйКаталог(ВременныйКаталог);
|
||||
Если ИсправлениеНайдено Тогда
|
||||
ФайловаяСистема.УдалитьВременныйКаталог(ВременныйКаталог);
|
||||
КонецЕсли;
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
@@ -961,4 +944,20 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтатусОбновленияКонфигурации()
|
||||
|
||||
ЗначениеХранилища = Константы.СтатусОбновленияКонфигурации.Получить();
|
||||
Если ЗначениеХранилища = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
Возврат ЗначениеХранилища.Получить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция УстановитьСтатусОбновленияКонфигурации(Знач Статус)
|
||||
|
||||
Константы.СтатусОбновленияКонфигурации.Установить(Новый ХранилищеЗначения(Статус));
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -16,8 +16,6 @@
|
||||
Функция НаличиеАктивныхСоединений(СообщенияДляЖурналаРегистрации = Неопределено) Экспорт
|
||||
|
||||
ВыполнитьПроверкуПравДоступа("Администрирование", Метаданные);
|
||||
|
||||
// Запись накопленных событий ЖР.
|
||||
ЖурналРегистрации.ЗаписатьСобытияВЖурналРегистрации(СообщенияДляЖурналаРегистрации);
|
||||
Возврат СоединенияИБ.КоличествоСеансовИнформационнойБазы(Ложь, Ложь) > 1;
|
||||
КонецФункции
|
||||
@@ -43,7 +41,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ТекстыМакетов(ИнтерактивныйРежим, СообщенияДляЖурналаРегистрации, ВыполнитьОтложенныеОбработчики, ЭтоОтложенноеОбновление) Экспорт
|
||||
Функция ТекстыМакетов(СообщенияДляЖурналаРегистрации, ИнтерактивныйРежим, ВыполнитьОтложенныеОбработчики, ЭтоОтложенноеОбновление) Экспорт
|
||||
|
||||
ВыполнитьПроверкуПравДоступа("Администрирование", Метаданные);
|
||||
|
||||
@@ -61,6 +59,10 @@
|
||||
ТекстыМакетов[СвойстваМакета.Ключ] = Обработки.УстановкаОбновлений.ПолучитьМакет(СвойстваМакета.Ключ).ПолучитьТекст();
|
||||
КонецЦикла;
|
||||
|
||||
Если ИнтерактивныйРежим Тогда
|
||||
ТекстыМакетов.ЗаставкаОбновленияКонфигурации = СформироватьТекстЗаставки(ТекстыМакетов.ЗаставкаОбновленияКонфигурации);
|
||||
КонецЕсли;
|
||||
|
||||
// Файл обновления конфигурации: main.js.
|
||||
ШаблонСкрипта = Обработки.УстановкаОбновлений.ПолучитьМакет("МакетФайлаОбновленияКонфигурации");
|
||||
|
||||
@@ -82,6 +84,44 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СформироватьТекстЗаставки(Знач ШаблонТекста)
|
||||
|
||||
ПараметрыТекста = Новый Соответствие;
|
||||
ПараметрыТекста["[ЗаголовокЗаставки]"] = НСтр("ru = 'Обновление конфигурации ""1С:Предприятие""...'");
|
||||
ПараметрыТекста["[ТекстЗаставки]"] = НСтр("ru = 'Пожалуйста, подождите.
|
||||
|<br/> Выполняется обновление конфигурации.'");
|
||||
ПараметрыТекста["[Шаг1Инициализация]"] = НСтр("ru = 'Инициализация'");
|
||||
ПараметрыТекста["[Шаг2ЗавершениеРаботы]"] = НСтр("ru = 'Завершение работы пользователей'");
|
||||
ПараметрыТекста["[Шаг3СозданиеРезервнойКопии]"] = НСтр("ru = 'Создание резервной копии информационной базы'");
|
||||
ПараметрыТекста["[Шаг4ОбновлениеКонфигурации]"] = НСтр("ru = 'Обновление конфигурации информационной базы'");
|
||||
ПараметрыТекста["[Шаг5ОбновлениеИБ]"] = НСтр("ru = 'Выполнение обработчиков обновления'");
|
||||
ПараметрыТекста["[Шаг6ОтложенноеОбновление]"] = НСтр("ru = 'Выполнение отложенных обработчиков обновления'");
|
||||
ПараметрыТекста["[Шаг7СжатиеТаблиц]"] = НСтр("ru = 'Сжатие таблиц информационной базы'");
|
||||
ПараметрыТекста["[Шаг8РазрешениеПодключений]"] = НСтр("ru = 'Разрешение подключения новых соединений'");
|
||||
ПараметрыТекста["[Шаг9Завершение]"] = НСтр("ru = 'Завершение'");
|
||||
ПараметрыТекста["[Шаг10Восстановление]"] = НСтр("ru = 'Восстановление информационной базы'");
|
||||
|
||||
ПараметрыТекста["[Шаг41Загрузка]"] = НСтр("ru = 'Загрузка файла обновления в основную базу'");
|
||||
ПараметрыТекста["[Шаг42ОбновлениеКонфигурации]"] = НСтр("ru = 'Обновление конфигурации информационной базы'");
|
||||
ПараметрыТекста["[Шаг43ОбновлениеИБ]"] = НСтр("ru = 'Выполнение обработчиков обновления'");
|
||||
|
||||
ПараметрыТекста["[ПроцессПрерван]"] = НСтр("ru = 'Внимание: процесс обновления был прерван, и информационная база осталась заблокированной.'");
|
||||
ПараметрыТекста["[ПроцессПрерванПодсказка]"] = НСтр("ru = 'Для разблокирования информационной базы воспользуйтесь консолью кластера серверов или запустите ""1С:Предприятие"".'");
|
||||
|
||||
Возврат ПодставитьПараметрыВТекст(ШаблонТекста, ПараметрыТекста);;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПодставитьПараметрыВТекст(Знач Текст, Знач ПараметрыТекста)
|
||||
|
||||
Результат = Текст;
|
||||
Для каждого ПараметрТекста Из ПараметрыТекста Цикл
|
||||
Результат = СтрЗаменить(Результат, ПараметрТекста.Ключ, ПараметрТекста.Значение);
|
||||
КонецЦикла;
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура СохранитьНастройкиОбновленияКонфигурации(Настройки) Экспорт
|
||||
ВыполнитьПроверкуПравДоступа("Администрирование", Метаданные);
|
||||
ОбновлениеКонфигурации.СохранитьНастройкиОбновленияКонфигурации(Настройки);
|
||||
|
||||
@@ -257,19 +257,19 @@
|
||||
|
||||
// Записывает в каталог скрипта файл-маркер ошибки.
|
||||
//
|
||||
Процедура ЗаписатьФайлПротоколаОшибкиИЗавершитьРаботу(КаталогСкрипта, ПодробноеПредставлениеОшибки) Экспорт
|
||||
Процедура ЗаписатьФайлПротоколаОшибкиИЗавершитьРаботу(Знач ИмяКаталога, Знач ПодробноеПредставлениеОшибки) Экспорт
|
||||
|
||||
#Если Не ВебКлиент Тогда
|
||||
|
||||
Если СтрНайти(ПараметрЗапуска, "ВыполнитьОбновлениеИЗавершитьРаботу") Тогда
|
||||
Если СтрНайти(ПараметрЗапуска, "ВыполнитьОбновлениеИЗавершитьРаботу") > 0 Тогда
|
||||
|
||||
ФайлИнфо = Новый Файл(КаталогСкрипта);
|
||||
Если ФайлИнфо.Существует() Тогда // АПК:566 синхронные вызовы вне веб-клиента разрешены;
|
||||
Каталог = Новый Файл(ИмяКаталога);
|
||||
Если Каталог.Существует() И Каталог.ЭтоКаталог() Тогда // АПК:566 синхронные вызовы не в веб-клиенте допустимы.
|
||||
|
||||
ФайлРегистрации = Новый ЗаписьТекста(КаталогСкрипта + "error.txt");
|
||||
ФайлРегистрации = Новый ЗаписьТекста(ИмяКаталога + "error.txt");
|
||||
ФайлРегистрации.Закрыть();
|
||||
|
||||
ФайлЛога = Новый ЗаписьТекста(КаталогСкрипта + "templog.txt", КодировкаТекста.Системная);
|
||||
ФайлЛога = Новый ЗаписьТекста(ИмяКаталога + "templog.txt", КодировкаТекста.Системная);
|
||||
ФайлЛога.Записать(ПодробноеПредставлениеОшибки);
|
||||
ФайлЛога.Закрыть();
|
||||
|
||||
@@ -412,9 +412,9 @@
|
||||
|
||||
Процедура ВставитьПараметрСкрипта(Знач ИмяПараметра, Знач ЗначениеПараметра, Форматировать, ОбластьПараметров)
|
||||
|
||||
Если Форматировать = Истина Тогда
|
||||
Если Форматировать Тогда
|
||||
ЗначениеПараметра = Форматировать(ЗначениеПараметра);
|
||||
ИначеЕсли Форматировать = Ложь Тогда
|
||||
ИначеЕсли ТипЗнч(ЗначениеПараметра) = Тип("Булево") Тогда
|
||||
ЗначениеПараметра = ?(ЗначениеПараметра, "true", "false");
|
||||
КонецЕсли;
|
||||
ОбластьПараметров = СтрЗаменить(ОбластьПараметров, "[" + ИмяПараметра + "]", ЗначениеПараметра);
|
||||
@@ -729,7 +729,6 @@
|
||||
Параметры.Свойство("КаталогПлатформы", КаталогПлатформы);
|
||||
КаталогПрограммы = ?(ЗначениеЗаполнено(КаталогПлатформы), КаталогПлатформы, КаталогПрограммы());
|
||||
|
||||
|
||||
ИмяИсполняемогоФайлаКонфигуратора = КаталогПрограммы + СтандартныеПодсистемыКлиент.ИмяИсполняемогоФайлаПриложения(Истина);
|
||||
ИмяИсполняемогоФайлаКлиента = КаталогПрограммы + СтандартныеПодсистемыКлиент.ИмяИсполняемогоФайлаПриложения();
|
||||
ПутьКCOMСоединителю = КаталогПрограммы() + "comcntr.dll";
|
||||
@@ -750,10 +749,9 @@
|
||||
|
||||
АдресЭлектроннойПочты = ?(Параметры.РежимОбновления = 2 И Параметры.ВыслатьОтчетНаПочту, Параметры.АдресЭлектроннойПочты, "");
|
||||
|
||||
|
||||
// Вызов КаталогВременныхФайлов вместо ПолучитьИмяВременногоФайла, так как каталог не должен удаляться
|
||||
// Используется КаталогВременныхФайлов вместо ПолучитьИмяВременногоФайла, так как каталог не должен удаляться
|
||||
// автоматически при завершении клиентского приложения.
|
||||
// В него сохраняются исполняемые файлы, лог выполнения и резервная копия, при определенной настройке.
|
||||
// В него сохраняются исполняемые файлы, лог выполнения и резервная копия (при определенной настройке).
|
||||
КаталогВременныхФайловОбновления = КаталогВременныхФайлов() + "1Cv8Update." + Формат(ОбщегоНазначенияКлиент.ДатаСеанса(), "ДФ=ггММддЧЧммсс") + "\";
|
||||
|
||||
Если Параметры.СоздаватьРезервнуюКопию = 1 Тогда
|
||||
@@ -768,8 +766,8 @@
|
||||
|
||||
ВыполнитьОтложенныеОбработчики = Ложь;
|
||||
ЭтоОтложенноеОбновление = (Параметры.РежимОбновления = 2);
|
||||
ТекстыМакетов = ОбновлениеКонфигурацииВызовСервера.ТекстыМакетов(ИнтерактивныйРежим,
|
||||
ПараметрыПриложения["СтандартныеПодсистемы.СообщенияДляЖурналаРегистрации"], ВыполнитьОтложенныеОбработчики, ЭтоОтложенноеОбновление);
|
||||
ТекстыМакетов = ОбновлениеКонфигурацииВызовСервера.ТекстыМакетов(ПараметрыПриложения["СтандартныеПодсистемы.СообщенияДляЖурналаРегистрации"],
|
||||
ИнтерактивныйРежим, ВыполнитьОтложенныеОбработчики, ЭтоОтложенноеОбновление);
|
||||
ИмяПользователя = ПараметрыАдминистрирования.ИмяАдминистратораИнформационнойБазы;
|
||||
|
||||
Если ЭтоОтложенноеОбновление Тогда
|
||||
@@ -778,7 +776,7 @@
|
||||
ИмяЗадачи = ИмяЗадачиScheduleService(КодЗадачи);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыЗапускаПредприятияИзСкрипта = ОбщегоНазначенияСлужебныйКлиент.ПараметрыЗапускаПредприятияИзСкрипта();
|
||||
ПараметрыЗапускаПредприятия = ОбщегоНазначенияСлужебныйКлиент.ПараметрыЗапускаПредприятияИзСкрипта();
|
||||
|
||||
ОбластьПараметров = ТекстыМакетов.ОбластьПараметров;
|
||||
ВставитьПараметрСкрипта("ИмяИсполняемогоФайлаКонфигуратора" , ИмяИсполняемогоФайлаКонфигуратора , Истина, ОбластьПараметров);
|
||||
@@ -800,7 +798,8 @@
|
||||
ВставитьПараметрСкрипта("ВыполнятьСжатиеТаблицИБ" , ЭтоФайловаяБаза , Ложь , ОбластьПараметров);
|
||||
ВставитьПараметрСкрипта("ВыполнитьОтложенныеОбработчики" , ВыполнитьОтложенныеОбработчики , Ложь , ОбластьПараметров);
|
||||
ВставитьПараметрСкрипта("ИмяЗадачиПланировщикаЗадач" , ИмяЗадачи , Истина, ОбластьПараметров);
|
||||
ВставитьПараметрСкрипта("ПараметрыЗапускаПредприятия" , ПараметрыЗапускаПредприятияИзСкрипта , Истина, ОбластьПараметров);
|
||||
ВставитьПараметрСкрипта("ПараметрыЗапускаПредприятия" , ПараметрыЗапускаПредприятия , Истина, ОбластьПараметров);
|
||||
ВставитьПараметрСкрипта("КодРазблокировки" , "ПакетноеОбновлениеКонфигурацииИБ" , Ложь, ОбластьПараметров);
|
||||
|
||||
СоздатьКаталог(КаталогВременныхФайловОбновления);
|
||||
ИнформацияОбИсправлениях = ИнформацияОбИсправлениях(Параметры, КаталогВременныхФайловОбновления);
|
||||
@@ -826,13 +825,10 @@
|
||||
ФайлСкрипта.Записать(КаталогВременныхФайловОбновления + "helpers.js", КодировкаФайловПрограммыОбновления());
|
||||
|
||||
Если ИнтерактивныйРежим Тогда
|
||||
// Вспомогательный файл: splash.png.
|
||||
БиблиотекаКартинок.ЗаставкаВнешнейОперации.Записать(КаталогВременныхФайловОбновления + "splash.png");
|
||||
// Вспомогательный файл: splash.ico.
|
||||
БиблиотекаКартинок.ЗначокЗаставкиВнешнейОперации.Записать(КаталогВременныхФайловОбновления + "splash.ico");
|
||||
// Вспомогательный файл: progress.gif.
|
||||
БиблиотекаКартинок.ДлительнаяОперация48.Записать(КаталогВременныхФайловОбновления + "progress.gif");
|
||||
// Главный файл заставки: splash.hta.
|
||||
|
||||
ИмяГлавногоФайлаСкрипта = КаталогВременныхФайловОбновления + "splash.hta";
|
||||
ФайлСкрипта = Новый ТекстовыйДокумент;
|
||||
ФайлСкрипта.Вывод = ИспользованиеВывода.Разрешить;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Выполняет отправку почтовых сообщений.
|
||||
// Выполняет отправку одного письма.
|
||||
// Функция может вызвать исключение, которое требуется обработать.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -30,16 +30,19 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Выполняет отправку почтовых сообщений.
|
||||
// Выполняет отправку нескольких писем.
|
||||
// Функция может вызвать исключение, которое требуется обработать.
|
||||
// Если до наступления ошибки отправки было успешно отправлено хотя бы одно письмо, исключение не вызывается,
|
||||
// поэтому при обработке результата функции необходимо проверять какие письма не были отправлены.
|
||||
//
|
||||
// Параметры:
|
||||
// УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - почтовый ящик, с которого необходимо
|
||||
// выполнить отправку.
|
||||
// Письма - Массив - коллекция почтовых сообщений. Элемент коллекции - ИнтернетПочтовоеСообщение.
|
||||
// ТекстОшибки - Строка - сообщение об ошибке в случае, когда удалось отправить не все письма.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие - результаты отправки писем:
|
||||
// Соответствие - отправленные письма:
|
||||
// * Ключ - ИнтернетПочтовоеСообщение - отправляемое письмо;
|
||||
// * Значение - Структура - результат отправки письма:
|
||||
// ** ОшибочныеПолучатели - Соответствие - адреса получателей с ошибками:
|
||||
@@ -48,9 +51,9 @@
|
||||
// ** ИдентификаторПисьмаSMTP - Строка - уникальный идентификатор письма, присвоенный при отправке по протоколу SMTP.
|
||||
// ** ИдентификаторПисьмаIMAP - Строка - уникальный идентификатор письма, присвоенный при отправке по протоколу IMAP.
|
||||
//
|
||||
Функция ОтправитьПисьма(УчетнаяЗапись, Письма) Экспорт
|
||||
Функция ОтправитьПисьма(УчетнаяЗапись, Письма, ТекстОшибки = Неопределено) Экспорт
|
||||
|
||||
Возврат РаботаСПочтовымиСообщениямиСлужебный.ОтправитьПисьма(УчетнаяЗапись, Письма);
|
||||
Возврат РаботаСПочтовымиСообщениямиСлужебный.ОтправитьПисьма(УчетнаяЗапись, Письма, ТекстОшибки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -1222,7 +1222,7 @@
|
||||
КонецФункции
|
||||
|
||||
// См. РаботаСПочтовымиСообщениями.ОтправитьПисьма.
|
||||
Функция ОтправитьПисьма(УчетнаяЗапись, Письма) Экспорт
|
||||
Функция ОтправитьПисьма(УчетнаяЗапись, Письма, ТекстОшибки = Неопределено) Экспорт
|
||||
|
||||
РеквизитыОтправителя = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(УчетнаяЗапись, "ИмяПользователя,АдресЭлектроннойПочты,ОтправлятьСкрытыеКопииПисемНаЭтотАдрес,ИспользоватьДляПолучения");
|
||||
|
||||
@@ -1247,9 +1247,8 @@
|
||||
Исключение
|
||||
Если ПротоколПолученияПочты = ПротоколИнтернетПочты.IMAP И Не РеквизитыОтправителя.ИспользоватьДляПолучения Тогда
|
||||
ТекстОшибки = НСтр("ru = 'Не удалось подключиться к серверу IMAP. Проверьте настройки учетной записи.'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Работа с почтовыми сообщениями.Отправка почты'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, Метаданные.Справочники.УчетныеЗаписиЭлектроннойПочты, УчетнаяЗапись,
|
||||
ТекстОшибки + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписьЖурналаРегистрации(ИмяСобытияОтправкаПочты(), УровеньЖурналаРегистрации.Ошибка, Метаданные.Справочники.УчетныеЗаписиЭлектроннойПочты,
|
||||
УчетнаяЗапись, ТекстОшибки + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ПротоколПолученияПочты = ПротоколИнтернетПочты.POP3;
|
||||
Соединение.Подключиться(Профиль, ПротоколПолученияПочты);
|
||||
Иначе
|
||||
@@ -1277,10 +1276,6 @@
|
||||
РезультатОтправкиПисьма.Вставить("ИдентификаторПисьмаSMTP", "");
|
||||
РезультатОтправкиПисьма.Вставить("ИдентификаторПисьмаIMAP", "");
|
||||
|
||||
ОшибочныеПолучатели = Соединение.Послать(Письмо, ОбрабатыватьТексты, ПротоколИнтернетПочты.SMTP);
|
||||
РезультатОтправкиПисьма.Вставить("ОшибочныеПолучатели", ОшибочныеПолучатели);
|
||||
РезультатОтправкиПисьма.Вставить("ИдентификаторПисьмаSMTP", Письмо.ИдентификаторСообщения);
|
||||
|
||||
Если ПротоколПолученияПочты = ПротоколИнтернетПочты.IMAP Тогда
|
||||
Соединение.Послать(Письмо, ОбрабатыватьТексты, ПротоколИнтернетПочты.IMAP);
|
||||
РезультатОтправкиПисьма.Вставить("ИдентификаторПисьмаIMAP", Письмо.ИдентификаторСообщения);
|
||||
@@ -1292,6 +1287,23 @@
|
||||
Соединение.УстановитьФлагиСообщений(ФлагиПисем);
|
||||
КонецЕсли;
|
||||
|
||||
ОшибочныеПолучатели = Соединение.Послать(Письмо, ОбрабатыватьТексты, ПротоколИнтернетПочты.SMTP);
|
||||
РезультатОтправкиПисьма.Вставить("ОшибочныеПолучатели", ОшибочныеПолучатели);
|
||||
РезультатОтправкиПисьма.Вставить("ИдентификаторПисьмаSMTP", Письмо.ИдентификаторСообщения);
|
||||
|
||||
Если ОшибочныеПолучатели.Количество() > 0 Тогда
|
||||
ТекстыОшибок = Новый Массив;
|
||||
Для Каждого ОшибочныйПолучатель Из ОшибочныеПолучатели Цикл
|
||||
Получатель = ОшибочныйПолучатель.Ключ;
|
||||
ТекстОшибки = ОшибочныйПолучатель.Значение;
|
||||
ТекстыОшибок.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1: %2'"), Получатель, ТекстОшибки));
|
||||
КонецЦикла;
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Отправка письма следующим получателям не выполнена:
|
||||
|%1'", ОбщегоНазначения.КодОсновногоЯзыка()), СтрСоединить(ТекстыОшибок, Символы.ПС));
|
||||
ЗаписьЖурналаРегистрации(ИмяСобытияОтправкаПочты(), УровеньЖурналаРегистрации.Ошибка, , УчетнаяЗапись, ТекстОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
РезультатыОтправкиПисем.Вставить(Письмо, РезультатОтправкиПисьма);
|
||||
КонецЦикла;
|
||||
Исключение
|
||||
@@ -1302,7 +1314,14 @@
|
||||
// в вызывающий код передается исходное исключение, которое будет там обработано.
|
||||
КонецПопытки;
|
||||
|
||||
ВызватьИсключение;
|
||||
Если РезультатыОтправкиПисем.Количество() = 0 Тогда
|
||||
ВызватьИсключение;
|
||||
Иначе
|
||||
ЗаписьЖурналаРегистрации(ИмяСобытияОтправкаПочты(), УровеньЖурналаРегистрации.Ошибка, ,
|
||||
УчетнаяЗапись, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
|
||||
Возврат РезультатыОтправкиПисем;
|
||||
КонецЕсли;
|
||||
КонецПопытки;
|
||||
|
||||
Соединение.Отключиться();
|
||||
@@ -1312,6 +1331,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИмяСобытияОтправкаПочты()
|
||||
|
||||
Возврат НСтр("ru = 'Работа с почтовыми сообщениями.Отправка почты'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПодготовитьПисьмо(УчетнаяЗапись, ПараметрыПисьма) Экспорт
|
||||
|
||||
Письмо = Новый ИнтернетПочтовоеСообщение;
|
||||
|
||||
@@ -4041,12 +4041,16 @@
|
||||
ТекстЗапросов = "";
|
||||
|
||||
Для каждого КлючИЗначение Из ИменаСправочников Цикл
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстЗапросов) Тогда
|
||||
|
||||
ТекстЗапросов = ТекстЗапросов + "
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|";
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ
|
||||
| ПрисоединенныеФайлы.Ссылка
|
||||
@@ -4054,8 +4058,15 @@
|
||||
| &ИмяСправочника КАК ПрисоединенныеФайлы
|
||||
|ГДЕ
|
||||
| ПрисоединенныеФайлы.ВладелецФайла = &ВладелецФайлов";
|
||||
|
||||
Если Метаданные.Справочники[КлючИЗначение.Ключ].Иерархический = Истина Тогда
|
||||
ТекстЗапроса = ТекстЗапроса + "
|
||||
| И Не ПрисоединенныеФайлы.ЭтоГруппа";
|
||||
КонецЕсли;
|
||||
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяСправочника", "Справочник." + КлючИЗначение.Ключ);
|
||||
ТекстЗапросов = ТекстЗапросов + ТекстЗапроса;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Запрос = Новый Запрос(ТекстЗапросов);
|
||||
@@ -5587,7 +5598,7 @@
|
||||
+ ИмяМетода + " " + Href + Символы.ПС + Символы.ПС + XMLЗапрос + Символы.ПС;
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураОбмена.Ответ = HTTP.ВызватьHTTPМетод(ИмяМетода, HTTPЗапросWebdav);
|
||||
ВызватьМетодHTTP(СтруктураОбмена, HTTP, ИмяМетода, HTTPЗапросWebdav);
|
||||
|
||||
Если ТекстПротокола <> Неопределено Тогда
|
||||
ТекстПротокола = ТекстПротокола + ?(ПустаяСтрока(ТекстПротокола), "", Символы.ПС) + "HTTP RESPONSE "
|
||||
@@ -5602,6 +5613,24 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ВызватьМетодHTTP(СтруктураОбмена, HTTP, ИмяМетода, HTTPЗапросWebdav, ТекущаяПопытка = 1)
|
||||
|
||||
СтруктураОбмена.Ответ = HTTP.ВызватьHTTPМетод(ИмяМетода, HTTPЗапросWebdav);
|
||||
Если СтруктураОбмена.Ответ.КодСостояния = 429
|
||||
И ТекущаяПопытка <= 5 Тогда
|
||||
|
||||
ТекущееВремя = ТекущаяДатаСеанса();
|
||||
ВремяОжидания = ТекущееВремя + 2;
|
||||
Пока ТекущееВремя <= ВремяОжидания Цикл
|
||||
ТекущееВремя = ТекущаяДатаСеанса();
|
||||
КонецЦикла;
|
||||
|
||||
ВызватьМетодHTTP(СтруктураОбмена, HTTP, ИмяМетода, HTTPЗапросWebdav, ТекущаяПопытка + 1)
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обновляет уникальный служебный реквизит файла на сервере webdav.
|
||||
Функция ОбновитьUID1CФайла(Href, UID1C, ПараметрыСинхронизации)
|
||||
|
||||
|
||||
@@ -601,6 +601,9 @@
|
||||
Файл.Описание = СведенияОФайле.Комментарий;
|
||||
Файл.ИндексКартинки = РаботаСФайламиСлужебныйКлиентСервер.ПолучитьИндексПиктограммыФайла(Неопределено);
|
||||
Файл.ХранитьВерсии = СведенияОФайле.ХранитьВерсии;
|
||||
Файл.Расширение = СведенияОФайле.РасширениеБезТочки;
|
||||
Файл.Размер = СведенияОФайле.Размер;
|
||||
Файл.ДатаМодификацииУниверсальная = СведенияОФайле.ВремяИзмененияУниверсальное;
|
||||
|
||||
ИспользованиеПолнотекстовогоПоиска = Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать;
|
||||
Если Метаданные.Справочники[СведенияОФайле.ИмяСправочникаХранилищаФайлов].ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска Тогда
|
||||
|
||||
@@ -540,15 +540,18 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если РегламентноеЗадание <> Неопределено Тогда
|
||||
Представление = РегламентноеЗадание.Наименование;
|
||||
|
||||
Если ПустаяСтрока(РегламентноеЗадание.Наименование) Тогда
|
||||
Если РегламентноеЗадание.Предопределенное Тогда
|
||||
Представление = РегламентноеЗадание.Метаданные.Синоним;
|
||||
Иначе
|
||||
Представление = РегламентноеЗадание.Наименование;
|
||||
|
||||
Если ПустаяСтрока(Представление) Тогда
|
||||
Представление = РегламентноеЗадание.Метаданные.Имя;
|
||||
КонецЕсли
|
||||
Если ПустаяСтрока(РегламентноеЗадание.Наименование) Тогда
|
||||
Представление = РегламентноеЗадание.Метаданные.Синоним;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Если ПустаяСтрока(Представление) Тогда
|
||||
Представление = РегламентноеЗадание.Метаданные.Имя;
|
||||
КонецЕсли
|
||||
Иначе
|
||||
Представление = ТекстНеОпределено();
|
||||
КонецЕсли;
|
||||
|
||||
@@ -502,4 +502,59 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПодготовитьОбщиеПараметрыСкрипта(Знач ПараметрыСкрипта) Экспорт
|
||||
|
||||
ПараметрыПодключения = ПараметрыСкрипта.ПараметрыСкрипта;
|
||||
СтрокаСоединенияИнформационнойБазы = ПараметрыПодключения.СтрокаСоединенияИнформационнойБазы + ПараметрыПодключения.СтрокаПодключения;
|
||||
|
||||
Если СтрЗаканчиваетсяНа(СтрокаСоединенияИнформационнойБазы, ";") Тогда
|
||||
СтрокаСоединенияИнформационнойБазы = Лев(СтрокаСоединенияИнформационнойБазы, СтрДлина(СтрокаСоединенияИнформационнойБазы) - 1);
|
||||
КонецЕсли;
|
||||
|
||||
КаталогПрограммы = ?(ПустаяСтрока(КаталогПрограммы), КаталогПрограммы(), КаталогПрограммы);
|
||||
ИмяИсполняемогоФайлаПрограммы = КаталогПрограммы + ПараметрыСкрипта.ИмяФайлаПрограммы;
|
||||
|
||||
// Определение пути к информационной базе.
|
||||
ПризнакФайловогоРежима = Неопределено;
|
||||
ПутьКИнформационнойБазе = СоединенияИБКлиентСервер.ПутьКИнформационнойБазе(ПризнакФайловогоРежима, 0);
|
||||
|
||||
ПараметрПутиКИнформационнойБазе = ?(ПризнакФайловогоРежима, "/F", "/S") + ПутьКИнформационнойБазе;
|
||||
СтрокаПутиКИнформационнойБазе = ?(ПризнакФайловогоРежима, ПутьКИнформационнойБазе, "");
|
||||
|
||||
ПараметрыТекста = Новый Соответствие;
|
||||
ПараметрыТекста["[ИмяИсполняемогоФайлаПрограммы]"] = ПодготовитьТекст(ИмяИсполняемогоФайлаПрограммы);
|
||||
ПараметрыТекста["[ПараметрПутиКИнформационнойБазе]"] = ПодготовитьТекст(ПараметрПутиКИнформационнойБазе);
|
||||
ПараметрыТекста["[СтрокаПутиКФайлуИнформационнойБазы]"] = ПодготовитьТекст(ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(СтрЗаменить(СтрокаПутиКИнформационнойБазе, """", "")));
|
||||
ПараметрыТекста["[СтрокаСоединенияИнформационнойБазы]"] = ПодготовитьТекст(СтрокаСоединенияИнформационнойБазы);
|
||||
ПараметрыТекста["[ИмяАдминистратора]"] = ПодготовитьТекст(ИмяПользователя());
|
||||
ПараметрыТекста["[СобытиеЖурналаРегистрации]"] = ПодготовитьТекст(ПараметрыСкрипта.СобытиеЖурналаРегистрации);
|
||||
ПараметрыТекста["[СоздаватьРезервнуюКопию]"] = "true";
|
||||
ПараметрыТекста["[ИмяCOMСоединителя]"] = ПодготовитьТекст(ПараметрыСкрипта.ИмяCOMСоединителя);
|
||||
ПараметрыТекста["[ИспользоватьCOMСоединитель]"] = ?(ПараметрыСкрипта.ЭтоБазоваяВерсияКонфигурации, "false", "true");
|
||||
ПараметрыТекста["[ПараметрыЗапускаПредприятия]"] = ПодготовитьТекст(ПараметрыСкрипта.ПараметрыЗапускаПредприятия);
|
||||
ПараметрыТекста["[КодРазблокировки]"] = "РезервноеКопирование";
|
||||
|
||||
Возврат ПараметрыТекста;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПодставитьПараметрыВТекст(Знач Текст, Знач ПараметрыТекста) Экспорт
|
||||
|
||||
Результат = Текст;
|
||||
Для каждого ПараметрТекста Из ПараметрыТекста Цикл
|
||||
Результат = СтрЗаменить(Результат, ПараметрТекста.Ключ, ПараметрТекста.Значение);
|
||||
КонецЦикла;
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПодготовитьТекст(Знач Текст) Экспорт
|
||||
|
||||
Текст = СтрЗаменить(Текст, "\", "\\");
|
||||
Текст = СтрЗаменить(Текст, """", "\""");
|
||||
Текст = СтрЗаменить(Текст, "'", "\'");
|
||||
Возврат "'" + Текст + "'";
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -2136,11 +2136,15 @@
|
||||
Списки.Добавить(ПолноеИмя);
|
||||
ДобавленныеСписки.Вставить(ПолноеИмя, Истина);
|
||||
КонецЦикла;
|
||||
УправлениеДоступомСлужебный.ДобавитьЗависимыеСписки(Списки, ДобавленныеСписки);
|
||||
НедоступныеСписки = Новый Массив;
|
||||
УправлениеДоступомСлужебный.ДобавитьЗависимыеСписки(Списки, ДобавленныеСписки, НедоступныеСписки);
|
||||
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
|
||||
ПараметрыПланирования.РазрешенныеКлючиДоступа = Ложь;
|
||||
ПараметрыПланирования.Описание = "ОтключитьОбновлениеКлючейДоступаПриОкончанииОтключения";
|
||||
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(Списки, ПараметрыПланирования);
|
||||
Если НедоступныеСписки.Количество() > 0 Тогда
|
||||
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(НедоступныеСписки, ПараметрыПланирования);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ОтключениеОбновления.ИзмененныеСписки = Новый ХранилищеЗначения(Новый Соответствие);
|
||||
УправлениеДоступомСлужебныйПовтИсп.КэшИзмененныхСписковПриОтключенномОбновленииКлючейДоступа().Очистить();
|
||||
|
||||
@@ -10160,6 +10160,7 @@
|
||||
|ДатаДобавленияОбщегоЗадания");
|
||||
|
||||
Задания.Индексы.Добавить("ИдентификаторСписка, ДляВнешнихПользователей, ЭтоОбновлениеПрав");
|
||||
Задания.Индексы.Добавить("ИдентификаторСписка, ДляВнешнихПользователей, ЭтоОбновлениеПрав, ЭтоОбработкаУстаревшихЭлементов");
|
||||
Задания.Индексы.Добавить("Удалить, ЭтоОбработкаУстаревшихЭлементов");
|
||||
Задания.Индексы.Добавить("УровеньЗависимости");
|
||||
|
||||
@@ -17208,18 +17209,6 @@
|
||||
|
|
||||
| ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
| ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ЗначенияГруппДоступа.ЗначениеДоступа
|
||||
| ИЗ
|
||||
| РегистрСведений.ЗначенияГруппДоступа КАК ЗначенияГруппДоступа
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ГруппыДоступа КАК ГруппыДоступа
|
||||
| ПО (ГруппыДоступа.Ссылка = ЗначенияГруппДоступа.ГруппаДоступа)
|
||||
| И (ТИПЗНАЧЕНИЯ(ЗначенияГруппДоступа.ЗначениеДоступа) = ТИП(Справочник.ГруппыПользователей))
|
||||
| ГДЕ
|
||||
| &УточнениеПланаЗапроса
|
||||
|
|
||||
| ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
| ВЫБРАТЬ
|
||||
| ГруппыПользователей.Ссылка
|
||||
| ИЗ
|
||||
@@ -17247,6 +17236,32 @@
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ЗначенияГруппДоступа.ЗначениеДоступа КАК Ссылка
|
||||
|ПОМЕСТИТЬ ГруппыПользователейКакЗначенияДоступа
|
||||
|ИЗ
|
||||
| РегистрСведений.ЗначенияГруппДоступа КАК ЗначенияГруппДоступа
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ГруппыДоступа КАК ГруппыДоступа
|
||||
| ПО (ГруппыДоступа.Ссылка = ЗначенияГруппДоступа.ГруппаДоступа)
|
||||
| И (ТИПЗНАЧЕНИЯ(ЗначенияГруппДоступа.ЗначениеДоступа) = ТИП(Справочник.ГруппыПользователей))
|
||||
|ГДЕ
|
||||
| &УточнениеПланаЗапроса
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| СоставыГруппПользователей.ГруппаПользователей КАК ГруппаПользователей,
|
||||
| СоставыГруппПользователей.Пользователь КАК Пользователь
|
||||
|ИЗ
|
||||
| РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ГруппыПользователейКакЗначенияДоступа КАК ГруппыПользователейКакЗначенияДоступа
|
||||
| ПО (ГруппыПользователейКакЗначенияДоступа.Ссылка = СоставыГруппПользователей.ГруппаПользователей)
|
||||
| И (&УточнениеПланаЗапроса)
|
||||
|ИТОГИ ПО
|
||||
| ГруппаПользователей
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| ПользователиГруппыДоступа.Ссылка КАК ГруппаДоступа,
|
||||
| ПользователиГруппыДоступа.Пользователь КАК Участник
|
||||
|ИЗ
|
||||
@@ -17339,26 +17354,25 @@
|
||||
КонецЦикла;
|
||||
ПараметрыОбновления.Вставить("ПраваГруппДоступаСписка", ПраваГруппДоступаСписка);
|
||||
|
||||
ПользователиГруппПользователей = Новый Соответствие;
|
||||
|
||||
ПараметрыОбновления.Вставить("ПользователиГруппПользователей", Новый Соответствие);
|
||||
Если ПараметрыОбновления.РассчитыватьПраваПользователей Тогда
|
||||
Дерево = РезультатыЗапроса[4].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
Для Каждого Строка Из Дерево.Строки Цикл
|
||||
ПользователиГруппыПользователей = Новый Соответствие;
|
||||
Для Каждого Подстрока Из Строка.Строки Цикл
|
||||
ПользователиГруппыПользователей.Вставить(Подстрока.Пользователь, Истина);
|
||||
КонецЦикла;
|
||||
ПользователиГруппПользователей.Вставить(Строка.ГруппаПользователей, ПользователиГруппыПользователей);
|
||||
КонецЦикла;
|
||||
ЗаполнитьПользователейГруппПользователей(ПараметрыОбновления.ПользователиГруппПользователей,
|
||||
РезультатыЗапроса[4]);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыОбновления.Вставить("ГруппыПользователейКакЗначенияДоступа", Новый Соответствие);
|
||||
Если ПараметрыОбновления.РассчитыватьПраваПользователей Тогда
|
||||
ЗаполнитьПользователейГруппПользователей(ПараметрыОбновления.ГруппыПользователейКакЗначенияДоступа,
|
||||
РезультатыЗапроса[6]);
|
||||
КонецЕсли;
|
||||
ПараметрыОбновления.Вставить("ПользователиГруппПользователей", ПользователиГруппПользователей);
|
||||
|
||||
УчастникиГруппДоступа = Новый Соответствие;
|
||||
ГруппыПользователейГруппДоступа = Новый Соответствие;
|
||||
ТипГруппыПользователей = ПараметрыОбновления.ТипГруппыПользователей;
|
||||
ТипГруппыПользователей = ПараметрыОбновления.ТипГруппыПользователей;
|
||||
ПользователиГруппПользователей = ПараметрыОбновления.ПользователиГруппПользователей;
|
||||
|
||||
Если ПараметрыОбновления.РассчитыватьПраваПользователей Тогда
|
||||
Дерево = РезультатыЗапроса[5].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
Дерево = РезультатыЗапроса[7].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
Для Каждого Строка Из Дерево.Строки Цикл
|
||||
УчастникиГруппыДоступа = Новый Соответствие;
|
||||
ГруппыПользователейГруппыДоступа = Новый Соответствие;
|
||||
@@ -17384,6 +17398,20 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для процедуры ЗаполнитьПраваИУчастниковГруппДоступаСписка.
|
||||
Процедура ЗаполнитьПользователейГруппПользователей(ПользователиГруппПользователей, РезультатЗапроса)
|
||||
|
||||
Дерево = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
Для Каждого Строка Из Дерево.Строки Цикл
|
||||
ПользователиГруппыПользователей = Новый Соответствие;
|
||||
Для Каждого Подстрока Из Строка.Строки Цикл
|
||||
ПользователиГруппыПользователей.Вставить(Подстрока.Пользователь, Истина);
|
||||
КонецЦикла;
|
||||
ПользователиГруппПользователей.Вставить(Строка.ГруппаПользователей, ПользователиГруппыПользователей);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Для процедуры ОбновитьПраваПорцииКлючейДоступаСписка.
|
||||
Процедура ЗаполнитьЗначенияГруппДоступаДляРасчетаПрав(ПараметрыОбновления)
|
||||
|
||||
@@ -17588,7 +17616,7 @@
|
||||
|
||||
ПраваПоВладельцамНастроекПрав = Новый Соответствие;
|
||||
Если ПараметрыОбновления.ЕстьВладельцыНастроекПрав Тогда
|
||||
НомерТаблицы = НомерТаблицы + 3;
|
||||
НомерТаблицы = НомерТаблицы + 5;
|
||||
Дерево = РезультатыЗапроса[НомерТаблицы].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
Для Каждого Строка Из Дерево.Строки Цикл
|
||||
ПраваПоВладельцуНастроекПрав = Новый Соответствие;
|
||||
@@ -17623,22 +17651,23 @@
|
||||
И Не ПараметрыОбновления.ЕстьЗависимыеСпискиБезЗаписиКлючейДоступа;
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("ЗначенияТаблицКлюча", ЗначенияТаблицКлюча);
|
||||
Контекст.Вставить("БезЗаписиПраваЧтение", БезЗаписиПраваЧтение);
|
||||
Контекст.Вставить("РеквизитыТаблицКлюча", ПараметрыОбновления.РеквизитыТаблицКлюча);
|
||||
Контекст.Вставить("УчастникиГруппДоступа", ПараметрыОбновления.УчастникиГруппДоступа);
|
||||
Контекст.Вставить("ГруппыПользователейГруппДоступа", ПараметрыОбновления.ГруппыПользователейГруппДоступа);
|
||||
Контекст.Вставить("ПользователиГруппПользователей", ПараметрыОбновления.ПользователиГруппПользователей);
|
||||
Контекст.Вставить("ПраваНаСпискиВедущихКлючейДоступа", ПараметрыОбновления.ПраваНаСпискиВедущихКлючейДоступа);
|
||||
Контекст.Вставить("ПраваНаВедущиеКлючиДоступа", ПараметрыОбновления.ПраваНаВедущиеКлючиДоступа);
|
||||
Контекст.Вставить("ПраваНаВедущиеСписки", ПараметрыОбновления.ПраваНаВедущиеСписки);
|
||||
Контекст.Вставить("ПраваПоВладельцамНастроекПрав", ПараметрыОбновления.ПраваПоВладельцамНастроекПрав);
|
||||
Контекст.Вставить("РассчитыватьПраваПользователей", ПараметрыОбновления.РассчитыватьПраваПользователей);
|
||||
Контекст.Вставить("ТипГруппыДоступа", ПараметрыОбновления.ТипГруппыДоступа);
|
||||
Контекст.Вставить("ПустаяГруппаДоступа", ПараметрыОбновления.ПустаяГруппаДоступа);
|
||||
Контекст.Вставить("ТипПользователя", ПараметрыОбновления.ТипПользователя);
|
||||
Контекст.Вставить("ТипГруппыПользователей", ПараметрыОбновления.ТипГруппыПользователей);
|
||||
Контекст.Вставить("ТипыВладельцевНастроекПрав", ПараметрыОбновления.ТипыВладельцевНастроекПрав);
|
||||
Контекст.Вставить("ЗначенияТаблицКлюча", ЗначенияТаблицКлюча);
|
||||
Контекст.Вставить("БезЗаписиПраваЧтение", БезЗаписиПраваЧтение);
|
||||
Контекст.Вставить("РеквизитыТаблицКлюча", ПараметрыОбновления.РеквизитыТаблицКлюча);
|
||||
Контекст.Вставить("УчастникиГруппДоступа", ПараметрыОбновления.УчастникиГруппДоступа);
|
||||
Контекст.Вставить("ГруппыПользователейГруппДоступа", ПараметрыОбновления.ГруппыПользователейГруппДоступа);
|
||||
Контекст.Вставить("ГруппыПользователейКакЗначенияДоступа", ПараметрыОбновления.ГруппыПользователейКакЗначенияДоступа);
|
||||
Контекст.Вставить("ПользователиГруппПользователей", ПараметрыОбновления.ПользователиГруппПользователей);
|
||||
Контекст.Вставить("ПраваНаСпискиВедущихКлючейДоступа", ПараметрыОбновления.ПраваНаСпискиВедущихКлючейДоступа);
|
||||
Контекст.Вставить("ПраваНаВедущиеКлючиДоступа", ПараметрыОбновления.ПраваНаВедущиеКлючиДоступа);
|
||||
Контекст.Вставить("ПраваНаВедущиеСписки", ПараметрыОбновления.ПраваНаВедущиеСписки);
|
||||
Контекст.Вставить("ПраваПоВладельцамНастроекПрав", ПараметрыОбновления.ПраваПоВладельцамНастроекПрав);
|
||||
Контекст.Вставить("РассчитыватьПраваПользователей", ПараметрыОбновления.РассчитыватьПраваПользователей);
|
||||
Контекст.Вставить("ТипГруппыДоступа", ПараметрыОбновления.ТипГруппыДоступа);
|
||||
Контекст.Вставить("ПустаяГруппаДоступа", ПараметрыОбновления.ПустаяГруппаДоступа);
|
||||
Контекст.Вставить("ТипПользователя", ПараметрыОбновления.ТипПользователя);
|
||||
Контекст.Вставить("ТипГруппыПользователей", ПараметрыОбновления.ТипГруппыПользователей);
|
||||
Контекст.Вставить("ТипыВладельцевНастроекПрав", ПараметрыОбновления.ТипыВладельцевНастроекПрав);
|
||||
|
||||
ЧтениеРазрешеноДляВсехГруппДоступа = Истина;
|
||||
ИзменениеРазрешеноДляВсехГруппДоступа = Истина;
|
||||
@@ -18424,7 +18453,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого УказаннаяГруппаПользователей Из УказанныеГруппыПользователей.Значения Цикл
|
||||
ПользователиГруппы = Контекст.ПользователиГруппПользователей.Получить(УказаннаяГруппаПользователей.Ключ);
|
||||
ПользователиГруппы = Контекст.ГруппыПользователейКакЗначенияДоступа.Получить(УказаннаяГруппаПользователей.Ключ);
|
||||
Если ПользователиГруппы = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -19258,11 +19287,13 @@
|
||||
КонецФункции
|
||||
|
||||
// Для процедуры УправлениеДоступом.ОтключитьОбновлениеКлючейДоступа.
|
||||
Процедура ДобавитьЗависимыеСписки(Списки, ДобавленныеСписки) Экспорт
|
||||
Процедура ДобавитьЗависимыеСписки(Списки, ДобавленныеСписки, НедоступныеСписки) Экспорт
|
||||
|
||||
ИсходныеСписки = Новый ФиксированныйМассив(Списки);
|
||||
ДействующиеПараметры = ДействующиеПараметрыОграниченияДоступа(Неопределено, Неопределено, Ложь);
|
||||
|
||||
НенайденныеСписки = Новый Массив;
|
||||
|
||||
Для Каждого ИсходныйСписок Из ИсходныеСписки Цикл
|
||||
Свойства = ДействующиеПараметры.ВедущиеСписки.Получить(ИсходныйСписок);
|
||||
Если Свойства = Неопределено Тогда
|
||||
@@ -19270,12 +19301,25 @@
|
||||
КонецЕсли;
|
||||
Для Каждого КлючИЗначение Из Свойства.ЗависимыеСписки Цикл
|
||||
Если ДобавленныеСписки.Получить(КлючИЗначение.Ключ) = Неопределено Тогда
|
||||
Списки.Добавить(КлючИЗначение.Ключ);
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(КлючИЗначение.Ключ);
|
||||
Если ОбъектМетаданных = Неопределено Тогда
|
||||
НенайденныеСписки.Добавить(КлючИЗначение.Ключ);
|
||||
Иначе
|
||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||
Списки.Добавить(ПолноеИмя);
|
||||
ДобавленныеСписки.Вставить(ПолноеИмя, Истина);
|
||||
КонецЕсли;
|
||||
ДобавленныеСписки.Вставить(КлючИЗначение.Ключ, Истина);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
Если НенайденныеСписки.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
НедоступныеСписки = ВсеИдентификаторыСПодобнымиПолнымиИменами(НенайденныеСписки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ОписаниеОграниченийДанных() Экспорт
|
||||
@@ -20824,12 +20868,16 @@
|
||||
|
||||
СтандартныеПодсистемыСервер.ПотребоватьПерезапускСеансаПоПричинеДинамическогоОбновленияВерсииПрограммы();
|
||||
КонецЕсли;
|
||||
Списки = СпискиСИзменениемВерсий(ВерсииОграниченийСписков);
|
||||
НедоступныеСписки = Новый Массив;
|
||||
Списки = СпискиСИзменениемВерсий(ВерсииОграниченийСписков, НедоступныеСписки);
|
||||
ПараметрыПланирования = ПараметрыПланированияОбновленияДоступа();
|
||||
ПараметрыПланирования.ВерсииОграниченийСписков = ВерсииОграниченийСписков;
|
||||
ПараметрыПланирования.ЭтоПродолжениеОбновления = Истина;
|
||||
ПараметрыПланирования.Описание = "НоваяВерсияПараметровОграниченияДоступа";
|
||||
ЗапланироватьОбновлениеДоступа(Списки, ПараметрыПланирования);
|
||||
Если НедоступныеСписки.Количество() > 0 Тогда
|
||||
ЗапланироватьОбновлениеДоступа(НедоступныеСписки, ПараметрыПланирования);
|
||||
КонецЕсли;
|
||||
|
||||
НаборЗаписей.Записать();
|
||||
ЕстьИзменения = Истина;
|
||||
@@ -20900,7 +20948,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
// Для функции НоваяВерсияПараметровОграниченияДоступа.
|
||||
Функция СпискиСИзменениемВерсий(НовыеВерсииОграниченийСписков)
|
||||
Функция СпискиСИзменениемВерсий(НовыеВерсииОграниченийСписков, НедоступныеСписки)
|
||||
|
||||
ОписаниеВерсии = ОписаниеПоследнейВерсии();
|
||||
Если Не ЗначениеЗаполнено(ОписаниеВерсии.Версия) Тогда
|
||||
@@ -20944,24 +20992,75 @@
|
||||
|
||||
Таблица.Свернуть("Список, Версия", "ВидИзменения");
|
||||
Списки = Новый Массив;
|
||||
НенайденныеСписки = Новый Массив;
|
||||
|
||||
Для Каждого Строка Из Таблица Цикл
|
||||
Если Строка.ВидИзменения = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Списки.Найти(Строка.Список) <> Неопределено Тогда
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Строка.Список);
|
||||
Если ОбъектМетаданных = Неопределено Тогда
|
||||
НенайденныеСписки.Добавить(Строка.Список);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Метаданные.НайтиПоПолномуИмени(Строка.Список) = Неопределено Тогда
|
||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||
Если Списки.Найти(ПолноеИмя) <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Списки.Добавить(Строка.Список);
|
||||
Списки.Добавить(ПолноеИмя);
|
||||
КонецЦикла;
|
||||
|
||||
Если НенайденныеСписки.Количество() > 0 Тогда
|
||||
НедоступныеСписки = ВсеИдентификаторыСПодобнымиПолнымиИменами(НенайденныеСписки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Списки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для функции СпискиСИзменениемВерсий и для процедуры ДобавитьЗависимыеСписки.
|
||||
Функция ВсеИдентификаторыСПодобнымиПолнымиИменами(ПолныеИмена)
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Идентификаторы.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| Справочник.ИдентификаторыОбъектовМетаданных КАК Идентификаторы
|
||||
|ГДЕ
|
||||
| &УсловияОтбораИОМ
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| Идентификаторы.Идентификатор
|
||||
|ИЗ
|
||||
| РегистрСведений.ИдентификаторыОбъектовВерсийРасширений КАК Идентификаторы
|
||||
|ГДЕ
|
||||
| &УсловияОтбораИОР";
|
||||
|
||||
УсловияОтбораИОМ = Новый Массив;
|
||||
УсловияОтбораИОР = Новый Массив;
|
||||
|
||||
НомерПараметра = 1;
|
||||
Для Каждого ПолноеИмя Из ПолныеИмена Цикл
|
||||
ИмяПараметра = "ПолноеИмя" + Формат(НомерПараметра, "ЧГ=");
|
||||
Запрос.УстановитьПараметр(ИмяПараметра, ПолноеИмя);
|
||||
УсловияОтбораИОМ.Добавить("Идентификаторы.ПолноеИмя ПОДОБНО &" + ИмяПараметра);
|
||||
УсловияОтбораИОР.Добавить("Идентификаторы.ПолноеИмяОбъекта ПОДОБНО &" + ИмяПараметра);
|
||||
НомерПараметра = НомерПараметра + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловияОтбораИОМ",
|
||||
СтрСоединить(УсловияОтбораИОМ, Символы.ПС + " ИЛИ "));
|
||||
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловияОтбораИОР",
|
||||
СтрСоединить(УсловияОтбораИОР, Символы.ПС + " ИЛИ "));
|
||||
|
||||
Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Для процедуры ХранимыеПараметрыОграниченияДоступа.
|
||||
Функция ВерсияСтруктурыКэша()
|
||||
|
||||
@@ -25655,7 +25754,16 @@
|
||||
Процедура ДобавитьТекстЗапросаУстаревшихЭлементовДанных(Результат, Контекст)
|
||||
|
||||
Если Результат.ЭтоСсылочныйТип Тогда
|
||||
Если Результат.ДляВнешнихПользователей Тогда
|
||||
ТипСсылки = ТипСсылкиПоПолномуИмениМетаданных(Результат.Список);
|
||||
ТипыСсылок = УправлениеДоступомСлужебныйПовтИсп.ТипыПоляТаблицы("ОпределяемыйТип.ВладелецЗначенийКлючейДоступа");
|
||||
|
||||
Если ТипыСсылок.Получить(ТипСсылки) = Неопределено Тогда
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 0
|
||||
| КлючиДоступаКОбъектам.Объект КАК ТекущаяСсылка
|
||||
|ИЗ
|
||||
| РегистрСведений.КлючиДоступаКОбъектам КАК КлючиДоступаКОбъектам";
|
||||
ИначеЕсли Результат.ДляВнешнихПользователей Тогда
|
||||
Если Результат.БезЗаписиКлючейДоступа
|
||||
И Не Результат.БезЗаписиКлючейДоступаДляПользователейИВнешнихПользователей Тогда
|
||||
ТекстЗапроса =
|
||||
@@ -26614,12 +26722,11 @@
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| НастройкиПрав.Объект КАК ВладелецНастроекПрав,
|
||||
| НастройкиПрав.Пользователь КАК ВладелецПрав,
|
||||
| МАКСИМУМ(НастройкиПрав.ИзменениеРазрешено) = ИСТИНА
|
||||
| И МАКСИМУМ(НастройкиПрав.ИзменениеЗапрещено) = ЛОЖЬ КАК Изменение
|
||||
| НастройкиПравЧтения.Объект КАК Объект,
|
||||
| НастройкиПравЧтения.Пользователь КАК Пользователь
|
||||
|ПОМЕСТИТЬ НастройкиПравЧтения
|
||||
|ИЗ
|
||||
| (ВЫБРАТЬ
|
||||
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| НаследованиеНастроек.Объект КАК Объект,
|
||||
| ВЫБОР
|
||||
| КОГДА НаследованиеНастроек.Объект В
|
||||
@@ -26631,9 +26738,7 @@
|
||||
| ИНАЧЕ СоставыГруппПользователей.ГруппаПользователей
|
||||
| КОНЕЦ КАК Пользователь,
|
||||
| ИСТИНА КАК ЧтениеРазрешено,
|
||||
| ЛОЖЬ КАК ЧтениеЗапрещено,
|
||||
| ЛОЖЬ КАК ИзменениеРазрешено,
|
||||
| ЛОЖЬ КАК ИзменениеЗапрещено
|
||||
| ЛОЖЬ КАК ЧтениеЗапрещено
|
||||
| ИЗ
|
||||
| РегистрСведений.НастройкиПравОбъектов КАК НастройкиПрав
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаследованиеНастроекПравОбъектов КАК НаследованиеНастроек
|
||||
@@ -26649,13 +26754,11 @@
|
||||
|
|
||||
| ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
| ВЫБРАТЬ
|
||||
| ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| НаследованиеНастроек.Объект,
|
||||
| СоставыГруппПользователей.Пользователь,
|
||||
| ЛОЖЬ,
|
||||
| ИСТИНА,
|
||||
| ЛОЖЬ,
|
||||
| ЛОЖЬ
|
||||
| ИСТИНА
|
||||
| ИЗ
|
||||
| РегистрСведений.НастройкиПравОбъектов КАК НастройкиПрав
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаследованиеНастроекПравОбъектов КАК НаследованиеНастроек
|
||||
@@ -26671,12 +26774,25 @@
|
||||
| ПО (СоставыГруппПользователей.ГруппаПользователей = НастройкиПрав.Пользователь)
|
||||
| И (ТИПЗНАЧЕНИЯ(СоставыГруппПользователей.Пользователь) = ТИП(Справочник.Пользователи))
|
||||
| И (СоставыГруппПользователей.Используется)
|
||||
| И (СоставыГруппПользователей.Пользователь.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)
|
||||
| И (СоставыГруппПользователей.Пользователь.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)) КАК НастройкиПравЧтения
|
||||
|
|
||||
| ОБЪЕДИНИТЬ ВСЕ
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| НастройкиПравЧтения.Объект,
|
||||
| НастройкиПравЧтения.Пользователь
|
||||
|
|
||||
| ВЫБРАТЬ
|
||||
| НаследованиеНастроек.Объект,
|
||||
|ИМЕЮЩИЕ
|
||||
| МАКСИМУМ(НастройкиПравЧтения.ЧтениеРазрешено) = ИСТИНА И
|
||||
| МАКСИМУМ(НастройкиПравЧтения.ЧтениеЗапрещено) = ЛОЖЬ
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| НастройкиПравИзменения.Объект КАК Объект,
|
||||
| НастройкиПравИзменения.Пользователь КАК Пользователь
|
||||
|ПОМЕСТИТЬ НастройкиПравИзменения
|
||||
|ИЗ
|
||||
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| НаследованиеНастроек.Объект КАК Объект,
|
||||
| ВЫБОР
|
||||
| КОГДА НаследованиеНастроек.Объект В
|
||||
| (ВЫБРАТЬ
|
||||
@@ -26685,11 +26801,9 @@
|
||||
| ОбъектыСЗапрещениемИзменения)
|
||||
| ТОГДА СоставыГруппПользователей.Пользователь
|
||||
| ИНАЧЕ СоставыГруппПользователей.ГруппаПользователей
|
||||
| КОНЕЦ,
|
||||
| ЛОЖЬ,
|
||||
| ЛОЖЬ,
|
||||
| ИСТИНА,
|
||||
| ЛОЖЬ
|
||||
| КОНЕЦ КАК Пользователь,
|
||||
| ИСТИНА КАК ИзменениеРазрешено,
|
||||
| ЛОЖЬ КАК ИзменениеЗапрещено
|
||||
| ИЗ
|
||||
| РегистрСведений.НастройкиПравОбъектов КАК НастройкиПрав
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаследованиеНастроекПравОбъектов КАК НаследованиеНастроек
|
||||
@@ -26702,15 +26816,17 @@
|
||||
| И (ТИПЗНАЧЕНИЯ(СоставыГруппПользователей.Пользователь) = ТИП(Справочник.Пользователи))
|
||||
| И (СоставыГруппПользователей.Используется)
|
||||
| И (СоставыГруппПользователей.Пользователь.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НастройкиПравЧтения КАК НастройкиПравЧтения
|
||||
| ПО (НастройкиПравЧтения.Объект = НаследованиеНастроек.Объект)
|
||||
| И (НастройкиПравЧтения.Пользователь = СоставыГруппПользователей.ГруппаПользователей
|
||||
| ИЛИ НастройкиПравЧтения.Пользователь = СоставыГруппПользователей.Пользователь)
|
||||
|
|
||||
| ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
| ВЫБРАТЬ
|
||||
| ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| НаследованиеНастроек.Объект,
|
||||
| СоставыГруппПользователей.Пользователь,
|
||||
| ЛОЖЬ,
|
||||
| ЛОЖЬ,
|
||||
| ЛОЖЬ,
|
||||
| ИСТИНА
|
||||
| ИЗ
|
||||
| РегистрСведений.НастройкиПравОбъектов КАК НастройкиПрав
|
||||
@@ -26728,15 +26844,46 @@
|
||||
| ПО (СоставыГруппПользователей.ГруппаПользователей = НастройкиПрав.Пользователь)
|
||||
| И (ТИПЗНАЧЕНИЯ(СоставыГруппПользователей.Пользователь) = ТИП(Справочник.Пользователи))
|
||||
| И (СоставыГруппПользователей.Используется)
|
||||
| И (СоставыГруппПользователей.Пользователь.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)) КАК НастройкиПрав
|
||||
| И (СоставыГруппПользователей.Пользователь.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НастройкиПравЧтения КАК НастройкиПравЧтения
|
||||
| ПО (НастройкиПравЧтения.Объект = НаследованиеНастроек.Объект)
|
||||
| И (НастройкиПравЧтения.Пользователь = СоставыГруппПользователей.ГруппаПользователей
|
||||
| ИЛИ НастройкиПравЧтения.Пользователь = СоставыГруппПользователей.Пользователь)) КАК НастройкиПравИзменения
|
||||
|
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| НастройкиПравИзменения.Объект,
|
||||
| НастройкиПравИзменения.Пользователь
|
||||
|
|
||||
|ИМЕЮЩИЕ
|
||||
| МАКСИМУМ(НастройкиПравИзменения.ИзменениеРазрешено) = ИСТИНА И
|
||||
| МАКСИМУМ(НастройкиПравИзменения.ИзменениеЗапрещено) = ЛОЖЬ
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| НастройкиПрав.Объект КАК ВладелецНастроекПрав,
|
||||
| НастройкиПрав.Пользователь КАК ВладелецПрав,
|
||||
| МАКСИМУМ(НастройкиПрав.Изменение) КАК Изменение
|
||||
|ИЗ
|
||||
| (ВЫБРАТЬ
|
||||
| НастройкиПравЧтения.Объект КАК Объект,
|
||||
| НастройкиПравЧтения.Пользователь КАК Пользователь,
|
||||
| ЛОЖЬ КАК Изменение
|
||||
| ИЗ
|
||||
| НастройкиПравЧтения КАК НастройкиПравЧтения
|
||||
|
|
||||
| ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
| ВЫБРАТЬ
|
||||
| НастройкиПравИзменения.Объект,
|
||||
| НастройкиПравИзменения.Пользователь,
|
||||
| ИСТИНА
|
||||
| ИЗ
|
||||
| НастройкиПравИзменения КАК НастройкиПравИзменения) КАК НастройкиПрав
|
||||
|
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| НастройкиПрав.Объект,
|
||||
| НастройкиПрав.Пользователь
|
||||
|
|
||||
|ИМЕЮЩИЕ
|
||||
| МАКСИМУМ(НастройкиПрав.ЧтениеРазрешено) = ИСТИНА И
|
||||
| МАКСИМУМ(НастройкиПрав.ЧтениеЗапрещено) = ЛОЖЬ
|
||||
|ИТОГИ ПО
|
||||
| ВладелецНастроекПрав";
|
||||
|
||||
@@ -33580,6 +33727,7 @@
|
||||
| РегистрСведений.ОбновлениеКлючейДоступаКДанным КАК ОбновлениеКлючей
|
||||
|ГДЕ
|
||||
| ОбновлениеКлючей.ДатаИзмененияЗаписиРегистра >= &ДатаПоследнегоОбновления
|
||||
| И ОбновлениеКлючей.Список <> НЕОПРЕДЕЛЕНО
|
||||
|
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| ОбновлениеКлючей.Список,
|
||||
|
||||
@@ -375,10 +375,11 @@
|
||||
// Добавляет или изменяет контактную информацию у владельца контактной информации.
|
||||
//
|
||||
// Параметры:
|
||||
// СсылкаИлиОбъект - Произвольный - ссылка или объект владелец контактной информации.
|
||||
// Для ссылки после добавления контактной информации владелец будет записан.
|
||||
// Если передан объект, то контактная информация будет добавлена без записи.
|
||||
// Для сохранения изменений объект необходимо будет записать отдельно.
|
||||
// СсылкаИлиОбъект - СправочникСсылка, ДокументСсылка, СправочникОбъект, ДокументОбъект - ссылка или объект владелец
|
||||
// контактной информации. Для ссылки после добавления контактной информации
|
||||
// владелец будет записан. Если передан объект, то контактная информация будет
|
||||
// добавлена без записи. Для сохранения изменений объект необходимо будет
|
||||
// записать отдельно.
|
||||
// КонтактнаяИнформация - ТаблицаЗначений - таблица, содержащая контактную информацию
|
||||
// Описание колонок см. функцию НоваяКонтактнаяИнформация.
|
||||
// Важно! Если передана пустая таблица значений и указан режим замещения, то
|
||||
@@ -845,7 +846,7 @@
|
||||
ОбъектыСГруппировкойПоТипам = Новый Соответствие;
|
||||
Для каждого Ссылка Из МассивОбъектов Цикл
|
||||
ТипОбъекта = ТипЗнч(Ссылка);
|
||||
НайденныйОбъект = ОбъектыСГруппировкойПоТипам.Получить(ТипОбъекта);
|
||||
НайденныйОбъект = ОбъектыСГруппировкойПоТипам.Получить(ТипОбъекта); // Массив
|
||||
Если НайденныйОбъект = Неопределено Тогда
|
||||
НаборСсылок = Новый Массив;
|
||||
НаборСсылок.Добавить(Ссылка);
|
||||
@@ -1244,7 +1245,7 @@
|
||||
РезультатЗапроса = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Если РезультатЗапроса.Следующий() Тогда
|
||||
ДанныеЗаполнения = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(РезультатЗапроса);
|
||||
ДанныеЗаполнения = ОписаниеСтраныМира(ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(РезультатЗапроса));
|
||||
КонецЕсли;
|
||||
|
||||
Если ДанныеЗаполнения = Неопределено
|
||||
@@ -1369,9 +1370,9 @@
|
||||
// Вызывается из модуля формы объекта-владельца КИ при внедрении подсистемы.
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения - Форма объекта-владельца, предназначенная для вывода контактной
|
||||
// информации.
|
||||
// Объект - Произвольный - Объект-владелец контактной информации. Если это ссылка, то контактная информация
|
||||
// Форма - ФормаКлиентскогоПриложения - Форма объекта-владельца, предназначенная для вывода контактной информации.
|
||||
// Объект - СправочникСсылка, ДокументСсылка, СправочникОбъект, ДокументОбъект - Объект-владелец контактной информации.
|
||||
// Если это ссылка, то контактная информация
|
||||
// будет получена из объекта по ссылке, иначе из таблицы КонтактнаяИнформация объекта.
|
||||
// ДополнительныеПараметры - Структура - Описание настроек контактной информации - см. ПараметрыКонтактнойИнформации.
|
||||
// Предыдущее название параметра ИмяЭлементаДляРазмещения. Устарел, следует
|
||||
@@ -1676,7 +1677,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения - Форма объекта-владельца, предназначенная для вывода контактной информации.
|
||||
// Объект - Произвольный - Объект-владелец контактной информации.
|
||||
// Объект - СправочникСсылка, ДокументСсылка, СправочникОбъект, ДокументОбъект - Объект-владелец контактной информации.
|
||||
// ИмяЭлементаДляРазмещения - Строка - группа, куда будут размещены элементы контактной информации.
|
||||
//
|
||||
Процедура ПриЧтенииНаСервере(Форма, Объект, ИмяЭлементаДляРазмещения = "ГруппаКонтактнаяИнформация") Экспорт
|
||||
@@ -1775,7 +1776,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения - Форма объекта-владельца, предназначенная для вывода контактной информации.
|
||||
// Объект - Произвольный - Объект-владелец контактной информации.
|
||||
// Объект - СправочникСсылка, ДокументСсылка, СправочникОбъект, ДокументОбъект - Объект-владелец контактной информации.
|
||||
//
|
||||
Процедура ПослеЗаписиНаСервере(Форма, Объект) Экспорт
|
||||
|
||||
@@ -1815,7 +1816,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения - Форма объекта-владельца, предназначенная для вывода контактной информации.
|
||||
// Объект - Произвольный - Объект-владелец контактной информации.
|
||||
// Объект - СправочникСсылка, ДокументСсылка, СправочникОбъект, ДокументОбъект - Объект-владелец контактной информации.
|
||||
// Отказ - Булево - Если Истина, то во время проверки были обнаружены ошибки.
|
||||
//
|
||||
Процедура ОбработкаПроверкиЗаполненияНаСервере(Форма, Объект, Отказ) Экспорт
|
||||
@@ -2015,8 +2016,10 @@
|
||||
Форма[Результат.ПервыйЭлемент] = ПервыйЭлемент.Представление;
|
||||
Форма[Результат.ВторойЭлемент] = ВторойЭлемент.Представление;
|
||||
|
||||
Форма.Элементы[Результат.ПервыйЭлемент].РасширеннаяПодсказка.Заголовок = ПервыйЭлемент.Комментарий;
|
||||
Форма.Элементы[Результат.ВторойЭлемент].РасширеннаяПодсказка.Заголовок = ВторойЭлемент.Комментарий;
|
||||
ПервыйЭлементКомментарий = Форма.Элементы[Результат.ПервыйЭлемент]; // ДекорацияФормы
|
||||
ПервыйЭлементКомментарий.РасширеннаяПодсказка.Заголовок = ПервыйЭлемент.Комментарий;
|
||||
ВторойЭлементКомментарий = Форма.Элементы[Результат.ВторойЭлемент]; // ДекорацияФормы
|
||||
ВторойЭлементКомментарий.РасширеннаяПодсказка.Заголовок = ВторойЭлемент.Комментарий;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2260,6 +2263,7 @@
|
||||
// Параметры - Структура - содержит структуру с полями:
|
||||
// * Код - Строка - Код вида контактной информации для идентификации элемента.
|
||||
// * Наименование - Строка - Наименование вида контактной информации.
|
||||
// * Имя - Строка - Имя предопределенного вида контактной информации;
|
||||
// * Используется - Булево - Признак использования вида контактной информации. Значение по умолчанию Истина.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
@@ -2273,24 +2277,7 @@
|
||||
Объект.Родитель = Параметры.Группа;
|
||||
Объект.Используется = Параметры.Используется;
|
||||
|
||||
Если ПустаяСтрока(Параметры.Наименование) Тогда
|
||||
|
||||
Наименования = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.НаименованияВидовКонтактнойИнформации();
|
||||
Для каждого Язык Из Метаданные.Языки Цикл
|
||||
Представление = Наименования[Язык.КодЯзыка][СокрЛП(Объект.ИмяПредопределенногоВида)];
|
||||
Если ЗначениеЗаполнено(Представление) Тогда
|
||||
Если Язык = Метаданные.ОсновнойЯзык Тогда
|
||||
Объект.Наименование = Представление;
|
||||
Иначе
|
||||
НоваяСтрока = Объект.Представления.Добавить();
|
||||
НоваяСтрока.КодЯзыка = Язык.КодЯзыка;
|
||||
НоваяСтрока.Наименование = Представление;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
Объект.Наименование = Параметры.Наименование;
|
||||
КонецЕсли;
|
||||
УстановитьНаименованиеВидаКонтактнойИнформации(Объект, Параметры.Наименование);
|
||||
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьОбъект(Объект);
|
||||
|
||||
@@ -2309,63 +2296,65 @@
|
||||
// Если добавляется предопределенный вид КИ к уже существующим в ИБ, не рекомендуется назначать порядок в явном виде.
|
||||
//
|
||||
// Параметры:
|
||||
// Параметры - Структура - свойства вида контактной информации:
|
||||
// * Вид - СправочникСсылка.ВидыКонтактнойИнформации, Строка - Ссылка на вид контактной информации или
|
||||
// идентификатор предопределенного элемента.
|
||||
// * Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации - Тип контактной информации или его
|
||||
// идентификатор.
|
||||
// * Порядок - Число, Неопределено - Порядок вида контактной информации, положение в
|
||||
// списке относительно других элементов:
|
||||
// Неопределено - не переназначать;
|
||||
// 0 - назначить автоматически;
|
||||
// Число > 0 - назначить указанный порядок.
|
||||
// * МожноИзменятьСпособРедактирования - Булево - Истина, если есть возможность изменять способ
|
||||
// Параметры - Структура - свойства вида контактной информации:
|
||||
// * Имя - Имя предопределенного вида контактной информации;
|
||||
// * Наименование - Наименование вида контактной информации;
|
||||
// * Вид - СправочникСсылка.ВидыКонтактнойИнформации, Строка - Ссылка на вид контактной информации или
|
||||
// идентификатор предопределенного элемента.
|
||||
// * Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации - Тип контактной информации или его
|
||||
// идентификатор.
|
||||
// * Порядок - Число, Неопределено - Порядок вида контактной информации, положение в
|
||||
// списке относительно других элементов:
|
||||
// Неопределено - не переназначать;
|
||||
// 0 - назначить автоматически;
|
||||
// Число > 0 - назначить указанный порядок.
|
||||
// * МожноИзменятьСпособРедактирования - Булево - Истина, если есть возможность изменять способ
|
||||
// редактирования только в диалоге, Ложь - иначе.
|
||||
// * ВидРедактирования - Строка - Определят вид редактирования значения. Варианты: "ПолеВводаИДиалог", "ПолеВвода", "Диалог".
|
||||
// * ВидРедактирования - Строка - Определят вид редактирования значения. Варианты: "ПолеВводаИДиалог", "ПолеВвода", "Диалог".
|
||||
// Если "Диалог", то форме выводится гиперссылка с представлением контактной
|
||||
// информации, по нажатию на которую, открывается форма соответствующего типа КИ.
|
||||
// Свойство применимо только для контактной информации с типом: Адрес, Телефон, Факс.
|
||||
// Если "ПолеВвода", то на форме выводится поле ввода.
|
||||
// Если "ПолеВводаИДиалог", то доступен ввод в поле и в форме соответствующего типа КИ.
|
||||
// * ОбязательноеЗаполнение - Булево - Истина, если требуется обязательное
|
||||
// * ОбязательноеЗаполнение - Булево - Истина, если требуется обязательное
|
||||
// заполнение поля, Ложь - иначе.
|
||||
// * РазрешитьВводНесколькихЗначений - Булево - Признак возможности использования дополнительных
|
||||
// * РазрешитьВводНесколькихЗначений - Булево - Признак возможности использования дополнительных
|
||||
// полей ввода для данного вида.
|
||||
// * ЗапретитьРедактированиеПользователем - Булево - Признак недоступности редактирования
|
||||
// * ЗапретитьРедактированиеПользователем - Булево - Признак недоступности редактирования
|
||||
// пользователем свойства вида контактной
|
||||
// информации.
|
||||
// * ХранитьИсториюИзменений - Булево - Признак хранения истории изменений вида
|
||||
// * ХранитьИсториюИзменений - Булево - Признак хранения истории изменений вида
|
||||
// контактной информации.
|
||||
// Значение по умолчанию Ложь.
|
||||
// * Используется - Булево - Признак использования вида контактной информации.
|
||||
// * Используется - Булево - Признак использования вида контактной информации.
|
||||
// Значение по умолчанию Истина.
|
||||
// * ВидПоляДругое - Строка - Внешний вид поля типа "Другое". Возможные значения:
|
||||
// * ВидПоляДругое - Строка - Внешний вид поля типа "Другое". Возможные значения:
|
||||
// МногострочноеШирокое, ОднострочноеШирокое, ОднострочноеУзкое.
|
||||
// Значение по умолчанию - ОднострочноеШирокое.
|
||||
// * РедактированиеТолькоВДиалоге - Булево - Устарело. Следует использовать ВидРедактирования.
|
||||
// * РедактированиеТолькоВДиалоге - Булево - Устарело. Следует использовать ВидРедактирования.
|
||||
// Если Истина, то форме выводится гиперссылка с представлением контактной
|
||||
// информации по нажатию на которую, открывается форма соответствующего
|
||||
// типа КИ. Свойство применимо только для контактной информации с типом:
|
||||
// Адрес, Телефон, Факс, ВебСтраница. Значение по умолчанию - Ложь.
|
||||
// * НастройкиПроверки - Структура, Неопределено - Настройки проверки вида контактной информации.
|
||||
// Для типа Адрес - Структура, содержащая поля:
|
||||
// * ТолькоНациональныйАдрес - Булево - Истина, если возможен ввод только российских адресов.
|
||||
// * ПроверятьКорректность - Булево - Истина, если требуется запрещать пользователю записывать
|
||||
// * НастройкиПроверки - Структура, Неопределено - Настройки проверки вида контактной информации.
|
||||
// Для типа Адрес - Структура, содержащая поля:
|
||||
// * ТолькоНациональныйАдрес - Булево - Истина, если возможен ввод только российских адресов.
|
||||
// * ПроверятьКорректность - Булево - Истина, если требуется запрещать пользователю записывать
|
||||
// некорректные адреса.
|
||||
// * ЗапрещатьВводНекорректного - Булево - Устарел. Все переданные значения игнорируются.
|
||||
// * ЗапрещатьВводНекорректного - Булево - Устарел. Все переданные значения игнорируются.
|
||||
// Для запрета пользователю записывать некорректные адреса
|
||||
// следует использовать параметр ПроверятьКорректность.
|
||||
// * СкрыватьНеактуальныеАдреса - Булево - Истина, если не требуется показывать неактуальные адреса при
|
||||
// * СкрыватьНеактуальныеАдреса - Булево - Истина, если не требуется показывать неактуальные адреса при
|
||||
// вводе (только если ТолькоНациональныйАдрес = Истина).
|
||||
// * ВключатьСтрануВПредставление - Булево - Истина, если требуется включать наименование страны в
|
||||
// * ВключатьСтрануВПредставление - Булево - Истина, если требуется включать наименование страны в
|
||||
// представление адреса.
|
||||
// Для типа АдресЭлектроннойПочты - Структура, содержащая поля:
|
||||
// * ПроверятьКорректность - Булево - Истина, если требуется запрещать пользователю записывать
|
||||
// Для типа АдресЭлектроннойПочты - Структура, содержащая поля:
|
||||
// * ПроверятьКорректность - Булево - Истина, если требуется запрещать пользователю записывать
|
||||
// некорректный адрес электронной почты.
|
||||
// * ЗапрещатьВводНекорректного - Булево - Устарел. Все переданные значения игнорируются.
|
||||
// * ЗапрещатьВводНекорректного - Булево - Устарел. Все переданные значения игнорируются.
|
||||
// Для запрета пользователю записывать некорректные адреса
|
||||
// следует использовать параметр ПроверятьКорректность.
|
||||
// Для остальных типов или для задания настроек по умолчанию используется Неопределено.
|
||||
// Для остальных типов или для задания настроек по умолчанию используется Неопределено.
|
||||
//
|
||||
Процедура УстановитьСвойстваВидаКонтактнойИнформации(Параметры) Экспорт
|
||||
|
||||
@@ -2381,24 +2370,7 @@
|
||||
|ВидРедактирования, ОбязательноеЗаполнение, РазрешитьВводНесколькихЗначений,
|
||||
|ЗапретитьРедактированиеПользователем, Используется, ХранитьИсториюИзменений ,МеждународныйФорматАдреса");
|
||||
|
||||
Если ПустаяСтрока(Параметры.Наименование) Тогда
|
||||
|
||||
Наименования = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.НаименованияВидовКонтактнойИнформации();
|
||||
Для каждого Язык Из Метаданные.Языки Цикл
|
||||
Представление = Наименования[Язык.КодЯзыка][СокрЛП(Объект.ИмяПредопределенногоВида)];
|
||||
Если ЗначениеЗаполнено(Представление) Тогда
|
||||
Если Язык = Метаданные.ОсновнойЯзык Тогда
|
||||
Объект.Наименование = Представление;
|
||||
Иначе
|
||||
НоваяСтрока = Объект.Представления.Добавить();
|
||||
НоваяСтрока.КодЯзыка = Язык.КодЯзыка;
|
||||
НоваяСтрока.Наименование = Представление;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
Объект.Наименование = Параметры.Наименование;
|
||||
КонецЕсли;
|
||||
УстановитьНаименованиеВидаКонтактнойИнформации(Объект, Параметры.Наименование);
|
||||
|
||||
Если ЗначениеЗаполнено(Параметры.Имя) Тогда
|
||||
Объект.ИмяПредопределенногоВида = Параметры.Имя;
|
||||
@@ -2896,7 +2868,8 @@
|
||||
ПараметрыКонтактнойИнформации = ПараметрыКонтактнойИнформацииФормы(Форма.ПараметрыКонтактнойИнформации, ИмяЭлементаДляРазмещения);
|
||||
Если НЕ Элемент.Значение Тогда
|
||||
Для каждого ЭлементКонтекстногоМеню Из ПараметрыКонтактнойИнформации.СписокДобавляемыхЭлементов Цикл
|
||||
Если ЭлементКонтекстногоМеню.Значение.Ссылка = Элемент.Ключ Тогда
|
||||
Значение = ЭлементКонтекстногоМеню.Значение; // СправочникСсылка.ВидыКонтактнойИнформации
|
||||
Если Значение.Ссылка = Элемент.Ключ Тогда
|
||||
ПараметрыКонтактнойИнформации.СписокДобавляемыхЭлементов.Удалить(ЭлементКонтекстногоМеню);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -2910,7 +2883,8 @@
|
||||
ПараметрыКонтактнойИнформации = ПараметрыКонтактнойИнформацииФормы(Форма.ПараметрыКонтактнойИнформации, ИмяЭлементаДляРазмещения);
|
||||
Если ПараметрыКонтактнойИнформации.СписокДобавляемыхЭлементов.Количество() = 0 Тогда
|
||||
// Делаем кнопку Добавить недоступной, т.к. контекстное меню пустое.
|
||||
Форма.Элементы.КонтактнаяИнформацияДобавитьПолеВвода.Доступность = Ложь;
|
||||
КонтактнаяИнформацияДобавитьПолеВвода = Форма.Элементы.КонтактнаяИнформацияДобавитьПолеВвода; // ГруппаФормы
|
||||
КонтактнаяИнформацияДобавитьПолеВвода.Доступность = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -2953,7 +2927,9 @@
|
||||
// Виды контактной информации объекта.
|
||||
//
|
||||
// Параметры:
|
||||
// ВладелецКонтактнойИнформации - ЛюбаяСсылка, Объект, ДанныеФормыСтруктура
|
||||
// ВладелецКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации, СправочникОбъект.ВидыКонтактнойИнформации,
|
||||
// ДанныеФормыСтруктура - Виды контактной информации. Где:
|
||||
// * Ссылка - СправочникСсылка.ВидыКонтактнойИнформации - ссылка на вид контактной информации.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений - виды контактной информации.
|
||||
@@ -3203,14 +3179,15 @@
|
||||
Команда.Картинка = БиблиотекаКартинок.ДобавитьЭлементСписка;
|
||||
Команда.Действие = "Подключаемый_КонтактнаяИнформацияВыполнитьКоманду";
|
||||
|
||||
Форма.ПараметрыКонтактнойИнформации[ИмяЭлементаДляРазмещения].ДобавленныеЭлементы.Добавить(ИмяКоманды, 9, Истина);
|
||||
ПараметрыКонтактнойИнформацииЭлемента = Форма.ПараметрыКонтактнойИнформации[ИмяЭлементаДляРазмещения]; // см. ПараметрыВыводаКонтактнойИнформации
|
||||
ПараметрыКонтактнойИнформацииЭлемента.ДобавленныеЭлементы.Добавить(ИмяКоманды, 9, Истина);
|
||||
|
||||
Кнопка = Форма.Элементы.Добавить(ИмяКоманды,Тип("КнопкаФормы"), ГруппаКоманды);
|
||||
Кнопка.Доступность = НЕ Форма.Элементы[ИмяЭлементаДляРазмещения].ТолькоПросмотр;
|
||||
Кнопка.Заголовок = НСтр("ru = 'Добавить'");
|
||||
Команда.ИзменяетСохраняемыеДанные = Истина;
|
||||
Кнопка.ИмяКоманды = ИмяКоманды;
|
||||
Форма.ПараметрыКонтактнойИнформации[ИмяЭлементаДляРазмещения].ДобавленныеЭлементы.Добавить(ИмяКоманды, 2, Ложь);
|
||||
ПараметрыКонтактнойИнформацииЭлемента.ДобавленныеЭлементы.Добавить(ИмяКоманды, 2, Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -3223,7 +3200,7 @@
|
||||
И ГруппаДляРазмещения.Вид = ВидГруппыФормы.Страница
|
||||
И Форма.Элементы.Найти("КонтактнаяИнформацияЗаглушка") = Неопределено Тогда
|
||||
|
||||
ГруппаСтраниц = ГруппаДляРазмещения.Родитель;
|
||||
ГруппаСтраниц = ГруппаДляРазмещения.Родитель; // ГруппаФормы
|
||||
ЗаголовокСтраницы = ?(ЗначениеЗаполнено(ГруппаДляРазмещения.Заголовок), ГруппаДляРазмещения.Заголовок, ГруппаДляРазмещения.Имя);
|
||||
ЗаголовокГруппыСтраниц = ?(ЗначениеЗаполнено(ГруппаСтраниц.Заголовок), ГруппаСтраниц.Заголовок, ГруппаСтраниц.Имя);
|
||||
|
||||
@@ -3274,7 +3251,7 @@
|
||||
НайденнаяСтрока.Значение = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(КонтактнаяИнформацияПоПолям);
|
||||
КонецЕсли;
|
||||
|
||||
ПолеВвода = Форма.Элементы.Найти(ИмяРеквизита);
|
||||
ПолеВвода = Форма.Элементы.Найти(ИмяРеквизита); // ДополнениеЭлементаФормы
|
||||
ПолеВвода.РасширеннаяПодсказка.Заголовок = НайденнаяСтрока.Комментарий;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -3800,7 +3777,8 @@
|
||||
Процедура ДобавитьРеквизитВОписание(Форма, СтрокаКонтактнойИнформации, ДанныеВидовКонтактнойИнформации, ЭтоНовыйВидКИ,
|
||||
ЭтоРеквизитТабличнойЧасти = Ложь, ЗаполнятьЗначениеРеквизита = Истина, ИмяЭлементаДляРазмещения = "ГруппаКонтактнаяИнформация")
|
||||
|
||||
НоваяСтрока = Форма.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов.Добавить();
|
||||
ТаблицаОписанияДополнительныхРеквизитов = Форма.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов; // ТаблицаЗначений
|
||||
НоваяСтрока = ТаблицаОписанияДополнительныхРеквизитов.Добавить();
|
||||
НоваяСтрока.ИмяРеквизита = СтрокаКонтактнойИнформации.ИмяРеквизита;
|
||||
НоваяСтрока.Вид = СтрокаКонтактнойИнформации.Вид;
|
||||
НоваяСтрока.Тип = СтрокаКонтактнойИнформации.Тип;
|
||||
@@ -3843,7 +3821,8 @@
|
||||
|
||||
Если ЭтоНовыйВидКИ И ДанныеВидаКонтактнойИнформации.РазрешитьВводНесколькихЗначений И Не ЭтоРеквизитТабличнойЧасти И Не ДанныеВидаКонтактнойИнформации.ПометкаУдаления Тогда
|
||||
ПараметрыКонтактнойИнформации = ПараметрыКонтактнойИнформацииФормы(Форма.ПараметрыКонтактнойИнформации, ИмяЭлементаДляРазмещения);
|
||||
ПараметрыКонтактнойИнформации.СписокДобавляемыхЭлементов.Добавить(ДанныеВидаКонтактнойИнформации, СтрокаКонтактнойИнформации.Вид.Наименование);
|
||||
Вид = СтрокаКонтактнойИнформации.Вид; // СправочникСсылка.ВидыКонтактнойИнформации
|
||||
ПараметрыКонтактнойИнформации.СписокДобавляемыхЭлементов.Добавить(ДанныеВидаКонтактнойИнформации, Вид.Наименование);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -3888,26 +3867,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаполнитьТаблицуВидовКИ(ТаблицаВидов, ВетвьДерева)
|
||||
|
||||
Для каждого СтрокаВида Из ВетвьДерева.Строки Цикл
|
||||
|
||||
Группа = ТаблицаВидов.Добавить();
|
||||
Группа.Имя = СтрокаВида.Имя;
|
||||
Группа.Наименование = СтрокаВида.Наименование;
|
||||
Если СтрокаВида.Родитель <> Неопределено Тогда
|
||||
Группа.Группа = ВетвьДерева.Наименование;
|
||||
Группа.ИмяГруппы = ВетвьДерева.Имя;
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрокаВида.Строки.Количество() > 0 Тогда
|
||||
ЗаполнитьТаблицуВидовКИ(ТаблицаВидов, СтрокаВида);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает имена табличных частей документа по виду контактной информации.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -3991,6 +3950,33 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Заполнение дополнительных реквизитов табличной части "Контактная информация".
|
||||
|
||||
Процедура УстановитьНаименованиеВидаКонтактнойИнформации(Знач Объект, Наименование)
|
||||
|
||||
НаименованияНаРазныхЯзыках = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.НаименованияВидовКонтактнойИнформации();
|
||||
Для каждого Язык Из Метаданные.Языки Цикл
|
||||
Представление = НаименованияНаРазныхЯзыках[Язык.КодЯзыка][СокрЛП(Объект.ИмяПредопределенногоВида)];
|
||||
Если ЗначениеЗаполнено(Представление) Тогда
|
||||
Если Язык = Метаданные.ОсновнойЯзык Тогда
|
||||
Объект.Наименование = Представление;
|
||||
Иначе
|
||||
|
||||
НайденныеСтроки = Объект.Представления.НайтиСтроки(Новый Структура("КодЯзыка", Язык.КодЯзыка));
|
||||
Если НайденныеСтроки.Количество() = 0 Тогда
|
||||
НоваяСтрока = Объект.Представления.Добавить();
|
||||
НоваяСтрока.КодЯзыка = Язык.КодЯзыка;
|
||||
Иначе
|
||||
НоваяСтрока = НайденныеСтроки[0];
|
||||
КонецЕсли;
|
||||
НоваяСтрока.Наименование = Представление;
|
||||
|
||||
КонецЕсли;
|
||||
ИначеЕсли ЗначениеЗаполнено(Наименование) Тогда
|
||||
Объект.Наименование = Наименование;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура КонвертацияКонтактнойИнформацииВJSON(КонтактнаяИнформация)
|
||||
|
||||
// Конвертация
|
||||
@@ -4060,8 +4046,8 @@
|
||||
Элемент.АвтоОтметкаНезаполненного = Не СтрокаТабличнойЧасти.ПометкаУдаления;
|
||||
КонецЕсли;
|
||||
|
||||
Форма.ПараметрыКонтактнойИнформации[ИмяЭлементаДляРазмещения].ДобавленныеЭлементы.Добавить(СтрокаТабличнойЧасти.ИмяРеквизита,
|
||||
2, Ложь);
|
||||
ПараметрыКонтактнойИнформацииЭлемента = Форма.ПараметрыКонтактнойИнформации[ИмяЭлементаДляРазмещения]; // см. ПараметрыВыводаКонтактнойИнформации
|
||||
ПараметрыКонтактнойИнформацииЭлемента.ДобавленныеЭлементы.Добавить(СтрокаТабличнойЧасти.ИмяРеквизита, 2, Ложь);
|
||||
|
||||
ДобавитьРеквизитВОписание(Форма, СтрокаТабличнойЧасти, ДанныеВидовКонтактнойИнформацииТЧ, Ложь, Истина,, ИмяЭлементаДляРазмещения);
|
||||
ПредыдущийВидТЧ = ВидКонтактнойИнформацииТЧ;
|
||||
@@ -4326,6 +4312,34 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Описание параметров вывода контактной информации
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения -
|
||||
// ИмяЭлементаДляРазмещения - Строка, Неопределено -
|
||||
// ПоложениеЗаголовкаКИ - Строка, ПоложениеЗаголовкаЭлементаФормы -
|
||||
// ОтложеннаяИнициализация - Массив, Булево -
|
||||
// ИсключаемыеВиды - Массив, Неопределено -
|
||||
// СкрываемыеВиды - Массив, Неопределено -
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - где:
|
||||
// * ГруппаДляРазмещения - Строка -
|
||||
// * ПоложениеЗаголовка - Строка -
|
||||
// * ДобавленныеРеквизиты - СписокЗначений -
|
||||
// * ОтложеннаяИнициализация - Булево -
|
||||
// * ИсключаемыеВиды - Массив -
|
||||
// * ВыполненаОтложеннаяИнициализация - Булево -
|
||||
// * ДобавленныеЭлементы - СписокЗначений -
|
||||
// * СписокДобавляемыхЭлементов - СписокЗначений - список элементов, где:
|
||||
// * Значение - Структура - Где:
|
||||
// ** Ссылка - СправочникСсылка.ВидыКонтактнойИнформации -
|
||||
// * Ключ - Строка -
|
||||
// * МожноОтправлятьSMS - Булево -
|
||||
// * Владелец - ЛюбаяСсылка -
|
||||
// * ОбработкаНавигационнойСсылки - Булево -
|
||||
// * СкрываемыеВиды - Массив -
|
||||
//
|
||||
Функция ПараметрыВыводаКонтактнойИнформации(Форма, ИмяЭлементаДляРазмещения, ПоложениеЗаголовкаКИ, ОтложеннаяИнициализация, ИсключаемыеВиды, СкрываемыеВиды)
|
||||
|
||||
Если ТипЗнч(Форма.ПараметрыКонтактнойИнформации) <> Тип("Структура") Тогда
|
||||
@@ -4371,9 +4385,9 @@
|
||||
// Если имя не указано, то возвращается полный список программно предопределенных видов.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений - Виды контактной информации.
|
||||
// * Имя - Строка - Имя вида контактной информации.
|
||||
// * Ссылка - СправочникСсылка.ВидыКонтактнойИнформации - Ссылка на элемент справочника виды контактной информации.
|
||||
// ТаблицаЗначений - Виды контактной информации, где:
|
||||
// * Имя - Строка - Имя вида контактной информации.
|
||||
// * Ссылка - СправочникСсылка.ВидыКонтактнойИнформации - Ссылка на элемент справочника виды контактной информации.
|
||||
//
|
||||
Функция ПредопределенныеВидыКонтактнойИнформации(Имя = "") Экспорт
|
||||
|
||||
@@ -4608,6 +4622,15 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает параметры контактной информации на форме
|
||||
//
|
||||
// Параметры:
|
||||
// ПараметрыКонтактнойИнформации - см. ПараметрыВыводаКонтактнойИнформации
|
||||
// ИмяЭлементаДляРазмещения - Строка, Неопределено -
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// см. ПараметрыВыводаКонтактнойИнформации
|
||||
//
|
||||
Функция ПараметрыКонтактнойИнформацииФормы(ПараметрыКонтактнойИнформации, ИмяЭлементаДляРазмещения)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ИмяЭлементаДляРазмещения) ИЛИ НЕ ПараметрыКонтактнойИнформации.Свойство(ИмяЭлементаДляРазмещения) Тогда
|
||||
@@ -4726,7 +4749,7 @@
|
||||
|
||||
Процедура ОбновитьКонтекстноеМеню(Форма, ИмяЭлементаДляРазмещения)
|
||||
|
||||
ПараметрыКонтактнойИнформации = Форма.ПараметрыКонтактнойИнформации[ИмяЭлементаДляРазмещения];
|
||||
ПараметрыКонтактнойИнформации = Форма.ПараметрыКонтактнойИнформации[ИмяЭлементаДляРазмещения]; // см. ПараметрыВыводаКонтактнойИнформации
|
||||
ВсеСтроки = Форма.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов;
|
||||
НайденныеСтроки = ВсеСтроки.НайтиСтроки(
|
||||
Новый Структура("Тип, ЭтоРеквизитТабличнойЧасти", Перечисления.ТипыКонтактнойИнформации.Адрес, Ложь));
|
||||
@@ -5206,5 +5229,35 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Конструктор описания страны мира.
|
||||
//
|
||||
// Параметры:
|
||||
// РезультатЗапроса - Структура - Данные заполнения.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание:
|
||||
// Код - Строка - Числовой код страны по ОКСМ;
|
||||
// КодАльфа2 - Строка - Двузначный буквенный код альфа-2 страны по ОКСМ;
|
||||
// КодАльфа3 - Строка - Трехзначный буквенный код альфа-3 страны по ОКСМ;
|
||||
// Наименование - Строка - Краткое наименование страны мира
|
||||
// НаименованиеПолное - Строка - Полное наименование страны мира;
|
||||
// УчастникЕАЭС - Булево - Страна является участником Евразийского экономического союза;
|
||||
// Неактуальный - Булево - помечена на удаление.
|
||||
//
|
||||
Функция ОписаниеСтраныМира(ДанныеЗаполнения)
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("Код", "");
|
||||
Результат.Вставить("КодАльфа2", "");
|
||||
Результат.Вставить("КодАльфа3", "");
|
||||
Результат.Вставить("Наименование", "");
|
||||
Результат.Вставить("НаименованиеПолное", "");
|
||||
Результат.Вставить("УчастникЕАЭС", Ложь);
|
||||
Результат.Вставить("Неактуальный", Ложь);
|
||||
|
||||
ЗаполнитьЗначенияСвойств(Результат, ДанныеЗаполнения);
|
||||
|
||||
Возврат Результат
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -232,7 +232,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид редактируемой контактной информации.
|
||||
// Структура - см. УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации
|
||||
// - см. УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации - описание вида.
|
||||
// Значение - Строка - сериализованное значение полей контактной информации в формате JSON или XML.
|
||||
// Представление - Строка - представление контактной информации.
|
||||
// Комментарий - Строка - комментарий контактной информации.
|
||||
@@ -242,7 +242,7 @@
|
||||
// Возвращаемое значение:
|
||||
// Структура - содержит поля:
|
||||
// * ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид редактируемой контактной информации.
|
||||
// Структура - см. УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации
|
||||
// Структура - см. УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации
|
||||
// * Значение - Строка - значение полей контактной информации в формате JSON или ХML.
|
||||
// * Представление - Строка - представление контактной информации.
|
||||
// * ТипКонтактнойИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации, если был указан
|
||||
@@ -544,13 +544,7 @@
|
||||
СписокКонтактнойИнформации.Добавить(КонтактнаяИнформация);
|
||||
КонецЦикла;
|
||||
|
||||
ДополнительныеПараметры = Новый Структура("Форма");
|
||||
ДополнительныеПараметры.Вставить("ИмяЭлемента", ПараметрыКонтактнойИнформации.ИмяРеквизита);
|
||||
ДополнительныеПараметры.Вставить("Вид", ПараметрыКонтактнойИнформации.Вид);
|
||||
ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", ПараметрыКонтактнойИнформации.ИмяЭлементаДляРазмещения);
|
||||
ДополнительныеПараметры.Вставить("АсинхронныйВызов", АсинхронныйВызов);
|
||||
|
||||
ДополнительныеПараметры.Форма = Форма;
|
||||
ДополнительныеПараметры = ПослеЗакрытияФормыИсторииДополнительныеПараметры(Форма, ПараметрыКонтактнойИнформации, АсинхронныйВызов);
|
||||
|
||||
ПараметрыФормы = Новый Структура("СписокКонтактнойИнформации", СписокКонтактнойИнформации);
|
||||
ПараметрыФормы.Вставить("ВидКонтактнойИнформации", ПараметрыКонтактнойИнформации.Вид);
|
||||
@@ -700,6 +694,12 @@
|
||||
|
||||
// Завершение немодальных диалогов.
|
||||
|
||||
// Обработчик после закрытия формы истории
|
||||
//
|
||||
// Параметры:
|
||||
// Результат - Структура - результат
|
||||
// ДополнительныеПараметры - см. ПослеЗакрытияФормыИсторииДополнительныеПараметры
|
||||
//
|
||||
Процедура ПослеЗакрытияФормыИстории(Результат, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Если Результат = Неопределено Тогда
|
||||
@@ -748,6 +748,12 @@
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение вызова ПредставлениеНачалоВыбора
|
||||
//
|
||||
// Параметры:
|
||||
// РезультатЗакрытия - Структура -
|
||||
// ДополнительныеПараметры - см. ПредставлениеНачалоВыбораЗавершениеДополнительныеПараметры
|
||||
//
|
||||
Процедура ПредставлениеНачалоВыбораЗавершение(Знач РезультатЗакрытия, Знач ДополнительныеПараметры) Экспорт
|
||||
|
||||
Если ТипЗнч(РезультатЗакрытия) <> Тип("Структура") Тогда
|
||||
@@ -951,16 +957,18 @@
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Оповещение = Новый ОписаниеОповещения("ПредставлениеНачалоВыбораЗавершение", ЭтотОбъект, Новый Структура);
|
||||
Оповещение.ДополнительныеПараметры.Вставить("ДанныеЗаполнения", ДанныеЗаполнения);
|
||||
Оповещение.ДополнительныеПараметры.Вставить("ЭтоТабличнаяЧасть", ЭтоТабличнаяЧасть);
|
||||
Оповещение.ДополнительныеПараметры.Вставить("ИмяЭлементаРазмещения", ДанныеСтроки.ИмяЭлементаДляРазмещения);
|
||||
Оповещение.ДополнительныеПараметры.Вставить("ДанныеСтроки", ДанныеСтроки);
|
||||
Оповещение.ДополнительныеПараметры.Вставить("Элемент", Элемент);
|
||||
Оповещение.ДополнительныеПараметры.Вставить("Результат", Результат);
|
||||
Оповещение.ДополнительныеПараметры.Вставить("Форма", Форма);
|
||||
Оповещение.ДополнительныеПараметры.Вставить("ОбновитьКонтекстноеМеню", ОбновитьКонтекстноеМеню);
|
||||
Оповещение.ДополнительныеПараметры.Вставить("АсинхронныйВызов", АсинхронныйВызов);
|
||||
ДополнительныеПараметры = ПредставлениеНачалоВыбораЗавершениеДополнительныеПараметры();
|
||||
ДополнительныеПараметры.ДанныеЗаполнения = ДанныеЗаполнения;
|
||||
ДополнительныеПараметры.ЭтоТабличнаяЧасть = ЭтоТабличнаяЧасть;
|
||||
ДополнительныеПараметры.ИмяЭлементаРазмещения = ДанныеСтроки.ИмяЭлементаДляРазмещения;
|
||||
ДополнительныеПараметры.ДанныеСтроки = ДанныеСтроки;
|
||||
ДополнительныеПараметры.Элемент = Элемент;
|
||||
ДополнительныеПараметры.Результат = Результат;
|
||||
ДополнительныеПараметры.Форма = Форма;
|
||||
ДополнительныеПараметры.ОбновитьКонтекстноеМеню = ОбновитьКонтекстноеМеню;
|
||||
ДополнительныеПараметры.АсинхронныйВызов = АсинхронныйВызов;
|
||||
|
||||
Оповещение = Новый ОписаниеОповещения("ПредставлениеНачалоВыбораЗавершение", ЭтотОбъект, ДополнительныеПараметры);
|
||||
|
||||
ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытияФормы,, Оповещение);
|
||||
|
||||
@@ -1456,6 +1464,67 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Конструктор дополнительных параметров для формы истории
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения -
|
||||
// ПараметрыКонтактнойИнформации - Структура -
|
||||
// АсинхронныйВызов - Булево -
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание:
|
||||
// * Форма - ФормаКлиентскогоПриложения -
|
||||
// * АсинхронныйВызов - Булево -
|
||||
// * ИмяЭлементаДляРазмещения - Строка -
|
||||
// * Вид - СправочникСсылка.ВидыКонтактнойИнформации -
|
||||
// * ИмяЭлемента - Строка -
|
||||
//
|
||||
Функция ПослеЗакрытияФормыИсторииДополнительныеПараметры(Знач Форма, ПараметрыКонтактнойИнформации, Знач АсинхронныйВызов)
|
||||
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
ДополнительныеПараметры.Вставить("Форма", Форма);
|
||||
ДополнительныеПараметры.Вставить("ИмяЭлемента", ПараметрыКонтактнойИнформации.ИмяРеквизита);
|
||||
ДополнительныеПараметры.Вставить("Вид", ПараметрыКонтактнойИнформации.Вид);
|
||||
ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", ПараметрыКонтактнойИнформации.ИмяЭлементаДляРазмещения);
|
||||
ДополнительныеПараметры.Вставить("АсинхронныйВызов", АсинхронныйВызов);
|
||||
|
||||
|
||||
Возврат ДополнительныеПараметры;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
// Описание
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание:
|
||||
// * АсинхронныйВызов - Булево -
|
||||
// * ОбновитьКонтекстноеМеню - Булево -
|
||||
// * Форма - Неопределено -
|
||||
// * Результат - Неопределено -
|
||||
// * Элемент - ДекорацияФормы, ГруппаФормы, КнопкаФормы, ТаблицаФормы, ПолеФормы -
|
||||
// * ДанныеСтроки - Неопределено -
|
||||
// * ИмяЭлементаРазмещения - Строка -
|
||||
// * ЭтоТабличнаяЧасть - Булево -
|
||||
// * ДанныеЗаполнения - Строка -
|
||||
//
|
||||
Функция ПредставлениеНачалоВыбораЗавершениеДополнительныеПараметры()
|
||||
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
|
||||
ДополнительныеПараметры.Вставить("ДанныеЗаполнения", "");
|
||||
ДополнительныеПараметры.Вставить("ЭтоТабличнаяЧасть", Ложь);
|
||||
ДополнительныеПараметры.Вставить("ИмяЭлементаРазмещения", "");
|
||||
ДополнительныеПараметры.Вставить("ДанныеСтроки", Неопределено);
|
||||
ДополнительныеПараметры.Вставить("Элемент", Неопределено);
|
||||
ДополнительныеПараметры.Вставить("Результат", Неопределено);
|
||||
ДополнительныеПараметры.Вставить("Форма", Неопределено);
|
||||
ДополнительныеПараметры.Вставить("ОбновитьКонтекстноеМеню", Ложь);
|
||||
ДополнительныеПараметры.Вставить("АсинхронныйВызов", Ложь);
|
||||
|
||||
Возврат ДополнительныеПараметры;
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Возвращает строку, в которой все не алфавитно-числовые символы (кроме -_.)
|
||||
// заменены на знак процентов (%) с последующими двумя шестнадцатеричными цифрами и
|
||||
|
||||
@@ -361,7 +361,7 @@
|
||||
|
||||
УчетнаяЗапись = ВыборкаУчетныеЗаписи.УчетнаяЗапись;
|
||||
Письма = Новый Массив;
|
||||
СсылкиПисем = Новый Массив;
|
||||
СсылкиПисем = Новый Соответствие;
|
||||
|
||||
ВыборкаПисьма = ВыборкаУчетныеЗаписи.Выбрать();
|
||||
Пока ВыборкаПисьма.Следующий() Цикл
|
||||
@@ -379,12 +379,15 @@
|
||||
Письмо = РаботаСПочтовымиСообщениями.ПодготовитьПисьмо(УчетнаяЗапись, ПараметрыПисьма);
|
||||
Письма.Добавить(Письмо);
|
||||
|
||||
СсылкиПисем.Добавить(ВыборкаПисьма.Письмо);
|
||||
СсылкиПисем.Вставить(Письмо, ВыборкаПисьма.Письмо);
|
||||
КонецЦикла;
|
||||
|
||||
РаботаСПочтовымиСообщениями.ОтправитьПисьма(УчетнаяЗапись, Письма);
|
||||
|
||||
Для Каждого Ссылка Из СсылкиПисем Цикл
|
||||
ОтправленныеПисьма = РаботаСПочтовымиСообщениями.ОтправитьПисьма(УчетнаяЗапись, Письма);
|
||||
Для Каждого Письмо Из СсылкиПисем Цикл
|
||||
Если ОтправленныеПисьма[Письмо.Ключ] = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Ссылка = Письмо.Значение;
|
||||
УстановитьПризнакОтправкиУведомления(Ссылка, Ложь);
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="8944604c-db35-4f12-893b-fc29d17ecca6">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ee95573f-022a-4354-8ef3-1d76e424e0b1">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.1</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c0941663-e58f-43f1-a09d-af47f0cae552"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="16ca4ba2-f88b-425a-85e2-b1ac0783a8e9"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="2ff66df6-e901-4ca4-822e-32ef623ef144"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="5736923d-c10a-4aff-804a-6e4038166638"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="abc3399c-358d-4a32-9f87-44b999353591"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="4d039111-e601-4663-aeea-b1f10cbd01d5"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="aba1fc76-3004-40c3-8d9f-89265833f304"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="b596525c-0277-4a54-875b-b3c8f569f138"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="7173a910-07cd-4dd5-9d0e-13c38cda0f7b"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="844f5336-2882-476e-816d-934c91d5842b"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="7d5240f8-7d37-4a5b-bdd4-4405c8bd31a1"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="9bead23e-9dc3-41f5-8224-e7f868cfd853"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="d7c6a56c-d193-44f3-b918-723e93240b9a"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="7c0fab82-57a2-4ae0-9363-8a083f7aadaa"/>
|
||||
<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.2.166</version>
|
||||
<version>3.1.2.176</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,7bbcfa69-70f1-4fe2-ab90-f0f4ef3356bb,1,b7cbdf06-b438-4b62-8f4c-3d47213b5f7e,"3.1.2.166","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5901,1,0,8944604c-db35-4f12-893b-fc29d17ecca6,8944604c-db35-4f12-893b-fc29d17ecca6,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,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,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,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,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,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,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,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,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-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
|
||||
{6,1,1,711e059e-afbe-4765-9d6b-002d8cc2b36c,1,750e295a-3316-46b4-9cc7-c1bd47834e50,"3.1.2.176","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5901,1,0,ee95573f-022a-4354-8ef3-1d76e424e0b1,ee95573f-022a-4354-8ef3-1d76e424e0b1,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,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,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,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,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,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,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,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,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-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
|
||||
@@ -2780,8 +2780,7 @@
|
||||
Элементы.ПояснениеОНастроенныхИзменениях.Заголовок = ФорматированнаяСтрока(Пояснение);
|
||||
Если ПустаяСтрока(КодАлгоритма) Тогда
|
||||
КодАлгоритма = ПодставитьПараметрыВСтроку(НСтр("ru='// Доступные переменные:
|
||||
|// %1 - обрабатываемый объект
|
||||
|'"), "Объект");
|
||||
|// %1 - обрабатываемый объект'"), "Объект") + Символы.ПС;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
+12
-7
@@ -126,12 +126,7 @@
|
||||
НСтр("ru = 'Данные были изменены. Сохранить изменения?'"), РежимДиалогаВопрос.ДаНетОтмена);
|
||||
|
||||
Иначе
|
||||
|
||||
ВозвращаемоеЗначение = Новый Структура;
|
||||
ВозвращаемоеЗначение.Вставить("Ссылка", Объект.Ссылка);
|
||||
ВозвращаемоеЗначение.Вставить("Добавлен", ЗаявлениеИсполнено());
|
||||
Закрыть(ВозвращаемоеЗначение);
|
||||
|
||||
ЗакрытьФорму();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -654,7 +649,7 @@
|
||||
ИначеЕсли Ответ = КодВозвратаДиалога.Да Тогда
|
||||
ЗаписатьИРазблокироватьОбъект();
|
||||
ПослеЗаписи();
|
||||
Закрыть();
|
||||
ЗакрытьФорму();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -685,6 +680,16 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗакрытьФорму()
|
||||
|
||||
ВозвращаемоеЗначение = Новый Структура;
|
||||
ВозвращаемоеЗначение.Вставить("Ссылка", Объект.Ссылка);
|
||||
ВозвращаемоеЗначение.Вставить("Добавлен", ЗаявлениеИсполнено());
|
||||
Закрыть(ВозвращаемоеЗначение);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗагрузитьЗаявление()
|
||||
|
||||
|
||||
@@ -225,6 +225,10 @@
|
||||
ФайлыПакета = ИнформацияПриЗапуске.ИзвлечьФайлыПакета(РеквизитФормыВЗначение("Объект"), СтартовыйПакетСтраниц.ИмяМакета);
|
||||
КонецЕсли;
|
||||
|
||||
Если ФайлыПакета = Неопределено Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
// Подготовка пакета к показу.
|
||||
РазместитьСтраницыПакета(СтартовыйПакетСтраниц, ФайлыПакета);
|
||||
|
||||
|
||||
+27
-14
@@ -508,21 +508,30 @@
|
||||
Параметры.Свойство("ЭтоОбменСПриложениемВСервисе", ЭтоОбменСПриложениемВСервисе);
|
||||
Параметры.Свойство("ОбластьДанныхКорреспондента", ОбластьДанныхКорреспондента);
|
||||
|
||||
ИспользоватьПрогресс = Не ЭтоОбменСПриложениемВСервисе;
|
||||
|
||||
ВидТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.ВидТранспортаСообщенийОбменаПоУмолчанию(УзелОбмена);
|
||||
|
||||
Если Не ЗначениеЗаполнено(ВидТранспорта) Тогда
|
||||
ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим;
|
||||
КонецЕсли;
|
||||
|
||||
ПодключениеЧерезВнешнееСоединение = (ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.COM);
|
||||
|
||||
Если ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS Тогда
|
||||
ИспользоватьПрогресс = Не ЭтоОбменСПриложениемВСервисе
|
||||
И Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS
|
||||
И Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим;
|
||||
|
||||
ИспользоватьПрогресс = Ложь;
|
||||
Если ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS Тогда
|
||||
|
||||
НастройкиТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(УзелОбмена);
|
||||
|
||||
ЗапроситьПароль = Не (НастройкиТранспорта.WSЗапомнитьПароль
|
||||
Или ОбменДаннымиСервер.ПарольСинхронизацииДанныхЗадан(УзелОбмена));
|
||||
|
||||
ИначеЕсли ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим Тогда
|
||||
|
||||
ПроверкаПодключенияВыполнена = Истина;
|
||||
ВыгрузкаДанныхВыполнена = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьТаблицуПереходов();
|
||||
@@ -578,23 +587,27 @@
|
||||
НовыйПереход.ИмяОбработчикаПриПереходеДалее = "СтраницаЗапросПароля_ПриПереходеДалее";
|
||||
КонецЕсли;
|
||||
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаПроверкаПодключения", "СтраницаНавигацияОжидание");
|
||||
НовыйПереход.ДлительнаяОперация = Истина;
|
||||
НовыйПереход.ИмяОбработчикаДлительнойОперации = "СтраницаПроверкаПодключения_ДлительнаяОперация";
|
||||
Если Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим Тогда
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаПроверкаПодключения", "СтраницаНавигацияОжидание");
|
||||
НовыйПереход.ДлительнаяОперация = Истина;
|
||||
НовыйПереход.ИмяОбработчикаДлительнойОперации = "СтраницаПроверкаПодключения_ДлительнаяОперация";
|
||||
КонецЕсли;
|
||||
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаРегистрацияИзменений", "СтраницаНавигацияОжидание");
|
||||
НовыйПереход.ИмяОбработчикаПриОткрытии = "СтраницаРегистрацияИзменений_ПриОткрытии";
|
||||
НовыйПереход.ДлительнаяОперация = Истина;
|
||||
НовыйПереход.ИмяОбработчикаДлительнойОперации = "СтраницаРегистрацияИзменений_ДлительнаяОперация";
|
||||
|
||||
Если ИспользоватьПрогресс Тогда
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаВыгрузкаДанныхПрогресс", "СтраницаНавигацияОжидание");
|
||||
Иначе
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаВыгрузкаДанныхБезПрогресса", "СтраницаНавигацияОжидание");
|
||||
Если Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим Тогда
|
||||
Если ИспользоватьПрогресс Тогда
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаВыгрузкаДанныхПрогресс", "СтраницаНавигацияОжидание");
|
||||
Иначе
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаВыгрузкаДанныхБезПрогресса", "СтраницаНавигацияОжидание");
|
||||
КонецЕсли;
|
||||
НовыйПереход.ИмяОбработчикаПриОткрытии = "СтраницаВыгрузкаДанных_ПриОткрытии";
|
||||
НовыйПереход.ДлительнаяОперация = Истина;
|
||||
НовыйПереход.ИмяОбработчикаДлительнойОперации = "СтраницаВыгрузкаДанных_ДлительнаяОперация";
|
||||
КонецЕсли;
|
||||
НовыйПереход.ИмяОбработчикаПриОткрытии = "СтраницаВыгрузкаДанных_ПриОткрытии";
|
||||
НовыйПереход.ДлительнаяОперация = Истина;
|
||||
НовыйПереход.ИмяОбработчикаДлительнойОперации = "СтраницаВыгрузкаДанных_ДлительнаяОперация";
|
||||
|
||||
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаОкончание", "СтраницаНавигацияОкончание");
|
||||
НовыйПереход.ИмяОбработчикаПриОткрытии = "СтраницаОкончание_ПриОткрытии";
|
||||
|
||||
@@ -1634,60 +1634,16 @@
|
||||
&НаСервереБезКонтекста
|
||||
Функция СостояниеДлительнойОперации(Знач ИдентификаторОперации, УзелОбмена, ПолучитьПарольИзСеансовыхДанных, СтрокаСообщенияОбОшибке = "")
|
||||
|
||||
Попытка
|
||||
|
||||
ПараметрыПодключения = ОбменДаннымиСервер.СтруктураПараметровWS();
|
||||
|
||||
ПараметрыАутентификации = Неопределено;
|
||||
Если ПолучитьПарольИзСеансовыхДанных Тогда
|
||||
ПараметрыАутентификации = ОбменДаннымиСервер.ПарольСинхронизацииДанных(УзелОбмена);
|
||||
КонецЕсли;
|
||||
|
||||
СохраненныеПараметры = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(
|
||||
УзелОбмена, ПараметрыАутентификации);
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыПодключения, СохраненныеПараметры);
|
||||
|
||||
ВерсииИнтерфейса = ОбменДаннымиПовтИсп.ВерсииКорреспондента(ПараметрыПодключения);
|
||||
|
||||
СтрокаСообщенияОбОшибке = "";
|
||||
|
||||
WSПрокси = Неопределено;
|
||||
Если ВерсииИнтерфейса.Найти("3.0.1.1") <> Неопределено Тогда
|
||||
|
||||
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_3_0_1_1(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
|
||||
|
||||
ИначеЕсли ВерсииИнтерфейса.Найти("2.1.1.7") <> Неопределено Тогда
|
||||
|
||||
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_2_1_1_7(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
|
||||
|
||||
ИначеЕсли ВерсииИнтерфейса.Найти("2.0.1.6") <> Неопределено Тогда
|
||||
|
||||
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_2_0_1_6(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
|
||||
|
||||
Иначе
|
||||
|
||||
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если WSПрокси = Неопределено Тогда
|
||||
ВызватьИсключение СтрокаСообщенияОбОшибке;
|
||||
КонецЕсли;
|
||||
|
||||
Результат = WSПрокси.GetContinuousOperationStatus(ИдентификаторОперации, СтрокаСообщенияОбОшибке);
|
||||
|
||||
Исключение
|
||||
Результат = "Failed";
|
||||
СтрокаСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())
|
||||
+ ?(ЗначениеЗаполнено(СтрокаСообщенияОбОшибке), Символы.ПС + СтрокаСообщенияОбОшибке, "");
|
||||
КонецПопытки;
|
||||
|
||||
Если Результат = "Failed" Тогда
|
||||
СтрокаСообщения = НСтр("ru = 'Ошибка в базе-корреспонденте: %1'");
|
||||
СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, СтрокаСообщенияОбОшибке);
|
||||
ПараметрыАутентификации = Неопределено;
|
||||
Если ПолучитьПарольИзСеансовыхДанных Тогда
|
||||
ПараметрыАутентификации = ОбменДаннымиСервер.ПарольСинхронизацииДанных(УзелОбмена);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
Возврат ОбменДаннымиВызовСервера.СостояниеДлительнойОперацииДляУзлаИнформационнойБазы(
|
||||
ИдентификаторОперации,
|
||||
УзелОбмена,
|
||||
ПараметрыАутентификации,
|
||||
СтрокаСообщенияОбОшибке);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+8
-9
@@ -121,7 +121,7 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Возврат;
|
||||
ИначеЕсли НастройкаНовойСинхронизации Тогда
|
||||
ИначеЕсли ТекущийЭтапНастройки = "НастройкаПодключения" Тогда
|
||||
ПараметрыПомощника = Новый Структура;
|
||||
ПараметрыПомощника.Вставить("ИмяПланаОбмена", ИмяПланаОбмена);
|
||||
ПараметрыПомощника.Вставить("ИдентификаторНастройки", ИдентификаторНастройки);
|
||||
@@ -307,11 +307,6 @@
|
||||
ПолученыДанныеДляСопоставления = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если РезультатЗакрытия.Свойство("ПассивныйРежим")
|
||||
И РезультатЗакрытия.ПассивныйРежим Тогда
|
||||
ДоступнаИнтерактивнаяОтправка = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьТаблицуЭтаповНастройки();
|
||||
ОбновитьОтображениеТекущегоСостоянияНастройки();
|
||||
|
||||
@@ -364,9 +359,6 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ДоступнаИнтерактивнаяОтправка = ДоступнаИнтерактивнаяОтправка
|
||||
И Не (ОбменДаннымиВызовСервера.ВариантОбменаДанными(УзелОбмена) = "ТолькоПолучение");
|
||||
|
||||
Если РезультатЗакрытия.ПолученыДанныеДляСопоставления
|
||||
И Не ПолученыДанныеДляСопоставления Тогда
|
||||
ПолученыДанныеДляСопоставления = РезультатЗакрытия.ПолученыДанныеДляСопоставления;
|
||||
@@ -763,6 +755,13 @@
|
||||
Если Не ПустаяСтрока(ИмяФормыСозданияНачальногоОбраза) Тогда
|
||||
ТекущийЭтапНастройки = "НачальныйОбразРИБ";
|
||||
КонецЕсли;
|
||||
ИначеЕсли ЗначениеЗаполнено(УзелОбмена) Тогда
|
||||
НомераСообщений = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(УзелОбмена, "НомерПринятого, НомерОтправленного");
|
||||
Если НомераСообщений.НомерПринятого = 0
|
||||
И НомераСообщений.НомерОтправленного = 0
|
||||
И ОбменДаннымиСервер.ПолученоСообщениеСДаннымиДляСопоставления(УзелОбмена) Тогда
|
||||
ТекущийЭтапНастройки = "СопоставлениеИЗагрузка";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ВсеЭтапыНастройки = Новый Структура;
|
||||
|
||||
@@ -1362,6 +1362,8 @@
|
||||
Константы.ИспользоватьСинхронизациюДанных.Установить(Истина);
|
||||
Константы.НеИспользоватьРазделениеПоОбластямДанных.Установить(Истина);
|
||||
|
||||
ОбменДаннымиСервер.УстановитьКоличествоЭлементовВТранзакцииЗагрузкиДанныхПоУмолчанию();
|
||||
|
||||
// Правила обмена не мигрируют в РИБ, поэтому выполняем загрузку правил.
|
||||
ОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными();
|
||||
|
||||
|
||||
@@ -289,11 +289,13 @@
|
||||
КонецЕсли;
|
||||
// {Обработчик: ПриПолученииДанныхОтправителя} Окончание
|
||||
|
||||
ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим;
|
||||
|
||||
ВыполнитьДействияПоНастройкеНовогоОбменаДанными(Отказ,
|
||||
НастройкаОтборовНаУзле,
|
||||
ЗначенияПоУмолчаниюНаУзле,
|
||||
Ложь,
|
||||
Ложь);
|
||||
Истина);
|
||||
|
||||
Если Отказ Тогда
|
||||
УдалитьНастройкуОбменаДанными();
|
||||
|
||||
@@ -1568,6 +1568,7 @@
|
||||
<name>Удалить</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<associatedTableElementId xsi:type="core:StringValue">
|
||||
<value>Код</value>
|
||||
</associatedTableElementId>
|
||||
|
||||
@@ -1653,7 +1653,7 @@
|
||||
<id>9</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Удалить данные версии файла</value>
|
||||
<value>Удалить данные файла</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
|
||||
@@ -4843,7 +4843,7 @@
|
||||
<id>34</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Удалить данные версии файла</value>
|
||||
<value>Удалить данные файла</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
|
||||
@@ -5061,7 +5061,7 @@
|
||||
<id>30</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Удалить данные версии файла</value>
|
||||
<value>Удалить данные файла</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -5074,6 +5074,7 @@
|
||||
<name>Удалить</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<associatedTableElementId xsi:type="core:StringValue">
|
||||
<value>ФормаСтандартнаяЗаписать</value>
|
||||
</associatedTableElementId>
|
||||
|
||||
+2
@@ -82,6 +82,8 @@
|
||||
|
||||
СообщенияПользователюИОписаниеИнформацииОбОшибке = РегламентныеЗаданияСлужебный
|
||||
.СообщенияИОписанияОшибокРегламентногоЗадания(Задание);
|
||||
|
||||
Элементы.Наименование.Видимость = Не Задание.Предопределенное;
|
||||
КонецЕсли;
|
||||
|
||||
Если Действие <> "Изменить" Тогда
|
||||
|
||||
+48
-76
@@ -187,8 +187,6 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Подключает обработчик ожидания истечения таймаута перед принудительным стартом резервного копирования/восстановления
|
||||
// данных.
|
||||
&НаКлиенте
|
||||
Процедура УстановитьОбработчикОжиданияИстеченияТаймаутаРезервногоКопирования()
|
||||
|
||||
@@ -196,7 +194,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Подключает обработчик ожидания при отложенном резервном копировании.
|
||||
&НаКлиенте
|
||||
Процедура УстановитьОбработчикОжиданияНачалаРезервногоКопирования()
|
||||
|
||||
@@ -204,7 +201,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Функция запрашивает у пользователя и возвращает путь к файлу или каталогу.
|
||||
&НаКлиенте
|
||||
Процедура ВыбратьФайлРезервнойКопии()
|
||||
|
||||
@@ -339,7 +335,7 @@
|
||||
|
||||
#Если Не ВебКлиент И Не МобильныйКлиент Тогда
|
||||
|
||||
ИмяГлавногоФайлаСкрипта = СформироватьФайлыСкриптаОбновления();
|
||||
ИмяГлавногоФайлаСкрипта = СформироватьФайлыСкрипта();
|
||||
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
|
||||
РезервноеКопированиеИБКлиент.СобытиеЖурналаРегистрации(),
|
||||
"Информация",
|
||||
@@ -383,52 +379,45 @@
|
||||
#Если Не ВебКлиент И Не МобильныйКлиент Тогда
|
||||
|
||||
&НаКлиенте
|
||||
Функция СформироватьФайлыСкриптаОбновления()
|
||||
Функция СформироватьФайлыСкрипта()
|
||||
|
||||
ПараметрыКопирования = РезервноеКопированиеИБКлиент.КлиентскиеПараметрыРезервногоКопирования();
|
||||
ПараметрыРаботыКлиента = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента();
|
||||
СоздатьКаталог(ПараметрыКопирования.КаталогВременныхФайловОбновления);
|
||||
|
||||
// Структура параметров необходима для их определения на клиенте и передачи на сервер.
|
||||
СтруктураПараметров = Новый Структура;
|
||||
СтруктураПараметров.Вставить("ИмяФайлаПрограммы" , ПараметрыКопирования.ИмяФайлаПрограммы);
|
||||
СтруктураПараметров.Вставить("СобытиеЖурналаРегистрации" , ПараметрыКопирования.СобытиеЖурналаРегистрации);
|
||||
СтруктураПараметров.Вставить("ИмяCOMСоединителя" , ПараметрыРаботыКлиента.ИмяCOMСоединителя);
|
||||
СтруктураПараметров.Вставить("ЭтоБазоваяВерсияКонфигурации", ПараметрыРаботыКлиента.ЭтоБазоваяВерсияКонфигурации);
|
||||
СтруктураПараметров.Вставить("ИнформационнаяБазаФайловая" , ПараметрыРаботыКлиента.ИнформационнаяБазаФайловая);
|
||||
СтруктураПараметров.Вставить("ПараметрыСкрипта" , РезервноеКопированиеИБКлиент.ПараметрыАутентификацииАдминистратораОбновления(ПарольАдминистратораИБ));
|
||||
СтруктураПараметров.Вставить("ПараметрыЗапускаПредприятия" , ОбщегоНазначенияСлужебныйКлиент.ПараметрыЗапускаПредприятияИзСкрипта());
|
||||
ПараметрыСкрипта = Новый Структура;
|
||||
ПараметрыСкрипта.Вставить("ИмяФайлаПрограммы" , ПараметрыКопирования.ИмяФайлаПрограммы);
|
||||
ПараметрыСкрипта.Вставить("СобытиеЖурналаРегистрации" , ПараметрыКопирования.СобытиеЖурналаРегистрации);
|
||||
ПараметрыСкрипта.Вставить("ИмяCOMСоединителя" , ПараметрыРаботыКлиента.ИмяCOMСоединителя);
|
||||
ПараметрыСкрипта.Вставить("ЭтоБазоваяВерсияКонфигурации", ПараметрыРаботыКлиента.ЭтоБазоваяВерсияКонфигурации);
|
||||
ПараметрыСкрипта.Вставить("ИнформационнаяБазаФайловая" , ПараметрыРаботыКлиента.ИнформационнаяБазаФайловая);
|
||||
ПараметрыСкрипта.Вставить("ПараметрыСкрипта" , РезервноеКопированиеИБКлиент.ПараметрыАутентификацииАдминистратораОбновления(ПарольАдминистратораИБ));
|
||||
ПараметрыСкрипта.Вставить("ПараметрыЗапускаПредприятия" , ОбщегоНазначенияСлужебныйКлиент.ПараметрыЗапускаПредприятияИзСкрипта());
|
||||
|
||||
ИменаМакетов = "ДопФайлРезервногоКопирования";
|
||||
ИменаМакетов = ИменаМакетов + ",ЗаставкаВосстановления";
|
||||
|
||||
ТекстыМакетов = ПолучитьТекстыМакетов(ИменаМакетов, СтруктураПараметров, ПараметрыПриложения["СтандартныеПодсистемы.СообщенияДляЖурналаРегистрации"]);
|
||||
Скрипты = СформироватьТекстСкриптов(ПараметрыСкрипта, ПараметрыПриложения["СтандартныеПодсистемы.СообщенияДляЖурналаРегистрации"]);
|
||||
|
||||
// Вспомогательный файл main.js.
|
||||
ФайлСкрипта = Новый ТекстовыйДокумент;
|
||||
ФайлСкрипта.Вывод = ИспользованиеВывода.Разрешить;
|
||||
ФайлСкрипта.УстановитьТекст(ТекстыМакетов[0]);
|
||||
|
||||
ФайлСкрипта.УстановитьТекст(Скрипты.Скрипт);
|
||||
ИмяФайлаСкрипта = ПараметрыКопирования.КаталогВременныхФайловОбновления + "main.js";
|
||||
ФайлСкрипта.Записать(ИмяФайлаСкрипта, РезервноеКопированиеИБКлиент.КодировкаФайловПрограммыРезервногоКопированияИБ());
|
||||
|
||||
// Вспомогательный файл: helpers.js.
|
||||
// Вспомогательный файл helpers.js.
|
||||
ФайлСкрипта = Новый ТекстовыйДокумент;
|
||||
ФайлСкрипта.Вывод = ИспользованиеВывода.Разрешить;
|
||||
ФайлСкрипта.УстановитьТекст(ТекстыМакетов[1]);
|
||||
ФайлСкрипта.УстановитьТекст(Скрипты.ДопФайлРезервногоКопирования);
|
||||
ФайлСкрипта.Записать(ПараметрыКопирования.КаталогВременныхФайловОбновления + "helpers.js", РезервноеКопированиеИБКлиент.КодировкаФайловПрограммыРезервногоКопированияИБ());
|
||||
|
||||
ИмяГлавногоФайлаСкрипта = Неопределено;
|
||||
// Вспомогательный файл: splash.png.
|
||||
БиблиотекаКартинок.ЗаставкаВнешнейОперации.Записать(ПараметрыКопирования.КаталогВременныхФайловОбновления + "splash.png");
|
||||
// Вспомогательный файл: splash.ico.
|
||||
БиблиотекаКартинок.ЗначокЗаставкиВнешнейОперации.Записать(ПараметрыКопирования.КаталогВременныхФайловОбновления + "splash.ico");
|
||||
// Вспомогательный файл: progress.gif.
|
||||
БиблиотекаКартинок.ДлительнаяОперация48.Записать(ПараметрыКопирования.КаталогВременныхФайловОбновления + "progress.gif");
|
||||
// Главный файл заставки: splash.hta.
|
||||
|
||||
// Главный файл заставки splash.hta.
|
||||
ИмяГлавногоФайлаСкрипта = ПараметрыКопирования.КаталогВременныхФайловОбновления + "splash.hta";
|
||||
ФайлСкрипта = Новый ТекстовыйДокумент;
|
||||
ФайлСкрипта.Вывод = ИспользованиеВывода.Разрешить;
|
||||
ФайлСкрипта.УстановитьТекст(ТекстыМакетов[2]);
|
||||
ФайлСкрипта.УстановитьТекст(Скрипты.ЗаставкаВосстановления);
|
||||
ФайлСкрипта.Записать(ИмяГлавногоФайлаСкрипта, РезервноеКопированиеИБКлиент.КодировкаФайловПрограммыРезервногоКопированияИБ());
|
||||
|
||||
ФайлЛога = Новый ТекстовыйДокумент;
|
||||
@@ -443,25 +432,20 @@
|
||||
#КонецЕсли
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьТекстыМакетов(ИменаМакетов, СтруктураПараметров, СообщенияДляЖурналаРегистрации)
|
||||
|
||||
// Запись накопленных событий ЖР.
|
||||
Функция СформироватьТекстСкриптов(ПараметрыСкрипта, СообщенияДляЖурналаРегистрации)
|
||||
|
||||
ЖурналРегистрации.ЗаписатьСобытияВЖурналРегистрации(СообщенияДляЖурналаРегистрации);
|
||||
|
||||
Результат = Новый Массив();
|
||||
Результат.Добавить(ПолучитьТекстСкрипта(СтруктураПараметров));
|
||||
|
||||
ИменаМакетовМассив = СтрРазделить(ИменаМакетов, ",");
|
||||
Для каждого ИмяМакета Из ИменаМакетовМассив Цикл
|
||||
Результат.Добавить(Обработки.РезервноеКопированиеИБ.ПолучитьМакет(ИмяМакета).ПолучитьТекст());
|
||||
КонецЦикла;
|
||||
Результат = Новый Структура("Скрипт, ДопФайлРезервногоКопирования, ЗаставкаВосстановления");
|
||||
Результат.Скрипт = СформироватьТекстСкрипта(ПараметрыСкрипта);
|
||||
Результат.ДопФайлРезервногоКопирования = Обработки.РезервноеКопированиеИБ.ПолучитьМакет("ДопФайлРезервногоКопирования").ПолучитьТекст();
|
||||
Результат.ЗаставкаВосстановления = СформироватьТекстЗаставки();
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьТекстСкрипта(СтруктураПараметров)
|
||||
Функция СформироватьТекстСкрипта(ПараметрыСкрипта)
|
||||
|
||||
// Файл обновления конфигурации: main.js.
|
||||
ШаблонСкрипта = Обработки.РезервноеКопированиеИБ.ПолучитьМакет("МакетФайлаЗагрузкаИБ");
|
||||
@@ -474,55 +458,43 @@
|
||||
Текст.УдалитьСтроку(1);
|
||||
Текст.УдалитьСтроку(Текст.КоличествоСтрок());
|
||||
|
||||
Возврат ВставитьПараметрыСкрипта(Скрипт.ПолучитьТекст(), СтруктураПараметров) + Текст.ПолучитьТекст();
|
||||
Возврат ВставитьПараметрыСкрипта(Скрипт.ПолучитьТекст(), ПараметрыСкрипта) + Текст.ПолучитьТекст();
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ВставитьПараметрыСкрипта(Знач Текст, Знач СтруктураПараметров)
|
||||
Функция ВставитьПараметрыСкрипта(Знач Текст, Знач ПараметрыСкрипта)
|
||||
|
||||
Результат = Текст;
|
||||
|
||||
ПараметрыСкрипта = СтруктураПараметров.ПараметрыСкрипта;
|
||||
СтрокаСоединенияИнформационнойБазы = ПараметрыСкрипта.СтрокаСоединенияИнформационнойБазы + ПараметрыСкрипта.СтрокаПодключения;
|
||||
|
||||
Если СтрЗаканчиваетсяНа(СтрокаСоединенияИнформационнойБазы, ";") Тогда
|
||||
СтрокаСоединенияИнформационнойБазы = Лев(СтрокаСоединенияИнформационнойБазы, СтрДлина(СтрокаСоединенияИнформационнойБазы) - 1);
|
||||
КонецЕсли;
|
||||
|
||||
ИмяИсполняемогоФайлаПрограммы = КаталогПрограммы() + СтруктураПараметров.ИмяФайлаПрограммы;
|
||||
|
||||
// Определение пути к информационной базе.
|
||||
ПризнакФайловогоРежима = Неопределено;
|
||||
ПутьКИнформационнойБазе = СоединенияИБКлиентСервер.ПутьКИнформационнойБазе(ПризнакФайловогоРежима, 0);
|
||||
|
||||
ПараметрПутиКИнформационнойБазе = ?(ПризнакФайловогоРежима, "/F", "/S") + ПутьКИнформационнойБазе;
|
||||
СтрокаПутиКИнформационнойБазе = ?(ПризнакФайловогоРежима, ПутьКИнформационнойБазе, "");
|
||||
|
||||
Результат = СтрЗаменить(Результат, "[ИмяИсполняемогоФайлаПрограммы]" , ПодготовитьТекст(ИмяИсполняемогоФайлаПрограммы));
|
||||
Результат = СтрЗаменить(Результат, "[ПараметрПутиКИнформационнойБазе]" , ПодготовитьТекст(ПараметрПутиКИнформационнойБазе));
|
||||
Результат = СтрЗаменить(Результат, "[СтрокаПутиКФайлуИнформационнойБазы]", ПодготовитьТекст(ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(СтрЗаменить(СтрокаПутиКИнформационнойБазе, """", ""))));
|
||||
Результат = СтрЗаменить(Результат, "[СтрокаСоединенияИнформационнойБазы]", ПодготовитьТекст(СтрокаСоединенияИнформационнойБазы));
|
||||
Результат = СтрЗаменить(Результат, "[ИмяАдминистратораОбновления]" , ПодготовитьТекст(ИмяПользователя()));
|
||||
Результат = СтрЗаменить(Результат, "[СобытиеЖурналаРегистрации]" , ПодготовитьТекст(СтруктураПараметров.СобытиеЖурналаРегистрации));
|
||||
Результат = СтрЗаменить(Результат, "[ФайлРезервнойКопии]" , ПодготовитьТекст(Объект.ФайлЗагрузкиРезервнойКопии));
|
||||
Результат = СтрЗаменить(Результат, "[ИмяCOMСоединителя]" , ПодготовитьТекст(СтруктураПараметров.ИмяCOMСоединителя));
|
||||
Результат = СтрЗаменить(Результат, "[ИспользоватьCOMСоединитель]" , ?(СтруктураПараметров.ЭтоБазоваяВерсияКонфигурации, "false", "true"));
|
||||
ПараметрыТекста = РезервноеКопированиеИБСервер.ПодготовитьОбщиеПараметрыСкрипта(ПараметрыСкрипта);
|
||||
ПараметрыТекста["[ФайлРезервнойКопии]"] = РезервноеКопированиеИБСервер.ПодготовитьТекст(Объект.ФайлЗагрузкиРезервнойКопии);
|
||||
// Используется КаталогВременныхФайлов, т.к. автоматическое удаление временного каталога не допустимо.
|
||||
Результат = СтрЗаменить(Результат, "[КаталогВременныхФайлов]" , ПодготовитьТекст(КаталогВременныхФайлов()));
|
||||
Результат = СтрЗаменить(Результат, "[ПараметрыЗапускаПредприятия]" , ПодготовитьТекст(СтруктураПараметров.ПараметрыЗапускаПредприятия));
|
||||
ПараметрыТекста["[КаталогВременныхФайлов]"] = РезервноеКопированиеИБСервер.ПодготовитьТекст(КаталогВременныхФайлов());
|
||||
|
||||
Возврат Результат;
|
||||
Возврат РезервноеКопированиеИБСервер.ПодставитьПараметрыВТекст(Текст, ПараметрыТекста);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПодготовитьТекст(Знач Текст)
|
||||
Функция СформироватьТекстЗаставки()
|
||||
|
||||
Строка = СтрЗаменить(Текст, "\", "\\");
|
||||
Строка = СтрЗаменить(Строка, "'", "\'");
|
||||
ШаблонТекста = Обработки.РезервноеКопированиеИБ.ПолучитьМакет("ЗаставкаВосстановления").ПолучитьТекст();
|
||||
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("'%1'", Строка);
|
||||
ПараметрыТекста = Новый Соответствие;
|
||||
ПараметрыТекста["[ЗаголовокЗаставки]"] = НСтр("ru = 'Восстановление данных из резервной копии...'");
|
||||
ПараметрыТекста["[ТекстЗаставки]"] =
|
||||
НСтр("ru = 'Пожалуйста, подождите.
|
||||
|<br /> Выполняется восстановление базы данных
|
||||
|<br /> из резервной копии.
|
||||
|<br /> Не рекомендуется останавливать процесс.'");
|
||||
ПараметрыТекста["[Шаг1Инициализация]"] = НСтр("ru = 'Инициализация'");
|
||||
ПараметрыТекста["[Шаг2ВосстановлениеДанных]"] = НСтр("ru = 'Восстановление данных'");
|
||||
ПараметрыТекста["[Шаг3ОжиданиеЗавершения]"] = НСтр("ru = 'Ожидание завершения восстановления данных'");
|
||||
ПараметрыТекста["[Шаг4РазрешениеПодключений]"] = НСтр("ru = 'Разрешение подключений новых соединений'");
|
||||
ПараметрыТекста["[Шаг5Завершение]"] = НСтр("ru = 'Завершение'");
|
||||
ПараметрыТекста["[ПроцессПрерван]"] = НСтр("ru = 'Внимание: процесс восстановления данных был прерван, и информационная база осталась заблокированной.'");
|
||||
ПараметрыТекста["[ПроцессПрерванПодсказка]"] = НСтр("ru = 'Для разблокирования информационной базы воспользуйтесь консолью кластера серверов или запустите ""1С:Предприятие"".'");
|
||||
|
||||
Возврат РезервноеКопированиеИБСервер.ПодставитьПараметрыВТекст(ШаблонТекста, ПараметрыТекста);;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+59
-94
@@ -79,21 +79,14 @@
|
||||
КонецЕсли;
|
||||
|
||||
РучнойЗапуск = (Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.СтраницаВыполненияРезервногоКопирования);
|
||||
|
||||
Если РучнойЗапуск Тогда
|
||||
|
||||
Если КоличествоСеансовИнформационнойБазы() > 1 Тогда
|
||||
|
||||
Элементы.СтраницыСтатусаКопирования.ТекущаяСтраница = Элементы.СтраницаАктивныеПользователи;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.Далее.Заголовок = НСтр("ru = 'Сохранить резервную копию'");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
РезервноеКопированиеИБСервер.УстановитьЗначениеНастройки("РучнойЗапускПоследнегоРезервногоКопирования", РучнойЗапуск);
|
||||
|
||||
Параметры.Свойство("КаталогПрограммы", КаталогПрограммы);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -149,7 +142,7 @@
|
||||
СоединенияИБВызовСервера.РазрешитьРаботуПользователей();
|
||||
|
||||
Если ПроцессВыполняется() Тогда
|
||||
УстановитьЗначение(Ложь);
|
||||
УстановитьПроцессВыполняется(Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -206,14 +199,10 @@
|
||||
|
||||
ТекущаяСтраницаПомощника = Элементы.СтраницыПомощника.ТекущаяСтраница;
|
||||
Если ТекущаяСтраницаПомощника = Элементы.СтраницыПомощника.ПодчиненныеЭлементы.СтраницаВыполненияРезервногоКопирования Тогда
|
||||
|
||||
ПерейтиНаСтраницу(Элементы.СтраницаИнформацииИВыполненияРезервногоКопирования);
|
||||
УстановитьПутьАрхиваСКопиями(Объект.КаталогСРезервнымиКопиями);
|
||||
|
||||
Иначе
|
||||
|
||||
Закрыть();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -267,9 +256,10 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КоличествоСеансовИнформационнойБазы = КоличествоСеансовИнформационнойБазы();
|
||||
Элементы.КоличествоАктивныхПользователей.Заголовок = КоличествоСеансовИнформационнойБазы;
|
||||
Оповещение = Новый ОписаниеОповещения(
|
||||
"ПерейтиНаСтраницуРезервногоКопированияПослеПроверкиДоступаКИнформационнойБазе", ЭтотОбъект);
|
||||
|
||||
РезервноеКопированиеИБКлиент.ПроверитьДоступКИнформационнойБазе(ПарольАдминистратораИБ, Оповещение);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -278,14 +268,14 @@
|
||||
Процедура ПерейтиНаСтраницуРезервногоКопированияПослеПроверкиДоступаКИнформационнойБазе(РезультатПодключения, Контекст) Экспорт
|
||||
|
||||
Если РезультатПодключения.ОшибкаПодключенияКомпоненты Тогда
|
||||
Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.СтраницаВыполненияРезервногоКопирования;
|
||||
Элементы.СтраницыСтатусаКопирования.ТекущаяСтраница = Элементы.СтраницаОшибкаПодключения;
|
||||
ОбнаруженнаяОшибкаПодключения = РезультатПодключения.КраткоеОписаниеОшибки;
|
||||
Возврат;
|
||||
Иначе
|
||||
УстановитьПараметрыРезервногоКопирования();
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьЗначение(Истина);
|
||||
УстановитьПараметрыРезервногоКопирования();
|
||||
УстановитьПроцессВыполняется(Истина);
|
||||
|
||||
КоличествоСеансовИнформационнойБазы = КоличествоСеансовИнформационнойБазы();
|
||||
Элементы.КоличествоАктивныхПользователей.Заголовок = КоличествоСеансовИнформационнойБазы;
|
||||
@@ -541,7 +531,7 @@
|
||||
|
||||
#Если Не ВебКлиент И Не МобильныйКлиент Тогда
|
||||
|
||||
ИмяГлавногоФайлаСкрипта = СформироватьФайлыСкриптаОбновления();
|
||||
ИмяГлавногоФайлаСкрипта = СформироватьФайлыСкрипта();
|
||||
|
||||
ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(
|
||||
РезервноеКопированиеИБКлиент.СобытиеЖурналаРегистрации(),
|
||||
@@ -605,50 +595,45 @@
|
||||
#Если Не ВебКлиент И Не МобильныйКлиент Тогда
|
||||
|
||||
&НаКлиенте
|
||||
Функция СформироватьФайлыСкриптаОбновления()
|
||||
Функция СформироватьФайлыСкрипта()
|
||||
|
||||
ПараметрыРезервногоКопирования = РезервноеКопированиеИБКлиент.КлиентскиеПараметрыРезервногоКопирования();
|
||||
ПараметрыРаботыКлиентаПриЗапуске = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиентаПриЗапуске();
|
||||
СоздатьКаталог(ПараметрыРезервногоКопирования.КаталогВременныхФайловОбновления);
|
||||
|
||||
// Структура параметров необходима для их определения на клиенте и передачи на сервер.
|
||||
СтруктураПараметров = Новый Структура;
|
||||
СтруктураПараметров.Вставить("ИмяФайлаПрограммы" , ПараметрыРезервногоКопирования.ИмяФайлаПрограммы);
|
||||
СтруктураПараметров.Вставить("СобытиеЖурналаРегистрации" , ПараметрыРезервногоКопирования.СобытиеЖурналаРегистрации);
|
||||
СтруктураПараметров.Вставить("ИмяCOMСоединителя" , ПараметрыРаботыКлиентаПриЗапуске.ИмяCOMСоединителя);
|
||||
СтруктураПараметров.Вставить("ЭтоБазоваяВерсияКонфигурации" , ПараметрыРаботыКлиентаПриЗапуске.ЭтоБазоваяВерсияКонфигурации);
|
||||
СтруктураПараметров.Вставить("ПараметрыСкрипта" , РезервноеКопированиеИБКлиент.ПараметрыАутентификацииАдминистратораОбновления(ПарольАдминистратораИБ));
|
||||
СтруктураПараметров.Вставить("ПараметрыЗапускаПредприятия" , ОбщегоНазначенияСлужебныйКлиент.ПараметрыЗапускаПредприятияИзСкрипта());
|
||||
ПараметрыСкрипта = Новый Структура;
|
||||
ПараметрыСкрипта.Вставить("ИмяФайлаПрограммы" , ПараметрыРезервногоКопирования.ИмяФайлаПрограммы);
|
||||
ПараметрыСкрипта.Вставить("СобытиеЖурналаРегистрации" , ПараметрыРезервногоКопирования.СобытиеЖурналаРегистрации);
|
||||
ПараметрыСкрипта.Вставить("ИмяCOMСоединителя" , ПараметрыРаботыКлиентаПриЗапуске.ИмяCOMСоединителя);
|
||||
ПараметрыСкрипта.Вставить("ЭтоБазоваяВерсияКонфигурации" , ПараметрыРаботыКлиентаПриЗапуске.ЭтоБазоваяВерсияКонфигурации);
|
||||
ПараметрыСкрипта.Вставить("ПараметрыСкрипта" , РезервноеКопированиеИБКлиент.ПараметрыАутентификацииАдминистратораОбновления(ПарольАдминистратораИБ));
|
||||
ПараметрыСкрипта.Вставить("ПараметрыЗапускаПредприятия" , ОбщегоНазначенияСлужебныйКлиент.ПараметрыЗапускаПредприятияИзСкрипта());
|
||||
|
||||
ИменаМакетов = "ДопФайлРезервногоКопирования";
|
||||
ИменаМакетов = ИменаМакетов + ",ЗаставкаРезервногоКопирования";
|
||||
ТекстыМакетов = ПолучитьТекстыМакетов(ИменаМакетов, СтруктураПараметров, ПараметрыПриложения["СтандартныеПодсистемы.СообщенияДляЖурналаРегистрации"]);
|
||||
Скрипты = СформироватьТекстСкриптов(ПараметрыСкрипта, ПараметрыПриложения["СтандартныеПодсистемы.СообщенияДляЖурналаРегистрации"]);
|
||||
|
||||
// Вспомогательный файл main.js.
|
||||
ФайлСкрипта = Новый ТекстовыйДокумент;
|
||||
ФайлСкрипта.Вывод = ИспользованиеВывода.Разрешить;
|
||||
ФайлСкрипта.УстановитьТекст(ТекстыМакетов[0]);
|
||||
|
||||
ФайлСкрипта.УстановитьТекст(Скрипты.Скрипт);
|
||||
ИмяФайлаСкрипта = ПараметрыРезервногоКопирования.КаталогВременныхФайловОбновления + "main.js";
|
||||
ФайлСкрипта.Записать(ИмяФайлаСкрипта, РезервноеКопированиеИБКлиент.КодировкаФайловПрограммыРезервногоКопированияИБ());
|
||||
|
||||
// Вспомогательный файл: helpers.js.
|
||||
// Вспомогательный файл helpers.js.
|
||||
ФайлСкрипта = Новый ТекстовыйДокумент;
|
||||
ФайлСкрипта.Вывод = ИспользованиеВывода.Разрешить;
|
||||
ФайлСкрипта.УстановитьТекст(ТекстыМакетов[1]);
|
||||
ФайлСкрипта.Записать(ПараметрыРезервногоКопирования.КаталогВременныхФайловОбновления + "helpers.js", РезервноеКопированиеИБКлиент.КодировкаФайловПрограммыРезервногоКопированияИБ());
|
||||
ФайлСкрипта.УстановитьТекст(Скрипты.ДопФайлРезервногоКопирования);
|
||||
ФайлСкрипта.Записать(ПараметрыРезервногоКопирования.КаталогВременныхФайловОбновления + "helpers.js",
|
||||
РезервноеКопированиеИБКлиент.КодировкаФайловПрограммыРезервногоКопированияИБ());
|
||||
|
||||
ИмяГлавногоФайлаСкрипта = Неопределено;
|
||||
// Вспомогательный файл: splash.png.
|
||||
БиблиотекаКартинок.ЗаставкаВнешнейОперации.Записать(ПараметрыРезервногоКопирования.КаталогВременныхФайловОбновления + "splash.png");
|
||||
// Вспомогательный файл: splash.ico.
|
||||
БиблиотекаКартинок.ЗначокЗаставкиВнешнейОперации.Записать(ПараметрыРезервногоКопирования.КаталогВременныхФайловОбновления + "splash.ico");
|
||||
// Вспомогательный файл: progress.gif.
|
||||
БиблиотекаКартинок.ДлительнаяОперация48.Записать(ПараметрыРезервногоКопирования.КаталогВременныхФайловОбновления + "progress.gif");
|
||||
// Главный файл заставки: splash.hta.
|
||||
|
||||
// Главный файл заставки splash.hta.
|
||||
ИмяГлавногоФайлаСкрипта = ПараметрыРезервногоКопирования.КаталогВременныхФайловОбновления + "splash.hta";
|
||||
ФайлСкрипта = Новый ТекстовыйДокумент;
|
||||
ФайлСкрипта.Вывод = ИспользованиеВывода.Разрешить;
|
||||
ФайлСкрипта.УстановитьТекст(ТекстыМакетов[2]);
|
||||
ФайлСкрипта.УстановитьТекст(Скрипты.ЗаставкаРезервногоКопирования);
|
||||
ФайлСкрипта.Записать(ИмяГлавногоФайлаСкрипта, РезервноеКопированиеИБКлиент.КодировкаФайловПрограммыРезервногоКопированияИБ());
|
||||
|
||||
ФайлЛога = Новый ТекстовыйДокумент;
|
||||
@@ -663,26 +648,20 @@
|
||||
#КонецЕсли
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьТекстыМакетов(ИменаМакетов, СтруктураПараметров, СообщенияДляЖурналаРегистрации)
|
||||
Функция СформироватьТекстСкриптов(Знач ПараметрыСкрипта, Знач СообщенияДляЖурналаРегистрации)
|
||||
|
||||
// Запись накопленных событий ЖР.
|
||||
ЖурналРегистрации.ЗаписатьСобытияВЖурналРегистрации(СообщенияДляЖурналаРегистрации);
|
||||
|
||||
Результат = Новый Массив();
|
||||
Результат.Добавить(ПолучитьТекстСкрипта(СтруктураПараметров));
|
||||
|
||||
ИменаМакетовМассив = СтрРазделить(ИменаМакетов, ",");
|
||||
|
||||
Для каждого ИмяМакета Из ИменаМакетовМассив Цикл
|
||||
Результат.Добавить(Обработки.РезервноеКопированиеИБ.ПолучитьМакет(ИмяМакета).ПолучитьТекст());
|
||||
КонецЦикла;
|
||||
|
||||
Результат = Новый Структура("Скрипт, ДопФайлРезервногоКопирования, ЗаставкаРезервногоКопирования");
|
||||
Результат.Скрипт = СформироватьТекстСкрипта(ПараметрыСкрипта);
|
||||
Результат.ДопФайлРезервногоКопирования = Обработки.РезервноеКопированиеИБ.ПолучитьМакет("ДопФайлРезервногоКопирования").ПолучитьТекст();
|
||||
Результат.ЗаставкаРезервногоКопирования = СформироватьТекстЗаставки();
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьТекстСкрипта(СтруктураПараметров)
|
||||
Функция СформироватьТекстСкрипта(ПараметрыСкрипта)
|
||||
|
||||
// Файл обновления конфигурации: main.js.
|
||||
ШаблонСкрипта = Обработки.РезервноеКопированиеИБ.ПолучитьМакет("МакетФайлаРезервногоКопирования");
|
||||
@@ -695,49 +674,45 @@
|
||||
Текст.УдалитьСтроку(1);
|
||||
Текст.УдалитьСтроку(Текст.КоличествоСтрок());
|
||||
|
||||
Возврат ВставитьПараметрыСкрипта(Скрипт.ПолучитьТекст(), СтруктураПараметров) + Текст.ПолучитьТекст();
|
||||
Возврат ВставитьПараметрыСкрипта(Скрипт.ПолучитьТекст(), ПараметрыСкрипта) + Текст.ПолучитьТекст();
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ВставитьПараметрыСкрипта(Знач Текст, Знач СтруктураПараметров)
|
||||
Функция ВставитьПараметрыСкрипта(Знач Текст, Знач ПараметрыСкрипта)
|
||||
|
||||
Результат = Текст;
|
||||
ИмяКаталога = ПроверитьКаталогНаУказаниеКорневогоЭлемента(Объект.КаталогСРезервнымиКопиями);
|
||||
|
||||
ПараметрыСкрипта = СтруктураПараметров.ПараметрыСкрипта;
|
||||
СтрокаСоединенияИнформационнойБазы = ПараметрыСкрипта.СтрокаСоединенияИнформационнойБазы + ПараметрыСкрипта.СтрокаПодключения;
|
||||
ПараметрыТекста = РезервноеКопированиеИБСервер.ПодготовитьОбщиеПараметрыСкрипта(ПараметрыСкрипта);
|
||||
ПараметрыТекста["[СоздаватьРезервнуюКопию]"] = "true";
|
||||
ПараметрыТекста["[КаталогРезервнойКопии]"] = РезервноеКопированиеИБСервер.ПодготовитьТекст(ИмяКаталога + "\backup" + СтрокаКаталогаИзДаты());
|
||||
ПараметрыТекста["[ВосстанавливатьИнформационнуюБазу]"] = "false";
|
||||
ПараметрыТекста["[ВыполнитьПриЗавершенииРаботы]"] = ?(Параметры.РежимРаботы = "ВыполнитьПриЗавершенииРаботы", "true", "false");
|
||||
|
||||
Если СтрЗаканчиваетсяНа(СтрокаСоединенияИнформационнойБазы, ";") Тогда
|
||||
СтрокаСоединенияИнформационнойБазы = Лев(СтрокаСоединенияИнформационнойБазы, СтрДлина(СтрокаСоединенияИнформационнойБазы) - 1);
|
||||
КонецЕсли;
|
||||
Возврат РезервноеКопированиеИБСервер.ПодставитьПараметрыВТекст(Текст, ПараметрыТекста);
|
||||
|
||||
КаталогПрограммы = ?(ПустаяСтрока(КаталогПрограммы), КаталогПрограммы(), КаталогПрограммы);
|
||||
ИмяИсполняемогоФайлаПрограммы = КаталогПрограммы + СтруктураПараметров.ИмяФайлаПрограммы;
|
||||
КонецФункции
|
||||
|
||||
// Определение пути к информационной базе.
|
||||
ПризнакФайловогоРежима = Неопределено;
|
||||
ПутьКИнформационнойБазе = СоединенияИБКлиентСервер.ПутьКИнформационнойБазе(ПризнакФайловогоРежима, 0);
|
||||
&НаСервере
|
||||
Функция СформироватьТекстЗаставки()
|
||||
|
||||
ПараметрПутиКИнформационнойБазе = ?(ПризнакФайловогоРежима, "/F", "/S") + ПутьКИнформационнойБазе;
|
||||
СтрокаПутиКИнформационнойБазе = ?(ПризнакФайловогоРежима, ПутьКИнформационнойБазе, "");
|
||||
ШаблонТекста = Обработки.РезервноеКопированиеИБ.ПолучитьМакет("ЗаставкаРезервногоКопирования").ПолучитьТекст();
|
||||
|
||||
СтрокаКаталога = ПроверитьКаталогНаУказаниеКорневогоЭлемента(Объект.КаталогСРезервнымиКопиями);
|
||||
ПараметрыТекста = Новый Соответствие;
|
||||
ПараметрыТекста["[ЗаголовокЗаставки]"] = НСтр("ru = 'Резервное копирование информационной базы...'");
|
||||
ПараметрыТекста["[ТекстЗаставки]"] =
|
||||
НСтр("ru = 'Пожалуйста, подождите.
|
||||
|<br /> Выполняется резервное копирование базы.
|
||||
|<br /> Не рекомендуется останавливать процесс.'");
|
||||
ПараметрыТекста["[Шаг1Инициализация]"] = НСтр("ru = 'Инициализация'");
|
||||
ПараметрыТекста["[Шаг2СозданиеРезервнойКопии]"] = НСтр("ru = 'Создание резервной копии информационной базы'");
|
||||
ПараметрыТекста["[Шаг3ОжиданиеЗавершения]"] = НСтр("ru = 'Ожидание завершения резервного копирования'");
|
||||
ПараметрыТекста["[Шаг4РазрешениеПодключений]"] = НСтр("ru = 'Разрешение подключений новых соединений'");
|
||||
ПараметрыТекста["[Шаг5Завершение]"] = НСтр("ru = 'Завершение'");
|
||||
ПараметрыТекста["[ПроцессПрерван]"] = НСтр("ru = 'Внимание: процесс резервного копирования был прерван, и информационная база осталась заблокированной.'");
|
||||
ПараметрыТекста["[ПроцессПрерванПодсказка]"] = НСтр("ru = 'Для разблокирования информационной базы воспользуйтесь консолью кластера серверов или запустите ""1С:Предприятие"".'");
|
||||
|
||||
Результат = СтрЗаменить(Результат, "[ИмяИсполняемогоФайлаПрограммы]" , ПодготовитьТекст(ИмяИсполняемогоФайлаПрограммы));
|
||||
Результат = СтрЗаменить(Результат, "[ПараметрПутиКИнформационнойБазе]" , ПодготовитьТекст(ПараметрПутиКИнформационнойБазе));
|
||||
Результат = СтрЗаменить(Результат, "[СтрокаПутиКФайлуИнформационнойБазы]", ПодготовитьТекст(ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(СтрЗаменить(СтрокаПутиКИнформационнойБазе, """", ""))));
|
||||
Результат = СтрЗаменить(Результат, "[СтрокаСоединенияИнформационнойБазы]", ПодготовитьТекст(СтрокаСоединенияИнформационнойБазы));
|
||||
Результат = СтрЗаменить(Результат, "[ИмяАдминистратораОбновления]" , ПодготовитьТекст(ИмяПользователя()));
|
||||
Результат = СтрЗаменить(Результат, "[СобытиеЖурналаРегистрации]" , ПодготовитьТекст(СтруктураПараметров.СобытиеЖурналаРегистрации));
|
||||
Результат = СтрЗаменить(Результат, "[СоздаватьРезервнуюКопию]" , "true");
|
||||
Результат = СтрЗаменить(Результат, "[КаталогРезервнойКопии]" , ПодготовитьТекст(СтрокаКаталога + "\backup" + СтрокаКаталогаИзДаты()));
|
||||
Результат = СтрЗаменить(Результат, "[ВосстанавливатьИнформационнуюБазу]" , "false");
|
||||
Результат = СтрЗаменить(Результат, "[ИмяCOMСоединителя]" , ПодготовитьТекст(СтруктураПараметров.ИмяCOMСоединителя));
|
||||
Результат = СтрЗаменить(Результат, "[ИспользоватьCOMСоединитель]" , ?(СтруктураПараметров.ЭтоБазоваяВерсияКонфигурации, "false", "true"));
|
||||
Результат = СтрЗаменить(Результат, "[ВыполнитьПриЗавершенииРаботы]" , ?(Параметры.РежимРаботы = "ВыполнитьПриЗавершенииРаботы", "true", "false"));
|
||||
Результат = СтрЗаменить(Результат, "[ПараметрыЗапускаПредприятия]" , ПодготовитьТекст(СтруктураПараметров.ПараметрыЗапускаПредприятия));
|
||||
|
||||
Возврат Результат;
|
||||
Возврат РезервноеКопированиеИБСервер.ПодставитьПараметрыВТекст(ШаблонТекста, ПараметрыТекста);;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -762,16 +737,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПодготовитьТекст(Знач Текст)
|
||||
|
||||
Строка = СтрЗаменить(Текст, "\", "\\");
|
||||
Строка = СтрЗаменить(Строка, "'", "\'");
|
||||
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("'%1'", Строка);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НадписьОбновитьВерсиюКомпонентыОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка)
|
||||
|
||||
@@ -801,7 +766,7 @@
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция УстановитьЗначение(Знач ПроцессВыполняется)
|
||||
Функция УстановитьПроцессВыполняется(Знач ПроцессВыполняется)
|
||||
|
||||
Настройки = ПараметрыПриложения["СтандартныеПодсистемы.ПараметрыРезервногоКопированияИБ"];
|
||||
Настройки.ПроцессВыполняется = ПроцессВыполняется;
|
||||
|
||||
+9
-12
@@ -6,7 +6,7 @@
|
||||
<meta http-equiv="x-ua-compatible" content="IE=EmulateIE7">
|
||||
<hta:application id="oHTA" border="none" caption="no" contextmenu="no" selection="no" icon="splash.ico" innerborder="no"
|
||||
navigable="yes" showintaskbar="yes" scroll="no" version="1.0.0.0" />
|
||||
<title>Восстановление данных из резервной копии...</title>
|
||||
<title>[ЗаголовокЗаставки]</title>
|
||||
<script language="javascript" src="helpers.js"></script>
|
||||
<script language="javascript" src="main.js"></script>
|
||||
<script language="javascript">
|
||||
@@ -38,29 +38,29 @@
|
||||
function doStep (step) {
|
||||
switch (step) {
|
||||
case 0:
|
||||
setProgress('Инициализация')
|
||||
setProgress('[Шаг1Инициализация]')
|
||||
break
|
||||
case 1:
|
||||
ret = initialize()
|
||||
break
|
||||
case 2:
|
||||
setProgress('Восстановление данных')
|
||||
setProgress('[Шаг2ВосстановлениеДанных]')
|
||||
ret = restoreDB()
|
||||
break
|
||||
case 3:
|
||||
setProgress('Ожидание завершения восстановления данных')
|
||||
setProgress('[Шаг3ОжиданиеЗавершения]')
|
||||
break
|
||||
case 4:
|
||||
ret = WaitUntilFinish()
|
||||
break
|
||||
case 5:
|
||||
setProgress('Разрешение подключений новых соединений')
|
||||
setProgress('[Шаг4РазрешениеПодключений]')
|
||||
break
|
||||
case 6:
|
||||
ret = allowConnections()
|
||||
break
|
||||
case 7:
|
||||
setProgress('Завершение')
|
||||
setProgress('[Шаг5Завершение]')
|
||||
break
|
||||
case 8:
|
||||
|
||||
@@ -115,8 +115,8 @@
|
||||
|
||||
function checkClose () {
|
||||
if (!finish) {
|
||||
event.returnValue = format('Внимание: процесс восстановления данных был прерван, и информационная база осталась заблокированной!\n' +
|
||||
'Для разблокирования информационной базы воспользуйтесь консолью кластера серверов или запустите "1С:Предприятие".')
|
||||
event.returnValue = format('[ПроцессПрерван]\n' +
|
||||
'[ПроцессПрерванПодсказка]')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,10 +142,7 @@
|
||||
</div>
|
||||
<div id="captionText" style="font-size: 9pt; font-family: verdana,arial; font-weight: bold;
|
||||
color: #606060; position: absolute; left: 80px; top: 70px;">
|
||||
Пожалуйста, подождите.
|
||||
<br /> Выполняется восстановление базы данных
|
||||
<br /> из резервной копии.
|
||||
<br /> Не рекомендуется останавливать процесс.
|
||||
[ТекстЗаставки]
|
||||
</div>
|
||||
<div id="progressText" style="font-size: 8pt; font-family: verdana,arial; color: #000000;
|
||||
position: absolute; left: 10px; top: 240px;">
|
||||
|
||||
+10
-12
@@ -6,7 +6,7 @@
|
||||
<meta http-equiv="x-ua-compatible" content="IE=EmulateIE7">
|
||||
<hta:application id="oHTA" border="none" caption="no" contextmenu="no" selection="no" icon="splash.ico" innerborder="no"
|
||||
navigable="yes" showintaskbar="yes" scroll="no" version="1.0.0.0" />
|
||||
<title>Резервное копирование информационной базы...</title>
|
||||
<title>[ЗаголовокЗаставки]</title>
|
||||
<script language="javascript" src="helpers.js"></script>
|
||||
<script language="javascript" src="main.js"></script>
|
||||
<script language="javascript">
|
||||
@@ -38,31 +38,31 @@
|
||||
function doStep (step) {
|
||||
switch (step) {
|
||||
case 0:
|
||||
setProgress('Инициализация')
|
||||
setProgress('[Шаг1Инициализация]')
|
||||
break
|
||||
case 1:
|
||||
ret = initialize()
|
||||
break
|
||||
case 2:
|
||||
setProgress('Создание резервной копии информационной базы')
|
||||
setProgress('[Шаг2СозданиеРезервнойКопии]')
|
||||
break
|
||||
case 3:
|
||||
ret = backupDB()
|
||||
break
|
||||
case 4:
|
||||
setProgress('Ожидание завершения резервного копирования')
|
||||
setProgress('[Шаг3ОжиданиеЗавершения]')
|
||||
break
|
||||
case 5:
|
||||
ret = WaitUntilFinish()
|
||||
break
|
||||
case 6:
|
||||
setProgress('Разрешение подключений новых соединений')
|
||||
setProgress('[Шаг4РазрешениеПодключений]')
|
||||
break
|
||||
case 7:
|
||||
ret = allowConnections()
|
||||
break
|
||||
case 8:
|
||||
setProgress('Завершение')
|
||||
setProgress('[Шаг5Завершение]')
|
||||
break
|
||||
case 9:
|
||||
// Все готово.
|
||||
@@ -114,9 +114,9 @@
|
||||
|
||||
function checkClose () {
|
||||
if (!finish) {
|
||||
event.returnValue = format('Внимание: процесс резервного копирования был прерван, и информационная база осталась заблокированной!\n' +
|
||||
'Для разблокирования информационной базы воспользуйтесь консолью кластера серверов или запустите "1С:Предприятие".')
|
||||
}
|
||||
event.returnValue = format('[ПроцессПрерван]\n' +
|
||||
'[ПроцессПрерванПодсказка]')
|
||||
}
|
||||
}
|
||||
|
||||
function ClearTempFiles () {
|
||||
@@ -140,9 +140,7 @@
|
||||
</div>
|
||||
<div id="captionText" style="font-size: 9pt; font-family: verdana,arial; font-weight: bold;
|
||||
color: #606060; position: absolute; left: 80px; top: 70px;">
|
||||
Пожалуйста, подождите.
|
||||
<br /> Выполняется резервное копирование базы.
|
||||
<br /> Не рекомендуется останавливать процесс.
|
||||
[ТекстЗаставки]
|
||||
</div>
|
||||
<div id="progressText" style="font-size: 8pt; font-family: verdana,arial; color: #000000;
|
||||
position: absolute; left: 10px; top: 240px;">
|
||||
|
||||
+2
-2
@@ -16,8 +16,8 @@ var TempCatalog = [КаталогВременныхФайлов] // катало
|
||||
var v8exe = [ИмяИсполняемогоФайлаПрограммы] // Путь к исполняемому файлу 1С:Предприятия 8
|
||||
var infoBasePath = [ПараметрПутиКИнформационнойБазе]
|
||||
var BaseFileName = [СтрокаПутиКФайлуИнформационнойБазы]
|
||||
var connectionString = [СтрокаСоединенияИнформационнойБазы] + '; UC=РезервноеКопирование'
|
||||
var adminName = [ИмяАдминистратораОбновления] // имя администратора, инициировавшего обновление
|
||||
var connectionString = [СтрокаСоединенияИнформационнойБазы] + '; UC=[КодРазблокировки]'
|
||||
var adminName = [ИмяАдминистратора] // имя администратора, инициировавшего резервное копирование
|
||||
var backupFileName = [ФайлРезервнойКопии] // Файл резервной копии
|
||||
var eventLogID = [СобытиеЖурналаРегистрации]
|
||||
var comConnectorName = [ИмяCOMСоединителя] // имя COM-класса для работы с 1С:Предприятием 8 через COM-соединение
|
||||
|
||||
+2
-2
@@ -14,8 +14,8 @@ var outFileName = 'log' + now.valueOf() + '.txt' // Путь к log-файлу
|
||||
var v8exe = [ИмяИсполняемогоФайлаПрограммы] // Путь к исполняемому файлу 1С:Предприятия 8
|
||||
var infoBasePath = [ПараметрПутиКИнформационнойБазе]
|
||||
var BaseFileName = [СтрокаПутиКФайлуИнформационнойБазы]
|
||||
var connectionString = [СтрокаСоединенияИнформационнойБазы] + ';UC=РезервноеКопирование'
|
||||
var adminName = [ИмяАдминистратораОбновления] // имя администратора, инициировавшего обновление
|
||||
var connectionString = [СтрокаСоединенияИнформационнойБазы] + ';UC=[КодРазблокировки]'
|
||||
var adminName = [ИмяАдминистратора] // имя администратора, инициировавшего резервное копирование
|
||||
var backupFileName = [КаталогРезервнойКопии] + '.zip' // Файл резервной копии
|
||||
var UseRestore = [ВосстанавливатьИнформационнуюБазу] // Использовать восстановление ИБ в случае падения
|
||||
var createBackup = [СоздаватьРезервнуюКопию] // создавать резервную копию
|
||||
|
||||
+1
-2
@@ -58,8 +58,7 @@
|
||||
|
||||
Если Не ПустаяСтрока(КаталогСкрипта) Тогда
|
||||
МодульОбновлениеКонфигурацииКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОбновлениеКонфигурацииКлиент");
|
||||
МодульОбновлениеКонфигурацииКлиент.ЗаписатьФайлПротоколаОшибкиИЗавершитьРаботу(
|
||||
КаталогСкрипта,
|
||||
МодульОбновлениеКонфигурацииКлиент.ЗаписатьФайлПротоколаОшибкиИЗавершитьРаботу(КаталогСкрипта,
|
||||
Параметры.ПодробноеПредставлениеОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
<key>ru</key>
|
||||
<value>Перед выполнением обновления убедитесь, что установленные расширения совместимы с новой версией конфигурации.
|
||||
Рекомендуем предварительно выполнить обновление на резервной копии.
|
||||
<link e1cib/app/ОбщаяФорма.Расширения>Перейти к списку расширений</></value>
|
||||
<link Перейти к списку расширений>Перейти к списку расширений</></value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -121,6 +121,10 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<skipOnInput>false</skipOnInput>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<handlers>
|
||||
<event>URLProcessing</event>
|
||||
<name>НадписьЕстьРасширенияОбработкаНавигационнойСсылки</name>
|
||||
</handlers>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
|
||||
@@ -299,6 +299,12 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НадписьЕстьРасширенияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ОткрытьФорму("ОбщаяФорма.Расширения");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ЕстьПроблемыСистемныхПроверок()
|
||||
|
||||
@@ -713,6 +719,9 @@
|
||||
|
||||
Результат = ОбновлениеКонфигурации.УстановитьИсправления(ПомещенныеФайлы);
|
||||
Элементы.ОшибкаУстановкиИсправлений.Видимость = Результат.ЕстьОшибки;
|
||||
Элементы.ПанельПредупреждений.Видимость = Ложь;
|
||||
Элементы.ПанельИнформации.Видимость = Ложь;
|
||||
|
||||
Если Результат.ЕстьОшибки Тогда
|
||||
Если Результат.УстановленоИсправлений > 0 Тогда
|
||||
ТекстНадписи = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
|
||||
+18
-19
@@ -6,7 +6,7 @@
|
||||
<meta http-equiv="x-ua-compatible" content="IE=EmulateIE7">
|
||||
<hta:application id="oHTA" border="none" caption="no" contextmenu="no" selection="no" icon="splash.ico" innerborder="no"
|
||||
navigable="yes" showintaskbar="yes" scroll="no" version="1.0.0.0" />
|
||||
<title>Обновление конфигурации "1С:Предприятие"...</title>
|
||||
<title>[ЗаголовокЗаставки]</title>
|
||||
<script language="javascript" src="helpers.js"></script>
|
||||
<script language="javascript" src="main.js"></script>
|
||||
<script language="javascript">
|
||||
@@ -44,14 +44,14 @@
|
||||
function doStep (step) {
|
||||
switch (step) {
|
||||
case 0:
|
||||
setProgress('Инициализация')
|
||||
setProgress('[Шаг1Инициализация]')
|
||||
alert('111')
|
||||
break
|
||||
case 1:
|
||||
ret = initialize()
|
||||
break
|
||||
case 2:
|
||||
setProgress('Завершение работы пользователей')
|
||||
setProgress('[Шаг2ЗавершениеРаботы]')
|
||||
break
|
||||
case 3:
|
||||
ret = disconnectAndBlockUsersHTA()
|
||||
@@ -59,7 +59,7 @@
|
||||
break
|
||||
case 4:
|
||||
if (createBackup) {
|
||||
setProgress('Создание резервной копии информационной базы')
|
||||
setProgress('[Шаг3СозданиеРезервнойКопии]')
|
||||
}
|
||||
break
|
||||
case 5:
|
||||
@@ -67,7 +67,7 @@
|
||||
break
|
||||
case 6:
|
||||
if (executeDeferredHandlers) {
|
||||
setProgress('Выполнение отложенных обработчиков обновления')
|
||||
setProgress('[Шаг6ОтложенноеОбновление]')
|
||||
}
|
||||
break
|
||||
case 7:
|
||||
@@ -75,20 +75,20 @@
|
||||
break
|
||||
case endLoadStep:
|
||||
if (makeCompression) {
|
||||
setProgress('Сжатие таблиц информационной базы')
|
||||
setProgress('[Шаг7СжатиеТаблиц]')
|
||||
}
|
||||
break
|
||||
case endLoadStep + 1:
|
||||
ret = compressDB()
|
||||
break
|
||||
case endLoadStep + 2:
|
||||
setProgress('Разрешение подключения новых соединений')
|
||||
setProgress('[Шаг8РазрешениеПодключений]')
|
||||
break
|
||||
case endLoadStep + 3:
|
||||
ret = allowConnections()
|
||||
break
|
||||
case endLoadStep + 4:
|
||||
setProgress('Завершение')
|
||||
setProgress('[Шаг9Завершение]')
|
||||
break
|
||||
case endLoadStep + 5:
|
||||
// Все готово.
|
||||
@@ -107,13 +107,13 @@
|
||||
var internalStep = step - loadStep
|
||||
switch (internalStep) {
|
||||
case 0:
|
||||
setProgress('Обновление конфигурации информационной базы')
|
||||
setProgress('[Шаг4ОбновлениеКонфигурации]')
|
||||
break
|
||||
case 1:
|
||||
ret = updateDbCfg()
|
||||
break
|
||||
case 2:
|
||||
setProgress('Выполнение обработчиков обновления')
|
||||
setProgress('[Шаг5ОбновлениеИБ]')
|
||||
break
|
||||
case 3:
|
||||
ret = executeUpdate(true)
|
||||
@@ -127,7 +127,7 @@
|
||||
var runHandlers = fileProperties.requiredVersion || (cfgFileIndex + 1 === cfgFileNames.length)
|
||||
switch (internalStep) {
|
||||
case 0:
|
||||
setProgress(format('Загрузка файла обновления в основную базу ({0}/{1})', cfgFileIndex + 1, cfgFileNames.length))
|
||||
setProgress(format('[Шаг41Загрузка] ({0}/{1})', cfgFileIndex + 1, cfgFileNames.length))
|
||||
break
|
||||
case 1:
|
||||
var fileName = fileProperties.filePath
|
||||
@@ -138,14 +138,14 @@
|
||||
}
|
||||
break
|
||||
case 2:
|
||||
setProgress(format('Обновление конфигурации информационной базы ({0}/{1})', cfgFileIndex + 1, cfgFileNames.length))
|
||||
setProgress(format('[Шаг42ОбновлениеКонфигурации] ({0}/{1})', cfgFileIndex + 1, cfgFileNames.length))
|
||||
break
|
||||
case 3:
|
||||
ret = updateDbCfg()
|
||||
break;
|
||||
case 4:
|
||||
if (runHandlers) {
|
||||
setProgress(format('Выполнение обработчиков обновления ({0}/{1})', cfgFileIndex + 1, cfgFileNames.length))
|
||||
setProgress(format('[Шаг43ОбновлениеИБ] ({0}/{1})', cfgFileIndex + 1, cfgFileNames.length))
|
||||
}
|
||||
break
|
||||
case 5:
|
||||
@@ -171,9 +171,9 @@
|
||||
log(format('Завершение с ошибкой. Код ошибки: {0}. Подробности см. в предыдущей записи.', ret), true)
|
||||
|
||||
if (UseRestore) {
|
||||
setProgress('Восстановление информационной базы')
|
||||
setProgress('[Шаг10Восстановление]')
|
||||
} else {
|
||||
setProgress('Завершение')
|
||||
setProgress('[Шаг9Завершение]')
|
||||
}
|
||||
|
||||
errStep++
|
||||
@@ -204,8 +204,8 @@
|
||||
|
||||
function checkClose () {
|
||||
if (!finish) {
|
||||
event.returnValue = format('Внимание: процесс обновления был прерван, и информационная база осталась заблокированной!\n' +
|
||||
'Для разблокирования информационной базы воспользуйтесь консолью кластера серверов или запустите "1С:Предприятие".')
|
||||
event.returnValue = format('[ПроцессПрерван]\n' +
|
||||
'[ПроцессПрерванПодсказка].')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,8 +232,7 @@
|
||||
</div>
|
||||
<div id="captionText" style="font-size: 9pt; font-family: verdana,arial; font-weight: bold;
|
||||
color: #606060; position: absolute; left: 80px; top: 70px;">
|
||||
Пожалуйста, подождите.
|
||||
<br> Выполняется обновление конфигурации.
|
||||
[ТекстЗаставки]
|
||||
</div>
|
||||
<div id="progressText" style="font-size: 8pt; font-family: verdana,arial; color: #000000;
|
||||
position: absolute; left: 10px; top: 240px;">
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ var v8client = [ИмяИсполняемогоФайлаКлиента] // Пу
|
||||
var v8comcntr = [ПутьКCOMСоединителю] // Путь к comcntr.dll
|
||||
var infoBasePath = [ПараметрПутиКИнформационнойБазе]
|
||||
var BaseFileName = [СтрокаПутиКФайлуИнформационнойБазы]
|
||||
var connectionString = [СтрокаСоединенияИнформационнойБазы] + ';UC=ПакетноеОбновлениеКонфигурацииИБ'
|
||||
var connectionString = [СтрокаСоединенияИнформационнойБазы] + ';UC=[КодРазблокировки]'
|
||||
var backupFileName = [КаталогРезервнойКопии] + '1Cv8' + now.valueOf() + '.1CD' // Файл резервной копии
|
||||
var UseRestore = [ВосстанавливатьИнформационнуюБазу] // Использовать восстановление ИБ в случае падения
|
||||
var createBackup = [СоздаватьРезервнуюКопию] // создавать резервную копию
|
||||
|
||||
@@ -468,7 +468,7 @@
|
||||
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
|
||||
ЗаписьЖурналаРегистрации(
|
||||
НСтр("ru = 'Варианты отчетов.Установка настроек доступности по умолчанию'", КодОсновногоЯзыка),,
|
||||
НСтр("ru = 'Варианты отчетов.Установка настроек доступности по умолчанию'", КодОсновногоЯзыка),
|
||||
УровеньЖурналаРегистрации.Предупреждение,
|
||||
МетаданныеРегистра,,
|
||||
Комментарий);
|
||||
|
||||
+42
-2
@@ -1507,7 +1507,7 @@
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ПараметрыДоступаВИнтернет1</name>
|
||||
<name>ПараметрыДоступаВИнтернетFTP</name>
|
||||
<id>120</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -1515,7 +1515,7 @@
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ПараметрыДоступаВИнтернет1ExtendedTooltip</name>
|
||||
<name>ПараметрыДоступаВИнтернетFTPРасширеннаяПодсказка</name>
|
||||
<id>165</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -2465,6 +2465,46 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ДоступныеВидыТранспорта</name>
|
||||
<id>11</id>
|
||||
<valueType>
|
||||
<types>ValueTable</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<columns>
|
||||
<name>ВидТранспорта</name>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>EnumRef.ВидыТранспортаСообщенийОбмена</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>ИмяСтраницы</name>
|
||||
<id>2</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>ПроверитьПодключениеFTP</name>
|
||||
<title>
|
||||
|
||||
+55
-39
@@ -11,41 +11,29 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
УстановитьВидимостьЭлементовФормы();
|
||||
ЗаполнитьДоступныеВидыТранспорта();
|
||||
|
||||
Если ЗначениеЗаполнено(Запись.ВидТранспортаСообщенийОбменаПоУмолчанию) Тогда
|
||||
|
||||
ИмяСтраницы = "НастройкиТранспорта[ВидТранспорта]";
|
||||
ИмяСтраницы = СтрЗаменить(ИмяСтраницы, "[ВидТранспорта]"
|
||||
, ОбщегоНазначения.ИмяЗначенияПеречисления(Запись.ВидТранспортаСообщенийОбменаПоУмолчанию));
|
||||
|
||||
Если Элементы[ИмяСтраницы].Видимость Тогда
|
||||
|
||||
Элементы.СтраницыВидовТранспорта.ТекущаяСтраница = Элементы[ИмяСтраницы];
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СобытиеЖурналаРегистрацииУстановкаПодключенияКWebСервису
|
||||
= ОбменДаннымиСервер.СобытиеЖурналаРегистрацииУстановкаПодключенияКWebСервису();
|
||||
СобытиеЖурналаРегистрацииУстановкаПодключенияКWebСервису =
|
||||
ОбменДаннымиСервер.СобытиеЖурналаРегистрацииУстановкаПодключенияКWebСервису();
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернета") Тогда
|
||||
Элементы.ПараметрыДоступаВИнтернет.Видимость = Истина;
|
||||
Элементы.ПараметрыДоступаВИнтернет1.Видимость = Истина;
|
||||
Элементы.ПараметрыДоступаВИнтернетFTP.Видимость = Истина;
|
||||
Иначе
|
||||
Элементы.ПараметрыДоступаВИнтернет.Видимость = Ложь;
|
||||
Элементы.ПараметрыДоступаВИнтернет1.Видимость = Ложь;
|
||||
Элементы.ПараметрыДоступаВИнтернетFTP.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Запись.Корреспондент) Тогда
|
||||
ПаролиФормы = "COMПарольПользователя,FTPСоединениеПароль,WSПароль,ПарольАрхиваСообщенияОбмена";
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Корреспондент, "COMПарольПользователя, FTPСоединениеПароль, WSПароль, ПарольАрхиваСообщенияОбмена");
|
||||
Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Запись.Корреспондент, ПаролиФормы);
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
COMПарольПользователя = ?(ЗначениеЗаполнено(Пароли.COMПарольПользователя), ЭтотОбъект.УникальныйИдентификатор, "");
|
||||
FTPСоединениеПароль = ?(ЗначениеЗаполнено(Пароли.FTPСоединениеПароль), ЭтотОбъект.УникальныйИдентификатор, "");
|
||||
WSПароль = ?(ЗначениеЗаполнено(Пароли.WSПароль), ЭтотОбъект.УникальныйИдентификатор, "");
|
||||
ПарольАрхиваСообщенияОбмена = ?(ЗначениеЗаполнено(Пароли.ПарольАрхиваСообщенияОбмена), ЭтотОбъект.УникальныйИдентификатор, "");
|
||||
|
||||
Для Каждого ПарольФормы Из СтрРазделить(ПаролиФормы, ",", Ложь) Цикл
|
||||
ЭтотОбъект[ПарольФормы] = ?(ЗначениеЗаполнено(Пароли[ПарольФормы]), ЭтотОбъект.УникальныйИдентификатор, "");
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -53,6 +41,8 @@
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
|
||||
УстановитьОтображениеВкладокВидовТранспорта();
|
||||
|
||||
ВариантРаботыИнформационнойБазыПриИзменении();
|
||||
|
||||
АутентификацияОперационнойСистемыПриИзменении();
|
||||
@@ -377,36 +367,62 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьВидимостьЭлементовФормы()
|
||||
Процедура ЗаполнитьДоступныеВидыТранспорта()
|
||||
|
||||
ИспользуемыеТранспорты = Новый Массив;
|
||||
ДоступныеВидыТранспорта.Очистить();
|
||||
Элементы.ВидТранспортаСообщенийОбменаПоУмолчанию.СписокВыбора.Очистить();
|
||||
|
||||
Если ЗначениеЗаполнено(Запись.Корреспондент) Тогда
|
||||
|
||||
ИспользуемыеТранспорты = ОбменДаннымиПовтИсп.ИспользуемыеТранспортыСообщенийОбмена(Запись.Корреспондент);
|
||||
|
||||
Если ЗначениеЗаполнено(Запись.ВидТранспортаСообщенийОбменаПоУмолчанию)
|
||||
И ИспользуемыеТранспорты.Найти(Запись.ВидТранспортаСообщенийОбменаПоУмолчанию) = Неопределено Тогда
|
||||
ИспользуемыеТранспорты.Добавить(Запись.ВидТранспортаСообщенийОбменаПоУмолчанию);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого СтраницаВидаТранспорта Из Элементы.СтраницыВидовТранспорта.ПодчиненныеЭлементы Цикл
|
||||
|
||||
СтраницаВидаТранспорта.Видимость = Ложь;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Элементы.ВидТранспортаСообщенийОбменаПоУмолчанию.СписокВыбора.Очистить();
|
||||
|
||||
Для Каждого Элемент Из ИспользуемыеТранспорты Цикл
|
||||
|
||||
ИмяЭлементаФормы = "НастройкиТранспорта[ВидТранспорта]";
|
||||
ИмяЭлементаФормы = СтрЗаменить(ИмяЭлементаФормы, "[ВидТранспорта]", ОбщегоНазначения.ИмяЗначенияПеречисления(Элемент));
|
||||
|
||||
Элементы[ИмяЭлементаФормы].Видимость = Истина;
|
||||
СтрокаДоступныеВидыТранспорта = ДоступныеВидыТранспорта.Добавить();
|
||||
СтрокаДоступныеВидыТранспорта.ВидТранспорта = Элемент;
|
||||
СтрокаДоступныеВидыТранспорта.ИмяСтраницы = СтрЗаменить("НастройкиТранспорта[ВидТранспорта]",
|
||||
"[ВидТранспорта]",
|
||||
ОбщегоНазначения.ИмяЗначенияПеречисления(Элемент));
|
||||
|
||||
Элементы.ВидТранспортаСообщенийОбменаПоУмолчанию.СписокВыбора.Добавить(Элемент, Строка(Элемент));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ИспользуемыеТранспорты.Количество() = 1 Тогда
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьОтображениеВкладокВидовТранспорта()
|
||||
|
||||
ИмяСвойстваЭлемента = "Видимость";
|
||||
#Если ВебКлиент Тогда
|
||||
ИмяСвойстваЭлемента = "Доступность";
|
||||
#КонецЕсли
|
||||
|
||||
Для Каждого СтраницаВидаТранспорта Из Элементы.СтраницыВидовТранспорта.ПодчиненныеЭлементы Цикл
|
||||
|
||||
СтраницаВидаТранспорта[ИмяСвойстваЭлемента] = Ложь;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого СтрокаДоступныеВидыТранспорта Из ДоступныеВидыТранспорта Цикл
|
||||
|
||||
ЭлементВкладка = Элементы[СтрокаДоступныеВидыТранспорта.ИмяСтраницы];
|
||||
ЭлементВкладка[ИмяСвойстваЭлемента] = Истина;
|
||||
|
||||
Если Запись.ВидТранспортаСообщенийОбменаПоУмолчанию = СтрокаДоступныеВидыТранспорта.ВидТранспорта Тогда
|
||||
Элементы.СтраницыВидовТранспорта.ТекущаяСтраница = ЭлементВкладка;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ДоступныеВидыТранспорта.Количество() = 1 Тогда
|
||||
|
||||
Элементы.СтраницыВидовТранспорта.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет;
|
||||
|
||||
|
||||
@@ -60,11 +60,11 @@
|
||||
"СтандартныеПодсистемы.УправлениеДоступом.ВерсияТекстовОграниченияДоступа",
|
||||
ВерсияТекстов, ЕстьТекущиеИзменения);
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.92") < 0
|
||||
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.107") < 0
|
||||
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.1.1") > 0
|
||||
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.1.109") < 0
|
||||
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.1") > 0
|
||||
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.150") < 0 Тогда
|
||||
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.169") < 0 Тогда
|
||||
|
||||
ЕстьТекущиеИзменения = Истина;
|
||||
КонецЕсли;
|
||||
@@ -141,11 +141,11 @@
|
||||
ЗапланироватьОбновление(Истина, Ложь, "ПереходНаВерсиюБСП_3.0.3.76");
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.92") < 0
|
||||
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.107") < 0
|
||||
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.1") > 0
|
||||
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.150") < 0 Тогда
|
||||
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.169") < 0 Тогда
|
||||
|
||||
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.0.3.92");
|
||||
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.0.3.107");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -270,19 +270,24 @@
|
||||
&НаКлиенте
|
||||
Процедура НепринятыеПоДатеПриАктивизацииСтроки(Элемент)
|
||||
|
||||
Если Элемент.ТекущиеДанные <> Неопределено Тогда
|
||||
СвязанныеЭлементы = Новый Массив;
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеСравнитьСДаннымиВБазе);
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеПринятьВерсию);
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеИзменить);
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеОткрытьВерсию);
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеИгнорироватьНепринятый);
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеНеИгнорироватьНепринятый);
|
||||
|
||||
Если Элемент.ТекущиеДанные.НовыйОбъект Тогда
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюСравнитьСДаннымиВБазе);
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюПринятьВерсию);
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюИзменить);
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюОткрытьВерсиюНепринятыеВЭтойПрограмме);
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюОткрытьВерсию);
|
||||
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюГруппаИгнорирования);
|
||||
|
||||
Элементы.НепринятыеПоДатеПринятьВерсию.Доступность = Ложь;
|
||||
|
||||
Иначе
|
||||
|
||||
Элементы.НепринятыеПоДатеПринятьВерсию.Доступность = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
Для Каждого СвязанныйЭлемент Из СвязанныеЭлементы Цикл
|
||||
СвязанныйЭлемент.Доступность = (Элемент.ТекущиеДанные <> Неопределено);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -379,8 +384,12 @@
|
||||
Процедура ПровестиДокумент(Команда)
|
||||
|
||||
ОчиститьСообщения();
|
||||
ПровестиДокументы(Элементы.НепроведенныеДокументы.ВыделенныеСтроки);
|
||||
ОбновитьНаСервере("НепроведенныеДокументы");
|
||||
|
||||
СообщениеОбОшибке = "";
|
||||
ПровестиДокументы(Элементы.НепроведенныеДокументы.ВыделенныеСтроки, СообщениеОбОшибке);
|
||||
Если Не ПустаяСтрока(СообщениеОбОшибке) Тогда
|
||||
ПоказатьПредупреждение(, СообщениеОбОшибке);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -463,8 +472,16 @@
|
||||
&НаКлиенте
|
||||
Процедура ПринятьВерсиюНепринятыеЗавершение(Ответ, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Если Ответ = КодВозвратаДиалога.Да Тогда
|
||||
ПринятьОтклонитьВерсиюНаСервере(Элементы.НепринятыеПоДате.ВыделенныеСтроки, "НепринятыеПоДате");
|
||||
Если Ответ <> КодВозвратаДиалога.Да Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОчиститьСообщения();
|
||||
|
||||
СообщениеОбОшибке = "";
|
||||
ПринятьОтклонитьВерсиюНаСервере(Элементы.НепринятыеПоДате.ВыделенныеСтроки, "НепринятыеПоДате", СообщениеОбОшибке);
|
||||
Если Не ПустаяСтрока(СообщениеОбОшибке) Тогда
|
||||
ПоказатьПредупреждение(, СообщениеОбОшибке);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -556,10 +573,16 @@
|
||||
&НаКлиенте
|
||||
Процедура ИзменитьРезультатКонфликтаЗавершение(Ответ, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Если Ответ = КодВозвратаДиалога.Да Тогда
|
||||
Если Ответ <> КодВозвратаДиалога.Да Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПринятьОтклонитьВерсиюНаСервере(Элементы.Коллизии.ВыделенныеСтроки, "Коллизии");
|
||||
ОчиститьСообщения();
|
||||
|
||||
СообщениеОбОшибке = "";
|
||||
ПринятьОтклонитьВерсиюНаСервере(Элементы.Коллизии.ВыделенныеСтроки, "Коллизии", СообщениеОбОшибке);
|
||||
Если Не ПустаяСтрока(СообщениеОбОшибке) Тогда
|
||||
ПоказатьПредупреждение(, СообщениеОбОшибке);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -697,24 +720,57 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПровестиДокументы(Знач ВыделенныеСтроки)
|
||||
Процедура ПровестиДокументы(Знач ВыделенныеСтроки, СообщениеОбОшибке = "")
|
||||
|
||||
СчетчикВсего = 0;
|
||||
СчетчикНеПроведенные = 0;
|
||||
Для Каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
|
||||
|
||||
Если ТипЗнч(ВыделеннаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ДокументОбъект = ВыделеннаяСтрока.ПроблемныйОбъект.ПолучитьОбъект();
|
||||
СчетчикВсего = СчетчикВсего + 1;
|
||||
|
||||
Если ДокументОбъект.ПроверитьЗаполнение() Тогда
|
||||
БлокировкаУстановлена = Ложь;
|
||||
|
||||
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
ЗаблокироватьДанныеДляРедактирования(ВыделеннаяСтрока.ПроблемныйОбъект);
|
||||
БлокировкаУстановлена = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
ДокументОбъект = ВыделеннаяСтрока.ПроблемныйОбъект.ПолучитьОбъект();
|
||||
|
||||
Если ДокументОбъект.ПроверитьЗаполнение() Тогда
|
||||
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
|
||||
Иначе
|
||||
СчетчикНеПроведенные = СчетчикНеПроведенные + 1;
|
||||
КонецЕсли;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
Если Не БлокировкаУстановлена Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось провести документ ""%1"" по причине:
|
||||
|%2.'"),
|
||||
ВыделеннаяСтрока.ПроблемныйОбъект,
|
||||
КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
|
||||
КонецЕсли;
|
||||
СчетчикНеПроведенные = СчетчикНеПроведенные + 1;
|
||||
КонецПопытки;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если СчетчикНеПроведенные > 0 Тогда
|
||||
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не проведено документов: %1 из %2.'"),
|
||||
Формат(СчетчикНеПроведенные, "ЧН=; ЧГ=0"),
|
||||
Формат(СчетчикВсего, "ЧН=; ЧГ=0"));
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьНаСервере("НепроведенныеДокументы");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -922,7 +978,7 @@
|
||||
ПараметрыЗапроса = ОбменДаннымиСервер.ПараметрыЗапросаКоличествоПроблемВерсионирования();
|
||||
|
||||
ПараметрыЗапроса.ЭтоКоличествоКоллизий = Ложь;
|
||||
ПараметрыЗапроса.УчитыватьПроигнорированные = ПоказыватьПроигнорированныеКонфликты;
|
||||
ПараметрыЗапроса.УчитыватьПроигнорированные = ПоказыватьПроигнорированныеНепринятые;
|
||||
ПараметрыЗапроса.Период = Период;
|
||||
ПараметрыЗапроса.СтрокаПоиска = СтрокаПоиска;
|
||||
|
||||
@@ -1260,22 +1316,53 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПринятьОтклонитьВерсиюНаСервере(Знач ВыделенныеСтроки, ИмяЭлемента)
|
||||
Процедура ПринятьОтклонитьВерсиюНаСервере(Знач ВыделенныеСтроки, ИмяЭлемента, СообщениеОбОшибке = "")
|
||||
|
||||
МодульВерсионированиеОбъектов = Неопределено;
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
|
||||
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
|
||||
КонецЕсли;
|
||||
|
||||
РазрешитьПроведениеДокумента = Метаданные.СвойстваОбъектов.Проведение.Разрешить;
|
||||
|
||||
СчетчикВсего = 0;
|
||||
СчетчикНеПринятые = 0;
|
||||
Для Каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
|
||||
|
||||
Если ТипЗнч(ВыделеннаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
|
||||
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
|
||||
МодульВерсионированиеОбъектов.ПриПереходеНаВерсиюОбъекта(ВыделеннаяСтрока.Объект,
|
||||
ВыделеннаяСтрока.НомерВерсии);
|
||||
СчетчикВсего = СчетчикВсего + 1;
|
||||
|
||||
Если МодульВерсионированиеОбъектов = Неопределено Тогда
|
||||
СчетчикНеПринятые = СчетчикНеПринятые + 1;
|
||||
Иначе
|
||||
Попытка
|
||||
МодульВерсионированиеОбъектов.ПриПереходеНаВерсиюОбъекта(ВыделеннаяСтрока.Объект,
|
||||
ВыделеннаяСтрока.НомерВерсии);
|
||||
Исключение
|
||||
ПредставлениеОбъекта = ?(ОбщегоНазначения.СсылкаСуществует(ВыделеннаяСтрока.Объект),
|
||||
ВыделеннаяСтрока.Объект,
|
||||
ВыделеннаяСтрока.Объект.Метаданные());
|
||||
ОбщегоНазначения.СообщитьПользователю(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось принять версию объекта ""%1"" по причине:
|
||||
|%2.'"),
|
||||
ПредставлениеОбъекта,
|
||||
КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
|
||||
СчетчикНеПринятые = СчетчикНеПринятые + 1;
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если СчетчикНеПринятые > 0 Тогда
|
||||
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не принято версий объектов: %1 из %2.'"),
|
||||
Формат(СчетчикНеПринятые, "ЧН=; ЧГ=0"),
|
||||
Формат(СчетчикВсего, "ЧН=; ЧГ=0"));
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьНаСервере(ИмяЭлемента);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -175,38 +175,28 @@
|
||||
|
||||
Процедура ОчиститьПроблемыПриОтправке(УзлыИнформационнойБазы = Неопределено) Экспорт
|
||||
|
||||
ТипыПроблем = Новый Массив();
|
||||
ТипыПроблем = Новый Массив;
|
||||
ТипыПроблем.Добавить(Перечисления.ТипыПроблемОбменаДанными.ОшибкаПроверкиСконвертированногоОбъекта);
|
||||
ТипыПроблем.Добавить(Перечисления.ТипыПроблемОбменаДанными.ОшибкаВыполненияКодаОбработчиковПриОтправкеДанных);
|
||||
|
||||
Для Каждого Проблема Из ТипыПроблем Цикл
|
||||
Если ЗначениеЗаполнено(УзлыИнформационнойБазы) Тогда
|
||||
КоллекцияУзлов = ?(ТипЗнч(УзлыИнформационнойБазы) = Тип("Массив"),
|
||||
УзлыИнформационнойБазы,
|
||||
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(УзлыИнформационнойБазы));
|
||||
|
||||
ПоляОтбора = ПараметрыОтборыРегистра();
|
||||
|
||||
Если ЗначениеЗаполнено(УзлыИнформационнойБазы) Тогда
|
||||
|
||||
Если ТипЗнч(УзлыИнформационнойБазы) = Тип("Массив") Тогда
|
||||
Для Каждого УзелИнформационнойБазы Из УзлыИнформационнойБазы Цикл
|
||||
|
||||
ПоляОтбора.ТипПроблемы = Проблема;
|
||||
ПоляОтбора.УзелИнформационнойБазы = УзелИнформационнойБазы;
|
||||
ОчиститьЗаписиРегистра(ПоляОтбора);
|
||||
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
|
||||
ПоляОтбора.ТипПроблемы = Проблема;
|
||||
ПоляОтбора.УзелИнформационнойБазы = УзлыИнформационнойБазы;
|
||||
ОчиститьЗаписиРегистра(ПоляОтбора);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
ПоляОтбора.ТипПроблемы = Проблема;
|
||||
ОчиститьЗаписиРегистра(ПоляОтбора);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
Для Каждого Узел Из КоллекцияУзлов Цикл
|
||||
ПараметрыОтбора = Новый Структура("УзелИнформационнойБазы", Узел);
|
||||
Для Каждого ТипПроблемы Из ТипыПроблем Цикл
|
||||
ПараметрыОтбора.Вставить("ТипПроблемы", ТипПроблемы);
|
||||
ОчиститьЗаписиРегистра(ПараметрыОтбора);
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
Для Каждого ТипПроблемы Из ТипыПроблем Цикл
|
||||
ПараметрыОтбора = Новый Структура("ТипПроблемы", ТипПроблемы);
|
||||
ОчиститьЗаписиРегистра(ПараметрыОтбора);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -548,8 +548,25 @@
|
||||
Возврат ПользовательФильтр;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ПользовательГруппы Из Элемент.Состав Цикл
|
||||
ИмяПользователяИБ = ИмяПользователяИБ(ПользовательГруппы.Пользователь);
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Группа", Элемент);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| СоставыГруппПользователей.Пользователь КАК Пользователь
|
||||
|ИЗ
|
||||
| РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
|
||||
|ГДЕ
|
||||
| СоставыГруппПользователей.ГруппаПользователей В
|
||||
| (ВЫБРАТЬ
|
||||
| ГруппыПользователей.Ссылка КАК Ссылка
|
||||
| ИЗ
|
||||
| Справочник.ГруппыПользователей КАК ГруппыПользователей
|
||||
| ГДЕ
|
||||
| ГруппыПользователей.Ссылка В ИЕРАРХИИ (&Группа))";
|
||||
Результат = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
Для Каждого Строка Из Результат Цикл
|
||||
ИмяПользователяИБ = ИмяПользователяИБ(Строка.Пользователь);
|
||||
|
||||
Если ИмяПользователяИБ <> Неопределено Тогда
|
||||
ПользовательФильтр.Добавить(ИмяПользователяИБ);
|
||||
|
||||
@@ -2626,93 +2626,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.НеразделенныеПользователи</name>
|
||||
<right>
|
||||
@@ -4877,6 +4790,93 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.ПакетыДляОтправки</name>
|
||||
<right>
|
||||
|
||||
@@ -28,37 +28,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.РассылкиОтчетов</name>
|
||||
<right>
|
||||
@@ -107,6 +76,37 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<restrictionTemplate>
|
||||
<name>ДляОбъекта(ПолеОбъекта)</name>
|
||||
<condition>// ДляОбъекта(ПолеОбъекта = "")
|
||||
|
||||
@@ -3691,45 +3691,6 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.ЗакладкиВзаимодействий</name>
|
||||
<right>
|
||||
@@ -6548,6 +6509,45 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.ПакетыДляОтправки</name>
|
||||
<right>
|
||||
|
||||
@@ -3,6 +3,13 @@
|
||||
<setForNewObjects>false</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
@@ -34,13 +41,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации</name>
|
||||
<right>
|
||||
|
||||
@@ -107,6 +107,8 @@
|
||||
МодульПомощникНастройки.ЗаполнитьНастройкиПодключенияИзXML(
|
||||
НастройкиПодключения, Параметры.СтрокаПараметровXML, , Истина);
|
||||
|
||||
НастройкиПодключения.Вставить("ВидТранспортаСообщенийОбмена", Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим);
|
||||
|
||||
МодульПомощникНастройки.ВыполнитьДействияПоНастройкеОбменаДанными(
|
||||
НастройкиПодключения);
|
||||
Исключение
|
||||
|
||||
Reference in new issue
Block a user