3_0_1_287

This commit is contained in:
Компания 1С committed 2018-10-11 00:55:00 +03:00
1 parent f626c61a3a
commit d95c33fe24
42 files changed
+712 -263

No files matched your search

@@ -14,6 +14,10 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ЭлектроннаяПодписьСлужебный.НастроитьПояснениеВводаПароля(ЭтотОбъект,
Элементы.СертификатУсиленнаяЗащитаЗакрытогоКлюча.Имя,
Элементы.ПояснениеУсиленногоПароля.Имя);
СертификатПараметрыРеквизитов = Новый Структура; СертификатПараметрыРеквизитов = Новый Структура;
Если Параметры.Свойство("Организация") Тогда Если Параметры.Свойство("Организация") Тогда
СертификатПараметрыРеквизитов.Вставить("Организация", Параметры.Организация); СертификатПараметрыРеквизитов.Вставить("Организация", Параметры.Организация);
@@ -798,7 +802,7 @@
ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения( ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
"ПроверитьСертификатЦиклПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст), "ПроверитьСертификатЦиклПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст),
"", Неопределено, Контекст.ОписаниеПрограммы.Ссылка); "", Неопределено, Контекст.ОписаниеПрограммы.Ссылка, СертификатУсиленнаяЗащитаЗакрытогоКлюча);
КонецПроцедуры КонецПроцедуры
@@ -815,7 +819,9 @@
КонецЕсли; КонецЕсли;
Контекст.Вставить("МенеджерКриптографии", Результат); Контекст.Вставить("МенеджерКриптографии", Результат);
Если Не ЭлектроннаяПодписьСлужебныйКлиент.ИспользуетсяИнтерактивныйРежимКриптографии(Контекст.МенеджерКриптографии) Тогда
Контекст.МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = СвойстваПароля.Значение; Контекст.МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = СвойстваПароля.Значение;
КонецЕсли;
Если ДляШифрованияИРасшифровки = Истина Тогда Если ДляШифрованияИРасшифровки = Истина Тогда
Контекст.МенеджерКриптографии.НачатьШифрование(Новый ОписаниеОповещения( Контекст.МенеджерКриптографии.НачатьШифрование(Новый ОписаниеОповещения(
@@ -14,6 +14,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ЭлектроннаяПодписьСлужебный.НастроитьПояснениеВводаПароля(ЭтотОбъект, ,
Элементы.ПояснениеУсиленногоПароля.Имя);
ЭлектроннаяПодписьСлужебный.НастроитьФормуПодписанияШифрованияРасшифровки(ЭтотОбъект); ЭлектроннаяПодписьСлужебный.НастроитьФормуПодписанияШифрованияРасшифровки(ЭтотОбъект);
КонецПроцедуры КонецПроцедуры
@@ -14,6 +14,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ЭлектроннаяПодписьСлужебный.НастроитьПояснениеВводаПароля(ЭтотОбъект, ,
Элементы.ПояснениеУсиленногоПароля.Имя);
Если КлиентскоеПриложение.ТекущийВариантИнтерфейса() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда Если КлиентскоеПриложение.ТекущийВариантИнтерфейса() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда
Элементы.НаСервереКартинка.Высота = 2; Элементы.НаСервереКартинка.Высота = 2;
КонецЕсли; КонецЕсли;
@@ -430,7 +433,7 @@
Процедура ПроверитьНаСторонеКлиентаПослеПодключенияРасширенияРаботыСКриптографией(Подключено, Контекст) Экспорт Процедура ПроверитьНаСторонеКлиентаПослеПодключенияРасширенияРаботыСКриптографией(Подключено, Контекст) Экспорт
Если Не Подключено Тогда Если Не Подключено Тогда
ЭлектроннаяПодписьКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения( ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
"ПроверитьНаСторонеКлиентаПослеПопыткиСозданияМенеджераКриптографии", ЭтотОбъект, Контекст), "ПроверитьНаСторонеКлиентаПослеПопыткиСозданияМенеджераКриптографии", ЭтотОбъект, Контекст),
"ПроверкаСертификата", Ложь); "ПроверкаСертификата", Ложь);
Возврат; Возврат;
@@ -513,7 +516,7 @@
УстановитьЭлемент(ЭтотОбъект, "НаличиеСертификата", Ложь, ОписаниеОшибки); УстановитьЭлемент(ЭтотОбъект, "НаличиеСертификата", Ложь, ОписаниеОшибки);
// Проверка данных сертификата. // Проверка данных сертификата.
ЭлектроннаяПодписьКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения( ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
"ПроверитьНаСторонеКлиентаПослеСозданияЛюбогоМенеджераКриптографии", ЭтотОбъект, Контекст), "ПроверитьНаСторонеКлиентаПослеСозданияЛюбогоМенеджераКриптографии", ЭтотОбъект, Контекст),
"ПроверкаСертификата", Ложь); "ПроверкаСертификата", Ложь);
@@ -577,9 +580,9 @@
// Наличие программы // Наличие программы
Если ЗначениеЗаполнено(Программа) Тогда Если ЗначениеЗаполнено(Программа) Тогда
ЭлектроннаяПодписьКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения( ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
"ПроверитьНаСторонеКлиентаПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст), "ПроверитьНаСторонеКлиентаПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст),
"ПроверкаСертификата", Ложь, Программа); "ПроверкаСертификата", Ложь, Программа, СертификатУсиленнаяЗащитаЗакрытогоКлюча);
Иначе Иначе
ОписаниеОшибки = НСтр("ru = 'Программа для использования закрытого ключа не указана в сертификате.'"); ОписаниеОшибки = НСтр("ru = 'Программа для использования закрытого ключа не указана в сертификате.'");
ПроверитьНаСторонеКлиентаПослеСозданияМенеджераКриптографии(ОписаниеОшибки, Контекст); ПроверитьНаСторонеКлиентаПослеСозданияМенеджераКриптографии(ОписаниеОшибки, Контекст);
@@ -629,7 +632,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если Не ЭлектроннаяПодписьСлужебныйКлиент.ИспользуетсяИнтерактивныйРежимКриптографии(Контекст.МенеджерКриптографии) Тогда
Контекст.МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = СвойстваПароля.Значение; Контекст.МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = СвойстваПароля.Значение;
КонецЕсли;
// Подписание. // Подписание.
Если ПроверкиНаКлиенте.НаличиеСертификата Тогда Если ПроверкиНаКлиенте.НаличиеСертификата Тогда
@@ -725,8 +730,8 @@
Иначе Иначе
ОписаниеОшибки = ""; ОписаниеОшибки = "";
ДанныеПодписи = ДанныеПодписи.Подпись; ДанныеПодписи = ДанныеПодписи.Подпись;
КонецЕсли;
ЭлектроннаяПодписьСлужебныйКлиентСервер.ПустыеДанныеПодписи(ДанныеПодписи, ОписаниеОшибки); ЭлектроннаяПодписьСлужебныйКлиентСервер.ПустыеДанныеПодписи(ДанныеПодписи, ОписаниеОшибки);
КонецЕсли;
Если Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда Если Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда
ПарольПринят = Истина; ПарольПринят = Истина;
КонецЕсли; КонецЕсли;
@@ -892,8 +897,8 @@
ОписаниеОшибки = Результат.ИнформацияОбОшибке.Описание; ОписаниеОшибки = Результат.ИнформацияОбОшибке.Описание;
Иначе Иначе
ОписаниеОшибки = ""; ОписаниеОшибки = "";
КонецЕсли;
ЭлектроннаяПодписьСлужебныйКлиентСервер.ПустыеРасшифрованныеДанные(Результат.РасшифрованныеДанные, ОписаниеОшибки); ЭлектроннаяПодписьСлужебныйКлиентСервер.ПустыеРасшифрованныеДанные(Результат.РасшифрованныеДанные, ОписаниеОшибки);
КонецЕсли;
УстановитьЭлемент(ЭтотОбъект, "Расшифровка", Ложь, ОписаниеОшибки, Истина); УстановитьЭлемент(ЭтотОбъект, "Расшифровка", Ложь, ОписаниеОшибки, Истина);
КонецЕсли; КонецЕсли;
@@ -14,6 +14,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ЭлектроннаяПодписьСлужебный.НастроитьПояснениеВводаПароля(ЭтотОбъект, ,
Элементы.ПояснениеУсиленногоПароля.Имя);
ЭлектроннаяПодписьСлужебный.НастроитьФормуПодписанияШифрованияРасшифровки(ЭтотОбъект, , Истина); ЭлектроннаяПодписьСлужебный.НастроитьФормуПодписанияШифрованияРасшифровки(ЭтотОбъект, , Истина);
РазрешитьЗапоминатьПароль = Параметры.РазрешитьЗапоминатьПароль; РазрешитьЗапоминатьПароль = Параметры.РазрешитьЗапоминатьПароль;
@@ -7,6 +7,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ЭлектроннаяПодписьСлужебный.НастроитьПояснениеВводаПароля(ЭтотОбъект,
Элементы.УсиленнаяЗащитаЗакрытогоКлюча.Имя);
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -605,7 +605,7 @@
Процедура ПродолжитьОткрытиеПослеНачала(Результат, Контекст) Экспорт Процедура ПродолжитьОткрытиеПослеНачала(Результат, Контекст) Экспорт
Если Результат <> Истина Тогда Если Результат <> Истина Тогда
ПродолжитьОткрытиеЗавершение(Контекст.Оповещение); ПродолжитьОткрытиеЗавершение(Контекст);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -360,7 +360,8 @@
ПараметрыФормы = Новый Структура(); ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ВидСообщения" , ВидСообщения); ПараметрыФормы.Вставить("ВидСообщения" , ВидСообщения);
ПараметрыФормы.Вставить("ПолноеИмяТипаОснования", ПолноеИмяТипаОснования); ПараметрыФормы.Вставить("ПолноеИмяТипаОснования",
?(ЗначениеЗаполнено(ПолноеИмяТипаОснования), ПолноеИмяТипаОснования, Предмет));
ПараметрыФормы.Вставить("ТолькоДляАвтора", Истина); ПараметрыФормы.Вставить("ТолькоДляАвтора", Истина);
ПараметрыФормы.Вставить("ВладелецШаблона", ВладелецШаблона); ПараметрыФормы.Вставить("ВладелецШаблона", ВладелецШаблона);
ПараметрыФормы.Вставить("ЗначениеКопирования", ЗначениеКопирования); ПараметрыФормы.Вставить("ЗначениеКопирования", ЗначениеКопирования);
@@ -56,7 +56,8 @@
&НаКлиенте &НаКлиенте
Процедура НазначениеФильтрПриИзменении(Элемент) Процедура НазначениеФильтрПриИзменении(Элемент)
УстановитьФильтрНазначение(Назначение); ВыбранныйЭлемент = Элементы.НазначениеФильтр.СписокВыбора.НайтиПоЗначению(Назначение);
УстановитьФильтрНазначение(ВыбранныйЭлемент.Представление);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -98,7 +99,10 @@
&НаКлиенте &НаКлиенте
Процедура СоздатьШаблонЭлектронногоПисьма(Команда) Процедура СоздатьШаблонЭлектронногоПисьма(Команда)
ПараметрыФормы = Новый Структура("ВидСообщения", "ЭлектронноеПисьмо"); ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить("ВидСообщения", "ЭлектронноеПисьмо");
ПараметрыФормы.Вставить("ПолноеИмяТипаОснования", Назначение);
ПараметрыФормы.Вставить("МожноМенятьНазначение", Истина);
ОткрытьФорму("Справочник.ШаблоныСообщений.ФормаОбъекта", ПараметрыФормы ,ЭтотОбъект); ОткрытьФорму("Справочник.ШаблоныСообщений.ФормаОбъекта", ПараметрыФормы ,ЭтотОбъект);
КонецПроцедуры КонецПроцедуры
@@ -172,7 +176,8 @@
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.Текст = Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ШаблоныСообщений.Назначение КАК Назначение | ШаблоныСообщений.Назначение КАК Назначение,
| ШаблоныСообщений.ПолноеИмяТипаПараметраВводаНаОсновании Как ПолноеИмяТипаПараметраВводаНаОсновании
|ИЗ |ИЗ
| Справочник.ШаблоныСообщений КАК ШаблоныСообщений | Справочник.ШаблоныСообщений КАК ШаблоныСообщений
|ГДЕ |ГДЕ
@@ -180,7 +185,7 @@
| И ШаблоныСообщений.Назначение <> &Общий | И ШаблоныСообщений.Назначение <> &Общий
| |
|СГРУППИРОВАТЬ ПО |СГРУППИРОВАТЬ ПО
| ШаблоныСообщений.Назначение | ШаблоныСообщений.Назначение, ШаблоныСообщений.ПолноеИмяТипаПараметраВводаНаОсновании
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| Назначение"; | Назначение";
@@ -189,7 +194,7 @@
РезультатЗапроса = Запрос.Выполнить().Выбрать(); РезультатЗапроса = Запрос.Выполнить().Выбрать();
Пока РезультатЗапроса.Следующий() Цикл Пока РезультатЗапроса.Следующий() Цикл
Элементы.НазначениеФильтр.СписокВыбора.Добавить(РезультатЗапроса.Назначение, РезультатЗапроса.Назначение); Элементы.НазначениеФильтр.СписокВыбора.Добавить(РезультатЗапроса.ПолноеИмяТипаПараметраВводаНаОсновании, РезультатЗапроса.Назначение);
КонецЦикла; КонецЦикла;
Назначение = ""; Назначение = "";
@@ -4029,6 +4029,12 @@
<name>ПараметрыСообщения</name> <name>ПараметрыСообщения</name>
<valueType/> <valueType/>
</parameters> </parameters>
<parameters>
<name>МожноМенятьНазначение</name>
<valueType>
<types>Boolean</types>
</valueType>
</parameters>
<commandInterface> <commandInterface>
<navigationPanel> <navigationPanel>
<cmiFragmentRecord> <cmiFragmentRecord>
@@ -499,12 +499,16 @@
&НаКлиенте &НаКлиенте
Процедура ЭлектронноеПисьмоОбычныйТекст(Команда) Процедура ЭлектронноеПисьмоОбычныйТекст(Команда)
Если Не Элементы.ФормаЭлектронноеПисьмоОбычныйТекст.Пометка Тогда
УстановитьЭлектронноеПисьмоОбычныйТекст(Истина); УстановитьЭлектронноеПисьмоОбычныйТекст(Истина);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ЭлектронноеПисьмоHTML(Команда) Процедура ЭлектронноеПисьмоHTML(Команда)
Если Не Элементы.ФормаЭлектронноеПисьмоHTML.Пометка Тогда
УстановитьЭлектронноеПисьмоHTML(Истина); УстановитьЭлектронноеПисьмоHTML(Истина);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -800,7 +804,10 @@
// Контекстный вызов // Контекстный вызов
Объект.ПолноеИмяТипаПараметраВводаНаОсновании = Параметры.ПолноеИмяТипаОснования; Объект.ПолноеИмяТипаПараметраВводаНаОсновании = Параметры.ПолноеИмяТипаОснования;
Если Не Параметры.МожноМенятьНазначение Тогда
Элементы.ГруппаНазначение.Видимость = Ложь; Элементы.ГруппаНазначение.Видимость = Ложь;
КонецЕсли;
Объект.ПредназначенДляВводаНаОсновании = Истина; Объект.ПредназначенДляВводаНаОсновании = Истина;
ИмяВНазначение = Параметры.ПолноеИмяТипаОснования; ИмяВНазначение = Параметры.ПолноеИмяТипаОснования;
@@ -713,6 +713,7 @@
ПараметрыВыполнения.Вставить("Индекс", -1); ПараметрыВыполнения.Вставить("Индекс", -1);
ПараметрыВыполнения.Вставить("ПоказатьОшибку", Неопределено); ПараметрыВыполнения.Вставить("ПоказатьОшибку", Неопределено);
ПараметрыВыполнения.Вставить("СвойстваОшибки", Новый Структура("Ошибки", Новый Массив)); ПараметрыВыполнения.Вставить("СвойстваОшибки", Новый Структура("Ошибки", Новый Массив));
ПараметрыВыполнения.Вставить("ИнтерактивныйРежим", Ложь);
ПараметрыВыполнения.Вставить("ЭтоLinux", Не ОбщегоНазначенияКлиентСервер.ЭтоWindowsКлиент()); ПараметрыВыполнения.Вставить("ЭтоLinux", Не ОбщегоНазначенияКлиентСервер.ЭтоWindowsКлиент());
ПараметрыВыполнения.Вставить("Менеджер", Неопределено); ПараметрыВыполнения.Вставить("Менеджер", Неопределено);
ПараметрыВыполнения.Вставить("Оповещение", Новый ОписаниеОповещения( ПараметрыВыполнения.Вставить("Оповещение", Новый ОписаниеОповещения(
@@ -5976,6 +5976,10 @@
Процедура ОбработатьОшибкуОбращенияКВебСервису(Результат, Знач Ответ, ИнформацияОбОшибке, ТекстURL) Процедура ОбработатьОшибкуОбращенияКВебСервису(Результат, Знач Ответ, ИнформацияОбОшибке, ТекстURL)
Если Ответ = Неопределено Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(ИнформацияОбОшибке) = Тип("Строка") Тогда Если ТипЗнч(ИнформацияОбОшибке) = Тип("Строка") Тогда
ПредставлениеОшибки = ИнформацияОбОшибке; ПредставлениеОшибки = ИнформацияОбОшибке;
Иначе Иначе
@@ -2900,7 +2900,7 @@
Обработчик.БлокируемыеОбъекты = "РегистрСведений.УдалитьНастройкиТранспортаОбмена,РегистрСведений.НастройкиТранспортаОбменаДанными"; Обработчик.БлокируемыеОбъекты = "РегистрСведений.УдалитьНастройкиТранспортаОбмена,РегистрСведений.НастройкиТранспортаОбменаДанными";
Обработчик = Обработчики.Добавить(); Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.0.1.91"; Обработчик.Версия = "3.0.1.281";
Обработчик.Комментарий = Обработчик.Комментарий =
НСтр("ru = 'Заполнение вспомогательных настроек обмена данными в регистре ""Общие настройки узлов информационных баз"".'"); НСтр("ru = 'Заполнение вспомогательных настроек обмена данными в регистре ""Общие настройки узлов информационных баз"".'");
Обработчик.Идентификатор = Новый УникальныйИдентификатор("e1cd64f1-3df9-4ea6-8076-1ba0627ba104"); Обработчик.Идентификатор = Новый УникальныйИдентификатор("e1cd64f1-3df9-4ea6-8076-1ba0627ba104");
@@ -13123,9 +13123,13 @@
КонецФункции КонецФункции
Функция КодПредопределенногоУзлаПланаОбмена(ИмяПланаОбмена) Экспорт Функция КодПредопределенногоУзлаПланаОбмена(ИмяПланаОбмена) Экспорт
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
Возврат ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбмена(ИмяПланаОбмена), "Код"); ЭтотУзел = ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбмена(ИмяПланаОбмена);
Возврат СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЭтотУзел, "Код"));
КонецФункции КонецФункции
// Возвращает массив всех узлов для заданного плана обмена кроме предопределенного узла. // Возвращает массив всех узлов для заданного плана обмена кроме предопределенного узла.
@@ -32,7 +32,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.1.279"; Описание.Версия = "3.0.1.287";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -741,6 +741,12 @@
ПараметрыВыполнения.Вставить("ПарыЗамен", ПарыЗамен); ПараметрыВыполнения.Вставить("ПарыЗамен", ПарыЗамен);
ПараметрыВыполнения.Вставить("УспешныеЗамены", Новый Соответствие); ПараметрыВыполнения.Вставить("УспешныеЗамены", Новый Соответствие);
Если ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Истина);
КонецЕсли;
Попытка
Если ЗаменаПарыВТранзакции Тогда Если ЗаменаПарыВТранзакции Тогда
Для Каждого Дубль Из Дубли Цикл Для Каждого Дубль Из Дубли Цикл
ЗаменитьСсылкуОднойТранзакцией(Результат, Дубль, ПараметрыВыполнения, ТаблицаПоиска); ЗаменитьСсылкуОднойТранзакцией(Результат, Дубль, ПараметрыВыполнения, ТаблицаПоиска);
@@ -749,7 +755,21 @@
ЗаменитьСсылкиКороткимиТранзакциями(Результат, ПараметрыВыполнения, Дубли, ТаблицаПоиска); ЗаменитьСсылкиКороткимиТранзакциями(Результат, ПараметрыВыполнения, Дубли, ТаблицаПоиска);
КонецЕсли; КонецЕсли;
Если ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь);
КонецЕсли;
Исключение
Если ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь);
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Возврат Результат.Ошибки; Возврат Результат.Ошибки;
КонецФункции КонецФункции
// Получает все места использования ссылок. // Получает все места использования ссылок.
@@ -126,7 +126,7 @@
// * ТипАдреса - Строка - основной тип адреса (только для адресов РФ). // * ТипАдреса - Строка - основной тип адреса (только для адресов РФ).
// Варианты: "Муниципальный", "Административно-территориальный". // Варианты: "Муниципальный", "Административно-территориальный".
// * Страна - Строка - текстовое представление страны. // * Страна - Строка - текстовое представление страны.
// * КодСтраны - Строка - код страны по ОКСМ. // * КодСтраны - Строка - код страны по ОКСМ (может быть пустой, если поле страна не заполнена).
// * Индекс - Строка - почтовый индекс. // * Индекс - Строка - почтовый индекс.
// * КодРегиона - Строка - код региона РФ. // * КодРегиона - Строка - код региона РФ.
// * Регион - Строка - текстовое представление региона РФ. // * Регион - Строка - текстовое представление региона РФ.
@@ -1060,7 +1060,7 @@
Результат.Value = XDTOКонтактнаяИнформация.Представление; Результат.Value = XDTOКонтактнаяИнформация.Представление;
Результат.Comment = XDTOКонтактнаяИнформация.Комментарий; Результат.Comment = XDTOКонтактнаяИнформация.Комментарий;
Иначе Иначе
Если СтрЧислоВхождений(КонтактнаяИнформация, ",") = 9 Тогда Если СтрЧислоВхождений(КонтактнаяИнформация, ",") = 9 И СтрНайти(КонтактнаяИнформация, "=") = 0 Тогда
Формат9Запятых = Истина; Формат9Запятых = Истина;
АдресРФ = КонтактнаяИнформация; АдресРФ = КонтактнаяИнформация;
Иначе Иначе
@@ -1611,13 +1611,12 @@
Результат.Вставить("Индекс", Адрес.ZipCode); Результат.Вставить("Индекс", Адрес.ZipCode);
Результат.Вставить("ТипАдреса", Адрес.AddressType); Результат.Вставить("ТипАдреса", Адрес.AddressType);
Результат.Вставить("Страна", Адрес.Country); Результат.Вставить("Страна", Адрес.Country);
Если ЗначениеЗаполнено(Адрес.CountryCode) Тогда Если ЗначениеЗаполнено(Адрес.CountryCode) Тогда
Результат.Вставить("КодСтраны", Адрес.CountryCode); Результат.Вставить("КодСтраны", Адрес.CountryCode);
Иначе Иначе
СведенияОСтране = УправлениеКонтактнойИнформацией.ДанныеСтраныМира(Неопределено, Адрес.Country); СведенияОСтране = УправлениеКонтактнойИнформацией.ДанныеСтраныМира(Неопределено, Адрес.Country);
Если СведенияОСтране <> Неопределено Тогда Результат.Вставить("КодСтраны", ?(СведенияОСтране <> Неопределено, СведенияОСтране.Код, ""));
Результат.Вставить("КодСтраны", СведенияОСтране.Код);
КонецЕсли;
КонецЕсли; КонецЕсли;
ЭтоНациональныйАдрес = ?(СтрСравнить(Адрес.Country, РаботаСАдресамиКлиентСервер.ОсновнаяСтрана().Наименование) = 0, Истина, Ложь); ЭтоНациональныйАдрес = ?(СтрСравнить(Адрес.Country, РаботаСАдресамиКлиентСервер.ОсновнаяСтрана().Наименование) = 0, Истина, Ложь);
@@ -1052,7 +1052,7 @@
ЗаписьZipФайла.Добавить(ПолноеИмяФайла); ЗаписьZipФайла.Добавить(ПолноеИмяФайла);
Иначе Иначе
ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяФайла); ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяФайла);
ПоместитьВоВременноеХранилище(ДвоичныеДанные, АдресВоВременномХранилище); АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, Новый УникальныйИдентификатор);
ОписаниеФайла = Новый Структура; ОписаниеФайла = Новый Структура;
ОписаниеФайла.Вставить("Представление", ИмяФайла); ОписаниеФайла.Вставить("Представление", ИмяФайла);
ОписаниеФайла.Вставить("АдресВоВременномХранилище", АдресВоВременномХранилище); ОписаниеФайла.Вставить("АдресВоВременномХранилище", АдресВоВременномХранилище);
@@ -1269,6 +1269,19 @@
Обработчик.ЧитаемыеОбъекты = "Справочник.ГруппыДоступа"; Обработчик.ЧитаемыеОбъекты = "Справочник.ГруппыДоступа";
Обработчик.ИзменяемыеОбъекты = "РегистрСведений.ТаблицыГруппДоступа,РегистрСведений.ЗначенияГруппДоступа,РегистрСведений.ЗначенияГруппДоступаПоУмолчанию"; Обработчик.ИзменяемыеОбъекты = "РегистрСведений.ТаблицыГруппДоступа,РегистрСведений.ЗначенияГруппДоступа,РегистрСведений.ЗначенияГруппДоступаПоУмолчанию";
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
Или ОграничиватьДоступНаУровнеЗаписейУниверсально(Истина) Тогда
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.0.1.285";
Обработчик.Процедура = "РегистрыСведений.ПараметрыОграниченияДоступа.ОбработатьДанныеДляПереходаНаНовуюВерсию1";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.ЗапускатьИВПодчиненномУзлеРИБСФильтрами = Истина;
Обработчик.Комментарий = НСтр("ru = 'Планирование частичного обновления доступа по изменениям программы.'");
Обработчик.Идентификатор = Новый УникальныйИдентификатор("2721d667-858d-48ed-8736-f7ece8218697");
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыСведений.ПараметрыОграниченияДоступа.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию1";
КонецЕсли;
КонецПроцедуры КонецПроцедуры
// См. ОбновлениеИнформационнойБазыБСП.ПослеОбновленияИнформационнойБазы. // См. ОбновлениеИнформационнойБазыБСП.ПослеОбновленияИнформационнойБазы.
@@ -7676,7 +7689,8 @@
ИдентификаторТранзакции = Источник.ДополнительныеСвойства.УправлениеДоступомИдентификаторТранзакции; ИдентификаторТранзакции = Источник.ДополнительныеСвойства.УправлениеДоступомИдентификаторТранзакции;
ПараметрыОграничения = ПараметрыОграничения(ПолноеИмя, ИдентификаторТранзакции); ПараметрыОграничения = ПараметрыОграничения(ПолноеИмя, ИдентификаторТранзакции);
Если ПараметрыОграничения.ИспользуетсяОграничениеПоВладельцу Тогда Если ПараметрыОграничения.ОграничениеОтключено
Или ПараметрыОграничения.ИспользуетсяОграничениеПоВладельцу Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -13510,13 +13524,21 @@
Если ПараметрыОбновления.ЕстьВедущиеСпискиПоПравам Тогда Если ПараметрыОбновления.ЕстьВедущиеСпискиПоПравам Тогда
НомерТаблицы = НомерТаблицы + 1; НомерТаблицы = НомерТаблицы + 1;
Дерево = РезультатыЗапроса[НомерТаблицы].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам); Дерево = РезультатыЗапроса[НомерТаблицы].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
ДобавитьПраваПоТипам = Дерево.Колонки.Найти("ТипЗначения") <> Неопределено;
Для Каждого Строка Из Дерево.Строки Цикл Для Каждого Строка Из Дерево.Строки Цикл
ПраваНаВедущийСписок = Новый Соответствие; ПраваНаВедущийСписок = Новый Соответствие;
Для Каждого Подстрока Из Строка.Строки Цикл Для Каждого Подстрока Из Строка.Строки Цикл
ПраваНаВедущийСписок.Вставить(Подстрока.ВладелецПрав, Подстрока.Изменение); ПраваНаВедущийСписок.Вставить(Подстрока.ВладелецПрав, Подстрока.Изменение);
Если ДобавитьПраваПоТипам Тогда
ТипЗначенияСписка = Подстрока.ТипЗначения;
КонецЕсли;
КонецЦикла; КонецЦикла;
ПраваНаВедущиеСписки.Вставить(Строка.Список, ПраваНаВедущиеСписки.Вставить(Строка.Список,
Новый ФиксированноеСоответствие(ПраваНаВедущийСписок)); Новый ФиксированноеСоответствие(ПраваНаВедущийСписок));
Если ДобавитьПраваПоТипам Тогда
ПраваНаВедущиеСписки.Вставить(ТипЗначенияСписка,
Новый ФиксированноеСоответствие(ПраваНаВедущийСписок));
КонецЕсли;
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
ПараметрыОбновления.Вставить("ПраваНаВедущиеСписки", ПараметрыОбновления.Вставить("ПраваНаВедущиеСписки",
@@ -14299,6 +14321,9 @@
Иначе // Проверка прав на список. Иначе // Проверка прав на список.
ПраваНаВедущийСписок = Контекст.ПраваНаВедущиеСписки.Получить(Значение); ПраваНаВедущийСписок = Контекст.ПраваНаВедущиеСписки.Получить(Значение);
Если ПраваНаВедущийСписок = Неопределено Тогда
ПраваНаВедущийСписок = Контекст.ПраваНаВедущиеСписки.Получить(ТипЗнч(Значение));
КонецЕсли;
Если ПраваНаВедущийСписок = Неопределено Тогда Если ПраваНаВедущийСписок = Неопределено Тогда
Результат = "Ложь"; Результат = "Ложь";
ИначеЕсли Контекст.РассчитыватьПраваПользователей Тогда ИначеЕсли Контекст.РассчитыватьПраваПользователей Тогда
@@ -14917,6 +14942,24 @@
КонецФункции КонецФункции
Функция ОписаниеОграниченийДанных() Экспорт
ОбщийКонтекст = Новый Структура;
ОбщийКонтекст.Вставить("СпискиСОграничением", УправлениеДоступомСлужебныйПовтИсп.СпискиСОграничением());
ОбщийКонтекст.Вставить("ВнешниеПользователиВключены", Константы.ИспользоватьВнешнихПользователей.Получить());
Результат = Новый Соответствие;
Для Каждого ОписаниеСписка Из ОбщийКонтекст.СпискиСОграничением Цикл
ПолноеИмя = ОписаниеСписка.Ключ;
ОписаниеОграничения = ОписаниеОграниченияДанных(ОбщийКонтекст, ПолноеИмя);
Результат.Вставить(ПолноеИмя, ОписаниеОграничения);
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти #КонецОбласти
#Область ПараметрыОграниченияДоступа #Область ПараметрыОграниченияДоступа
@@ -20305,6 +20348,20 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если Контекст.Свойство("ЧастиУсловияВыбораПравВедущихСписковСТипами") Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ПраваНаСписки.Таблица КАК Список,
| ТИПЗНАЧЕНИЯ(ПраваНаСписки.Таблица.ЗначениеПустойСсылки) КАК ТипЗначения,
| ПраваНаСписки.ГруппаДоступа КАК ВладелецПрав,
| ПраваНаСписки.Изменение КАК Изменение
|ИЗ
| РегистрСведений.ТаблицыГруппДоступа КАК ПраваНаСписки
|ГДЕ
| &УсловиеОтбора
|ИТОГИ ПО
| Список";
Иначе
ТекстЗапроса = ТекстЗапроса =
"ВЫБРАТЬ "ВЫБРАТЬ
| ПраваНаСписки.Таблица КАК Список, | ПраваНаСписки.Таблица КАК Список,
@@ -20316,6 +20373,7 @@
| &УсловиеОтбора | &УсловиеОтбора
|ИТОГИ ПО |ИТОГИ ПО
| Список"; | Список";
КонецЕсли;
Если Контекст.ЧастиУсловияВыбораПравВедущихСписков.Количество() = 1 Тогда Если Контекст.ЧастиУсловияВыбораПравВедущихСписков.Количество() = 1 Тогда
УсловиеОтбора = Контекст.ЧастиУсловияВыбораПравВедущихСписков[0]; УсловиеОтбора = Контекст.ЧастиУсловияВыбораПравВедущихСписков[0];
@@ -21350,31 +21408,57 @@
И Не СвойстваПоля.ЕстьТипВладельцаНастроекПрав Тогда И Не СвойстваПоля.ЕстьТипВладельцаНастроекПрав Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Если НомерШапки = 0 Тогда
Если НазначениеУсловия = "ДляВедущихСписков"
И СвойстваПоля.ТипыСохраненияЗначений.Количество() > 0 Тогда
Контекст.Вставить("ЧастиУсловияВыбораПравВедущихСписковСТипами");
УсловиеОтбора = УсловиеОтбора =
"#ПроверяемоеПоле В "#ПроверяемоеПоле В
| (ВЫБРАТЬ | (ВЫБРАТЬ
| Шапка0." + СвойстваПоля.ИмяРеквизитаГруппыПолейКлючаДоступа + " | ЕСТЬNULL(ТипыКонфигурации.Ссылка, ЕСТЬNULL(ТипыРасширений.Ссылка, Шапка?.Реквизит?))
| ИЗ | ИЗ
| ПорцияКлючей КАК ПорцияКлючей | ПорцияКлючей КАК ПорцияКлючей
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиДоступа КАК Шапка0 | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиДоступа КАК Шапка?
| ПО | ПО
| Шапка0.Ссылка = ПорцияКлючей.Ссылка)"; | Шапка?.Ссылка = ПорцияКлючей.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ИдентификаторыОбъектовМетаданных КАК ТипыКонфигурации
| ПО
| Шапка?.Реквизит? <> НЕОПРЕДЕЛЕНО
| И ТИПЗНАЧЕНИЯ(Шапка?.Реквизит?) <> ТИП(Справочник.ИдентификаторыОбъектовМетаданных)
| И ТИПЗНАЧЕНИЯ(Шапка?.Реквизит?) <> ТИП(Справочник.ИдентификаторыОбъектовРасширений)
| И ТИПЗНАЧЕНИЯ(ТипыКонфигурации.ЗначениеПустойСсылки) = ТИПЗНАЧЕНИЯ(Шапка?.Реквизит?)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ИдентификаторыОбъектовРасширений КАК ТипыРасширений
| ПО
| Шапка?.Реквизит? <> НЕОПРЕДЕЛЕНО
| И ТИПЗНАЧЕНИЯ(ТипыРасширений.ЗначениеПустойСсылки) = ТИПЗНАЧЕНИЯ(Шапка?.Реквизит?))";
Иначе Иначе
УсловиеОтбора = УсловиеОтбора =
"#ПроверяемоеПоле В "#ПроверяемоеПоле В
| (ВЫБРАТЬ | (ВЫБРАТЬ
| Шапка?." + СвойстваПоля.ИмяРеквизитаГруппыПолейКлючаДоступа + " | Шапка?.Реквизит?
| ИЗ | ИЗ
| ПорцияКлючей КАК ПорцияКлючей | ПорцияКлючей КАК ПорцияКлючей
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиДоступа.Шапка КАК Шапка? | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиДоступа КАК Шапка?
| ПО | ПО
| Шапка?.Ссылка = ПорцияКлючей.Ссылка | Шапка?.Ссылка = ПорцияКлючей.Ссылка)";
| И Шапка?.НомерСтроки = " + НомерШапки + ")"; КонецЕсли;
Если НомерШапки > 0 Тогда
УсловиеОтбора = СтрЗаменить(УсловиеОтбора,
"Справочник.КлючиДоступа КАК Шапка?", "Справочник.КлючиДоступа.Шапка КАК Шапка?");
УсловиеОтбора = СтрЗаменить(УсловиеОтбора,
"Шапка?.Ссылка = ПорцияКлючей.Ссылка", ТекстСОтступом(
"Шапка?.Ссылка = ПорцияКлючей.Ссылка
| И Шапка?.НомерСтроки = " + НомерШапки, " "));
КонецЕсли; КонецЕсли;
УсловиеОтбора = СтрЗаменить(УсловиеОтбора, "Шапка?", "Шапка" + НомерШапки); УсловиеОтбора = СтрЗаменить(УсловиеОтбора, "Шапка?", "Шапка" + НомерШапки);
УсловиеОтбора = СтрЗаменить(УсловиеОтбора, "Реквизит?", СвойстваПоля.ИмяРеквизитаГруппыПолейКлючаДоступа);
Если НазначениеУсловия = "ДляВедущихКлючей" Тогда Если НазначениеУсловия = "ДляВедущихКлючей" Тогда
Контекст.ЧастиУсловияВыбораПравВедущихКлючейДоступа.Добавить(УсловиеОтбора); Контекст.ЧастиУсловияВыбораПравВедущихКлючейДоступа.Добавить(УсловиеОтбора);
ИначеЕсли НазначениеУсловия = "ДляВедущихСписков" Тогда ИначеЕсли НазначениеУсловия = "ДляВедущихСписков" Тогда
Контекст.ЧастиУсловияВыбораПравВедущихСписков.Добавить(УсловиеОтбора); Контекст.ЧастиУсловияВыбораПравВедущихСписков.Добавить(УсловиеОтбора);
Иначе Иначе
@@ -21586,19 +21670,50 @@
И Не СвойстваПоля.ЕстьТипВладельцаНастроекПрав Тогда И Не СвойстваПоля.ЕстьТипВладельцаНастроекПрав Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Если НазначениеУсловия = "ДляВедущихСписков"
И СвойстваПоля.ТипыСохраненияЗначений.Количество() > 0 Тогда
Контекст.Вставить("ЧастиУсловияВыбораПравВедущихСписковСТипами");
УсловиеОтбора = УсловиеОтбора =
"#ПроверяемоеПоле В "#ПроверяемоеПоле В
| (ВЫБРАТЬ | (ВЫБРАТЬ
| ТабличнаяЧасть?." + СвойстваПоля.ИмяРеквизитаГруппыПолейКлючаДоступа + " | ЕСТЬNULL(ТипыКонфигурации.Ссылка, ЕСТЬNULL(ТипыРасширений.Ссылка, ТабличнаяЧасть?.Реквизит?))
| ИЗ
| ПорцияКлючей КАК ПорцияКлючей
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиДоступа.ТабличнаяЧасть? КАК ТабличнаяЧасть?
| ПО
| ТабличнаяЧасть?.Ссылка = ПорцияКлючей.Ссылка
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ИдентификаторыОбъектовМетаданных КАК ТипыКонфигурации
| ПО
| ТабличнаяЧасть?.Реквизит? <> НЕОПРЕДЕЛЕНО
| И ТИПЗНАЧЕНИЯ(ТабличнаяЧасть?.Реквизит?) <> ТИП(Справочник.ИдентификаторыОбъектовМетаданных)
| И ТИПЗНАЧЕНИЯ(ТабличнаяЧасть?.Реквизит?) <> ТИП(Справочник.ИдентификаторыОбъектовРасширений)
| И ТИПЗНАЧЕНИЯ(ТипыКонфигурации.ЗначениеПустойСсылки) = ТИПЗНАЧЕНИЯ(ТабличнаяЧасть?.Реквизит?)
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ИдентификаторыОбъектовРасширений КАК ТипыРасширений
| ПО
| ТабличнаяЧасть?.Реквизит? <> НЕОПРЕДЕЛЕНО
| И ТИПЗНАЧЕНИЯ(ТипыРасширений.ЗначениеПустойСсылки) = ТИПЗНАЧЕНИЯ(ТабличнаяЧасть?.Реквизит?))";
Иначе
УсловиеОтбора =
"#ПроверяемоеПоле В
| (ВЫБРАТЬ
| ТабличнаяЧасть?.Реквизит?
| ИЗ | ИЗ
| ПорцияКлючей КАК ПорцияКлючей | ПорцияКлючей КАК ПорцияКлючей
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиДоступа.ТабличнаяЧасть? КАК ТабличнаяЧасть? | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиДоступа.ТабличнаяЧасть? КАК ТабличнаяЧасть?
| ПО | ПО
| ТабличнаяЧасть?.Ссылка = ПорцияКлючей.Ссылка)"; | ТабличнаяЧасть?.Ссылка = ПорцияКлючей.Ссылка)";
КонецЕсли;
УсловиеОтбора = СтрЗаменить(УсловиеОтбора, "ТабличнаяЧасть?", "ТабличнаяЧасть" + НомерТабличнойЧастиКлюча); УсловиеОтбора = СтрЗаменить(УсловиеОтбора, "ТабличнаяЧасть?", "ТабличнаяЧасть" + НомерТабличнойЧастиКлюча);
УсловиеОтбора = СтрЗаменить(УсловиеОтбора, "Реквизит?", СвойстваПоля.ИмяРеквизитаГруппыПолейКлючаДоступа);
Если НазначениеУсловия = "ДляВедущихКлючей" Тогда Если НазначениеУсловия = "ДляВедущихКлючей" Тогда
Контекст.ЧастиУсловияВыбораПравВедущихКлючейДоступа.Добавить(УсловиеОтбора); Контекст.ЧастиУсловияВыбораПравВедущихКлючейДоступа.Добавить(УсловиеОтбора);
ИначеЕсли НазначениеУсловия = "ДляВедущихСписков" Тогда ИначеЕсли НазначениеУсловия = "ДляВедущихСписков" Тогда
Контекст.ЧастиУсловияВыбораПравВедущихСписков.Добавить(УсловиеОтбора); Контекст.ЧастиУсловияВыбораПравВедущихСписков.Добавить(УсловиеОтбора);
Иначе Иначе
@@ -32,7 +32,7 @@
// * Результат - СправочникСсылка.ШаблоныСообщений - выбранный шаблон. // * Результат - СправочникСсылка.ШаблоныСообщений - выбранный шаблон.
// * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения. // * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
// ВидСообщения - Строка - "Письмо" для электронного письма и "СообщениеSMS" для сообщений SMS. // ВидСообщения - Строка - "Письмо" для электронного письма и "СообщениеSMS" для сообщений SMS.
// ПредметШаблона - ЛюбаяСсылка - ссылка на объект являющийся источником данных. // ПредметШаблона - ЛюбаяСсылка, Строка - Ссылка на объект являющийся предметом или его полное имя.
// ВладелецШаблона - ОпределяемыйТип.ВладелецШаблона - владелец шаблонов. Если не указан, то в окне выбора шаблона // ВладелецШаблона - ОпределяемыйТип.ВладелецШаблона - владелец шаблонов. Если не указан, то в окне выбора шаблона
// выводятся все доступные шаблоны для указанного предмета ПредметСообщения. // выводятся все доступные шаблоны для указанного предмета ПредметСообщения.
// //
@@ -1027,6 +1027,33 @@
КонецФункции КонецФункции
// Только для внутреннего использования.
Процедура НастроитьПояснениеВводаПароля(Форма, ИмяЭлементаУсиленнаяЗащитаЗакрытогоКлюча = "", ИмяЭлементаПояснениеУсиленногоПароля = "") Экспорт
Если Не ЭлектроннаяПодписьСлужебныйКлиентСервер.ИнтерактивныйРежимДоступен() Тогда
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(ИмяЭлементаУсиленнаяЗащитаЗакрытогоКлюча) Тогда
Элемент = Форма.Элементы[ИмяЭлементаУсиленнаяЗащитаЗакрытогоКлюча];
Элемент.Заголовок = НСтр("ru = 'Ввод и сохранение пароля в программе'");
Элемент.Подсказка =
НСтр("ru = '- Включается интерактивный режим работы программы электронной подписи,
| при котором она запрашивает пароль и позволяет его сохранить.
|- Отключается запрос пароля в форме 1С:Предприятия.
|
|Обязательно для закрытых ключей сертификатов, для которых в ОС включена усиленная защита.'");
КонецЕсли;
Если ЗначениеЗаполнено(ИмяЭлементаПояснениеУсиленногоПароля) Тогда
Элемент = Форма.Элементы[ИмяЭлементаПояснениеУсиленногоПароля];
Элемент.Подсказка =
НСтр("ru = 'Пароль запрашивает программа электронной подписи, а не программа 1С:Предприятие,
|так как для выбранного сертификата включен режим ""Ввод и сохранение пароля в программе"".'");
КонецЕсли;
КонецПроцедуры
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Обновление информационной базы. // Обновление информационной базы.
@@ -1,5 +1,19 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Функция ИспользуетсяИнтерактивныйРежимКриптографии(МенеджерКриптографии) Экспорт
Если Не ЭлектроннаяПодписьСлужебныйКлиентСервер.ИнтерактивныйРежимДоступен() Тогда
Возврат Ложь;
КонецЕсли;
Если МенеджерКриптографии["ИспользованиеИнтерактивногоРежима"] = ИспользованиеИнтерактивногоРежимаКриптографииИспользовать() Тогда
Возврат Истина;
КонецЕсли;
Возврат Ложь;
КонецФункции
// Продолжение процедуры ДатаПодписания. // Продолжение процедуры ДатаПодписания.
Процедура ДатаПодписанияПослеЧтенияВБуферДвоичныхДанных(БуферДанныхПодписи, Контекст) Экспорт Процедура ДатаПодписанияПослеЧтенияВБуферДвоичныхДанных(БуферДанныхПодписи, Контекст) Экспорт
@@ -1169,13 +1183,18 @@
// - СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования - программа // - СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования - программа
// для которой нужно создать и вернуть менеджер криптографии. // для которой нужно создать и вернуть менеджер криптографии.
// //
Процедура СоздатьМенеджерКриптографии(Оповещение, Операция, ПоказатьОшибку = Истина, Программа = Неопределено) Экспорт // ИнтерактивныйРежим - Булево - если Истина, тогда менеджер криптографии будет создан
// в режиме использования интерактивного режима криптографии
// (установка свойства ПарольДоступаКЗакрытомуКлючу будет запрещена).
//
Процедура СоздатьМенеджерКриптографии(Оповещение, Операция, ПоказатьОшибку = Истина, Программа = Неопределено, ИнтерактивныйРежим = Ложь) Экспорт
Контекст = Новый Структура; Контекст = Новый Структура;
Контекст.Вставить("Оповещение", Оповещение); Контекст.Вставить("Оповещение", Оповещение);
Контекст.Вставить("Операция", Операция); Контекст.Вставить("Операция", Операция);
Контекст.Вставить("ПоказатьОшибку", ПоказатьОшибку); Контекст.Вставить("ПоказатьОшибку", ПоказатьОшибку);
Контекст.Вставить("Программа", Программа); Контекст.Вставить("Программа", Программа);
Контекст.Вставить("ИнтерактивныйРежим", ИнтерактивныйРежим);
НачатьПодключениеРасширенияРаботыСКриптографией(Новый ОписаниеОповещения( НачатьПодключениеРасширенияРаботыСКриптографией(Новый ОписаниеОповещения(
"СоздатьМенеджерКриптографииПослеПодключенияРасширенияРаботыСКриптографией", ЭтотОбъект, Контекст)); "СоздатьМенеджерКриптографииПослеПодключенияРасширенияРаботыСКриптографией", ЭтотОбъект, Контекст));
@@ -1339,12 +1358,24 @@
Контекст.Менеджер = Новый МенеджерКриптографии; Контекст.Менеджер = Новый МенеджерКриптографии;
Если Не Контекст.ИнтерактивныйРежим
Или Не ЭлектроннаяПодписьСлужебныйКлиентСервер.ИнтерактивныйРежимДоступен() Тогда
Контекст.Менеджер.НачатьИнициализацию(Новый ОписаниеОповещения( Контекст.Менеджер.НачатьИнициализацию(Новый ОписаниеОповещения(
"СоздатьМенеджерКриптографииЦиклПослеИнициализации", ЭтотОбъект, Контекст, "СоздатьМенеджерКриптографииЦиклПослеИнициализации", ЭтотОбъект, Контекст,
"СоздатьМенеджерКриптографииЦиклПриОшибкеИнициализации", ЭтотОбъект), "СоздатьМенеджерКриптографииЦиклПриОшибкеИнициализации", ЭтотОбъект),
Контекст.СвойстваПрограммы.ИмяПрограммы, Контекст.СвойстваПрограммы.ИмяПрограммы,
Контекст.СвойстваПрограммы.ПутьКПрограмме, Контекст.СвойстваПрограммы.ПутьКПрограмме,
Контекст.СвойстваПрограммы.ТипПрограммы); Контекст.СвойстваПрограммы.ТипПрограммы);
Иначе
Контекст.Менеджер.НачатьИнициализацию(Новый ОписаниеОповещения(
"СоздатьМенеджерКриптографииЦиклПослеИнициализации", ЭтотОбъект, Контекст,
"СоздатьМенеджерКриптографииЦиклПриОшибкеИнициализации", ЭтотОбъект),
Контекст.СвойстваПрограммы.ИмяПрограммы,
Контекст.СвойстваПрограммы.ПутьКПрограмме,
Контекст.СвойстваПрограммы.ТипПрограммы,
ИспользованиеИнтерактивногоРежимаКриптографииИспользовать());
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -2930,7 +2961,7 @@
Иначе Иначе
СоздатьМенеджерКриптографии(Новый ОписаниеОповещения( СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
"ВыполнитьНаСторонеПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст), "ВыполнитьНаСторонеПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст),
Null, Неопределено, Контекст.Форма.СертификатПрограмма); Null, Неопределено, Контекст.Форма.СертификатПрограмма, Контекст.Форма.СертификатУсиленнаяЗащитаЗакрытогоКлюча);
КонецЕсли; КонецЕсли;
Иначе Иначе
ВыполнитьНаСторонеЦиклЗапуск(Контекст); ВыполнитьНаСторонеЦиклЗапуск(Контекст);
@@ -2970,7 +3001,9 @@
Контекст.Вставить("СертификатКриптографии", Результат); Контекст.Вставить("СертификатКриптографии", Результат);
Если Контекст.Операция = "Подписание" Тогда Если Контекст.Операция = "Подписание" Тогда
Если Не ИспользуетсяИнтерактивныйРежимКриптографии(Контекст.МенеджерКриптографии) Тогда
Контекст.МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = Контекст.ЗначениеПароля; Контекст.МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = Контекст.ЗначениеПароля;
КонецЕсли;
Контекст.Удалить("ЗначениеПароля"); Контекст.Удалить("ЗначениеПароля");
Контекст.СертификатКриптографии.НачатьВыгрузку(Новый ОписаниеОповещения( Контекст.СертификатКриптографии.НачатьВыгрузку(Новый ОписаниеОповещения(
"ВыполнитьНаСторонеПослеВыгрузкиСертификата", ЭтотОбъект, Контекст)); "ВыполнитьНаСторонеПослеВыгрузкиСертификата", ЭтотОбъект, Контекст));
@@ -2986,7 +3019,9 @@
ВыполнитьНаСторонеПодготовкаСертификатовЦиклНачало(Контекст); ВыполнитьНаСторонеПодготовкаСертификатовЦиклНачало(Контекст);
Возврат; Возврат;
Иначе Иначе
Если Не ИспользуетсяИнтерактивныйРежимКриптографии(Контекст.МенеджерКриптографии) Тогда
Контекст.МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = Контекст.ЗначениеПароля; Контекст.МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = Контекст.ЗначениеПароля;
КонецЕсли;
Контекст.Удалить("ЗначениеПароля"); Контекст.Удалить("ЗначениеПароля");
ВыполнитьНаСторонеЦиклЗапуск(Контекст); ВыполнитьНаСторонеЦиклЗапуск(Контекст);
КонецЕсли; КонецЕсли;
@@ -4700,4 +4735,10 @@
КонецФункции КонецФункции
Функция ИспользованиеИнтерактивногоРежимаКриптографииИспользовать()
Возврат Вычислить("ИспользованиеИнтерактивногоРежимаКриптографии.Использовать");
КонецФункции
#КонецОбласти #КонецОбласти
@@ -116,6 +116,13 @@
КонецФункции КонецФункции
Функция ИнтерактивныйРежимДоступен() Экспорт
СистемнаяИнформация = Новый СистемнаяИнформация;
Возврат ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.13.1549") >= 0;
КонецФункции
// Только для внутреннего использования. // Только для внутреннего использования.
Функция МенеджерКриптографииОписанияПрограмм(Программа, Ошибки) Экспорт Функция МенеджерКриптографииОписанияПрограмм(Программа, Ошибки) Экспорт
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="64fb93c9-68e2-4fdc-b6b3-0ecd7804c82e"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6274da5a-abd2-4222-ba74-85f6de16ed4b">
<name>БиблиотекаСтандартныхПодсистем</name> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value> <value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="92cf6783-de38-4f97-9779-3c8d3db2cd90"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="f6cc7f01-7dec-4910-b7a3-e8812ebb37fa"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="6a2a617b-f1f6-4711-8230-d12aef22ec31"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="49831ebb-584f-4939-9fe3-cf97c12f7f2a"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="56f7b414-69f8-48fe-aa55-8ba90a51553e"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="dad14c67-46ff-496b-a5fc-90fdbfad02ec"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="fc8ba87a-3dc4-4d7c-81a5-18c748f5c13f"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="795a0331-849a-4234-8d8e-f8c4e2d35f78"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="8224dfbe-706d-4ff6-9b66-89f0eba05622"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="759a390c-2894-4933-8e5b-91bd3a31cf97"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="f295de9e-4af2-48aa-b299-df09d9b7751a"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="750d0003-ada6-465e-b9ad-382eced527a4"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="c19af5d4-3f09-4a27-b63c-b9173fdbfd10"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="0c5c07c7-14f9-4026-87ba-853ebe9aa6e2"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.1.279</version> <version>3.0.1.287</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,6404f779-1ca7-43d3-a503-5192b24e7de8,1,4ecc0057-ea75-4a85-9d48-992163d0be8f,"3.0.1.279","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5875,1,0,64fb93c9-68e2-4fdc-b6b3-0ecd7804c82e,64fb93c9-68e2-4fdc-b6b3-0ecd7804c82e,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,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,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,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,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated {6,1,1,5c3b83f0-2073-440e-bdfb-df9cec69e5d7,1,ec0e3759-cd09-4345-ade1-24c14c43b557,"3.0.1.287","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5875,1,0,6274da5a-abd2-4222-ba74-85f6de16ed4b,6274da5a-abd2-4222-ba74-85f6de16ed4b,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,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,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,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,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
@@ -241,6 +241,7 @@
Ссылка = Неопределено; Ссылка = Неопределено;
ВыполнятьКодАлгоритмаВБезопасномРежиме = (Параметры.РежимВыполнения <> 1); ВыполнятьКодАлгоритмаВБезопасномРежиме = (Параметры.РежимВыполнения <> 1);
ОтключитьОбновлениеКлючейДоступа(Истина);
Если Параметры.ИзменятьВТранзакции Тогда Если Параметры.ИзменятьВТранзакции Тогда
НачатьТранзакцию(РежимУправленияБлокировкойДанных.Управляемый); НачатьТранзакцию(РежимУправленияБлокировкойДанных.Управляемый);
КонецЕсли; КонецЕсли;
@@ -323,6 +324,7 @@
КонецЦикла; КонецЦикла;
ОтключитьОбновлениеКлючейДоступа(Ложь);
Если Параметры.ИзменятьВТранзакции Тогда Если Параметры.ИзменятьВТранзакции Тогда
ЗафиксироватьТранзакцию(); ЗафиксироватьТранзакцию();
КонецЕсли; КонецЕсли;
@@ -336,6 +338,8 @@
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
ОтключитьОбновлениеКлючейДоступа(Ложь, Параметры.ИзменятьВТранзакции);
Если ЗаписатьОшибку Тогда Если ЗаписатьОшибку Тогда
КраткоеПредставлениеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); КраткоеПредставлениеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаполнитьРезультатИзменения(РезультатИзменения, Ссылка, КраткоеПредставлениеОшибки); ЗаполнитьРезультатИзменения(РезультатИзменения, Ссылка, КраткоеПредставлениеОшибки);
@@ -752,7 +756,7 @@
КонецЕсли; КонецЕсли;
ВерсияБСП = МодульСтандартныеПодсистемыСервер.ВерсияБиблиотеки(); ВерсияБСП = МодульСтандартныеПодсистемыСервер.ВерсияБиблиотеки();
Возврат СравнитьВерсии(ВерсияБСП, "2.4.1.1") >= 0; Возврат СравнитьВерсии(ВерсияБСП, "3.0.1.1") >= 0;
КонецФункции КонецФункции
@@ -918,6 +922,26 @@
КонецФункции КонецФункции
Процедура ОтключитьОбновлениеКлючейДоступа(Отключить, ПланироватьОбновление = Истина)
Если Не ВерсияБСПСоответствуетТребованиям() Тогда
Возврат;
КонецЕсли;
Если ПодсистемаСуществует("СтандартныеПодсистемы.Пользователи") Тогда
МодульПользователи = ОбщийМодуль("Пользователи");
Если Не МодульПользователи.ЭтоПолноправныйПользователь() Тогда
Возврат;
КонецЕсли;
КонецЕсли;
Если ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Отключить, ПланироватьОбновление);
КонецЕсли;
КонецПроцедуры
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции из базовой функциональности для обеспечения автономности. // Процедуры и функции из базовой функциональности для обеспечения автономности.
@@ -1464,6 +1464,12 @@
ИмяСправочника = РазложитьПолноеИмяОбъекта(ИмяОбъектаСопоставления).НазваниеОбъекта; ИмяСправочника = РазложитьПолноеИмяОбъекта(ИмяОбъектаСопоставления).НазваниеОбъекта;
МенеджерСправочника = Справочники[ИмяСправочника]; МенеджерСправочника = Справочники[ИмяСправочника];
ИспользуетсяУправлениеДоступом = Ложь;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
ИспользуетсяУправлениеДоступом = Истина;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией"); МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
ВидыКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацияОбъекта(Справочники[ИмяСправочника].ПустаяСсылка()); ВидыКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацияОбъекта(Справочники[ИмяСправочника].ПустаяСсылка());
@@ -1500,6 +1506,9 @@
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Если ИспользуетсяУправлениеДоступом Тогда
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Истина);
КонецЕсли;
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
Если ЗначениеЗаполнено(СтрокаТаблицы.ОбъектСопоставления) Тогда Если ЗначениеЗаполнено(СтрокаТаблицы.ОбъектСопоставления) Тогда
@@ -1566,9 +1575,15 @@
МодульУправлениеСвойствами = ОбщегоНазначения.ОбщийМодуль("УправлениеСвойствами"); МодульУправлениеСвойствами = ОбщегоНазначения.ОбщийМодуль("УправлениеСвойствами");
МодульУправлениеСвойствами.ЗаписатьСвойстваУОбъекта(ЭлементСправочника.Ссылка, ТаблицаСвойств); МодульУправлениеСвойствами.ЗаписатьСвойстваУОбъекта(ЭлементСправочника.Ссылка, ТаблицаСвойств);
КонецЕсли; КонецЕсли;
Если ИспользуетсяУправлениеДоступом Тогда
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь);
КонецЕсли;
ЗафиксироватьТранзакцию(); ЗафиксироватьТранзакцию();
Исключение Исключение
ОтменитьТранзакцию(); ОтменитьТранзакцию();
Если ИспользуетсяУправлениеДоступом Тогда
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь, Ложь);
КонецЕсли;
ИнформацияОбОшибке = ИнформацияОбОшибке(); ИнформацияОбОшибке = ИнформацияОбОшибке();
СтрокаТаблицы.РезультатСопоставленияСтроки = "Пропущен"; СтрокаТаблицы.РезультатСопоставленияСтроки = "Пропущен";
СтрокаТаблицы.ОписаниеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); СтрокаТаблицы.ОписаниеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
@@ -850,7 +850,7 @@
ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения( ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
"ПерейтиНаСтраницуОтправкаЗаявленияПослеСозданияМенеджераКриптографии", ЭтотОбъект), "ПерейтиНаСтраницуОтправкаЗаявленияПослеСозданияМенеджераКриптографии", ЭтотОбъект),
"", Неопределено); "", Неопределено, , Истина);
КонецПроцедуры КонецПроцедуры
@@ -3128,7 +3128,7 @@
ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения( ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
"УстановитьСертификатПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст), "УстановитьСертификатПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст),
"", Неопределено); "", Неопределено, , Истина);
КонецПроцедуры КонецПроцедуры
@@ -4110,7 +4110,13 @@
Фабрика = ВебСервис.Определение.ФабрикаXDTO; Фабрика = ВебСервис.Определение.ФабрикаXDTO;
URIПространстваИмен = ВебСервис.ТочкаПодключения.Интерфейс.URIПространстваИмен; URIПространстваИмен = ВебСервис.ТочкаПодключения.Интерфейс.URIПространстваИмен;
ТипПустогоПараметра = Фабрика.Пакеты.Получить(URIПространстваИмен).КорневыеСвойства.Получить("GetCertificateSettings").Тип; СвойстваФункции = Фабрика.Пакеты.Получить(URIПространстваИмен).КорневыеСвойства.Получить("GetCertificateSettings");
Если СвойстваФункции = Неопределено Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В веб-сервисе ""%1"" не определена обязательная функция ""GetCertificateSettings"".'"),
ВебСервис.ТочкаПодключения.Местоположение + "?wsdl");
КонецЕсли;
ТипПустогоПараметра = СвойстваФункции.Тип;
ЗначениеПустогоПараметра = Фабрика.Создать(ТипПустогоПараметра); ЗначениеПустогоПараметра = Фабрика.Создать(ТипПустогоПараметра);
Ответ = ВебСервис.GetCertificateSettings(ЗначениеПустогоПараметра).GetCertificateSettingsResult; Ответ = ВебСервис.GetCertificateSettings(ЗначениеПустогоПараметра).GetCertificateSettingsResult;
@@ -4182,7 +4188,7 @@
ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения( ЭлектроннаяПодписьСлужебныйКлиент.СоздатьМенеджерКриптографии(Новый ОписаниеОповещения(
"ЗаполнитьПрограммуЦиклПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст), "ЗаполнитьПрограммуЦиклПослеСозданияМенеджераКриптографии", ЭтотОбъект, Контекст),
"", Ложь, Контекст.Строка.Ссылка); "", Ложь, Контекст.Строка.Ссылка, Истина);
КонецПроцедуры КонецПроцедуры
@@ -1660,6 +1660,16 @@
Не ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(НастройкиПодключения.ИмяПланаОбмена) Не ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(НастройкиПодключения.ИмяПланаОбмена)
Или Не ОбменДаннымиXDTOСервер.ПоддерживаетсяВерсияСИдентификаторомОбменаДанными(ПустаяСсылкаПланаОбмена); Или Не ОбменДаннымиXDTOСервер.ПоддерживаетсяВерсияСИдентификаторомОбменаДанными(ПустаяСсылкаПланаОбмена);
КодНовогоУзлаВторойБазы = Неопределено;
СтруктураНастроек.Свойство("КодНовогоУзлаВторойБазы", КодНовогоУзлаВторойБазы);
НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента =
НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента
Или (НастройкиПодключения.ВариантРаботыМастера = "ПродолжитьНастройкуОбменаДанными"
И ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(НастройкиПодключения.ИмяПланаОбмена)
И ЗначениеЗаполнено(КодНовогоУзлаВторойБазы)
И СтрДлина(КодНовогоУзлаВторойБазы) <> 36);
Если Не НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена Если Не НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена
И Не НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента Тогда И Не НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента Тогда
@@ -505,6 +505,24 @@
НовыйУзел.Записать(); НовыйУзел.Записать();
Если ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ИмяПланаОбмена) Тогда Если ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ИмяПланаОбмена) Тогда
ТаблицаОбъектыБазы = ОбменДаннымиXDTOСервер.ПоддерживаемыеОбъектыФормата(ИмяПланаОбмена,
"ОтправкаПолучение", НовыйУзел.Ссылка);
ТаблицаОбъектыКорреспондента = ТаблицаОбъектыБазы.СкопироватьКолонки();
Для Каждого СтрокаОбъектыБазы Из ТаблицаОбъектыБазы Цикл
СтрокаОбъектыКорреспондента = ТаблицаОбъектыКорреспондента.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаОбъектыКорреспондента, СтрокаОбъектыБазы, "Версия, Объект");
СтрокаОбъектыКорреспондента.Отправка = СтрокаОбъектыБазы.Получение;
СтрокаОбъектыКорреспондента.Получение = СтрокаОбъектыБазы.Отправка;
КонецЦикла;
МенеджерНастройкиXDTO = ОбщегоНазначения.ОбщийМодуль("РегистрыСведений.НастройкиОбменаДаннымиXDTO");
МенеджерНастройкиXDTO.ОбновитьНастройки(
НовыйУзел.Ссылка, "ПоддерживаемыеОбъекты", ТаблицаОбъектыБазы);
МенеджерНастройкиXDTO.ОбновитьНастройкиКорреспондента(
НовыйУзел.Ссылка, "ПоддерживаемыеОбъекты", ТаблицаОбъектыКорреспондента);
СтруктураЗаписи = Новый Структура; СтруктураЗаписи = Новый Структура;
СтруктураЗаписи.Вставить("УзелИнформационнойБазы", НовыйУзел.Ссылка); СтруктураЗаписи.Вставить("УзелИнформационнойБазы", НовыйУзел.Ссылка);
СтруктураЗаписи.Вставить("ИмяПланаОбменаКорреспондента", ИмяПланаОбменаКорреспондента); СтруктураЗаписи.Вставить("ИмяПланаОбменаКорреспондента", ИмяПланаОбменаКорреспондента);
@@ -529,7 +547,8 @@
ОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными(); ОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными();
КонецЕсли; КонецЕсли;
Если КодЭтогоУзла <> КодЭтогоУзлаВБазе Если КодЭтогоУзла <> КодЭтогоУзлаВБазе
И ИспользоватьПрефиксыДляНастройкиОбмена Тогда И (ИспользоватьПрефиксыДляНастройкиОбмена
Или ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента) Тогда
// Узел в базе корреспонденте нуждается в перекодировании. // Узел в базе корреспонденте нуждается в перекодировании.
СтруктураВременныйКод = Новый Структура("Корреспондент, КодУзла", УзелИнформационнойБазы, КодЭтогоУзла); СтруктураВременныйКод = Новый Структура("Корреспондент, КодУзла", УзелИнформационнойБазы, КодЭтогоУзла);
ОбменДаннымиСервер.ДобавитьЗаписьВРегистрСведений(СтруктураВременныйКод, "ПсевдонимыПредопределенныхУзлов"); ОбменДаннымиСервер.ДобавитьЗаписьВРегистрСведений(СтруктураВременныйКод, "ПсевдонимыПредопределенныхУзлов");
@@ -666,6 +685,10 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если ПустаяСтрока(ВариантРаботыМастера) Тогда
ВариантРаботыМастера = "ПродолжитьНастройкуОбменаДанными";
КонецЕсли;
МодульПомощникНастройки = ОбменДаннымиСервер.МодульПомощникСозданияОбменаДанными(); МодульПомощникНастройки = ОбменДаннымиСервер.МодульПомощникСозданияОбменаДанными();
Попытка Попытка
МодульПомощникНастройки.ЗаполнитьНастройкиПодключенияИзXML(ЭтотОбъект, СтрокаXML); МодульПомощникНастройки.ЗаполнитьНастройкиПодключенияИзXML(ЭтотОбъект, СтрокаXML);
@@ -130,7 +130,7 @@
Если КлассификаторДоступен Тогда Если КлассификаторДоступен Тогда
Элементы.ГруппаИнформация.Видимость = Ложь; Элементы.ГруппаИнформация.Видимость = Ложь;
Иначе Иначе
Элементы.ГруппаИнформация.Видимость = Не АдресныеСведенияКлассификатораЗагружены(НаименованиеРегиона(НаселенныйПунктДетально)); Элементы.ГруппаИнформация.Видимость = Не АдресныеСведенияКлассификатораЗагружены(НаименованиеРегиона(НаселенныйПунктДетально)).РегионЗагружен;
КонецЕсли; КонецЕсли;
Если Не ЕстьПравоЗагружатьКлассификатор Тогда Если Не ЕстьПравоЗагружатьКлассификатор Тогда
Элементы.ИнформацияОЗагрузкеАдресныеСведений.Заголовок = НСтр("ru='Для автоподбора и проверки адресов обратитесь к администратору для загрузки адресных сведений.'"); Элементы.ИнформацияОЗагрузкеАдресныеСведений.Заголовок = НСтр("ru='Для автоподбора и проверки адресов обратитесь к администратору для загрузки адресных сведений.'");
@@ -194,8 +194,10 @@
Если ИмяСобытия = "АдресныйКлассификаторАктуализирован" ИЛИ ИмяСобытия = "ЗагруженАдресныйКлассификатор" Тогда Если ИмяСобытия = "АдресныйКлассификаторАктуализирован" ИЛИ ИмяСобытия = "ЗагруженАдресныйКлассификатор" Тогда
АдресныеСведенияЗагружены = АдресныеСведенияКлассификатораЗагружены(НаименованиеРегиона(НаселенныйПунктДетально)); АдресныеСведенияЗагружены = АдресныеСведенияКлассификатораЗагружены(НаименованиеРегиона(НаселенныйПунктДетально));
Если КлассификаторДоступен Или АдресныеСведенияЗагружены Тогда Если КлассификаторДоступен Или АдресныеСведенияЗагружены.РегионЗагружен Тогда
Элементы.ГруппаИнформация.Видимость = Ложь; Элементы.ГруппаИнформация.Видимость = Ложь;
Элементы.Дом.КнопкаВыбора = Истина;
Элементы.Улица.КнопкаВыбора = Истина;
АвтоподборДоступен = Истина; АвтоподборДоступен = Истина;
Элементы.ПроверитьЗаполнениеАдреса.Доступность = Истина; Элементы.ПроверитьЗаполнениеАдреса.Доступность = Истина;
Иначе Иначе
@@ -1736,6 +1738,7 @@
&НаСервереБезКонтекста &НаСервереБезКонтекста
Функция АдресныеСведенияКлассификатораЗагружены(НаименованиеРегиона) Функция АдресныеСведенияКлассификатораЗагружены(НаименованиеРегиона)
Результат = Новый Структура("РегионЗагружен, СведенияУстарели", Ложь, Ложь);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор") Тогда
МодульАдресныйКлассификатор = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификатор"); МодульАдресныйКлассификатор = ОбщегоНазначения.ОбщийМодуль("АдресныйКлассификатор");
@@ -1744,14 +1747,19 @@
СведенияОАдресномКлассификаторе = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.СведенияОДоступностиАдресногоКлассификатора(); СведенияОАдресномКлассификаторе = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.СведенияОДоступностиАдресногоКлассификатора();
СведенияОРегиона = СведенияОАдресномКлассификаторе.Получить(КодРегиона); СведенияОРегиона = СведенияОАдресномКлассификаторе.Получить(КодРегиона);
Если ТипЗнч(СведенияОРегиона) = Тип("Структура") Тогда Если ТипЗнч(СведенияОРегиона) = Тип("Структура") Тогда
Возврат СведенияОРегиона.ИспользоватьЗагруженные; Результат.РегионЗагружен = СведенияОРегиона.ИспользоватьЗагруженные;
ОписаниеДаты = Новый ОписаниеТипов("Дата");
ДатаЗагрузки = ОписаниеДаты.ПривестиЗначение(СведенияОРегиона.ДатаЗагрузки);
Если ТекущаяДатаСеанса() - ДатаЗагрузки > 2592000 Тогда
Результат.СведенияУстарели = Истина; // Данным более 30 дней.
КонецЕсли;
Иначе Иначе
Возврат СведенияОАдресномКлассификаторе.Получить("ИспользоватьЗагруженные"); Результат.РегионЗагружен = СведенияОАдресномКлассификаторе.Получить("ИспользоватьЗагруженные");
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Возврат Истина; Возврат Результат;
КонецФункции КонецФункции
@@ -1877,7 +1885,20 @@
Элементы.Улица.ПодсказкаВвода = НСтр("ru='Введите название улицы'"); Элементы.Улица.ПодсказкаВвода = НСтр("ru='Введите название улицы'");
КонецЕсли; КонецЕсли;
// По умолчанию выводим представление. Если КлассификаторДоступен Или МеждународныйФорматАдреса Тогда
Элементы.ГруппаИнформация.Видимость = Ложь;
Иначе
СведенияОЗагрузке = АдресныеСведенияКлассификатораЗагружены(НаименованиеРегиона(НаселенныйПунктДетально));
Если Не СведенияОЗагрузке.РегионЗагружен Тогда
Элементы.ГруппаИнформация.Видимость = Истина;
Иначе
Элементы.ГруппаИнформация.Видимость = Ложь;
Элементы.АдресныйКлассификаторУстарел.Видимость = СведенияОЗагрузке.СведенияУстарели;
КонецЕсли;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -1941,7 +1962,7 @@
// Синтетический "Населенный пункт" получаем как представление. // Синтетический "Населенный пункт" получаем как представление.
НаселенныйПункт = Обработки.РасширенныйВводКонтактнойИнформации.ПредставлениеНаселенногоПункта(ДанныеАдреса); НаселенныйПункт = Обработки.РасширенныйВводКонтактнойИнформации.ПредставлениеНаселенногоПункта(ДанныеАдреса);
Если ЗначениеЗаполнено(ДанныеАдреса.Street) Тогда Если ЗначениеЗаполнено(ДанныеАдреса.Street) Тогда
Улица = ДанныеАдреса.Street + " " + ДанныеАдреса.StreetType; Улица = СокрЛП(ДанныеАдреса.Street + " " + ДанныеАдреса.StreetType);
КонецЕсли; КонецЕсли;
Если ЗначениеЗаполнено(ДанныеАдреса.HouseType) Тогда Если ЗначениеЗаполнено(ДанныеАдреса.HouseType) Тогда
@@ -686,7 +686,7 @@
Если ОбъектАдреса.Свойство(ИмяПоля) И ЗначениеЗаполнено(ОбъектАдреса[ИмяПоля]) Тогда Если ОбъектАдреса.Свойство(ИмяПоля) И ЗначениеЗаполнено(ОбъектАдреса[ИмяПоля]) Тогда
ПредставлениеУровня = ОбъектАдреса[ИмяПоля] ПредставлениеУровня = ОбъектАдреса[ИмяПоля]
+ ?(АдресныеУровниБезСокращений.Получить(ИмяПоля) = Неопределено, " " + ОбъектАдреса[ИмяПоля + "Type"], ""); + ?(АдресныеУровниБезСокращений.Получить(ИмяПоля) = Неопределено, " " + ОбъектАдреса[ИмяПоля + "Type"], "");
Адрес.Добавить(ПредставлениеУровня); Адрес.Добавить(СокрЛП(ПредставлениеУровня));
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -93,12 +93,6 @@
<wrap>true</wrap> <wrap>true</wrap>
<dropListButton>false</dropListButton> <dropListButton>false</dropListButton>
<choiceButton>false</choiceButton> <choiceButton>false</choiceButton>
<choiceButtonPicture xsi:type="form:FormPicture">
<transparentPixel>
<x>81</x>
<y>106</y>
</transparentPixel>
</choiceButtonPicture>
<clearButton>false</clearButton> <clearButton>false</clearButton>
<spinButton>false</spinButton> <spinButton>false</spinButton>
<openButton>false</openButton> <openButton>false</openButton>
@@ -235,10 +229,6 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnOpen</event>
<name>ПриОткрытии</name>
</handlers>
<handlers> <handlers>
<event>OnCreateAtServer</event> <event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name> <name>ПриСозданииНаСервере</name>
@@ -7,31 +7,15 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Параметры.Свойство("УзелОбменаСсылка", УзелОбменаСсылка); Если Не Параметры.Свойство("УзелОбменаСсылка", УзелОбменаСсылка) Тогда
Если Параметры.Свойство("Имя", ПредупреждениеПриОткрытии) Тогда
Если ПредупреждениеПриОткрытии = "ФормаРедактироватьНомераСообщений" Тогда
ПредупреждениеПриОткрытии = Неопределено;
ИначеЕсли ПредупреждениеПриОткрытии = "ДеревоМетаданных" Тогда
ПредупреждениеПриОткрытии = Истина;
Иначе
Отказ = Истина;
КонецЕсли
Иначе
Отказ = Истина;
КонецЕсли;
ПрочитатьНомераСообщений();
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если ЗначениеЗаполнено(ПредупреждениеПриОткрытии) Тогда
ПоказатьЗначение(, ПредупреждениеПриОткрытии);
Отказ = Истина; Отказ = Истина;
Возврат;
КонецЕсли; КонецЕсли;
Заголовок = УзелОбменаСсылка; Заголовок = УзелОбменаСсылка;
ПрочитатьНомераСообщений();
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -54,29 +38,17 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
&НаСервере &НаСервере
Функция ЭтотОбъект(ТекущийОбъект = Неопределено) Функция ЭтотОбъект()
Если ТекущийОбъект = Неопределено Тогда
Возврат РеквизитФормыВЗначение("Объект"); Возврат РеквизитФормыВЗначение("Объект");
КонецЕсли;
ЗначениеВРеквизитФормы(ТекущийОбъект, "Объект");
Возврат Неопределено;
КонецФункции КонецФункции
&НаСервере &НаСервере
Процедура ПрочитатьНомераСообщений() Процедура ПрочитатьНомераСообщений()
Данные = ЭтотОбъект().ПолучитьПараметрыУзлаОбмена(УзелОбменаСсылка, "НомерОтправленного, НомерПринятого, ВерсияДанных", Элементы.НомерПринятого, ПредупреждениеПриОткрытии); Данные = ЭтотОбъект().ПолучитьПараметрыУзлаОбмена(УзелОбменаСсылка, "НомерОтправленного, НомерПринятого");
Если Данные = Неопределено Тогда ЗаполнитьЗначенияСвойств(ЭтотОбъект, Данные);
НомерОтправленного = Неопределено;
НомерПринятого = Неопределено;
ВерсияДанных = Неопределено;
Иначе
НомерОтправленного = Данные.НомерОтправленного;
НомерПринятого = Данные.НомерПринятого;
ВерсияДанных = Данные.ВерсияДанных;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -85,6 +57,7 @@
Данные = Новый Структура("НомерОтправленного, НомерПринятого", НомерОтправленного, НомерПринятого); Данные = Новый Структура("НомерОтправленного, НомерПринятого", НомерОтправленного, НомерПринятого);
ЭтотОбъект().УстановитьПараметрыУзлаОбмена(УзелОбменаСсылка, Данные); ЭтотОбъект().УстановитьПараметрыУзлаОбмена(УзелОбменаСсылка, Данные);
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -5323,7 +5323,6 @@
<use> <use>
<common>true</common> <common>true</common>
</use> </use>
<shortcut>Alt+Shift+B</shortcut>
<action xsi:type="form:FormCommandHandlerContainer"> <action xsi:type="form:FormCommandHandlerContainer">
<handler> <handler>
<name>РедактироватьНомераСообщений</name> <name>РедактироватьНомераСообщений</name>
@@ -527,11 +527,8 @@
Процедура РедактироватьНомераСообщений(Команда) Процедура РедактироватьНомераСообщений(Команда)
Если ЗначениеЗаполнено(УзелОбменаСсылка) Тогда Если ЗначениеЗаполнено(УзелОбменаСсылка) Тогда
ТекИмяФормы = ИмяЭтойФормы + "Форма.НомераСообщенийУзлаПланаОбмена"; ТекИмяФормы = ИмяЭтойФормы + "Форма.НомераСообщенийУзлаПланаОбмена";
ТекПараметры = Новый Структура("УзелОбменаСсылка, Имя", УзелОбменаСсылка); ТекПараметры = Новый Структура("УзелОбменаСсылка", УзелОбменаСсылка);
ЗаполнитьЗначенияСвойств(ТекПараметры, ТекущийЭлемент);
ОткрытьФорму(ТекИмяФормы, ТекПараметры, ЭтотОбъект, , , , , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); ОткрытьФорму(ТекИмяФормы, ТекПараметры, ЭтотОбъект, , , , , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецЕсли; КонецЕсли;
@@ -2376,12 +2373,13 @@
&НаСервере &НаСервере
Функция ПрочитатьНомераСообщений() Функция ПрочитатьНомераСообщений()
РеквизитыЗапроса = "НомерОтправленного, НомерПринятого"; РеквизитыЗапроса = "НомерОтправленного, НомерПринятого";
Данные = ЭтотОбъект().ПолучитьПараметрыУзлаОбмена(УзелОбменаСсылка, РеквизитыЗапроса); Данные = ЭтотОбъект().ПолучитьПараметрыУзлаОбмена(УзелОбменаСсылка, РеквизитыЗапроса);
Если Данные = Неопределено Тогда
Возврат Новый Структура(РеквизитыЗапроса)
КонецЕсли;
Возврат Данные; Возврат Данные;
КонецФункции КонецФункции
&НаСервере &НаСервере
@@ -609,62 +609,61 @@
// Параметры: // Параметры:
// Ссылка - ПланОбменаСсылка - Ссылка на узел обмена. // Ссылка - ПланОбменаСсылка - Ссылка на узел обмена.
// Данные - Строка - Список имен реквизитов для чтения через запятую. // Данные - Строка - Список имен реквизитов для чтения через запятую.
// Поле - ПолеФормы - передается поле формы, содержащее номер принятого сообщения.
// Значение - Произвольный - используется в форме для вывода предупреждения при открытии формы.
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - считанные данные. // Структура - считанные данные.
// Неопределено - если нет данных по переданной ссылке.
// //
Функция ПолучитьПараметрыУзлаОбмена(Ссылка, Данные, Поле = Неопределено, Значение = Неопределено) Экспорт Функция ПолучитьПараметрыУзлаОбмена(Ссылка, Данные) Экспорт
Запрос = Новый Запрос("
|ВЫБРАТЬ " + Данные + " ИЗ " + Ссылка.Метаданные().ПолноеИмя() + "
|ГДЕ Ссылка = &Ссылка
|");
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Времянка = Запрос.Выполнить().Выгрузить();
Если Времянка.Количество() = 0 Тогда
Возврат Неопределено;
КонецЕсли;
Результат = Новый Структура(Данные); Результат = Новый Структура(Данные);
ЗаполнитьЗначенияСвойств(Результат, Времянка[0]);
Если Поле <> Неопределено И Значение = Истина Тогда Запрос = Новый Запрос(
Значение = Поле["КартинкаКнопкиВыбора"]; "ВЫБРАТЬ
| " + Данные + "
|ИЗ
| ПланОбмена." + ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(Ссылка) + "
|ГДЕ
| Ссылка = &Ссылка");
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЗаполнитьЗначенияСвойств(Результат, Выборка);
КонецЕсли; КонецЕсли;
Возврат Результат; Возврат Результат;
КонецФункции КонецФункции
// Запись реквизитов узла обмена. // Запись реквизитов узла обмена.
// //
// Параметры: // Параметры:
// Ссылка - ПланОбменаСсылка - Ссылка на узел обмена. // Ссылка - ПланОбменаСсылка - ссылка на узел обмена.
// Данные - Строка - Список имен реквизитов для чтения через запятую. // Данные - Структура - содержит значения реквизитов узла.
// //
Процедура УстановитьПараметрыУзлаОбмена(Ссылка, Данные) Экспорт Процедура УстановитьПараметрыУзлаОбмена(Ссылка, Данные) Экспорт
ОбъектУзла = Ссылка.ПолучитьОбъект(); ОбъектУзла = Ссылка.ПолучитьОбъект();
Если ОбъектУзла = Неопределено Тогда Если ОбъектУзла = Неопределено Тогда
// Ссылка на удаленный объект // Ссылка на удаленный объект.
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Изменен = Ложь; Изменен = Ложь;
Для Каждого Элемент Из Данные Цикл Для Каждого Элемент Из Данные Цикл
Если ОбъектУзла[Элемент.Ключ] <> Элемент.Значение Тогда Если ОбъектУзла[Элемент.Ключ] = Элемент.Значение Тогда
Изменен = Истина; Продолжить;
Прервать;
КонецЕсли; КонецЕсли;
ОбъектУзла[Элемент.Ключ] = Элемент.Значение;
Изменен = Истина;
КонецЦикла; КонецЦикла;
Если Изменен Тогда Если Изменен Тогда
ЗаполнитьЗначенияСвойств(ОбъектУзла, Данные); ОбъектУзла.ОбменДанными.Загрузка = Истина;
ОбъектУзла.Записать(); ОбъектУзла.Записать();
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
// Возвращает описание данных по имени таблицы/полному имени метаданных или метаданным. // Возвращает описание данных по имени таблицы/полному имени метаданных или метаданным.
@@ -52,12 +52,30 @@
Возврат; // Не удалять технологические объекты при интерактивном запуске если нет пользовательских объектов. Возврат; // Не удалять технологические объекты при интерактивном запуске если нет пользовательских объектов.
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Истина);
КонецЕсли;
Попытка
Если ПараметрыВыполнения.Монопольно Тогда Если ПараметрыВыполнения.Монопольно Тогда
УдалитьПомеченныеОбъектыМонопольно(ПараметрыВыполнения); УдалитьПомеченныеОбъектыМонопольно(ПараметрыВыполнения);
Иначе // Не монопольно. Иначе // Не монопольно.
УдалитьПомеченныеОбъектыКонкурентно(ПараметрыВыполнения); УдалитьПомеченныеОбъектыКонкурентно(ПараметрыВыполнения);
КонецЕсли; КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь);
КонецЕсли;
Исключение
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом");
МодульУправлениеДоступом.ОтключитьОбновлениеКлючейДоступа(Ложь);
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Взаимодействия") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Взаимодействия") Тогда
МодульВзаимодействия = ОбщегоНазначения.ОбщийМодуль("Взаимодействия"); МодульВзаимодействия = ОбщегоНазначения.ОбщийМодуль("Взаимодействия");
МодульВзаимодействия.ПослеУдаленияПомеченных(ПараметрыВыполнения); МодульВзаимодействия.ПослеУдаленияПомеченных(ПараметрыВыполнения);
@@ -467,10 +467,75 @@
Результат = Запрос.Выполнить().Выгрузить(); Результат = Запрос.Выполнить().Выгрузить();
ДополнитьТаблицуОбработаннымиУзламиРИБ(Результат);
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Результат, ДополнительныеПараметры); ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Результат, ДополнительныеПараметры);
КонецПроцедуры КонецПроцедуры
Процедура ДополнитьТаблицуОбработаннымиУзламиРИБ(ТаблицаУзлы)
Запрос = Новый Запрос;
ЕстьПланыОбменаРИБ = Ложь;
Для Каждого ИмяПланаОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл
Если Не ОбменДаннымиПовтИсп.ЭтоПланОбменаРаспределеннойИнформационнойБазы(ИмяПланаОбмена) Тогда
Продолжить;
КонецЕсли;
ЕстьПланыОбменаРИБ = Истина;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаПланаОбмена.Ссылка КАК УзелИнформационнойБазы,
| ТаблицаПланаОбмена.Код КАК КодУзла,
| ОбщиеНастройкиУзловИнформационныхБаз.ПрефиксКорреспондента КАК ПрефиксКорреспондента
|ИЗ
| #ТаблицаПланаОбмена КАК ТаблицаПланаОбмена
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОбщиеНастройкиУзловИнформационныхБаз КАК ОбщиеНастройкиУзловИнформационныхБаз
| ПО (ОбщиеНастройкиУзловИнформационныхБаз.УзелИнформационнойБазы = ТаблицаПланаОбмена.Ссылка)
|ГДЕ
| НЕ ТаблицаПланаОбмена.ЭтотУзел
| И ОбщиеНастройкиУзловИнформационныхБаз.НастройкаЗавершена
| И ОбщиеНастройкиУзловИнформационныхБаз.НачальныйОбразСоздан
| И ОбщиеНастройкиУзловИнформационныхБаз.ПрефиксКорреспондента = """"";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ТаблицаПланаОбмена", "ПланОбмена." + ИмяПланаОбмена);
Если Не ПустаяСтрока(Запрос.Текст) Тогда
Запрос.Текст = Запрос.Текст + "
|
|ОБЪЕДИНИТЬ ВСЕ
|
|";
КонецЕсли;
Запрос.Текст = Запрос.Текст + ТекстЗапроса;
КонецЦикла;
Если Не ЕстьПланыОбменаРИБ Тогда
Возврат;
КонецЕсли;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
КодУзла = СокрЛП(Выборка.КодУзла);
Если КодУзла <> Выборка.КодУзла
И СтрДлина(КодУзла) = 2
И ПустаяСтрока(Выборка.ПрефиксКорреспондента) Тогда
СтрокаУзлы = ТаблицаУзлы.Добавить();
СтрокаУзлы.УзелИнформационнойБазы = Выборка.УзелИнформационнойБазы;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ОбработкаЗавершена = Истина; ОбработкаЗавершена = Истина;
@@ -563,6 +628,8 @@
ТекущаяЗапись.УзелИнформационнойБазы = УзелИнформационнойБазы; ТекущаяЗапись.УзелИнформационнойБазы = УзелИнформационнойБазы;
КонецЕсли; КонецЕсли;
НастройкаЗавершенаДоИзменения = ТекущаяЗапись.НастройкаЗавершена;
ТекущаяЗапись.НастройкаЗавершена = Истина; ТекущаяЗапись.НастройкаЗавершена = Истина;
Если ОбменДаннымиПовтИсп.ЭтоУзелРаспределеннойИнформационнойБазы(УзелИнформационнойБазы) Если ОбменДаннымиПовтИсп.ЭтоУзелРаспределеннойИнформационнойБазы(УзелИнформационнойБазы)
@@ -570,18 +637,21 @@
ТекущаяЗапись.НачальныйОбразСоздан = Истина; ТекущаяЗапись.НачальныйОбразСоздан = Истина;
КонецЕсли; КонецЕсли;
КодЭтогоУзла = ОбменДаннымиСервер.КодПредопределенногоУзлаПланаОбмена( Если ОбменДаннымиПовтИсп.ЭтоУзелРаспределеннойИнформационнойБазы(УзелИнформационнойБазы)
ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы)); И НастройкаЗавершенаДоИзменения Тогда
Если СтрДлина(КодЭтогоУзла) = 2 Тогда КодЭтогоУзла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбмена(
ТекущаяЗапись.Префикс = КодЭтогоУзла; ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы)), "Код");
Иначе Если КодЭтогоУзла <> СокрЛП(КодЭтогоУзла) Тогда
ТекущаяЗапись.Префикс = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы"); ТекущаяЗапись.Префикс = "";
КонецЕсли;
КонецЕсли; КонецЕсли;
КодУзла = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(УзелИнформационнойБазы, "Код"); Если ПустаяСтрока(ТекущаяЗапись.ПрефиксКорреспондента) Тогда
КодУзла = СокрЛП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(УзелИнформационнойБазы, "Код"));
Если СтрДлина(КодУзла) = 2 Тогда Если СтрДлина(КодУзла) = 2 Тогда
ТекущаяЗапись.ПрефиксКорреспондента = КодУзла; ТекущаяЗапись.ПрефиксКорреспондента = КодУзла;
КонецЕсли; КонецЕсли;
КонецЕсли;
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей); ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей);
@@ -19,6 +19,52 @@
КонецПроцедуры КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Обновление информационной базы.
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию1(Параметры) Экспорт
// Регистрация данных не требуется.
КонецПроцедуры
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию1(Параметры) Экспорт
ОписаниеОграниченийДанных = УправлениеДоступомСлужебный.ОписаниеОграниченийДанных();
Списки = Новый Массив;
СпискиДляВнешнихПользователей = Новый Массив;
Для Каждого КлючИЗначение Из ОписаниеОграниченийДанных Цикл
Если ЕстьПроверкаПраваНаСписок(КлючИЗначение.Значение.Текст) Тогда
Списки.Добавить(КлючИЗначение.Ключ);
КонецЕсли;
Если ЕстьПроверкаПраваНаСписок(КлючИЗначение.Значение.ТекстДляВнешнихПользователей) Тогда
СпискиДляВнешнихПользователей.Добавить(КлючИЗначение.Ключ);
КонецЕсли;
КонецЦикла;
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.КлючиДоступаКДанным = Ложь;
ПараметрыПланирования.ДляВнешнихПользователей = Ложь;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(Списки, ПараметрыПланирования);
ПараметрыПланирования.ДляПользователей = Ложь;
ПараметрыПланирования.ДляВнешнихПользователей = Истина;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(СпискиДляВнешнихПользователей, ПараметрыПланирования);
Параметры.ОбработкаЗавершена = Истина;
КонецПроцедуры
// Для процедуры ОбработатьДанныеДляПереходаНаНовуюВерсию1.
Функция ЕстьПроверкаПраваНаСписок(ТекстОграничения)
Возврат СтрНайти(ВРег(ТекстОграничения), ВРег("ЧтениеСпискаРазрешено")) > 0
Или СтрНайти(ВРег(ТекстОграничения), ВРег("ИзменениеСпискаРазрешено")) > 0;
КонецФункции
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -2575,84 +2575,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.УдалитьВерсииПодсистем</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИзвлекатьТекстыФайловНаСервере</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -2740,6 +2662,84 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.УдалитьВерсииПодсистем</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИзвлекатьТекстыФайловНаСервере</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Constant.КоличествоЗамеровВПакетеЭкспорта</name> <name>Constant.КоличествоЗамеровВПакетеЭкспорта</name>
<right> <right>
@@ -3427,6 +3427,45 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </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> <object>
<name>InformationRegister.УдалитьВерсииПодсистем</name> <name>InformationRegister.УдалитьВерсииПодсистем</name>
<right> <right>
@@ -3521,45 +3560,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </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> <object>
<name>Constant.КоличествоЗамеровВПакетеЭкспорта</name> <name>Constant.КоличествоЗамеровВПакетеЭкспорта</name>
<right> <right>