diff --git a/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Module.bsl
index 05b29ae5d..f27fe1bcd 100644
--- a/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Module.bsl
+++ b/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Module.bsl
@@ -8,6 +8,8 @@
Возврат;
КонецЕсли;
+ Элементы.Валюты.РежимВыбора = Параметры.РежимВыбора;
+
ДатаКурса = НачалоДня(ТекущаяДатаСеанса());
Список.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ДатаКурса", ДатаКурса);
@@ -23,16 +25,18 @@
Элементы.ФормаЗагрузитьКурсыВалют.Видимость = Ложь;
КонецЕсли;
- ДоступнаЗагрузкаКурсов = Метаданные.Обработки.Найти("ЗагрузкаКурсовВалют") <> Неопределено;
+ ДоступноИзменениеВалют = ПравоДоступа("Изменение", Метаданные.РегистрыСведений.КурсыВалют);
+ ДоступнаЗагрузкаКурсов = Метаданные.Обработки.Найти("ЗагрузкаКурсовВалют") <> Неопределено И ДоступноИзменениеВалют;
Элементы.ФормаПодборИзКлассификатора.Видимость = ДоступнаЗагрузкаКурсов;
+ Элементы.ФормаЗагрузитьКурсыВалют.Видимость = ДоступнаЗагрузкаКурсов;
Если Не ДоступнаЗагрузкаКурсов Тогда
- Элементы.СоздатьВалюту.Заголовок = НСтр("ru = 'Создать'");
+ Если ДоступноИзменениеВалют Тогда
+ Элементы.СоздатьВалюту.Заголовок = НСтр("ru = 'Создать'");
+ КонецЕсли;
Элементы.Создать.Вид = ВидГруппыФормы.ГруппаКнопок;
КонецЕсли;
- Элементы.ФормаЗагрузитьКурсыВалют.Видимость = ДоступнаЗагрузкаКурсов;
-
КонецПроцедуры
&НаКлиенте
diff --git a/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Module.bsl
index 6c491cdd1..5ab4327a1 100644
--- a/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Module.bsl
+++ b/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Module.bsl
@@ -122,6 +122,7 @@
ОписаниеОповещения = Новый ОписаниеОповещения("ПриИзмененииПараметровПрописиВалюты", ЭтотОбъект);
Если ЕстьФормаПрописей Тогда
ПараметрыОткрытия = Новый Структура;
+ ПараметрыОткрытия.Вставить("ТолькоПросмотр", ТолькоПросмотр);
ПараметрыОткрытия.Вставить("ПараметрыПрописи", Объект.ПараметрыПрописи);
ИмяФормыРедактированияПрописей = "Обработка.ЗагрузкаКурсовВалют.Форма.ПараметрыПрописиВалюты";
ОткрытьФорму(ИмяФормыРедактированияПрописей, ПараметрыОткрытия, ЭтотОбъект, , , , ОписаниеОповещения);
diff --git a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаСписка/Module.bsl
index 5d5c7fc51..6dea2d6b9 100644
--- a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаСписка/Module.bsl
+++ b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаСписка/Module.bsl
@@ -44,8 +44,8 @@
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
- ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ВыбраннаяСтрока.Владелец, ВыбраннаяСтрока, УникальныйИдентификатор);
- РаботаСФайламиСлужебныйКлиент.ОткрытьВерсиюФайла(Неопределено, ДанныеФайла, УникальныйИдентификатор);
+ ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ВладелецФайла(ВыбраннаяСтрока), ВыбраннаяСтрока, УникальныйИдентификатор);
+ РаботаСФайламиСлужебныйКлиент.ОткрытьВерсиюФайла(Неопределено, ДанныеФайла, УникальныйИдентификатор);
КонецПроцедуры
@@ -68,3 +68,12 @@
КонецПроцедуры
#КонецОбласти
+
+#Область СлужебныеПроцедурыИФункции
+
+&НаСервереБезКонтекста
+Функция ВладелецФайла(ВыбраннаяСтрока)
+ Возврат ВыбраннаяСтрока.Владелец;
+КонецФункции
+
+#КонецОбласти
\ No newline at end of file
diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Form.form
index 05888abb6..6a688406d 100644
--- a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Form.form
+++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Form.form
@@ -1077,6 +1077,23 @@
true
+
+ ДоступныДополнительныеНастройкиАдреса
+
+ ru
+ Доступны дополнительные настройки адреса
+
+ 3
+
+ Boolean
+
+
+ true
+
+
+ true
+
+
ДополнительныеНастройкиАдреса
diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Module.bsl
index 57da02ac4..0dc01b0c1 100644
--- a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Module.bsl
+++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Module.bsl
@@ -37,11 +37,11 @@
Элементы.ХранитьИсториюИзменений.Доступность = Ложь;
КонецЕсли;
- Если Объект.Тип <> Перечисления.ТипыКонтактнойИнформации.Адрес
- ИЛИ СсылкаРодителя.Пустая()
- ИЛИ СсылкаРодителя.Уровень() > 0 Тогда
- Элементы.ГруппаХранитьИсториюИзменений.Видимость = Ложь;
- Иначе
+ Элементы.ГруппаХранитьИсториюИзменений.Видимость = Ложь;
+
+ Если Объект.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес
+ ИЛИ НЕ СсылкаРодителя.Пустая()
+ ИЛИ СсылкаРодителя.Уровень() = 0 Тогда
ТабличнаяЧасть = Неопределено;
Если СтрНачинаетсяС(СсылкаРодителя.ИмяПредопределенныхДанных, "Справочник") Тогда
ИмяОбъекта = Сред(СсылкаРодителя.ИмяПредопределенныхДанных, 11);
@@ -68,6 +68,9 @@
Иначе
Элементы.ДополнительныеНастройкиАдреса.Видимость = Ложь;
КонецЕсли;
+
+ ДоступныДополнительныеНастройкиАдреса = (Метаданные.Обработки.Найти("РасширенныйВводКонтактнойИнформации") <> Неопределено
+ И Метаданные.Обработки["РасширенныйВводКонтактнойИнформации"].Формы.Найти("НастройкиАдреса") <> Неопределено);
КонецПроцедуры
@@ -192,7 +195,7 @@
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда
Элементы.Проверки.ТекущаяСтраница = Элементы.Проверки.ПодчиненныеЭлементы.Адрес;
Элементы.РедактированиеТолькоВДиалоге.Доступность = Объект.МожноИзменятьСпособРедактирования;
- Элементы.ДополнительныеНастройкиАдреса.Видимость = Истина;
+ Элементы.ДополнительныеНастройкиАдреса.Видимость = ДоступныДополнительныеНастройкиАдреса;
Иначе
Элементы.ДополнительныеНастройкиАдреса.Видимость = Ложь;
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
@@ -219,16 +222,22 @@
&НаКлиенте
Процедура ИзменитьРеквизитыПриИзмененииТипа()
+
Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда
-
- ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
- Объект.РедактированиеТолькоВДиалоге = Ложь;
-
- ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон")
- Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда
- // Нет изменений
+ Элементы.ХранитьИсториюИзменений.Доступность = Истина;
Иначе
- Объект.РедактированиеТолькоВДиалоге = Ложь;
+
+ Объект.ХранитьИсториюИзменений = Ложь;
+ Элементы.ХранитьИсториюИзменений.Доступность = Ложь;
+
+ Если Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
+ Объект.РедактированиеТолькоВДиалоге = Ложь;
+ ИначеЕсли Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон")
+ Или Объект.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Факс") Тогда
+ // Нет изменений
+ Иначе
+ Объект.РедактированиеТолькоВДиалоге = Ложь;
+ КонецЕсли;
КонецЕсли;
КонецПроцедуры
diff --git a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Module.bsl
index 478440c2f..c12953ede 100644
--- a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Module.bsl
+++ b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Module.bsl
@@ -124,11 +124,11 @@
Если Не ПользователиСлужебныйПовтИсп.Настройки().ОбщиеНастройкиВхода Тогда
Элементы.ГруппаИзменитьОграничение.Видимость = Ложь;
- Элементы.ПотребоватьСменуПароляПриВходе.Видимость = Ложь;
- Иначе
- Элементы.ПотребоватьСменуПароляПриВходе.РасширеннаяПодсказка.Заголовок = ПодсказкаПотребоватьСменуПароляПриВходе();
КонецЕсли;
+ Элементы.ПотребоватьСменуПароляПриВходе.РасширеннаяПодсказка.Заголовок =
+ ПользователиСлужебный.ПодсказкаПотребоватьСменуПароляПриВходе(Истина);
+
КонецПроцедуры
&НаКлиенте
@@ -966,34 +966,6 @@
КонецПроцедуры
-&НаСервере
-Функция ПодсказкаПотребоватьСменуПароляПриВходе()
- ЭтоПолноправныйПользователь = Пользователи.ЭтоПолноправныйПользователь(, Ложь);
-
- Подсказка = Новый Массив;
- Подсказка.Добавить(НСтр("ru = 'Требования к длине и сложности пароля задаются отдельно.'"));
- Подсказка.Добавить(Символы.ПС);
- Подсказка.Добавить(НСтр("ru = 'См.'"));
- Подсказка.Добавить(" ");
-
- Ссылка = НСтр("ru = 'Настройки входа внешних пользователей'");
- Если ЭтоПолноправныйПользователь Тогда
- Ссылка = Новый ФорматированнаяСтрока(Ссылка,,,, "НастройкиВходаПользователей");
- КонецЕсли;
- Подсказка.Добавить(Ссылка);
-
- Если ЭтоПолноправныйПользователь
- И Метаданные.Подсистемы.Найти("Администрирование") <> Неопределено Тогда
- Подсказка.Добавить(" ");
- Подсказка.Добавить(НСтр("ru = 'в разделе Администрирование,
- |пункт Настройки прав и пользователей.'"));
- Иначе
- Подсказка.Добавить(".");
- КонецЕсли;
-
- Возврат Новый ФорматированнаяСтрока(Подсказка);
-КонецФункции
-
////////////////////////////////////////////////////////////////////////////////
// Поддержка дополнительных реквизитов.
@@ -1351,6 +1323,7 @@
Элементы.ПользовательИБАутентификацияOpenID.ТолькоПросмотр = Не УровеньДоступа.НастройкиДляВхода;
Элементы.УстановитьРолиНепосредственно.ТолькоПросмотр = Не УровеньДоступа.НастройкиДляВхода;
+ Элементы.ПотребоватьСменуПароляПриВходе.ТолькоПросмотр = Не УровеньДоступа.УправлениеСписком;
Элементы.ПользовательИБЗапрещеноИзменятьПароль.ТолькоПросмотр = Не УровеньДоступа.УправлениеСписком;
Элементы.СменитьПароль.Доступность =
diff --git a/SSL/src/Catalogs/ГруппыДоступа/ManagerModule.bsl b/SSL/src/Catalogs/ГруппыДоступа/ManagerModule.bsl
index 553f5053c..b8a948e76 100644
--- a/SSL/src/Catalogs/ГруппыДоступа/ManagerModule.bsl
+++ b/SSL/src/Catalogs/ГруппыДоступа/ManagerModule.bsl
@@ -59,11 +59,12 @@
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
- | ГруппыДоступа.Ссылка
+ | ГруппыДоступа.Ссылка КАК Ссылка
|ИЗ
| Справочник.ГруппыДоступа КАК ГруппыДоступа
|ГДЕ
- | ГруппыДоступа.Профиль.ПометкаУдаления
+ | ГруппыДоступа.Профиль <> ЗНАЧЕНИЕ(Справочник.ПрофилиГруппДоступа.Администратор)
+ | И ГруппыДоступа.Профиль.ПометкаУдаления
| И НЕ ГруппыДоступа.ПометкаУдаления
| И НЕ ГруппыДоступа.Предопределенный";
@@ -72,7 +73,11 @@
Пока Выборка.Следующий() Цикл
ГруппаДоступаОбъект = Выборка.Ссылка.ПолучитьОбъект();
ГруппаДоступаОбъект.ПометкаУдаления = Истина;
- ГруппаДоступаОбъект.Записать();
+ ОбновлениеИнформационнойБазы.ЗаписатьОбъект(ГруппаДоступаОбъект);
+ РегистрыСведений.ТаблицыГруппДоступа.ОбновитьДанныеРегистра(Выборка.Ссылка);
+ РегистрыСведений.ЗначенияГруппДоступа.ОбновитьДанныеРегистра(Выборка.Ссылка);
+ ПользователиДляОбновления = ПользователиДляОбновленияРолей(Неопределено, ГруппаДоступаОбъект);
+ УправлениеДоступом.ОбновитьРолиПользователей(ПользователиДляОбновления);
ЕстьИзменения = Истина;
КонецЦикла;
@@ -181,11 +186,15 @@
КонецЕсли;
Если ГруппаДоступа.Модифицированность() Тогда
- ЗаблокироватьДанныеДляРедактирования(ГруппаДоступа.Ссылка, ГруппаДоступа.ВерсияДанных);
+ Если Не ОбновлениеИнформационнойБазы.ВыполняетсяОбновлениеИнформационнойБазы() Тогда
+ ЗаблокироватьДанныеДляРедактирования(ГруппаДоступа.Ссылка, ГруппаДоступа.ВерсияДанных);
+ КонецЕсли;
ГруппаДоступа.ДополнительныеСвойства.Вставить("НеОбновлятьРолиПользователей");
- ГруппаДоступа.Записать();
+ ОбновлениеИнформационнойБазы.ЗаписатьОбъект(ГруппаДоступа);
ГруппаДоступаОбновлена = Истина;
- РазблокироватьДанныеДляРедактирования(ГруппаДоступа.Ссылка);
+ Если Не ОбновлениеИнформационнойБазы.ВыполняетсяОбновлениеИнформационнойБазы() Тогда
+ РазблокироватьДанныеДляРедактирования(ГруппаДоступа.Ссылка);
+ КонецЕсли;
КонецЕсли;
КонецЦикла;
@@ -235,6 +244,232 @@
КонецФункции
+Функция ИзменилисьВидыИлиЗначенияДоступа(СтарыеЗначения, ТекущийОбъект) Экспорт
+
+ Если СтарыеЗначения.Ссылка <> ТекущийОбъект.Ссылка Тогда
+ Возврат Истина;
+ КонецЕсли;
+
+ ВидыДоступа = СтарыеЗначения.ВидыДоступа.Выгрузить();
+ ЗначенияДоступа = СтарыеЗначения.ЗначенияДоступа.Выгрузить();
+
+ Если ВидыДоступа.Количество() <> ТекущийОбъект.ВидыДоступа.Количество()
+ Или ЗначенияДоступа.Количество() <> ТекущийОбъект.ЗначенияДоступа.Количество() Тогда
+
+ Возврат Истина;
+ КонецЕсли;
+
+ Отбор = Новый Структура("ВидДоступа, ВсеРазрешены");
+ Для Каждого Строка Из ТекущийОбъект.ВидыДоступа Цикл
+ ЗаполнитьЗначенияСвойств(Отбор, Строка);
+ Если ВидыДоступа.НайтиСтроки(Отбор).Количество() = 0 Тогда
+ Возврат Истина;
+ КонецЕсли;
+ КонецЦикла;
+
+ Отбор = Новый Структура("ВидДоступа, ЗначениеДоступа");
+ Для Каждого Строка Из ТекущийОбъект.ЗначенияДоступа Цикл
+ ЗаполнитьЗначенияСвойств(Отбор, Строка);
+ Если ЗначенияДоступа.НайтиСтроки(Отбор).Количество() = 0 Тогда
+ Возврат Истина;
+ КонецЕсли;
+ КонецЦикла;
+
+ Возврат Ложь;
+
+КонецФункции
+
+Функция ПользователиДляОбновленияРолей(СтарыеЗначения, ЭлементДанных) Экспорт
+
+ Если СтарыеЗначения = Неопределено Тогда
+ СтарыеЗначения = Новый Структура("Ссылка, Профиль, ПометкаУдаления")
+ КонецЕсли;
+
+ // Обновление ролей для добавленных, оставшихся и удаленных пользователей.
+ Запрос = Новый Запрос;
+
+ Запрос.УстановитьПараметр("НовыеУчастники", ?(ТипЗнч(ЭлементДанных) <> Тип("УдалениеОбъекта"),
+ ЭлементДанных.Пользователи.ВыгрузитьКолонку("Пользователь"), Новый Массив));
+
+ Запрос.УстановитьПараметр("СтарыеУчастники", ?(ЭлементДанных.Ссылка = СтарыеЗначения.Ссылка,
+ СтарыеЗначения.Пользователи.Выгрузить().ВыгрузитьКолонку("Пользователь"), Новый Массив));
+
+ Если ТипЗнч(ЭлементДанных) = Тип("УдалениеОбъекта")
+ Или ЭлементДанных.Профиль <> СтарыеЗначения.Профиль
+ Или ЭлементДанных.ПометкаУдаления <> СтарыеЗначения.ПометкаУдаления Тогда
+
+ // Выбор всех новых и старых участников группы доступа.
+ Запрос.Текст =
+ "ВЫБРАТЬ РАЗЛИЧНЫЕ
+ | СоставыГруппПользователей.Пользователь КАК Пользователь
+ |ИЗ
+ | РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
+ |ГДЕ
+ | (СоставыГруппПользователей.ГруппаПользователей В (&СтарыеУчастники)
+ | ИЛИ СоставыГруппПользователей.ГруппаПользователей В (&НовыеУчастники))";
+ Иначе
+ // Выбор изменений участников группы доступа.
+ Запрос.Текст =
+ "ВЫБРАТЬ
+ | Данные.Пользователь КАК Пользователь
+ |ИЗ
+ | (ВЫБРАТЬ РАЗЛИЧНЫЕ
+ | СоставыГруппПользователей.Пользователь КАК Пользователь,
+ | -1 КАК ВидИзмененияСтроки
+ | ИЗ
+ | РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
+ | ГДЕ
+ | СоставыГруппПользователей.ГруппаПользователей В(&СтарыеУчастники)
+ |
+ | ОБЪЕДИНИТЬ ВСЕ
+ |
+ | ВЫБРАТЬ РАЗЛИЧНЫЕ
+ | СоставыГруппПользователей.Пользователь,
+ | 1
+ | ИЗ
+ | РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
+ | ГДЕ
+ | СоставыГруппПользователей.ГруппаПользователей В(&НовыеУчастники)) КАК Данные
+ |
+ |СГРУППИРОВАТЬ ПО
+ | Данные.Пользователь
+ |
+ |ИМЕЮЩИЕ
+ | СУММА(Данные.ВидИзмененияСтроки) <> 0";
+ КонецЕсли;
+
+ Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Пользователь");
+
+КонецФункции
+
+Функция ПользователиДляОбновленияРолейПоПрофилю(Профили) Экспорт
+
+ Запрос = Новый Запрос;
+ Запрос.УстановитьПараметр("Профили", Профили);
+
+ Запрос.Текст =
+ "ВЫБРАТЬ РАЗЛИЧНЫЕ
+ | СоставыГруппПользователей.Пользователь КАК Пользователь
+ |ИЗ
+ | РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
+ | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
+ | ПО СоставыГруппПользователей.ГруппаПользователей = ГруппыДоступаПользователи.Пользователь
+ | И (ГруппыДоступаПользователи.Ссылка.Профиль В (&Профили))";
+
+ Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Пользователь");
+
+КонецФункции
+
+Функция ГруппыДоступаПрофиля(Профили) Экспорт
+
+ Запрос = Новый Запрос;
+ Запрос.УстановитьПараметр("Профили", Профили);
+ Запрос.Текст =
+ "ВЫБРАТЬ
+ | ГруппыДоступа.Ссылка КАК Ссылка
+ |ИЗ
+ | Справочник.ГруппыДоступа КАК ГруппыДоступа
+ |ГДЕ
+ | ГруппыДоступа.Профиль В(&Профили)
+ | И НЕ ГруппыДоступа.ЭтоГруппа";
+ РезультатЗапроса = Запрос.Выполнить();
+
+
+ Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
+
+КонецФункции
+
+Процедура ЗарегистрироватьСсылки(ВидСсылок, ДобавляемыеСсылки) Экспорт
+
+ Если ОбщегоНазначения.РазделениеВключено() Тогда
+ Возврат;
+ КонецЕсли;
+
+ СвойстваВидаСсылок = СвойстваВидаСсылок(ВидСсылок);
+
+ УстановитьПривилегированныйРежим(Истина);
+ Ссылки = СтандартныеПодсистемыСервер.ПараметрРаботыПрограммы(
+ СвойстваВидаСсылок.ИмяПараметраРаботыПрограммы);
+ УстановитьПривилегированныйРежим(Ложь);
+
+ Если ТипЗнч(Ссылки) <> Тип("Массив") Тогда
+ Ссылки = Новый Массив;
+ КонецЕсли;
+
+ ЕстьИзменения = Ложь;
+ Если ДобавляемыеСсылки = Null Тогда
+ Если Ссылки.Количество() > 0 Тогда
+ Ссылки = Новый Массив;
+ ЕстьИзменения = Истина;
+ КонецЕсли;
+
+ ИначеЕсли Ссылки.Количество() = 1
+ И Ссылки[0] = Неопределено Тогда
+
+ Возврат; // Ранее было добавлено более 300 ссылок.
+ Иначе
+ Если ТипЗнч(ДобавляемыеСсылки) <> Тип("Массив") Тогда
+ ДобавляемыеСсылки = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ДобавляемыеСсылки);
+ КонецЕсли;
+ Для Каждого ДобавляемаяСсылка Из ДобавляемыеСсылки Цикл
+ Если Ссылки.Найти(ДобавляемаяСсылка) <> Неопределено Тогда
+ Продолжить;
+ КонецЕсли;
+ Ссылки.Добавить(ДобавляемаяСсылка);
+ ЕстьИзменения = Истина;
+ КонецЦикла;
+ Если Ссылки.Количество() > 300 Тогда
+ Ссылки = Новый Массив;
+ Ссылки.Добавить(Неопределено);
+ ЕстьИзменения = Истина;
+ КонецЕсли;
+ КонецЕсли;
+
+ Если Не ЕстьИзменения Тогда
+ Возврат;
+ КонецЕсли;
+
+ УстановитьПривилегированныйРежим(Истина);
+ СтандартныеПодсистемыСервер.УстановитьПараметрРаботыПрограммы(
+ СвойстваВидаСсылок.ИмяПараметраРаботыПрограммы, Ссылки);
+ УстановитьПривилегированныйРежим(Ложь);
+
+КонецПроцедуры
+
+Функция ЗарегистрированныеСсылки(ВидСсылок) Экспорт
+
+ Если ОбщегоНазначения.РазделениеВключено() Тогда
+ Возврат Новый Массив;
+ КонецЕсли;
+
+ СвойстваВидаСсылок = СвойстваВидаСсылок(ВидСсылок);
+
+ УстановитьПривилегированныйРежим(Истина);
+ Ссылки = СтандартныеПодсистемыСервер.ПараметрРаботыПрограммы(
+ СвойстваВидаСсылок.ИмяПараметраРаботыПрограммы);
+ УстановитьПривилегированныйРежим(Ложь);
+
+ Если ТипЗнч(Ссылки) <> Тип("Массив") Тогда
+ Ссылки = Новый Массив;
+ КонецЕсли;
+
+ Если Ссылки.Количество() = 1
+ И Ссылки[0] = Неопределено Тогда
+
+ Возврат Ссылки;
+ КонецЕсли;
+
+ ПроверенныеСсылки = Новый Массив;
+ Для Каждого Ссылка Из Ссылки Цикл
+ Если СвойстваВидаСсылок.ДопустимыеТипы.СодержитТип(ТипЗнч(Ссылка)) Тогда
+ ПроверенныеСсылки.Добавить(Ссылка);
+ КонецЕсли;
+ КонецЦикла;
+
+ Возврат ПроверенныеСсылки;
+
+КонецФункции
+
////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции для поддержки обмена данными в РИБ.
@@ -297,6 +532,174 @@
КонецПроцедуры
+
+// Только для внутреннего использования.
+Процедура ЗарегистрироватьГруппуДоступаИзмененнуюПриЗагрузке(ЭлементДанных) Экспорт
+
+ СтарыеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЭлементДанных.Ссылка,
+ "Ссылка, Профиль, ПометкаУдаления, Пользователи, ВидыДоступа, ЗначенияДоступа");
+
+ ТребуетсяРегистрация = Ложь;
+ ГруппаДоступа = ЭлементДанных.Ссылка;
+
+ Если ТипЗнч(ЭлементДанных) = Тип("УдалениеОбъекта") Тогда
+ ТребуетсяРегистрация = Истина;
+
+ ИначеЕсли СтарыеЗначения.Ссылка <> ЭлементДанных.Ссылка Тогда
+ ТребуетсяРегистрация = Истина;
+ ГруппаДоступа = ПользователиСлужебный.СсылкаОбъекта(ЭлементДанных);
+
+ ИначеЕсли ЭлементДанных.ПометкаУдаления <> СтарыеЗначения.ПометкаУдаления
+ Или ЭлементДанных.Профиль <> СтарыеЗначения.Профиль Тогда
+
+ ТребуетсяРегистрация = Истина;
+ Иначе
+ НаличиеУчастников = ЭлементДанных.Пользователи.Количество() <> 0;
+ СтароеНаличиеУчастников = Не СтарыеЗначения.Пользователи.Пустой();
+
+ Если НаличиеУчастников <> СтароеНаличиеУчастников
+ Или ИзменилисьВидыИлиЗначенияДоступа(СтарыеЗначения, ЭлементДанных) Тогда
+
+ ТребуетсяРегистрация = Истина;
+ КонецЕсли;
+ КонецЕсли;
+
+ Если ТребуетсяРегистрация Тогда
+ ЗарегистрироватьСсылки("ГруппыДоступа", ГруппаДоступа);
+ КонецЕсли;
+
+ ПользователиДляОбновления = ПользователиДляОбновленияРолей(СтарыеЗначения, ЭлементДанных);
+
+ ЗарегистрироватьСсылки("Пользователи", ПользователиДляОбновления);
+
+КонецПроцедуры
+
+// Только для внутреннего использования.
+Процедура ОбновитьВспомогательныеДанныеГруппДоступаИзмененныхПриЗагрузке() Экспорт
+
+ Если ОбщегоНазначения.РазделениеВключено() Тогда
+ // Изменения групп доступа в АРМ заблокированы и не загружаются в область данных.
+ Возврат;
+ КонецЕсли;
+
+ ИзмененныеГруппыДоступа = ЗарегистрированныеСсылки("ГруппыДоступа");
+ Если ИзмененныеГруппыДоступа.Количество() = 0 Тогда
+ Возврат;
+ КонецЕсли;
+
+ Если ИзмененныеГруппыДоступа.Количество() = 1
+ И ИзмененныеГруппыДоступа[0] = Неопределено Тогда
+
+ РегистрыСведений.ТаблицыГруппДоступа.ОбновитьДанныеРегистра();
+ РегистрыСведений.ЗначенияГруппДоступа.ОбновитьДанныеРегистра();
+ Иначе
+ РегистрыСведений.ТаблицыГруппДоступа.ОбновитьДанныеРегистра(ИзмененныеГруппыДоступа);
+ РегистрыСведений.ЗначенияГруппДоступа.ОбновитьДанныеРегистра(ИзмененныеГруппыДоступа);
+ КонецЕсли;
+
+ ЗарегистрироватьСсылки("ГруппыДоступа", Null);
+
+КонецПроцедуры
+
+// Только для внутреннего использования.
+Процедура ЗарегистрироватьПользователейГруппыПользователейИзмененнойПриЗагрузке(ЭлементДанных) Экспорт
+
+ СтарыеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЭлементДанных.Ссылка,
+ "Ссылка, ПометкаУдаления, Состав");
+
+ ИмяРеквизита = ?(ТипЗнч(ЭлементДанных.Ссылка) = Тип("СправочникСсылка.ГруппыВнешнихПользователей"),
+ "ВнешнийПользователь", "Пользователь");
+
+ Если СтарыеЗначения.Ссылка = ЭлементДанных.Ссылка Тогда
+ СтарыеПользователи = СтарыеЗначения.Состав.Выгрузить().ВыгрузитьКолонку(ИмяРеквизита);
+ Иначе
+ СтарыеПользователи = Новый Массив;
+ КонецЕсли;
+
+ Если ТипЗнч(ЭлементДанных) = Тип("УдалениеОбъекта") Тогда
+ ПользователиДляОбновления = СтарыеПользователи;
+ Иначе
+ НовыеПользователи = ЭлементДанных.Состав.ВыгрузитьКолонку(ИмяРеквизита);
+
+ Если СтарыеЗначения.Ссылка <> ЭлементДанных.Ссылка Тогда
+ ПользователиДляОбновления = НовыеПользователи;
+ Иначе
+ ПользователиДляОбновления = Новый Массив;
+ Все = ЭлементДанных.ПометкаУдаления <> СтарыеЗначения.ПометкаУдаления;
+
+ Для Каждого Пользователь Из СтарыеПользователи Цикл
+ Если Все Или НовыеПользователи.Найти(Пользователь) = Неопределено Тогда
+ ПользователиДляОбновления.Добавить(Пользователь);
+ КонецЕсли;
+ КонецЦикла;
+
+ Для Каждого Пользователь Из НовыеПользователи Цикл
+ Если Все Или СтарыеПользователи.Найти(Пользователь) = Неопределено Тогда
+ ПользователиДляОбновления.Добавить(Пользователь);
+ КонецЕсли;
+ КонецЦикла;
+ КонецЕсли;
+ КонецЕсли;
+
+ ЗарегистрироватьСсылки("Пользователи", ПользователиДляОбновления);
+
+КонецПроцедуры
+
+// Только для внутреннего использования.
+Процедура ЗарегистрироватьПользователяИзмененногоПриЗагрузке(ЭлементДанных) Экспорт
+
+ СтарыеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЭлементДанных.Ссылка,
+ "Ссылка, ПометкаУдаления, Недействителен");
+
+ ТребуетсяРегистрация = Ложь;
+ Пользователь = ЭлементДанных.Ссылка;
+
+ Если ТипЗнч(ЭлементДанных) = Тип("УдалениеОбъекта") Тогда
+ ТребуетсяРегистрация = Истина;
+
+ ИначеЕсли СтарыеЗначения.Ссылка <> ЭлементДанных.Ссылка Тогда
+ ТребуетсяРегистрация = Истина;
+ Пользователь = ПользователиСлужебный.СсылкаОбъекта(ЭлементДанных);
+
+ ИначеЕсли ЭлементДанных.Недействителен <> СтарыеЗначения.Недействителен
+ Или ЭлементДанных.ПометкаУдаления <> СтарыеЗначения.ПометкаУдаления Тогда
+
+ ТребуетсяРегистрация = Истина;
+ КонецЕсли;
+
+ Если Не ТребуетсяРегистрация Тогда
+ Возврат;
+ КонецЕсли;
+
+ ЗарегистрироватьСсылки("Пользователи", Пользователь);
+
+КонецПроцедуры
+
+// Только для внутреннего использования.
+Процедура ОбновитьРолиПользователейИзмененныхПриЗагрузке() Экспорт
+
+ Если ОбщегоНазначения.РазделениеВключено() Тогда
+ // Изменения профилей в АРМ заблокированы и не загружаются в область данных.
+ Возврат;
+ КонецЕсли;
+
+ ИзмененныеПользователи = ЗарегистрированныеСсылки("Пользователи");
+ Если ИзмененныеПользователи.Количество() = 0 Тогда
+ Возврат;
+ КонецЕсли;
+
+ Если ИзмененныеПользователи.Количество() = 1
+ И ИзмененныеПользователи[0] = Неопределено Тогда
+
+ УправлениеДоступом.ОбновитьРолиПользователей();
+ Иначе
+ УправлениеДоступом.ОбновитьРолиПользователей(ИзмененныеПользователи);
+ КонецЕсли;
+
+ ЗарегистрироватьСсылки("Пользователи", Null);
+
+КонецПроцедуры
+
////////////////////////////////////////////////////////////////////////////////
// Обновление информационной базы.
@@ -310,6 +713,118 @@
КонецПроцедуры
+Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
+
+ Запрос = Новый Запрос;
+ Запрос.Текст =
+ "ВЫБРАТЬ
+ | ГруппыДоступа.Ссылка КАК Ссылка
+ |ИЗ
+ | Справочник.ГруппыДоступа КАК ГруппыДоступа";
+
+ ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры,
+ Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
+
+КонецПроцедуры
+
+Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
+
+ ОбработкаЗавершена = Истина;
+
+ Выборка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, "Справочник.ГруппыДоступа");
+
+ ОбъектовОбработано = 0;
+ ПроблемныхОбъектов = 0;
+
+ Пока Выборка.Следующий() Цикл
+ Попытка
+ РегистрыСведений.ТаблицыГруппДоступа.ОбновитьДанныеРегистра(Выборка.Ссылка);
+ Исключение
+ ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
+ ИнформацияОбОшибке = ИнформацияОбОшибке();
+
+ ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
+ НСтр("ru = 'Не удалось обновить таблицы группы доступа ""%1"" по причине:
+ |%2'"),
+ Строка(Выборка.Ссылка),
+ ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
+ ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
+ УровеньЖурналаРегистрации.Предупреждение, , , ТекстСообщения);
+ Продолжить;
+ КонецПопытки;
+
+ Попытка
+ РегистрыСведений.ЗначенияГруппДоступа.ОбновитьДанныеРегистра(Выборка.Ссылка);
+ Исключение
+ ПроблемныхОбъектов = ПроблемныхОбъектов + 1;
+ ИнформацияОбОшибке = ИнформацияОбОшибке();
+
+ ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
+ НСтр("ru = 'Не удалось обновить значения доступа группы доступа ""%1"" по причине:
+ |%2'"),
+ Строка(Выборка.Ссылка),
+ ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
+ ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
+ УровеньЖурналаРегистрации.Предупреждение, , , ТекстСообщения);
+ Продолжить;
+ КонецПопытки;
+
+ ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(Выборка.Ссылка);
+ ОбъектовОбработано = ОбъектовОбработано + 1;
+ КонецЦикла;
+
+ Если Не ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, "Справочник.ГруппыДоступа") Тогда
+ ОбработкаЗавершена = Ложь;
+ КонецЕсли;
+
+ Если ОбъектовОбработано = 0 И ПроблемныхОбъектов <> 0 Тогда
+ ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
+ НСтр("ru = 'Процедуре Справочники.ГруппыДоступа.ОбработатьДанныеДляПереходаНаНовуюВерсию не удалось
+ |обновить вспомогательные данные некоторых групп доступа (пропущены): %1'"),
+ ПроблемныхОбъектов);
+
+ ВызватьИсключение ТекстСообщения;
+ Иначе
+ ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
+ УровеньЖурналаРегистрации.Информация,
+ Метаданные.НайтиПоПолномуИмени("Справочник.ГруппыДоступа"),,
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
+ НСтр("ru = 'Процедура Справочники.ГруппыДоступа.ОбработатьДанныеДляПереходаНаНовуюВерсию
+ |обработала очередную порцию групп доступа: %1'"),
+ ОбъектовОбработано));
+ КонецЕсли;
+
+ Параметры.ОбработкаЗавершена = ОбработкаЗавершена;
+
+КонецПроцедуры
+
+////////////////////////////////////////////////////////////////////////////////
+// Вспомогательные процедуры и функции.
+
+// Для функции ЗарегистрированныеСсылки и процедуры ЗарегистрироватьСсылки.
+Функция СвойстваВидаСсылок(ВидСсылок)
+
+ Если ВидСсылок = "Профили" Тогда
+ ДопустимыеТипы = Новый ОписаниеТипов("СправочникСсылка.ПрофилиГруппДоступа");
+ ИмяПараметраРаботыПрограммы = "СтандартныеПодсистемы.УправлениеДоступом.ПрофилиИзмененныеПриЗагрузке";
+
+ ИначеЕсли ВидСсылок = "ГруппыДоступа" Тогда
+ ДопустимыеТипы = Новый ОписаниеТипов("СправочникСсылка.ГруппыДоступа");
+ ИмяПараметраРаботыПрограммы = "СтандартныеПодсистемы.УправлениеДоступом.ГруппыДоступаИзмененныеПриЗагрузке";
+
+ ИначеЕсли ВидСсылок = "Пользователи" Тогда
+ ДопустимыеТипы = Новый ОписаниеТипов("СправочникСсылка.Пользователи,СправочникСсылка.ВнешниеПользователи");
+ ИмяПараметраРаботыПрограммы = "СтандартныеПодсистемы.УправлениеДоступом.ПользователиИзмененныеПриЗагрузке";
+ Иначе
+ ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
+ НСтр("ru = 'Недопустимое значение ""%1"" параметра ВидСсылок функции СвойстваВидаСсылок.'"),
+ ВидСсылок);
+ КонецЕсли;
+
+ Возврат Новый Структура("ДопустимыеТипы, ИмяПараметраРаботыПрограммы", ДопустимыеТипы, ИмяПараметраРаботыПрограммы);
+
+КонецФункции
+
#КонецОбласти
#КонецЕсли
diff --git a/SSL/src/Catalogs/ГруппыДоступа/ObjectModule.bsl b/SSL/src/Catalogs/ГруппыДоступа/ObjectModule.bsl
index 4e9efa7bb..ccdf0d31c 100644
--- a/SSL/src/Catalogs/ГруппыДоступа/ObjectModule.bsl
+++ b/SSL/src/Catalogs/ГруппыДоступа/ObjectModule.bsl
@@ -2,14 +2,8 @@
#Область ОписаниеПеременных
-Перем СтарыйПрофиль; // Профиль группы доступа до изменения
- // для использования в обработчике события ПриЗаписи.
-
-Перем СтараяПометкаУдаления; // Пометка удаления группы доступа до изменения
- // для использования в обработчике события ПриЗаписи.
-
-Перем СтарыеУчастники; // Участники группы доступа до изменения
- // для использования в обработчике события ПриЗаписи.
+Перем СтарыеЗначения; // Значения некоторых реквизитов и табличных частей группы доступа
+ // до ее изменения для использования в обработчике события ПриЗаписи.
#КонецОбласти
@@ -28,20 +22,8 @@
СтандартныеПодсистемыСервер.ПроверитьДинамическоеОбновлениеВерсииПрограммы();
РегистрыСведений.ПраваРолей.ПроверитьДанныеРегистра();
- Если НЕ ДополнительныеСвойства.Свойство("НеОбновлятьРолиПользователей") Тогда
- Если ЗначениеЗаполнено(Ссылка) Тогда
- СтараяТаблицаПользователи = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Пользователи");
- СтарыеУчастники = СтараяТаблицаПользователи.Выгрузить().ВыгрузитьКолонку("Пользователь");
- Иначе
- СтарыеУчастники = Новый Массив;
- КонецЕсли;
- КонецЕсли;
-
- СтарыеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
- Ссылка, "Профиль, ПометкаУдаления");
-
- СтарыйПрофиль = СтарыеЗначения.Профиль;
- СтараяПометкаУдаления = СтарыеЗначения.ПометкаУдаления;
+ СтарыеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка,
+ "Ссылка, Профиль, ПометкаУдаления, Пользователи, ВидыДоступа, ЗначенияДоступа");
Если Ссылка = Справочники.ГруппыДоступа.Администраторы Тогда
@@ -83,11 +65,11 @@
|у предопределенной группы доступа Администраторы.'");
КонецЕсли;
- Если НЕ ЭтоГруппа Тогда
+ Если Не ЭтоГруппа Тогда
// Автоматическая установка реквизитов для персональной группы доступа.
Если ЗначениеЗаполнено(Пользователь) Тогда
- Родитель = Справочники.ГруппыДоступа.РодительПерсональныхГруппДоступа();
+ Родитель = Справочники.ГруппыДоступа.РодительПерсональныхГруппДоступа();
Иначе
Пользователь = Неопределено;
Если Родитель = Справочники.ГруппыДоступа.РодительПерсональныхГруппДоступа(Истина) Тогда
@@ -97,7 +79,7 @@
// При снятии пометки удаления с группы доступа выполняется
// снятие пометки удаления с профиля этой группы доступа.
- Если НЕ ПометкаУдаления И СтараяПометкаУдаления = Истина Тогда
+ Если Не ПометкаУдаления И СтарыеЗначения.ПометкаУдаления = Истина Тогда
ПометкаУдаленияПрофиля = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Профиль, "ПометкаУдаления");
ПометкаУдаленияПрофиля = ?(ПометкаУдаленияПрофиля = Неопределено, Ложь, ПометкаУдаленияПрофиля);
Если ПометкаУдаленияПрофиля Тогда
@@ -126,35 +108,30 @@
Возврат;
КонецЕсли;
- Если НЕ ДополнительныеСвойства.Свойство("НеОбновлятьРолиПользователей") Тогда
-
- Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда
- МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
- СеансЗапущенБезРазделителей = МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
- Иначе
- СеансЗапущенБезРазделителей = Истина;
- КонецЕсли;
-
- Если ОбщегоНазначения.РазделениеВключено()
- И Ссылка = Справочники.ГруппыДоступа.Администраторы
- И НЕ СеансЗапущенБезРазделителей
- И ДополнительныеСвойства.Свойство("ПарольПользователяСервиса") Тогда
-
- ПарольПользователяСервиса = ДополнительныеСвойства.ПарольПользователяСервиса;
- Иначе
- ПарольПользователяСервиса = Неопределено;
- КонецЕсли;
-
- ОбновитьРолиПользователейПриИзмененииГруппыДоступа(ПарольПользователяСервиса);
+ Если Не ДополнительныеСвойства.Свойство("НеОбновлятьРолиПользователей") Тогда
+ ОбновитьРолиПользователейПриИзмененииГруппыДоступа();
КонецЕсли;
- Если Профиль <> СтарыйПрофиль
- ИЛИ ПометкаУдаления <> СтараяПометкаУдаления Тогда
+ НаличиеУчастников = Пользователи.Количество() <> 0;
+ СтароеНаличиеУчастников = СтарыеЗначения.Ссылка = Ссылка И Не СтарыеЗначения.Пользователи.Пустой();
+
+ Если Профиль <> СтарыеЗначения.Профиль
+ Или ПометкаУдаления <> СтарыеЗначения.ПометкаУдаления
+ Или НаличиеУчастников <> СтароеНаличиеУчастников Тогда
РегистрыСведений.ТаблицыГруппДоступа.ОбновитьДанныеРегистра(Ссылка);
КонецЕсли;
- РегистрыСведений.ЗначенияГруппДоступа.ОбновитьДанныеРегистра(Ссылка);
+ Если Справочники.ГруппыДоступа.ИзменилисьВидыИлиЗначенияДоступа(СтарыеЗначения, ЭтотОбъект)
+ Или ПометкаУдаления <> СтарыеЗначения.ПометкаУдаления
+ Или НаличиеУчастников <> СтароеНаличиеУчастников Тогда
+
+ РегистрыСведений.ЗначенияГруппДоступа.ОбновитьДанныеРегистра(Ссылка);
+ КонецЕсли;
+
+ Справочники.ПрофилиГруппДоступа.ОбновитьВспомогательныеДанныеПрофилейИзмененныхПриЗагрузке();
+ Справочники.ГруппыДоступа.ОбновитьВспомогательныеДанныеГруппДоступаИзмененныхПриЗагрузке();
+ Справочники.ГруппыДоступа.ОбновитьРолиПользователейИзмененныхПриЗагрузке();
КонецПроцедуры
@@ -167,79 +144,38 @@
КонецПроцедуры
-////////////////////////////////////////////////////////////////////////////////
-// Вспомогательные процедуры и функции.
+#КонецОбласти
-Процедура ОбновитьРолиПользователейПриИзмененииГруппыДоступа(ПарольПользователяСервиса)
+#Область СлужебныеПроцедурыИФункции
+
+Процедура ОбновитьРолиПользователейПриИзмененииГруппыДоступа()
+
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда
+ МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
+ СеансЗапущенБезРазделителей = МодульРаботаВМоделиСервиса.СеансЗапущенБезРазделителей();
+ Иначе
+ СеансЗапущенБезРазделителей = Истина;
+ КонецЕсли;
+
+ Если ОбщегоНазначения.РазделениеВключено()
+ И Ссылка = Справочники.ГруппыДоступа.Администраторы
+ И Не СеансЗапущенБезРазделителей
+ И ДополнительныеСвойства.Свойство("ПарольПользователяСервиса") Тогда
+
+ ПарольПользователяСервиса = ДополнительныеСвойства.ПарольПользователяСервиса;
+ Иначе
+ ПарольПользователяСервиса = Неопределено;
+ КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
- // Обновление ролей для добавленных, оставшихся и удаленных пользователей.
- Запрос = Новый Запрос;
- Запрос.УстановитьПараметр("ГруппаДоступа", Ссылка);
- Запрос.УстановитьПараметр("СтарыеУчастники", СтарыеУчастники);
-
- Если Профиль <> СтарыйПрофиль
- ИЛИ ПометкаУдаления <> СтараяПометкаУдаления Тогда
-
- // Выбор всех новых и старых участников группы доступа.
- Запрос.Текст =
- "ВЫБРАТЬ РАЗЛИЧНЫЕ
- | Данные.Пользователь
- |ИЗ
- | (ВЫБРАТЬ РАЗЛИЧНЫЕ
- | СоставыГруппПользователей.Пользователь КАК Пользователь
- | ИЗ
- | РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
- | ГДЕ
- | СоставыГруппПользователей.ГруппаПользователей В(&СтарыеУчастники)
- |
- | ОБЪЕДИНИТЬ ВСЕ
- |
- | ВЫБРАТЬ
- | СоставыГруппПользователей.Пользователь
- | ИЗ
- | Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
- | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
- | ПО ГруппыДоступаПользователи.Пользователь = СоставыГруппПользователей.ГруппаПользователей
- | И (ГруппыДоступаПользователи.Ссылка = &ГруппаДоступа)) КАК Данные";
- Иначе
- // Выбор изменений участников группы доступа.
- Запрос.Текст =
- "ВЫБРАТЬ
- | Данные.Пользователь
- |ИЗ
- | (ВЫБРАТЬ РАЗЛИЧНЫЕ
- | СоставыГруппПользователей.Пользователь КАК Пользователь,
- | -1 КАК ВидИзмененияСтроки
- | ИЗ
- | РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
- | ГДЕ
- | СоставыГруппПользователей.ГруппаПользователей В(&СтарыеУчастники)
- |
- | ОБЪЕДИНИТЬ ВСЕ
- |
- | ВЫБРАТЬ РАЗЛИЧНЫЕ
- | СоставыГруппПользователей.Пользователь,
- | 1
- | ИЗ
- | Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
- | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
- | ПО ГруппыДоступаПользователи.Пользователь = СоставыГруппПользователей.ГруппаПользователей
- | И (ГруппыДоступаПользователи.Ссылка = &ГруппаДоступа)) КАК Данные
- |
- |СГРУППИРОВАТЬ ПО
- | Данные.Пользователь
- |
- |ИМЕЮЩИЕ
- | СУММА(Данные.ВидИзмененияСтроки) <> 0";
- КонецЕсли;
- ПользователиДляОбновления = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Пользователь");
+ ПользователиДляОбновления =
+ Справочники.ГруппыДоступа.ПользователиДляОбновленияРолей(СтарыеЗначения, ЭтотОбъект);
Если Ссылка = Справочники.ГруппыДоступа.Администраторы Тогда
// Добавление пользователей, связанных с пользователямиИБ, имеющих роль ПолныеПрава.
- Для каждого ПользовательИБ Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
+ Для Каждого ПользовательИБ Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
Если ПользовательИБ.Роли.Содержит(Метаданные.Роли.ПолныеПрава) Тогда
НайденныйПользователь = Справочники.Пользователи.НайтиПоРеквизиту(
@@ -266,4 +202,4 @@
#КонецОбласти
-#КонецЕсли
\ No newline at end of file
+#КонецЕсли
diff --git a/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Form.form b/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Form.form
index 56065df65..eafecbba0 100644
--- a/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Form.form
+++ b/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Form.form
@@ -203,6 +203,10 @@
Left
true
+
+ BeforeAddRow
+ СписокПередНачаломДобавления
+
СписокSearchString
48
diff --git a/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Module.bsl b/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Module.bsl
index bfe8bac9d..f0b665c35 100644
--- a/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Module.bsl
+++ b/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Module.bsl
@@ -48,6 +48,19 @@
#КонецОбласти
+#Область ОбработчикиСобытийТаблицыСписок
+
+&НаКлиенте
+Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
+ Если Не Копирование Тогда
+ Отказ = Истина;
+ ПараметрыФормы = Новый Структура("Предмет", Предмет);
+ ОткрытьФорму("Справочник.Заметки.ФормаОбъекта", ПараметрыФормы);
+ КонецЕсли;
+КонецПроцедуры
+
+#КонецОбласти
+
#Область СлужебныеПроцедурыИФункции
&НаСервере
diff --git a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ManagerModule.bsl b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ManagerModule.bsl
index 33aa405b4..8b35b265c 100644
--- a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ManagerModule.bsl
+++ b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ManagerModule.bsl
@@ -560,19 +560,15 @@
ЗаменитьДублиПодчиненногоУзлаНайденныеПриЗагрузке(ТолькоПроверка, ЕстьТекущиеИзменения);
КонецЕсли;
- Если Не ОбъектыРасширений
- Или Не ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда
+ ОбновитьДанные(ЕстьТекущиеИзменения, ЕстьУдаленные, ТолькоПроверка,
+ ЕстьКритичныеИзменения, СписокКритичныхИзменений, ОбъектыРасширений);
- ОбновитьДанные(ЕстьТекущиеИзменения, ЕстьУдаленные, ТолькоПроверка,
- ЕстьКритичныеИзменения, СписокКритичныхИзменений, ОбъектыРасширений);
-
- Если ЕстьТекущиеИзменения Тогда
- ЕстьИзменения = Истина;
- КонецЕсли;
+ Если ЕстьТекущиеИзменения Тогда
+ ЕстьИзменения = Истина;
КонецЕсли;
Если Не ОбъектыРасширений Тогда
- СтандартныеПодсистемыСервер.УстановитьПараметрРаботыПрограммы(
+ СтандартныеПодсистемыСервер.ОбновитьПараметрРаботыПрограммы(
"СтандартныеПодсистемы.ИдентификаторыОбъектовМетаданных", Истина);
КонецЕсли;
@@ -3064,7 +3060,7 @@
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ИдентификаторыОбъектовМетаданных");
Для Каждого ЗаменяемаяСсылка Из ЗаменяемыеСсылки Цикл
- ЭлементБлокировки.УстановитьЗначение(ЗаменяемаяСсылка);
+ ЭлементБлокировки.УстановитьЗначение("Ссылка", ЗаменяемаяСсылка);
КонецЦикла;
НачатьТранзакцию();
Попытка
diff --git a/SSL/src/Catalogs/КлассификаторБанков/Help/ru.html b/SSL/src/Catalogs/КлассификаторБанков/Help/ru.html
index 739904d29..7c49fd2c0 100644
--- a/SSL/src/Catalogs/КлассификаторБанков/Help/ru.html
+++ b/SSL/src/Catalogs/КлассификаторБанков/Help/ru.html
@@ -27,7 +27,6 @@
Банки в списке сгруппированы по регионам, при входе в список видны только регионы банков. Выберите нужный регион для просмотра банков этого региона.
Также можно внутри регионов ввести свою группировку. Для этого нажмите Создать группу, введите наименование группы и перетащите в группу нужные банки с помощью мыши.
Загрузка классификатора банков
-Программа поставляется с загруженным классификатором банков.
diff --git a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Module.bsl
index f907d993a..592e7c545 100644
--- a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Module.bsl
+++ b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Module.bsl
@@ -346,8 +346,7 @@
&НаКлиенте
Процедура ПослеПодключенияИнтернетПоддержки(Результат, ДополнительныеПараметры) Экспорт
Если Не (ТипЗнч(Результат) = Тип("Структура")
- И ЗначениеЗаполнено(Результат.Логин)
- И ЗначениеЗаполнено(Результат.Пароль)) Тогда
+ И ЗначениеЗаполнено(Результат.Логин)) Тогда
Возврат;
КонецЕсли;
ПродолжитьЗагрузкуКурсовВалют();
@@ -362,10 +361,7 @@
Если Не ИспользоватьАльтернативныйСервер Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей") Тогда
МодульИнтернетПоддержкаПользователей = ОбщегоНазначения.ОбщийМодуль("ИнтернетПоддержкаПользователей");
- ДанныеАутентификации = МодульИнтернетПоддержкаПользователей.ДанныеАутентификацииПользователяИнтернетПоддержки();
- Возврат Не (ДанныеАутентификации <> Неопределено
- И ЗначениеЗаполнено(ДанныеАутентификации.Логин)
- И ЗначениеЗаполнено(ДанныеАутентификации.Пароль));
+ Возврат Не МодульИнтернетПоддержкаПользователей.ЗаполненыДанныеАутентификацииПользователяИнтернетПоддержки();
КонецЕсли;
КонецЕсли;
Возврат Ложь;
diff --git a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/ManagerModule.bsl b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/ManagerModule.bsl
index 1054fa62a..7e7d7f69f 100644
--- a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/ManagerModule.bsl
+++ b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/ManagerModule.bsl
@@ -279,8 +279,10 @@
ШаблонИмениФайла = СерверИсточник + "/%1.tsv";
КонецЕсли;
+ УстановитьПривилегированныйРежим(Истина);
ПараметрыПолучения = ПараметрыАутентификацииНаСайте();
- КонецЕсли;
+ УстановитьПривилегированныйРежим(Ложь);
+КонецЕсли;
ВалютыЗагружаемыеИзИнтернета = ВалютыЗагружаемыеИзИнтернета();
diff --git a/SSL/src/DataProcessors/ЗаполнениеКалендарныхГрафиков/Templates/ДанныеПроизводственныхКалендарей/Template.txt b/SSL/src/DataProcessors/ЗаполнениеКалендарныхГрафиков/Templates/ДанныеПроизводственныхКалендарей/Template.txt
index f4a3f6f2e..999ce99b9 100644
--- a/SSL/src/DataProcessors/ЗаполнениеКалендарныхГрафиков/Templates/ДанныеПроизводственныхКалендарей/Template.txt
+++ b/SSL/src/DataProcessors/ЗаполнениеКалендарныхГрафиков/Templates/ДанныеПроизводственныхКалендарей/Template.txt
@@ -6208,4 +6208,369 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SSL/src/DataProcessors/ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата/Forms/ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата/Module.bsl b/SSL/src/DataProcessors/ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата/Forms/ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата/Module.bsl
index b07c188ef..c37cb6264 100644
--- a/SSL/src/DataProcessors/ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата/Forms/ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата/Module.bsl
+++ b/SSL/src/DataProcessors/ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата/Forms/ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата/Module.bsl
@@ -1095,6 +1095,8 @@
Возврат;
КонецЕсли;
+ Элементы.УстановитьСертификат.Доступность = Ложь;
+
УстановитьСертификат(Новый ОписаниеОповещения("ПерейтиНаСтраницуУстановкаСертификатаПослеУстановки", ЭтотОбъект));
КонецПроцедуры
@@ -1102,6 +1104,8 @@
&НаКлиенте
Процедура ПерейтиНаСтраницуУстановкаСертификатаПослеУстановки(Установлен, Контекст) Экспорт
+ Элементы.УстановитьСертификат.Доступность = Истина;
+
ОбновитьДатаУстановкиСертификатаВЗаголовке(ЭтотОбъект);
Если Установлен Тогда
@@ -1188,6 +1192,8 @@
&НаКлиенте
Процедура ЗакрытьПомощникПослеУстановкиСертификата()
+ Элементы.УстановитьСертификат.Доступность = Ложь;
+
УстановитьСертификат(Новый ОписаниеОповещения("ЗакрытьПомощникПослеУстановкиСертификатаЗавершение", ЭтотОбъект));
КонецПроцедуры
@@ -1195,6 +1201,8 @@
&НаКлиенте
Процедура ЗакрытьПомощникПослеУстановкиСертификатаЗавершение(Установлен, Контекст) Экспорт
+ Элементы.УстановитьСертификат.Доступность = Истина;
+
ОбновитьДатаУстановкиСертификатаВЗаголовке(ЭтотОбъект);
Если Не Установлен Тогда
@@ -1339,19 +1347,10 @@
ПроверитьРеквизит(Отказ, "НаименованиеСокращенное");
ПроверитьРеквизит(Отказ, "НаименованиеПолное");
- Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСКонтрагентами") Тогда
- МодульРегламентированныеДанныеКлиентСервер =
- ОбщегоНазначения.ОбщийМодуль("РегламентированныеДанныеКлиентСервер");
- Иначе
- МодульРегламентированныеДанныеКлиентСервер = Неопределено;
- КонецЕсли;
-
Если ПроверитьРеквизит(Отказ, "ИНН") Тогда
ТекстСообщения = "";
- Если МодульРегламентированныеДанныеКлиентСервер <> Неопределено Тогда
- МодульРегламентированныеДанныеКлиентСервер.ИННСоответствуетТребованиям(ИНН,
- Не ЭтоИндивидуальныйПредприниматель, ТекстСообщения);
- КонецЕсли;
+ РегламентированныеДанныеКлиентСервер.ИННСоответствуетТребованиям(ИНН,
+ Не ЭтоИндивидуальныйПредприниматель, ТекстСообщения);
Если ЗначениеЗаполнено(ТекстСообщения) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "ИНН", , Отказ);
КонецЕсли;
@@ -1361,9 +1360,7 @@
И ПроверитьРеквизит(Отказ, "КПП") Тогда
ТекстСообщения = "";
- Если МодульРегламентированныеДанныеКлиентСервер <> Неопределено Тогда
- МодульРегламентированныеДанныеКлиентСервер.КППСоответствуетТребованиям(КПП, ТекстСообщения);
- КонецЕсли;
+ РегламентированныеДанныеКлиентСервер.КППСоответствуетТребованиям(КПП, ТекстСообщения);
Если ЗначениеЗаполнено(ТекстСообщения) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "КПП", , Отказ);
КонецЕсли;
@@ -1371,10 +1368,8 @@
Если ПроверитьРеквизит(Отказ, "ОГРН") Тогда
ТекстСообщения = "";
- Если МодульРегламентированныеДанныеКлиентСервер <> Неопределено Тогда
- МодульРегламентированныеДанныеКлиентСервер.ОГРНСоответствуетТребованиям(ОГРН,
- Не ЭтоИндивидуальныйПредприниматель, ТекстСообщения);
- КонецЕсли;
+ РегламентированныеДанныеКлиентСервер.ОГРНСоответствуетТребованиям(ОГРН,
+ Не ЭтоИндивидуальныйПредприниматель, ТекстСообщения);
Если ЗначениеЗаполнено(ТекстСообщения) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "ОГРН", , Отказ);
КонецЕсли;
@@ -1495,15 +1490,10 @@
Возврат Ложь;
КонецЕсли;
- Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСКонтрагентами") Тогда
- МодульРегламентированныеДанныеКлиентСервер =
- ОбщегоНазначения.ОбщийМодуль("РегламентированныеДанныеКлиентСервер");
-
- ЭтоБанк = ЗначениеЗаполнено(КорреспондентскийСчет);
- Если Не МодульРегламентированныеДанныеКлиентСервер.КонтрольныйКлючЛицевогоСчетаСоответствуетТребованиям(Значение, БИК, ЭтоБанк) Тогда
- ТекстСообщения = НСтр("ru = 'Контрольное число счета не совпадает с рассчитанным с учетом БИК'");
- Возврат Ложь;
- КонецЕсли;
+ ЭтоБанк = ЗначениеЗаполнено(КорреспондентскийСчет);
+ Если Не РегламентированныеДанныеКлиентСервер.КонтрольныйКлючЛицевогоСчетаСоответствуетТребованиям(Значение, БИК, ЭтоБанк) Тогда
+ ТекстСообщения = НСтр("ru = 'Контрольное число счета не совпадает с рассчитанным с учетом БИК'");
+ Возврат Ложь;
КонецЕсли;
Возврат Истина;
@@ -1898,13 +1888,8 @@
Если ПроверитьРеквизит(Отказ, "СтраховойНомерПФР") Тогда
ТекстСообщения = "";
- Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСКонтрагентами") Тогда
- МодульРегламентированныеДанныеКлиентСервер =
- ОбщегоНазначения.ОбщийМодуль("РегламентированныеДанныеКлиентСервер");
-
- МодульРегламентированныеДанныеКлиентСервер.СтраховойНомерПФРСоответствуетТребованиям(
- СтраховойНомерПФР, ТекстСообщения);
- КонецЕсли;
+ РегламентированныеДанныеКлиентСервер.СтраховойНомерПФРСоответствуетТребованиям(
+ СтраховойНомерПФР, ТекстСообщения);
Если ЗначениеЗаполнено(ТекстСообщения) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "СтраховойНомерПФР", , Отказ);
КонецЕсли;
@@ -2171,19 +2156,10 @@
Отказ = Ложь;
- Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСКонтрагентами") Тогда
- МодульРегламентированныеДанныеКлиентСервер =
- ОбщегоНазначения.ОбщийМодуль("РегламентированныеДанныеКлиентСервер");
- Иначе
- МодульРегламентированныеДанныеКлиентСервер = Неопределено;
- КонецЕсли;
-
Если ЗначениеЗаполнено(ДокументыПартнерИНН) Тогда
ТекстСообщения = "";
- Если МодульРегламентированныеДанныеКлиентСервер <> Неопределено Тогда
- МодульРегламентированныеДанныеКлиентСервер.ИННСоответствуетТребованиям(ДокументыПартнерИНН,
- Не ДокументыПартнерЭтоИП, ТекстСообщения);
- КонецЕсли;
+ РегламентированныеДанныеКлиентСервер.ИННСоответствуетТребованиям(ДокументыПартнерИНН,
+ Не ДокументыПартнерЭтоИП, ТекстСообщения);
Если ЗначениеЗаполнено(ТекстСообщения) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "ДокументыПартнерИНН", , Отказ);
КонецЕсли;
@@ -2193,9 +2169,7 @@
И ЗначениеЗаполнено(ДокументыПартнерКПП) Тогда
ТекстСообщения = "";
- Если МодульРегламентированныеДанныеКлиентСервер <> Неопределено Тогда
- МодульРегламентированныеДанныеКлиентСервер.КППСоответствуетТребованиям(ДокументыПартнерКПП, ТекстСообщения);
- КонецЕсли;
+ РегламентированныеДанныеКлиентСервер.КППСоответствуетТребованиям(ДокументыПартнерКПП, ТекстСообщения);
Если ЗначениеЗаполнено(ТекстСообщения) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "ДокументыПартнерКПП", , Отказ);
КонецЕсли;
@@ -2478,7 +2452,9 @@
КонецЕсли;
МодульИнтернетПоддержкаПользователей = ОбщегоНазначения.ОбщийМодуль("ИнтернетПоддержкаПользователей");
+ УстановитьПривилегированныйРежим(Истина);
Результат = МодульИнтернетПоддержкаПользователей.ТикетАутентификацииНаПорталеПоддержки("http://regservice.1c.ru");
+ УстановитьПривилегированныйРежим(Ложь);
ИнтернетПоддержкаПользователейПодключена = Истина;
Если ЗначениеЗаполнено(Результат.КодОшибки) Тогда
@@ -2569,9 +2545,7 @@
КонецЕсли;
МодульИнтернетПоддержкаПользователей = ОбщегоНазначения.ОбщийМодуль("ИнтернетПоддержкаПользователей");
- ДанныеАутентификации = МодульИнтернетПоддержкаПользователей.ДанныеАутентификацииПользователяИнтернетПоддержки();
-
- Возврат ДанныеАутентификации <> Неопределено;
+ Возврат МодульИнтернетПоддержкаПользователей.ЗаполненыДанныеАутентификацииПользователяИнтернетПоддержки();
КонецФункции
@@ -2759,7 +2733,7 @@
// Подготовка пакета заявления.
ВременныйКаталог = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(
- КаталогВременныхФайлов() + НовыйСжатыйУникальныйИдентификатор());
+ ПолучитьИмяВременногоФайла("package"));
СоздатьКаталог(ВременныйКаталог);
@@ -2927,7 +2901,7 @@
КонецЕсли;
ВременныйКаталог = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(
- КаталогВременныхФайлов() + НовыйСжатыйУникальныйИдентификатор());
+ ПолучитьИмяВременногоФайла("package"));
СоздатьКаталог(ВременныйКаталог);
@@ -3024,7 +2998,7 @@
КонецЕсли;
ВременныйКаталог = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(
- КаталогВременныхФайлов() + НовыйСжатыйУникальныйИдентификатор());
+ ПолучитьИмяВременногоФайла("package"));
СоздатьКаталог(ВременныйКаталог);
@@ -3184,7 +3158,7 @@
НСтр("ru = 'Для установки сертификата на компьютер требуется
|установить расширение для веб-клиента 1С:Предприятия.'"),
НСтр("ru = 'Для установки сертификата на компьютер требуется
- |установить дополнительную внешнюю компоненту.'"));
+ |установить внешнюю компоненту.'"));
КонецЕсли;
КонецПроцедуры
@@ -3224,7 +3198,7 @@
Если Не Подключено Тогда
ОшибкаУстановкиСертификата = НСтр("ru = 'Не установлено расширение для работы с криптографией.'");
Иначе
- ОшибкаУстановкиСертификата = НСтр("ru = 'Не установлена дополнительная внешняя компонента.'");
+ ОшибкаУстановкиСертификата = НСтр("ru = 'Не установлена внешняя компонента.'");
КонецЕсли;
КонецПроцедуры
@@ -3427,7 +3401,7 @@
НСтр("ru = 'Для установки сертификата на компьютер требуется
|установить расширение для веб-клиента 1С:Предприятия.'"),
НСтр("ru = 'Для установки сертификата на компьютер требуется
- |установить дополнительную внешнюю компоненту.'"));
+ |установить внешнюю компоненту.'"));
КонецЕсли;
КонецПроцедуры
@@ -4450,7 +4424,7 @@
НСтр("ru = 'Для создания ключа электронной подписи и запроса на сертификат
|требуется установить расширение для веб-клиента 1С:Предприятия.'"),
НСтр("ru = 'Для создания ключа электронной подписи и запроса на сертификат
- |требуется установить дополнительную внешнюю компоненту.'"));
+ |требуется установить внешнюю компоненту.'"));
КонецЕсли;
КонецПроцедуры
@@ -4795,11 +4769,23 @@
Контекст.Вставить("ТекущийИКС", Результат);
НачатьПомещениеФайлов(Новый ОписаниеОповещения(
- "СоздатьКлючИЗапросНаСертификатПослеПомещенияФайлов", ЭтотОбъект, Контекст),
+ "СоздатьКлючИЗапросНаСертификатПослеПомещенияФайлов", ЭтотОбъект, Контекст,
+ "СоздатьКлючИЗапросНаСертификатПослеОшибкиПомещенияФайлов", ЭтотОбъект),
Контекст.ПомещаемыеФайлы, , Ложь, УникальныйИдентификатор);
КонецПроцедуры
+// Продолжение процедуры СоздатьКлючИЗапросНаСертификат.
+&НаКлиенте
+Процедура СоздатьКлючИЗапросНаСертификатПослеОшибкиПомещенияФайлов(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
+
+ СтандартнаяОбработка = Ложь;
+
+ СоздатьКлючИЗапросНаСертификатЗавершение(Контекст, ИнформацияОбОшибке,
+ НСтр("ru = 'Не удалось передать файл запроса на сертификат на сервер по причине:'"));
+
+КонецПроцедуры
+
// Продолжение процедуры СоздатьКлючИЗапросНаСертификат.
&НаКлиенте
Процедура СоздатьКлючИЗапросНаСертификатПослеПомещенияФайлов(ПомещенныеФайлы, Контекст) Экспорт
@@ -4853,7 +4839,8 @@
Если Существует Тогда
НачатьУдалениеФайлов(Новый ОписаниеОповещения(
- "СоздатьКлючИЗапросНаСертификатПослеУдаленияФайлов", ЭтотОбъект, Контекст),
+ "СоздатьКлючИЗапросНаСертификатПослеУдаленияФайлов", ЭтотОбъект, Контекст,
+ "СоздатьКлючИЗапросНаСертификатПослеОшибкиУдаленияФайлов", ЭтотОбъект),
Контекст.ИмяФайлаЗапроса);
Иначе
СоздатьКлючИЗапросНаСертификатПослеУдаленияФайлов(Контекст);
@@ -4861,6 +4848,17 @@
КонецПроцедуры
+// Продолжение процедуры СоздатьКлючИЗапросНаСертификат.
+&НаКлиенте
+Процедура СоздатьКлючИЗапросНаСертификатПослеОшибкиУдаленияФайлов(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
+
+ СтандартнаяОбработка = Ложь;
+
+ СоздатьКлючИЗапросНаСертификатЗавершение(Контекст, ИнформацияОбОшибке,
+ НСтр("ru = 'Не удалось удалить файл запроса на сертификат на компьютере по причине:'"));
+
+КонецПроцедуры
+
// Продолжение процедуры СоздатьКлючИЗапросНаСертификат.
&НаКлиенте
Процедура СоздатьКлючИЗапросНаСертификатПослеУдаленияФайлов(Контекст) Экспорт
@@ -5321,119 +5319,45 @@
Возврат;
КонецЕсли;
- Контекст.Вставить("Путь", "Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Макет.КомпонентаОбмена");
- Контекст.Вставить("Имя", "ЭДОNative");
+ ПараметрыПодключения = ОбщегоНазначенияКлиент.ПараметрыПодключенияКомпоненты();
+ ПараметрыПодключения.ТекстПояснения = Контекст.НазначениеВнешнейКомпонентыКриптографии;
+ // Объект создается на одно действие до исключения, кэширование на время сеанса не подходит.
+ ПараметрыПодключения.Кэшировать = Ложь;
+ ПараметрыПодключения.ИдентификаторыСозданияОбъектов.Добавить("BinaryDataS");
+ ПараметрыПодключения.ИдентификаторыСозданияОбъектов.Добавить("CryptS");
- НачатьПодключениеВнешнейКомпоненты(Новый ОписаниеОповещения(
- "СоздатьОбъектКриптографииПослеПодключенияВнешнейКомпоненты", ЭтотОбъект, Контекст),
- Контекст.Путь, Контекст.Имя);
+ // РаботаСДвоичнымиДанными.
+ ОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакета(
+ Новый ОписаниеОповещения("СоздатьОбъектКриптографииПослеПодключенияКомпоненты",
+ ЭтотОбъект, Контекст), Неопределено,
+ "Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Макет.КомпонентаОбмена",
+ ПараметрыПодключения);
КонецПроцедуры
// Продолжение процедуры СоздатьОбъектКриптографии.
&НаКлиенте
-Процедура СоздатьОбъектКриптографииПослеПодключенияВнешнейКомпоненты(Подключена, Контекст) Экспорт
+Процедура СоздатьОбъектКриптографииПослеПодключенияКомпоненты(Результат, Контекст) Экспорт
- Если Подключена Тогда
- СоздатьОбъектКриптографииПродолжение(Контекст);
+ Если Результат.Подключено Тогда
+ РаботаСДвоичнымиДанными = Результат.ПодключаемыйМодуль.Получить("BinaryDataS");
+ Криптография = Результат.ПодключаемыйМодуль.Получить("CryptS");
Иначе
- Кнопки = Новый СписокЗначений;
- Кнопки.Добавить("Установить", НСтр("ru = 'Установить'"));
- Кнопки.Добавить("НеУстанавливать", НСтр("ru = 'Не устанавливать'"));
- ПоказатьВопрос(Новый ОписаниеОповещения(
- "СоздатьОбъектКриптографииПослеОтветаНаВопрос", ЭтотОбъект, Контекст),
- Контекст.НазначениеВнешнейКомпонентыКриптографии, Кнопки, , "Установить");
- КонецЕсли;
-
-КонецПроцедуры
-
-// Продолжение процедуры СоздатьОбъектКриптографии.
-&НаКлиенте
-Процедура СоздатьОбъектКриптографииПослеОтветаНаВопрос(Ответ, Контекст) Экспорт
-
- Если Ответ <> "Установить" Тогда
- ВыполнитьОбработкуОповещения(Контекст.ОбработкаПродолжения, Ложь);
- Возврат;
- КонецЕсли;
-
- НачатьУстановкуВнешнейКомпоненты(Новый ОписаниеОповещения(
- "СоздатьОбъектКриптографииПослеУстановкиВнешнейКомпоненты", ЭтотОбъект, Контекст,
- "СоздатьОбъектКриптографииПослеОшибкиУстановкиВнешнейКомпоненты", ЭтотОбъект),
- Контекст.Путь);
-
-КонецПроцедуры
-
-// Продолжение процедуры СоздатьОбъектКриптографии.
-&НаКлиенте
-Процедура СоздатьОбъектКриптографииПослеОшибкиУстановкиВнешнейКомпоненты(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
-
- СтандартнаяОбработка = Ложь;
-
- ПоказатьПредупреждение(Новый ОписаниеОповещения(
- "СоздатьОбъектКриптографииПослеПредупрежденияОбОшибке", ЭтотОбъект, Контекст),
- СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
- НСтр("ru = 'Не удалось установить дополнительную внешнюю компоненту по причине:
- |%1'"),
- КраткоеПредставлениеОшибки(ИнформацияОбОшибке)));
-
-КонецПроцедуры
-
-// Продолжение процедуры СоздатьОбъектКриптографии.
-&НаКлиенте
-Процедура СоздатьОбъектКриптографииПослеУстановкиВнешнейКомпоненты(Контекст) Экспорт
-
- НачатьПодключениеВнешнейКомпоненты(Новый ОписаниеОповещения(
- "СоздатьОбъектКриптографииПослеПодключенияУстановленнойВнешнейКомпоненты", ЭтотОбъект, Контекст),
- Контекст.Путь, Контекст.Имя);
-
-КонецПроцедуры
-
-// Продолжение процедуры СоздатьОбъектКриптографии.
-&НаКлиенте
-Процедура СоздатьОбъектКриптографииПослеПодключенияУстановленнойВнешнейКомпоненты(Подключена, Контекст) Экспорт
-
- Если Не Подключена Тогда
- ПоказатьПредупреждение(
- Новый ОписаниеОповещения("СоздатьОбъектКриптографииПослеПредупрежденияОбОшибке",
- ЭтотОбъект, Контекст),
- НСтр("ru = 'Не удалось подключить дополнительную внешнюю компоненту.'"));
- Иначе
- СоздатьОбъектКриптографииПродолжение(Контекст);
- КонецЕсли;
-
-КонецПроцедуры
-
-// Продолжение процедуры СоздатьОбъектКриптографии.
-&НаКлиенте
-Процедура СоздатьОбъектКриптографииПродолжение(Контекст)
-
- Попытка
- Криптография = Новый("Addin.ЭДОNative.CryptS");
- Исключение
- ИнформацияОбОшибке = ИнформацияОбОшибке();
+ РаботаСДвоичнымиДанными = Неопределено;
Криптография = Неопределено;
- ПоказатьПредупреждение(, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
- НСтр("ru = 'Не удалось создать объект внешней компоненты для работы с криптографией по причине:
- |%1'"),
- КраткоеПредставлениеОшибки(ИнформацияОбОшибке)));
- ВыполнитьОбработкуОповещения(Контекст.ОбработкаПродолжения, Ложь);
- Возврат;
- КонецПопытки;
-
- Если РаботаСДвоичнымиДанными = Неопределено Тогда
- Попытка
- РаботаСДвоичнымиДанными = Новый("Addin.ЭДОNative.BinaryDataS");
- Исключение
- ИнформацияОбОшибке = ИнформацияОбОшибке();
- Криптография = Неопределено;
- РаботаСДвоичнымиДанными = Неопределено;
- ПоказатьПредупреждение(, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
- НСтр("ru = 'Не удалось создать объект внешней компоненты для работы с двоичными данными по причине:
- |%1'"),
- КраткоеПредставлениеОшибки(ИнформацияОбОшибке)));
+
+ Если ПустаяСтрока(Результат.ОписаниеОшибки) Тогда
+ // Пользователь отказался от установки внешней компоненты.
ВыполнитьОбработкуОповещения(Контекст.ОбработкаПродолжения, Ложь);
- Возврат;
- КонецПопытки;
+ Иначе
+ ПоказатьПредупреждение(Новый ОписаниеОповещения(
+ "СоздатьОбъектКриптографииПослеПредупрежденияОбОшибке", ЭтотОбъект, Контекст),
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
+ НСтр("ru = 'Не удалось задействовать внешнюю компоненту по причине:
+ |%1'"),
+ Результат.ОписаниеОшибки));
+ КонецЕсли;
+ Возврат;
КонецЕсли;
Криптография.НачатьУстановкуНеВыводитьСообщенияОбОшибках(Новый ОписаниеОповещения(
diff --git a/SSL/src/DataProcessors/ИнструкцияПоИспользованиюПроверкиКонтрагента/Forms/ИнструкцияПоИспользованиюСервиса/Form.form b/SSL/src/DataProcessors/ИнструкцияПоИспользованиюПроверкиКонтрагента/Forms/ИнструкцияПоИспользованиюСервиса/Form.form
deleted file mode 100644
index 23a40ce8e..000000000
--- a/SSL/src/DataProcessors/ИнструкцияПоИспользованиюПроверкиКонтрагента/Forms/ИнструкцияПоИспользованиюСервиса/Form.form
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
- ru
- О сервисе проверки контрагентов ФНС
-
-
- ОписаниеСервиса
- 1
- true
- true
-
- true
-
-
- ОписаниеСервиса
-
- None
-
- ОписаниеСервисаРасширеннаяПодсказка
- 3
- Label
- true
- true
-
- Left
-
-
-
- ОписаниеСервисаКонтекстноеМеню
- 2
- true
-
- HTMLDocumentField
- Enter
- true
- Left
- true
-
- 68
- true
- 20
- true
- true
- true
-
-
-
- ФормаКоманднаяПанель
- -1
- Left
-
-
- OnCreateAtServer
- ПриСозданииНаСервере
-
- DontBlock
- true
- true
- Vertical
- true
- true
- true
- UseIfNecessary
- auto
- true
-
- ОписаниеСервиса
- 2
-
- String
-
-
-
- true
-
-
- true
-
-
-
-
-
-
-
diff --git a/SSL/src/DataProcessors/ИнструкцияПоИспользованиюПроверкиКонтрагента/Forms/ИнструкцияПоИспользованиюСервиса/Module.bsl b/SSL/src/DataProcessors/ИнструкцияПоИспользованиюПроверкиКонтрагента/Forms/ИнструкцияПоИспользованиюСервиса/Module.bsl
deleted file mode 100644
index b6919ce6a..000000000
--- a/SSL/src/DataProcessors/ИнструкцияПоИспользованиюПроверкиКонтрагента/Forms/ИнструкцияПоИспользованиюСервиса/Module.bsl
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#Область ОбработчикиСобытийФормы
-
-&НаСервере
-Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
-
- // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест".
- Если Параметры.Свойство("АвтоТест") Тогда
- Возврат;
- КонецЕсли;
-
- ОписаниеСервиса = ПолучитьОбщийМакет("ИнструкцияПоПроверкеКонтрагентов").ПолучитьТекст();
-
- Если НЕ ПроверкаКонтрагентов.ТестовыйРежимРаботыСервисаЗавершился() Тогда
- ОписаниеСервиса = СтрЗаменить(ОписаниеСервиса, "",
- "
ВАЖНО!
В настоящее время сервис ФНС функционирует в тестовом режиме.
");
- КонецЕсли;
-
-КонецПроцедуры
-
-#КонецОбласти
\ No newline at end of file
diff --git a/SSL/src/DataProcessors/ИнструкцияПоИспользованиюПроверкиКонтрагента/ИнструкцияПоИспользованиюПроверкиКонтрагента.mdo b/SSL/src/DataProcessors/ИнструкцияПоИспользованиюПроверкиКонтрагента/ИнструкцияПоИспользованиюПроверкиКонтрагента.mdo
deleted file mode 100644
index 3f51e3aa0..000000000
--- a/SSL/src/DataProcessors/ИнструкцияПоИспользованиюПроверкиКонтрагента/ИнструкцияПоИспользованиюПроверкиКонтрагента.mdo
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
- ИнструкцияПоИспользованиюПроверкиКонтрагента
-
- ru
- Инструкция по использованию проверки контрагента
-
- true
- DataProcessor.ИнструкцияПоИспользованиюПроверкиКонтрагента.Form.ИнструкцияПоИспользованиюСервиса
-
- ИнструкцияПоИспользованиюСервиса
-
- ru
- Инструкция по использованию сервиса
-
- PersonalComputer
- MobileDevice
-
-
diff --git a/SSL/src/DataProcessors/ИнформацияПриЗапуске/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ИнформацияПриЗапуске/Forms/Форма/Module.bsl
index f8952721f..4d482a7e5 100644
--- a/SSL/src/DataProcessors/ИнформацияПриЗапуске/Forms/Форма/Module.bsl
+++ b/SSL/src/DataProcessors/ИнформацияПриЗапуске/Forms/Форма/Module.bsl
@@ -319,7 +319,7 @@
ТекущаяСтрокаИндекс = НоваяСтрокаИндекс;
- // Видимость / Доступность
+ // Видимость и доступность.
Элементы.ФормаНазад.Доступность = (ТекущаяСтрокаИндекс > 0);
Элементы.ФормаВперед.Доступность = (ТекущаяСтрокаИндекс < ИсторияПросмотра.Количество() - 1);
diff --git a/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/ObjectModule.bsl b/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/ObjectModule.bsl
index a185b6d36..16377f736 100644
--- a/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/ObjectModule.bsl
+++ b/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/ObjectModule.bsl
@@ -370,11 +370,23 @@
КлючВыгружаемыхДанных = ИмяПКО;
- ЭтоНеСсылочныйТип = ИмяТипа = "Константы"
- ИЛИ ИмяТипа = "РегистрСведений"
- ИЛИ ИмяТипа = "РегистрНакопления"
- ИЛИ ИмяТипа = "РегистрБухгалтерии"
- ИЛИ ИмяТипа = "РегистрРасчета";
+ Если ЗначениеЗаполнено(ИмяТипа) Тогда
+
+ ЭтоНеСсылочныйТип = ИмяТипа = "Константы"
+ Или ИмяТипа = "РегистрСведений"
+ Или ИмяТипа = "РегистрНакопления"
+ Или ИмяТипа = "РегистрБухгалтерии"
+ Или ИмяТипа = "РегистрРасчета";
+
+ Иначе
+
+ Если ТипЗнч(Источник) = Тип("Структура") Тогда
+ ЭтоНеСсылочныйТип = Не Источник.Свойство("Ссылка");
+ Иначе
+ ЭтоНеСсылочныйТип = Истина;
+ КонецЕсли;
+
+ КонецЕсли;
Если ЭтоНеСсылочныйТип
ИЛИ ПустаяСтрока(ИмяТипа) Тогда
@@ -6820,6 +6832,7 @@
Иначе
+ Объект.УстановитьСсылкуНового(Менеджер.ПолучитьСсылку(Новый УникальныйИдентификатор));
НоваяСсылка = Неопределено;
КонецЕсли;
@@ -7091,7 +7104,10 @@
ИначеЕсли ИмяУзла = "Выражение" Тогда
- Продолжить;
+ Выражение = одЗначениеЭлемента(ФайлОбмена, ТипСтрока, , Ложь);
+ Значение = ОбщегоНазначения.ВычислитьВБезопасномРежиме(Выражение);
+
+ НаличиеСвойств = Истина;
ИначеЕсли ИмяУзла = "Пусто" Тогда
@@ -15254,14 +15270,14 @@
ИначеЕсли ИмяУзла = "ПравилаРегистрацииОбъектов" Тогда
одПропустить(ПравилаОбмена);
- // Алгоритмы / Запросы / Обработки
+ // Алгоритмы, Запросы, Обработки.
ИначеЕсли ИмяУзла = "Алгоритмы" Тогда
ЗагрузитьАлгоритмы(ПравилаОбмена, ЗаписьXML);
ИначеЕсли ИмяУзла = "Запросы" Тогда
ЗагрузитьЗапросы(ПравилаОбмена, ЗаписьXML);
-
+
ИначеЕсли ИмяУзла = "Обработки" Тогда
ЗагрузитьОбработки(ПравилаОбмена, ЗаписьXML);
diff --git a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/НастройкаРезервногоКопирования/Module.bsl b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/НастройкаРезервногоКопирования/Module.bsl
index 8a48b2641..d673a34c3 100644
--- a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/НастройкаРезервногоКопирования/Module.bsl
+++ b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/НастройкаРезервногоКопирования/Module.bsl
@@ -56,8 +56,7 @@
ПарольАдминистратораИБ = "";
КонецЕсли;
- Элементы.ИзменитьРасписание.Доступность = (Объект.ВариантВыполнения = "ПоРасписанию");
- Элементы.ГруппаПараметры.Доступность = Объект.ВыполнятьАвтоматическоеРезервноеКопирование;
+ УстановитьВидимостьДоступность();
КонецПроцедуры
@@ -107,6 +106,13 @@
#Область ОбработчикиСобытийЭлементовШапкиФормы
+&НаКлиенте
+Процедура ВыполнятьАвтоматическоеРезервноеКопированиеПриИзменении(Элемент)
+
+ УстановитьВидимостьДоступность();
+
+КонецПроцедуры
+
&НаКлиенте
Процедура ТипОграниченияКаталогаСРезервнымиКопиямиПриИзменении(Элемент)
@@ -341,13 +347,18 @@
КонецПроцедуры
-////////////////////////////////////////////////////////////////////////////////
-// Процедуры и функции проведения резервного копирования.
+/////////////////////////////////////////////////////////
+// Представление данных на форме.
-&НаКлиенте
-Процедура ВыполнятьАвтоматическоеРезервноеКопированиеПриИзменении(Элемент)
+// Для внутреннего использования.
+&НаСервере
+Процедура УстановитьВидимостьДоступность()
- Элементы.ГруппаПараметры.Доступность = Объект.ВыполнятьАвтоматическоеРезервноеКопирование;
+ Элементы.ИзменитьРасписание.Доступность = (Объект.ВариантВыполнения = "ПоРасписанию");
+
+ ДоступноРезервноеКопирование = Объект.ВыполнятьАвтоматическоеРезервноеКопирование;
+ Элементы.ГруппаПараметры.Доступность = ДоступноРезервноеКопирование;
+ Элементы.ВыборВариантаАвтоматическогоРезервногоКопирования.Доступность = ДоступноРезервноеКопирование;
КонецПроцедуры
diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Form.form b/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Form.form
index f6c92a20e..335e87323 100644
--- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Form.form
+++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Form.form
@@ -774,19 +774,6 @@
true
-
- ИБФайловая
- 17
-
- Boolean
-
-
- true
-
-
- true
-
-
Скопировать
diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Module.bsl b/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Module.bsl
index 10a0bf168..85c56d344 100644
--- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Module.bsl
+++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Module.bsl
@@ -30,8 +30,6 @@
Элементы.ГруппаКопируемыеНастройки.Доступность = Ложь;
КонецЕсли;
- ИБФайловая = ОбщегоНазначения.ИнформационнаяБазаФайловая();
-
ОчиститьИсториюВыбораНастроек = Истина;
КонецПроцедуры
@@ -240,24 +238,19 @@
// При копировании настроек внешнего вида или всех настроек другим пользователям
// проверяем работают они с программой или нет. Если работают - выводим сообщение об этом.
ПроверитьАктивныхПользователей();
- Если РезультатПроверки = "ЕстьАктивныеПользователиПолучатели"
- Или Не ИБФайловая Тогда
+ Если РезультатПроверки = "ЕстьАктивныеПользователиПолучатели" Тогда
- Если ПереключательКопируемыеНастройки = "СкопироватьВсе"
+ Если ПереключательКопируемыеНастройки = "СкопироватьВсе"
Или (ПереключательКопируемыеНастройки = "СкопироватьОтдельные"
И ВыбранныеНастройки.ВнешнийВид.Количество() <> 0) Тогда
- ПараметрыФормы = Новый Структура;
- ПараметрыФормы.Вставить("Действие", Команда.Имя);
- ПараметрыФормы.Вставить("ЕстьАктивныеПользователиПолучатели", РезультатПроверки = "ЕстьАктивныеПользователиПолучатели");
- ПараметрыФормы.Вставить("ИБФайловая", ИБФайловая);
+ ПараметрыФормы = Новый Структура("Действие", Команда.Имя);
ОткрытьФорму("Обработка.НастройкиПользователей.Форма.ПредупреждениеОКопированииНастроек", ПараметрыФормы);
-
Возврат;
+
КонецЕсли;
КонецЕсли;
-
СкопироватьНастройки(Команда.Имя);
КонецПроцедуры
diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ПредупреждениеОКопированииНастроек/Form.form b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ПредупреждениеОКопированииНастроек/Form.form
index d0f596cc2..812f78d18 100644
--- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ПредупреждениеОКопированииНастроек/Form.form
+++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ПредупреждениеОКопированииНастроек/Form.form
@@ -1,101 +1,9 @@
-
+
ru
Копирование настроек
-
- ГруппаКлиентСервер
- 26
-
- ДекорацияКартинка
- 28
- true
- true
-
- true
-
-
- ДекорацияКартинкаРасширеннаяПодсказка
- 30
- Label
- true
- true
-
- Left
-
-
-
- ДекорацияКартинкаКонтекстноеМеню
- 29
- true
-
- true
- true
-
-
- CommonPicture.Информация32
-
-
-
-
- СообщениеКлиентСервер
- 23
-
- ru
- В некоторых случаях настройки применяются не сразу, задержка может составлять до 20 минут.
-
- true
- true
-
- true
-
-
- СообщениеКлиентСерверРасширеннаяПодсказка
- 25
- Label
- true
- true
-
- Left
-
-
-
- СообщениеКлиентСерверКонтекстноеМеню
- 24
- true
-
- Label
- true
- true
-
- Left
-
-
- true
- true
-
- true
-
-
- ГруппаКлиентСерверРасширеннаяПодсказка
- 27
- Label
- true
- true
-
- Left
-
-
- UsualGroup
-
- Auto
- true
- true
- Auto
- Auto
-
-
ГруппаАктивныеПользователи
7
@@ -259,10 +167,6 @@
Right
-
- OnCreateAtServer
- ПриСозданииНаСервере
-
Abort
Close
CustomizeForm
@@ -330,18 +234,6 @@
true
-
- ИБФайловая
-
- Boolean
-
-
-
- ЕстьАктивныеПользователиПолучатели
-
- Boolean
-
-
diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ПредупреждениеОКопированииНастроек/Module.bsl b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ПредупреждениеОКопированииНастроек/Module.bsl
index 0636f86eb..b27edf2d7 100644
--- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ПредупреждениеОКопированииНастроек/Module.bsl
+++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ПредупреждениеОКопированииНастроек/Module.bsl
@@ -1,26 +1,3 @@
-#Область ОбработчикиСобытийФормы
-
-&НаСервере
-Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
- Если Параметры.Свойство("АвтоТест") Тогда
- Возврат;
- КонецЕсли;
-
- Если Параметры.ИБФайловая Тогда
- Элементы.ГруппаКлиентСервер.Видимость = Ложь;
- КонецЕсли;
-
- Если Не Параметры.ЕстьАктивныеПользователиПолучатели Тогда
- Элементы.ГруппаАктивныеПользователи.Видимость = Ложь;
- СтандартныеПодсистемыСервер.УстановитьКлючНазначенияФормы(ЭтотОбъект, "НетАктивныхПользователейПолучателей");
- Иначе
- СтандартныеПодсистемыСервер.УстановитьКлючНазначенияФормы(ЭтотОбъект, "ЕстьАктивныеПользователиПолучатели");
- КонецЕсли;
- Действие = Параметры.Действие;
-КонецПроцедуры
-
-#КонецОбласти
-
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
@@ -41,7 +18,7 @@
Закрыть();
КонецЕсли;
- Результат = Новый Структура("Действие", Действие);
+ Результат = Новый Структура("Действие", Параметры.Действие);
Оповестить("СкопироватьНастройкиАктивнымПользователям", Результат);
КонецПроцедуры
diff --git a/SSL/src/DataProcessors/НастройкиПользователей/ManagerModule.bsl b/SSL/src/DataProcessors/НастройкиПользователей/ManagerModule.bsl
index c1e3a6dba..1a6919d58 100644
--- a/SSL/src/DataProcessors/НастройкиПользователей/ManagerModule.bsl
+++ b/SSL/src/DataProcessors/НастройкиПользователей/ManagerModule.bsl
@@ -237,12 +237,12 @@
Для Каждого Объект Из СписокОбъектовМетаданных Цикл
- Если Не ПравоДоступа("Просмотр", Объект) Тогда
+ Если ТипОбъектаМетаданных = "ВнешнийИсточникДанных" Тогда
+ ЗаполнитьФормыВнешнихИсточниковДанных(Объект, ТипОбъектаМетаданных, ПредставлениеОбъектаМетаданных, Картинка, СписокФорм);
Продолжить;
КонецЕсли;
- Если ТипОбъектаМетаданных = "ВнешнийИсточникДанных" Тогда
- ЗаполнитьФормыВнешнихИсточниковДанных(Объект, ТипОбъектаМетаданных, ПредставлениеОбъектаМетаданных, Картинка, СписокФорм);
+ Если Не ПравоДоступа("Просмотр", Объект) Тогда
Продолжить;
КонецЕсли;
@@ -579,11 +579,19 @@
ПользовательПриемникИБ = ИмяПользователяИБ(ПользовательПриемник);
ТекущийПользователь = Неопределено;
+
+ ОчередьНастроек = Новый Соответствие;
+ ЭтоХранилищеСистемныхНастроек = (МенеджерНастроек = ХранилищеСистемныхНастроек);
+
Для Каждого Настройка Из ТаблицаНастроек Цикл
КлючОбъекта = Настройка.КлючОбъекта;
КлючНастройки = Настройка.КлючНастроек;
+ Если ЭтоХранилищеСистемныхНастроек Тогда
+ ОчередьНастроек.Вставить(КлючОбъекта, КлючНастройки);
+ КонецЕсли;
+
Если МенеджерНастроек = ХранилищеПользовательскихНастроекОтчетов
Или МенеджерНастроек = ХранилищеВариантовОтчетов Тогда
@@ -621,6 +629,11 @@
ОписаниеНастроек, ПользовательПриемникИБ);
КонецЦикла;
+ Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая()
+ И ОчередьНастроек.Количество() > 0 Тогда
+ ЗаполнитьОчередьНастроек(ОчередьНастроек, ПользовательПриемникИБ);
+ КонецЕсли;
+
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
@@ -700,11 +713,16 @@
//
Процедура СкопироватьНастройкиВнешнегоВида(ПользовательИсточник, ПользователиПриемник, МассивНастроекДляКопирования) Экспорт
+ ОчередьНастроек = Новый Соответствие;
+ ПолучателиНастроек = Новый Массив;
+
Для Каждого Элемент Из МассивНастроекДляКопирования Цикл
Для Каждого ЭлементНастроек Из Элемент Цикл
КлючНастроек = ЭлементНастроек.Представление;
- КлючОбъекта = ЭлементНастроек.Значение;
+ КлючОбъекта = ЭлементНастроек.Значение;
+
+ ОчередьНастроек.Вставить(КлючОбъекта, КлючНастроек);
Если КлючНастроек = "Интерфейс"
Или КлючНастроек = "Прочие" Тогда
@@ -718,6 +736,8 @@
Для Каждого ПользовательПриемник Из ПользователиПриемник Цикл
ПользовательПриемникИБ = ИмяПользователяИБ(ПользовательПриемник);
ХранилищеСистемныхНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройка, , ПользовательПриемникИБ);
+
+ ПолучателиНастроек.Добавить(ПользовательПриемникИБ);
КонецЦикла;
КонецЕсли;
@@ -726,6 +746,30 @@
КонецЦикла;
+ Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
+ Для Каждого ПолучательНастроек Из ПолучателиНастроек Цикл
+ ЗаполнитьОчередьНастроек(ОчередьНастроек, ПолучательНастроек);
+ КонецЦикла;
+ КонецЕсли;
+
+КонецПроцедуры
+
+Процедура ЗаполнитьОчередьНастроек(ОчередьНастроек, ПолучательНастроек)
+
+ СтарыеНастройки = ХранилищеОбщихНастроек.Загрузить("ОчередьНастроек", "НеПримененныеНастройки",, ПолучательНастроек);
+ Если ТипЗнч(СтарыеНастройки) = Тип("ХранилищеЗначения") Тогда
+ СтарыеНастройки = СтарыеНастройки.Получить();
+ Если ТипЗнч(СтарыеНастройки) = Тип("Соответствие") Тогда
+ ОбщегоНазначенияКлиентСервер.ДополнитьСоответствие(ОчередьНастроек, СтарыеНастройки, Истина);
+ КонецЕсли;
+ КонецЕсли;
+ ХранилищеОбщихНастроек.Сохранить(
+ "ОчередьНастроек",
+ "НеПримененныеНастройки",
+ Новый ХранилищеЗначения(ОчередьНастроек, Новый СжатиеДанных(9)),
+ ,
+ ПолучательНастроек);
+
КонецПроцедуры
Процедура СкопироватьНастройкиРабочегоСтола(КлючОбъекта, ПользовательИсточник, ПользователиПриемник)
diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ИнтернетПоддержкаИСервисы/Form.form b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ИнтернетПоддержкаИСервисы/Form.form
index a80c69033..2cf36ef21 100644
--- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ИнтернетПоддержкаИСервисы/Form.form
+++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ИнтернетПоддержкаИСервисы/Form.form
@@ -2075,193 +2075,58 @@
- ГруппаПроверкаКонтрагентов
- 1647
+ БИПГруппаПроверкаКонтрагентов
+ 1804
- ПерваяГруппаНастроек
- 1649
-
- ЛеваяКолонкаПервойГруппы
- 1651
-
- ИспользоватьАвтоматическуюПроверкуКонтрагентов
- 1653
+ ЛеваяКолонкаПервойГруппы
+ 1806
+
+ ИспользоватьАвтоматическуюПроверкуКонтрагентов
+ 1808
+
+ ru
+ Автоматически проверять контрагентов по ЕГРН
+
+ true
+ true
+
+ true
+
+
+ БИПИспользоватьПроверкуКонтрагентов
+
+ Right
+ ShowBottom
+
+ OnChange
+ БИПИспользоватьПроверкуКонтрагентовПриИзменении
+
+
+ ИспользоватьАвтоматическуюПроверкуКонтрагентовРасширеннаяПодсказка
+ 1810
ru
- Автоматически проверять контрагентов по ЕГРН
-
- true
- true
-
- true
-
-
- НаборКонстант.ИспользоватьПроверкуКонтрагентов
-
- Right
- ShowBottom
-
- OnChange
- ИспользоватьПроверкуКонтрагентовПриИзменении
-
-
- ИспользоватьАвтоматическуюПроверкуКонтрагентовРасширеннаяПодсказка
- 1655
-
- ru
- <color #807a59>Включение автоматической проверки может замедлить открытие документов на медленных компьютерах. Для таких компьютеров рекомендуется использовать </><color #807a59>ручную</><color #807a59> проверку</><color #807a59> по кнопке в подменю "Еще".</>
+ <color #807a59>Включение автоматической проверки может замедлить открытие документов на медленных компьютерах. Для таких компьютеров рекомендуется использовать </><color #807a59>ручную</><color #807a59> проверку</><color #807a59> по кнопке в подменю "Еще".</>
<link e1cib/app/Обработка.ИнструкцияПоИспользованиюПроверкиКонтрагента>Подробнее о сервисе</>
-
- true
- Label
- true
-
- Left
-
-
-
- ИспользоватьАвтоматическуюПроверкуКонтрагентовКонтекстноеМеню
- 1654
- true
-
- CheckBoxField
- Enter
- true
- Left
- true
-
-
- true
- true
-
- true
-
-
- ru
- Левая колонка первой группы
-
- 43
- false
-
- ЛеваяКолонкаПервойГруппыРасширеннаяПодсказка
- 1652
+
+ true
Label
- true
true
Left
- UsualGroup
-
- Vertical
- Auto
- true
- true
- Auto
- Auto
-
-
-
- ПраваяКолонкаПервойГруппы
- 1656
-
- ПроверитьДоступКСервису
- 1658
-
- ru
- Проверить доступ к веб-сервису
-
- true
- true
-
- true
-
-
- ПроверитьДоступКСервисуРасширеннаяПодсказка
- 1659
- Label
- true
- true
-
- Left
-
-
- UsualButton
- CommonCommand.ПроверитьДоступКСервису
- Normal
- Auto
- true
- true
- UserCmds
- Auto
-
-
- ПредупреждениеПроТестовыйРежимПроверкиКонтрагента
- 1660
-
- ru
- <Предупреждение про тестовый режим работы сервиса>
-
- true
- true
-
- true
-
-
- ПредупреждениеПроТестовыйРежимПроверкиКонтрагентаРасширеннаяПодсказка
- 1662
- Label
- true
- true
-
- Left
-
-
-
- ПредупреждениеПроТестовыйРежимПроверкиКонтрагентаКонтекстноеМеню
- 1661
- true
-
- Label
- true
-
- Left
-
- Style.ЦветФонаТестовогоРежимаСервисаФНС
-
-
-
- true
- true
-
- true
-
-
- ru
- Правая колонка первой группы
-
- 43
- false
-
- ПраваяКолонкаПервойГруппыРасширеннаяПодсказка
- 1657
- Label
- true
- true
-
- Left
-
-
- UsualGroup
-
- Vertical
- Auto
- true
- true
- Auto
- Auto
-
+
+ ИспользоватьАвтоматическуюПроверкуКонтрагентовКонтекстноеМеню
+ 1809
+ true
+
+ CheckBoxField
+ Enter
+ true
+ Left
+ true
+
true
true
@@ -2270,11 +2135,13 @@
ru
- Первая группа настроек
+ Левая колонка первой группы
+ 43
+ false
- ПерваяГруппаНастроекРасширеннаяПодсказка
- 1650
+ ЛеваяКолонкаПервойГруппыРасширеннаяПодсказка
+ 1807
Label
true
true
@@ -2284,6 +2151,105 @@
UsualGroup
+ Vertical
+ Auto
+ true
+ true
+ Auto
+ Auto
+
+
+
+ ПраваяКолонкаПервойГруппы
+ 1811
+
+ ПроверитьДоступКСервису
+ 1813
+
+ ru
+ Проверить доступ к веб-сервису
+
+ true
+ true
+
+ true
+
+
+ ПроверитьДоступКСервисуРасширеннаяПодсказка
+ 1814
+ Label
+ true
+ true
+
+ Left
+
+
+ UsualButton
+ Form.Command.БИППроверкаКонтрагентовПроверитьДоступКВебСервису
+ Normal
+ Auto
+ true
+ true
+ UserCmds
+ Auto
+
+
+ ПредупреждениеПроТестовыйРежимПроверкиКонтрагента
+ 1815
+
+ ru
+ <Предупреждение про тестовый режим работы сервиса>
+
+ true
+ true
+
+ true
+
+
+ ПредупреждениеПроТестовыйРежимПроверкиКонтрагентаРасширеннаяПодсказка
+ 1817
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ПредупреждениеПроТестовыйРежимПроверкиКонтрагентаКонтекстноеМеню
+ 1816
+ true
+
+ Label
+ true
+
+ Left
+
+
+ true
+ true
+
+ true
+
+
+ ru
+ Правая колонка первой группы
+
+ 43
+ false
+
+ ПраваяКолонкаПервойГруппыРасширеннаяПодсказка
+ 1812
+ Label
+ true
+ true
+
+ Left
+
+
+ UsualGroup
+
+ Vertical
Auto
true
true
@@ -2291,7 +2257,6 @@
Auto
- true
true
true
@@ -2301,8 +2266,8 @@
Проверка контрагентов
- ГруппаПроверкаКонтрагентовРасширеннаяПодсказка
- 1648
+ БИПГруппаПроверкаКонтрагентовРасширеннаяПодсказка
+ 1805
Label
true
true
@@ -2312,7 +2277,6 @@
UsualGroup
- Vertical
Collapsible
true
Button
@@ -3541,6 +3505,44 @@
true
+
+ БИПИспользоватьПроверкуКонтрагентов
+
+ ru
+ Использовать проверку контрагентов
+
+ 24
+
+ Number
+
+ 1
+ true
+
+
+
+ true
+
+
+ true
+
+
+
+ ОбрабатыватьНастройкиБИП
+
+ ru
+ Обрабатывать настройки БИП
+
+ 25
+
+ Boolean
+
+
+ true
+
+
+ true
+
+
БИПВойтиИлиВыйти
@@ -3670,6 +3672,24 @@
DontUse
Auto
+
+ БИППроверкаКонтрагентовПроверитьДоступКВебСервису
+
+ ru
+ Проверить доступ к веб-сервису
+
+ 7
+
+
+
+ БИППроверкаКонтрагентовПроверитьДоступКВебСервису
+
+
+ DontUse
+ Auto
+
diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ИнтернетПоддержкаИСервисы/Module.bsl b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ИнтернетПоддержкаИСервисы/Module.bsl
index ede83798d..545b86fd6 100644
--- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ИнтернетПоддержкаИСервисы/Module.bsl
+++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ИнтернетПоддержкаИСервисы/Module.bsl
@@ -23,8 +23,10 @@
ВидимостьГруппыКоманды = Истина;
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей") Тогда
МодульИнтернетПоддержкаПользователей = ОбщегоНазначения.ОбщийМодуль("ИнтернетПоддержкаПользователей");
+ УстановитьПривилегированныйРежим(Истина);
Элементы.ГруппаАдресныйКлассификаторПраваяКолонка.Видимость =
МодульИнтернетПоддержкаПользователей.ДанныеАутентификацииПользователяИнтернетПоддержки() = Неопределено;
+ УстановитьПривилегированныйРежим(Ложь);
Иначе
ВидимостьГруппыНастройки = Ложь;
КонецЕсли;
@@ -59,17 +61,6 @@
Элементы.ГруппаОбработкаЗагрузкаКурсовВалют.Видимость = Ложь;
КонецЕсли;
- Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСКонтрагентами") Тогда
- Элементы.ГруппаПроверкаКонтрагентов.Видимость = ЭтоАдминистраторСистемы;
- Если Элементы.ГруппаПроверкаКонтрагентов.Видимость Тогда
- МодульПроверкаКонтрагентов = ОбщегоНазначения.ОбщийМодуль("ПроверкаКонтрагентов");
- МодульПроверкаКонтрагентов.УстановитьВидимостьИЗаголовокПредупрежденияПроТестовыйРежим(
- Элементы.ПредупреждениеПроТестовыйРежимПроверкиКонтрагента);
- КонецЕсли;
- Иначе
- Элементы.ГруппаПроверкаКонтрагентов.Видимость = Ложь;
- КонецЕсли;
-
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.СклонениеПредставленийОбъектов") Тогда
Элементы.ГруппаСклонения.Видимость = Ложь;
КонецЕсли;
@@ -149,10 +140,11 @@
МодульИнтернетПоддержкаПользователей = ОбщегоНазначения.ОбщийМодуль("ИнтернетПоддержкаПользователей");
МодульИнтернетПоддержкаПользователей.ИнтернетПоддержкаИСервисы_ПриСозданииНаСервере(ЭтотОбъект);
Иначе
- Элементы.БИПГруппаНастройки.Видимость = Ложь;
- Элементы.БИПГруппаНовости.Видимость = Ложь;
- Элементы.БИПГруппаОбновлениеПрограммы.Видимость = Ложь;
- Элементы.БИПГруппаСПАРКРиски.Видимость = Ложь;
+ Элементы.БИПГруппаНастройки.Видимость = Ложь;
+ Элементы.БИПГруппаНовости.Видимость = Ложь;
+ Элементы.БИПГруппаОбновлениеПрограммы.Видимость = Ложь;
+ Элементы.БИПГруппаПроверкаКонтрагентов.Видимость = Ложь;
+ Элементы.БИПГруппаСПАРКРиски.Видимость = Ложь;
КонецЕсли;
НастройкиПрограммыПереопределяемый.ИнтернетПоддержкаИСервисыПриСозданииНаСервере(ЭтотОбъект);
@@ -168,6 +160,15 @@
Элементы.ГруппаАдресныйКлассификаторПраваяКолонка.Видимость = Истина;
КонецЕсли;
+ Если ОбрабатыватьНастройкиБИП Тогда
+ МодульИнтернетПоддержкаПользователейКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИнтернетПоддержкаПользователейКлиент");
+ МодульИнтернетПоддержкаПользователейКлиент.ИнтернетПоддержкаИСервисы_ОбработкаОповещения(
+ ЭтотОбъект,
+ ИмяСобытия,
+ Параметр,
+ Источник);
+ КонецЕсли;
+
КонецПроцедуры
&НаКлиенте
@@ -240,11 +241,6 @@
Подключаемый_ПриИзмененииРеквизита(Элемент);
КонецПроцедуры
-&НаКлиенте
-Процедура ИспользоватьПроверкуКонтрагентовПриИзменении(Элемент)
- Подключаемый_ПриИзмененииРеквизита(Элемент);
-КонецПроцедуры
-
&НаКлиенте
Процедура ДекорацияЛогинИППОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
@@ -399,6 +395,27 @@
КонецПроцедуры
+&НаКлиенте
+Процедура БИПИспользоватьПроверкуКонтрагентовПриИзменении(Элемент)
+ МодульРаботаСКонтрагентамиКлиент =
+ ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСКонтрагентамиКлиент");
+ МодульРаботаСКонтрагентамиКлиент.ИнтернетПоддержкаИСервисы_ИспользоватьПроверкуКонтрагентовПриИзменении(
+ ЭтотОбъект,
+ Элемент);
+ ОбновитьИнтерфейс = Истина;
+ ПодключитьОбработчикОжидания("ОбновитьИнтерфейсПрограммы", 2, Истина);
+КонецПроцедуры
+
+&НаКлиенте
+Процедура БИППроверкаКонтрагентовПроверитьДоступКВебСервису(Команда)
+
+ МодульРаботаСКонтрагентамиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСКонтрагентамиКлиент");
+ МодульРаботаСКонтрагентамиКлиент.ИнтернетПоддержкаИСервисы_БИППроверкаКонтрагентовПроверитьДоступКВебСервису(
+ ЭтотОбъект,
+ Команда);
+
+КонецПроцедуры
+
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -553,15 +570,7 @@
КонстантаМенеджер = Константы[КонстантаИмя];
КонстантаЗначение = НаборКонстант[КонстантаИмя];
- Если КонстантаИмя = "ИспользоватьПроверкуКонтрагентов"
- И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСКонтрагентами") Тогда
-
- ВключитьПроверку = КонстантаЗначение = 1;
- МодульПроверкаКонтрагентовВызовСервера = ОбщегоНазначения.ОбщийМодуль("ПроверкаКонтрагентовВызовСервера");
- МодульПроверкаКонтрагентовВызовСервера.ПриВключенииВыключенииПроверки(ВключитьПроверку);
- Иначе
- КонстантаМенеджер.Установить(КонстантаЗначение);
- КонецЕсли;
+ КонстантаМенеджер.Установить(КонстантаЗначение);
КонецЕсли;
diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Form.form b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Form.form
index 1b0cb7de4..cf9f21f37 100644
--- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Form.form
+++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Form.form
@@ -424,42 +424,42 @@
ГруппаВнешниеПользователиИНастройкиВхода
2192
-
- ГруппаВнешниеПользователиСОтступом
- 2186
-
- ГоризонтальныйОтступ1
- 2158
-
- ru
- Горизонтальный отступ
-
- true
- true
-
- true
-
-
- ГоризонтальныйОтступ1РасширеннаяПодсказка
- 2160
- Label
- true
- true
-
- Left
-
-
-
- ГоризонтальныйОтступ1КонтекстноеМеню
- 2159
- true
-
- 1
+
+ ГруппаСписокВнешнихПользователейОтступ
+ 2158
+
+ ru
+ Горизонтальный отступ
+
+ true
+ true
+
+ true
+
+
+ ГруппаСписокВнешнихПользователейОтступРасширеннаяПодсказка
+ 2160
+ Label
true
- 1
true
-
-
+
+ Left
+
+
+
+ ГруппаСписокВнешнихПользователейОтступКонтекстноеМеню
+ 2159
+ true
+
+ 1
+ true
+ 1
+ true
+
+
+
+ ГруппаСписокВнешнихПользователей
+ 2186
ОткрытьВнешниеПользователи
2031
@@ -499,12 +499,12 @@
ru
- Внешние пользователи с отступом
+ Список внешних пользователей
43
false
- ГруппаВнешниеПользователиСОтступомРасширеннаяПодсказка
+ ГруппаСписокВнешнихПользователейРасширеннаяПодсказка
2187
Label
true
diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Module.bsl b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Module.bsl
index 643b16243..32a924d57 100644
--- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Module.bsl
+++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Module.bsl
@@ -16,7 +16,7 @@
Если Не Пользователи.ОбщиеНастройкиВходаИспользуются() Тогда
Элементы.ГруппаНастройкиВходаПользователей.Видимость = Ложь;
- Элементы.ГоризонтальныйОтступ2.Видимость = Ложь;
+ Элементы.ГруппаСписокВнешнихПользователейОтступ.Видимость = Ложь;
Элементы.ГруппаНастройкиВходаВнешнихПользователей.Видимость = Ложь;
Элементы.ГруппаВнешниеПользователи.Группировка
= ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная;
diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Module.bsl b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Module.bsl
index 34026f4ba..444094fe9 100644
--- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Module.bsl
+++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Module.bsl
@@ -17,7 +17,7 @@
Элементы.Расширения.Видимость = Не СтандартныеПодсистемыСервер.ЭтоБазоваяВерсияКонфигурации();
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда
- РазделениеВключено = Не ОбщегоНазначения.РазделениеВключено();
+ РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
Элементы.ИспользоватьДополнительныеОтчетыИОбработки.Видимость = Не РазделениеВключено;
Элементы.ОткрытьДополнительныеОтчетыИОбработки.Видимость = Не РазделениеВключено
// При работе в модели сервиса, если включено администратором сервиса.
diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/СинхронизацияДанных/Module.bsl b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/СинхронизацияДанных/Module.bsl
index d2930216a..a1c8a557a 100644
--- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/СинхронизацияДанных/Module.bsl
+++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/СинхронизацияДанных/Module.bsl
@@ -18,9 +18,6 @@
Не ОбщегоНазначения.ИнформационнаяБазаФайловая()
И Пользователи.ЭтоПолноправныйПользователь(, Истина);
- Элементы.ГруппаПрефиксУзлаРаспределеннойИнформационнойБазы.РасширеннаяПодсказка.Заголовок =
- Метаданные.Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Подсказка;
-
Если ОбщегоНазначения.РазделениеВключено() Тогда
Элементы.ОписаниеРаздела.Заголовок = НСтр("ru = 'Синхронизация данных с моими приложениями.'");
@@ -35,15 +32,18 @@
КонецЕсли;
- Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
- Элементы.ГруппаПрефиксУзлаРаспределеннойИнформационнойБазы.Видимость = Ложь;
- Элементы.ГруппаНастройкиСинхронизацииДанных.Видимость = Ложь;
- Элементы.ГруппаЗагрузкаДанныхEnterpriseData.Видимость = Ложь;
- Иначе
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
МассивДоступныхВерсий = Новый Соответствие;
МодульОбменДаннымиПереопределяемый = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиПереопределяемый");
МодульОбменДаннымиПереопределяемый.ПриПолученииДоступныхВерсийФормата(МассивДоступныхВерсий);
Элементы.ГруппаЗагрузкаДанныхEnterpriseData.Видимость = ?(МассивДоступныхВерсий.Количество() = 0, Ложь, Истина);
+
+ Элементы.ГруппаПрефиксУзлаРаспределеннойИнформационнойБазы.РасширеннаяПодсказка.Заголовок =
+ Метаданные.Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Подсказка;
+ Иначе
+ Элементы.ГруппаПрефиксУзлаРаспределеннойИнформационнойБазы.Видимость = Ложь;
+ Элементы.ГруппаНастройкиСинхронизацииДанных.Видимость = Ложь;
+ Элементы.ГруппаЗагрузкаДанныхEnterpriseData.Видимость = Ложь;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДатыЗапретаИзменения") Тогда
diff --git a/SSL/src/DataProcessors/ПереносФайловВТома/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ПереносФайловВТома/Forms/Форма/Module.bsl
index fd7be7130..e6768e692 100644
--- a/SSL/src/DataProcessors/ПереносФайловВТома/Forms/Форма/Module.bsl
+++ b/SSL/src/DataProcessors/ПереносФайловВТома/Forms/Форма/Module.bsl
@@ -247,15 +247,7 @@
| Справочник.ВерсииФайлов КАК ВерсииФайлов
|ГДЕ
| ВерсииФайлов.ТипХраненияФайла = ЗНАЧЕНИЕ(Перечисление.ТипыХраненияФайлов.ВИнформационнойБазе)
- |;
- |ВЫБРАТЬ
- | ВерсииФайлов.Ссылка КАК Ссылка,
- | ВерсииФайлов.Наименование КАК ПолноеНаименование,
- | ВерсииФайлов.Размер КАК Размер
- |ИЗ
- | Справочник.Файлы КАК ВерсииФайлов
- |ГДЕ
- | ВерсииФайлов.ТипХраненияФайла = ЗНАЧЕНИЕ(Перечисление.ТипыХраненияФайлов.ВИнформационнойБазе)";
+ |";
Для Каждого ТипСправочника Из Метаданные.ОпределяемыеТипы.ПрисоединенныйФайл.Тип.Типы() Цикл
ПолноеИмяСправочника = Метаданные.НайтиПоТипу(ТипСправочника).ПолноеИмя();
diff --git a/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПоискДублей/Module.bsl b/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПоискДублей/Module.bsl
index 29bedeb6d..05e6dadf0 100644
--- a/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПоискДублей/Module.bsl
+++ b/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПоискДублей/Module.bsl
@@ -7,7 +7,8 @@
Возврат;
КонецЕсли;
- Если ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПоискаСтрок", "FuzzySearch", ТипВнешнейКомпоненты.Native) Тогда
+ FuzzySearch = ОбщегоНазначения.ПодключитьКомпонентуИзМакета("FuzzyStringMatchExtension", "ОбщийМакет.КомпонентаПоискаСтрок");
+ Если FuzzySearch <> Неопределено Тогда
НечеткийПоиск = Истина;
КонецЕсли;
diff --git a/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl b/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl
index 7d91a6983..ef7d6aee7 100644
--- a/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl
+++ b/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl
@@ -313,9 +313,11 @@
// Выборка кандидатов данных из СУБД.
Выборка2 = ИнициализироватьВыборкуКД(СхемаКД, НастройкиКД);
Таблица2 = Выборка2.ПроцессорВыводаКД.Вывести(Выборка2.ПроцессорКД);
- Если СтруктураПолейПодобия.Количество() > 0 Тогда
- ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПоискаСтрок", "FuzzySearch", ТипВнешнейКомпоненты.Native);
- FuzzySearch = Новый("AddIn.FuzzySearch.FuzzyStringMatchExtension");
+
+ FuzzySearch = ОбщегоНазначения.ПодключитьКомпонентуИзМакета("FuzzyStringMatchExtension", "ОбщийМакет.КомпонентаПоискаСтрок");
+
+ Если FuzzySearch <> Неопределено И СтруктураПолейПодобия.Количество() > 0 Тогда
+
Для Каждого КлючЗначение Из СтруктураПолейПодобия Цикл
ИмяПоля = КлючЗначение.Ключ;
МассивСтрок = Таблица2.ВыгрузитьКолонку(ИмяПоля);
diff --git a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Module.bsl
index 2b91f26b3..e402ac5ec 100644
--- a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Module.bsl
+++ b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Module.bsl
@@ -1168,12 +1168,14 @@
СтрокиТаблицы = Объект.ИнформацияСтатистики.НайтиСтроки(Новый Структура("Ключ", ПараметрыОповещения.КлючУникальности));
- ЗаполнитьЗначенияСвойств(СтрокиТаблицы[0], ПараметрыОповещения, "ДанныеУспешноЗагружены");
-
- КлючиСтрок = Новый Массив;
- КлючиСтрок.Добавить(ПараметрыОповещения.КлючУникальности);
-
- ОбновитьИнформациюСопоставленияПоСтрокеНаСервере(Отказ, КлючиСтрок);
+ Если СтрокиТаблицы.Количество() > 0 Тогда
+ ЗаполнитьЗначенияСвойств(СтрокиТаблицы[0], ПараметрыОповещения, "ДанныеУспешноЗагружены");
+
+ КлючиСтрок = Новый Массив;
+ КлючиСтрок.Добавить(ПараметрыОповещения.КлючУникальности);
+
+ ОбновитьИнформациюСопоставленияПоСтрокеНаСервере(Отказ, КлючиСтрок);
+ КонецЕсли;
КонецПроцедуры
diff --git a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ObjectModule.bsl b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ObjectModule.bsl
index eff89aaa6..eae563cf1 100644
--- a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ObjectModule.bsl
+++ b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ObjectModule.bsl
@@ -331,7 +331,7 @@
ОбработкаОбменаДанными.ВыполнитьЗагрузкуДанныхВТаблицуЗначений(ТаблицыДляЗагрузки);
Если ОбработкаОбменаДанными.ФлагОшибки() Тогда
-
+ Отказ = Истина;
НСтрока = НСтр("ru = 'При загрузке сообщения обмена возникли ошибки: %1'");
НСтрока = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтрока, ОбработкаОбменаДанными.СтрокаСообщенияОбОшибке());
ОбменДаннымиСервер.ЗафиксироватьЗавершениеОбменаСОшибкой(СтруктураНастроекОбмена.УзелИнформационнойБазы,
diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Form.form b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Form.form
index 3e8d8639d..3e73efea8 100644
--- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Form.form
+++ b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Form.form
@@ -2008,7 +2008,6 @@
true
InputField
- true
true
Enter
true
diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Module.bsl
index c8ade59d7..518eb5955 100644
--- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Module.bsl
+++ b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Module.bsl
@@ -1419,8 +1419,15 @@
ЗапросыРазрешений = Новый Массив;
+ ПараметрыЗапроса = РегистрыСведений.НастройкиТранспортаОбмена.ПараметрыЗапросаНаИспользованиеВнешнихРесурсов();
+ ПараметрыЗапроса.ЗапрашиватьCOM = ЗапрашиватьCOM;
+ ПараметрыЗапроса.ЗапрашиватьFILE = ЗапрашиватьFILE;
+ ПараметрыЗапроса.ЗапрашиватьWS = ЗапрашиватьWS;
+ ПараметрыЗапроса.ЗапрашиватьFTP = ЗапрашиватьFTP;
+
РегистрыСведений.НастройкиТранспортаОбмена.ЗапросНаИспользованиеВнешнихРесурсов(ЗапросыРазрешений,
- Запись, ЗапрашиватьCOM, ЗапрашиватьFILE, ЗапрашиватьWS, ЗапрашиватьFTP);
+ Запись, ПараметрыЗапроса);
+
Возврат ЗапросыРазрешений;
КонецФункции
diff --git a/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныеФайлы/Form.form b/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныеФайлы/Form.form
index 86ce3d8f8..f55ef831f 100644
--- a/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныеФайлы/Form.form
+++ b/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныеФайлы/Form.form
@@ -110,8 +110,8 @@
Form.StandardCommand.Choose
- Normal
Auto
+ true
true
true
UserCmds
diff --git a/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныеФайлы/Module.bsl b/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныеФайлы/Module.bsl
index cc5f742d3..c356f9af3 100644
--- a/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныеФайлы/Module.bsl
+++ b/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныеФайлы/Module.bsl
@@ -24,8 +24,8 @@
ТипВладельца = ТипЗнч(Параметры.ВладелецФайла);
Если Метаданные.ОпределяемыеТипы.ВладелецФайлов.Тип.СодержитТип(ТипВладельца) Тогда
- ПолноеИмяВладельца = Метаданные.НайтиПоТипу(ТипВладельца).ПолноеИмя();
- Если Метаданные.НайтиПоПолномуИмени(ПолноеИмяВладельца + "ПрисоединенныеФайлы") = Неопределено Тогда
+ ПолноеИмяВладельца = Метаданные.НайтиПоТипу(ТипВладельца).Имя;
+ Если Метаданные.Справочники.Найти(ПолноеИмяВладельца + "ПрисоединенныеФайлы") = Неопределено Тогда
ЭтоВладелецЭлементовСправочникаФайлы = Истина;
КонецЕсли;
КонецЕсли;
@@ -88,7 +88,7 @@
Элементы.СписокКонтекстноеМенюДобавитьФайлПоШаблону.Видимость = Ложь;
КонецЕсли;
- ВозможностьСоздаватьВерсииФайлов = (ТипЗнч(Параметры.ВладелецФайла)= Тип("СправочникСсылка.Файлы"));
+ ВозможностьСоздаватьВерсииФайлов = ЭтоВладелецЭлементовСправочникаФайлы;
НастроитьДинамическийСписок(ИмяСправочникаХранилищаФайлов);
@@ -309,14 +309,7 @@
ГруппаФайлов = ТекущиеДанные.Ссылка;
КонецЕсли;
Если ЭтоВладелецЭлементовСправочникаФайлы Тогда
- ПараметрыВыполнения = Новый Структура;
- ПараметрыВыполнения.Вставить("ОбработчикРезультата", Неопределено);
- ПараметрыВыполнения.Вставить("ВладелецФайла", Параметры.ВладелецФайла);
- ПараметрыВыполнения.Вставить("ФормаВладелец", ЭтотОбъект);
- ПараметрыВыполнения.Вставить("НеОткрыватьКарточкуПослеСозданияИзФайла", Истина);
- ПараметрыВыполнения.Вставить("ЭтоФайл", Истина);
-
- РаботаСФайламиСлужебныйКлиент.ДобавитьПослеВыбораРежимаСоздания(2, ПараметрыВыполнения);
+ РаботаСФайламиСлужебныйКлиент.ДобавитьФайлИзФайловойСистемы(Параметры.ВладелецФайла, ЭтотОбъект);
Иначе
РаботаСФайламиКлиент.ДобавитьФайлы(Параметры.ВладелецФайла, УникальныйИдентификатор, , ГруппаФайлов);
КонецЕсли;
@@ -328,23 +321,7 @@
Процедура СписокПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
-
- Если НЕ ФайловыеКомандыДоступны() Тогда
- Возврат;
- КонецЕсли;
-
- ТекущиеДанные = Элементы.Список.ТекущиеДанные;
-
- ПараметрыФормы = Новый Структура;
- ПараметрыФормы.Вставить("Ключ", ТекущиеДанные.Ссылка);
- ПараметрыФормы.Вставить("ТолькоПросмотр", ТолькоПросмотр);
- ПараметрыФормы.Вставить("ПараметрыОтправки", ПараметрыОтправки);
-
- Если ТекущиеДанные.ЭтоГруппа Тогда
- ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ГруппаФайлов", ПараметрыФормы);
- Иначе
- ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ПрисоединенныйФайл", ПараметрыФормы);
- КонецЕсли;
+ ОткрытьКарточкуФайла();
КонецПроцедуры
@@ -360,47 +337,51 @@
СтандартнаяОбработка = Ложь;
- МассивИменФайлов = Новый Массив;
- МассивЭлементовСписка = Новый Массив;
-
- Если ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("Файл")
- И ПараметрыПеретаскивания.Значение.ЭтоФайл() Тогда
+ Если СтрСравнить(ИмяСправочникаХранилищаФайлов, "Файлы") = 0 Тогда
+ ПеретаскиваниеФайлов(ВладелецФайла, ПараметрыПеретаскивания.Значение, ПараметрыПеретаскивания.Действие);
+ Иначе
+ МассивИменФайлов = Новый Массив;
+ МассивЭлементовСписка = Новый Массив;
- МассивИменФайлов.Добавить(ПараметрыПеретаскивания.Значение.ПолноеИмя);
-
- ИначеЕсли ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("Массив") Тогда
-
- Если ПараметрыПеретаскивания.Значение.Количество() > 0 Тогда
+ Если ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("Файл")
+ И ПараметрыПеретаскивания.Значение.ЭтоФайл() Тогда
- ТипПеретаскиваемого = ТипЗнч(ПараметрыПеретаскивания.Значение[0]);
- Если ТипПеретаскиваемого = Тип("СправочникСсылка.Файлы") Тогда
- РаботаСФайламиСлужебныйКлиент.ПеренестиФайлыВПриложенныеФайлы(
+ МассивИменФайлов.Добавить(ПараметрыПеретаскивания.Значение.ПолноеИмя);
+
+ ИначеЕсли ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("Массив") Тогда
+
+ Если ПараметрыПеретаскивания.Значение.Количество() > 0 Тогда
+
+ ТипПеретаскиваемого = ТипЗнч(ПараметрыПеретаскивания.Значение[0]);
+ Если ТипПеретаскиваемого = Тип("СправочникСсылка.Файлы") Тогда
+ РаботаСФайламиСлужебныйКлиент.ПеренестиФайлыВПриложенныеФайлы(
ПараметрыПеретаскивания.Значение,
ВладелецФайла);
Возврат;
+ КонецЕсли;
+ Если ТипЗнч(ПараметрыПеретаскивания.Значение[0]) = Тип("Файл") Тогда
+ Для каждого Значение Из ПараметрыПеретаскивания.Значение Цикл
+ Если ТипЗнч(Значение) = Тип("Файл") И Значение.ЭтоФайл() Тогда
+ МассивИменФайлов.Добавить(Значение.ПолноеИмя);
+ КонецЕсли;
+ КонецЦикла;
+ ИначеЕсли ТипЗнч(ПараметрыПеретаскивания.Значение[0]) = ТипСправочникаСФайлами Тогда
+ Для Каждого Значение Из ПараметрыПеретаскивания.Значение Цикл
+ МассивЭлементовСписка.Добавить(Значение);
+ КонецЦикла;
+ КонецЕсли;
КонецЕсли;
- Если ТипЗнч(ПараметрыПеретаскивания.Значение[0]) = Тип("Файл") Тогда
- Для каждого Значение Из ПараметрыПеретаскивания.Значение Цикл
- Если ТипЗнч(Значение) = Тип("Файл") И Значение.ЭтоФайл() Тогда
- МассивИменФайлов.Добавить(Значение.ПолноеИмя);
- КонецЕсли;
- КонецЦикла;
- ИначеЕсли ТипЗнч(ПараметрыПеретаскивания.Значение[0]) = ТипСправочникаСФайлами Тогда
- Для Каждого Значение Из ПараметрыПеретаскивания.Значение Цикл
- МассивЭлементовСписка.Добавить(Значение);
- КонецЦикла;
- КонецЕсли;
+
КонецЕсли;
- КонецЕсли;
-
- Если МассивИменФайлов.Количество() > 0 Тогда
- РаботаСФайламиСлужебныйКлиент.ДобавитьФайлыПеретаскиванием(
+ Если МассивИменФайлов.Количество() > 0 Тогда
+ РаботаСФайламиСлужебныйКлиент.ДобавитьФайлыПеретаскиванием(
Параметры.ВладелецФайла, УникальныйИдентификатор, МассивИменФайлов);
- КонецЕсли;
+ КонецЕсли;
- Если МассивЭлементовСписка.Количество() > 0 И ВозможностьСоздаватьГруппыФайлов Тогда
- СтандартнаяОбработка = Истина;
+ Если МассивЭлементовСписка.Количество() > 0 И ВозможностьСоздаватьГруппыФайлов Тогда
+ СтандартнаяОбработка = Истина;
+ КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -536,20 +517,7 @@
&НаКлиенте
Процедура ОткрытьСвойстваФайла(Команда)
- ТекущиеДанные = Элементы.Список.ТекущиеДанные;
-
- Если ТекущиеДанные = Неопределено Тогда
- Возврат
- КонецЕсли;
-
- ПараметрыФормы = Новый Структура;
- ПараметрыФормы.Вставить("ПрисоединенныйФайл", ТекущиеДанные.Ссылка);
-
- Если ТекущиеДанные.ЭтоГруппа Тогда
- ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ГруппаФайлов", ПараметрыФормы);
- Иначе
- ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ПрисоединенныйФайл", ПараметрыФормы);
- КонецЕсли;
+ ОткрытьКарточкуФайла();
КонецПроцедуры
@@ -1162,6 +1130,32 @@
КонецПроцедуры
+&НаКлиенте
+Процедура ОткрытьКарточкуФайла()
+
+ Если НЕ ФайловыеКомандыДоступны() Тогда
+ Возврат;
+ КонецЕсли;
+
+ ТекущиеДанные = Элементы.Список.ТекущиеДанные;
+
+ Если ТекущиеДанные = Неопределено Тогда
+ Возврат;
+ КонецЕсли;
+
+ ПараметрыФормы = Новый Структура;
+ ПараметрыФормы.Вставить("Ключ", ТекущиеДанные.Ссылка);
+ ПараметрыФормы.Вставить("ТолькоПросмотр", ТолькоПросмотр);
+ ПараметрыФормы.Вставить("ПараметрыОтправки", ПараметрыОтправки);
+
+ Если ТекущиеДанные.ЭтоГруппа Тогда
+ ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ГруппаФайлов", ПараметрыФормы);
+ Иначе
+ ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ПрисоединенныйФайл", ПараметрыФормы);
+ КонецЕсли;
+
+КонецПроцедуры
+
&НаКлиенте
Процедура ОткрытьФайлПослеПодтверждения(Результат, ДополнительныеПараметры) Экспорт
@@ -1303,6 +1297,47 @@
КонецПроцедуры
+
+&НаКлиенте
+Процедура ПеретаскиваниеФайлов(ВладелецФайла, ЗначениеПеретаскивания, Действие)
+
+ МассивИменФайлов = Новый Массив;
+
+ ТипЗначения = ТипЗнч(ЗначениеПеретаскивания);
+ Если ТипЗначения = Тип("Файл") Тогда
+
+ Если ЗначениеПеретаскивания.ЭтоФайл() Тогда
+ МассивИменФайлов.Добавить(ЗначениеПеретаскивания.ПолноеИмя);
+ КонецЕсли;
+
+ ИначеЕсли ТипЗнч(ЗначениеПеретаскивания) = Тип("Массив") Тогда
+
+ Для Каждого ФайлПринятый Из ЗначениеПеретаскивания Цикл
+ Если ФайлПринятый.ЭтоФайл() Тогда
+ МассивИменФайлов.Добавить(ФайлПринятый.ПолноеИмя);
+ КонецЕсли;
+ КонецЦикла;
+
+ КонецЕсли;
+
+ ПараметрыДобавления = Новый Структура;
+ ПараметрыДобавления.Вставить("ОбработчикРезультата", Неопределено);
+ ПараметрыДобавления.Вставить("ПолноеИмяФайла", Неопределено);
+ ПараметрыДобавления.Вставить("ВладелецФайла", ВладелецФайла);
+ ПараметрыДобавления.Вставить("ФормаВладелец", ЭтотОбъект);
+ ПараметрыДобавления.Вставить("ИмяСоздаваемогоФайла", Неопределено);
+ ПараметрыДобавления.Вставить("НеОткрыватьКарточкуПослеСозданияИзФайла", Истина);
+
+ Для Каждого ФайлПринятый Из МассивИменФайлов Цикл
+ ПараметрыДобавления.ПолноеИмяФайла = ФайлПринятый;
+ РаботаСФайламиСлужебныйКлиент.ДобавитьИзФайловойСистемыСРасширением(ПараметрыДобавления);
+ КонецЦикла;
+
+ Элементы.Список.Обновить();
+
+КонецПроцедуры
+
+
&НаСервереБезКонтекста
Процедура ОсвободитьФайлы(Знач МассивФайлов)
@@ -1632,13 +1667,27 @@
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено И РасширенияПоддерживающиеПредпросмотр.НайтиПоЗначению(ТекущиеДанные.Расширение) <> Неопределено Тогда
- ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Ссылка, Неопределено, УникальныйИдентификатор);
- АдресДанныхФайла = ДанныеФайла.НавигационнаяСсылкаТекущейВерсии;
+
+ Попытка
+ ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Ссылка, Неопределено, УникальныйИдентификатор);
+ АдресДанныхФайла = ДанныеФайла.СсылкаНаДвоичныеДанныеФайла;
+ Исключение
+ // Если файла не существует, то будет вызвано исключение.
+ АдресДанныхФайла = Неопределено;
+ ТекстНевыбраннойКартинки = НСтр("ru = 'Предварительный просмотр недоступен по причине:'") + Символы.ПС + КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
+ КонецПопытки;
+
Иначе
- АдресДанныхФайла = Неопределено;
- Элементы.АдресДанныхФайла.ТекстНевыбраннойКартинки = НСтр("ru = 'Нет данных для предварительного просмотра'");
+
+ АдресДанныхФайла = Неопределено;
+ ТекстНевыбраннойКартинки = НСтр("ru = 'Нет данных для предварительного просмотра'");
+
КонецЕсли;
-
+
+ Если НЕ ЗначениеЗаполнено(АдресДанныхФайла) Тогда
+ Элементы.АдресДанныхФайла.ТекстНевыбраннойКартинки = ТекстНевыбраннойКартинки;
+ КонецЕсли;
+
КонецПроцедуры
&НаСервере
diff --git a/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныйФайл/Module.bsl b/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныйФайл/Module.bsl
index 30c302d21..3814328bd 100644
--- a/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныйФайл/Module.bsl
+++ b/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныйФайл/Module.bsl
@@ -200,7 +200,14 @@
Процедура СтандартнаяЗаписатьИЗакрыть(Команда)
Если ОбработатьКомандуЗаписиФайла() Тогда
- Закрыть();
+
+ Результат = Новый Структура();
+ Результат.Вставить("ТекстОшибки", "");
+ Результат.Вставить("ФайлДобавлен", Истина);
+ Результат.Вставить("ФайлСсылка", ЭтотОбъект.Объект.Ссылка);
+
+ Закрыть(Результат);
+
КонецЕсли;
КонецПроцедуры
diff --git a/SSL/src/DataProcessors/РасширенныйВводКонтактнойИнформации/Forms/ВводАдреса/Module.bsl b/SSL/src/DataProcessors/РасширенныйВводКонтактнойИнформации/Forms/ВводАдреса/Module.bsl
index 9abcdad65..5397bf804 100644
--- a/SSL/src/DataProcessors/РасширенныйВводКонтактнойИнформации/Forms/ВводАдреса/Module.bsl
+++ b/SSL/src/DataProcessors/РасширенныйВводКонтактнойИнформации/Forms/ВводАдреса/Module.bsl
@@ -441,6 +441,7 @@
&НаКлиенте
Процедура СтроениеАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
+
Если ЗначениеЗаполнено(Текст)
И (ЗначениеЗаполнено(ЭтотОбъект.ИдентификаторНаселенногоПункта)
ИЛИ ЗначениеЗаполнено(ЭтотОбъект.ИдентификаторУлицы)) Тогда
@@ -448,10 +449,11 @@
ИдентификаторУлицы, ИдентификаторНаселенногоПункта);
ДанныеВыбора = СписокАвтоподбораВариантовДомов(Идентификатор, Дом);
- Если ДанныеВыбора.Количество() > 0 Тогда
+ Если ДанныеВыбора.Количество() > 1 Тогда
СтандартнаяОбработка = Ложь;
КонецЕсли;
- КонецЕсли;
+ КонецЕсли;
+
КонецПроцедуры
@@ -2970,6 +2972,9 @@
&НаКлиенте
Процедура ПослеПроверкиДоступностиКлассификатораВФоне(Задание, ДополнительныеПараметры) Экспорт
+ Если Задание = Неопределено Тогда
+ Возврат;
+ КонецЕсли;
Если Задание.Статус = "Выполнено" Тогда
ДоступностьКлассификатора = ПолучитьИзВременногоХранилища(Задание.АдресРезультата);
Если ДоступностьКлассификатора <> Неопределено Тогда
@@ -3064,6 +3069,7 @@
Модифицированность = Истина;
НеобходимоПерерисоватьПоляДомов = Ложь;
+
Если ДополнительныеЗдания.Количество() > 0 Тогда
ДополнительныеЗдания.Очистить();
НеобходимоПерерисоватьПоляДомов = Истина;
@@ -3071,41 +3077,39 @@
Если ВыбранноеЗначение.Свойство("Дом") Тогда
ИнформацияОДоме = ВыбранноеЗначение.Дом;
- Дом = ИнформацияОДоме.НомерВладения;
- ТипДома = ИнформацияОДоме.ВидВладения;
+ Дом = ИнформацияОДоме.НомерВладения;
+ ТипДома = ИнформацияОДоме.ВидВладения;
Иначе
ИнформацияОДоме = Неопределено;
КонецЕсли;
- ИнформацияОКорпусе = Неопределено;
+
+ ИнформацияОКорпусе = Неопределено;
ИнформацияОСтроение = Неопределено;
ВыбранноеЗначение.Свойство("Корпус", ИнформацияОКорпусе);
ВыбранноеЗначение.Свойство("Строение", ИнформацияОСтроение);
+
СтроениеПустое = Истина;
Элементы.Дом.ОбновитьТекстРедактирования();
+
Если ИнформацияОКорпусе <> Неопределено Тогда
- Строение = ИнформацияОКорпусе.НомерКорпуса;
- ТипСтроения = ИнформацияОКорпусе.ВидКорпуса;
+ Строение = ИнформацияОКорпусе.НомерКорпуса;
+ ТипСтроения = ИнформацияОКорпусе.ВидКорпуса;
ТекущийЭлемент = Элементы.Строение;
СтроениеПустое = Ложь;
КонецЕсли;
+
Если ИнформацияОСтроение <> Неопределено Тогда
Если ИнформацияОКорпусе <> Неопределено Тогда
ДополнительныеЗдания.Очистить();
Строка = ДополнительныеЗдания.Добавить();
- Строка.Тип = ТРег(ИнформацияОСтроение.ВидСтроения);
+ Строка.Тип = ПерваяБукваЗаглавная(ИнформацияОСтроение.ВидСтроения);
Строка.ПутьXPath = РаботаСАдресамиКлиентСервер.XPathНомераДополнительногоОбъектаАдресации(Строка.Тип);
- Строка.Значение = ИнформацияОСтроение.НомерСтроения;
- ИмяТекущего = ОтобразитьДополнительныеЗдания();
- НеобходимоПерерисоватьПоляДомов = Ложь;
- Если ИмяТекущего <> Неопределено Тогда
- ЭтотОбъект[ИмяТекущего] = ИнформацияОСтроение.НомерСтроения;
- ТекущийЭлемент = Элементы[ИмяТекущего];
- ТекущийЭлемент.ОбновитьТекстРедактирования();
- КонецЕсли;
+ Строка.Значение = ИнформацияОСтроение.НомерСтроения;
+ НеобходимоПерерисоватьПоляДомов = Истина;
Иначе
- Строение = ИнформацияОСтроение.НомерСтроения;
- ТипСтроения = ТРег(ИнформацияОСтроение.ВидСтроения);
+ Строение = ИнформацияОСтроение.НомерСтроения;
+ ТипСтроения = ПерваяБукваЗаглавная(ИнформацияОСтроение.ВидСтроения);
ТекущийЭлемент = Элементы.Строение;
КонецЕсли;
СтроениеПустое = Ложь;
@@ -3114,15 +3118,30 @@
Если СтроениеПустое Тогда
Строение = "";
КонецЕсли;
+ Элементы.Строение.КнопкаВыбора = Не СтроениеПустое;
Если НеобходимоПерерисоватьПоляДомов Тогда
- ОтобразитьДополнительныеЗдания();
+ ПодключитьОбработчикОжидания("ОтобразитьДополнительныеЗданияКлиент", 0.1, Истина);
КоличествоВариантов = НеиспользованныеЭлементыДополнительнойТаблицы(ДополнительныеЗдания, Элементы.ТипСтроения, 1);
Элементы.ДобавитьОбъект.Доступность = КоличествоВариантов.Количество() > 1;
КонецЕсли;
ОбновитьИндексИПредставление();
+КонецПроцедуры
+&НаКлиенте
+Функция ПерваяБукваЗаглавная(Строка)
+ Возврат ВРег(Лев(Строка, 1)) + НРег(Сред(Строка, 2));
+КонецФункции
+
+&НаКлиенте
+Процедура ОтобразитьДополнительныеЗданияКлиент()
+ ИмяТекущего = ОтобразитьДополнительныеЗдания();
+
+ Если ИмяТекущего <> Неопределено Тогда
+ ТекущийЭлемент = Элементы[ИмяТекущего];
+ КонецЕсли;
+
КонецПроцедуры
&НаКлиенте
diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборУзлаПланаОбмена/Module.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборУзлаПланаОбмена/Module.bsl
index 577a41dea..00ce9fe8f 100644
--- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборУзлаПланаОбмена/Module.bsl
+++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборУзлаПланаОбмена/Module.bsl
@@ -156,6 +156,7 @@
КонецЦикла;
КонецПроцедуры
+&НаСервере
Функция ЭтотОбъект(ТекущийОбъект = Неопределено)
Если ТекущийОбъект = Неопределено Тогда
Возврат РеквизитФормыВЗначение("Объект");
diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Module.bsl
index b43717304..f29e3d57f 100644
--- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Module.bsl
+++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Module.bsl
@@ -1366,7 +1366,10 @@
Процедура РезультатВыполненияФоновогоЗадания()
ФоновоеЗаданиеПолучитьРезультатНаСервере();
ДлительнаяОперацияЗапущена = Ложь;
+
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.Основная;
+ ТекущийЭлемент = Элементы.ДеревоМетаданных;
+
Если ЗначениеЗаполнено(СообщениеОбОшибке) Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = СообщениеОбОшибке;
@@ -2514,14 +2517,16 @@
&НаСервере
Функция ПодготовитьПараметрыИзмененияРегистрации(Команда, БезУчетаАвторегистрации, Данные, ИмяТаблицы = Неопределено)
- Результат = Новый Структура();
+ Результат = Новый Структура;
Результат.Вставить("Команда", Команда);
Результат.Вставить("БезУчетаАвторегистрации", БезУчетаАвторегистрации);
Результат.Вставить("Узел", УзелОбменаСсылка);
Результат.Вставить("Данные", Данные);
Результат.Вставить("ИмяТаблицы", ИмяТаблицы);
- Результат.Вставить("ДоступнаРегистрацияСредствамиБСП", Объект.ДоступнаРегистрацияСредствамиБСП);
- Результат.Вставить("ДоступнаРаботаРИБ", Объект.ДоступнаРаботаРИБ);
+
+ Результат.Вставить("КонфигурацияПоддерживаетБСП", Объект.КонфигурацияПоддерживаетБСП);
+ Результат.Вставить("ДоступнаРегистрацияСредствамиБСП", Объект.ДоступнаРегистрацияСредствамиБСП);
+ Результат.Вставить("ДоступнаРаботаРИБ", Объект.ДоступнаРаботаРИБ);
Результат.Вставить("НастройкаКонтрольВыгрузкиОбъектов", Объект.НастройкаКонтрольВыгрузкиОбъектов);
Возврат Результат;
КонецФункции
diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/ObjectModule.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/ObjectModule.bsl
index 584b4b566..c048fd717 100644
--- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/ObjectModule.bsl
+++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/ObjectModule.bsl
@@ -519,14 +519,19 @@
Функция ВыполнитьИзменениеРегистрации(ПараметрыЗадания, АдресХранилища = Неопределено) Экспорт
ИмяТаблицы = Неопределено;
ПараметрыЗадания.Свойство("ИмяТаблицы", ИмяТаблицы);
- ДоступнаРегистрацияСредствамиБСП = ПараметрыЗадания.ДоступнаРегистрацияСредствамиБСП;
- ДоступнаРаботаРИБ = ПараметрыЗадания.ДоступнаРаботаРИБ;
+
+ КонфигурацияПоддерживаетБСП = ПараметрыЗадания.КонфигурацияПоддерживаетБСП;
+ ДоступнаРегистрацияСредствамиБСП = ПараметрыЗадания.ДоступнаРегистрацияСредствамиБСП;
+ ДоступнаРаботаРИБ = ПараметрыЗадания.ДоступнаРаботаРИБ;
НастройкаКонтрольВыгрузкиОбъектов = ПараметрыЗадания.НастройкаКонтрольВыгрузкиОбъектов;
+
РезультатВыполнения = ИзменитьРегистрациюНаСервере(ПараметрыЗадания.Команда, ПараметрыЗадания.БезУчетаАвторегистрации,
- ПараметрыЗадания.Узел, ПараметрыЗадания.Данные, ИмяТаблицы);
+ ПараметрыЗадания.Узел, ПараметрыЗадания.Данные, ИмяТаблицы);
+
Если АдресХранилища <> Неопределено Тогда
ПоместитьВоВременноеХранилище(РезультатВыполнения, АдресХранилища);
КонецЕсли;
+
Возврат РезультатВыполнения;
КонецФункции
@@ -1272,7 +1277,7 @@
// * Успешно - Число - числом успешно обработанных объектов.
// * Команда - Значение входящего параметра Команда для упрощения обработки результатов.
//
-Функция ИзменитьРегистрациюНаСервере(Команда, БезУчетаАвторегистрации, Узел, Данные, ИмяТаблицы = Неопределено)
+Функция ИзменитьРегистрациюНаСервере(Команда, БезУчетаАвторегистрации, Узел, Данные, ИмяТаблицы = Неопределено) Экспорт
ПрочитатьНастройки();
Результат = Новый Структура("Всего, Успешно", 0, 0);
@@ -2157,6 +2162,8 @@
+ ЗарегистрироватьИзменениеПредопределенныхДляУзла(Узел, Метаданные.ПланыВидовРасчета);
Результат.Всего = Результат.Успешно;
+ Результат.Вставить("Команда", Истина);
+
Возврат Результат;
КонецФункции
diff --git a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/ЗаставкаВосстановления/Template.txt b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/ЗаставкаВосстановления/Template.txt
index 6e3be8c8d..2a0245e27 100644
--- a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/ЗаставкаВосстановления/Template.txt
+++ b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/ЗаставкаВосстановления/Template.txt
@@ -1,10 +1,20 @@
+
-
-
+
+
+
Восстановление данных из резервной копии...
-