This commit is contained in:
Компания 1С committed 2019-08-30 00:19:00 +03:00
1 parent bdcad5045b
commit d4fb351e07
24 files changed
+7586 -292

No files matched your search

@@ -1498,7 +1498,7 @@
<extInfo xsi:type="form:PageGroupExtInfo">
<group>Vertical</group>
<showTitle>auto</showTitle>
<scrollOnCompress>true</scrollOnCompress>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<visible>true</visible>
@@ -5538,8 +5538,11 @@
#Область СвойстваЭлементовСтраницыСтруктураВарианта
ОтображатьСтруктуруВарианта = (СодержитПользовательскиеЭлементыСтруктуры Или ЭтоРасширенныйРежим)
И Не РежимИзмененияЭлементаСтруктурыНастроек;
ОтображатьСтруктуруВарианта =
НастройкиОтчета.РазрешеноИзменятьСтруктуру
И Не РежимИзмененияЭлементаСтруктурыНастроек
И (СодержитПользовательскиеЭлементыСтруктуры Или ЭтоРасширенныйРежим);
Элементы.СтраницаСтруктураВарианта.Видимость = ОтображатьСтруктуруВарианта;
Элементы.КомандыСтруктурыВарианта_Добавление.Видимость = ЭтоРасширенныйРежим;
@@ -114,8 +114,14 @@
Процедура АвторизоватьНаСайтеПоддержкиПользователей(ОповещениеОЗакрытии, ВладелецФормы) Экспорт
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей") Тогда
МодульИнтернетПоддержкаПользователейКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИнтернетПоддержкаПользователейКлиент");
МодульИнтернетПоддержкаПользователейКлиент.ПодключитьИнтернетПоддержкуПользователей(ОповещениеОЗакрытии, ВладелецФормы);
Если МодульИнтернетПоддержкаПользователейКлиент.ДоступноПодключениеИнтернетПоддержки() Тогда
МодульИнтернетПоддержкаПользователейКлиент.ПодключитьИнтернетПоддержкуПользователей(ОповещениеОЗакрытии, ВладелецФормы);
Иначе
ВыполнитьОбработкуОповещения(ОповещениеОЗакрытии, Неопределено);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -15,6 +15,7 @@
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "*";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("c17ea385-6085-471f-ab94-219ec30a5a38");
Обработчик.Комментарий = НСтр("ru = 'Обновляются правила проверки учета в соответствие с изменениями в новой версии программы.
|До завершения обработки часть проверок ведения учета будет недоступна.'");
Обработчик.Процедура = "КонтрольВеденияУчетаСлужебный.ОбновитьВспомогательныеДанныеПоИзменениямКонфигурации";
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.3.69";
Описание.Версия = "3.0.3.77";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -477,31 +477,33 @@
КонецЕсли;
ТекущийРежим = ПараметрыБлокировки.ТекущийРежимОбластиДанных;
Если ЗначениеЗаполнено(ТекущийРежим.Конец) Тогда
ПериодБлокировки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'на период с %1 по %2'"), ТекущийРежим.Начало, ТекущийРежим.Конец);
Если ЗначениеЗаполнено(ТекущийРежим.Сообщение) Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Администратором приложения установлена блокировка работы пользователей на период с %1 по %2 по причине:
|%3.'"), ТекущийРежим.Начало, ТекущийРежим.Конец, ТекущийРежим.Сообщение);
Иначе
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Администратором приложения установлена блокировка работы пользователей на период с %1 по %2 для проведения регламентных работ.'"),
ТекущийРежим.Начало, ТекущийРежим.Конец);
КонецЕсли;
Иначе
ПериодБлокировки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'с %1'"), ТекущийРежим.Начало);
Если ЗначениеЗаполнено(ТекущийРежим.Сообщение) Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Администратором приложения установлена блокировка работы пользователей на период с %1 по причине:
|%2.'"), ТекущийРежим.Начало, ТекущийРежим.Сообщение);
Иначе
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Администратором приложения установлена блокировка работы пользователей на период с %1 для проведения регламентных работ.'"),
ТекущийРежим.Начало);
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ТекущийРежим.Сообщение) Тогда
ПричинаБлокировки = НСтр("ru = 'по причине:'") + Символы.ПС + ТекущийРежим.Сообщение;
Иначе
ПричинаБлокировки = НСтр("ru = 'для проведения регламентных работ'");
КонецЕсли;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Администратором приложения установлена блокировка работы пользователей %1 %2.
|
|Приложение временно недоступно.'"), ПериодБлокировки, ПричинаБлокировки);
Параметры.Вставить("СеансыОбластиДанныхЗаблокированы", ТекстСообщения);
ТекстСообщения = "";
Параметры.Вставить("СеансыОбластиДанныхЗаблокированы", ТекстСообщения + Символы.ПС + Символы.ПС + НСтр("ru = 'Приложение временно недоступно.'"));
ТекстСообщенияДляВхода = "";
Если Пользователи.ЭтоПолноправныйПользователь() Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Администратором приложения установлена блокировка работы пользователей %1 %2.
|
|Войти в заблокированное приложение?'"),
ПериодБлокировки, ПричинаБлокировки);
ТекстСообщенияДляВхода = ТекстСообщения + Символы.ПС + Символы.ПС + НСтр("ru = 'Войти в заблокированное приложение?'");
КонецЕсли;
Параметры.Вставить("ПредложениеВойти", ТекстСообщения);
Параметры.Вставить("ПредложениеВойти", ТекстСообщенияДляВхода);
Если (Пользователи.ЭтоПолноправныйПользователь() И Не ТекущийРежим.Эксклюзивная)
Или Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда
@@ -247,7 +247,9 @@
ЭтоИдентификаторДела = (ТекущиеДела.Найти(СтрЗаменить(Дело.Владелец, " ", ""), "Идентификатор") <> Неопределено);
КонецЕсли;
НедопустимыеСимволы = """'`/\-[]{}:;|=?*<>,.()+#№@!%^&~";
Дело.ИдентификаторВладельца = СтрЗаменить(Дело.Владелец, " ", "");
Дело.ИдентификаторВладельца = СтрСоединить(СтрРазделить(Дело.ИдентификаторВладельца, НедопустимыеСимволы, Истина));
Если Не ЭтоИдентификаторДела Тогда
Дело.ЭтоРаздел = Истина;
Дело.ПредставлениеРаздела = Дело.Владелец;
@@ -1144,12 +1144,16 @@
// Только для внутреннего использования.
Процедура ОбновитьДоступПослеОбновленияИнформационнойБазы(ВыполнитьОтложенноеОбновлениеСейчас) Экспорт
Если Не ВыполнитьОтложенноеОбновлениеСейчас
Или Не ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
Если ОбщегоНазначения.РазделениеВключено()
И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Возврат;
КонецЕсли;
ВыполнитьОбновлениеДоступаНаУровнеЗаписей(Истина, Ложь, 0, Истина);
Если ВыполнитьОтложенноеОбновлениеСейчас
И ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
ВыполнитьОбновлениеДоступаНаУровнеЗаписей(Истина, Ложь, 0, Истина);
КонецЕсли;
КонецПроцедуры
@@ -1265,6 +1269,8 @@
РегистрыСведений.НастройкиПравОбъектов.ОбновитьВозможныеПраваДляНастройкиПравОбъектов(ЕстьИзменения);
РегистрыСведений.ПараметрыОграниченияДоступа.ОбновитьВерсиюТекстовОграниченияДоступа(ЕстьИзменения);
КонецПроцедуры
// Обновляет описание свойств видов доступа в параметрах работы программы.
@@ -1464,22 +1470,6 @@
Обработчик.ЧитаемыеОбъекты = "Справочник.ГруппыДоступа";
Обработчик.ИзменяемыеОбъекты = "РегистрСведений.ТаблицыГруппДоступа,РегистрСведений.ЗначенияГруппДоступа,РегистрСведений.ЗначенияГруппДоступаПоУмолчанию";
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
Или ОграничиватьДоступНаУровнеЗаписейУниверсально(Истина) Тогда
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.0.3.3";
Обработчик.Процедура = "РегистрыСведений.ПараметрыОграниченияДоступа.ОбработатьДанныеДляПереходаНаНовуюВерсию2";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.ЗапускатьИВПодчиненномУзлеРИБСФильтрами = Истина;
Обработчик.Комментарий = НСтр("ru = 'Планирование частичного обновления доступа по изменениям программы.'");
Обработчик.Идентификатор = Новый УникальныйИдентификатор("2721d667-858d-48ed-8736-f7ece8218697");
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыСведений.ПараметрыОграниченияДоступа.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию2";
Обработчик.ОчередьОтложеннойОбработки = 1;
Обработчик.ЧитаемыеОбъекты = "РегистрСведений.ПараметрыОграниченияДоступа";
Обработчик.ИзменяемыеОбъекты = "РегистрСведений.ПараметрыОграниченияДоступа";
КонецЕсли;
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.0.2.139";
Обработчик.Процедура = "РегистрыСведений.ГруппыЗначенийДоступа.ОбработатьДанныеДляПереходаНаНовуюВерсию";
@@ -4407,7 +4397,7 @@
Справочники.ПрофилиГруппДоступа.ОбновитьПоставляемыеПрофилиПоИзменениямКонфигурации();
Справочники.ГруппыДоступа.ПометитьНаУдалениеГруппыДоступаПомеченныхПрофилей();
РегистрыСведений.НаборыЗначенийДоступа.ОбновитьВспомогательныеДанныеРегистраПоИзменениямКонфигурации();
РегистрыСведений.ПараметрыОграниченияДоступа.ОбновитьДанныеРегистра();
РегистрыСведений.ПараметрыОграниченияДоступа.ЗапланироватьОбновлениеДоступаПоИзменениямКонфигурации();
ЗафиксироватьТранзакцию();
Исключение
@@ -5466,6 +5456,7 @@
Параметры.Добавить("СтандартныеПодсистемы.УправлениеДоступом.ОписаниеПоставляемыхПрофилей");
Параметры.Добавить("СтандартныеПодсистемы.УправлениеДоступом.ПредопределенныеПрофилиГруппДоступа");
Параметры.Добавить("СтандартныеПодсистемы.УправлениеДоступом.ТипыГруппИЗначенийДоступа");
Параметры.Добавить("СтандартныеПодсистемы.УправлениеДоступом.ВерсияТекстовОграниченияДоступа");
Для Каждого Параметр Из Параметры Цикл
@@ -19303,7 +19294,11 @@
Функция МаксимальноеКоличествоМинутВыполненияФоновогоЗаданияОбновленияДоступа()
Возврат 2;
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Возврат 2;
Иначе
Возврат 15;
КонецЕсли;
КонецФункции
@@ -19391,6 +19386,12 @@
КонецФункции
Функция РегистрироватьСтрокуВерсииПараметровОграниченияДоступа()
Возврат Ложь;
КонецФункции
#КонецОбласти
#Область ТочкиПодключенияДляАнализаПроизводительностиЧерезРасширениеКонфигурации
@@ -20732,10 +20733,30 @@
// Для функции ДействующиеПараметрыОграниченияДоступа.
Функция НоваяВерсияПараметровОграниченияДоступа(ОбщийКонтекст, ЕстьИзменения = Ложь)
Если РегистрироватьСтрокуВерсииПараметровОграниченияДоступа() Тогда
Если ТипЗнч(ОбщийКонтекст) <> Тип("Структура") Тогда
ОбновитьПовторноИспользуемыеЗначения();
ОбщийКонтекст = ОбщийКонтекстРасчетаПараметровОграничения();
КонецЕсли;
Если ОбщийКонтекст.Свойство("СтрокиВерсииХранимыхПараметров") Тогда
УдалитьСтрокиВерсииХранимыхПараметров = Ложь;
Иначе
ОбщийКонтекст.Вставить("СтрокиВерсииХранимыхПараметров");
УдалитьСтрокиВерсииХранимыхПараметров = Истина;
КонецЕсли;
КонецЕсли;
ВерсииОграниченийСписков = Новый Соответствие;
ХранимыеПараметры = ХранимыеПараметрыОграниченияДоступа(ОбщийКонтекст, ВерсииОграниченийСписков);
ВерсииОграниченийСписков.Вставить("Справочник.НаборыГруппДоступа", "1");
Если РегистрироватьСтрокуВерсииПараметровОграниченияДоступа() Тогда
СтрокиВерсии = ОбщийКонтекст.СтрокиВерсииХранимыхПараметров;
Если УдалитьСтрокиВерсииХранимыхПараметров Тогда
ОбщийКонтекст.Удалить("СтрокиВерсииХранимыхПараметров");
КонецЕсли;
КонецЕсли;
НаборЗаписей = СлужебныйНаборЗаписей(РегистрыСведений.ПараметрыОграниченияДоступа);
Запись = НаборЗаписей.Добавить();
ЗаполнитьЗначенияСвойств(Запись, ХранимыеПараметры);
@@ -20794,6 +20815,9 @@
НаборЗаписей.Записать();
ЕстьИзменения = Истина;
Если РегистрироватьСтрокуВерсииПараметровОграниченияДоступа() Тогда
ЗарегистрироватьСтрокуВерсииПараметровОграниченияДоступа(НаборЗаписей[0], СтрокиВерсии);
КонецЕсли;
Прервать;
КонецЦикла;
ЗафиксироватьТранзакцию();
@@ -20817,6 +20841,46 @@
КонецФункции
// Для функции НоваяВерсияПараметровОграниченияДоступа.
Процедура ЗарегистрироватьСтрокуВерсииПараметровОграниченияДоступа(Запись, СтрокиВерсии)
Состав = Новый Массив;
Состав.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
"Версия = %1
|ДатаСоздания = %2
|ХешСумма = %3
|",
Запись.Версия,
Формат(Запись.ДатаСоздания, "ДЛФ=DT"),
Запись.ХешСумма));
Для Каждого Строка Из СтрокиВерсии.СтрокиВерсийСписков Цикл
Состав.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
"[Список = %1, ДляВнешнихПользователей = %2, Версия = %3]
|%4",
Строка.Список,
?(Строка.ДляВнешнихПользователей, "Да", "Нет"),
Строка.Версия,
Строка.СтрокаВерсии));
КонецЦикла;
Состав.Добавить("[ВсеВерсииСтрокой]
|" + СтрокиВерсии.ВсеВерсииСтрокой);
Состав.Добавить("[ВсеВидыОграниченийСтрокой]
|" + СтрокиВерсии.ВсеВидыОграниченийСтрокой);
Комментарий = СтрСоединить(Состав, Символы.ПС);
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Управление доступом.Строка версии параметров ограничения доступа'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация,
Метаданные.РегистрыСведений.ПараметрыОграниченияДоступа,,
Комментарий);
КонецПроцедуры
// Для функции НоваяВерсияПараметровОграниченияДоступа.
Функция СпискиСИзменениемВерсий(НовыеВерсииОграниченийСписков)
@@ -21154,6 +21218,17 @@
ВсеВидыОграниченийПрав = Новый Соответствие;
ДобавитьНестандартныеВидыОграниченийПрав(ВсеВидыОграниченийПрав);
Если ОбщийКонтекст.Свойство("СтрокиВерсииХранимыхПараметров") Тогда
СтрокиВерсийСписков = Новый ТаблицаЗначений;
СтрокиВерсийСписков.Колонки.Добавить("Список", Новый ОписаниеТипов("Строка"));
СтрокиВерсийСписков.Колонки.Добавить("ДляВнешнихПользователей", Новый ОписаниеТипов("Булево"));
СтрокиВерсийСписков.Колонки.Добавить("Версия", Новый ОписаниеТипов("Строка"));
СтрокиВерсийСписков.Колонки.Добавить("СтрокаВерсии", Новый ОписаниеТипов("Строка"));
ОбщийКонтекст.СтрокиВерсииХранимыхПараметров =
Новый Структура("ВсеВерсииСтрокой, ВсеВидыОграниченийСтрокой, СтрокиВерсийСписков",
"", "", СтрокиВерсийСписков);
КонецЕсли;
// Заполнение для пользователей.
КонтекстДляПользователей = Новый Структура;
КонтекстДляПользователей.Вставить("ДляВнешнихПользователей", Ложь);
@@ -21220,6 +21295,9 @@
ВерсииСтрокой = СтрСоединить(Версии.ВыгрузитьЗначения(), Символы.ПС);
ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.SHA256);
ХешированиеДанных.Добавить(ВерсииСтрокой);
Если ОбщийКонтекст.Свойство("СтрокиВерсииХранимыхПараметров") Тогда
ОбщийКонтекст.СтрокиВерсииХранимыхПараметров.ВсеВерсииСтрокой = ВерсииСтрокой;
КонецЕсли;
// Подготовка дополнительного контекста для расчета параметров ограничения отдельного списка.
ХранимыеСвойства = "СпискиСОтключеннымОграничением, СпискиСОтключеннымОграничениемЧтения,
@@ -21266,6 +21344,9 @@
ХранимыеПараметрыОтчета = СтруктураХранимыхПараметровОтчета();
ХранимыеПараметрыОтчета.ВсеВидыОграниченийПрав = ВсеВидыОграниченийСтрокой;
ХешированиеДанных.Добавить(ВсеВидыОграниченийСтрокой);
Если ОбщийКонтекст.Свойство("СтрокиВерсииХранимыхПараметров") Тогда
ОбщийКонтекст.СтрокиВерсииХранимыхПараметров.ВсеВидыОграниченийСтрокой = ВсеВидыОграниченийСтрокой;
КонецЕсли;
ХранимыеПараметры.Вставить("ДляОтчетаПоПравамДоступа",
Новый ХранилищеЗначения(ОбщегоНазначения.ФиксированныеДанные(ХранимыеПараметрыОтчета)));
@@ -21273,6 +21354,10 @@
ХранимыеПараметры.Вставить("ХешСумма", Base64Строка(ХешированиеДанных.ХешСумма));
ХранимыеПараметры.Вставить("ДатаСоздания", ТекущаяДатаСеанса());
Если ОбщийКонтекст.Свойство("СтрокиВерсииХранимыхПараметров") Тогда
СтрокиВерсийСписков.Сортировать("Список, ДляВнешнихПользователей");
КонецЕсли;
Возврат ХранимыеПараметры;
КонецФункции
@@ -21539,6 +21624,13 @@
Новый ХранилищеЗначения(СвойстваСписка.Параметры.ИспользуемыеТипыЗначенийДоступа), Контекст);
Контекст.ВерсииОграниченийСписков.Вставить(ПолноеИмя, СвойстваСписка.Параметры.Версия);
Если Контекст.ОбщийКонтекст.Свойство("СтрокиВерсииХранимыхПараметров") Тогда
НоваяСтрока = Контекст.ОбщийКонтекст.СтрокиВерсииХранимыхПараметров.СтрокиВерсийСписков.Добавить();
НоваяСтрока.Список = СвойстваСписка.ПолноеИмя;
НоваяСтрока.ДляВнешнихПользователей = Контекст.ДляВнешнихПользователей;
НоваяСтрока.Версия = СвойстваСписка.Параметры.Версия;
НоваяСтрока.СтрокаВерсии = СвойстваСписка.Параметры.Контекст.СтрокаСвойствВерсии;
КонецЕсли;
ВедущиеСписки = СвойстваСписка.Параметры.ВедущиеСписки;
@@ -22144,7 +22236,7 @@
Или ИмяКоллекцииТипа = "РегистрыРасчета");
КонецЕсли;
Контекст = Новый Структура;
Контекст = Новый Структура("СтрокаСвойствВерсии", "");
Результат.Вставить("Контекст", Контекст);
Для Каждого КлючИЗначение Из ОбщийКонтекст Цикл
@@ -22278,6 +22370,7 @@
ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.SHA256);
СтрокаСвойствВерсии = СтрСоединить(Контекст.СвойстваВерсии, Символы.ПС);
Контекст.СтрокаСвойствВерсии = СтрокаСвойствВерсии;
ХешированиеДанных.Добавить(СтрокаСвойствВерсии);
Результат.Версия = Base64Строка(ХешированиеДанных.ХешСумма);
@@ -28094,7 +28187,8 @@
Если ДляВыбораЗначений Тогда
Поле = СтрЗаменить(Поле, "Шапка?.Значение? = ", "");
Поле = СтрЗаменить(Поле, " ", " ");
Поле = "," + Символы.ПС + Сред(Поле, 5, СтрДлина(Поле) - 5) + " КАК Значение?";
Позиция = СтрДлина(Символы.ПС + "И ()");
Поле = "," + Символы.ПС + Сред(Поле, Позиция, СтрДлина(Поле) - Позиция) + " КАК Значение?";
СоединенияИПоля.ПоляУпорядочения = СоединенияИПоля.ПоляУпорядочения
+ ", " + "Значение" + НомерРеквизита;
@@ -28199,6 +28293,7 @@
// Сохранение только значений.
Если Не ЕстьПростойТип(СвойстваПоля.ТипКонечногоПоля)
И КоличествоТиповПоля = 1
И СвойстваПоля.ТипыСохраненияЗначений.Количество() = КоличествоТиповПоля Тогда
Если БезЗначенияNull Тогда
+11 -10
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="16fac3b8-456e-4639-84b0-9e64a01b2c2d">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="89b7ba30-5dcb-48b3-863b-c8d6fe56d084">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="94951ff0-6aca-43b6-a241-4e89633faade"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="3620e8e4-4272-47cb-b4f5-54b993c90c57"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="ca00e658-2209-4b3f-a826-e141f7fe94f4"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="3e9f0de8-0dea-4458-a72b-2d440bc9f3a7"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="3bd80416-6916-46e9-a877-3ea48c72fb2a"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="2310bf1c-fb35-4807-b20b-fbb5a5641b5a"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="21f8e875-919e-4050-a682-2ceb0a3140d4"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="b0559b7a-be1f-4ee4-b71d-1b57665c7166"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="b3ea73f3-7080-4aeb-a7c8-b49be17abd87"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="d8f8326c-9349-4b29-9aff-b4c3dd1dfd22"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="0b579607-4891-45b5-9f5d-05859080b890"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="e37502ee-89a7-4dca-afcc-31ba75f59077"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="98e46974-ad4c-4092-bdeb-eb00b6ce62a4"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="7daa996b-b899-4cca-8d01-177d616dfa25"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.3.69</version>
<version>3.0.3.77</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1019,7 +1019,8 @@
<xDTOPackages>XDTOPackage.EnterpriseData_1_3_20</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseData_1_4_20</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseData_1_5_20</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseData_1_6_20</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseData_1_6_21</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseData_1_7_4</xDTOPackages>
<xDTOPackages>XDTOPackage.EnterpriseDataExchange_1_0_1_1</xDTOPackages>
<xDTOPackages>XDTOPackage.ExchangeMessage</xDTOPackages>
<xDTOPackages>XDTOPackage.Patch</xDTOPackages>
@@ -1 +1 @@
{6,1,1,6a391cfc-b433-4901-b746-832ec65c37e1,1,105b0f45-e05f-40f9-82ec-72394659dfd9,"3.0.3.69","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6040,1,0,16fac3b8-456e-4639-84b0-9e64a01b2c2d,16fac3b8-456e-4639-84b0-9e64a01b2c2d,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-74e8-Line truncated
{6,1,1,e7284f00-78fa-454f-b0b3-0981c83cf270,1,ab19a080-01eb-4c6a-a99a-a2edea04012c,"3.0.3.77","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6041,1,0,89b7ba30-5dcb-48b3-863b-c8d6fe56d084,89b7ba30-5dcb-48b3-863b-c8d6fe56d084,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-74e8-Line truncated
@@ -389,7 +389,11 @@
//
Процедура РассчитатьПрименениеЗапросов() Экспорт
НачатьТранзакцию();
ВнешняяТранзакция = ТранзакцияАктивна();
Если Не ВнешняяТранзакция Тогда
НачатьТранзакцию();
КонецЕсли;
Попытка
Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.ЗаблокироватьРегистрыПредоставленныхРазрешений();
@@ -401,9 +405,13 @@
РассчитатьРезультатПримененияЗапросовБезУчетаВладельцев();
РассчитатьДельтуБезУчетаВладельцев();
ЗафиксироватьТранзакцию();
Если Не ВнешняяТранзакция Тогда
ОтменитьТранзакцию();
КонецЕсли;
Исключение
ОтменитьТранзакцию();
Если Не ВнешняяТранзакция Тогда
ОтменитьТранзакцию();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
@@ -344,8 +344,8 @@
&НаКлиенте
Процедура НастроитьПараметрыТранспортаСообщенийОбмена(Команда)
Отбор = Новый Структура("Узел", Объект.УзелИнформационнойБазы);
ЗначенияЗаполнения = Новый Структура("Узел", Объект.УзелИнформационнойБазы);
Отбор = Новый Структура("Корреспондент", Объект.УзелИнформационнойБазы);
ЗначенияЗаполнения = Новый Структура("Корреспондент", Объект.УзелИнформационнойБазы);
Оповещение = Новый ОписаниеОповещения("НастроитьПараметрыТранспортаСообщенийОбменаЗавершение", ЭтотОбъект);
ОбменДаннымиКлиент.ОткрытьФормуЗаписиРегистраСведенийПоОтбору(Отбор,
@@ -1163,21 +1163,34 @@
И (Объект.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.FILE
Или Объект.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.FTP);
ПриИзмененииВидаТранспортаСообщенийОбмена(Истина);
ПриИзмененииВидаТранспортаСообщенийОбмена(Истина, НастроенныеВидыТранспорта);
Если Не ПропускатьСтраницуТранспорта Тогда
КонецПроцедуры
Если ОбменДаннымиСервер.ЕстьПраваНаАдминистрированиеОбменов() Тогда
Элементы.НастроитьПараметрыТранспортаСообщенийОбмена.Видимость = Истина;
&НаСервере
Процедура ПриИзмененииВидаТранспортаСообщенийОбмена(Инициализация = Ложь, НастроенныеВидыТранспорта = Неопределено)
ОбменДаннымиСервер.ЗаполнитьСписокВыбораДоступнымиВидамиТранспорта(Объект.УзелИнформационнойБазы,
Элементы.ВидТранспортаСообщенийОбмена);
Иначе
Элементы.НастроитьПараметрыТранспортаСообщенийОбмена.Видимость = Ложь;
ОбменЧерезВнешнееСоединение = (Объект.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.COM);
ОбменЧерезВебСервис = (Объект.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.WS);
ОбменДаннымиСервер.ЗаполнитьСписокВыбораДоступнымиВидамиТранспорта(Объект.УзелИнформационнойБазы,
Элементы.ВидТранспортаСообщенийОбмена, НастроенныеВидыТранспорта);
Если ОбменЧерезВебСервис Тогда
СтруктураНастроек = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(Объект.УзелИнформационнойБазы);
ЗаполнитьЗначенияСвойств(ЭтотОбъект, СтруктураНастроек, "WSЗапомнитьПароль");
Если WSЗапомнитьПароль Тогда
WSПароль = Строка(ЭтотОбъект.УникальныйИдентификатор);
КонецЕсли;
КонецЕсли;
ИспользоватьПрогрессБар = Не ОбменЧерезВебСервис И Не ОбменМеждуПриложениямиВСервисе;
Если Инициализация Тогда
ПропускатьСтраницуТранспорта = ПропускатьСтраницуТранспорта И (Не ОбменЧерезВебСервис Или WSЗапомнитьПароль);
ЗаполнитьТаблицуПереходов();
Элементы.НастроитьПараметрыТранспортаСообщенийОбмена.Видимость = ОбменДаннымиСервер.ЕстьПраваНаАдминистрированиеОбменов();
ОбменДаннымиСервер.ЗаполнитьСписокВыбораДоступнымиВидамиТранспорта(Объект.УзелИнформационнойБазы,
Элементы.ВидТранспортаСообщенийОбмена, НастроенныеВидыТранспорта);
СписокВыбораТранспорта = Элементы.ВидТранспортаСообщенийОбмена.СписокВыбора;
@@ -1195,30 +1208,9 @@
Элементы.WSПароль.Видимость = ОбменЧерезВебСервис И Не WSЗапомнитьПароль;
Элементы.НадписьWSПароль.Видимость = ОбменЧерезВебСервис И Не WSЗапомнитьПароль;
Элементы.WSЗапомнитьПароль.Видимость = ОбменЧерезВебСервис И Не WSЗапомнитьПароль;
Элементы.WSЗапомнитьПароль.Видимость = ОбменЧерезВебСервис И Не WSЗапомнитьПароль;
УстановитьВидимостьКнопкиОткрытияКаталогаОбмена();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриИзмененииВидаТранспортаСообщенийОбмена(Инициализация = Ложь)
ОбменЧерезВнешнееСоединение = (Объект.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.COM);
ОбменЧерезВебСервис = (Объект.ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.WS);
Если ОбменЧерезВебСервис Тогда
СтруктураНастроек = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(Объект.УзелИнформационнойБазы);
ЗаполнитьЗначенияСвойств(ЭтотОбъект, СтруктураНастроек, "WSЗапомнитьПароль");
КонецЕсли;
ИспользоватьПрогрессБар = Не ОбменЧерезВебСервис И Не ОбменМеждуПриложениямиВСервисе;
Если Инициализация Тогда
ПропускатьСтраницуТранспорта = ПропускатьСтраницуТранспорта И (Не ОбменЧерезВебСервис Или WSЗапомнитьПароль);
ЗаполнитьТаблицуПереходов();
КонецЕсли;
КонецПроцедуры
@@ -1640,13 +1632,19 @@
КонецФункции
&НаСервереБезКонтекста
Функция СостояниеДлительнойОперации(Знач ИдентификаторОперации, УзелОбмена)
Функция СостояниеДлительнойОперации(Знач ИдентификаторОперации, УзелОбмена, ПолучитьПарольИзСеансовыхДанных)
Попытка
ПараметрыПодключения = ОбменДаннымиСервер.СтруктураПараметровWS();
СохраненныеПараметры = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(УзелОбмена);
ПараметрыАутентификации = Неопределено;
Если ПолучитьПарольИзСеансовыхДанных Тогда
ПараметрыАутентификации = ОбменДаннымиСервер.ПарольСинхронизацииДанных(УзелОбмена);
КонецЕсли;
СохраненныеПараметры = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(
УзелОбмена, ПараметрыАутентификации);
ЗаполнитьЗначенияСвойств(ПараметрыПодключения, СохраненныеПараметры);
ВерсииИнтерфейса = ОбменДаннымиПовтИсп.ВерсииКорреспондента(ПараметрыПодключения);
@@ -1705,9 +1703,8 @@
ДлительнаяОперацияЗавершенаСОшибкой = Ложь;
Если ОбменЧерезВебСервис Тогда
СостояниеОперации = СостояниеДлительнойОперации(ИдентификаторОперации, Объект.УзелИнформационнойБазы);
ПолучитьПарольИзСеансовыхДанных = (Не ПропускатьСтраницуТранспорта И Не WSЗапомнитьПароль);
СостояниеОперации = СостояниеДлительнойОперации(ИдентификаторОперации, Объект.УзелИнформационнойБазы, ПолучитьПарольИзСеансовыхДанных);
Иначе
// Обмен по COM соединению.
СостояниеОперации = ОбменДаннымиВызовСервера.СостояниеЗадания(ИдентификаторЗадания);
@@ -1844,9 +1841,9 @@
КонецФункции
&НаКлиенте
Процедура ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ)
Процедура ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ, ПолучитьПарольИзСеансовыхДанных)
Результат = ФоновоеЗаданиеЗапуститьНаСервере(ПараметрыЗадания);
Результат = ФоновоеЗаданиеЗапуститьНаСервере(ПараметрыЗадания, ПолучитьПарольИзСеансовыхДанных);
Если Результат = Неопределено Тогда
Отказ = Истина;
@@ -1914,12 +1911,17 @@
КонецПроцедуры
&НаСервере
Функция ФоновоеЗаданиеЗапуститьНаСервере(ПараметрыЗадания)
Функция ФоновоеЗаданиеЗапуститьНаСервере(ПараметрыЗадания, ПолучитьПарольИзСеансовыхДанных)
ДатаНачалаОперации = ТекущаяДатаСеанса();
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = ПараметрыЗадания.НаименованиеЗадания;
Если ПолучитьПарольИзСеансовыхДанных Тогда
ПарольСеансовыхДанных = Новый Структура("WSПароль", ОбменДаннымиСервер.ПарольСинхронизацииДанных(Объект.УзелИнформационнойБазы));
ЗаполнитьЗначенияСвойств(ПараметрыЗадания.ПараметрыМетода, ПарольСеансовыхДанных);
КонецЕсли;
Результат = ДлительныеОперации.ВыполнитьВФоне(
ПараметрыЗадания.ВыполняемыйМетод,
ПараметрыЗадания.ПараметрыМетода,
@@ -1956,9 +1958,21 @@
#Область ОбработчикиСобытийПереходов
&НаКлиенте
Функция Подключаемый_СтраницаНачала_ПриОткрытии(Отказ, ПропуститьСтраницу, ЭтоПереходДалее)
ПропуститьСтраницу = ЭтоПереходДалее И ПропускатьСтраницуТранспорта;
Возврат Неопределено;
КонецФункции
&НаКлиенте
Функция Подключаемый_СтраницаНачала_ПриПереходеДалее(Отказ)
Если ПропускатьСтраницуТранспорта Тогда
Возврат Неопределено;
КонецЕсли;
// Выполняем проверки заполнения реквизитов формы.
Если Объект.УзелИнформационнойБазы.Пустая() Тогда
@@ -1994,6 +2008,7 @@
Если ОбменЧерезВебСервис Тогда
ПроверитьПодключениеИСохранитьНастройки(Отказ);
Если Отказ Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Не удалось выполнить операцию.'"));
КонецЕсли;
@@ -2006,29 +2021,50 @@
&НаСервере
Процедура ПроверитьПодключениеИСохранитьНастройки(Отказ)
ПараметрыПодключения = ОбменДаннымиСервер.СтруктураПараметровWS();
СохраненныеПараметры = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(Объект.УзелИнформационнойБазы);
ЗаполнитьЗначенияСвойств(ПараметрыПодключения, СохраненныеПараметры);
ПараметрыАутентификации = Неопределено;
Если Не ПропускатьСтраницуТранспорта Тогда
ПараметрыПодключения.WSПароль = WSПароль;
ПараметрыАутентификации = Новый Структура;
ПараметрыАутентификации.Вставить("ИспользоватьТекущегоПользователя", Ложь);
ПараметрыАутентификации.Вставить("Пароль", WSПароль);
КонецЕсли;
СообщениеПользователю = "";
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси(ПараметрыПодключения, , СообщениеПользователю);
УстановитьПривилегированныйРежим(Истина);
ПараметрыПодключения = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(
Объект.УзелИнформационнойБазы, ПараметрыАутентификации);
Если WSПрокси = Неопределено Тогда
ОбщегоНазначения.СообщитьПользователю(СообщениеПользователю, , "WSПароль", , Отказ);
Возврат;
СообщениеОбОшибке = "";
СообщениеОбОшибкеПользователю = "";
НастройкаЗавершена = Истина;
ПолученыДанныеДляСопоставления = Ложь;
ЕстьПодключение = ОбменДаннымиСервер.ЕстьПодключениеККорреспонденту(Объект.УзелИнформационнойБазы,
ПараметрыПодключения, СообщениеОбОшибкеПользователю, НастройкаЗавершена, ПолученыДанныеДляСопоставления);
Если Не ЕстьПодключение Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось подключиться к приложению в Интернете, по причине ""%1"".
|Убедитесь, что:
|- введен правильный пароль;
|- указан корректный адрес для подключения;
|- приложение доступно по указанному в настройках адресу;
|- настройка синхронизации не была удалена в приложении в Интернете.
|Повторите попытку синхронизации.'"),
СообщениеОбОшибкеПользователю);
Отказ = Истина;
ИначеЕсли Не НастройкаЗавершена Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для продолжения необходимо перейти в программу ""%1"" и завершить в ней настройку синхронизации. Выполнение обмена данными отменено.'"),
НаименованиеКорреспондента);
Отказ = Истина;
ИначеЕсли ПолученыДанныеДляСопоставления Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для продолжения необходимо перейти в программу ""%1"" и выполнить загрузку сообщения для сопоставления данных. Выполнение обмена данными отменено.'"),
НаименованиеКорреспондента);
Отказ = Истина;
КонецЕсли;
Если Не ПропускатьСтраницуТранспорта Тогда
Если ЕстьПодключение И Не ПропускатьСтраницуТранспорта И WSЗапомнитьПароль Тогда
Попытка
УстановитьПривилегированныйРежим(Истина);
// Обновляем запись в РС.
СтруктураЗаписи = Новый Структура;
СтруктураЗаписи.Вставить("Корреспондент", Объект.УзелИнформационнойБазы);
@@ -2038,9 +2074,7 @@
РегистрыСведений.НастройкиТранспортаОбменаДанными.ОбновитьЗапись(СтруктураЗаписи);
WSПароль = Строка(ЭтотОбъект.УникальныйИдентификатор);
Исключение
СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииОбменДанными(),
@@ -2048,9 +2082,11 @@
ОбщегоНазначения.СообщитьПользователю(СообщениеОбОшибке, , , , Отказ);
Возврат;
КонецПопытки;
КонецЕсли;
Если Отказ Тогда
ОбщегоНазначения.СообщитьПользователю(СообщениеОбОшибке);
КонецЕсли;
КонецПроцедуры
@@ -2073,6 +2109,8 @@
ПропуститьПолучениеДанных = Ложь;
ПерейтиДалее = Ложь;
ПолучитьПарольИзСеансовыхДанных = (Не ПропускатьСтраницуТранспорта И Не WSЗапомнитьПароль);
ПараметрыМетода = Новый Структура;
ПараметрыМетода.Вставить("Отказ", Ложь);
ПараметрыМетода.Вставить("ДлительнаяОперация", ДлительнаяОперация);
@@ -2093,7 +2131,7 @@
ПараметрыЗадания.НаименованиеЗадания = НСтр("ru = 'Получение сообщения обмена во временный каталог'");
ПараметрыЗадания.ОбработчикЗавершения = "ЗавершениеПолученияДанныхВоВременныйКаталог";
ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ);
ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ, ПолучитьПарольИзСеансовыхДанных);
Возврат Неопределено;
@@ -2131,6 +2169,8 @@
// Необходимо получить во временный каталог файл, подготовленный на корреспонденте.
Если Не ЗначениеЗаполнено(Объект.ИмяФайлаСообщенияОбмена) Тогда
ПолучитьПарольИзСеансовыхДанных = (Не ПропускатьСтраницуТранспорта И Не WSЗапомнитьПароль);
ПерейтиДалее = Ложь;
ПараметрыМетода = Новый Структура;
@@ -2148,7 +2188,7 @@
ПараметрыЗадания.НаименованиеЗадания = НСтр("ru = 'Получение файла с данными сообщения обмена во временный каталог'");
ПараметрыЗадания.ОбработчикЗавершения = "ЗавершениеПолученияФайлаСДаннымиОтКорреспондентаВоВременныйКаталог";
ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ);
ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ, ПолучитьПарольИзСеансовыхДанных);
КонецЕсли;
@@ -2191,7 +2231,7 @@
КонецЕсли;
Иначе
ЗаполнитьЗначенияСвойств(ЭтотОбъект, РезультатВыполненияМетода);
ЗаполнитьЗначенияСвойств(ЭтотОбъект, РезультатВыполненияМетода, , "WSПароль");
Объект.ИмяФайлаСообщенияОбмена = РезультатВыполненияМетода.ИмяФайлаСообщенияОбмена;
Объект.ИмяВременногоКаталогаСообщенийОбмена = РезультатВыполненияМетода.ИмяВременногоКаталогаСообщенийОбмена;
@@ -2254,7 +2294,7 @@
ПараметрыЗадания.НаименованиеЗадания = НСтр("ru = 'Анализ данных сообщения обмена'");
ПараметрыЗадания.ОбработчикЗавершения = "ЗавершениеАнализаДанных";
ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ);
ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ, Ложь);
Возврат Неопределено;
@@ -2469,7 +2509,7 @@
ПараметрыЗадания.НаименованиеЗадания = НСтр("ru = 'Загрузка данных из сообщения обмена'");
ПараметрыЗадания.ОбработчикЗавершения = "ЗавершениеЗагрузкиДанных";
ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ);
ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ, Ложь);
Возврат Неопределено;
@@ -2705,6 +2745,8 @@
ПриЗавершенииВыгрузкиДанных();
КонецЕсли;
Иначе
ПолучитьПарольИзСеансовыхДанных = (Не ПропускатьСтраницуТранспорта И Не WSЗапомнитьПароль);
ПараметрыМетода = Новый Структура;
ПараметрыМетода.Вставить("УзелИнформационнойБазы", Объект.УзелИнформационнойБазы);
ПараметрыМетода.Вставить("ВидТранспортаСообщенийОбмена", Объект.ВидТранспортаСообщенийОбмена);
@@ -2721,7 +2763,7 @@
ПараметрыЗадания.НаименованиеЗадания = НСтр("ru = 'Выгрузка данных в сообщение обмена'");
ПараметрыЗадания.ОбработчикЗавершения = "ЗавершениеВыгрузкиДанных";
ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ);
ФоновоеЗаданиеЗапуститьНаКлиенте(ПараметрыЗадания, Отказ, ПолучитьПарольИзСеансовыхДанных);
КонецЕсли;
КонецПроцедуры
@@ -2924,9 +2966,7 @@
ТаблицаПереходов.Очистить();
Если Не ПропускатьСтраницуТранспорта Тогда
ТаблицаПереходовНоваяСтрока("СтраницаНачала", "СтраницаНавигацииНачало", , "СтраницаНачала_ПриПереходеДалее");
КонецЕсли;
ТаблицаПереходовНоваяСтрока("СтраницаНачала", "СтраницаНавигацииНачало", "СтраницаНачала_ПриОткрытии", "СтраницаНачала_ПриПереходеДалее");
Если ОбменМеждуПриложениямиВСервисе Тогда
@@ -227,10 +227,11 @@
СообщениеОбОшибке = СтатусЗавершения.СообщениеОбОшибке;
Возврат;
Иначе
НастройкаУдалена = СтатусЗавершения.Результат.НастройкаУдалена;
НастройкаУдаленаВКорреспонденте = СтатусЗавершения.Результат.НастройкаУдаленаВКорреспонденте;
РезультатВыполнения = СтатусЗавершения.Результат;
СообщениеОбОшибке = СтатусЗавершения.СообщениеОбОшибке;
НастройкаУдалена = РезультатВыполнения.НастройкаУдалена;
НастройкаУдаленаВКорреспонденте = РезультатВыполнения.НастройкаУдаленаВКорреспонденте;
СообщениеОбОшибке = РезультатВыполнения.СообщениеОбОшибке;
КонецЕсли;
КонецПроцедуры
@@ -484,7 +484,12 @@
Иначе
ПараметрыОбработчика.СообщениеОбОшибке = ФоновоеЗадание.КраткоеПредставлениеОшибки;
Если ЗначениеЗаполнено(ФоновоеЗадание.ПодробноеПредставлениеОшибки) Тогда
ПараметрыОбработчика.СообщениеОбОшибке = ФоновоеЗадание.ПодробноеПредставлениеОшибки;
ЗаписьЖурналаРегистрации(
ОбменДаннымиСервер.СобытиеЖурналаРегистрацииОбменДанными(),
УровеньЖурналаРегистрации.Ошибка,
Метаданные.Обработки.ПомощникСозданияОбменаДанными,
,
ФоновоеЗадание.ПодробноеПредставлениеОшибки);
КонецЕсли;
ПараметрыОбработчика.Отказ = Истина;
@@ -1379,27 +1384,30 @@
// 1. Удаление настройки синхронизации в программе-корреспонденте (опционально).
Если НастройкиУдаления.УдалитьНастройкуВКорреспонденте Тогда
УдалитьНастройкуСинхронизацииВКорреспонденте(НастройкиУдаления, Результат);
Если Не Результат.НастройкаУдаленаВКорреспонденте Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
Результат.НастройкаУдалена = Ложь;
Результат.СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'При удалении настройки синхронизации в программе ""%1"" возникла ошибка: %2.
|
|Попробуйте выполнить удаление позже, или снимите флажок ""Удалить настройку также в программе..."".'"),
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(НастройкиУдаления.УзелОбмена, "Наименование"),
Результат.СообщениеОбОшибкеВКорреспонденте);
КонецЕсли;
ПоместитьВоВременноеХранилище(Результат, АдресРезультата);
Возврат;
КонецЕсли;
КонецЕсли;
// 2. Удаление настройки синхронизации в этой программе.
Попытка
ОбменДаннымиСервер.УдалитьНастройкуСинхронизации(НастройкиУдаления.УзелОбмена);
Исключение
Информация = ИнформацияОбОшибке();
Результат.НастройкаУдалена = Ложь;
Результат.СообщениеОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
Результат.СообщениеОбОшибке = КраткоеПредставлениеОшибки(Информация);
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииУдалениеОбменаДанными(),
УровеньЖурналаРегистрации.Ошибка, , , Результат.СообщениеОбОшибке);
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(Информация));
КонецПопытки;
ПоместитьВоВременноеХранилище(Результат, АдресРезультата);
@@ -19,9 +19,14 @@
ЗаписатьПароль("COMПарольПользователя", "COMПарольПользователя", СтруктураЗаписи);
ЗаписатьПароль("FTPСоединениеПароль", "FTPСоединениеПароль", СтруктураЗаписи);
ЗаписатьПароль("WSПароль", "WSПароль", СтруктураЗаписи);
ЗаписатьПароль("ПарольАрхиваСообщенияОбмена", "ПарольАрхиваСообщенияОбмена", СтруктураЗаписи);
WSЗапомнитьПароль = Неопределено;
Если СтруктураЗаписи.Свойство("WSЗапомнитьПароль", WSЗапомнитьПароль)
И WSЗапомнитьПароль = Истина Тогда
ЗаписатьПароль("WSПароль", "WSПароль", СтруктураЗаписи);
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
@@ -34,13 +34,106 @@
////////////////////////////////////////////////////////////////////////////////
// Обновление информационной базы.
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию2(Параметры) Экспорт
// Обновляет версию текстов ограничений доступа.
//
// Параметры:
// ЕстьИзменения - Булево (возвращаемое значение) - если изменения найдены,
// устанавливается Истина, иначе не изменяется.
//
Процедура ОбновитьВерсиюТекстовОграниченияДоступа(ЕстьИзменения = Неопределено) Экспорт
// Регистрация данных не требуется.
Если ОбщегоНазначения.РазделениеВключено()
И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ(Метаданные.Имя, Истина);
Иначе
ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ(Метаданные.Имя);
КонецЕсли;
ВерсияТекстов = ВерсияТекстовОграниченияДоступа();
НачатьТранзакцию();
Попытка
ЕстьТекущиеИзменения = Ложь;
СтандартныеПодсистемыСервер.ОбновитьПараметрРаботыПрограммы(
"СтандартныеПодсистемы.УправлениеДоступом.ВерсияТекстовОграниченияДоступа",
ВерсияТекстов, ЕстьТекущиеИзменения);
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.76") < 0 Тогда
ЕстьТекущиеИзменения = Истина;
КонецЕсли;
СтандартныеПодсистемыСервер.ДобавитьИзмененияПараметраРаботыПрограммы(
"СтандартныеПодсистемы.УправлениеДоступом.ВерсияТекстовОграниченияДоступа",
?(ЕстьТекущиеИзменения,
Новый ФиксированнаяСтруктура("ЕстьИзменения", Истина),
Новый ФиксированнаяСтруктура()) );
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
Если ЕстьТекущиеИзменения Тогда
ЕстьИзменения = Истина;
КонецЕсли;
КонецПроцедуры
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию2(Параметры) Экспорт
// Процедура обновляет вспомогательные данные регистра по результату изменения
// возможных прав по значениям доступа, сохраненных в параметрах ограничения доступа.
//
Процедура ЗапланироватьОбновлениеДоступаПоИзменениямКонфигурации() Экспорт
УстановитьПривилегированныйРежим(Истина);
ПоследниеИзменения = СтандартныеПодсистемыСервер.ИзмененияПараметраРаботыПрограммы(
"СтандартныеПодсистемы.УправлениеДоступом.ВерсияТекстовОграниченияДоступа");
Если ПоследниеИзменения = Неопределено Тогда
ТребуетсяОбновление = Истина;
Иначе
ТребуетсяОбновление = Ложь;
Для Каждого ЧастьИзменений Из ПоследниеИзменения Цикл
Если ТипЗнч(ЧастьИзменений) = Тип("ФиксированнаяСтруктура")
И ЧастьИзменений.Свойство("ЕстьИзменения")
И ТипЗнч(ЧастьИзменений.ЕстьИзменения) = Тип("Булево") Тогда
Если ЧастьИзменений.ЕстьИзменения Тогда
ТребуетсяОбновление = Истина;
Прервать;
КонецЕсли;
Иначе
ТребуетсяОбновление = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если Не ТребуетсяОбновление Тогда
Возврат;
КонецЕсли;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеПараметровОграниченияДоступа(
"ЗапланироватьОбновлениеДоступаПоИзменениямКонфигурации");
ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ(Метаданные.Имя);
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.3") < 0 Тогда
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.0.3.3");
КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.76") < 0 Тогда
ЗапланироватьОбновление(Истина, Ложь, "ПереходНаВерсиюБСП_3.0.3.76");
КонецЕсли;
КонецПроцедуры
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
Процедура ЗапланироватьОбновление(КлючиДоступаКДанным, РазрешенныеКлючиДоступа, Описание)
ОписаниеОграниченийДанных = УправлениеДоступомСлужебный.ОписаниеОграниченийДанных();
ВнешниеПользователиВключены = Константы.ИспользоватьВнешнихПользователей.Получить();
@@ -56,18 +149,60 @@
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.КлючиДоступаКДанным = Ложь;
ПараметрыПланирования.КлючиДоступаКДанным = КлючиДоступаКДанным;
ПараметрыПланирования.РазрешенныеКлючиДоступа = РазрешенныеКлючиДоступа;
ПараметрыПланирования.ДляВнешнихПользователей = Ложь;
ПараметрыПланирования.ЭтоПродолжениеОбновления = Истина;
ПараметрыПланирования.Описание = "ОбработатьДанныеДляПереходаНаНовуюВерсию2";
ПараметрыПланирования.Описание = Описание;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(Списки, ПараметрыПланирования);
ПараметрыПланирования.ДляПользователей = Ложь;
ПараметрыПланирования.ДляВнешнихПользователей = Истина;
ПараметрыПланирования.Описание = "ОбработатьДанныеДляПереходаНаНовуюВерсию2";
ПараметрыПланирования.Описание = Описание;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(СпискиДляВнешнихПользователей, ПараметрыПланирования);
Параметры.ОбработкаЗавершена = Истина;
КонецПроцедуры
// Для процедуры ОбновитьВерсиюТекстовОграниченияДоступа.
Функция ВерсияТекстовОграниченияДоступа()
ОписаниеОграничений = УправлениеДоступомСлужебный.ОписаниеОграниченийДанных();
ВсеТексты = Новый СписокЗначений;
Разделители = " " + Символы.ПС + Символы.ВК + Символы.НПП + Символы.ПФ;
Для Каждого ОписаниеОграничения Из ОписаниеОграничений Цикл
Ограничение = ОписаниеОграничения.Значение;
Тексты = Новый Массив;
Тексты.Добавить(ОписаниеОграничения.Ключ);
ДобавитьСвойство(Тексты, Ограничение, Разделители, "Текст");
ДобавитьСвойство(Тексты, Ограничение, Разделители, "ТекстДляВнешнихПользователей");
ДобавитьСвойство(Тексты, Ограничение, Разделители, "ПоВладельцуБезЗаписиКлючейДоступа");
ДобавитьСвойство(Тексты, Ограничение, Разделители, "ПоВладельцуБезЗаписиКлючейДоступаДляВнешнихПользователей");
ДобавитьСвойство(Тексты, Ограничение, Разделители, "ТекстВМодулеМенеджера");
ВсеТексты.Добавить(СтрСоединить(Тексты, Символы.ПС), ОписаниеОграничения.Ключ);
КонецЦикла;
ВсеТексты.СортироватьПоПредставлению();
ПолныйТекст = СтрСоединить(ВсеТексты.ВыгрузитьЗначения(), Символы.ПС);
Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256);
Хеширование.Добавить(ПолныйТекст);
Возврат Base64Строка(Хеширование.ХешСумма);
КонецФункции
// Для функции ВерсияТекстовОграниченияДоступа.
Процедура ДобавитьСвойство(Тексты, Ограничение, Разделители, ИмяСвойства)
Значение = Ограничение[ИмяСвойства];
Если ТипЗнч(Значение) = Тип("Строка") Тогда
Текст = СтрСоединить(СтрРазделить(НРег(Значение), Разделители, Ложь), " ");
Иначе
Текст = Строка(Значение);
КонецЕсли;
Тексты.Добавить(" " + ИмяСвойства + ": " + Текст);
КонецПроцедуры
@@ -697,93 +697,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДомаЗданияСтроения</name>
<right>
@@ -3452,6 +3365,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ПрефиксОбластиДанных</name>
<right>
@@ -14,6 +14,20 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -45,20 +59,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов</name>
<right>
@@ -1010,45 +1010,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>InformationRegister.ДомаЗданияСтроения</name>
<right>
@@ -4520,6 +4481,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ЗакладкиВзаимодействий</name>
<right>
@@ -150,7 +150,8 @@
<content>WebService.Exchange_3_0_1_1</content>
<content>CommonPicture.СинхронизацияДанныхСостояниеСинхронизации</content>
<content>InformationRegister.НастройкиТранспортаОбменаДанными</content>
<content>XDTOPackage.EnterpriseData_1_6_20</content>
<content>XDTOPackage.EnterpriseData_1_6_21</content>
<content>InformationRegister.РезультатыОбменаДанными</content>
<content>XDTOPackage.EnterpriseData_1_7_4</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem>
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:XDTOPackage xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="48b57d1b-5246-4ce8-9e0f-e369e6add55c">
<name>EnterpriseData_1_6_20</name>
<name>EnterpriseData_1_6_21</name>
<synonym>
<key>ru</key>
<value>EnterpriseData 1.6.20</value>
<value>EnterpriseData 1.6.21</value>
</synonym>
<namespace>http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6</namespace>
</mdclass:XDTOPackage>
@@ -6217,8 +6217,15 @@
<property name="СводныйКомиссионный" type="xs:boolean" lowerBound="0"/>
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="ДокументыОснования" type="d3p1:Документ.СчетФактураПолученный.ДокументыОснования"/>
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="Авансы" type="d3p1:Документ.СчетФактураПолученный.Авансы" lowerBound="0"/>
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="Продавцы" type="d3p1:Документ.СчетФактураПолученный.Продавцы" lowerBound="0"/>
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="СчетаФактурыВыданныеПокупателям" type="d3p1:Документ.СчетФактураПолученный.СчетаФактурыВыданныеПокупателям" lowerBound="0"/>
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="ДополнительныеРеквизиты" type="d3p1:ДополнительныеРеквизиты" lowerBound="0"/>
<property name="ИННКонтрагента" lowerBound="0">
<typeDef xsi:type="ValueType" base="xs:string" maxLength="12"/>
</property>
<property name="КППКонтрагента" lowerBound="0">
<typeDef xsi:type="ValueType" base="xs:string" maxLength="9"/>
</property>
</objectType>
<objectType name="Документ.СчетФактураПолученный.Авансы">
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="Строка" type="d3p1:Документ.СчетФактураПолученный.Авансы.Строка" lowerBound="0" upperBound="-1"/>
@@ -6228,6 +6235,18 @@
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="СтавкаНДС" type="d3p1:СтавкиНДС" lowerBound="0"/>
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="СуммаНДС" type="d3p1:ТипСумма" lowerBound="0"/>
</objectType>
<objectType name="Документ.СчетФактураПолученный.Продавцы">
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="Строка" type="d3p1:Документ.СчетФактураПолученный.Продавцы.Строка" lowerBound="0" upperBound="-1"/>
</objectType>
<objectType name="Документ.СчетФактураПолученный.Продавцы.Строка" open="true" sequenced="true">
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="Продавец" type="d3p1:КлючевыеСвойстваКонтрагент" nillable="false"/>
<property name="ИННПродавца" lowerBound="0">
<typeDef xsi:type="ValueType" base="xs:string" maxLength="12"/>
</property>
<property name="КПППродавца" lowerBound="0">
<typeDef xsi:type="ValueType" base="xs:string" maxLength="9"/>
</property>
</objectType>
<objectType name="Документ.СчетФактураПолученный.ДокументыОснования">
<property xmlns:d3p1="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.6" name="Строка" type="d3p1:Документ.СчетФактураПолученный.ДокументыОснования.Строка" upperBound="-1"/>
</objectType>
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:XDTOPackage xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b6d891e4-15d6-4b40-b474-a8a1d10231e8">
<name>EnterpriseData_1_7_4</name>
<synonym>
<key>ru</key>
<value>EnterpriseData 1.7.4</value>
</synonym>
<namespace>http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.7</namespace>
</mdclass:XDTOPackage>
File diff suppressed because it is too large. Load diff