diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаВводаПолномочий/Module.bsl b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаВводаПолномочий/Module.bsl
index 0391a3b1b..cb2cdd566 100644
--- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаВводаПолномочий/Module.bsl
+++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаВводаПолномочий/Module.bsl
@@ -315,6 +315,7 @@
Процедура ОбновитьКлассификаторыПолномочий(Команда)
ОбновитьКлассификаторыПолномочийНаСервере();
+ ОбновитьСписокПолномочий();
ПоказатьПредупреждение(, НСтр("ru = 'Обновление классификаторов полномочий выполнено.'"));
КонецПроцедуры
@@ -844,4 +845,19 @@
КонецПроцедуры
+&НаКлиенте
+Процедура ОбновитьСписокПолномочий()
+
+ КодыПолномочий = Новый Массив;
+
+ Для Каждого Полномочие Из ВыбранныеПолномочияТаблица Цикл
+ Если ЗначениеЗаполнено(Полномочие.Код) И Не Полномочие.НетВКлассификаторе Тогда
+ КодыПолномочий.Добавить(Полномочие.Код);
+ КонецЕсли;
+ КонецЦикла;
+
+ СформироватьДеревоПолномочий(ПоместитьВоВременноеХранилище(КодыПолномочий));
+
+КонецПроцедуры
+
#КонецОбласти
diff --git a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Module.bsl
index 84862e54b..1ca184543 100644
--- a/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Module.bsl
+++ b/SSL/src/Catalogs/МашиночитаемыеДоверенности/Forms/ФормаСписка/Module.bsl
@@ -570,9 +570,10 @@
КонецПроцедуры
&НаКлиенте
-Процедура СертификатОкончаниеВыбора(Результат, Контекст) Экспорт
+Асинх Процедура СертификатОкончаниеВыбора(Результат, Контекст) Экспорт
Если ТипЗнч(Результат) = Тип("ДвоичныеДанные") Тогда
- Сертификат = ЭлектроннаяПодписьКлиент.ПредставлениеСертификата(Новый СертификатКриптографии(Результат));
+ СвойстваСертификата = Ждать ЭлектроннаяПодписьСлужебныйКлиент.СвойстваСертификата(Новый СертификатКриптографии(Результат));
+ Сертификат = СвойстваСертификата.Представление;
СертификатПредставителя = Результат;
Иначе
Сертификат = Неопределено;
diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl b/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl
index 74b305ad0..8fa49ccc1 100644
--- a/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl
+++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl
@@ -110,8 +110,8 @@
УстановитьПривилегированныйРежим(Истина);
СвойстваСеанса = УправлениеДоступомСлужебныйПовтИсп.ОписаниеСвойствВидовДоступаСеанса().СвойстваСеанса;
- ПроверенныеПоставляемыеПрофилиСеанса = ПроверенныеПоставляемыеПрофилиСеанса(СвойстваСеанса);
- НовоеЗначение = ХешСуммаПоставляемыхПрофилей(ПроверенныеПоставляемыеПрофилиСеанса);
+ НовоеЗначение = "";
+ ПроверенныеПоставляемыеПрофилиСеанса(СвойстваСеанса, НовоеЗначение);
НачатьТранзакцию();
Попытка
@@ -1476,19 +1476,21 @@
// Для вызова из УправлениеДоступомСлужебныйПовтИсп.ОписаниеСтандартныхРолейРасширенийСеанса
//
+// Параметры:
+// ХешСумма - Строка - возвращаемое значение.
+//
// Возвращаемое значение:
// см. УправлениеДоступомСлужебный.СтандартныеРолиРасширений
//
-Функция ПодготовленныеСтандартныеРолиРасширенийСеанса() Экспорт
+Функция ПодготовленныеСтандартныеРолиРасширенийСеанса(ХешСумма) Экспорт
- Результат = Новый Структура;
- Результат.Вставить("ОбщиеПрава", Новый Массив);
- Результат.Вставить("БазовыеПрава", Новый Массив);
- Результат.Вставить("БазовыеПраваВнешнихПользователей", Новый Массив);
- Результат.Вставить("АдминистраторСистемы", Новый Массив);
- Результат.Вставить("ПолныеПрава", Новый Массив);
- Результат.Вставить("Все", Новый Соответствие);
- Результат.Вставить("ДополнительныеРолиАдминистратора", Новый Соответствие);
+ ОбщиеПрава = Новый СписокЗначений;
+ БазовыеПрава = Новый СписокЗначений;
+ БазовыеПраваВнешнихПользователей = Новый СписокЗначений;
+ АдминистраторСистемы = Новый СписокЗначений;
+ ПолныеПрава = Новый СписокЗначений;
+ ДополнительныеРолиАдминистратора = Новый СписокЗначений;
+ ВсеРоли = Новый Соответствие;
РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
@@ -1500,41 +1502,100 @@
ИмяРоли = Роль.Имя;
Если СтрЗаканчиваетсяНа(ВРег(ИмяРоли), ВРег("ОбщиеПрава")) Тогда
- Результат.ОбщиеПрава.Добавить(ИмяРоли);
- Результат.ДополнительныеРолиАдминистратора.Вставить(ИмяРоли, Истина);
- Результат.Все.Вставить(ИмяРоли, "ОбщиеПрава");
+ ОбщиеПрава.Добавить(ИмяРоли);
+ ДополнительныеРолиАдминистратора.Добавить(ИмяРоли);
+ ВсеРоли.Вставить(ИмяРоли, "ОбщиеПрава");
ИначеЕсли СтрЗаканчиваетсяНа(ВРег(ИмяРоли), ВРег("ПолныеПрава")) Тогда
- Результат.ПолныеПрава.Добавить(ИмяРоли);
- Результат.ДополнительныеРолиАдминистратора.Вставить(ИмяРоли, Истина);
- Результат.Все.Вставить(ИмяРоли, "ПолныеПрава");
+ ПолныеПрава.Добавить(ИмяРоли);
+ ДополнительныеРолиАдминистратора.Добавить(ИмяРоли);
+ ВсеРоли.Вставить(ИмяРоли, "ПолныеПрава");
ИначеЕсли СтрЗаканчиваетсяНа(ВРег(ИмяРоли), ВРег("БазовыеПрава")) Тогда
- Результат.БазовыеПрава.Добавить(ИмяРоли);
- Результат.Все.Вставить(ИмяРоли, "БазовыеПрава");
+ БазовыеПрава.Добавить(ИмяРоли);
+ ВсеРоли.Вставить(ИмяРоли, "БазовыеПрава");
ИначеЕсли СтрЗаканчиваетсяНа(ВРег(ИмяРоли), ВРег("БазовыеПраваВнешнихПользователей")) Тогда
- Результат.БазовыеПраваВнешнихПользователей.Добавить(ИмяРоли);
- Результат.Все.Вставить(ИмяРоли, "БазовыеПраваВнешнихПользователей");
+ БазовыеПраваВнешнихПользователей.Добавить(ИмяРоли);
+ ВсеРоли.Вставить(ИмяРоли, "БазовыеПраваВнешнихПользователей");
ИначеЕсли СтрЗаканчиваетсяНа(ВРег(ИмяРоли), ВРег("АдминистраторСистемы")) Тогда
- Результат.АдминистраторСистемы.Добавить(ИмяРоли);
- Результат.Все.Вставить(ИмяРоли, "АдминистраторСистемы");
+ АдминистраторСистемы.Добавить(ИмяРоли);
+ ВсеРоли.Вставить(ИмяРоли, "АдминистраторСистемы");
Если Не РазделениеВключено Тогда
- Результат.ДополнительныеРолиАдминистратора.Вставить(ИмяРоли, Истина);
+ ДополнительныеРолиАдминистратора.Добавить(ИмяРоли);
КонецЕсли;
КонецЕсли;
КонецЦикла;
- Возврат ОбщегоНазначения.ФиксированныеДанные(Результат);
+ ОбщиеПрава.СортироватьПоЗначению();
+ БазовыеПрава.СортироватьПоЗначению();
+ БазовыеПраваВнешнихПользователей.СортироватьПоЗначению();
+ АдминистраторСистемы.СортироватьПоЗначению();
+ ПолныеПрава.СортироватьПоЗначению();
+ ДополнительныеРолиАдминистратора.СортироватьПоЗначению();
+
+ ОбщиеПрава = ОбщиеПрава.ВыгрузитьЗначения();
+ БазовыеПрава = БазовыеПрава.ВыгрузитьЗначения();
+ БазовыеПраваВнешнихПользователей = БазовыеПраваВнешнихПользователей.ВыгрузитьЗначения();
+ АдминистраторСистемы = АдминистраторСистемы.ВыгрузитьЗначения();
+ ПолныеПрава = ПолныеПрава.ВыгрузитьЗначения();
+ ДополнительныеРолиАдминистратора = ДополнительныеРолиАдминистратора.ВыгрузитьЗначения();
+
+ ДополнительныеРоли = Новый Соответствие;
+ Для Каждого ИмяРоли Из ДополнительныеРолиАдминистратора Цикл
+ ДополнительныеРоли.Вставить(ИмяРоли, Истина);
+ КонецЦикла;
+
+ Свойства = Новый Структура;
+ Свойства.Вставить("ОбщиеПрава",
+ Новый ФиксированныйМассив(ОбщиеПрава));
+
+ Свойства.Вставить("БазовыеПрава",
+ Новый ФиксированныйМассив(БазовыеПрава));
+
+ Свойства.Вставить("БазовыеПраваВнешнихПользователей",
+ Новый ФиксированныйМассив(БазовыеПраваВнешнихПользователей));
+
+ Свойства.Вставить("АдминистраторСистемы",
+ Новый ФиксированныйМассив(АдминистраторСистемы));
+
+ Свойства.Вставить("ПолныеПрава",
+ Новый ФиксированныйМассив(ПолныеПрава));
+
+ Свойства.Вставить("Все",
+ Новый ФиксированноеСоответствие(ВсеРоли));
+
+ Свойства.Вставить("ДополнительныеРолиАдминистратора",
+ Новый ФиксированноеСоответствие(ДополнительныеРоли));
+
+ ОписаниеВерсии = Новый Структура("СвойстваВерсии", Новый Массив);
+ ДобавитьЭлементВерсии(ОписаниеВерсии, "Версия", "1");
+ ДобавитьЭлементВерсии(ОписаниеВерсии, "ОбщиеПрава", ОбщиеПрава);
+ ДобавитьЭлементВерсии(ОписаниеВерсии, "БазовыеПрава", БазовыеПрава);
+ ДобавитьЭлементВерсии(ОписаниеВерсии, "БазовыеПраваВнешнихПользователей", БазовыеПраваВнешнихПользователей);
+ ДобавитьЭлементВерсии(ОписаниеВерсии, "АдминистраторСистемы", АдминистраторСистемы);
+ ДобавитьЭлементВерсии(ОписаниеВерсии, "ПолныеПрава", ПолныеПрава);
+ ДобавитьЭлементВерсии(ОписаниеВерсии, "ДополнительныеРолиАдминистратора", ДополнительныеРолиАдминистратора);
+
+ Результат = Новый ФиксированнаяСтруктура(Свойства);
+
+ СтрокаВерсии = СтрСоединить(ОписаниеВерсии.СвойстваВерсии, Символы.ПС);
+ ХешСумма = УправлениеДоступомСлужебный.ХешСуммаДанных(СтрокаВерсии);
+
+ Возврат Результат;
КонецФункции
-Функция ХешСуммаСтандартныхРолейРасширений(СтандартныеРоли) Экспорт
-
- Возврат УправлениеДоступомСлужебный.ХешСуммаДанных(СтандартныеРоли);
-
-КонецФункции
+// См. УправлениеДоступомСлужебный.ДобавитьЭлементВерсии
+Процедура ДобавитьЭлементВерсии(Контекст, ИмяПоля, Значение)
+ УправлениеДоступомСлужебный.ДобавитьЭлементВерсии(Контекст, ИмяПоля, Значение);
+КонецПроцедуры
+
+// См. УправлениеДоступомСлужебный.ДобавитьСвойстваВерсии
+Процедура ДобавитьСвойстваВерсии(Контекст, Структура, ИменаПолей)
+ УправлениеДоступомСлужебный.ДобавитьСвойстваВерсии(Контекст, Структура, ИменаПолей);
+КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции для поддержки обмена данными в РИБ.
@@ -1877,11 +1938,12 @@
// Параметры:
// СвойстваВидовДоступа - см. УправлениеДоступомСлужебный.СвойстваВидовДоступа
// - Неопределено
+// ХешСумма - Строка - возвращаемое значение.
//
// Возвращаемое значение:
// см. УправлениеДоступомСлужебный.ПоставляемыеПрофили
//
-Функция ПроверенныеПоставляемыеПрофилиСеанса(СвойстваВидовДоступа = Неопределено) Экспорт
+Функция ПроверенныеПоставляемыеПрофилиСеанса(СвойстваВидовДоступа = Неопределено, ХешСумма = "") Экспорт
ЗаполненныеПоставляемыеПрофили = ЗаполненныеПоставляемыеПрофили();
ПараметрыОбновления = ЗаполненныеПоставляемыеПрофили.ПараметрыОбновления;
@@ -1916,11 +1978,11 @@
// Преобразование описаний в соответствие идентификаторов и
// свойств для хранения и быстрой обработки.
- ВсеИмена = Новый Соответствие;
- ВсеИдентификаторы = Новый Соответствие;
- ИменаПапокПрофилей = Новый Соответствие;
- СвойстваПрофилей = Новый Соответствие;
- ОписанияПрофилейМассив = Новый Массив;
+ ВсеИмена = Новый Соответствие;
+ ВсеИдентификаторы = Новый Соответствие;
+ ИменаПапокПрофилей = Новый Соответствие;
+ СписокПрофилей = Новый СписокЗначений;
+
Для Каждого ОписаниеПрофиля Из ОписанияПрофилей Цикл
ОписаниеПрофиля.Удалить("Описание");
ЭтоГруппа = Не ОписаниеПрофиля.Свойство("Роли");
@@ -1948,7 +2010,6 @@
СвойстваПрофиля.Вставить("Родитель", "");
СвойстваПрофиля.Вставить("Идентификатор", "");
СвойстваПрофиля.Вставить("Наименование", "");
- СвойстваПрофиля.Вставить("Роли", Новый Массив);
ЗаполнитьЗначенияСвойств(СвойстваПрофиля, ОписаниеПрофиля);
СвойстваПрофиля.Вставить("ЭтоГруппа", ЭтоГруппа);
@@ -1959,8 +2020,7 @@
ВызватьИсключение ТекстОшибки;
КонецЕсли;
ВсеИдентификаторы.Вставить(ВРег(СвойстваПрофиля.Идентификатор), Истина);
- СвойстваПрофилей.Вставить(СвойстваПрофиля.Идентификатор, СвойстваПрофиля);
- ОписанияПрофилейМассив.Добавить(СвойстваПрофиля);
+ СписокПрофилей.Добавить(СвойстваПрофиля, НРег(СвойстваПрофиля.Идентификатор));
Если ЭтоГруппа И Не ЗначениеЗаполнено(СвойстваПрофиля.Имя) Тогда
ТекстОшибки = ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -1982,7 +2042,6 @@
ВызватьИсключение ТекстОшибки;
КонецЕсли;
ВсеИмена.Вставить(ВРег(СвойстваПрофиля.Имя), Истина);
- СвойстваПрофилей.Вставить(СвойстваПрофиля.Имя, СвойстваПрофиля);
КонецЕсли;
Если ЭтоГруппа Тогда
@@ -2056,29 +2115,84 @@
КонецЦикла;
КонецЦикла;
- ПоставляемыеПрофили = Новый Структура;
- ПоставляемыеПрофили.Вставить("ПараметрыОбновления", ПараметрыОбновления);
- ПоставляемыеПрофили.Вставить("ОписанияПрофилей", СвойстваПрофилей);
- ПоставляемыеПрофили.Вставить("ОписанияПрофилейМассив", ОписанияПрофилейМассив);
- ПоставляемыеПрофили.Вставить("ПапкиПоРодителям", ПапкиПоРодителям);
-
- Возврат ОбщегоНазначения.ФиксированныеДанные(ПоставляемыеПрофили);
-
-КонецФункции
-
-// Параметры:
-// ПоставляемыеПрофили - см. УправлениеДоступомСлужебный.ПоставляемыеПрофили
-//
-// Возвращаемое значение:
-// Строка
-//
-Функция ХешСуммаПоставляемыхПрофилей(ПоставляемыеПрофили) Экспорт
-
- ДанныеДляХеширования = Новый Структура(ПоставляемыеПрофили);
- ДанныеДляХеширования.Вставить("ИменаПредопределенных",
+ ОписаниеВерсии = Новый Структура("СвойстваВерсии", Новый Массив);
+ ДобавитьЭлементВерсии(ОписаниеВерсии, "Версия", "1");
+ ДобавитьЭлементВерсии(ОписаниеВерсии, "ИменаПредопределенных",
Метаданные.Справочники.ПрофилиГруппДоступа.ПолучитьИменаПредопределенных());
- Возврат УправлениеДоступомСлужебный.ХешСуммаДанных(ДанныеДляХеширования);
+ ДобавитьСвойстваВерсии(ОписаниеВерсии, ПараметрыОбновления,
+ "ОбновлятьИзмененныеПрофили,
+ |ЗапретитьИзменениеПрофилей,
+ |ОбновлятьГруппыДоступа,
+ |ОбновлятьГруппыДоступаСУстаревшимиНастройками");
+
+ СписокПрофилей.СортироватьПоПредставлению();
+ СвойстваПрофилей = Новый Соответствие;
+ ОписанияПрофилейМассив = Новый Массив;
+ РазделениеВключено = ОбщегоНазначения.РазделениеВключено();
+
+ Для Каждого ОписаниеПрофиля Из СписокПрофилей Цикл
+ СвойстваПрофиля = Новый ФиксированнаяСтруктура(ОписаниеПрофиля.Значение);
+ ОписанияПрофилейМассив.Добавить(СвойстваПрофиля);
+ СвойстваПрофилей.Вставить(СвойстваПрофиля.Идентификатор, СвойстваПрофиля);
+ Если ЗначениеЗаполнено(СвойстваПрофиля.Имя) Тогда
+ СвойстваПрофилей.Вставить(СвойстваПрофиля.Имя, СвойстваПрофиля);
+ КонецЕсли;
+ ОписаниеВерсии.СвойстваВерсии.Добавить("");
+ ДобавитьСвойстваВерсии(ОписаниеВерсии, СвойстваПрофиля,
+ "Имя, Родитель, Идентификатор, Наименование");
+ Если СвойстваПрофиля.ЭтоГруппа Тогда
+ Продолжить;
+ КонецЕсли;
+ ДобавитьСвойстваВерсии(ОписаниеВерсии, СвойстваПрофиля, "Назначение, Роли");
+ Если РазделениеВключено Тогда
+ РолиНедоступныеВСервисе = Новый СписокЗначений;
+ Для Каждого ОписаниеРоли Из СвойстваПрофиля.РолиНедоступныеВСервисе Цикл
+ РолиНедоступныеВСервисе.Добавить(ОписаниеРоли.Ключ);
+ КонецЦикла;
+ РолиНедоступныеВСервисе.СортироватьПоЗначению();
+ ДобавитьЭлементВерсии(ОписаниеВерсии,
+ "РолиНедоступныеВСервисе", РолиНедоступныеВСервисе.ВыгрузитьЗначения());
+ КонецЕсли;
+ ВидыДоступа = Новый СписокЗначений;
+ Для Каждого КлючИЗначение Из СвойстваПрофиля.ВидыДоступа Цикл
+ ЗначенияДоступа = Новый СписокЗначений;
+ ВидыДоступа.Добавить(ЗначенияДоступа, КлючИЗначение.Ключ + " (" + КлючИЗначение.Значение + ")");
+ Для Каждого ОписаниеЗначения Из СвойстваПрофиля.ЗначенияДоступа Цикл
+ Если ОписаниеЗначения.ВидДоступа = КлючИЗначение.Ключ Тогда
+ ЗначенияДоступа.Добавить(ОписаниеЗначения.ЗначениеДоступа);
+ КонецЕсли;
+ КонецЦикла;
+ ЗначенияДоступа.СортироватьПоЗначению();
+ КонецЦикла;
+ ВидыДоступа.СортироватьПоПредставлению();
+ Для Каждого ЭлементСписка Из ВидыДоступа Цикл
+ Если ЗначениеЗаполнено(ЭлементСписка.Значение) Тогда
+ ДобавитьЭлементВерсии(ОписаниеВерсии,
+ ЭлементСписка.Представление, ЭлементСписка.Значение.ВыгрузитьЗначения());
+ Иначе
+ ОписаниеВерсии.СвойстваВерсии.Добавить(ЭлементСписка.Представление);
+ КонецЕсли;
+ КонецЦикла;
+ КонецЦикла;
+
+ СтрокаВерсии = СтрСоединить(ОписаниеВерсии.СвойстваВерсии, Символы.ПС);
+ ХешСумма = УправлениеДоступомСлужебный.ХешСуммаДанных(СтрокаВерсии);
+
+ Результат = Новый Структура;
+ Результат.Вставить("ПараметрыОбновления",
+ Новый ФиксированнаяСтруктура(ПараметрыОбновления));
+
+ Результат.Вставить("ОписанияПрофилей",
+ Новый ФиксированноеСоответствие(СвойстваПрофилей));
+
+ Результат.Вставить("ОписанияПрофилейМассив",
+ Новый ФиксированныйМассив(ОписанияПрофилейМассив));
+
+ Результат.Вставить("ПапкиПоРодителям",
+ ОбщегоНазначения.ФиксированныеДанные(ПапкиПоРодителям));
+
+ Возврат Новый ФиксированнаяСтруктура(Результат);
КонецФункции
@@ -2088,7 +2202,7 @@
Если ОписаниеПрофиля.Назначение.Количество() = 0 Тогда
ОписаниеПрофиля.Назначение.Добавить(Тип("СправочникСсылка.Пользователи"));
КонецЕсли;
- МассивНазначений = Новый Массив;
+ СписокНазначений = Новый СписокЗначений;
Для Каждого Тип Из ОписаниеПрофиля.Назначение Цикл
Если ТипЗнч(Тип) = Тип("ОписаниеТипов") Тогда
Типы = Тип.Типы();
@@ -2120,10 +2234,13 @@
КонецЕсли;
ОписаниеТипаСсылки = Новый ОписаниеТипов(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Тип));
Значение = ОписаниеТипаСсылки.ПривестиЗначение(Неопределено);
- МассивНазначений.Добавить(Значение);
+ СписокНазначений.Добавить(Значение);
КонецЦикла;
КонецЦикла;
- СвойстваПрофиля.Вставить("Назначение", МассивНазначений);
+
+ СписокНазначений.СортироватьПоЗначению();
+ СвойстваПрофиля.Вставить("Назначение",
+ Новый ФиксированныйМассив(СписокНазначений.ВыгрузитьЗначения()));
КонецПроцедуры
@@ -2171,6 +2288,12 @@
ЗаполнитьСтандартныеРолиРасширений(ОписаниеПрофиля.Роли,
УправлениеДоступомСлужебныйПовтИсп.ОписаниеСтандартныхРолейРасширенийСеанса().РолиСеанса);
+ СписокРолей = Новый СписокЗначений;
+ СписокРолей.ЗагрузитьЗначения(ОписаниеПрофиля.Роли);
+ СписокРолей.СортироватьПоЗначению();
+ СвойстваПрофиля.Вставить("Роли",
+ Новый ФиксированныйМассив(СписокРолей.ВыгрузитьЗначения()));
+
Если ОбщегоНазначения.РазделениеВключено() Тогда
// Заполнение списка недоступных ролей в модели сервиса
// для определения необходимости обновления поставляемых профилей.
@@ -2241,7 +2364,7 @@
КонецЕсли;
ВидыДоступа.Вставить(ИмяВидаДоступа, УточнениеВидаДоступа);
КонецЦикла;
- СвойстваПрофиля.Вставить("ВидыДоступа", ВидыДоступа);
+ СвойстваПрофиля.Вставить("ВидыДоступа", Новый ФиксированноеСоответствие(ВидыДоступа));
КонецПроцедуры
@@ -2354,9 +2477,9 @@
ЗначениеДоступа);
ВызватьИсключение ТекстОшибки;
КонецЕсли;
- ЗначенияДоступа.Добавить(Отбор);
+ ЗначенияДоступа.Добавить(Новый ФиксированнаяСтруктура(Отбор));
КонецЦикла;
- СвойстваПрофиля.Вставить("ЗначенияДоступа", ЗначенияДоступа);
+ СвойстваПрофиля.Вставить("ЗначенияДоступа", Новый ФиксированныйМассив(ЗначенияДоступа));
КонецПроцедуры
diff --git a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ВыборСертификатаДляПодписанияИлиРасшифровки/Form.form b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ВыборСертификатаДляПодписанияИлиРасшифровки/Form.form
index 8f6a19374..74240d4a4 100644
--- a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ВыборСертификатаДляПодписанияИлиРасшифровки/Form.form
+++ b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ВыборСертификатаДляПодписанияИлиРасшифровки/Form.form
@@ -1289,8 +1289,8 @@
true
51
51
- 4
true
+ ByContent
true
MultiRow
Row
@@ -1314,6 +1314,10 @@
ПоказатьДанныеСертификата
744
+
+ ru
+ Все свойства сертификата
+
true
true
@@ -1330,10 +1334,10 @@
Left
- UsualButton
+ Hyperlink
Form.Command.ПоказатьДанныеСертификата
Normal
- Picture
+ PictureAndText
true
true
UserCmds
@@ -1360,7 +1364,7 @@
UsualGroup
- HorizontalIfPossible
+ Vertical
true
true
Auto
diff --git a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ВыборСертификатаДляПодписанияИлиРасшифровки/Module.bsl b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ВыборСертификатаДляПодписанияИлиРасшифровки/Module.bsl
index 0bc8e2b37..90cd25fc6 100644
--- a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ВыборСертификатаДляПодписанияИлиРасшифровки/Module.bsl
+++ b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ВыборСертификатаДляПодписанияИлиРасшифровки/Module.bsl
@@ -978,14 +978,14 @@
// Продолжение процедуры ПерейтиКВыборуТекущегоСертификата.
&НаКлиенте
-Процедура ПерейтиКВыборуТекущегоСертификатаПослеВыгрузкиСертификата(ВыгруженныеДанные, Контекст) Экспорт
+Асинх Процедура ПерейтиКВыборуТекущегоСертификатаПослеВыгрузкиСертификата(ВыгруженныеДанные, Контекст) Экспорт
СертификатАдрес = ПоместитьВоВременноеХранилище(ВыгруженныеДанные, УникальныйИдентификатор);
СертификатОтпечаток = Контекст.ТекущиеДанные.Отпечаток;
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаполнитьОписаниеДанныхСертификата(СертификатОписаниеДанных,
- ЭлектроннаяПодписьКлиент.СвойстваСертификата(Контекст.СертификатКриптографии));
+ Ждать ЭлектроннаяПодписьСлужебныйКлиент.СвойстваСертификата(Контекст.СертификатКриптографии));
Контекст.СохраненныеСвойства = СохраненныеСвойстваСертификата(Контекст.ТекущиеДанные.Отпечаток,
СертификатАдрес, СертификатПараметрыРеквизитов);
diff --git a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатаДляШифрования/Form.form b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатаДляШифрования/Form.form
index f0411774f..b815df486 100644
--- a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатаДляШифрования/Form.form
+++ b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатаДляШифрования/Form.form
@@ -1102,8 +1102,8 @@
true
51
51
- 4
true
+ ByContent
true
MultiRow
Row
@@ -1127,6 +1127,10 @@
ПоказатьДанныеСертификата
744
+
+ ru
+ Все свойства сертификата
+
true
true
@@ -1143,10 +1147,10 @@
Left
- UsualButton
+ Hyperlink
Form.Command.ПоказатьДанныеСертификата
Normal
- Picture
+ PictureAndText
true
true
UserCmds
@@ -1174,7 +1178,7 @@
UsualGroup
- HorizontalIfPossible
+ Vertical
Left
true
true
diff --git a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатаДляШифрования/Module.bsl b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатаДляШифрования/Module.bsl
index d799aee75..8d0a91c32 100644
--- a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатаДляШифрования/Module.bsl
+++ b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатаДляШифрования/Module.bsl
@@ -341,12 +341,12 @@
// Продолжение процедуры Далее.
&НаКлиенте
-Процедура ДалееПослеВыгрузкиСертификата(ВыгруженныеДанные, СертификатКриптографии) Экспорт
+Асинх Процедура ДалееПослеВыгрузкиСертификата(ВыгруженныеДанные, СертификатКриптографии) Экспорт
ПоказатьСтраницуУточнениеСвойствСертификата(ЭтотОбъект,
СертификатКриптографии,
ВыгруженныеДанные,
- ЭлектроннаяПодписьКлиент.СвойстваСертификата(СертификатКриптографии));
+ Ждать ЭлектроннаяПодписьСлужебныйКлиент.СвойстваСертификата(СертификатКриптографии));
КонецПроцедуры
diff --git a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатовДляШифрования/Form.form b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатовДляШифрования/Form.form
index 7c5653349..4cf0fc097 100644
--- a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатовДляШифрования/Form.form
+++ b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатовДляШифрования/Form.form
@@ -553,8 +553,8 @@
true
51
51
- 4
true
+ ByContent
true
MultiRow
Row
@@ -578,6 +578,10 @@
ПоказатьДанныеСертификата
47
+
+ ru
+ Все свойства сертификата
+
true
true
@@ -594,10 +598,10 @@
Left
- UsualButton
+ Hyperlink
Form.Command.ПоказатьДанныеСертификата
Normal
- Picture
+ PictureAndText
true
true
UserCmds
@@ -624,7 +628,7 @@
UsualGroup
- AlwaysHorizontal
+ Vertical
Auto
WeakSeparation
true
diff --git a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатовДляШифрования/Module.bsl b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатовДляШифрования/Module.bsl
index c8d941a8b..022c7654a 100644
--- a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатовДляШифрования/Module.bsl
+++ b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ДобавлениеСертификатовДляШифрования/Module.bsl
@@ -403,7 +403,7 @@
СертификатКриптографии = Новый СертификатКриптографии;
Ждать СертификатКриптографии.ИнициализироватьАсинх(ПолучитьИзВременногоХранилища(АдресСертификата));
- СвойстваСертификата = ЭлектроннаяПодписьКлиент.СвойстваСертификата(СертификатКриптографии);
+ СвойстваСертификата = Ждать ЭлектроннаяПодписьСлужебныйКлиент.СвойстваСертификата(СертификатКриптографии);
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаполнитьОписаниеДанныхСертификата(
СертификатОписаниеДанных, СвойстваСертификата);
diff --git a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Help/ru.html b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Help/ru.html
index 70038ffb6..5892a6f43 100644
--- a/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Help/ru.html
+++ b/SSL/src/Catalogs/СертификатыКлючейЭлектроннойПодписиИШифрования/Forms/ПодписаниеДанных/Help/ru.html
@@ -6,11 +6,11 @@
Подписывать данные могут разные пользователи, при этом для каждого будет создана своя подпись.
-Если Сертификат не выбран - выберите его из списка. Если при следующем открытии сертификат будет среди установленных на компьютере, повторный выбор не потребуется.
+Если Сертификат не выбран - выберите его из списка. Если при следующем открытии сертификат будет среди установленных на устройстве, повторный выбор не потребуется.
При выборе из выпадающего списка будут показаны только сертификаты, у которых поле Пользователи не заполнено или совпадает с текущим пользователем сеанса, а поле Программа заполнено. Если при открытии окна Подписание был указан отбор по организации, то в выпадающем списке не будет сертификатов, у которых поле Организация не совпадает с организацией, указанной в отборе. Если при открытии окна Подписание был указан конкретный список сертификатов, то будет показан только этот список.
-При выборе из списка личных сертификатов (установленных на компьютере и на сервере) путем нажатия Показать все, показываются все сертификаты без учета полей Пользователь и Программа. Если при открытии окна Подписание был указан отбор по организации, то в списке не будет сертификатов, у которых поле Организация не совпадает с организацией, указанной в отборе. Но будут показаны все сертификаты, которых еще нет в списке (то есть те, которые есть только в хранилище сертификатов операционный системы компьютера или сервера).
+При выборе из списка личных сертификатов (установленных на устройстве и на сервере) путем нажатия Показать все, показываются все сертификаты без учета полей Пользователь и Программа. Если при открытии окна Подписание был указан отбор по организации, то в списке не будет сертификатов, у которых поле Организация не совпадает с организацией, указанной в отборе. Но будут показаны все сертификаты, которых еще нет в списке (то есть те, которые есть только в хранилище сертификатов операционный системы устройства или сервера).
Введите Пароль к закрытому ключу (указанный при установке или создании сертификата) или Пин-код, если местом хранения сертификата является сервис
DSS.
@@ -20,13 +20,14 @@
Включите флажок Запомнить пароль, для того чтобы не вводить пароль (пин-код
для сервиса DSS) в следующий раз.
+Также файл можно подписать с помощью МЧД, для этого включите флажок
По доверенности и выберите соответствующую доверенность из списка.
В некоторых случаях можно ввести Комментарий к подписи - дополнительную информацию о подписи.
Для выполнения подписи нажмите Подписать.
Данные будут подписаны с использованием указанного сертификата.
-Созданная электронная подпись хранится в программе. Подписанный объект становится недоступным для редактирования и отображается в списках со значком
.
+Созданная электронная подпись хранится в приложении. Подписанный объект становится недоступным для редактирования и отображается в списках со значком
.
См. также: