3_1_9_416

This commit is contained in:
Компания 1С committed 2024-06-17 10:27:00 +03:00
1 parent 416a5118dd
commit 96e874e97f
152 files changed
+4314 -2868

No files matched your search

@@ -128,11 +128,11 @@
| Справочник.ВнешниеКомпоненты КАК ВнешниеКомпоненты
|ГДЕ
| ВнешниеКомпоненты.Идентификатор = &Идентификатор
| И ВнешниеКомпоненты.Версия = &Версия";
| ИЛИ ВнешниеКомпоненты.Идентификатор = &Идентификатор2 И ВнешниеКомпоненты.Версия ПОДОБНО ""3.1.0.%""";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Идентификатор", "AddInNativeExtension");
Запрос.УстановитьПараметр("Версия", "3.1.0.1013");
Запрос.УстановитьПараметр("Идентификатор2", "ImageScan");
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
@@ -264,38 +264,37 @@
ОбновитьПоддерживаемыеПлатформыКомпоненты = Истина;
ЦелевыеПлатформы = РеквизитыКомпоненты.ЦелевыеПлатформы.Получить();
ДвоичныеДанныеКомпоненты = РеквизитыКомпоненты.ХранилищеКомпоненты.Получить();
Если ТипЗнч(ДвоичныеДанныеКомпоненты) <> Тип("ДвоичныеДанные") Тогда
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(Выборка.Ссылка);
ОбъектовОбработано = ОбъектовОбработано + 1;
ОбновитьПоддерживаемыеПлатформыКомпоненты = Ложь;
КонецЕсли;
Иначе
ИнформацияОКомпонентеИзФайла = ВнешниеКомпонентыСлужебный.ИнформацияОКомпонентеИзФайла(
ДвоичныеДанныеКомпоненты, Ложь);
Если Не ИнформацияОКомпонентеИзФайла.Разобрано Тогда
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(Выборка.Ссылка);
ОбъектовОбработано = ОбъектовОбработано + 1;
ОбновитьПоддерживаемыеПлатформыКомпоненты = Ложь;
КонецЕсли;
Иначе
Реквизиты = ИнформацияОКомпонентеИзФайла.Реквизиты;
Если ЦелевыеПлатформы <> Неопределено И ОбщегоНазначения.КоллекцииИдентичны(ЦелевыеПлатформы, Реквизиты.ЦелевыеПлатформы) Тогда
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(Выборка.Ссылка);
ОбъектовОбработано = ОбъектовОбработано + 1;
ЦелевыеПлатформы = РеквизитыКомпоненты.ЦелевыеПлатформы.Получить();
Если ЦелевыеПлатформы <> Неопределено И ОбщегоНазначения.КоллекцииИдентичны(ЦелевыеПлатформы,
Реквизиты.ЦелевыеПлатформы) Тогда
ОбновитьПоддерживаемыеПлатформыКомпоненты = Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Иначе
ОбновитьПоддерживаемыеПлатформыКомпоненты = Ложь;
КонецЕсли;
Если Не ОбновитьПоддерживаемыеПлатформыКомпоненты
И Не (ОбновитьПараметрыКомпонентыСканирования И (РеквизитыКомпоненты.Идентификатор = "AddInNativeExtension")
И РеквизитыКомпоненты.Версия = "3.1.0.1013") Тогда
И Не (ОбновитьПараметрыКомпонентыСканирования И (РеквизитыКомпоненты.Идентификатор = "AddInNativeExtension"
Или РеквизитыКомпоненты.Идентификатор = ИдентификаторКомпонентыСканирования
И СтрНачинаетсяС(РеквизитыКомпоненты.Версия, "3.1.0."))) Тогда
ОбновлениеИнформационнойБазы.ОтметитьВыполнениеОбработки(Выборка.Ссылка);
ОбъектовОбработано = ОбъектовОбработано + 1;
Продолжить;
КонецЕсли;
@@ -318,8 +317,8 @@
КомпонентаОбъект.Идентификатор = ИдентификаторКомпонентыСканирования;
КонецЕсли;
Если ОбновитьПараметрыКомпонентыСканирования И РеквизитыКомпоненты.Версия = "3.1.0.1013" Тогда
КомпонентаОбъект.Версия = "3.0.1.1013";
Если ОбновитьПараметрыКомпонентыСканирования И СтрНачинаетсяС(РеквизитыКомпоненты.Версия, "3.1.0.") Тогда
КомпонентаОбъект.Версия = СтрЗаменить(РеквизитыКомпоненты.Версия, "3.1.0.", "3.0.1.");
КонецЕсли;
ОбновлениеИнформационнойБазы.ЗаписатьОбъект(КомпонентаОбъект);
@@ -362,7 +361,7 @@
#КонецОбласти
Функция ОбновитьПараметрыКомпонентыСканирования(ВерсияПодсистемыНаНачалоОбновления)
Возврат ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияПодсистемыНаНачалоОбновления, "3.1.9.343") < 0
Возврат ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияПодсистемыНаНачалоОбновления, "3.1.9.389") < 0
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами")
КонецФункции
@@ -1177,6 +1177,7 @@
Строка.ИмяВЕдЧисле = "ЖурналДокументов";
Строка.СинонимВЕдЧисле = НСтр("ru = 'Журнал документов'");
Строка.БезДанных = Истина;
Строка.ОбъектыРасширений = Истина;
Строка = Результат.Добавить();
Строка.Идентификатор = Новый УникальныйИдентификатор("706cf832-0ae5-45b5-8a4a-1f251d054f3b");
@@ -1258,6 +1259,7 @@
Строка.Синоним = НСтр("ru = 'Бизнес-процессы'");
Строка.ИмяВЕдЧисле = "БизнесПроцесс";
Строка.СинонимВЕдЧисле = НСтр("ru = 'Бизнес-процесс'");
Строка.ОбъектыРасширений = Истина;
Строка = Результат.Добавить();
Строка.Идентификатор = Новый УникальныйИдентификатор("8d9153ad-7cea-4e25-9542-a557ee59fd16");
@@ -1265,6 +1267,7 @@
Строка.Синоним = НСтр("ru = 'Задачи'");
Строка.ИмяВЕдЧисле = "Задача";
Строка.СинонимВЕдЧисле = НСтр("ru = 'Задача'");
Строка.ОбъектыРасширений = Истина;
Для каждого Строка Из Результат Цикл
Строка.ПорядокКоллекции = Результат.Индекс(Строка);
@@ -350,13 +350,13 @@
Элементы = Форма.Элементы;
Если Не ЗначениеЗаполнено(Форма.ДокументВид)
Или Форма.ДокументВид = "0"
Или Форма.ДокументВид = "91" Тогда
Или Форма.ДокументВид = "0" Тогда
Форма.ДокументНомер = "";
Форма.ДокументКемВыдан = "";
Форма.ДокументДатаВыдачи = "";
Форма.ДокументКодПодразделения = "";
Форма.ДокументСрокДействия = "";
Элементы.ДокументНомер.Маска = "";
ИначеЕсли Форма.ДокументВид = "21" Тогда
Элементы.ДокументНомер.Заголовок = НСтр("ru = 'Серия и номер'");
Элементы.ДокументНомер.Маска = "99 99 999999";
@@ -373,7 +373,6 @@
&НаКлиентеНаСервереБезКонтекста
Процедура ВидимостьВидаДокумента(Форма)
Форма.Элементы.ДокументКодПодразделения.Видимость = Форма.ПоказыватьПерсональныеДанные И Форма.ДокументВид = "21";
Форма.Элементы.ДокументСрокДействия.Видимость = Форма.ПоказыватьПерсональныеДанные И Форма.ДокументВид <> "21";
КонецПроцедуры
@@ -529,7 +528,7 @@
СведенияОФизическомЛице = РеквизитыУчастникаДляХранения;
СведенияОФизическомЛице.Вставить("Ссылка", Ссылка);
Если ДокументВид = "00" Тогда
Если ДокументВид = "0" Тогда
СведенияОФизическомЛице.ДокументВид = "";
СведенияОФизическомЛице.ДокументКемВыдан = "";
СведенияОФизическомЛице.ДокументКодПодразделения = "";
@@ -0,0 +1,28 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.10570.1001"></meta></head><body>
<p>Предназначена для создания машиночитаемой доверенности.</p>
<p>Форма МЧД должна соответствовать требованиям, утвержденным приказом Минцифры России от 18.08.2021 №857 "Об утверждении единых требований к формам доверенностей, необходимым для использования квалифицированной электронной подписи".</p>
<p>Создать машиночитаемую доверенность своей организации можно в списке МЧД по кнопке <strong>Создать</strong>. Откроется форма регистрации машиночитаемой доверенности, в которой необходимо заполнить данные <strong>Срока действия</strong>, <strong>Доверителя</strong>, <strong>Представителя</strong>, <strong>Полномочий</strong>, а также <strong>Иных сведений</strong>.</p>
<h3>Ввод доверителя</h3>
<ul><li>Выберите <strong>Организацию </strong>- указывается юридическое лицо/иностранное юридическое лицо/индивидуальный предприниматель/ физическое лицо, передавшее другому лицу полномочия представлять его интересы перед третьими лицами.</li>
<li>Если нужной <strong>Организации</strong> нет в списке, то можно ввести реквизиты вручную, перейдя по гиперссылке <strong>Уточнить реквизиты</strong>. </li>
<li>Выберите лицо, действующее от имени юридического лица - доверителя, им может быть и <strong>Физическое лицо</strong>, и <strong>Организация</strong>. Если выбрана <strong>Организация</strong>, то в поле <strong>Лицо, действующее от имени управляющей компании </strong>нужно будет выбрать физическое лицо, действующее от имени управляющей организации.</li></ul><h3>Ввод представителя</h3>
<ul><li>В поле <strong>Представитель</strong> выберите или заполните вручную представителя, получившего полномочия представлять интересы другого лица перед третьими лицами по доверенности. Представителями могут выступать <strong>Контрагенты</strong>, <strong>Организации</strong> или <strong>Физические лица</strong>.</li>
<li>При выборе <strong>Контрагента</strong> также нужно указать физическое лицо, получившее полномочия.</li>
<li>Если нужного <strong>Представителя</strong> нет в списке, то с помощью кнопки <img src="StdPicture.CreateListItem"></img> можно создать нового <strong>Представителя</strong>, указав его реквизиты. </li>
<li>В поле <strong>Полномочия</strong>, перейдя по гиперссылке с помощью выпадающего списка можно выбрать вид полномочий:<br><ul><li><strong>Полномочия в машиночитаемом виде</strong> - выбираются из классификатора ФНС;</li>
<li><strong>Полномочия в текстовом виде</strong> - вводятся в произвольной форме;</li>
<li><strong>Полномочия не ограничены</strong> - будут указаны полномочия в текстовом виде с заголовком <strong>Все полномочия</strong>; </li>
<li>В поле <strong>Ограничения полномочий</strong> можно ввести ограничение, например, установить лимит по сумме. Ограничения подбираются из классификатора;</li>
<li>С помощью кнопки <strong>Сохранить</strong> <img src="StdPicture.SaveReportSettings"></img> можно сохранить установленную настройку полномочий;</li>
<li>С помощью кнопки <strong>Загрузить</strong> <img src="StdPicture.LoadReportSettings"></img> можно загрузить настройку полномочий из ранее сохраненных настроек.</li></ul></li></ul><h3><strong>Иные сведения</strong></h3>
<ul><li>Нажмите на <strong>Иные сведения</strong> для того чтобы указать иные сведения по соглашению участников электронного взаимодействия и по требованиям федеральных органов исполнительной власти. </li>
<li>Для того чтобы зарегистрировать МЧД в <strong>Распределенном реестре ФНС России</strong> нажмите на флажок. </li>
<li>В поле <strong>Единый регистрационный номер доверенности</strong> автоматически сгенерируется номер после подписания доверенности.  </li>
<li>Поле <strong>Наименование</strong> заполняется автоматически. </li></ul><h3>Подписание доверенности</h3>
<ul><li>
<div>С помощью кнопки <strong>Подписать</strong> подпишите доверенность <a href="CommonForm.НастройкиЭлектроннойПодписиИШифрования/Help">сертификатом электронной подписи</a>, предварительно установленным на устройство. </div></li></ul><h3><strong>Регистрация в реестре</strong></h3>
<ul><li>С помощью кнопки <strong>Зарегистрировать в реестре</strong> зарегистрируйте доверенность в распределенном реестре ФНС. Регистрация становится доступной, если предварительно установить флажок <strong>Зарегистрировать в распределенном реестре ФНС</strong>;</li>
<li>После отправки на регистрацию статус доверенности примет значение <strong>Ожидает регистрации</strong>;</li>
<li>После регистрации и проверки ФНС статус доверенности с <strong>Ожидает регистрации</strong> поменяется на <strong>В реестре</strong>;</li>
<li>Если при регистрации были выявлены ошибки, например, при неверных данных <strong>Доверителя</strong> или <strong>Представителя</strong>, то статус доверенности примет значение <strong>Отменена</strong>.</li></ul><h3>См. также:</h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html>
@@ -1130,14 +1130,10 @@
Для Каждого Строка Из Объект.Доверители Цикл
РеквизитыОрганизации = ПолучитьИзВременногоХранилища(Строка.АдресРеквизитов);
Если Не РеквизитыОрганизации.ЭтоФизическоеЛицо Тогда
СтрокаОшибки = НСтр("ru = 'Организация %1 - %2'");
Иначе
СтрокаОшибки = НСтр("ru = 'Физическое лицо %1 - %2'");
КонецЕсли;
ШаблонОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаОшибки,
Строка.Доверитель, " %1: ");
ПредставлениеДоверителя = ПредставлениеДоверителяПредставителяДляОшибки(Строка.Доверитель, РеквизитыОрганизации);
ШаблонОшибки = ПредставлениеДоверителя + " - %1:";
Если Не ЗначениеЗаполнено(Строка.ИдентификаторРодителя) Тогда
Поле = "Доверитель";
@@ -1157,14 +1153,9 @@
Для Каждого Строка Из Объект.Представители Цикл
РеквизитыОрганизации = ПолучитьИзВременногоХранилища(Строка.АдресРеквизитов);
Если Не РеквизитыОрганизации.ЭтоФизическоеЛицо Тогда
СтрокаОшибки = НСтр("ru = 'Организация %1 - %2'");
Иначе
СтрокаОшибки = НСтр("ru = 'Физическое лицо %1 - %2'");
КонецЕсли;
ПредставлениеПредставителя = ПредставлениеДоверителяПредставителяДляОшибки(Строка.Представитель, РеквизитыОрганизации);
ШаблонОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаОшибки,
Строка.Представитель, " %1: ");
ШаблонОшибки = ПредставлениеПредставителя + " - %1:";
Если Не ЗначениеЗаполнено(Строка.ИдентификаторРодителя) Тогда
Поле = "Представитель";
@@ -1229,17 +1220,12 @@
КПП = "";
Если Не РеквизитыОрганизации.ЭтоФизическоеЛицо Тогда
ШаблонОшибки = НСтр("ru = 'Организация %1 - %2'");
ИНН = РеквизитыОрганизации.ИНН;
Если Не РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
КПП = РеквизитыОрганизации.КПП;
КонецЕсли;
Иначе
ШаблонОшибки = НСтр("ru = 'Физическое лицо %1 - %2'");
Если Не РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
ИНН = РеквизитыОрганизации.ИННФЛ;
КонецЕсли;
@@ -1262,26 +1248,8 @@
РеквизитыОрганизации = ПолучитьИзВременногоХранилища(Строка.АдресРеквизитов);
ИНН = "";
КПП = "";
Если Не РеквизитыОрганизации.ЭтоФизическоеЛицо Тогда
ШаблонОшибки = НСтр("ru = 'Организация %1 - %2'");
ИНН = РеквизитыОрганизации.ИНН;
Если Не РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
КПП = РеквизитыОрганизации.КПП;
КонецЕсли;
Иначе
ШаблонОшибки = НСтр("ru = 'Физическое лицо %1 - %2'");
Если Не РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
ИНН = РеквизитыОрганизации.ИННФЛ;
КонецЕсли;
КонецЕсли;
ПредставлениеДоверителя = ПредставлениеДоверителяПредставителяДляОшибки(Строка.Доверитель, ИНН, КПП);
ИНН = "";КПП = "";
ПредставлениеДоверителя = ПредставлениеДоверителяПредставителяДляОшибки(Строка.Доверитель, РеквизитыОрганизации, ИНН, КПП);
Если Не ЗначениеЗаполнено(Строка.ИдентификаторРодителя) Тогда
Поле = "Доверитель";
@@ -1291,7 +1259,7 @@
Если ТаблицаДляПроверкиПервоначальнойДоверенности.НайтиСтроки(
Новый Структура("ИНН, КПП", ИНН, КПП)).Количество() = 0 Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, ПредставлениеДоверителя, НСтр(
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 - %2", ПредставлениеДоверителя, НСтр(
"ru = 'отсутствует в представителях первоначальной доверенности.'"));
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки,, Поле,, Отказ);
@@ -1310,7 +1278,7 @@
СтруктураОтбора.Вставить("ТабличнаяЧасть", "Доверители");
Если ТаблицаДляПроверкиДублей.НайтиСтроки(СтруктураОтбора).Количество() > 0 Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, ПредставлениеДоверителя, НСтр(
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 - %2", ПредставлениеДоверителя, НСтр(
"ru = 'указано несколько доверителей с одним ИНН.'"));
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки,, Поле,, Отказ);
Иначе
@@ -1326,25 +1294,8 @@
Для Каждого Строка Из Объект.Представители Цикл
РеквизитыОрганизации = ПолучитьИзВременногоХранилища(Строка.АдресРеквизитов);
ИНН = "";
КПП = "";
Если Не РеквизитыОрганизации.ЭтоФизическоеЛицо Тогда
ШаблонОшибки = НСтр("ru = 'Организация %1 - %2'");
ИНН = РеквизитыОрганизации.ИНН;
Если Не РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
КПП = РеквизитыОрганизации.КПП;
КонецЕсли;
Иначе
ШаблонОшибки = НСтр("ru = 'Физическое лицо %1 - %2'");
Если Не РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
ИНН = РеквизитыОрганизации.ИННФЛ;
КонецЕсли;
КонецЕсли;
ИНН = "";КПП = "";
ПредставлениеПредставителя = ПредставлениеДоверителяПредставителяДляОшибки(Строка.Представитель, РеквизитыОрганизации, ИНН, КПП);
Если Не ЗначениеЗаполнено(Строка.ИдентификаторРодителя) Тогда
Поле = "Представитель";
@@ -1352,8 +1303,6 @@
Поле = "ЛицоПредставителя";
КонецЕсли;
ПредставлениеПредставителя = ПредставлениеДоверителяПредставителяДляОшибки(Строка.Представитель, ИНН, КПП);
Если ЗначениеЗаполнено(ИНН) Тогда
СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("ИНН", ИНН);
@@ -1362,7 +1311,7 @@
Если ТаблицаДляПроверкиДублей.НайтиСтроки(СтруктураОтбора).Количество() > 0 Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 - %2",
ПредставлениеПредставителя, НСтр(
"ru = 'указано несколько представителей с одним ИНН.'"));
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки,, Поле,, Отказ);
@@ -1376,7 +1325,7 @@
СтруктураОтбора.Вставить("ТабличнаяЧасть", "Доверители");
Если ТаблицаДляПроверкиДублей.НайтиСтроки(СтруктураОтбора).Количество() > 0 Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1 - %2",
ПредставлениеПредставителя, НСтр(
"ru = 'указан представитель и доверитель с одним и тем же ИНН.'"));
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки,, Поле,, Отказ);
@@ -1390,26 +1339,37 @@
КонецФункции
&НаСервере
Функция ПредставлениеДоверителяПредставителяДляОшибки(Ссылка, ИНН, КПП)
Если ЗначениеЗаполнено(Ссылка) Тогда
Функция ПредставлениеДоверителяПредставителяДляОшибки(Ссылка, РеквизитыОрганизации, ИНН = Неопределено, КПП = Неопределено)
ИНН = "";
КПП = "";
Если Не РеквизитыОрганизации.ЭтоФизическоеЛицо Тогда
ИНН = РеквизитыОрганизации.ИНН;
Наименование = РеквизитыОрганизации.НаименованиеПолное;
Если Не РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
КПП = РеквизитыОрганизации.КПП;
КонецЕсли;
Иначе
Наименование = СтрШаблон("%1 %2 %3",
РеквизитыОрганизации.Фамилия, РеквизитыОрганизации.Имя, РеквизитыОрганизации.Отчество);
Если Не РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
ИНН = РеквизитыОрганизации.ИННФЛ;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(КПП) Тогда
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 (ИНН: %2, КПП %3)'"), Ссылка, ИНН, КПП);
Иначе
НСтр("ru = '%1 (ИНН: %2, КПП %3)'"), ?(ЗначениеЗаполнено(Ссылка), Ссылка, Наименование), ИНН, КПП);
ИначеЕсли ЗначениеЗаполнено(ИНН) Тогда
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 (ИНН: %2)'"), Ссылка, ИНН);
КонецЕсли;
НСтр("ru = '%1 (ИНН: %2)'"), ?(ЗначениеЗаполнено(Ссылка), Ссылка, Наименование), ИНН);
Иначе
Возврат ?(ЗначениеЗаполнено(Ссылка), Строка(Ссылка), Строка(Наименование));
КонецЕсли;
Если ЗначениеЗаполнено(КПП) Тогда
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'с ИНН: %1, КПП %2'"), ИНН, КПП);
Иначе
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'с ИНН: %1'"), ИНН);
КонецЕсли;
КонецЕсли;
КонецФункции
&НаКлиенте
@@ -1694,6 +1654,11 @@
&НаКлиентеНаСервереБезКонтекста
Функция ВнешнийСтатус(Форма)
Если Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Просрочена") Тогда
Возврат Форма.Объект.Статус <> ПредопределенноеЗначение("Перечисление.СтатусыМЧД.Черновик") Или Форма.ЗарегистрированаВДругомРеестре;
КонецЕсли;
Возврат МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.ВнешниеСтатусы()[Форма.ТехническийСтатус] = Истина
Или Форма.ЗарегистрированаВДругомРеестре;
КонецФункции
@@ -0,0 +1,57 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html;charset=utf-8" http-equiv="content-type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 11.00.10570.1001"></meta></head><body>
<p>Предназначен для формирования и хранения машиночитаемых доверенностей.</p>
<p>Открывается по соответствующей команде в разделе <strong>Справочники</strong>. Также можно перейти по гиперссылке в <a href="CommonForm.НастройкиЭлектроннойПодписиИШифрования/Help">настройках электронной подписи и шифрования</a>.</p>
<p><strong>Машиночитаемая доверенность (МЧД)</strong> - это электронный документ XML, заполненный по утвержденному формату, содержащий сведения о доверителе, представителе и его полномочиях. </p>
<li><strong>Доверитель</strong> - ответственное лицо, разрешающее выполнение операций другим организациям или физическим лицам по доверенности;
</li>
<li><strong>Представитель</strong> - организация или физическое лицо, принимающее на себя ответственность действовать от лица <strong>Доверителя</strong> в рамках вверяемых ему полномочий.
<p></p>
<p>Ведение списка МЧД может осуществлять как администратор, так и ответственный за список МЧД. Доверенность попадает в список разными способами:</p>
<ul><li>
<div><strong>Автоматически</strong> - путем загрузки из узла распределенного реестра ФНС;</div>
</li>
<li>
<div><strong>Вручную</strong> - путем создания и подписания МЧД в приложении;</div>
</li>
<li>
<div><strong>Вручную</strong> - путем загрузки МЧД контрагентов, полученных, например,по электронной почте.</div></li></ul><p>Список состоит из колонок: </p>
<ul><li>
<div><strong>Номер доверенности (в реестре)</strong> - единый регистрационный номер доверенности, генерируется автоматически при подписании или выгрузке в файл неподписанной доверенности.</div>
</li>
<li>
<div><strong>Наименование</strong> - наименование машиночитаемой доверенности.</div>
</li>
<li>
<div><strong>Дата выдачи</strong> - дата выдачи машиночитаемой доверенности.</div>
</li>
<li>
<div><strong>Дата окончания</strong> - дата окончания действия машиночитаемой доверенности.</div>
</li>
<li>
<div><strong>Код НО</strong> - код налогового органа, в отношении которого действует доверенность.</div>
</li>
<li>
<div><strong>Номер (внутренний)</strong> - внутренний номер машиночитаемой доверенности, генерируется автоматически.</div></li></ul><h3>Создание доверенности</h3>
<ul><li>
<div>Создать машиночитаемую доверенность можно в списке МЧД по кнопке <strong>Создать</strong>. Откроется <a href="Catalog.МашиночитаемыеДоверенности.Form.ФормаЭлемента/Help">форма регистрации машиночитаемой доверенности</a>, в которой необходимо заполнить данные <strong>Доверителя</strong>, <strong>Представителя</strong>, <strong>Полномочий</strong>, а также <strong>Иных сведений</strong>. </div></li></ul><h3>Печать доверенности</h3>
<div>
<ul><li>Готовую доверенность можно напечатать из списка МЧД, а также в карточке МЧД с помощью кнопки <img src="StdPicture.Print"></img><strong>Доверенность</strong>.</li></ul></div>
<h3>Отборы</h3>
<p>Если машиночитаемых доверенностей в списке много, то для удобства поиска можно воспользоваться отборами:</p>
<ul><li>
<div>по полю <b>Сертификат</b> - выберите сертификат для отбора доверенностей, где владелец сертификата указан в качестве представителя.</div>
</li>
<li>
<div>по полю <b>Доверитель</b> - выберите нужного доверителя, указав, например, наименование организации из списка для отбора.  </div>
</li>
<li>
<div>по полю <b>Представитель</b> - выберите нужного представителя, указав, например, ИНН контрагента. </div></li></ul><h3>Загрузка из файла</h3>
<ul><li>С помощью кнопки <strong>Загрузить из файла</strong> можно загрузить МЧД из файла на устройстве. Укажите путь к файлу, нажмите <strong>Открыть</strong>.</li></ul><h3>Выгрузка в файл</h3>
<ul><li>С помощью кнопки <strong>Выгрузить в файл</strong> можно выгрузить доверенность и ее подпись (если приложена) на выбор как для представителя в налоговые органы, так и для подписания документов. Укажите папку на устройстве, нажмите <strong>Сохранить</strong>.</li></ul></li>
<p>С помощью команд меню <strong>Еще</strong> также можно использовать другие возможности работы со списком:</p>
<ul><li><b>Загрузить из реестра ФНС</b> - загрузка машиночитаемых доверенностей организации и контрагентов из распределенного реестра ФНС.
</li>
<li><strong>Обновить статус из реестра ФНС</strong> - нажмите, для того чтобы обновить статус из реестра ФНС.</li>
<li><strong>Отменить</strong> - если доверенность утратила свою актуальность ранее срока окончания доверенности, то ее можно отменить.</li></ul><p>Для того чтобы посмотреть, что означают значки состояния МЧД, нажмите раздел <strong>Легенда</strong> в нижней части списка.</p>
<h3>См. также:</h3>
<ul><li><a href="v8help://frame/form_common">Работа с формами</a></li></ul></body></html>
@@ -1109,7 +1109,7 @@
КонецФункции
Функция РеквизитыЮридическогоЛица(СведенияОЮридическомЛице)
Функция РеквизитыЮридическогоЛица(СведенияОЮридическомЛице, ВычислятьЗначенияКонтактнойИнформацииПоПредставлениям = Ложь)
НаименованиеЮридическогоЛица = СведенияОЮридическомЛице.НаимОрг;
ИНН = СведенияОЮридическомЛице.ИННЮЛ;
@@ -1119,14 +1119,20 @@
НаименованиеУчредительногоДокумента = СведенияОЮридическомЛице.НаимУчрДок;
КонтактныйТелефон = СведенияОЮридическомЛице.КонтактТлф;
КонтактныйТелефонЗначение = КонтактнаяИнформацияПоПредставлению(КонтактныйТелефон, "Телефон");
КонтактныйТелефонЗначение = "";
АдресЭлектроннойПочты = СведенияОЮридическомЛице.АдрЭлПочт;
АдресЭлектроннойПочтыЗначение = КонтактнаяИнформацияПоПредставлению(АдресЭлектроннойПочты, "АдресЭлектроннойПочты");
АдресЭлектроннойПочтыЗначение = "";
АдресЮридическогоЛица = СведенияОЮридическомЛице.АдрРег;
ПредставлениеАдресаЮридическогоЛица = ПредставленияАдреса(АдресЮридическогоЛица);
ЮридическийАдресЗначение = "";
Если ВычислятьЗначенияКонтактнойИнформацииПоПредставлениям Тогда
КонтактныйТелефонЗначение = КонтактнаяИнформацияПоПредставлению(КонтактныйТелефон, "Телефон");
АдресЭлектроннойПочтыЗначение = КонтактнаяИнформацияПоПредставлению(АдресЭлектроннойПочты, "АдресЭлектроннойПочты");
ЮридическийАдресЗначение = КонтактнаяИнформацияПоПредставлению(ПредставлениеАдресаЮридическогоЛица, "Адрес");
КонецЕсли;
Параметры = Новый Структура;
Параметры.Вставить("НаименованиеЮридическогоЛица", НаименованиеЮридическогоЛица);
@@ -1556,7 +1562,7 @@
Если ЭтоПередоверие Тогда
//@skip-check query-in-loop - штучные запросы в количестве загружаемых доверенностей
ЗаполнитьПередовериеИзОбъектаXDTO(Объект, ОписаниеДоверенности);
ПредыдущаяДоверенность = РеквизитыДоверенностиОснования(ОписаниеДоверенности);
ПредыдущаяДоверенность = РеквизитыДоверенностиОснования(ОписаниеДоверенности, Истина);
Иначе
ЗаполнитьДоверенность(Объект, ОписаниеДоверенности);
КонецЕсли;
@@ -1970,7 +1976,7 @@
Функция ДобавитьОрганизациюДоверителя(Объект, СвязаннаяОрганизация, СведенияОЮридическомЛице)
Параметры = РеквизитыЮридическогоЛица(СведенияОЮридическомЛице);
Параметры = РеквизитыЮридическогоЛица(СведенияОЮридическомЛице, Истина);
РеквизитыУчастника = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РеквизитыУчастника(
ТипЭлементаОрганизация(), Неопределено, ВидУчастникаРоссийскаяОрганизация());
@@ -1993,7 +1999,7 @@
Функция ДобавитьОрганизациюПредставителя(Объект, СвязаннаяОрганизация, СведенияОЮридическомЛице)
Параметры = РеквизитыЮридическогоЛица(СведенияОЮридическомЛице);
Параметры = РеквизитыЮридическогоЛица(СведенияОЮридическомЛице, Истина);
РеквизитыУчастника = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РеквизитыУчастника(
ТипЭлементаОрганизация(), Неопределено, ВидУчастникаРоссийскаяОрганизация());
@@ -3372,7 +3378,7 @@
КонецФункции
Функция РеквизитыДоверенностиОснования(ОписаниеДоверенности)
Функция РеквизитыДоверенностиОснования(ОписаниеДоверенности, ВычислятьЗначенияКонтактнойИнформацииПоПредставлениям = Ложь)
Документ = ОписаниеДоверенности.Документ;
Передоверие = Документ.Передов;
@@ -3400,7 +3406,7 @@
Если ТипДоверителя = "1" Тогда
СведенияОЮридическомЛице = Доверитель.РосОргДовер;
Параметры = РеквизитыЮридическогоЛица(СведенияОЮридическомЛице);
Параметры = РеквизитыЮридическогоЛица(СведенияОЮридическомЛице, ВычислятьЗначенияКонтактнойИнформацииПоПредставлениям);
ИначеЕсли ТипДоверителя = "2" Тогда
@@ -97,6 +97,11 @@
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<createOnInput>Use</createOnInput>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<objectPresentation>
@@ -984,6 +989,11 @@
<key>ru</key>
<value>Форма элемента</value>
</synonym>
<help>
<pages>
<lang>ru</lang>
</pages>
</help>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
@@ -3715,7 +3715,7 @@
&НаКлиенте
Процедура ОбновитьЗначениеПараметраПолучателяПерсонализированнойРассылки()
Если НЕ Объект.Персонализирована Тогда
Если НЕ Объект.Персонализирована Или Элементы.Отчеты.ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
@@ -790,6 +790,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -855,6 +856,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -936,6 +938,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -1001,6 +1004,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -1273,6 +1277,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -1338,6 +1343,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -1419,6 +1425,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -1484,6 +1491,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -1750,6 +1758,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -1815,6 +1824,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -1896,6 +1906,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -1961,6 +1972,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -2178,7 +2190,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<maxWidth>70</maxWidth>
<height>1</height>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
@@ -2258,6 +2270,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -2323,6 +2336,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -2404,6 +2418,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -2469,6 +2484,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -2736,6 +2752,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -2801,6 +2818,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -2882,6 +2900,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -2947,6 +2966,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -2959,6 +2979,43 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ДекорацияСертификатМеткиВремени</name>
<id>442</id>
<title>
<key>ru</key>
<value>Декорация сертификат метки времени</value>
</title>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДекорацияСертификатМеткиВремениРасширеннаяПодсказка</name>
<id>444</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДекорацияСертификатМеткиВремениКонтекстноеМеню</name>
<id>443</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<handlers>
<event>URLProcessing</event>
<name>ДекорацияСертификатМеткиВремениОбработкаНавигационнойСсылки</name>
</handlers>
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -3214,6 +3271,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -3279,6 +3337,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -3360,6 +3419,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -3425,6 +3485,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -3691,6 +3752,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -3756,6 +3818,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -3837,6 +3900,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -3902,6 +3966,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<maxWidth>70</maxWidth>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
@@ -5152,6 +5217,167 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ТипПодписи</name>
<id>34</id>
<valueType>
<types>EnumRef.ТипыПодписиКриптографии</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>СертификатыДляПроверкиПодписи</name>
<id>36</id>
<valueType>
<types>ValueTable</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<columns>
<name>Отпечаток</name>
<id>37</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>Сервер</name>
<id>38</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>Клиент</name>
<id>39</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>АдресСертификата</name>
<id>40</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<attributes>
<name>СертификатыМетокВремени</name>
<id>42</id>
<valueType>
<types>ValueTable</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<columns>
<name>Отпечаток</name>
<id>43</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>ПолученНаСервере</name>
<id>44</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>АдресСертификата</name>
<id>45</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>ПолученНаКлиенте</name>
<id>46</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>Представление</name>
<id>47</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<formCommands>
<name>Проверить</name>
<title>
@@ -5205,6 +5431,12 @@
<stringQualifiers/>
</valueType>
</parameters>
<parameters>
<name>ТипПодписи</name>
<valueType>
<types>EnumRef.ТипыПодписиКриптографии</types>
</valueType>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -61,6 +61,10 @@
Параметры.Сертификат, Проверки, Параметры.ПараметрыДополнительныхПроверок,
СтандартныеПроверки, ВводитьПароль);
Если ЗначениеЗаполнено(Параметры.ТипПодписи) Тогда
ТипПодписи = Параметры.ТипПодписи;
КонецЕсли;
Для каждого Проверка Из Проверки Цикл
Группа = ГруппаФормыБезОтображения(
@@ -114,7 +118,7 @@
Элементы[Проверка + "ОшибкаСервер"].Видимость = Ложь;
Элементы[Проверка + "РешениеСерверНадпись"].Видимость = Ложь;
Элементы[Проверка + "Надпись"].Заголовок =
СтандартныйЗаголовокЭлемента(Проверка + "Надпись");
СтандартныйЗаголовокЭлемента(Проверка + "Надпись", ТипПодписи);
Если ПроверкиНаКлиенте <> Неопределено Тогда
ВывестиРезультатПроверки(Проверка);
@@ -234,7 +238,7 @@
ПараметрыПредупреждения = Новый Структура;
ПараметрыПредупреждения.Вставить("ЗаголовокПредупреждения",
СтандартныйЗаголовокЭлемента(Элемент.Имя));
СтандартныйЗаголовокЭлемента(Элемент.Имя, ТипПодписи));
ПараметрыПредупреждения.Вставить("ТекстОшибкиКлиент",
ПроверкиНаКлиенте[ИмяОшибки]);
ПараметрыПредупреждения.Вставить("ТекстОшибкиСервер",
@@ -323,6 +327,14 @@
КонецПроцедуры
&НаКлиенте
Процедура ДекорацияСертификатМеткиВремениОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЭлектроннаяПодписьСлужебныйКлиент.ОткрытьСертификат(НавигационнаяСсылкаФорматированнойСтроки);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -348,6 +360,29 @@
Элементы.ФормаПроверить.Доступность = Истина;
Элементы.ФормаПроверить.Отображение = ОтображениеКнопки.Текст;
Если СертификатыМетокВремени.Количество() = 0 Тогда
Элементы.ДекорацияСертификатМеткиВремени.Видимость = Ложь;
Иначе
Массив = Новый Массив;
Для Каждого СертификатМеткиВремени Из СертификатыМетокВремени Цикл
Если Не СертификатМеткиВремени.ПолученНаКлиенте Тогда
Массив.Добавить(СтроковыеФункцииКлиент.ФорматированнаяСтрока(
НСтр("ru = 'Сертификат метки времени, полученной на сервере: <a href = %1>%2</a>.'"),
СертификатМеткиВремени.АдресСертификата, СертификатМеткиВремени.Представление));
ИначеЕсли Не СертификатМеткиВремени.ПолученНаСервере Тогда
Массив.Добавить(СтроковыеФункцииКлиент.ФорматированнаяСтрока(
НСтр("ru = 'Сертификат метки времени, полученной на компьютере: <a href = %1>%2</a>.'"),
СертификатМеткиВремени.АдресСертификата, СертификатМеткиВремени.Представление));
Иначе
Массив.Добавить(СтроковыеФункцииКлиент.ФорматированнаяСтрока(
НСтр("ru = 'Сертификат полученной метки времени: <a href = %1>%2</a>.'"),
СертификатМеткиВремени.АдресСертификата, СертификатМеткиВремени.Представление));
КонецЕсли;
КонецЦикла;
Элементы.ДекорацияСертификатМеткиВремени.Заголовок = Новый ФорматированнаяСтрока(Массив);
Элементы.ДекорацияСертификатМеткиВремени.Видимость = Истина;
КонецЕсли;
Если Не ПроверкаПриВыборе Тогда
Возврат;
КонецЕсли;
@@ -466,6 +501,8 @@
ПроверкиНаСервере = Новый Структура;
ДополнительныеДанныеПроверокНаКлиенте = Новый Структура;
ДополнительныеДанныеПроверокНаСервере = Новый Структура;
СертификатыМетокВремени.Очистить();
Элементы.ДекорацияСертификатМеткиВремени.Видимость = Ложь;
// Очистка предыдущих результатов проверки.
Если СтандартныеПроверки Тогда
@@ -979,10 +1016,57 @@
// Подписание.
Если ПроверкиНаКлиенте.НаличиеСертификата = Истина И Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда
Контекст.МенеджерКриптографии.НачатьПодписывание(Новый ОписаниеОповещения(
"ПроверитьНаСторонеКлиентаПослеПодписания", ЭтотОбъект, Контекст,
"ПроверитьНаСторонеКлиентаПослеОшибкиПодписания", ЭтотОбъект),
Контекст.ДанныеСертификата, Контекст.СертификатКриптографии);
Попытка
ДанныеПодписи = Ждать Контекст.МенеджерКриптографии.ПодписатьАсинх(Контекст.ДанныеСертификата, Контекст.СертификатКриптографии);
ЭлектроннаяПодписьСлужебныйКлиентСервер.ПустыеДанныеПодписи(ДанныеПодписи, ОписаниеОшибки);
Исключение
ОписаниеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
УстановитьЭлемент(ЭтотОбъект, "Подписание", Ложь, ОписаниеОшибки, Истина, ОбъединятьРезультаты);
ПроверитьНаСторонеКлиентаПослеПодписания(Null, Контекст);
Возврат;
Иначе
ПарольПринят = Истина;
КонецЕсли;
Если ЗначениеЗаполнено(ТипПодписи) И ТипПодписи <> ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.БазоваяCAdESBES")
И ТипПодписи <> ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.ОбычнаяCMS") Тогда
Попытка
НастройкиПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.НастройкиСозданияПодписи(ТипПодписи,
ЭлектроннаяПодписьКлиент.ОбщиеНастройки().АдресаСерверовМетокВремени);
Контекст.МенеджерКриптографии.АдресаСерверовМетокВремени = НастройкиПодписи.АдресаСерверовМетокВремени;
ЭлектроннаяПодписьСлужебныйКлиентСервер.ПустыеДанныеПодписи(ДанныеПодписи, ОписаниеОшибки);
Исключение
ОписаниеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
УстановитьЭлемент(ЭтотОбъект, "Подписание", Ложь, ОписаниеОшибки, Истина, ОбъединятьРезультаты);
ПроверитьНаСторонеКлиентаПослеПодписания(Null, Контекст);
Возврат;
КонецЕсли;
Попытка
ДанныеПодписи = Ждать Контекст.МенеджерКриптографии.ПодписатьАсинх(Контекст.ДанныеСертификата, Контекст.СертификатКриптографии,
НастройкиПодписи.ТипПодписи);
Исключение
ОписаниеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
УстановитьЭлемент(ЭтотОбъект, "Подписание", Ложь, ОписаниеОшибки, Истина, ОбъединятьРезультаты);
ПроверитьНаСторонеКлиентаПослеПодписания(Null, Контекст);
Возврат;
КонецЕсли;
КонецЕсли;
ПроверитьНаСторонеКлиентаПослеПодписания(ДанныеПодписи, Контекст);
Иначе
ПроверитьНаСторонеКлиентаПослеПодписания(Null, Контекст);
КонецЕсли;
@@ -1053,6 +1137,7 @@
// Проверка подписи.
Если ДанныеПодписи <> Null И ПроверкиНаКлиенте.НаличиеСертификата = Истина И Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда
Контекст.Вставить("ДанныеПодписи", ДанныеПодписи);
Контекст.МенеджерКриптографии.НачатьПроверкуПодписи(Новый ОписаниеОповещения(
"ПроверитьНаСторонеКлиентаПослеПроверкиПодписи", ЭтотОбъект, Контекст,
"ПроверитьНаСторонеКлиентаПослеОшибкиПроверкиПодписи", ЭтотОбъект),
@@ -1112,7 +1197,7 @@
// Продолжение процедуры ПроверитьНаСторонеКлиента.
&НаКлиенте
Процедура ПроверитьНаСторонеКлиентаПослеПроверкиПодписи(Сертификат, Контекст) Экспорт
Асинх Процедура ПроверитьНаСторонеКлиентаПослеПроверкиПодписи(Сертификат, Контекст) Экспорт
Если Сертификат <> Null Тогда
Если ТипЗнч(Сертификат) = Тип("Строка") Тогда
@@ -1120,7 +1205,47 @@
Иначе
ОписаниеОшибки = "";
КонецЕсли;
Если Не ЗначениеЗаполнено(ОписаниеОшибки) И ЗначениеЗаполнено(ТипПодписи) И ТипПодписи
<> ПредопределенноеЗначение(
"Перечисление.ТипыПодписиКриптографии.БазоваяCAdESBES") И ТипПодписи <> ПредопределенноеЗначение(
"Перечисление.ТипыПодписиКриптографии.ОбычнаяCMS") Тогда
Попытка
СвойстваПодписи = Ждать ЭлектроннаяПодписьСлужебныйКлиент.СвойстваПодписиЧтениеМенеджеромКриптографии(
Контекст.ДанныеПодписи, Контекст.МенеджерКриптографии, Истина);
Исключение
ОписаниеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если Не ЗначениеЗаполнено(ОписаниеОшибки) И ЗначениеЗаполнено(СвойстваПодписи.ТекстОшибки) Тогда
ОписаниеОшибки = СвойстваПодписи.ТекстОшибки;
ИначеЕсли Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда
ДанныеСертификатаМеткиВремени = СвойстваПодписи.Сертификаты[СвойстваПодписи.Сертификаты.ВГраница()];
СертификатМеткиВремени = Новый СертификатКриптографии();
Ждать СертификатМеткиВремени.ИнициализироватьАсинх(ДанныеСертификатаМеткиВремени);
СвойстваСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваСертификата(
СертификатМеткиВремени, ЭлектроннаяПодписьСлужебныйКлиент.ДобавкаВремени());
Найдено = СертификатыМетокВремени.НайтиСтроки(Новый Структура("Отпечаток",
СвойстваСертификата.Отпечаток));
Если Найдено.Количество() = 0 Тогда
НоваяСтрока = СертификатыМетокВремени.Добавить();
НоваяСтрока.АдресСертификата = ПоместитьВоВременноеХранилище(ДанныеСертификатаМеткиВремени,
УникальныйИдентификатор);
НоваяСтрока.Отпечаток = СвойстваСертификата.Отпечаток;
НоваяСтрока.ПолученНаКлиенте = Истина;
НоваяСтрока.Представление = СвойстваСертификата.Представление;
Иначе
Найдено[0].ПолученНаКлиенте = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
УстановитьЭлемент(ЭтотОбъект, "ПроверкаПодписи", Ложь, ОписаниеОшибки, Истина, ОбъединятьРезультаты);
КонецЕсли;
Контекст.МенеджерКриптографии.НачатьШифрование(Новый ОписаниеОповещения(
@@ -1795,6 +1920,29 @@
КонецПопытки;
ПарольПринят = Не ЗначениеЗаполнено(ОписаниеОшибки);
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
УстановитьЭлемент(ЭтотОбъект, "Подписание", Истина, ОписаниеОшибки, Истина, ОбъединятьРезультаты);
Возврат ДанныеПодписи;
КонецЕсли;
Если ЗначениеЗаполнено(ТипПодписи) И ТипПодписи <> ПредопределенноеЗначение(
"Перечисление.ТипыПодписиКриптографии.БазоваяCAdESBES") И ТипПодписи <> ПредопределенноеЗначение(
"Перечисление.ТипыПодписиКриптографии.ОбычнаяCMS") Тогда
Попытка
НастройкиПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.НастройкиСозданияПодписи(ТипПодписи,
ЭлектроннаяПодпись.ОбщиеНастройки().АдресаСерверовМетокВремени);
МенеджерКриптографии.АдресаСерверовМетокВремени = НастройкиПодписи.АдресаСерверовМетокВремени;
ДанныеПодписи = МенеджерКриптографии.Подписать(ДанныеСертификата, СертификатКриптографии,
НастройкиПодписи.ТипПодписи);
ЭлектроннаяПодписьСлужебныйКлиентСервер.ПустыеДанныеПодписи(ДанныеПодписи, ОписаниеОшибки);
Исключение
ОписаниеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
КонецЕсли;
УстановитьЭлемент(ЭтотОбъект, "Подписание", Истина, ОписаниеОшибки, Истина, ОбъединятьРезультаты);
Возврат ДанныеПодписи;
@@ -1809,6 +1957,42 @@
Исключение
ОписаниеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если Не ЗначениеЗаполнено(ОписаниеОшибки) И ЗначениеЗаполнено(ТипПодписи) И ТипПодписи <> ПредопределенноеЗначение(
"Перечисление.ТипыПодписиКриптографии.БазоваяCAdESBES") И ТипПодписи <> ПредопределенноеЗначение(
"Перечисление.ТипыПодписиКриптографии.ОбычнаяCMS") Тогда
Попытка
СвойстваПодписи = ЭлектроннаяПодписьСлужебный.СвойстваПодписиЧтениеМенеджеромКриптографии(
ДанныеПодписи, МенеджерКриптографии, Истина);
Исключение
ОписаниеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Если Не ЗначениеЗаполнено(ОписаниеОшибки) И ЗначениеЗаполнено(СвойстваПодписи.ТекстОшибки) Тогда
ОписаниеОшибки = СвойстваПодписи.ТекстОшибки;
ИначеЕсли Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда
ДанныеСертификатаМеткиВремени = СвойстваПодписи.Сертификаты[СвойстваПодписи.Сертификаты.ВГраница()];
СертификатМеткиВремени = Новый СертификатКриптографии(ДанныеСертификатаМеткиВремени);
СвойстваСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваСертификата(
СертификатМеткиВремени, ЭлектроннаяПодписьСлужебный.ДобавкаВремени());
Найдено = СертификатыМетокВремени.НайтиСтроки(Новый Структура("Отпечаток", СвойстваСертификата.Отпечаток));
Если Найдено.Количество() = 0 Тогда
НоваяСтрока = СертификатыМетокВремени.Добавить();
НоваяСтрока.АдресСертификата = ПоместитьВоВременноеХранилище(ДанныеСертификатаМеткиВремени,
УникальныйИдентификатор);
НоваяСтрока.Отпечаток = СвойстваСертификата.Отпечаток;
НоваяСтрока.ПолученНаСервере = Истина;
Иначе
Найдено[0].ПолученНаСервере = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
УстановитьЭлемент(ЭтотОбъект, "ПроверкаПодписи", Истина, ОписаниеОшибки, Истина, ОбъединятьРезультаты);
КонецПроцедуры
@@ -2058,22 +2242,23 @@
Если НачалоЭлемента = "Расшифровка" И ЭлементНадписьОшибка.Заголовок = Форма.Элементы["Подписание" + ?(
НаСервере, "ОшибкаСервер", "ОшибкаКлиент") + "Надпись"].Заголовок Тогда
Форма.Элементы[ИмяНадписиРешение].Видимость = Форма.Элементы["Подписание" + ?(НаСервере, "РешениеСерверНадпись", "РешениеКлиентНадпись")].Видимость;
Форма.Элементы[ИмяНадписиРешение].Видимость = Форма.Элементы["Подписание" + ?(НаСервере,
"РешениеСерверНадпись", "РешениеКлиентНадпись")].Видимость;
Форма.Элементы[ИмяНадписиРешение].Заголовок = НСтр("ru = 'См. пункт Подписание данных.'");
Иначе
ОписаниеИзвестнойОшибки = ОшибкаПоКлассификатору(ОписаниеОшибки, НаСервере);
ОписаниеИзвестнойОшибки = ОшибкаПоКлассификатору(ОписаниеОшибки, НаСервере, НачалоЭлемента = "ПроверкаПодписи");
ЭтоИзвестнаяОшибка = ОписаниеИзвестнойОшибки <> Неопределено;
Форма.Элементы[ИмяНадписиРешение].Видимость = ЭтоИзвестнаяОшибка;
Если ЭтоИзвестнаяОшибка Тогда
Если ЗначениеЗаполнено(ОписаниеИзвестнойОшибки.ДействияДляУстранения) Тогда
ДанныеДляДополнения = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДанныеДляДополненияОшибкиИзКлассификатора(Неопределено);
ДанныеДляДополнения.ДанныеСертификата = ПолучитьИзВременногоХранилища(Форма.АдресСертификата);
Если ЗначениеЗаполнено(Форма.Сертификат) И ЗначениеЗаполнено(
ОписаниеИзвестнойОшибки.ДействияДляУстранения) Тогда
ДанныеДляДополнения = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДанныеДляДополненияОшибкиИзКлассификатора(
Новый Структура("Сертификат, ДанныеСертификата", Форма.Сертификат, Форма.АдресСертификата));
ПараметрыДополненияТекстаРешенияОшибкиКлассификатора = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыДополненияТекстаРешенияОшибкиКлассификатора();
Дополнение = ЭлектроннаяПодписьСлужебныйВызовСервера.ДополнитьРешениеКлассификатораОшибокПодробностями(
ОписаниеИзвестнойОшибки, ДанныеДляДополнения,
ПараметрыДополненияТекстаРешенияОшибкиКлассификатора, ?(НаСервере, "Сервер", "Клиент"));
@@ -2082,6 +2267,7 @@
Если ПараметрыДополненияТекстаРешенияОшибкиКлассификатора.ПроверитьСертификатВЛокальномХранилищеКлиента Тогда
Форма.ПроверитьСертификатВЛокальномХранилищеКлиента = НачалоЭлемента;
КонецЕсли;
КонецЕсли;
Форма.Элементы[ИмяНадписиРешение].Заголовок = ОписаниеИзвестнойОшибки.Решение;
КонецЕсли;
@@ -2091,6 +2277,7 @@
Форма.Элементы[ИмяНадписиРешение].Видимость = Истина;
Форма.Элементы[ИмяНадписиРешение].Заголовок = ПредупреждениеПослеПроверкиУЦ.Решение;
КонецЕсли;
КонецЕсли;
Иначе
@@ -2112,7 +2299,7 @@
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка не выполнялась.'");
ЭлементНадпись.Гиперссылка = Ложь;
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя, Форма.ТипПодписи);
ИначеЕсли ЗначениеПроверки = Неопределено
И ЗначениеПроверкиВторогоКонтекста <> Неопределено Тогда
@@ -2131,7 +2318,7 @@
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка выполнена успешно.'");
ЭлементНадпись.Гиперссылка = Ложь;
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя, Форма.ТипПодписи);
Иначе
РезультатПроверки = ?(ОбъединятьРезультаты = "ОбъединятьПоИ",
ЗначениеПроверки И ЗначениеПроверкиВторогоКонтекста,
@@ -2144,7 +2331,7 @@
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка выполнена успешно.'");
ЭлементНадпись.Гиперссылка = Ложь;
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя, Форма.ТипПодписи);
КонецЕсли;
КонецЕсли;
Иначе
@@ -2163,7 +2350,7 @@
ЭлементРешение.Видимость = Ложь;
ЭлементНадпись.Гиперссылка = Ложь;
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя, Форма.ТипПодписи);
КонецЕсли;
КонецЕсли;
КонецЕсли;
@@ -2175,9 +2362,9 @@
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция ЗаголовокЭлемента(ДополнительныеПроверки, ИмяЭлемента)
Функция ЗаголовокЭлемента(ДополнительныеПроверки, ИмяЭлемента, ТипПодписи)
ЗаголовокЭлемента = СтандартныйЗаголовокЭлемента(ИмяЭлемента);
ЗаголовокЭлемента = СтандартныйЗаголовокЭлемента(ИмяЭлемента, ТипПодписи);
Если Не ПустаяСтрока(ЗаголовокЭлемента) Тогда
Возврат ЗаголовокЭлемента;
КонецЕсли;
@@ -2195,7 +2382,7 @@
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция СтандартныйЗаголовокЭлемента(ИмяЭлемента)
Функция СтандартныйЗаголовокЭлемента(ИмяЭлемента, ТипПодписи)
Если ИмяЭлемента = "ЗаконныйСертификатНадпись" Тогда
Возврат НСтр("ru = 'Соответствие законодательству Российской Федерации'");
@@ -2210,7 +2397,17 @@
Возврат НСтр("ru = 'Наличие программы для подписания и расшифровки'");
ИначеЕсли ИмяЭлемента = "ПодписаниеНадпись" Тогда
Если ЗначениеЗаполнено(ТипПодписи) Тогда
ТипПодписиСтрока = Строка(ТипПодписи);
ТипПодписиСтрока = НРег(Лев(ТипПодписиСтрока, 1)) + Сред(ТипПодписиСтрока, 2);
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Подписание данных типом подписи - %1'"), ТипПодписиСтрока);
Иначе
Возврат НСтр("ru = 'Подписание данных'");
КонецЕсли;
ИначеЕсли ИмяЭлемента = "ПроверкаПодписиНадпись" Тогда
Возврат НСтр("ru = 'Проверка созданной подписи'");
@@ -2257,9 +2454,9 @@
КонецПроцедуры
&НаСервереБезКонтекста
Функция ОшибкаПоКлассификатору(ОписаниеОшибки, ОшибкаНаСервере)
Функция ОшибкаПоКлассификатору(ОписаниеОшибки, ОшибкаНаСервере, ОшибкаПроверкиПодписи)
Возврат ЭлектроннаяПодписьСлужебный.ОшибкаПоКлассификатору(ОписаниеОшибки, ОшибкаНаСервере);
Возврат ЭлектроннаяПодписьСлужебный.ОшибкаПоКлассификатору(ОписаниеОшибки, ОшибкаНаСервере, ОшибкаПроверкиПодписи);
КонецФункции
@@ -331,7 +331,7 @@
КонецЕсли;
ЭлектроннаяПодписьКлиент.ПроверитьСертификатСправочника(Объект.Ссылка,
Новый Структура("БезПодтверждения", Истина));
Новый Структура("БезПодтверждения, ТипПодписи", Истина, ТипПодписиПоУмолчанию()));
КонецПроцедуры
@@ -872,6 +872,7 @@
КонецЕсли;
Результат = Новый СписокЗначений;
Результат.Добавить(Справочники.ПрограммыЭлектроннойПодписиИШифрования.ПустаяСсылка(), НСтр("ru = 'По умолчанию'"));
ТекстЗапроса =
"ВЫБРАТЬ
@@ -961,4 +962,11 @@
КонецФункции
&НаСервереБезКонтекста
Функция ТипПодписиПоУмолчанию()
Возврат Константы.ТипПодписиКриптографииПоУмолчанию.Получить();
КонецФункции
#КонецОбласти
@@ -242,10 +242,39 @@
Если СертификатОбъект.ДействителенДо <> СвойстваСертификата.ДействителенДо Тогда
СтрокаПоиска = Формат(СертификатОбъект.ДействителенДо, "ДФ=MM.yyyy");
СтрокаЗамены = Формат(СвойстваСертификата.ДействителенДо, "ДФ=MM.yyyy");
СертификатОбъект.Наименование = СтрЗаменить(СертификатОбъект.Наименование, СтрокаПоиска, СтрокаЗамены);
СертификатОбъект.Наименование = СтрЗаменить(СертификатОбъект.Наименование, СтрокаПоиска,
СтрокаЗамены);
СертификатОбъект.ДействителенДо = СвойстваСертификата.ДействителенДо;
ЗаписатьОбъект = Истина;
КонецЕсли;
Если ЗначениеЗаполнено(СертификатОбъект.Программа) И ТипЗнч(СертификатОбъект.Программа) = Тип(
"СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования") Тогда
АлгоритмСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСертификата(
ДвоичныеДанныеСертификата, Ложь, Истина);
Если ЭлектроннаяПодписьСлужебныйКлиентСервер.ЭтоСертификатГОСТ(АлгоритмСертификата) Тогда
ОписаниеПрограммы = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
СертификатОбъект.Программа,
"ЭтоВстроенныйКриптопровайдер, АлгоритмПодписи, АлгоритмХеширования");
Если Не ОписаниеПрограммы.ЭтоВстроенныйКриптопровайдер Тогда
Результат = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСоответствуетСертификату(
"", АлгоритмСертификата, ОписаниеПрограммы.АлгоритмПодписи, ОписаниеПрограммы.АлгоритмХеширования);
Если Результат <> Истина Тогда
СертификатОбъект.Программа = Справочники.ПрограммыЭлектроннойПодписиИШифрования.ПустаяСсылка();
ЗаписатьОбъект = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
@@ -34,6 +34,32 @@
Программа = Справочники.ПрограммыЭлектроннойПодписиИШифрования.ПустаяСсылка();
КонецЕсли;
Если ЗначениеЗаполнено(Программа) И ТипЗнч(Программа) = Тип(
"СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования") И ЗначениеЗаполнено(Отпечаток) Тогда
ОписаниеПрограммы = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Программа,
"ЭтоВстроенныйКриптопровайдер, АлгоритмПодписи, АлгоритмХеширования");
Если Не ОписаниеПрограммы.ЭтоВстроенныйКриптопровайдер Тогда
ДвоичныеДанные = ДанныеСертификата.Получить();
Если ТипЗнч(ДвоичныеДанные) = Тип("ДвоичныеДанные") Тогда
АлгоритмСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСертификата(
ДвоичныеДанные, Ложь, Истина);
Результат = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСоответствуетСертификату(
Наименование, АлгоритмСертификата, ОписаниеПрограммы.АлгоритмПодписи,
ОписаниеПрограммы.АлгоритмХеширования);
Если Результат <> Истина Тогда
ВызватьИсключение Результат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
КонецПроцедуры
@@ -268,7 +268,7 @@
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(Результат, ПараметрыСообщения, Ложь);
КонецЕсли;
Если Подписать Тогда
Если Подписать И Результат.Вложения.Количество() > 0 Тогда
ПараметрыОтправки.ДополнительныеПараметры.НастройкиСохранения.УпаковатьВАрхив = УпаковатьВАрхив;
ПодписатьФайлы(Результат, ПараметрыОтправки);
Иначе
@@ -286,7 +286,7 @@
СвойстваОбъекта = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДополнительныйРеквизит.Свойство, "Заголовок, ТипЗначения", , ТекущийЯзык().КодЯзыка);
СтрокаРеквизит = РеквизитыОбъекта.Добавить();
СтрокаРеквизит.Реквизит = ДополнительныйРеквизит.Свойство;
СтрокаРеквизит.Представление = СвойстваОбъекта.Заголовок;
СтрокаРеквизит.Представление = Строка(ДополнительныйРеквизит.Свойство);
СтрокаРеквизит.НомерКартинки = 2;
СтрокаРеквизит.ТипЗначения = СвойстваОбъекта.ТипЗначения;
КонецЦикла;
@@ -74,6 +74,9 @@
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<font xsi:type="core:FontRef">
<font>Style.ВажнаяНадписьШрифт</font>
</font>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
@@ -496,6 +499,9 @@
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<font xsi:type="core:FontRef">
<font>Style.ВажнаяНадписьШрифт</font>
</font>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
@@ -213,6 +213,19 @@
КонецФункции
// Возвращает разрешение на доступ к веб-сервису адресов через сеть Интернет.
// Если доступ запрещен, то подбор и проверка адресов использует только загруженные данные в приложение.
// Изменение доступа выполняется в разделе Администрирование - Интернет-поддержка и сервисы.
//
// Возвращаемое значение:
// Булево - если Истина, то доступ к веб-сервису разрешен.
//
Функция РазрешенДоступВИнтернет() Экспорт
Возврат Не АдресныйКлассификаторПовтИсп.ИспользоватьТолькоЗагруженныеДанные();
КонецФункции
// Проверяет адреса на соответствие адресному классификатору
// и возвращает подходящие варианты, содержащие сведения об адресе.
// При проверке адреса через веб-сервиса выполнение функции может занимать 20 секунд.
@@ -425,6 +438,41 @@
КонецФункции
// Проверяет корректность ОКМТО бюджетополучателей.
//
// Для проверки ОКТМО бюджетополучателей требуется подключение к Интернет-поддержке пользователей и наличие
// постоянного соединения с интернетом, т.к. адресные сведения, загруженные в приложение, не используются.
// Проверка выполняется порциям по 100 значений за один запросу к веб-сервису, поэтому рекомендуется выполнять
// ее в фоновом режиме.
// При получении ответа от веб-сервиса отличного от успешного (код 200 ОК) выполнение функции прерывается
// и возвращается ошибка. Поэтому если в данных результата отсутствует ОКТМО бюджетополучателя,
// то он не было проверен из-за ошибок работы с веб-сервисом.
//
// Параметры:
// ОКТМОБюджетополучателей - Массив из Строка - список ОКТМО бюджетополучателей.
// - Строка - ОКТМО бюджетополучателя.
//
// Возвращаемое значение:
// Структура:
// * Отказ - Булево - если Истина, то при получении ОКТМО бюджетополучателя через веб-сервис возникла ошибка.
// * ПредставлениеОшибкиДляПользователя - Строка - текст ошибки для отображения пользователю.
// * ИнформацияОбОшибке - ИнформацияОбОшибке - структурированная информация об ошибке.
// * Данные - Соответствие из КлючИЗначение:
// ** Ключ - Строка - ОКТМО бюджетополучателя.
// ** Значение - Структура:
// *** Успешно - Булево - если Истина, то код ОКТМО бюджетополучателей корректный;
// *** ТекстОшибки - Строка - текст ошибки, если ОКТМО некорректный;
// *** МуниципальныеОбразования - Массив из Строка - список муниципальных образований, принадлежащих данному ОКТМО.
//
Функция ПроверитьОКТМОБюджетополучателя(ОКТМОБюджетополучателей) Экспорт
СписокОКТМО = ?(ТипЗнч(ОКТМОБюджетополучателей) = Тип("Строка"),
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ОКТМОБюджетополучателей), ОКТМОБюджетополучателей);
Возврат АдресныйКлассификаторСлужебный.ПроверитьОКМТОБюджетополучателя(СписокОКТМО);
КонецФункции
#Область УстаревшиеПроцедурыИФункции
// Возвращает идентификационный код дома и адресного объекта с помощью веб-сервиса фирмы 1С предоставляющего
@@ -118,7 +118,7 @@
// Возвращаемое значение:
// HTTPСоединение - объект для вызовов сервиса.
//
Функция СервисКлассификатора1С(ВремяОжидания = 120) Экспорт
Функция СервисКлассификатора1С(ВремяОжидания = 20) Экспорт
УстановитьПривилегированныйРежим(Истина);
Авторизация = АдресныйКлассификаторСлужебный.ПараметрыАутентификацииНаСайте();
@@ -6470,6 +6470,160 @@
КонецПроцедуры
Функция ПроверитьОКМТОБюджетополучателя(ОКТМОБюджетополучателей) Экспорт
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр("АдресныйКлассификаторСлужебный.ПроверитьОКМТОБюджетополучателя",
"ОКТМОБюджетополучателей", ОКТМОБюджетополучателей, Тип("Массив"));
РазмерПорции = 100;
Результат = НовыйРезультатИзВебСервиса();
Порция = Новый Массив;
Для Позиция = 0 По ОКТМОБюджетополучателей.ВГраница() Цикл
ОКТМОБюджетополучателя = СокрЛП(ОКТМОБюджетополучателей.Получить(Позиция));
Если СтрДлина(ОКТМОБюджетополучателя) = 8 Или СтрДлина(ОКТМОБюджетополучателя) = 11 Тогда
Если Результат.Данные[ОКТМОБюджетополучателя] = Неопределено Тогда
Порция.Добавить(ОКТМОБюджетополучателя);
КонецЕсли;
Иначе
ДанныеПоОКТМО = ДанныеПоОКТМО();
ДанныеПоОКТМО.ТекстОшибки = НСтр("ru = 'Указан некорректный код ОКТМО'");
Результат.Данные.Вставить(ОКТМОБюджетополучателя, ДанныеПоОКТМО);
КонецЕсли;
Если (Порция.Количество() = РазмерПорции
Или Позиция = ОКТМОБюджетополучателей.ВГраница())
И Порция.Количество() > 0 Тогда
ОбработатьПорциюОКТМОБюджетополучателей(Результат, Порция);
Если Результат.Отказ Тогда
Возврат Результат;
КонецЕсли;
Порция = Новый Массив;
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
Функция ДанныеПоОКТМО()
ДанныеПоОКТМО = Новый Структура();
ДанныеПоОКТМО.Вставить("Успешно", Ложь);
ДанныеПоОКТМО.Вставить("ТекстОшибки", "");
ДанныеПоОКТМО.Вставить("МуниципальныеОбразования", Новый Массив);
Возврат ДанныеПоОКТМО;
КонецФункции
// Возвращаемое значение:
// Структура:
// * Данные - Соответствие
// * Отказ - Булево
// * ПредставлениеОшибкиДляПользователя - Строка
// * ИнформацияОбОшибке - ИнформацияОбОшибке
// - Неопределено
//
Функция НовыйРезультатИзВебСервиса()
Результат = Новый Структура;
Результат.Вставить("Данные", Новый Соответствие);
Результат.Вставить("Отказ", Ложь);
Результат.Вставить("ПредставлениеОшибкиДляПользователя", "");
Результат.Вставить("ИнформацияОбОшибке", Неопределено);
Возврат Результат;
КонецФункции
Функция ОбработатьПорциюОКТМОБюджетополучателей(Результат, Порция)
ИдентификаторЗапроса = Строка(Новый УникальныйИдентификатор);
ДанныеДляЗапроса = Новый Структура("oktmoList", Порция);
Сервис = АдресныйКлассификаторПовтИсп.СервисКлассификатора1С();
ПрефиксВерсииЗапроса = ПрефиксВерсииЗапросаСервисаОКТМО();
HTTPЗапрос = Новый HTTPЗапрос(ПрефиксВерсииЗапроса + "validateOktmoList");
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
HTTPЗапрос.Заголовки.Вставить("X-1C-Request-UID", ИдентификаторЗапроса);
HTTPЗапрос.УстановитьТелоИзСтроки(СтруктураВСтрокуJSON(ДанныеДляЗапроса));
Попытка
РезультатПроверки = Сервис.ОтправитьДляОбработки(HTTPЗапрос);
Исключение
ОбработатьОшибкуОбращенияКВебСервисуПриПолученииОКТМО(Результат);
Возврат Результат;
КонецПопытки;
ПолученныеДанные = РезультатПроверки.ПолучитьТелоКакСтроку("UTF-8");
Если РезультатПроверки.КодСостояния = 200 Тогда
ДанныеПроверки = СтрокуJSONВСоответствие(ПолученныеДанные);
Если ТипЗнч(ДанныеПроверки) = Тип("Соответствие") Тогда
НаборОКТМО = ДанныеПроверки["validateOktmoData"];
Для каждого ДанныеОКТМО Из НаборОКТМО Цикл
ЗначениеОКМТО = ДанныеОКТМО.Значение;
ДанныеПоОКТМО = ДанныеПоОКТМО();
Если ЗначениеОКМТО["validateOktmoStatus"] = "VERIFIED_OKTMO" Тогда
ДанныеПоОКТМО.Успешно = Истина;
КонецЕсли;
Если ЗначениеЗаполнено(ЗначениеОКМТО["validateMessage"]) Тогда
ДанныеПоОКТМО.ТекстОшибки = ЗначениеОКМТО["validateMessage"];
КонецЕсли;
Если ЗначениеЗаполнено(ЗначениеОКМТО["oktmoMunValue"]) Тогда
ДанныеПоОКТМО.МуниципальныеОбразования = ЗначениеОКМТО["oktmoMunValue"];
КонецЕсли;
Результат.Данные.Вставить(ДанныеОКТМО.Ключ, ДанныеПоОКТМО)
КонецЦикла;
КонецЕсли;
Иначе
Результат.ПредставлениеОшибкиДляПользователя = НСтр("ru = 'Проверка ОКТМО бюджетополучателя недоступна по причине:
|- не подключена интернет-поддержка пользователей;
|- неполадки у интернет-провайдера;
|- подключение к серверу блокирует межсетевой экран,
| антивирус или другие приложения;
|- веб-сервис отключен или на техническом обслуживании.'");
Результат.Отказ = Истина;
ТекстОшибки = НСтр("ru = 'При проверке ОКМТО бюджетополучателя через веб-сервис возникли проблемы.'");
ЗаписатьОшибкуЗапросаКВебСервисуВЖурналРегистрации(ПолученныеДанные, ТекстОшибки, HTTPЗапрос.АдресРесурса
+ " X-1C-Request-UID:" + ИдентификаторЗапроса, РезультатПроверки.КодСостояния);
КонецЕсли;
Возврат Результат;
КонецФункции
Процедура ОбработатьОшибкуОбращенияКВебСервисуПриПолученииОКТМО(Результат)
Результат.Отказ = Истина;
Результат.ИнформацияОбОшибке = ИнформацияОбОшибке();
Результат.ПредставлениеОшибкиДляПользователя = НСтр("ru = 'При проверке ОКМТО бюджетополучателя через веб-сервис возникли проблемы.'");
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,,,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(Результат.ИнформацияОбОшибке));
КонецПроцедуры
Процедура ЗаполнитьЗначениеСвойстваЕслиПустое(Приемник, Источник, ИмяСвойстваПриемника, ИмяСвойстваИлиЗначениеИсточника, ЭтоЗначение = Ложь)
ЗначениеСвойства = ?(ЭтоЗначение, ИмяСвойстваИлиЗначениеИсточника, Источник[ИмяСвойстваИлиЗначениеИсточника]);
@@ -6962,7 +7116,7 @@
Результат.ПодробноеПредставлениеОшибки = ПредставлениеОшибки;
Результат.Отказ = Истина;
ЗаписатьОшибкуЗапросаКВебСервисуВЖурналРегистрации(ПолученныеДанные, Результат, HTTPЗапрос.АдресРесурса
ЗаписатьОшибкуЗапросаКВебСервисуВЖурналРегистрации(ПолученныеДанные, Результат.ПодробноеПредставлениеОшибки, HTTPЗапрос.АдресРесурса
+ " X-1C-Request-UID:" + ИдентификаторЗапроса, РезультатПроверки.КодСостояния);
Возврат Результат;
@@ -7677,6 +7831,10 @@
Возврат "rest/v4/";
КонецФункции
Функция ПрефиксВерсииЗапросаСервисаОКТМО()
Возврат "rest/oktmo/v1/";
КонецФункции
// Возвращает информацию из классификатора субъектов РФ.
//
// Возвращаемое значение:
@@ -8259,7 +8417,7 @@
Результат.ПодробноеПредставлениеОшибки = ПредставлениеОшибки;
ОтветОтСервера = Ответ.ПолучитьТелоКакСтроку("UTF-8");
ЗаписатьОшибкуЗапросаКВебСервисуВЖурналРегистрации(ОтветОтСервера, Результат, ТекстURL, Ответ.КодСостояния);
ЗаписатьОшибкуЗапросаКВебСервисуВЖурналРегистрации(ОтветОтСервера, ПредставлениеОшибки, ТекстURL, Ответ.КодСостояния);
КонецПроцедуры
@@ -8274,7 +8432,7 @@
КонецПроцедуры
Процедура ЗаписатьОшибкуЗапросаКВебСервисуВЖурналРегистрации(ОтветОтСервераСтрокой, Результат, ТекстURL, КодСостояния)
Процедура ЗаписатьОшибкуЗапросаКВебСервисуВЖурналРегистрации(ОтветОтСервераСтрокой, ПодробноеПредставлениеОшибки, ТекстURL, КодСостояния)
ШаблонТекстОтветаСервера = НСтр("ru = '%1
|Техническая информация. При запросе: %2
@@ -8282,7 +8440,7 @@
|с текстом: %4'");
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонТекстОтветаСервера,
Результат.ПодробноеПредставлениеОшибки, ТекстURL, КодСостояния, ОтветОтСервераСтрокой);
ПодробноеПредставлениеОшибки, ТекстURL, КодСостояния, ОтветОтСервераСтрокой);
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка, , , ТекстОшибки);
@@ -8340,6 +8498,19 @@
КонецФункции
Функция СтрокуJSONВСоответствие(Значение)
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Значение);
Результат = ПрочитатьJSON(ЧтениеJSON, Истина);
ЧтениеJSON.Закрыть();
Возврат Результат;
КонецФункции
Функция ВосстановлениеПолейКонтактнойИнформации(Свойство, Значение, ДополнительныеПараметрыФункцииПреобразования) Экспорт
Если СтрЗаканчиваетсяНа(ВРег(Свойство), "ID") И СтрДлина(Значение) = 36 Тогда
@@ -99,9 +99,9 @@
// * ДокументВид - Строка
// * ДокументНомер - Строка
// * ДокументКемВыдан - Строка
// * ДокументДатаВыдачи - Строка
// * ДокументКодПодразделения - Строка
// * ДокументСрокДействия - Строка
// * ДокументДатаВыдачи - Дата
// * ДокументКодПодразделения - Строка - код подразделения в виде 999-999
// * ДокументСрокДействия - Дата
// * Гражданство - СправочникСсылка.СтраныМира
// * БезГражданства - Булево
// * МестоРождения - Строка
@@ -252,21 +252,40 @@
Процедура ПриЗаполненииРеквизитовОрганизации(Реквизиты) Экспорт
КопияРеквизитов = ОбщегоНазначения.СкопироватьРекурсивно(Реквизиты);
Если Реквизиты.ЭтоФизическоеЛицо = Истина Тогда
МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовФизическогоЛица(Реквизиты.Ссылка, Реквизиты);
МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовФизическогоЛица(Реквизиты.Ссылка, КопияРеквизитов);
ИначеЕсли Реквизиты.ЭтоКонтрагент = Истина Тогда
МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовКонтрагента(Реквизиты.Ссылка, Реквизиты);
МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовКонтрагента(Реквизиты.Ссылка, КопияРеквизитов);
Иначе
СтандартнаяОбработка = Истина;
МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовОрганизации(Реквизиты.Ссылка, Реквизиты, СтандартнаяОбработка);
МашиночитаемыеДоверенностиФНСПереопределяемый.ПриЗаполненииРеквизитовОрганизации(Реквизиты.Ссылка, КопияРеквизитов, СтандартнаяОбработка);
Если СтандартнаяОбработка Тогда
ПриЗаполненииРеквизитовОрганизацииМЧД(Реквизиты);
ПриЗаполненииРеквизитовОрганизацииМЧД(КопияРеквизитов);
КонецЕсли;
КонецЕсли;
ЗаполнитьЗначенияСвойств(Реквизиты, КопияРеквизитов);
Если Реквизиты.ЭтоФизическоеЛицо = Истина Тогда
ДокументКодПодразделения = Строка(Реквизиты.ДокументКодПодразделения);
Если СтрДлина(ДокументКодПодразделения) = 6 И ДокументКодПодразделения = ТолькоЦифры(ДокументКодПодразделения) Тогда
Реквизиты.ДокументКодПодразделения = Лев(ДокументКодПодразделения, 3) + "-" + Прав(ДокументКодПодразделения, 3);
КонецЕсли;
КонецЕсли;
Если Не Реквизиты.ЭтоФизическоеЛицо И ЗначениеЗаполнено(Реквизиты.РеквизитыЛицаБезДоверенности) Тогда
РеквизитыЛицаБезДоверенности = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РеквизитыУчастника(
"ФизическоеЛицо", Реквизиты.ЛицоБезДоверенности,
?(Реквизиты.ЭтоИндивидуальныйПредприниматель = Истина, "ИндивидуальныйПредприниматель", "ДолжностноеЛицо"));
ЗаполнитьЗначенияСвойств(РеквизитыЛицаБезДоверенности, Реквизиты.РеквизитыЛицаБезДоверенности);
Реквизиты.РеквизитыЛицаБезДоверенности = РеквизитыЛицаБезДоверенности;
КонецЕсли;
КонецПроцедуры
Функция РеквизитыУчастника(Назначение, ОрганизацияТип, ОрганизацияТипСтрока, ОрганизацияСсылка, ВидУчастника,
@@ -286,7 +305,7 @@
ВидУчастника);
Иначе
Список = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РеквизитыОрганизацииСписок(Назначение, Ложь,
ВидУчастника, Назначение);
ВидУчастника);
КонецЕсли;
ОчиститьНеобязательныеРеквизиты(Реквизиты, Список);
@@ -1863,9 +1882,13 @@
Функция ПроверитьЗаполнениеРеквизитов(Форма, Реквизиты, СведенияОбОрганизации = Неопределено) Экспорт
Отказ = Ложь;
ВидДокумента = "";
ВидДокумента = Неопределено;
Гражданство = Неопределено;
БезГражданства = Неопределено;
КодПодразделения = Неопределено;
ДатаВыдачи = Неопределено;
КемВыдан = Неопределено;
СрокДействия = Неопределено;
Сведения = ?(СведенияОбОрганизации = Неопределено, Форма, СведенияОбОрганизации);
@@ -1880,13 +1903,24 @@
Для Каждого Реквизит Из Реквизиты Цикл
Если Реквизит.Имя = "ДокументВид" Тогда
Если Реквизит.Значение <> "0" Тогда
ВидДокумента = Реквизит.Значение;
КонецЕсли;
ИначеЕсли Реквизит.Имя = "ДокументНомер" Тогда
НомерДокумента = Реквизит;
Продолжить;
ИначеЕсли Реквизит.Имя = "ДокументДатаВыдачи" Тогда
ДатаВыдачи = Реквизит;
Продолжить;
ИначеЕсли Реквизит.Имя = "ДокументКодПодразделения" Тогда
КодПодразделения = Реквизит;
Продолжить;
ИначеЕсли Реквизит.Имя = "ДокументКемВыдан" Тогда
КемВыдан = Реквизит;
Продолжить;
ИначеЕсли Реквизит.Имя = "ДокументСрокДействия" Тогда
СрокДействия = Реквизит;
Продолжить;
ИначеЕсли Реквизит.Имя = "Гражданство" Тогда
Гражданство = Реквизит;
ИначеЕсли Реквизит.Имя = "БезГражданства" Тогда
@@ -1904,19 +1938,39 @@
КонецЕсли;
КонецЕсли;
Если ВидДокумента = "21" Тогда
ТекстОшибки = ОшибкиПроверкиКодаПодразделения(КодПодразделения.Значение);
Если ЗначениеЗаполнено(ВидДокумента) И КодПодразделения <> Неопределено Тогда
ТекстОшибки = ОшибкиПроверкиКодаПодразделения(КодПодразделения.Значение, ВидДокумента <> "10");
Если Не ПустаяСтрока(ТекстОшибки) Тогда
ТекстОшибки = КодПодразделения.ТекстПроверкиЗначения + " " + ТекстОшибки;
СообщитьПользователю(Форма, ТекстОшибки, КодПодразделения.ПолеСообщения, Отказ);
КонецЕсли;
КонецЕсли;
Если ВидДокумента = "21" Тогда
ТекстОшибки = ОшибкиПроверкиНомераПаспорта(НомерДокумента.Значение);
Если Не ПустаяСтрока(ТекстОшибки) Тогда
ТекстОшибки = НомерДокумента.ТекстПроверкиЗначения + " " + ТекстОшибки;
СообщитьПользователю(Форма, ТекстОшибки, НомерДокумента.ПолеСообщения, Отказ);
КонецЕсли;
ИначеЕсли ЗначениеЗаполнено(ВидДокумента) Тогда
НомерДокумента.ТекстНезаполненного = НомерДокумента.ТекстПроверкиЗначения;
ПроверитьЗаполнениеРеквизита(Форма, НомерДокумента, Отказ, ЭтоИП, ЭтоФЛ);
КонецЕсли;
Если ВидДокумента = "22" И СрокДействия <> Неопределено Тогда
СрокДействия.ТекстНезаполненного = СрокДействия.ТекстПроверкиЗначения;
ПроверитьЗаполнениеРеквизита(Форма, СрокДействия, Отказ, ЭтоИП, ЭтоФЛ);
КонецЕсли;
Если ЗначениеЗаполнено(ВидДокумента) Тогда
ДатаВыдачи.ТекстНезаполненного = ДатаВыдачи.ТекстПроверкиЗначения;
ПроверитьЗаполнениеРеквизита(Форма, ДатаВыдачи, Отказ, ЭтоИП, ЭтоФЛ);
Если ВидДокумента <> "10" И КемВыдан <> Неопределено Тогда
КемВыдан.ТекстНезаполненного = КемВыдан.ТекстПроверкиЗначения;
ПроверитьЗаполнениеРеквизита(Форма, КемВыдан, Отказ, ЭтоИП, ЭтоФЛ);
КонецЕсли;
КонецЕсли;
@@ -2091,10 +2145,14 @@
КонецФункции
Функция ОшибкиПроверкиКодаПодразделения(КодПодразделения)
Функция ОшибкиПроверкиКодаПодразделения(КодПодразделения, ПроверятьНаЗаполненность = Ложь)
Если ПустаяСтрока(КодПодразделения) Тогда
Если ПроверятьНаЗаполненность Тогда
Возврат НСтр("ru = 'Не указан код подразделения'");
Иначе
Возврат "";
КонецЕсли;
КонецЕсли;
СтрокаЦифр = СтрЗаменить(СокрЛП(КодПодразделения), "-", "");
@@ -2110,6 +2168,10 @@
Возврат НСтр("ru = 'Код подразделения не может быть нулевым.'");
КонецЕсли;
Если Сред(КодПодразделения, 4, 1) <> "-" Тогда
Возврат НСтр("ru = 'Неправильный формат кода подразделения.'");
КонецЕсли;
Возврат "";
КонецФункции
@@ -2136,10 +2198,6 @@
Функция ОшибкиПроверкиНомераПаспорта(Знач НомерПаспортаРФ)
Если ПустаяСтрока(НомерПаспортаРФ) Тогда
Возврат "";
КонецЕсли;
СтрокаЦифр = СтрЗаменить(НомерПаспортаРФ, ",", "");
СтрокаЦифр = СтрЗаменить(СтрокаЦифр, " ", "");
@@ -61,21 +61,22 @@
// Реквизиты организации.
//
// Параметры:
// СторонаМЧД - ПеречислениеСсылка.ТипыУчастниковМЧД, Неопределено
// Назначение - см. НазначениеДоверенностиДляПроверкиРеквизитов
// ДляЗаполнения - Булево - если Истина, полный список реквизитов
// ВидОрганизации - Неопределено, Строка - "ИндивидуальныйПредприниматель", "ИностраннаяОрганизация", "Филиал"
// Назначение - см. НазначениеДоверенности
//
// Возвращаемое значение:
// СписокЗначений
//
Функция РеквизитыОрганизацииСписок(СторонаМЧД, ДляЗаполнения = Истина, ВидОрганизации = Неопределено, Назначение = Неопределено) Экспорт
Функция РеквизитыОрганизацииСписок(Назначение = Неопределено, ДляЗаполнения = Истина, ВидОрганизации = Неопределено) Экспорт
Если Назначение = Неопределено Тогда
Назначение = НазначениеДоверенностиДляПроверкиРеквизитов();
КонецЕсли;
ЭтоДоверитель = Назначение.ТипУчастника = ПредопределенноеЗначение("Перечисление.ТипыУчастниковМЧД.Доверитель");
// Пометка списка Истина означает, что поле необязательное
Реквизиты = Новый СписокЗначений;
Реквизиты.Добавить("ЭтоИндивидуальныйПредприниматель", НСтр("ru = 'Индивидуальный предприниматель'"), Истина);
Реквизиты.Добавить("ЭтоФизическоеЛицо", НСтр("ru = 'Физическое лицо'"), Истина);
@@ -84,15 +85,14 @@
Реквизиты.Добавить("ЭтоФилиал", НСтр("ru = 'Филиал'"), Истина);
Реквизиты.Добавить("НаименованиеПолное", НСтр("ru = 'Наименование (полное)'"));
Реквизиты.Добавить("НаименованиеСокращенное", НСтр("ru = 'Наименование (сокращенное)'"), Истина);
Реквизиты.Добавить("ИНН", НСтр("ru = 'ИНН'"));
Реквизиты.Добавить("ИНН", НСтр("ru = 'ИНН'"), ВидОрганизации = "ИностраннаяОрганизация" И ЭтоДоверитель);
Реквизиты.Добавить("ЭлектроннаяПочта", НСтр("ru = 'Электронная почта'"), Истина);
Реквизиты.Добавить("ЭлектроннаяПочтаЗначение", НСтр("ru = 'Электронная почта'"), Истина);
Реквизиты.Добавить("Телефон", НСтр("ru = 'Телефон'"), Истина);
Реквизиты.Добавить("ТелефонЗначение", НСтр("ru = 'Телефон'"), Истина);
Если ДляЗаполнения Или ВидОрганизации <> "ИндивидуальныйПредприниматель" Тогда
Реквизиты.Добавить("КПП", НСтр("ru = 'КПП'"));
Реквизиты.Добавить("КПП", НСтр("ru = 'КПП'"), ВидОрганизации = "ИностраннаяОрганизация" И ЭтоДоверитель);
КонецЕсли;
Если ДляЗаполнения Или ВидОрганизации <> "ИностраннаяОрганизация" Тогда
@@ -100,15 +100,15 @@
КонецЕсли;
Если ДляЗаполнения Или ВидОрганизации = "ИностраннаяОрганизация" Тогда
Реквизиты.Добавить("НомерЗаписиОбАккредитации", НСтр("ru = 'Номер записи об аккредитации'"));
Реквизиты.Добавить("НомерЗаписиОбАккредитации", НСтр("ru = 'Номер записи об аккредитации'"), ЭтоДоверитель);
Реквизиты.Добавить("СтранаРегистрации", НСтр("ru = 'Страна регистрации (инкорпорации)'"), Не ЭтоДоверитель);
Реквизиты.Добавить("СтранаРегистрацииКод", НСтр("ru = 'Код страны регистрации (инкорпорации)'"), Не ЭтоДоверитель);
Реквизиты.Добавить("РегистрационныйНомерВСтранеРегистрации", НСтр("ru = 'Регистрационный номер в стране регистрации (инкорпорации)'"), Не ЭтоДоверитель);
Реквизиты.Добавить("НаименованиеРегистрирующегоОргана", НСтр("ru = 'Наименование регистрирующего органа'"), Истина);
Реквизиты.Добавить("КодНалогоплательщикаВСтранеРегистрации", НСтр("ru = 'Код налогоплательщика в стране регистрации (инкорпорации) или аналог'"));
Реквизиты.Добавить("КодНалогоплательщикаВСтранеРегистрации", НСтр("ru = 'Код налогоплательщика в стране регистрации (инкорпорации) или аналог'"), Истина);
Реквизиты.Добавить("ФактическийАдрес", НСтр("ru = 'Фактический адрес местонахождения'"));
Реквизиты.Добавить("ФактическийАдресЗначение", НСтр("ru = 'Фактический адрес местонахождения'"), Истина);
Реквизиты.Добавить("ЮридическийАдресВСтранеРегистрации", НСтр("ru = 'Адрес юридического лица на территории государства, в котором оно Зарегистрирована'"), Не ЭтоДоверитель);
Реквизиты.Добавить("ЮридическийАдресВСтранеРегистрации", НСтр("ru = 'Адрес юридического лица на территории государства, в котором оно зарегистрировано'"), Не ЭтоДоверитель);
Реквизиты.Добавить("ЮридическийАдресВСтранеРегистрацииЗначение", НСтр("ru = 'Адрес юридического лица на территории государства'"), Истина);
КонецЕсли;
@@ -158,9 +158,9 @@
// Реквизиты физического лица.
//
// Параметры:
// Назначение - см. НазначениеДоверенностиДляПроверкиРеквизитов
// ДляЗаполнения - Булево - если Истина, полный список реквизитов
// ВидФизическогоЛица - Неопределено, Строка - "ИндивидуальныйПредприниматель", "ДолжностноеЛицо", "ФизическоеЛицо"
// Назначение - см. НазначениеДоверенности
//
// Возвращаемое значение:
// СписокЗначений
@@ -45,7 +45,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.9.389";
Описание.Версия = "3.1.9.416";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -0,0 +1,17 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2023, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область СлужебныеПроцедурыИФункции
Процедура ПродолжитьВыполнениеПодключаемойКомандыПослеЗаписиВФорме() Экспорт
ПодключаемыеКомандыКлиент.ПослеЗаписиПродолжение();
КонецПроцедуры
#КонецОбласти
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e5687b69-4d9a-4d21-a506-294941f18056">
<name>ПодключаемыеКомандыГлобальный</name>
<synonym>
<key>ru</key>
<value>Подключаемые команды глобальный</value>
</synonym>
<global>true</global>
<clientManagedApplication>true</clientManagedApplication>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>
@@ -93,8 +93,12 @@
Контекст = ПараметрыЗаписи.ПараметрыВыполненияПодключаемойКоманды;
Контекст.Вставить("Форма", Форма);
Контекст.Вставить("Источник", Объект);
ПродолжитьВыполнениеКоманды(Контекст);
Контекст.Форма.ПараметрыПодключаемыхКоманд.Удалить("КомандаВыполняется")
Контекст.Форма.ПараметрыПодключаемыхКоманд.Удалить("КомандаВыполняется");
ИмяПараметра = "СтандартныеПодсистемы.ПодключаемыеКоманды.ПараметрыВыполненияПодключаемойКоманды";
ПараметрыПриложения[ИмяПараметра] = Контекст;
ПодключитьОбработчикОжидания("ПродолжитьВыполнениеПодключаемойКомандыПослеЗаписиВФорме", 0.1, Истина);
КонецЕсли;
КонецПроцедуры
@@ -477,4 +481,16 @@
КонецФункции
Процедура ПослеЗаписиПродолжение() Экспорт
ИмяПараметра = "СтандартныеПодсистемы.ПодключаемыеКоманды.ПараметрыВыполненияПодключаемойКоманды";
Контекст = ПараметрыПриложения[ИмяПараметра];
ПараметрыПриложения[ИмяПараметра] = Неопределено;
Если Контекст <> Неопределено Тогда
ПродолжитьВыполнениеКоманды(Контекст);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
@@ -1388,7 +1388,7 @@
КонецПроцедуры
Функция ИдентификаторКлассификатора()
Функция ИдентификаторКлассификатора() Экспорт
Возврат "Countries";
КонецФункции
@@ -3172,53 +3172,9 @@
//
Функция ТаблицаКлассификатора() Экспорт
Классификатор = Неопределено;
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда
ИдентификаторКлассификатора = ИдентификаторКлассификатора();
МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами");
Идентификаторы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИдентификаторКлассификатора);
Результат = МодульРаботаСКлассификаторами.ПолучитьФайлыКлассификаторов(Идентификаторы);
Если ПустаяСтрока(Результат.КодОшибки) И Результат.ДанныеКлассификаторов <> Неопределено Тогда
ОписаниеКлассификатора = Результат.ДанныеКлассификаторов.Найти(ИдентификаторКлассификатора, "Идентификатор");
Если ОписаниеКлассификатора <> Неопределено Тогда
Классификатор = ПолучитьИзВременногоХранилища(ОписаниеКлассификатора.АдресФайла);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Классификатор = Неопределено Тогда
Макет = Справочники.СтраныМира.ПолучитьМакет("Классификатор");
КлассификаторXML = Макет.ПолучитьТекст();
Иначе
НаборСтрок = Новый Массив;
ЧтениеЧасти = Новый ЧтениеДанных(Классификатор.ОткрытьПотокДляЧтения());
Пока Не ЧтениеЧасти.ЧтениеЗавершено Цикл
НаборСтрок.Добавить(ЧтениеЧасти.ПрочитатьСтроку());
КонецЦикла;
КлассификаторXML = СтрСоединить(НаборСтрок, ЧтениеЧасти.РазделительСтрок);
КонецЕсли;
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(КлассификаторXML);
ТаблицаСтран = СериализаторXDTO.ПрочитатьXML(Чтение); // ТаблицаЗначений
// Старые версии классификаторов не содержат колонку МеждународноеНаименование
Если ТаблицаСтран.Колонки.Найти("МеждународноеНаименование") = Неопределено Тогда
ТаблицаСтран.Колонки.Добавить("МеждународноеНаименование", ОбщегоНазначения.ОписаниеТипаСтрока(100));
КонецЕсли;
Возврат ТаблицаСтран;
Результат = РаботаСАдресамиПовтИсп.СтраныМира();
СтраныМира = Результат.СтраныМира.Скопировать();
Возврат СтраныМира;
КонецФункции
@@ -35,5 +35,70 @@
КонецФункции
// Общероссийский классификатор стран мира
// Возвращает полные данные ОКСМ классификатора.
// Таблица значений в макете проиндексирована по полям "Код", "Наименование".
//
// Возвращаемое значение:
// ТаблицаЗначений - данные классификатора с колонками:
// * Код - Строка - данные страны.
// * Наименование - Строка - данные страны.
// * НаименованиеПолное - Строка - данные страны.
// * КодАльфа2 - Строка - данные страны.
// * КодАльфа3 - Строка - данные страны.
//
Функция СтраныМира() Экспорт
Классификатор = Неопределено;
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда
ИдентификаторКлассификатора = РаботаСАдресами.ИдентификаторКлассификатора();
МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами");
Идентификаторы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИдентификаторКлассификатора);
Результат = МодульРаботаСКлассификаторами.ПолучитьФайлыКлассификаторов(Идентификаторы);
Если ПустаяСтрока(Результат.КодОшибки) И Результат.ДанныеКлассификаторов <> Неопределено Тогда
ОписаниеКлассификатора = Результат.ДанныеКлассификаторов.Найти(ИдентификаторКлассификатора, "Идентификатор");
Если ОписаниеКлассификатора <> Неопределено Тогда
Классификатор = ПолучитьИзВременногоХранилища(ОписаниеКлассификатора.АдресФайла);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Классификатор = Неопределено Тогда
Макет = Справочники.СтраныМира.ПолучитьМакет("Классификатор");
КлассификаторXML = Макет.ПолучитьТекст();
Иначе
НаборСтрок = Новый Массив;
ЧтениеЧасти = Новый ЧтениеДанных(Классификатор.ОткрытьПотокДляЧтения());
Пока Не ЧтениеЧасти.ЧтениеЗавершено Цикл
НаборСтрок.Добавить(ЧтениеЧасти.ПрочитатьСтроку());
КонецЦикла;
КлассификаторXML = СтрСоединить(НаборСтрок, ЧтениеЧасти.РазделительСтрок);
КонецЕсли;
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(КлассификаторXML);
ТаблицаСтран = СериализаторXDTO.ПрочитатьXML(Чтение); // ТаблицаЗначений
// Старые версии классификаторов не содержат колонку МеждународноеНаименование
Если ТаблицаСтран.Колонки.Найти("МеждународноеНаименование") = Неопределено Тогда
ТаблицаСтран.Колонки.Добавить("МеждународноеНаименование", ОбщегоНазначения.ОписаниеТипаСтрока(100));
КонецЕсли;
Возврат Новый ФиксированнаяСтруктура("СтраныМира", ТаблицаСтран);
КонецФункции
#КонецОбласти
@@ -1544,57 +1544,49 @@
КонецФункции
// Сохраняет настройки сканирования пользователя.
//
// Параметры:
// НастройкиСканированияПользователя - см. РаботаСФайламиКлиентСервер.НастройкиСканированияПользователя
// ИдентификаторКлиента - УникальныйИдентификатор - идентификатор клиента
// ИдентификаторКлиента - УникальныйИдентификатор
//
Процедура СохранитьНастройкиСканированияПользователя(НастройкиСканированияПользователя, ИдентификаторКлиента) Экспорт
МассивСтруктур = Новый Массив;
Результат = Новый Массив;
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("ПоказыватьДиалогСканера",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("ПоказыватьДиалогСканера",
НастройкиСканированияПользователя.ПоказыватьДиалогСканера, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("ИмяУстройства",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("ИмяУстройства",
НастройкиСканированияПользователя.ИмяУстройства, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("ФорматСканированногоИзображения",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("ФорматСканированногоИзображения",
НастройкиСканированияПользователя.ФорматСканированногоИзображения, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("СохранятьВPDF",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("СохранятьВPDF",
НастройкиСканированияПользователя.СохранятьВPDF, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("ФорматХраненияМногостраничный",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("ФорматХраненияМногостраничный",
НастройкиСканированияПользователя.ФорматХраненияМногостраничный, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("Разрешение",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("Разрешение",
НастройкиСканированияПользователя.Разрешение, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("Цветность",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("Цветность",
НастройкиСканированияПользователя.Цветность, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("Поворот",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("Поворот",
НастройкиСканированияПользователя.Поворот, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("РазмерБумаги",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("РазмерБумаги",
НастройкиСканированияПользователя.РазмерБумаги, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("ДвустороннееСканирование",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("ДвустороннееСканирование",
НастройкиСканированияПользователя.ДвустороннееСканирование, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("ИспользоватьImageMagickДляПреобразованияВPDF",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("ИспользоватьImageMagickДляПреобразованияВPDF",
НастройкиСканированияПользователя.ИспользоватьImageMagickДляПреобразованияВPDF, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("КачествоJPG",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("КачествоJPG",
НастройкиСканированияПользователя.КачествоJPG, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("СжатиеTIFF",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("СжатиеTIFF",
НастройкиСканированияПользователя.СжатиеTIFF, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("ПутьКПрограммеКонвертации",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("ПутьКПрограммеКонвертации",
НастройкиСканированияПользователя.ПутьКПрограммеКонвертации, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("КаталогЖурналаСканирования",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("КаталогЖурналаСканирования",
НастройкиСканированияПользователя.КаталогЖурналаСканирования, ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("ИспользоватьКаталогЖурналаСканирования",
Результат.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("ИспользоватьКаталогЖурналаСканирования",
НастройкиСканированияПользователя.ИспользоватьКаталогЖурналаСканирования, ИдентификаторКлиента));
Если ЗначениеЗаполнено(НастройкиСканированияПользователя.ФорматХраненияОдностраничный) Тогда
ФорматХраненияОдностраничный = НастройкиСканированияПользователя.ФорматХраненияОдностраничный;
Иначе
ФорматХраненияОдностраничный = РаботаСФайламиСлужебный.ПреобразоватьФорматСканированияВФорматХранения(НастройкиСканированияПользователя.ФорматСканированногоИзображения,
НастройкиСканированияПользователя.СохранятьВPDF);
КонецЕсли;
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("ФорматХраненияОдностраничный", ФорматХраненияОдностраничный, ИдентификаторКлиента));
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранитьМассив(МассивСтруктур, Истина);
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранитьМассив(Результат, Истина);
КонецПроцедуры
#Область ДляВызоваИзДругихПодсистем
@@ -57,10 +57,10 @@
КонецПроцедуры
// Настройки сканирования пользователя.
// Возвращает настройки сканирования пользователя.
//
// Возвращаемое значение:
// Структура - настройки сканирования пользователя:
// Структура:
// * ПоказыватьДиалогСканера - Булево
// * ИмяУстройства - Строка - НаименованиеСканера
// * ФорматСканированногоИзображения - ПеречислениеСсылка.ФорматыСканированногоИзображения
@@ -75,28 +75,26 @@
// * КачествоJPG - Число
// * СжатиеTIFF - ПеречислениеСсылка.ВариантыСжатияTIFF
// * ПутьКПрограммеКонвертации - Строка
// * ФорматХраненияОдностраничный - ПеречислениеСсылка.ФорматыХраненияОдностраничныхФайлов
//
Функция НастройкиСканированияПользователя() Экспорт
НастройкиСканированияПользователя = Новый Структура;
НастройкиСканированияПользователя.Вставить("ПоказыватьДиалогСканера", Ложь);
НастройкиСканированияПользователя.Вставить("ИмяУстройства", "");
НастройкиСканированияПользователя.Вставить("ФорматСканированногоИзображения");
НастройкиСканированияПользователя.Вставить("СохранятьВPDF", Ложь);
НастройкиСканированияПользователя.Вставить("ФорматХраненияМногостраничный");
НастройкиСканированияПользователя.Вставить("Разрешение");
НастройкиСканированияПользователя.Вставить("Цветность");
НастройкиСканированияПользователя.Вставить("Поворот");
НастройкиСканированияПользователя.Вставить("РазмерБумаги");
НастройкиСканированияПользователя.Вставить("ДвустороннееСканирование", Ложь);
НастройкиСканированияПользователя.Вставить("ИспользоватьImageMagickДляПреобразованияВPDF", Ложь);
НастройкиСканированияПользователя.Вставить("КачествоJPG", 0);
НастройкиСканированияПользователя.Вставить("СжатиеTIFF");
НастройкиСканированияПользователя.Вставить("ПутьКПрограммеКонвертации", "");
НастройкиСканированияПользователя.Вставить("ФорматХраненияОдностраничный");
НастройкиСканированияПользователя.Вставить("КаталогЖурналаСканирования");
НастройкиСканированияПользователя.Вставить("ИспользоватьКаталогЖурналаСканирования", Ложь);
Возврат НастройкиСканированияПользователя;
Результат = Новый Структура;
Результат.Вставить("ПоказыватьДиалогСканера", Ложь);
Результат.Вставить("ИмяУстройства", "");
Результат.Вставить("ФорматСканированногоИзображения");
Результат.Вставить("СохранятьВPDF", Ложь);
Результат.Вставить("ФорматХраненияМногостраничный");
Результат.Вставить("Разрешение");
Результат.Вставить("Цветность");
Результат.Вставить("Поворот");
Результат.Вставить("РазмерБумаги");
Результат.Вставить("ДвустороннееСканирование", Ложь);
Результат.Вставить("ИспользоватьImageMagickДляПреобразованияВPDF", Ложь);
Результат.Вставить("КачествоJPG", 0);
Результат.Вставить("СжатиеTIFF");
Результат.Вставить("ПутьКПрограммеКонвертации", "");
Результат.Вставить("КаталогЖурналаСканирования");
Результат.Вставить("ИспользоватьКаталогЖурналаСканирования", Ложь);
Возврат Результат;
КонецФункции
#КонецОбласти
@@ -2138,24 +2138,6 @@
КонецФункции
Функция ПреобразоватьФорматСканированияВФорматХранения(ФорматСканирования, СохранятьВPDF) Экспорт
Если СохранятьВPDF Тогда
Возврат Перечисления.ФорматыХраненияОдностраничныхФайлов.PDF;
ИначеЕсли ФорматСканирования = Перечисления.ФорматыСканированногоИзображения.BMP Тогда
Возврат Перечисления.ФорматыХраненияОдностраничныхФайлов.BMP;
ИначеЕсли ФорматСканирования = Перечисления.ФорматыСканированногоИзображения.GIF Тогда
Возврат Перечисления.ФорматыХраненияОдностраничныхФайлов.GIF;
ИначеЕсли ФорматСканирования = Перечисления.ФорматыСканированногоИзображения.JPG Тогда
Возврат Перечисления.ФорматыХраненияОдностраничныхФайлов.JPG;
ИначеЕсли ФорматСканирования = Перечисления.ФорматыСканированногоИзображения.TIF Тогда
Возврат Перечисления.ФорматыХраненияОдностраничныхФайлов.TIF;
КонецЕсли;
Возврат Перечисления.ФорматыХраненияОдностраничныхФайлов.PNG;
КонецФункции
Функция КомандаСканироватьЛист() Экспорт
Возврат "e1cib/command/Обработка.Сканирование.Команда.СканироватьЛист";
КонецФункции
@@ -2980,7 +2962,7 @@
КонецЦикла;
КонецПроцедуры
Функция СформироватьНастройкуСканирования(Имя, Значение, ИдентификаторКлиента) Экспорт
Функция НастройкаСканирования(Имя, Значение, ИдентификаторКлиента) Экспорт
Элемент = Новый Структура;
Элемент.Вставить("Объект", "НастройкиСканирования/" + Имя);
@@ -3230,9 +3230,9 @@
МассивСтруктур = Новый Массив;
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("КаталогЖурналаСканирования",
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("КаталогЖурналаСканирования",
"", ИдентификаторКлиента));
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.СформироватьНастройкуСканирования("ИспользоватьКаталогЖурналаСканирования",
МассивСтруктур.Добавить(РаботаСФайламиСлужебный.НастройкаСканирования("ИспользоватьКаталогЖурналаСканирования",
Ложь, ИдентификаторКлиента));
ОбщегоНазначенияВызовСервера.ХранилищеОбщихНастроекСохранитьМассив(МассивСтруктур, Истина);
@@ -197,7 +197,21 @@
ПараметрыПриложения.Вставить(ИмяПараметраВложенныхПоказателей(), Новый Массив);
КонецЕсли;
Попытка
ПроверитьПолучитьСерверныеОповещенияСПоказателями(СостояниеПолучения, Показатели);
Исключение
СерверныеВызовыРазрешены = Истина;
Попытка
СтандартныеПодсистемыВызовСервера.ИмяОбъектаМетаданных(Тип("Неопределено"));
Исключение
СерверныеВызовыРазрешены = Ложь;
КонецПопытки;
Если Не СерверныеВызовыРазрешены Тогда
ПодключитьОбработчикПроверкиПолученияСерверныхОповещений(15);
Возврат;
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
ДобавитьОсновнойПоказатель(Показатели, МоментНачала,
"СерверныеОповещенияКлиент.ПроверитьПолучитьСерверныеОповещения", Истина);
@@ -396,13 +396,15 @@
НовыйФормат.Картинка = БиблиотекаКартинок.ФорматPDF;
НовыйФормат.Представление = ПредставлениеТипаФайлаТабличногоДокументаPDF();
// Локализация
// Документ PDF (.pdf) (устаревший формат для ФНС)
НовыйФормат = ТаблицаФорматов.Добавить();
НовыйФормат.ТипФайлаТабличногоДокумента = ТипФайлаТабличногоДокумента.PDF;
НовыйФормат.Ссылка = Перечисления.ФорматыСохраненияОтчетов.PDF;
НовыйФормат.Расширение = "PDF";
НовыйФормат.Картинка = БиблиотекаКартинок.ФорматPDF;
НовыйФормат.Представление = НСтр("ru = 'Документ PDF (устаревший формат)'");
НовыйФормат.Представление = НСтр("ru = 'Документ PDF (для ФНС)'");
// Конец Локализация
// Табличный документ (.mxl)
НовыйФормат = ТаблицаФорматов.Добавить();
@@ -22603,33 +22603,47 @@
Если Условие.Узел = "ЧтениеОбъектаРазрешено"
Или Условие.Узел = "ИзменениеОбъектаРазрешено" Тогда
Результат = Новый Соответствие;
Результат = "Ложь";
ПроверятьПравоИзменение = Условие.Узел <> "ЧтениеОбъектаРазрешено";
ПравоИзменение = ПраваНаВедущийКлючДоступа.Получить(Контекст.ПустаяГруппаДоступа);
Если ПравоИзменение <> Неопределено
И (Не ПроверятьПравоИзменение Или ПравоИзменение) Тогда
Результат = "Истина";
Иначе
ПравоИзменение = ПраваНаВедущийКлючДоступа.Получить(Контекст.ГруппаДоступа);
Если ПравоИзменение <> Неопределено
И (Не ПроверятьПравоИзменение Или ПравоИзменение) Тогда
Результат = "Истина";
КонецЕсли;
КонецЕсли;
Если Результат <> "Истина" Тогда
Результат = Новый Соответствие;
Для Каждого КлючИЗначение Из ПраваНаВедущийКлючДоступа Цикл
Если ПроверятьПравоИзменение И Не КлючИЗначение.Значение Тогда
Продолжить;
КонецЕсли;
Если ТипЗнч(КлючИЗначение.Ключ) <> Контекст.ТипГруппыДоступа Тогда
Результат.Вставить(КлючИЗначение.Ключ, Истина);
ИначеЕсли КлючИЗначение.Ключ = Контекст.ГруппаДоступа Тогда
УчастникиГруппыДоступа = Контекст.УчастникиГруппДоступа.Получить(
Контекст.ГруппаДоступа);
Если УчастникиГруппыДоступа <> Неопределено Тогда
Если Результат.Количество() = 0 Тогда
Результат = Новый Соответствие(
Новый ФиксированноеСоответствие(УчастникиГруппыДоступа));
Иначе
Для Каждого ОписаниеУчастника Из УчастникиГруппыДоступа Цикл
ЗначениеКлюча = КлючИЗначение.Ключ;
ТипКлюча = ТипЗнч(ЗначениеКлюча);
Если ТипКлюча = Контекст.ТипГруппыДоступа Тогда
Продолжить;
КонецЕсли;
ТекущийРезультат = "Ложь";
Если ТипКлюча = Контекст.ТипПользователя Тогда
ЗаполнитьРезультатДляПользователя(ТекущийРезультат, ЗначениеКлюча, Контекст);
ИначеЕсли ТипКлюча = Контекст.ТипГруппыПользователей Тогда
ЗаполнитьРезультатДляГруппыПользователей(ТекущийРезультат, ЗначениеКлюча, Контекст);
КонецЕсли;
Если ТекущийРезультат = "Ложь" Тогда
Продолжить;
КонецЕсли;
Для Каждого ОписаниеУчастника Из ТекущийРезультат Цикл
Результат.Вставить(ОписаниеУчастника.Ключ, Истина);
КонецЦикла;
КонецЕсли;
КонецЕсли;
ИначеЕсли КлючИЗначение.Ключ = Контекст.ПустаяГруппаДоступа Тогда
Результат = "Истина";
Прервать;
КонецЕсли;
КонецЦикла;
Если Результат.Количество() = 0 Тогда
Результат = "Ложь";
КонецЕсли;
КонецЕсли;
Иначе
Результат = "Ложь";
КонецЕсли;
@@ -22678,16 +22692,7 @@
Или Условие.Узел = "ИзменениеСпискаРазрешено" И ПравоИзменение = Истина
Или Условие.Узел = "ИзменениеОбъектаРазрешено" И ПравоИзменение = Истина Тогда
Если Контекст.РассчитыватьПраваПользователей Тогда
УчастникиГруппыДоступа = Контекст.УчастникиГруппДоступа.Получить(Контекст.ГруппаДоступа);
Если УчастникиГруппыДоступа <> Неопределено Тогда
Результат = Новый Соответствие(Новый ФиксированноеСоответствие(УчастникиГруппыДоступа));
Иначе
Результат = "Ложь";
КонецЕсли;
Иначе
Результат = "Истина";
КонецЕсли;
Иначе
Результат = "Ложь";
КонецЕсли;
@@ -25862,8 +25867,9 @@
Процедура ЗапланироватьОбновлениеДоступаПриИзмененииПараметров(СтараяВерсия, Параметры)
НедоступныеСписки = Новый Массив;
СтараяВерсияСтруктурыКэша = "0";
Списки = СпискиСИзменениемВерсий(СтараяВерсия,
Параметры.ВерсииОграниченийСписков, НедоступныеСписки);
Параметры.ВерсииОграниченийСписков, НедоступныеСписки, СтараяВерсияСтруктурыКэша);
ПараметрыПланирования = ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.ВерсииОграниченийСписков = Параметры.ВерсииОграниченийСписков;
@@ -25895,6 +25901,15 @@
ПараметрыПланирования);
КонецЕсли;
Если Списки = Неопределено
Или СтараяВерсияСтруктурыКэша = ВерсияСтруктурыКэша() Тогда
Возврат;
КонецЕсли;
РегистрыСведений.ПараметрыОграниченияДоступа.ПриИзмененииВерсииСтруктурыКэша(
СтараяВерсияСтруктурыКэша,
Параметры.ХранимыеПараметры.ДляЗаписиОбъектовИПроверкиПрав.Получить());
КонецПроцедуры
// Для процедуры ОбновитьТаблицыГруппДоступаДляПодключенныхРасширений и
@@ -26056,7 +26071,8 @@
КонецПроцедуры
// Для функции НоваяВерсияПараметровОграниченияДоступа.
Функция СпискиСИзменениемВерсий(Версия, НовыеВерсииОграниченийСписков, НедоступныеСписки)
Функция СпискиСИзменениемВерсий(Версия, НовыеВерсииОграниченийСписков, НедоступныеСписки,
СтараяВерсияСтруктурыКэша)
Если Не ЗначениеЗаполнено(Версия) Тогда
Возврат Неопределено;
@@ -26076,6 +26092,10 @@
Возврат Неопределено;
КонецЕсли;
Свойства = Новый Структура("ВерсияСтруктурыКэша", СтараяВерсияСтруктурыКэша);
ЗаполнитьЗначенияСвойств(Свойства, ПараметрыЗаписи);
СтараяВерсияСтруктурыКэша = Свойства.ВерсияСтруктурыКэша;
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Список", Новый ОписаниеТипов("Строка"));
Таблица.Колонки.Добавить("Версия", Новый ОписаниеТипов("Строка"));
@@ -26175,11 +26195,11 @@
// Возвращаемое значение:
// Строка
//
Функция ВерсияСтруктурыКэша()
Функция ВерсияСтруктурыКэша() Экспорт
// Число нужно увеличивать при внесении изменений в состав параметров кэша
// (в том числе при изменении версии шаблонов).
Возврат "25" + ВерсияПеревода();
Возврат "26" + ВерсияПеревода();
КонецФункции
@@ -26950,7 +26970,6 @@
ТаблицаСвойств.Колонки.Добавить("Обработан", Новый ОписаниеТипов("Булево"));
ТаблицаСвойств.Колонки.Добавить("ОграничениеПоВладельцуВозможно", Новый ОписаниеТипов("Булево"));
ТаблицаСвойств.Колонки.Добавить("ОграничениеПоВладельцуВключено", Новый ОписаниеТипов("Булево"));
ТаблицаСвойств.Колонки.Добавить("ОграничениеПоВладельцуОтключено", Новый ОписаниеТипов("Булево"));
ТаблицаСвойств.Колонки.Добавить("КлючиДоступаПользователей", Новый ОписаниеТипов("Булево"));
ТаблицаСвойств.Колонки.Добавить("ЕстьЗависимыеСпискиБезЗаписиКлючейДоступа", Новый ОписаниеТипов("Булево"));
ТаблицаСвойств.Колонки.Добавить("ЗависимыеСпискиБезЗаписиКлючейДоступа", Новый ОписаниеТипов("Соответствие"));
@@ -27097,7 +27116,8 @@
"РассчитыватьПраваПользователей", Истина, Контекст);
КонецЕсли;
СвойстваСписка.КлючиДоступаПользователей = Истина;
Если КлючиДоступаГруппДоступа Тогда
Если СвойстваСписка.ОграничениеПоВладельцуВключено
И КлючиДоступаГруппДоступа Тогда
СвойстваСписка.КлючиДоступаПользователейИГруппДоступа = Истина;
КонецЕсли;
КонецЕсли;
@@ -27203,7 +27223,6 @@
// * Обработан - Булево
// * ОграничениеПоВладельцуВозможно - Булево
// * ОграничениеПоВладельцуВключено - Булево
// * ОграничениеПоВладельцуОтключено - Булево
// * КлючиДоступаПользователей - Булево
// * ЕстьЗависимыеСпискиБезЗаписиКлючейДоступа - Булево
// * КлючиДоступаПользователейИГруппДоступа - Булево
@@ -27297,7 +27316,7 @@
СвойстваЗависимогоСписка.ОграничениеПоВладельцуВключено =
СвойстваЗависимогоСписка.ОграничениеПоВладельцуВозможно
И Не СвойстваЗависимогоСписка.ОграничениеПоВладельцуОтключено;
И Не СвойстваЗависимогоСписка.Параметры.ПолеВладельца.Отключено;
ЗависимыйСписокСОптимизацией = СвойстваЗависимогоСписка.ОграничениеПоВладельцуВключено;
@@ -27330,7 +27349,7 @@
ТекстОшибки = ТекстОшибкиСЗаголовком(ТекстОшибки, КонтекстОшибки);
ВызватьИсключение ТекстОшибки;
Иначе
СвойстваВедущегоСписка.ОграничениеПоВладельцуОтключено = Истина;
СвойстваВедущегоСписка.ОграничениеПоВладельцуВключено = Ложь;
СвойстваВедущегоСписка.Параметры.ПолеВладельца.Отключено = Истина;
УстановитьСвойствоОграничения(СвойстваВедущегоСписка.ПолноеИмя,
"ПолеВладельца", СвойстваВедущегоСписка.Параметры.ПолеВладельца, Контекст);
@@ -28639,7 +28658,7 @@
// * ОграничениеДоступаВключено - Булево
// * ИспользуемыеТипыЗначений - ХранилищеЗначения - смотри функцию ИспользуемыеТипыЗначений.
//
Функция НоваяСтруктураХранимыхПараметровЗаписи()
Функция НоваяСтруктураХранимыхПараметровЗаписи() Экспорт
ХранимыеПараметрыЗаписи = Новый Структура;
ХранимыеПараметрыЗаписи.Вставить("ВерсияСтруктурыКэша", ВерсияСтруктурыКэша());
@@ -3701,8 +3701,6 @@
Процедура УстановитьНастройкиКомандПечати(КомандыПечати, Владелец)
УстановитьПривилегированныйРежим(Истина);
ТекстЗапроса =
"ВЫБРАТЬ
| НастройкиКомандПечати.УникальныйИдентификатор КАК УникальныйИдентификатор
@@ -1058,7 +1058,7 @@
Результат.ОписаниеОшибки + Символы.ПС, "") + Результат.ПотокОшибок);
Рекомендация = "";
Если СтрНайти(ОписаниеОшибки, "no default destination") > 0 Тогда
Если СтрНайти(НРег(ОписаниеОшибки), "no default destination") > 0 Тогда
Рекомендация = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Задайте принтер по умолчанию:
|• Введите в терминале ""%1"" и выберите из списка нужный принтер.
@@ -340,6 +340,7 @@
Или КлючИЗначение.Ключ = "ПодписанныйОбъект"
Или КлючИЗначение.Ключ = "ДатаПодписи"
Или КлючИЗначение.Ключ = "ПорядковыйНомер"
Или КлючИЗначение.Ключ = "ОписаниеСертификата"
Или КлючИЗначение.Ключ = "ИдентификаторПодписи" Тогда
Продолжить;
КонецЕсли;
@@ -364,6 +365,7 @@
Для Каждого КлючИЗначение Из СвойстваПодписи Цикл
Если КлючИЗначение.Ключ = "Сертификат"
Или КлючИЗначение.Ключ = "Подпись"
Или КлючИЗначение.Ключ = "ОписаниеСертификата"
Или КлючИЗначение.Ключ = "ИдентификаторПодписи"
И ЗначениеЗаполнено(ОбновляемаяПодпись.ИдентификаторПодписи) Тогда
Продолжить;
@@ -973,6 +973,8 @@
// * НеПоказыватьРезультаты - Булево - если параметр принимает значение Истина и параметр КонтекстОперации
// содержит контекст предыдущей операции, результаты проверки не будут показаны
// пользователю.
// * ТипПодписи - ПеречислениеСсылка.ТипыПодписиКриптографии - по умолчанию тип, указанный в настройках,
// если передан КонтекстОперации, возвращенный процедурой Подписать, то тип берется из него.
// * Результат - Неопределено - проверка ни разу не выполнялась.
// - Структура - возвращаемое значение. Вставляется перед обработкой результата:
// * ПроверкиПройдены - Булево - возвращаемое значение. Устанавливается в процедуре параметра ОбработкаРезультата.
@@ -191,7 +191,6 @@
Результат = Новый Структура("АдресВнешний, АдресВнутренний");
// Локализация
ИмяИздателя = СтрЗаменить(ИмяИздателя, " ", "_");
ИмяИздателя = СокрЛП(СтрСоединить(СтрРазделить(ИмяИздателя, "!*'();:@&=+$,/?%#[]\|<>", Истина), ""));
@@ -201,10 +200,6 @@
Возврат Результат;
КонецЕсли;
Если ИмяИздателя <> "federalnaya_nalogovaya_sluzhba" Тогда
Возврат Результат;
КонецЕсли;
ДополнительныеСвойстваСертификата =
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДополнительныеСвойстваСертификата(Сертификат, 0);
@@ -213,8 +208,16 @@
КонецЕсли;
Результат.АдресВнутренний = СтрШаблон("%1/%2", ИмяИздателя, НРег(ДополнительныеСвойстваСертификата.ИдентификаторКлючаУдостоверяющегоЦентра));
// Локализация
Если ИмяИздателя <> "federalnaya_nalogovaya_sluzhba" Тогда
Возврат Результат;
КонецЕсли;
Результат.АдресВнешний = СтрШаблон("http://ca.1c.ru/crls/%1.zip", Результат.АдресВнутренний);
// Конец локализация
// Конец Локализация
Возврат Результат;
@@ -723,7 +726,7 @@
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.Причина = НСтр(
"ru = 'Сертификаты юридическим лицам и индивидуальным предпринимателям выдают только государственные удостоверяющие центры.'");
РезультатПроверкиУдостоверяющегоЦентра.Предупреждение.Решение = НСтр(
"ru = 'Если это тестовый сертификат, поставьте флажок <b>Разрешить подписание</b> в карточке сертификата.'");
"ru = 'Если это тестовый сертификат, поставьте флажок <b>Разрешить подписание</b> в в <a href=""ОткрытьСертификат"">карточке сертификата</a>.'");
ИначеЕсли ДатаПрекращенияДействия <> Неопределено И (НаДату >= ДатаПрекращенияДействия
Или НаДату + 30*24*60*60 >= ДатаПрекращенияДействия И Не КонтекстПроверки.ЭтоПроверкаПодписи) Тогда
@@ -855,6 +855,16 @@
Возврат Справочники.СертификатыКлючейЭлектроннойПодписиИШифрования.ПолучитьМакет(ИмяМакета);
КонецФункции
Функция АдресаСерверовМетокВремениПоУмолчанию() Экспорт
Если Метаданные.Обработки.Найти("ПрограммыЭлектроннойПодписиИШифрования") <> Неопределено Тогда
Возврат Обработки["ПрограммыЭлектроннойПодписиИШифрования"].АдресаСерверовМетокВремениПоУмолчанию();
КонецЕсли;
Возврат "";
КонецФункции
#Область ПоставляемыеДанные
// См. ПоставляемыеДанныеПереопределяемый.ПолучитьОбработчикиПоставляемыхДанных
@@ -1021,10 +1031,10 @@
КонецЕсли;
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.1.9.234";
Обработчик.Версия = "3.1.9.397";
Обработчик.Комментарий = НСтр(
"ru = 'Перенос оповещений об окончании срока действия сертификата, данных заявлений в регистры сведений, заполнение срока действия сертификата с учетом срока действия закрытого ключа.'");
Обработчик.Идентификатор = Новый УникальныйИдентификатор("a17c1765-820e-4886-9423-ffc1267d7ff1");
"ru = 'Перенос оповещений об окончании срока действия сертификата, данных заявлений в регистры сведений, заполнение срока действия сертификата с учетом срока действия закрытого ключа, очистка некорректно выбранного приложения электронной подписи.'");
Обработчик.Идентификатор = Новый УникальныйИдентификатор("a6c42e6b-4824-4f5e-a35d-aa0922b253f3");
Обработчик.Процедура = "Справочники.СертификатыКлючейЭлектроннойПодписиИШифрования.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Справочники.СертификатыКлючейЭлектроннойПодписиИШифрования.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
@@ -2281,8 +2291,6 @@
Функция ПроверитьСертификатНаКорректностьПовторно(МенеджерКриптографииДляПроверки, СертификатДляПроверки,
РежимыПроверкиСертификата, ОписаниеОшибки, ВызыватьИсключение, ДействияДляУстранения)
// Локализация
ТребуетсяУстановкаСпискаОтзыва = Ложь;
Если ТипЗнч(МенеджерКриптографииДляПроверки) = Тип("МенеджерКриптографии") Тогда
@@ -2306,11 +2314,15 @@
АдресСпискаОтзываВнутренний.АдресВнешний, АдресСпискаОтзываВнутренний.АдресВнутренний);
Исключение
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось установить список отзыва %1 при проверке сертификата: %2'"),
АдресСпискаОтзываВнутренний.АдресВнутренний, ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Электронная подпись.Обновление списков отзыва'",
ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка, , ,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ТекстОшибки);
Возврат Ложь;
КонецПопытки;
@@ -2332,8 +2344,6 @@
КонецЕсли;
// Конец Локализация
Возврат Ложь;
КонецФункции
@@ -3216,10 +3226,10 @@
ПодписанныйОбъектМетаданные = Неопределено;
КонецЕсли;
ИмяСобытия = НСтр("ru = 'Электронная подпись.Ошибка усовершенствования подписи'",
ИмяСобытия = НСтр("ru = 'Электронная подпись.Усовершенствование подписи'",
ОбщегоНазначения.КодОсновногоЯзыка());
ЗаписьЖурналаРегистрации(ИмяСобытия,
УровеньЖурналаРегистрации.Информация,
УровеньЖурналаРегистрации.Предупреждение,
ПодписанныйОбъектМетаданные,
ПодписанныйОбъект,
ОписаниеОшибки);
@@ -6578,7 +6588,7 @@
Если ТипЗнч(ДанныеКлассификатора) = Тип("Структура") Тогда
Попытка
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ДанныеКлассификатора.Версия, "3.0.1.24") < 0 Тогда
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ДанныеКлассификатора.Версия, "3.0.1.29") < 0 Тогда
Версия = Неопределено;
Иначе
Версия = ДанныеКлассификатора.Версия;
@@ -6735,6 +6745,10 @@
+ Символы.ПС + ТехническаяИнформацияОКомпьютере()
+ Символы.ПС + Символы.ПС + ТехническаяИнформацияОКомпоненте()
+ Символы.ПС + ТехническаяИнформацияОПрограммах();
ТехническаяИнформация = ТехническаяИнформация
+ Символы.ПС + ЭлектроннаяПодписьСлужебныйВызовСервера.РезультатДиагностикиСерверовМетокВремени();
КонецЕсли;
ТехническаяИнформация = ТехническаяИнформация + Символы.ПС
@@ -6996,7 +7010,7 @@
УстановитьПривилегированныйРежим(Истина);
МенеджерЗаписи = РегистрыСведений.СпискиОтзываСертификатов.СоздатьМенеджерЗаписи();
Если ЗначениеЗаполнено(ДанныеИзКэша) И ДанныеИзКэша.ДатаПоследнегоИзменения = ДатаПоследнегоИзменения Тогда
Если ЗначениеЗаполнено(ДанныеИзКэша) И ДанныеИзКэша.ДатаПоследнегоИзменения = ДатаПоследнегоИзменения И ДатаПоследнегоИзменения <> Неопределено Тогда
ЗаполнитьЗначенияСвойств(МенеджерЗаписи, ДанныеИзКэша);
ЗаполнитьРезультатЗагрузкиСпискаОтзываИзДанныхКэша(РезультатЗагрузки, ДанныеИзКэша);
@@ -7083,6 +7097,10 @@
Для Каждого ТекущийАдрес Из Адреса Цикл
Если СтрНачинаетсяС(НРег(ТекущийАдрес), "ldap://") Тогда
Продолжить;
КонецЕсли;
ПараметрыПолученияФайла = МодульПолучениеФайловИзИнтернетаКлиентСервер.ПараметрыПолученияФайла();
Если ЗначениеЗаполнено(ДанныеИзКэша)
@@ -7354,7 +7372,8 @@
Возврат Неопределено;
КонецЕсли;
ДатаПоследнегоИзмененияСтрока = Заголовки["Last-Modified"];
Заголовки = СтандартныеПодсистемыСервер.HTTPЗаголовкиВНижнийРегистр(Заголовки);
ДатаПоследнегоИзмененияСтрока = Заголовки["last-modified"];
Если ДатаПоследнегоИзмененияСтрока <> Неопределено Тогда
Возврат ОбщегоНазначенияКлиентСервер.ДатаRFC1123(ДатаПоследнегоИзмененияСтрока);
КонецЕсли;
@@ -7416,6 +7435,44 @@
КонецЕсли;
#КонецЕсли
Если ОшибкаПоКлассификатору.ДействияДляУстранения.Найти(
"ДиагностикаСерверовМетокВремениСервер") <> Неопределено Тогда
Решение.Добавить(СтроковыеФункции.ФорматированнаяСтрока(
НСтр("ru='<a href = ""%1"">Проверьте доступность</a> серверов меток времени на сервере %2.'"),
"ДиагностикаСерверовМетокВремениСервер", ИмяКомпьютера()));
КонецЕсли;
Если ОшибкаПоКлассификатору.ДействияДляУстранения.Найти(
"ДиагностикаСерверовМетокВремениКлиент") <> Неопределено Тогда
Если ОбщегоНазначения.ЭтоВебКлиент() Тогда
АдресаСерверовМетокВремени = ЭлектроннаяПодпись.ОбщиеНастройки().АдресаСерверовМетокВремени;
Массив = Новый Массив;
Для Каждого АдресСервера Из АдресаСерверовМетокВремени Цикл
СтруктураСсылки = ОбщегоНазначенияКлиентСервер.СтруктураURI(АдресСервера);
Массив.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='<a href = ""%1"">%1</a>'"), АдресСервера));
КонецЦикла;
Решение.Добавить(СтроковыеФункции.ФорматированнаяСтрока(
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Проверьте доступность серверов меток времени на компьютере: %1.'"),
СтрСоединить(Массив, ", "))));
Иначе
Решение.Добавить(СтроковыеФункции.ФорматированнаяСтрока(
НСтр("ru='<a href = ""%1"">Проверьте доступность</a> серверов меток времени на компьютере.'"),
"ДиагностикаСерверовМетокВремениКлиент"));
КонецЕсли;
КонецЕсли;
Если Решение.Количество() > 0 Тогда
Результат.ОшибкаПоКлассификатору.Решение = Новый ФорматированнаяСтрока(Решение);
КонецЕсли;
@@ -7501,8 +7558,6 @@
КонецФункции
// Локализация
Процедура УстановитьСписокОтзываСертификата(Сертификат, Адреса = Неопределено, АдресВнутренний = Неопределено) Экспорт
ОбъектКомпоненты = ОбъектВнешнейКомпонентыExtraCryptoAPI();
@@ -7556,8 +7611,6 @@
КонецПроцедуры
// Конец Локализация
#КонецОбласти
#Область ОбновлениеИнформационнойБазы
@@ -315,6 +315,27 @@
КонецЕсли;
КонецЕсли;
Если Параметры.Операция = "Подписание" Тогда
ДвоичныеДанныеСертификата = СертификатКриптографии.Выгрузить();
СвойстваСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваСертификата(
СертификатКриптографии, ЭлектроннаяПодписьСлужебный.ДобавкаВремени(), ДвоичныеДанныеСертификата);
СвойстваСертификата.Вставить("ДвоичныеДанные", ДвоичныеДанныеСертификата);
АлгоритмСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСертификата(
ДвоичныеДанныеСертификата, Ложь, Истина);
АлгоритмСоответствует = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСоответствуетСертификату(
СвойстваСертификата.Представление, АлгоритмСертификата, МенеджерКриптографии.АлгоритмПодписи);
Если АлгоритмСоответствует <> Истина Тогда
ОшибкаНаСервере.Вставить("ОписаниеОшибки", АлгоритмСоответствует);
Возврат Ложь;
КонецЕсли;
КонецЕсли;
Попытка
Данные = ПолучитьИзВременногоХранилища(Параметры.ЭлементДанныхДляСервера.Данные);
Исключение
@@ -429,11 +450,6 @@
Если Параметры.Операция = "Подписание" Тогда
ДвоичныеДанныеСертификата = СертификатКриптографии.Выгрузить();
СвойстваСертификата = ЭлектроннаяПодпись.СвойстваСертификата(СертификатКриптографии);
СвойстваСертификата.Вставить("ДвоичныеДанные", ДвоичныеДанныеСертификата);
Если ЭлектроннаяПодпись.ДоступнаУсовершенствованнаяПодпись() Тогда
СвойстваПодписи = ЭлектроннаяПодписьСлужебный.СвойстваПодписиЧтениеМенеджеромКриптографии(
ДвоичныеДанныеРезультата, МенеджерКриптографии, Ложь);
@@ -1273,4 +1289,19 @@
// Конец Локализация
Функция РезультатДиагностикиСерверовМетокВремени() Экспорт
АдресаСерверовМетокВремени = ЭлектроннаяПодпись.ОбщиеНастройки().АдресаСерверовМетокВремени;
Если АдресаСерверовМетокВремени.Количество() = 0 Тогда
Возврат НСтр("ru = 'Адреса серверов меток времени не заполнены в настройках электронной подписи.'");
Иначе
СтрокаПодключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Подключение к серверам меток времени на сервере <%1>.'"), ИмяКомпьютера());
Возврат ЭлектроннаяПодписьСлужебныйКлиентСервер.ДиагностикаСерверовМетокВремени(АдресаСерверовМетокВремени, СтрокаПодключения);
КонецЕсли;
КонецФункции
#КонецОбласти
@@ -342,6 +342,36 @@
КонецФункции
Процедура ДиагностикаСерверовМетокВремени(Место = Неопределено) Экспорт
РезультатДиагностики = Новый Массив;
АдресаСерверовМетокВремени = ЭлектроннаяПодписьКлиент.ОбщиеНастройки().АдресаСерверовМетокВремени;
Если АдресаСерверовМетокВремени.Количество() = 0 Тогда
РезультатДиагностики.Добавить(НСтр(
"ru = 'Адреса серверов меток времени не заполнены в настройках электронной подписи.'"));
Иначе
Если Место = "Клиент" Или Место = Неопределено Тогда
РезультатДиагностики.Добавить(РезультатДиагностикиСерверовМетокВремени());
КонецЕсли;
Если Место = "Сервер" Или Место = Неопределено
И ЭлектроннаяПодписьКлиент.ОбщиеНастройки().СоздаватьЭлектронныеПодписиНаСервере Тогда
Если РезультатДиагностики.Количество() > 0 Тогда
РезультатДиагностики.Добавить(Символы.ПС);
КонецЕсли;
РезультатДиагностики.Добавить(
ЭлектроннаяПодписьСлужебныйВызовСервера.РезультатДиагностикиСерверовМетокВремени());
КонецЕсли;
КонецЕсли;
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.УстановитьТекст(СтрСоединить(РезультатДиагностики, Символы.ПС));
ТекстовыйДокумент.Показать(НСтр("ru = 'Диагностика доступности серверов меток времени'"),);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -2053,8 +2083,6 @@
ОписаниеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
ОшибкаПоКлассификатору = ЭлектроннаяПодписьСлужебныйКлиентПовтИсп.ОшибкаПоКлассификатору(ОписаниеОшибки);
// Локализация
Если ОшибкаПоКлассификатору <> Неопределено И ЗначениеЗаполнено(ОшибкаПоКлассификатору.ДействияДляУстранения) Тогда
Действие = Неопределено;
@@ -2076,16 +2104,17 @@
ИмяИздателя = СтроковыеФункцииКлиент.СтрокаЛатиницей(ИмяИздателя);
АдресСпискаОтзываВнутренний = ЭлектроннаяПодписьСлужебныйКлиентСервер.АдресСпискаОтзываВнутренний(
ИмяИздателя, Контекст.ДанныеСертификата);
Если ЗначениеЗаполнено(АдресСпискаОтзываВнутренний.АдресВнутренний) Тогда
ПараметрыУстановкиСпискаОтзыва = ПараметрыУстановкиСпискаОтзыва(
Контекст.СертификатКриптографии);
ПараметрыУстановкиСпискаОтзыва.Адреса = АдресСпискаОтзываВнутренний.АдресВнешний;
ПараметрыУстановкиСпискаОтзыва.АдресВнутренний = АдресСпискаОтзываВнутренний.АдресВнутренний;
ПараметрыУстановкиСпискаОтзыва.ОповещениеОЗавершении = Новый ОписаниеОповещения("ПроверитьСертификатПовторно",
ЭтотОбъект, Контекст);
ПараметрыУстановкиСпискаОтзыва.ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для проверки сертификата требуется установка списка отзыва с помощью внешней компоненты %1.'"),
"ExtraCryptoAPI");
Если ЗначениеЗаполнено(АдресСпискаОтзываВнутренний.АдресВнутренний) Тогда
ПараметрыУстановкиСпискаОтзыва.Адреса = АдресСпискаОтзываВнутренний.АдресВнешний;
ПараметрыУстановкиСпискаОтзыва.АдресВнутренний = АдресСпискаОтзываВнутренний.АдресВнутренний;
УстановитьСписокОтзываСертификата(ПараметрыУстановкиСпискаОтзыва);
Возврат;
КонецЕсли;
@@ -2095,8 +2124,6 @@
КонецЕсли;
КонецЕсли;
// Конец локализация
Если ОшибкаПоКлассификатору <> Неопределено Тогда
ОбработатьОшибкуПоКлассификатору(ОписаниеОшибки, Контекст.ТребуетПроверкиНаКлиенте, Контекст, ОшибкаПоКлассификатору);
КонецЕсли;
@@ -3942,6 +3969,7 @@
СерверныеПараметры.Вставить("ЗаголовокФормы");
СерверныеПараметры.Вставить("ПроверкаПриВыборе");
СерверныеПараметры.Вставить("ПараметрыДополнительныхПроверок");
СерверныеПараметры.Вставить("ТипПодписи");
Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда
@@ -3953,6 +3981,12 @@
ДополнительныеПараметры.Вставить("БезПодтверждения");
КонецЕсли;
НачалоИмениФормы = "Справочник.СертификатыКлючейЭлектроннойПодписиИШифрования.Форма.";
Если ДополнительныеПараметры.КонтекстОперации.ИмяФормы = НачалоИмениФормы + "ПодписаниеДанных" Тогда
ДополнительныеПараметры.Вставить("ТипПодписи", ДополнительныеПараметры.КонтекстОперации.ТипПодписи);
КонецЕсли;
УказанКонтекстДругойОперации = Истина;
ДополнительныеПараметры.БезПодтверждения = Истина;
@@ -5138,6 +5172,28 @@
Контекст.СертификатКриптографии));
Контекст.СвойстваСертификата.Вставить("ДвоичныеДанные", ВыгруженныеДанные);
Если Контекст.Операция = "Подписание" И ТипЗнч(Контекст.МенеджерКриптографии) = Тип("МенеджерКриптографии")
И ЗначениеЗаполнено(Контекст.МенеджерКриптографии.АлгоритмПодписи) Тогда
АлгоритмСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСертификата(
ВыгруженныеДанные, Ложь, Истина);
Результат = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСоответствуетСертификату(
Контекст.СвойстваСертификата.Представление, АлгоритмСертификата,
Контекст.МенеджерКриптографии.АлгоритмПодписи);
Если Результат <> Истина Тогда
ОшибкаНаКлиенте = Новый Структура("ОписаниеОшибки", Результат);
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Новый Структура("Ошибка", ОшибкаНаКлиенте));
Возврат;
КонецЕсли;
КонецЕсли;
ВыполнитьНаСторонеЦиклЗапуск(Контекст);
КонецПроцедуры
@@ -9128,7 +9184,9 @@
Процедура ПослеСбораТехническойИнформацииОПрограммах(ИнформацияОПрограммах, Контекст) Экспорт
Контекст.СопроводительныйТекст = Контекст.СопроводительныйТекст + ИнформацияОПрограммах;
Контекст.СопроводительныйТекст = Контекст.СопроводительныйТекст + ИнформацияОПрограммах + Символы.ПС
+ РезультатДиагностикиСерверовМетокВремени() + Символы.ПС;
Контекст.Вставить("АдресАрхива", ЭлектроннаяПодписьСлужебныйВызовСервера.АдресАрхиваТехническойИнформации(
Контекст.СопроводительныйТекст, Контекст.ДополнительныеФайлы, ПроверенныеПутиКМодулямПрограмм()));
@@ -9497,6 +9555,13 @@
#Область УстановкаСпискаОтзыва
// Параметры:
// Контекст - Структура:
// * Сертификат - ДвоичныеДанные
// - Строка - адрес во временном хранилище
// - Строка - Сертификат base64 строка
// - СертификатКриптографии
//
Асинх Процедура УстановитьСписокОтзываСертификатаПослеПодключенияКомпоненты(ОбъектКомпоненты, Контекст) Экспорт
Если ТипЗнч(ОбъектКомпоненты) = Тип("Строка") Тогда
@@ -9504,8 +9569,18 @@
Возврат;
КонецЕсли;
Если ТипЗнч(Контекст.Сертификат) = Тип("ДвоичныеДанные") Тогда
ДвоичныеДанныеСертификата = Контекст.Сертификат;
ИначеЕсли ТипЗнч(Контекст.Сертификат) = Тип("СертификатКриптографии") Тогда
ДвоичныеДанныеСертификата = Ждать Контекст.Сертификат.ВыгрузитьАсинх();
ИначеЕсли ЭтоАдресВременногоХранилища(Контекст.Сертификат) Тогда
ДвоичныеДанныеСертификата = ПолучитьИзВременногоХранилища(Контекст.Сертификат);
Иначе
ДвоичныеДанныеСертификата = Base64Значение(Контекст.Сертификат);
КонецЕсли;
Если Не ЗначениеЗаполнено(Контекст.Адреса) Тогда
СвойстваСертификатаРасширенные = Ждать ПолучитьСвойстваСертификатаАсинх(Контекст.Сертификат, ОбъектКомпоненты);
СвойстваСертификатаРасширенные = Ждать ПолучитьСвойстваСертификатаАсинх(ДвоичныеДанныеСертификата, ОбъектКомпоненты);
Если ЗначениеЗаполнено(СвойстваСертификатаРасширенные.Ошибка) Тогда
ОбработатьОшибкуУстановкиСпискаОтзыва(СвойстваСертификатаРасширенные.Ошибка, Контекст);
@@ -9532,7 +9607,7 @@
Контекст.Вставить("ОбъектКомпоненты", ОбъектКомпоненты);
Контекст.Вставить("АдресРесурса", Параметры.АдресРесурса);
СвойстваСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДополнительныеСвойстваСертификата(Контекст.Сертификат);
СвойстваСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДополнительныеСвойстваСертификата(ДвоичныеДанныеСертификата);
Контекст.Вставить("ИдентификаторКлючаУдостоверяющегоЦентра", СвойстваСертификата.ИдентификаторКлючаУдостоверяющегоЦентра);
ДлительнаяОперация = ЭлектроннаяПодписьСлужебныйВызовСервера.НачатьСкачиваниеФайлаНаСервере(Параметры);
@@ -10603,6 +10678,21 @@
УдалитьСертификатИзЛокальногоХранилища(Параметры.ДанныеСертификата);
КонецЕсли;
ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "ДиагностикаСерверовМетокВремениСервер" Тогда
ДиагностикаСерверовМетокВремени("Сервер");
ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "ДиагностикаСерверовМетокВремениКлиент" Тогда
ДиагностикаСерверовМетокВремени("Клиент");
ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "ОткрытьНастройкиЭлектроннойПодписи" Тогда
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.НастройкиПрограммы") Тогда
МодульНастройкиПрограммыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("НастройкиПрограммыКлиент");
МодульНастройкиПрограммыКлиент.ОткрытьОбщиеНастройки();
КонецЕсли;
ИначеЕсли НавигационнаяСсылкаФорматированнойСтроки = "УстановитьКомпоненту" Тогда
Оповещение = Новый ОписаниеОповещения("ОповеститьОбУспешномПодключенииКомпоненты", ЭтотОбъект);
@@ -10613,7 +10703,7 @@
ИначеЕсли СтрНачинаетсяС(НавигационнаяСсылкаФорматированнойСтроки, "e1cib") Тогда
СтандартнаяОбработка = Истина;
Иначе
ПоказатьПредупреждение(, НСтр("ru = 'Действие будет доступно в следующих обновлениях программы'"));
ПоказатьПредупреждение(, НСтр("ru = 'Действие будет доступно в следующих обновлениях приложения'"));
КонецЕсли;
КонецПроцедуры
@@ -10895,7 +10985,7 @@
КонецПроцедуры
Асинх Функция СвойстваПодписиЧтениеМенеджеромКриптографии(Подпись, МенеджерКриптографии, ПрочитатьСертификаты)
Асинх Функция СвойстваПодписиЧтениеМенеджеромКриптографии(Подпись, МенеджерКриптографии, ПрочитатьСертификаты) Экспорт
Результат = ЭлектроннаяПодписьСлужебныйКлиентСервер.РезультатЧтенияСвойствПодписи();
@@ -11125,5 +11215,28 @@
КонецФункции
Функция РезультатДиагностикиСерверовМетокВремени()
АдресаСерверовМетокВремени = ЭлектроннаяПодписьКлиент.ОбщиеНастройки().АдресаСерверовМетокВремени;
Если АдресаСерверовМетокВремени.Количество() = 0 Тогда
Возврат НСтр("ru = 'Адреса серверов меток времени не заполнены в настройках электронной подписи.'");
Иначе
#Если ВебКлиент Тогда
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
"ru = 'Диагностика серверов меток времени недоступна при работе в веб-клиенте. Попробуйте в браузере скачать файл по ссылке.
|%1'"), СтрСоединить(АдресаСерверовМетокВремени, Символы.ПС));
#Иначе
СтрокаПодключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Подключение к серверам меток времени на компьютере <%1>.'"), ИмяКомпьютера());
Возврат ЭлектроннаяПодписьСлужебныйКлиентСервер.ДиагностикаСерверовМетокВремени(АдресаСерверовМетокВремени, СтрокаПодключения);
#КонецЕсли
КонецЕсли;
КонецФункции
#КонецОбласти
@@ -1864,9 +1864,18 @@
Или ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.РасширеннаяДолгосрочнаяCAdESXLongType2")
Или ТипПодписи = ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.АрхивнаяCAdESAv3") Тогда
Граница = Результат.АдресаСерверовМетокВремени.ВГраница();
Для Счетчик = 0 По Граница Цикл
ТекущийИндекс = Граница - Счетчик;
СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(Результат.АдресаСерверовМетокВремени[ТекущийИндекс]);
Если СтруктураURI.ИмяСервера = "" Тогда
Результат.АдресаСерверовМетокВремени.Удалить(ТекущийИндекс);
КонецЕсли;
КонецЦикла;
Если Результат.АдресаСерверовМетокВремени.Количество() = 0 Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Для создания подписи типа ""%1"" заполните адреса серверов штампов времени.'"), ТипПодписи);
НСтр("ru='Для создания подписи с типом ""%1"" заполните адреса серверов меток времени.'"), ТипПодписи);
КонецЕсли;
ИначеЕсли ТипПодписи <> ПредопределенноеЗначение("Перечисление.ТипыПодписиКриптографии.БазоваяCAdESBES")
@@ -3532,7 +3541,7 @@
КонецЕсли;
КонецЕсли;
ИначеЕсли ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда
ДанныеСертификата = ЭлектроннаяПодписьСлужебныйВызовСервера.ДанныеСертификата(ЭлектроннаяПодписьСлужебныйВызовСервера.ДанныеСертификата(Сертификат));
ДанныеСертификата = ЭлектроннаяПодписьСлужебныйВызовСервера.ДанныеСертификата(Сертификат);
ИначеЕсли ТипЗнч(Сертификат) = Тип("ДвоичныеДанные") Тогда
ДанныеСертификата = Сертификат;
Иначе
@@ -3566,11 +3575,197 @@
Структура = Новый Структура;
Структура.Вставить("ПроверитьСертификатВЛокальномХранилищеКлиента", Ложь);
Структура.Вставить("ДиагностикаСерверовМетокВремениКлиент", Ложь);
Возврат Структура;
КонецФункции
Функция ДиагностикаСерверовМетокВремени(АдресаСерверовМетокВремени, СтрокаПодключения) Экспорт
Массив = Новый Массив;
Массив.Добавить(СтрокаПодключения);
Массив.Добавить(Символы.ПС);
Для Каждого Адрес Из АдресаСерверовМетокВремени Цикл
СообщениеОбОшибке = ДиагностикаСервераМетокВремени(Адрес);
Если ЗначениеЗаполнено(СообщениеОбОшибке) Тогда
Массив.Добавить(СообщениеОбОшибке);
Иначе
Массив.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 - доступен.'"), Адрес));
КонецЕсли;
Массив.Добавить(Символы.ПС);
КонецЦикла;
Возврат СтрСоединить(Массив, Символы.ПС);
КонецФункции
// Функция для диагностики сервера меток времени.
//
// Параметры:
// URL - Строка - url файла в формате: [Протокол://]<Сервер>/<Путь к файлу на сервере>.
//
// Возвращаемое значение:
// Структура:
// * СообщениеОбОшибке - Строка
//
Функция ДиагностикаСервераМетокВремени(Знач URL, Перенаправления = Неопределено)
#Если ВебКлиент Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр(
"ru = 'Диагностика недоступна при работе в веб-клиенте. Попробуйте в браузере скачать файл по ссылке %1'"),
URL);
#Иначе
Если Перенаправления = Неопределено Тогда
Перенаправления = Новый Массив;
КонецЕсли;
СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(URL);
Сервер = СтруктураURI.Хост;
ПутьНаСервере = СтруктураURI.ПутьНаСервере;
Протокол = СтруктураURI.Схема;
Если ПустаяСтрока(Протокол) Тогда
Протокол = "http";
КонецЕсли;
Если Протокол = "https" Тогда
ЗащищенноеСоединение = Истина;
КонецЕсли;
Если ЗащищенноеСоединение = Истина Тогда
ЗащищенноеСоединение = ОбщегоНазначенияКлиентСервер.НовоеЗащищенноеСоединение();
ИначеЕсли ЗащищенноеСоединение = Ложь Тогда
ЗащищенноеСоединение = Неопределено;
КонецЕсли;
Порт = СтруктураURI.Порт;
Прокси = Неопределено;
Попытка
Соединение = Новый HTTPСоединение(Сервер, Порт, , , Прокси, 7, ЗащищенноеСоединение);
Сервер = Соединение.Сервер;
Порт = Соединение.Порт;
ЗапросHTTP = Новый HTTPЗапрос(ПутьНаСервере, Новый Соответствие);
ЗапросHTTP.Заголовки.Вставить("Accept-Charset", "UTF-8");
ЗапросHTTP.Заголовки.Вставить("X-1C-Request-UID", Строка(Новый УникальныйИдентификатор));
ОтветHTTP = Соединение.Получить(ЗапросHTTP);
Исключение
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось установить HTTP-соединение с сервером %1:%2
|по причине:
|%3'"), Сервер, Формат(Порт, "ЧГ="), ОбработкаОшибок.КраткоеПредставлениеОшибки(
ИнформацияОбОшибке()));
Возврат ТекстОшибки;
КонецПопытки;
Попытка
Если ОтветHTTP.КодСостояния = 301 // 301 Moved Permanently
Или ОтветHTTP.КодСостояния = 302 // 302 Found, 302 Moved Temporarily
Или ОтветHTTP.КодСостояния = 303 // 303 See Other by GET
Или ОтветHTTP.КодСостояния = 307 // 307 Temporary Redirect
Или ОтветHTTP.КодСостояния = 308 Тогда // 308 Permanent Redirect
Если Перенаправления.Количество() > 7 Тогда
ВызватьИсключение
НСтр("ru = 'Превышено количество перенаправлений.'");
Иначе
Заголовки = Новый Соответствие;
Для Каждого Заголовок Из ОтветHTTP.Заголовки Цикл
Заголовки.Вставить(НРег(Заголовок.Ключ), Заголовок.Значение);
КонецЦикла;
НовыйURL = Заголовки["location"];
Если НовыйURL = Неопределено Тогда
ВызватьИсключение
НСтр("ru = 'Некорректное перенаправление, отсутствует HTTP-заголовок ответа ""Location"".'");
КонецЕсли;
НовыйURL = СокрЛП(НовыйURL);
Если ПустаяСтрока(НовыйURL) Тогда
ВызватьИсключение
НСтр("ru = 'Некорректное перенаправление, пустой HTTP-заголовок ответа ""Location"".'");
КонецЕсли;
Если Перенаправления.Найти(НовыйURL) <> Неопределено Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Циклическое перенаправление.
|Попытка перейти на %1 уже выполнялась ранее.'"),
НовыйURL);
КонецЕсли;
Перенаправления.Добавить(URL);
Если Не СтрНачинаетсяС(НовыйURL, "http") Тогда
// <схема>://<хост>:<порт>/<путь>
НовыйURL = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
"%1://%2:%3/%4", Протокол, Сервер, Формат(Порт, "ЧГ="), НовыйURL);
КонецЕсли;
Возврат ДиагностикаСервераМетокВремени(НовыйURL, Перенаправления);
КонецЕсли;
КонецЕсли;
Если ОтветHTTP.КодСостояния < 200 Или ОтветHTTP.КодСостояния >= 300 Тогда
Если ОтветHTTP.КодСостояния < 200 Или ОтветHTTP.КодСостояния >= 300 И ОтветHTTP.КодСостояния < 400 Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неподдерживаемый ответ сервера (%1)'"), ОтветHTTP.КодСостояния);
ВызватьИсключение ТекстОшибки;
ИначеЕсли ОтветHTTP.КодСостояния >= 400 И ОтветHTTP.КодСостояния < 500 Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка при выполнении запроса (%1)'"), ОтветHTTP.КодСостояния);
ВызватьИсключение ТекстОшибки;
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка сервера при обработке запроса к ресурсу (%1)'"), ОтветHTTP.КодСостояния);
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецЕсли;
Исключение
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось получить файл %1 с сервера %2:%3 по причине:
|%4'"), URL, Сервер, Формат(Порт, "ЧГ="), ОбработкаОшибок.КраткоеПредставлениеОшибки(
ИнформацияОбОшибке()));
Возврат ТекстОшибки;
КонецПопытки;
Возврат "";
#КонецЕсли
КонецФункции
#Область ОбластьXML
// Параметры:
@@ -3758,6 +3953,66 @@
#Область СодержимоеСертификата
Функция ЭтоСертификатГОСТ(АлгоритмСертификата) Экспорт
Возврат СтрНачинаетсяС(АлгоритмСертификата, "1.2.643");
КонецФункции
Функция АлгоритмПодписиСоответствуетСертификату(ПредставлениеСертификата, АлгоритмСертификата, АлгоритмПодписи, АлгоритмХеширования = Неопределено) Экспорт
Если Не ЭтоСертификатГОСТ(АлгоритмСертификата) Тогда
Возврат Истина;
КонецЕсли;
Если Не ЗначениеЗаполнено(АлгоритмПодписи) И Не ЗначениеЗаполнено(АлгоритмХеширования) Тогда
Возврат Истина;
КонецЕсли;
НаборыАлгоритмовДляСозданияПодписи = НаборыАлгоритмовДляСозданияПодписи();
АлгоритмыДляПроверки = Неопределено;
Для Каждого НаборАлгоритмов Из НаборыАлгоритмовДляСозданияПодписи Цикл
Если НаборАлгоритмов.ИдентификаторАлгоритмаОткрытогоКлюча = АлгоритмСертификата Тогда
АлгоритмыДляПроверки = НаборАлгоритмов;
Прервать;
КонецЕсли;
КонецЦикла;
Если АлгоритмыДляПроверки <> Неопределено Тогда
Если АлгоритмПодписи <> АлгоритмСертификата И АлгоритмыДляПроверки.ИдентификаторАлгоритмаПодписи <> АлгоритмСертификата Тогда
Если АлгоритмыДляПроверки.ИменаАлгоритмаПодписи.Количество() > 0
И АлгоритмыДляПроверки.ИменаАлгоритмаПодписи.Найти(ВРЕГ(АлгоритмПодписи)) = Неопределено Тогда
Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр(
"ru = 'Сертификат %1 связан с приложением электронной подписи с не соответствующим сертификату алгоритмом подписи %2. Сертификат должен быть связан с приложением с алгоритмом подписания %3.'"),
ПредставлениеСертификата, АлгоритмПодписи, ПредставлениеАлгоритма(
АлгоритмыДляПроверки.ИменаАлгоритмаПодписи));
Возврат Ошибка;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(АлгоритмХеширования) И (АлгоритмХеширования <> АлгоритмыДляПроверки.ИдентификаторАлгоритмаХеширования) Тогда
Если АлгоритмыДляПроверки.ИменаАлгоритмаХеширования.Количество() > 0
И АлгоритмыДляПроверки.ИменаАлгоритмаХеширования.Найти(ВРЕГ(
АлгоритмХеширования)) = Неопределено Тогда
Ошибка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр(
"ru = 'Сертификат %1 связан с приложением электронной подписи с не соответствующим сертификату алгоритмом хеширования %2. Сертификат должен быть связан с приложением с алгоритмом хеширования %3.'"),
ПредставлениеСертификата, АлгоритмХеширования, ПредставлениеАлгоритма(
АлгоритмыДляПроверки.ИменаАлгоритмаХеширования));
Возврат Ошибка;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат Истина;
КонецФункции
Функция ДополнительныеСвойстваСертификата(Данные, ДобавкаВремени = Неопределено) Экспорт
Структура = Новый Структура;
@@ -4935,6 +5190,19 @@
КонецФункции
Функция ПредставлениеАлгоритма(ИменаАлгоритмаПодписи)
ВГраница = ИменаАлгоритмаПодписи.ВГраница();
Если ВГраница = 0 Тогда
Возврат ИменаАлгоритмаПодписи[0];
Иначе
Имена = "";
Для н = 1 По ВГраница Цикл
Имена = Имена + ИменаАлгоритмаПодписи[н] + ?(н = ВГраница, "", ", ");
КонецЦикла;
Возврат ИменаАлгоритмаПодписи[0] + " (" + Имена + ")";
КонецЕсли;
КонецФункции
Функция АлгоритмПодписиСоответствующийАлгоритмуХешированияГОСТ(АлгоритмХеширования)
Если Не ЗначениеЗаполнено(АлгоритмХеширования) Тогда
@@ -315,19 +315,19 @@
Если Действие = "УстановитьСписокОтзываСертификата" Тогда
Решение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '- <a href=%1>Установите список отзыва</a> удостоверяющего центра автоматически.
НСтр("ru = '• <a href=%1>Установите список отзыва</a> удостоверяющего центра автоматически.
|%2'"), Действие, Решение);
ИначеЕсли Действие = "УстановитьКорневойСертификат" Тогда
Решение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '- <a href=%1>Установите корневой сертификат</a> удостоверяющего центра автоматически.
НСтр("ru = '• <a href=%1>Установите корневой сертификат</a> удостоверяющего центра автоматически.
|%2'"), Действие, Решение);
ИначеЕсли Действие = "УстановитьСертификат" Тогда
Решение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '- <a href=%1>Установите сертификат</a> в Личное хранилище сертификатов пользователя операционной системы автоматически.
НСтр("ru = '• <a href=%1>Установите сертификат</a> в Личное хранилище сертификатов пользователя операционной системы автоматически.
|%2'"), Действие, Решение);
ИначеЕсли Действие = "УстановитьСертификатВКонтейнер" Тогда
Решение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '- <a href=%1>Установите сертификат в контейнер</a> прямо из программы.
НСтр("ru = '• <a href=%1>Установите сертификат в контейнер</a> прямо из программы.
|%2'"), Действие, Решение);
КонецЕсли;
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonTemplate xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6f3c5b90-b030-4267-a973-33d12c2c7680">
<name>КомпонентаСканированияДокументов_3_0_1_1030</name>
<name>КомпонентаСканированияДокументов_3_0_1_1031</name>
<synonym>
<key>ru</key>
<value>Компонента сканирования документов</value>
+11 -11
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="eea33302-1ebb-4310-8b03-593d6c745d97">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="052e1306-6185-49f2-92cf-6bd2df750c21">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="733d7c66-de5d-4165-8128-0fb4ca898df7"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="78cf8a1e-80d5-4980-9233-44caaf4a25e4"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="7fc5c0cf-96a7-4e66-8143-10f2619385a9"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="e75db914-37e1-4284-9c2e-bcda2240acae"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="4bcc6b14-695d-488f-b60c-d12c8e78e4ee"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="8ff9e817-1746-44ea-9e15-1ebab40d2c9e"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="74cd01be-563e-4d18-ab16-8abc31dd8a64"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="82ce235d-0cde-40ba-9d2d-c2943b3fd8bd"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="55539972-87e5-4047-830f-4270b76aadb7"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="ad5ea40d-34c0-4045-ac44-1675e8255ca4"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="cc2a63ce-77d3-4806-904c-aa00e0c8c152"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="a03b1e81-9be8-4488-91f2-65416e4b0f0d"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="92615960-5b55-4d39-8f55-97d6768f49db"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="13289a7f-228d-4428-8db0-ff55c2ac5ffe"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.9.389</version>
<version>3.1.9.416</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -857,7 +857,7 @@
<commonTemplates>CommonTemplate.КомпонентаПечатиQRКода</commonTemplates>
<commonTemplates>CommonTemplate.КомпонентаПечатиШтрихкодов</commonTemplates>
<commonTemplates>CommonTemplate.КомпонентаПоискаСтрок</commonTemplates>
<commonTemplates>CommonTemplate.КомпонентаСканированияДокументов_3_0_1_1030</commonTemplates>
<commonTemplates>CommonTemplate.КомпонентаСканированияДокументов_3_0_1_1031</commonTemplates>
<commonTemplates>CommonTemplate.МакетШтемпеляЭЦПOfficeOpen</commonTemplates>
<commonTemplates>CommonTemplate.ПолучениеДереваОбработчиковОбновления</commonTemplates>
<commonTemplates>CommonTemplate.ПустойМакетDOCX</commonTemplates>
@@ -1123,6 +1123,7 @@
<commonModules>CommonModule.ПереводТекстаНаДругиеЯзыкиКлиент</commonModules>
<commonModules>CommonModule.ПодключаемыеКоманды</commonModules>
<commonModules>CommonModule.ПодключаемыеКомандыВызовСервера</commonModules>
<commonModules>CommonModule.ПодключаемыеКомандыГлобальный</commonModules>
<commonModules>CommonModule.ПодключаемыеКомандыКлиент</commonModules>
<commonModules>CommonModule.ПодключаемыеКомандыКлиентПовтИсп</commonModules>
<commonModules>CommonModule.ПодключаемыеКомандыКлиентСервер</commonModules>
@@ -2220,7 +2221,6 @@
<enums>Enum.ФорматыСканированногоИзображения</enums>
<enums>Enum.ФорматыСохраненияОтчетов</enums>
<enums>Enum.ФорматыХраненияМногостраничныхФайлов</enums>
<enums>Enum.ФорматыХраненияОдностраничныхФайлов</enums>
<enums>Enum.ЦветаЗаметок</enums>
<enums>Enum.ЦветаСвойств</enums>
<enums>Enum.ЦветностиИзображения</enums>
@@ -1 +1 @@
{6,1,1,3d5ed92f-1f24-4a2c-b785-0427058f73ea,1,084e62a7-fdc5-47e7-8dfa-dc53d00d5d5a,"3.1.9.389","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7584,1,0,eea33302-1ebb-4310-8b03-593d6c745d97,eea33302-1ebb-4310-8b03-593d6c745d97,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754Line truncated
{6,1,1,94cb56dd-2aaf-4abd-b284-038c0a2bc1a6,1,e06453a3-c7f4-4dc7-9f77-396e080952c3,"3.1.9.416","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7577,1,0,052e1306-6185-49f2-92cf-6bd2df750c21,052e1306-6185-49f2-92cf-6bd2df750c21,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754Line truncated
@@ -381,7 +381,7 @@
УстановитьПривилегированныйРежим(Ложь);
Если Документ = Неопределено ИЛИ Документ = Документы[ОбъектМетаданных.Имя].ПустаяСсылка() Тогда
Возврат Неопределено;
Продолжить;
КонецЕсли;
Возврат Документ;
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 74;
Возврат 76;
КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.9.378";
Возврат "3.1.9.411";
КонецФункции
@@ -1041,10 +1041,12 @@
<Item Calendar="95" Year="2023" DayType="Предпраздничный" Date="20230929" SwapDate=""/>
<Item Calendar="95" Year="2023" DayType="Праздник" Date="20230930" SwapDate="20231002"/>
<Item Calendar="95" Year="2023" DayType="Суббота" Date="20231002" SwapDate="20230930"/>
<Item Calendar="95" Year="2024" DayType="Праздник" Date="20240505" SwapDate="20240506"/>
<Item Calendar="95" Year="2024" DayType="Воскресенье" Date="20240506" SwapDate="20240505"/>
<Item Calendar="95" Year="2024" DayType="Праздник" Date="20240623" SwapDate="20240624"/>
<Item Calendar="95" Year="2024" DayType="Воскресенье" Date="20240624" SwapDate="20240623"/>
<Item Calendar="95" Year="2024" DayType="Предпраздничный" Date="20240409" SwapDate=""/>
<Item Calendar="95" Year="2024" DayType="Праздник" Date="20240410" SwapDate=""/>
<Item Calendar="95" Year="2024" DayType="Праздник" Date="20240506" SwapDate=""/>
<Item Calendar="95" Year="2024" DayType="Праздник" Date="20240617" SwapDate=""/>
<Item Calendar="95" Year="2024" DayType="Праздник" Date="20240624" SwapDate=""/>
<Item Calendar="95" Year="2024" DayType="Праздник" Date="20240930" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010101" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010102" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010107" SwapDate="20010108"/>
@@ -1859,10 +1859,18 @@
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>АдресаСерверовМетокВремениНачалоВыбора</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<maxHeight>2</maxHeight>
<wrap>true</wrap>
<multiLine>true</multiLine>
<choiceButton>true</choiceButton>
<choiceButtonPicture xsi:type="core:PictureRef">
<picture>StdPicture.MoveLeft</picture>
</choiceButtonPicture>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
@@ -1870,6 +1878,37 @@
<heightControlVariant>InFormRows</heightControlVariant>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>ДиагностикаСерверовМетокВремени</name>
<id>2262</id>
<title>
<key>ru</key>
<value>Проверить подключение</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДиагностикаСерверовМетокВремениРасширеннаяПодсказка</name>
<id>2263</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ДиагностикаСерверовМетокВремени</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -3965,6 +4004,24 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ДиагностикаСерверовМетокВремени</name>
<title>
<key>ru</key>
<value>Диагностика серверов меток времени</value>
</title>
<id>10</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ДиагностикаСерверовМетокВремени</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -403,6 +403,14 @@
КонецПроцедуры
&НаКлиенте
Процедура АдресаСерверовМетокВремениНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПодключитьОбработчикОжидания("АдресаСерверовМетокВремениНачалоВыбораПродолжение", 0.1, Истина);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -495,6 +503,18 @@
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДиагностикаСерверовМетокВремени(Команда)
Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
Возврат;
КонецЕсли;
МодульЭлектроннаяПодписьСлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйКлиент");
МодульЭлектроннаяПодписьСлужебныйКлиент.ДиагностикаСерверовМетокВремени();
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -506,6 +526,15 @@
КонецПроцедуры
&НаКлиенте
Процедура АдресаСерверовМетокВремениНачалоВыбораПродолжение()
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
АдресаСерверовМетокВремениУстановитьПоУмолчанию();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура АдресПубликацииИнформационнойБазыВИнтернетеНачалоВыбораПродолжение()
@@ -542,6 +571,19 @@
КонецПроцедуры
&НаСервере
Функция АдресаСерверовМетокВремениУстановитьПоУмолчанию()
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
КонстантаАдресаСерверовМетокВремени = МодульЭлектроннаяПодписьСлужебный.АдресаСерверовМетокВремениПоУмолчанию();
ПриИзмененииРеквизитаСервер("АдресаСерверовМетокВремени");
КонецЕсли;
Возврат "";
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Клиент
@@ -483,10 +483,7 @@
Если Не ЗначениеЗаполнено(ЗначениеКонстанты)
Или ЗначениеКонстанты = "https://1stdss.1c.ru/TSP/tsp.srf" Тогда
МассивАдресов = Новый Массив;
МассивАдресов.Добавить("http://dss.1stdss.1c.ru/TSP/tsp.srf");
МассивАдресов.Добавить("http://uc.nalog.ru/tsp/tsp.srf");
Возврат СтрСоединить(МассивАдресов, Символы.ПС);
Возврат АдресаСерверовМетокВремениПоУмолчанию();
КонецЕсли;
@@ -494,6 +491,15 @@
КонецФункции
Функция АдресаСерверовМетокВремениПоУмолчанию() Экспорт
МассивАдресов = Новый Массив;
МассивАдресов.Добавить("http://dss.1stdss.1c.ru/TSP/tsp.srf");
МассивАдресов.Добавить("http://pki.tax.gov.ru/tsp/tsp.srf");
Возврат СтрСоединить(МассивАдресов, Символы.ПС);
КонецФункции
#КонецОбласти
#Область Локализация
@@ -11,7 +11,7 @@
{
"Anchor": "0x00000005",
"Reason": "На сервере недостаточно прав на доступ к хранилищу сертификатов из 1С:Предприятия.",
"Solution": "- При работе в клиент-серверном режиме с использованием электронной подписи на сервере предоставьте доступ к хранилищу сертификатов пользователю, от имени которого работает сервер 1С:Предприятия. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>\n- При работе в файловом режиме с публикацией информационной базы на web-сервере предоставьте доступ к хранилищу сертификатов пользователю, от имени которого работает web-сервер.\n- В остальных случаях отключите подписание, шифрование и проверку подписи на сервере.",
"Solution": "• При работе в клиент-серверном режиме с использованием электронной подписи на сервере предоставьте доступ к хранилищу сертификатов пользователю, от имени которого работает сервер 1С:Предприятия. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>\n• При работе в файловом режиме с публикацией информационной базы на web-сервере предоставьте доступ к хранилищу сертификатов пользователю, от имени которого работает web-сервер.\n• В остальных случаях отключите подписание, шифрование и проверку подписи на сервере.",
"ErrorText": "0x00000005",
"RepairMethods": "",
"En": ""
@@ -59,15 +59,15 @@
{
"Anchor": "0x000004C7",
"Reason": "Приложение криптографии (в частности Vipnet) не обнаружила закрытого ключа, размещение которого указано в имеющейся связке с открытой частью ключа (к примеру, переименована папка, ключ был перемещен в другую папку).",
"Solution": "- Определите новое размещение закрытого ключа и переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)¶- Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"Solution": "• Определите новое размещение закрытого ключа и переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)¶- Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "0x000004C7",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "Сервер offline",
"Reason": "- Не установлен список отозванных сертификатов или сервис проверки отозванных сертификатов недоступен.\n- Закончился срок действия списка отзыва.",
"Solution": "- Получите список отозванных сертификатов в Удостоверяющем центре и установите его. См. <a href=\"http://1c-edo.ru/handbook/24/2517/\">инструкцию</a>\n- Обратитесь в Удостоверяющий центр для обновления списка отзыва (в случае окончания его срока действия).",
"Reason": "• Не установлен список отозванных сертификатов или сервис проверки отозванных сертификатов недоступен.\n• Закончился срок действия списка отзыва.",
"Solution": "• Получите список отозванных сертификатов в Удостоверяющем центре и установите его. См. <a href=\"http://1c-edo.ru/handbook/24/2517/\">инструкцию</a>\n• Если доступ блокирует антивирус, межсетевой экран или другие приложения, разрешите доступ к адресам центров сертификации и списков отзыва, указанным в сертификате.\n• Обратитесь в Удостоверяющий центр для обновления списка отзыва (в случае окончания его срока действия).",
"ErrorText": "0x11200006",
"RepairMethods": "{\"МетодикиУстранения\": [\"УстановитьСписокОтзываСертификата\"]}",
"En": "",
@@ -76,7 +76,7 @@
{
"Anchor": "",
"Reason": "Не удается построить цепочку сертификатов при создании/проверке/усовершенствовании подписи или проверке сертификата.",
"Solution": "Скачайте и установите корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат.\n",
"Solution": "• <a href = https://edo.1c.ru/handbook/31/4009/>Скачайте и установите</a> корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат. \n• Если доступ блокирует антивирус, межсетевой экран или другие приложения, разрешите доступ к адресам центров сертификации и списков отзыва, указанным в сертификате.\n",
"ErrorText": "0x800B010A",
"RepairMethods": "",
"En": "",
@@ -85,7 +85,7 @@
{
"Anchor": "",
"Reason": "Не удается построить цепочку сертификатов при проверке подписи.",
"Solution": "- Скачайте и установите корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат подписанта.\n- Если ошибка при проверке подписи с меткой времени, проверьте также цепочку сертификатов службы меток доверенного времени.\n\n",
"Solution": "• <a href = https://edo.1c.ru/handbook/31/4009/>Скачайте и установите</a> корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат. \n• Если доступ блокирует антивирус, межсетевой экран или другие приложения, разрешите доступ к адресам центров сертификации и списков отзыва, указанным в сертификате.\n• Если ошибка при проверке подписи с меткой времени, проверьте также цепочку сертификатов службы меток доверенного времени.\n\n",
"ErrorText": "0x800B010A",
"RepairMethods": "",
"En": "",
@@ -111,48 +111,48 @@
},
{
"Anchor": "Выбран неизвестный алгоритм",
"Reason": "- Выбраны неправильные настройки алгоритма в карточке приложения электронной подписи.\n- Приложение электронной подписи установлено некорректно.",
"Solution": "- Откройте карточку проблемного приложения и перевыберите приложение из списка (при этом обновятся все 5 полей в карточке приложения, включая алгоритмы). После этого нажмите \"Записать и закрыть\". В форме настроек нажмите \"Обновить\". <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>\n- Удалите все приложения электронной подписи и установите только одно из них, так как установка нескольких приложений электронной подписи на одном компьютере может вызвать эту ошибку.",
"Reason": "• Выбраны неправильные настройки алгоритма в карточке приложения электронной подписи.\n• Приложение электронной подписи установлено некорректно.",
"Solution": "• Откройте карточку проблемного приложения и перевыберите приложение из списка (при этом обновятся все 5 полей в карточке приложения, включая алгоритмы). После этого нажмите \"Записать и закрыть\". В форме настроек нажмите \"Обновить\". <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>\n• Удалите все приложения электронной подписи и установите только одно из них, так как установка нескольких приложений электронной подписи на одном компьютере может вызвать эту ошибку.",
"ErrorText": "Выбран неизвестный алгоритм подписи",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "Выбран неизвестный алгоритм",
"Reason": "- Выбраны неправильные настройки алгоритма в карточке приложения электронной подписи.\n- Приложение электронной подписи установлено некорректно.",
"Solution": "- Откройте карточку проблемного приложения и перевыберите приложение из списка (при этом обновятся все 5 полей в карточке приложения, включая алгоритмы). После этого нажмите \"Записать и закрыть\". В форме настроек нажмите \"Обновить\". <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>\n- Удалите все приложения электронной подписи и установите только одно из них, так как установка нескольких приложений электронной подписи на одном компьютере может вызвать эту ошибку.",
"Reason": "• Выбраны неправильные настройки алгоритма в карточке приложения электронной подписи.\n• Приложение электронной подписи установлено некорректно.",
"Solution": "• Откройте карточку проблемного приложения и перевыберите приложение из списка (при этом обновятся все 5 полей в карточке приложения, включая алгоритмы). После этого нажмите \"Записать и закрыть\". В форме настроек нажмите \"Обновить\". <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>\n• Удалите все приложения электронной подписи и установите только одно из них, так как установка нескольких приложений электронной подписи на одном компьютере может вызвать эту ошибку.",
"ErrorText": "Выбран неизвестный алгоритм хеширования",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "Выбран неизвестный алгоритм",
"Reason": "- Выбраны неправильные настройки алгоритма в карточке приложения электронной подписи.\n- Приложение электронной подписи установлено некорректно.",
"Solution": "- Откройте карточку проблемного приложения и перевыберите приложение из списка (при этом обновятся все 5 полей в карточке приложения, включая алгоритмы). После этого нажмите \"Записать и закрыть\". В форме настроек нажмите \"Обновить\". <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>\n- Удалите все приложения электронной подписи и установите только одно из них, так как установка нескольких приложений электронной подписи на одном компьютере может вызвать эту ошибку.",
"Reason": "• Выбраны неправильные настройки алгоритма в карточке приложения электронной подписи.\n• Приложение электронной подписи установлено некорректно.",
"Solution": "• Откройте карточку проблемного приложения и перевыберите приложение из списка (при этом обновятся все 5 полей в карточке приложения, включая алгоритмы). После этого нажмите \"Записать и закрыть\". В форме настроек нажмите \"Обновить\". <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>\n• Удалите все приложения электронной подписи и установите только одно из них, так как установка нескольких приложений электронной подписи на одном компьютере может вызвать эту ошибку.",
"ErrorText": "Выбран неизвестный алгоритм шифрования",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "истек срок действия",
"Reason": "- Истек срок действия сертификата.\n- Некорректная дата и время на компьютере.",
"Solution": "- Подайте заявление на новый сертификат.\n- Установите корректную дату и время на компьютере.",
"Reason": "• Истек срок действия сертификата.\n• Некорректная дата и время на компьютере.",
"Solution": "• Подайте заявление на новый сертификат.\n• Установите корректную дату и время на компьютере.",
"ErrorText": "Требуемый сертификат не прошел проверки по сроку действия при сверке с системными часами или временем подписи в файле",
"RepairMethods": "",
"En": "The required certificate failed validity period verification upon comparison with system clock or signature time in the file"
},
{
"Anchor": "Контекст модуля криптографии",
"Reason": "- Не установлено приложение электронной подписи.\n- Неверно указаны настройки приложения электронной подписи.",
"Solution": "- Установите приложение для работы с электронной подписью.\n- Задайте общие настройки электронной подписи и шифрования. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>",
"Reason": "• Не установлено приложение электронной подписи.\n• Неверно указаны настройки приложения электронной подписи.",
"Solution": "• Установите приложение для работы с электронной подписью.\n• Задайте общие настройки электронной подписи и шифрования. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>",
"ErrorText": "Ошибка при получении контекста модуля криптографии",
"RepairMethods": "",
"En": "Error getting cryptography module context"
},
{
"Anchor": "Модуль криптографии не поддерживает алгоритм",
"Reason": "- Сертификат некорректно связан с закрытым ключом.\n- Приложение электронной подписи установлено некорректно.",
"Solution": "- <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n- Переустановите сертификат в Личное хранилище через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>\n- Удалите все приложения электронной подписи и установите только одно из них, так как установка нескольких приложений электронной подписи на одном компьютере может вызвать эту ошибку.",
"Reason": "• Сертификат некорректно связан с закрытым ключом.\n• Приложение электронной подписи установлено некорректно.",
"Solution": "• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n• Переустановите сертификат в Личное хранилище через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>\n• Удалите все приложения электронной подписи и установите только одно из них, так как установка нескольких приложений электронной подписи на одном компьютере может вызвать эту ошибку.",
"ErrorText": "Модуль криптографии не поддерживает алгоритмов подписи",
"RepairMethods": "",
"En": "Cryptography module does not support signature algorithms",
@@ -160,8 +160,8 @@
},
{
"Anchor": "Модуль криптографии неверный",
"Reason": "- При установке сертификата в операционной системе Windows закрытая часть ключа оказалась связана с некорректным типом в приложении электронной подписи ViPNet CSP или КриптоПро CSP.\n- Отличается приложение электронной подписи, заданное в настройках сертификата в информационной базе и у закрытой части ключа.",
"Solution": "- <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n- Переустановите сертификат через оснастку приложения электронной подписи Vipnet CSP с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/24/4163/\">инструкцию</a>\n- Переустановите сертификат через оснастку приложения электронной подписи КриптоПро CSP с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/24/4129/\">инструкцию</a>\n- Откройте <a href=\"ОткрытьСертификат\">карточку сертификата</a> и выберите правильное приложение электронной подписи.\n- Добавьте новое приложение электронной подписи. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>.",
"Reason": "• При установке сертификата в операционной системе Windows закрытая часть ключа оказалась связана с некорректным типом в приложении электронной подписи ViPNet CSP или КриптоПро CSP.\n• Отличается приложение электронной подписи, заданное в настройках сертификата в информационной базе и у закрытой части ключа.",
"Solution": "• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n• Переустановите сертификат через оснастку приложения электронной подписи Vipnet CSP с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/24/4163/\">инструкцию</a>\n• Переустановите сертификат через оснастку приложения электронной подписи КриптоПро CSP с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/24/4129/\">инструкцию</a>\n• Откройте <a href=\"ОткрытьСертификат\">карточку сертификата</a> и выберите правильное приложение электронной подписи.\n• Добавьте новое приложение электронной подписи. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>.",
"ErrorText": "Сертификат, связанный с закрытым ключом, указывает на модуль криптографии, отличный от текущего",
"RepairMethods": "",
"En": "The certificate associated with the privacy key points to a cryptography module other than the current one",
@@ -170,7 +170,7 @@
{
"Anchor": "не заполнена программа",
"Reason": "Не заполнено приложение электронной подписи в карточке сертификата.",
"Solution": "- Откройте <a href=\"ОткрытьСертификат\">карточку сертификата</a> и вручную укажите приложение электронной подписи.\n- Повторно добавьте сертификат в список, чтобы приложение электронной подписи в карточке сертификата заполнилась автоматически.",
"Solution": "• Откройте <a href=\"ОткрытьСертификат\">карточку сертификата</a> и вручную укажите приложение электронной подписи.\n• Повторно добавьте сертификат в список, чтобы приложение электронной подписи в карточке сертификата заполнилась автоматически.",
"ErrorText": "Программа для использования закрытого ключа не указана в сертификате",
"RepairMethods": "",
"En": ""
@@ -178,7 +178,7 @@
{
"Anchor": "не заполнена программа",
"Reason": "Не заполнено приложение электронной подписи в карточке сертификата.",
"Solution": "- Откройте <a href=\"ОткрытьСертификат\">карточку сертификата</a> и вручную укажите приложение электронной подписи.\n- Повторно добавьте сертификат в список, чтобы приложение электронной подписи в карточке сертификата заполнилась автоматически.",
"Solution": "• Откройте <a href=\"ОткрытьСертификат\">карточку сертификата</a> и вручную укажите приложение электронной подписи.\n• Повторно добавьте сертификат в список, чтобы приложение электронной подписи в карточке сертификата заполнилась автоматически.",
"ErrorText": "Приложение для использования закрытого ключа не указана в сертификате",
"RepairMethods": "",
"En": ""
@@ -225,16 +225,16 @@
},
{
"Anchor": "Неправильный пароль",
"Reason": "- Указан неправильный пароль доступа к закрытому ключу.\n- Действие невозможно выполнить при снятом флажке \"Вводить пароль в приложении электронной подписи\" (к примеру, если установлена усиленная защита закрытого ключа).",
"Solution": "- Убедитесь, что вводится правильный пароль (проверьте раскладку клавиатуры). См. <a href=\"http://1c-edo.ru/handbook/9/3984/\">инструкцию</a>\n- Установите флажок \"Вводить пароль в приложении электронной подписи\" и повторите действие.",
"Reason": "• Указан неправильный пароль доступа к закрытому ключу.\n• Действие невозможно выполнить при снятом флажке \"Вводить пароль в приложении электронной подписи\" (к примеру, если установлена усиленная защита закрытого ключа).",
"Solution": "• Убедитесь, что вводится правильный пароль (проверьте раскладку клавиатуры). См. <a href=\"http://1c-edo.ru/handbook/9/3984/\">инструкцию</a>\n• Установите флажок \"Вводить пароль в приложении электронной подписи\" и повторите действие.",
"ErrorText": "Контейнер закрытого ключа доступен, но операция с использованием этого контейнера завершилась неудачно",
"RepairMethods": "",
"En": "Usually, this is due to incorrect access password to a private key."
},
{
"Anchor": "Неправильный пароль",
"Reason": "- Указан неправильный пароль доступа к закрытому ключу.\n- Действие невозможно выполнить при снятом флажке \"Вводить пароль в приложении электронной подписи\" (к примеру, если установлена усиленная защита закрытого ключа).",
"Solution": "- Убедитесь, что вводится правильный пароль (проверьте раскладку клавиатуры). См. <a href=\"http://1c-edo.ru/handbook/9/3984/\">инструкцию</a>\n- Установите флажок \"Вводить пароль в приложении электронной подписи\" и повторите действие.",
"Reason": "• Указан неправильный пароль доступа к закрытому ключу.\n• Действие невозможно выполнить при снятом флажке \"Вводить пароль в приложении электронной подписи\" (к примеру, если установлена усиленная защита закрытого ключа).",
"Solution": "• Убедитесь, что вводится правильный пароль (проверьте раскладку клавиатуры). См. <a href=\"http://1c-edo.ru/handbook/9/3984/\">инструкцию</a>\n• Установите флажок \"Вводить пароль в приложении электронной подписи\" и повторите действие.",
"ErrorText": "контекст был получен в ограниченном режиме",
"RepairMethods": "",
"En": "the context was obtained in a limited mode"
@@ -242,7 +242,7 @@
{
"Anchor": "Нет корневого сертификата",
"Reason": "Корневой сертификат не включен в список доверенных.",
"Solution": "- Установите корневой сертификат удостоверяющего центра. См. <a href=\"https://edo.1c.ru/handbook/31/4009/\">инструкцию</a> ",
"Solution": "• Установите корневой сертификат удостоверяющего центра. См. <a href=\"https://edo.1c.ru/handbook/31/4009/\">инструкцию</a> ",
"ErrorText": "Цепочка сертификатов обработана, но прервана на корневом сертификате, который не является доверенным.",
"RepairMethods": "{\"МетодикиУстранения\": [\"УстановитьКорневойСертификат\"]}",
"En": "Certificate chain processed but interrupted on a root certificate that is not a trusted certificate",
@@ -250,8 +250,8 @@
},
{
"Anchor": "Нет прав на получение сертификата",
"Reason": "- Нет регистрации на http://portal.1c.ru.\n- Нет действующего тарифа \"Сервис 1С-Подпись\" (не подключен или не оплачен).\n- Уже использовано бесплатное получение электронной подписи по тарифу \"Сервис 1С-Подпись\".\n- В приложении не настроено подключение к Интернет-поддержке пользователей или указаны учетные данные другого пользователя.\n- При работе через 1C-Fresh тариф \"Сервис 1С-Подпись\" не привязан к учетной записи.",
"Solution": "- Пройдите регистрацию на <a href=\"http://portal.1c.ru\">http://portal.1c.ru</a>\n- Обратитесь к обслуживающему партнеру 1С, за приобретением или оплатой тарифа \"сервис 1С:Подпись\".\n- Обратитесь к обслуживающему партнеру 1С за дополнительным получением электронной подписи.\n- Обратитесь к партнеру за уточнением логина и пароля к Интернет-поддержке пользователей, для которого куплен тариф \"Сервис 1С-Подпись\".\n- Обратитесь в техническую поддержку по адресу support@1cfresh.com, для привязки тарифа к учетной записи.",
"Reason": "• Нет регистрации на http://portal.1c.ru.\n• Нет действующего тарифа \"Сервис 1С-Подпись\" (не подключен или не оплачен).\n• Уже использовано бесплатное получение электронной подписи по тарифу \"Сервис 1С-Подпись\".\n• В приложении не настроено подключение к Интернет-поддержке пользователей или указаны учетные данные другого пользователя.\n• При работе через 1C-Fresh тариф \"Сервис 1С-Подпись\" не привязан к учетной записи.",
"Solution": "• Пройдите регистрацию на <a href=\"http://portal.1c.ru\">http://portal.1c.ru</a>\n• Обратитесь к обслуживающему партнеру 1С, за приобретением или оплатой тарифа \"сервис 1С:Подпись\".\n• Обратитесь к обслуживающему партнеру 1С за дополнительным получением электронной подписи.\n• Обратитесь к партнеру за уточнением логина и пароля к Интернет-поддержке пользователей, для которого куплен тариф \"Сервис 1С-Подпись\".\n• Обратитесь в техническую поддержку по адресу support@1cfresh.com, для привязки тарифа к учетной записи.",
"ErrorText": "не имеет права на получение сертификата",
"RepairMethods": "",
"En": ""
@@ -259,7 +259,7 @@
{
"Anchor": "Нет программы с алгоритмом подписи",
"Reason": "Не настроено приложение электронной подписи с необходимыми алгоритмами.",
"Solution": "- Добавьте новое приложение электронной подписи в список приложений. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>.\n- Среди имеющихся приложений криптографии найдите нужное и перезаполните алгоритмы значениями по умолчанию, перевыбрав Представление.",
"Solution": "• Добавьте новое приложение электронной подписи в список приложений. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>.\n• Среди имеющихся приложений криптографии найдите нужное и перезаполните алгоритмы значениями по умолчанию, перевыбрав Представление.",
"ErrorText": "Не предусмотрено использование ни одной программы с алгоритмом подписи",
"RepairMethods": "",
"En": ""
@@ -267,15 +267,15 @@
{
"Anchor": "Нет программы с алгоритмом подписи",
"Reason": "Не настроено приложение электронной подписи с необходимыми алгоритмами.",
"Solution": "- Добавьте новое приложение электронной подписи в список приложений. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>.\n- Среди имеющихся приложений криптографии найдите нужное и перезаполните алгоритмы значениями по умолчанию, перевыбрав Представление.",
"Solution": "• Добавьте новое приложение электронной подписи в список приложений. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>.\n• Среди имеющихся приложений криптографии найдите нужное и перезаполните алгоритмы значениями по умолчанию, перевыбрав Представление.",
"ErrorText": "Не предусмотрено использование ни одного приложения с алгоритмом подписи",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "Нет связи с закрытым ключом",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Установите закрытый ключ (вставить токен или флешку с файлом закрытого ключа).\n- <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>)\n- Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Установите закрытый ключ (вставить токен или флешку с файлом закрытого ключа).\n• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>)\n• Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "Отсутствует набор ключей",
"RepairMethods": "",
"En": "Cryptography module interface error. No keyset",
@@ -283,8 +283,8 @@
},
{
"Anchor": "Нет связи с закрытым ключом",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Установите закрытый ключ (вставить токен или флешку с файлом закрытого ключа).\n- <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n- Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Установите закрытый ключ (вставить токен или флешку с файлом закрытого ключа).\n• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n• Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "Сертификат не имеет связи с закрытым ключом",
"RepairMethods": "",
"En": "Certificate not connected to privacy key",
@@ -292,8 +292,8 @@
},
{
"Anchor": "Нет связи с закрытым ключом",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Установите закрытый ключ (вставить токен или флешку с файлом закрытого ключа).\n- <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>)\n- Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Установите закрытый ключ (вставить токен или флешку с файлом закрытого ключа).\n• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>)\n• Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "Отсутствует ключ",
"RepairMethods": "",
"En": "Cryptography module interface error. No key",
@@ -301,23 +301,23 @@
},
{
"Anchor": "Ошибка доступа",
"Reason": "- Истек срок действия закрытого ключа сертификата.\n- У приложения электронной подписи (КриптоПро CSP) нет прав на изменение файлов закрытого ключа на диске.",
"Solution": "- Подайте заявление на новый сертификат.\n- Если используется КриптоПро CSP, через оснастку КриптоПро CSP найдите контейнер закрытого ключа и определите его размещение, в операционной системе назначьте права на изменение этой папки и файлов в ней пользователю, от имени которого запускается 1С:Предприятие.",
"Reason": "• Истек срок действия закрытого ключа сертификата.\n• У приложения электронной подписи (КриптоПро CSP) нет прав на изменение файлов закрытого ключа на диске.",
"Solution": "• Подайте заявление на новый сертификат.\n• Если используется КриптоПро CSP, через оснастку КриптоПро CSP найдите контейнер закрытого ключа и определите его размещение, в операционной системе назначьте права на изменение этой папки и файлов в ней пользователю, от имени которого запускается 1С:Предприятие.",
"ErrorText": "Ошибка доступа",
"RepairMethods": "",
"En": "Access error"
},
{
"Anchor": "Ошибка загрузки динамической библиотеки",
"Reason": "- Для операционных систем Linux или macOS в настройке «Путь к приложению» указан некорректный путь к установленному приложению электронной подписи КриптоПро CSP, либо само приложение установлено некорректно.\n- Из-за изменений в механизмах безопасности операционной системы macOS 10.15 Catalina нативные клиентские приложения могут не загружать внешние компоненты.",
"Solution": "- Проверьте наличие файлов в папках согласно указанным в настройке «Путь к приложению». <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>\n- Проверьте и настройте права чтения к файлам, указанным в настройке «Путь к приложению»\n- Переустановите приложение электронной подписи КриптоПро CSP в стандартную папку.",
"Reason": "• Для операционных систем Linux или macOS в настройке «Путь к приложению» указан некорректный путь к установленному приложению электронной подписи КриптоПро CSP, либо само приложение установлено некорректно.\n• Из-за изменений в механизмах безопасности операционной системы macOS 10.15 Catalina нативные клиентские приложения могут не загружать внешние компоненты.",
"Solution": "• Проверьте наличие файлов в папках согласно указанным в настройке «Путь к приложению». <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>\n• Проверьте и настройте права чтения к файлам, указанным в настройке «Путь к приложению»\n• Переустановите приложение электронной подписи КриптоПро CSP в стандартную папку.",
"ErrorText": "Ошибка загрузки динамической библиотеки",
"RepairMethods": "",
"En": "Error loading dynamic link library"
},
{
"Anchor": "Ошибка инициализации криптопровайдера",
"Reason": "- Нет доступа к выбранному месту хранения ключей.\n- Нажата кнопка Отмена в форме выбора носителя контейнера ключей (выбор места хранения контейнера).\n",
"Reason": "• Нет доступа к выбранному месту хранения ключей.\n• Нажата кнопка Отмена в форме выбора носителя контейнера ключей (выбор места хранения контейнера).\n",
"Solution": "Проверьте наличие доступа к выбранному месту хранения ключей.",
"ErrorText": "Ошибка инициализации криптопровайдера",
"RepairMethods": "",
@@ -325,7 +325,7 @@
},
{
"Anchor": "Ошибка создания ключевой пары",
"Reason": "- Не установлен биологический датчик случайных чисел в приложении электронной подписи.\n- Пользователь нажал Отмена в приложении электронной подписи в форме датчик случайных чисел.",
"Reason": "• Не установлен биологический датчик случайных чисел в приложении электронной подписи.\n• Пользователь нажал Отмена в приложении электронной подписи в форме датчик случайных чисел.",
"Solution": "Добавьте датчик случайных чисел в приложении электронной подписи.",
"ErrorText": "Ошибка создания ключевой пары",
"RepairMethods": "",
@@ -333,8 +333,8 @@
},
{
"Anchor": "Сервер offline",
"Reason": "- Не установлен список отозванных сертификатов или сервис проверки отозванных сертификатов недоступен.\n- Закончился срок действия списка отзыва.",
"Solution": "- Получите список отозванных сертификатов в Удостоверяющем центре и установите его. См. <a href=\"http://1c-edo.ru/handbook/24/2517/\">инструкцию</a>\n- Обратитесь в Удостоверяющий центр для обновления списка отзыва (в случае окончания его срока действия).",
"Reason": "• Не установлен список отозванных сертификатов или сервис проверки отозванных сертификатов недоступен.\n• Закончился срок действия списка отзыва.",
"Solution": "• Получите список отозванных сертификатов в Удостоверяющем центре и установите его. См. <a href=\"http://1c-edo.ru/handbook/24/2517/\">инструкцию</a>\n• Если доступ блокирует антивирус, межсетевой экран или другие приложения, разрешите доступ к адресам центров сертификации и списков отзыва, указанным в сертификате.\n• Обратитесь в Удостоверяющий центр для обновления списка отзыва (в случае окончания его срока действия).",
"ErrorText": "Не удалось проверить сертификат в списке отозванных",
"RepairMethods": "{\"МетодикиУстранения\": [\"УстановитьСписокОтзываСертификата\"]}",
"En": "Unable to check the certificate in the list of revoked certificates",
@@ -342,17 +342,17 @@
},
{
"Anchor": "",
"Reason": "- Не установлен список отозванных сертификатов или сервис проверки отозванных сертификатов недоступен.\n- Закончился срок действия списка отзыва.",
"Solution": "- Получите список отозванных сертификатов в Удостоверяющем центре и установите его. См. <a href=\"http://1c-edo.ru/handbook/24/2517/\">инструкцию</a>\n- Обратитесь в Удостоверяющий центр для обновления списка отзыва (в случае окончания его срока действия).\n",
"Reason": "• Не установлен список отозванных сертификатов или сервис проверки отозванных сертификатов недоступен.\n• Закончился срок действия списка отзыва.",
"Solution": "• Получите список отозванных сертификатов в Удостоверяющем центре и установите его. См. <a href=\"http://1c-edo.ru/handbook/24/2517/\">инструкцию</a>\n• Если доступ блокирует антивирус, межсетевой экран или другие приложения, разрешите доступ к адресам центров сертификации и списков отзыва, указанным в сертификате.\n• Обратитесь в Удостоверяющий центр для обновления списка отзыва (в случае окончания его срока действия).\n",
"ErrorText": "Процесс отзыва не может продолжаться",
"RepairMethods": "",
"RepairMethods": "{\"МетодикиУстранения\": [\"УстановитьСписокОтзываСертификата\"]}",
"En": "",
"Category": "no_revocation_check"
},
{
"Anchor": "сертификат не установлен на компьютере",
"Reason": "Выбранный сертификат не установлен в Личное хранилище сертификатов или был удален из него.",
"Solution": "- <a href=\"УстановитьСертификат\">Установите сертификат</a> в Личное хранилище сертификатов пользователя операционной системы. См. <a href=\"http://1c-edo.ru/handbook/28/4011/\">инструкцию</a>",
"Solution": "• <a href=\"УстановитьСертификат\">Установите сертификат</a> в Личное хранилище сертификатов пользователя операционной системы. См. <a href=\"http://1c-edo.ru/handbook/28/4011/\">инструкцию</a>",
"ErrorText": "Сертификат не найден на компьютере",
"RepairMethods": "",
"En": "",
@@ -369,8 +369,8 @@
},
{
"Anchor": "Указан неверный алгоритм",
"Reason": "- Сертификат некорректно связан с закрытым ключом.\n- Включен Winlogon в КриптоПро CSP.",
"Solution": "- <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>.\n- Отключите Winlogon в приложении электронной подписи КриптоПро CSP.\n",
"Reason": "• Алгоритм выбранного приложения электронной подписи в карточке сертификата не соответствует сертификату.\n• Сертификат некорректно связан с закрытым ключом.\n• Включен Winlogon в КриптоПро CSP.",
"Solution": "• Очистите неверно выбранное приложение электронной подписи в <a href=\"ОткрытьСертификат\">карточке сертификата</a>.\n• Если в сертификате выбрано приложение по умолчанию, то <a href=\"УстановитьСертификатВКонтейнер\">установите сертификат в контейнер</a> прямо из приложения \nили переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>.\n• Отключите Winlogon в приложении электронной подписи КриптоПро CSP.\n",
"ErrorText": "Указан неверный алгоритм",
"RepairMethods": "",
"En": "Invalid algorithm specified",
@@ -378,23 +378,23 @@
},
{
"Anchor": "Файл не существует",
"Reason": "- Приложение электронной подписи не установлена.\n- В настройке «Путь к приложению» указан некорректный путь (или пути через двоеточие) к файлам модулей (библиотек) приложения электронной подписи.",
"Solution": "- Установите приложение для работы с электронной подписью.\n- Укажите в настройке \"Путь к приложению\" корректный путь (или пути через двоеточие) к файлам модулей (библиотек) приложения электронной подписи. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>",
"Reason": "• Приложение электронной подписи не установлена.\n• В настройке «Путь к приложению» указан некорректный путь (или пути через двоеточие) к файлам модулей (библиотек) приложения электронной подписи.",
"Solution": "• Установите приложение для работы с электронной подписью.\n• Укажите в настройке \"Путь к приложению\" корректный путь (или пути через двоеточие) к файлам модулей (библиотек) приложения электронной подписи. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>",
"ErrorText": "Ни один из файлов не существует",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "Файл не существует",
"Reason": "- Приложение электронной подписи не установлено.\n- В настройке «Путь к приложению» указан некорректный путь (или пути через двоеточие) к файлам модулей (библиотек) приложения электронной подписи.",
"Solution": "- Установите приложение для работы с электронной подписью.\n- Укажите в настройке \"Путь к приложению\" корректный путь (или пути через двоеточие) к файлам модулей (библиотек) приложения электронной подписи. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>",
"Reason": "• Приложение электронной подписи не установлено.\n• В настройке «Путь к приложению» указан некорректный путь (или пути через двоеточие) к файлам модулей (библиотек) приложения электронной подписи.",
"Solution": "• Установите приложение для работы с электронной подписью.\n• Укажите в настройке \"Путь к приложению\" корректный путь (или пути через двоеточие) к файлам модулей (библиотек) приложения электронной подписи. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>",
"ErrorText": "Файл не существует",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "Хеш-значение",
"Reason": "- Подпись не является достоверной.\n- После подписания изменились данные объекта.",
"Reason": "• Подпись не является достоверной.\n• После подписания изменились данные объекта.",
"Solution": "Выберите корректный объект.",
"ErrorText": "Хеш-значение неправильное",
"RepairMethods": "",
@@ -403,24 +403,24 @@
},
{
"Anchor": "Некорректный тип данных: Неопределенно",
"Reason": "- При добавлении файла в базу произошел сбой и его содержимое стало не консистентным.\n- Исходный файл «битый».",
"Solution": "- Удалить испорченный файл из базы и выполнить его повторное добавление, убедившись, что при этом не возникает ошибок.\n- Повторно получить исходный файл.",
"Reason": "• При добавлении файла в базу произошел сбой и его содержимое стало не консистентным.\n• Исходный файл «битый».",
"Solution": "• Удалить испорченный файл из базы и выполнить его повторное добавление, убедившись, что при этом не возникает ошибок.\n• Повторно получить исходный файл.",
"ErrorText": "При получении данных для подписания возникла ошибка: Некорректный тип данных: Неопределенно",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "Couldn't resolve host name",
"Reason": "- Сервер временно не доступен.\n- Неправильные параметры запроса.",
"Solution": "- Выполните проверку сертификата повторно.\n- Проверьте настройки сети и работоспособность сервера DSS.\n- Проверьте настройки и права сервера 1С на подключение к сервису DSS.\n- Проверьте настройки для TLS подключения (сертификаты сервера).\n",
"Reason": "• Сервер временно не доступен.\n• Неправильные параметры запроса.",
"Solution": "• Выполните проверку сертификата повторно.\n• Проверьте настройки сети и работоспособность сервера DSS.\n• Проверьте настройки и права сервера 1С на подключение к сервису DSS.\n• Проверьте настройки для TLS подключения (сертификаты сервера).\n",
"ErrorText": "Couldn't resolve host name",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "Не удалось получить доверенную метку времени",
"Reason": "- Сервер меток времени не поддерживает алгоритм подписи.",
"Solution": "- Используйте Microsoft Enhanced Cryptographic Provider с сервером меток времени, который поддерживает RSA и SHA256\n- Используйте КриптоПро или другой криптопровайдер, работающий с ГОСТ-алгоритмами, и сервер меток времени КриптоПро или 1С.\n- Укажите в настройках сервер меток времени, который поддерживает алгоритм подписи: для этого перейдите в раздел Администрирование, затем в раздел Общие настройки, разверните группу Электронная подпись и шифрование. Замените первое значение в поле Адреса серверов меток времени.\n",
"Reason": "• Сервер меток времени не поддерживает алгоритм подписи.",
"Solution": "• Используйте Microsoft Enhanced Cryptographic Provider с сервером меток времени, который поддерживает RSA и SHA256\n• Используйте КриптоПро или другой криптопровайдер, работающий с ГОСТ-алгоритмами, и сервер меток времени КриптоПро или 1С.\n• Укажите в настройках сервер меток времени, который поддерживает алгоритм подписи: для этого перейдите в раздел Администрирование, затем в раздел Общие настройки, разверните группу Электронная подпись и шифрование. Замените первое значение в поле Адреса серверов меток времени.\n",
"ErrorText": "Не удалось получить доверенную метку времени. Нераспознанный или неподдерживаемый идентификатор алгоритма.",
"RepairMethods": "",
"En": "Cannot receive the trusted timestamp. Unrecognized or unsupported algorithm ID"
@@ -428,7 +428,7 @@
{
"Anchor": "Не определен набор ключей",
"Reason": "Нет связи с закрытой частью ключа, размещенной на сервере DSS.",
"Solution": "- В настройках КриптоПРО CSP попробуйте отключиться от сервера и заново подключиться (возможно вы подключены не с тем логином).\n- Проверьте отсутствие ошибки в криптопровайдере: запустите инструменты КриптоПро CSP, перейдите к пункту \"Создание подписи\" и попытайтесь выполнить подпись. При наличии ошибки обратитесь в тех.поддержку организации, предоставляющей услуги по удаленному хранению закрытого ключа.",
"Solution": "• В настройках КриптоПРО CSP попробуйте отключиться от сервера и заново подключиться (возможно вы подключены не с тем логином).\n• Проверьте отсутствие ошибки в криптопровайдере: запустите инструменты КриптоПро CSP, перейдите к пункту \"Создание подписи\" и попытайтесь выполнить подпись. При наличии ошибки обратитесь в тех.поддержку организации, предоставляющей услуги по удаленному хранению закрытого ключа.",
"ErrorText": "Не определен набор ключей",
"RepairMethods": "",
"En": "Keyset is not defined"
@@ -475,8 +475,8 @@
},
{
"Anchor": "",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>.",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>.",
"ErrorText": "Не удалось определить программу по закрытому ключу сертификата",
"RepairMethods": "",
"En": "",
@@ -484,8 +484,8 @@
},
{
"Anchor": "",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"ErrorText": "Не удалось определить программу по закрытому ключу сертификата",
"RepairMethods": "",
"En": "",
@@ -493,8 +493,8 @@
},
{
"Anchor": "",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>.",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>.",
"ErrorText": "Не удалось определить приложение по закрытому ключу сертификата",
"RepairMethods": "",
"En": "",
@@ -502,8 +502,8 @@
},
{
"Anchor": "",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"ErrorText": "Не удалось определить приложение по закрытому ключу сертификата",
"RepairMethods": "",
"En": "",
@@ -511,8 +511,8 @@
},
{
"Anchor": "Нет связи с закрытым ключом",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Установите закрытый ключ (вставить токен или флешку с файлом закрытого ключа).\n- <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n- Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Установите закрытый ключ (вставить токен или флешку с файлом закрытого ключа).\n• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n• Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "0x00000000",
"RepairMethods": "{\"МетодикиУстранения\": [\"ПроверитьСертификатВЛокальномХранилище\"]}",
"En": "",
@@ -520,8 +520,8 @@
},
{
"Anchor": "Нет связи с закрытым ключом",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Установите закрытый ключ на сервере (вставить токен или флешку с файлом закрытого ключа).\n- Переустановите сертификат на сервере через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n- Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Установите закрытый ключ на сервере (вставить токен или флешку с файлом закрытого ключа).\n• Переустановите сертификат на сервере через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n• Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "0x00000000",
"RepairMethods": "{\"МетодикиУстранения\": [\"ПроверитьСертификатВЛокальномХранилище\"]}",
"En": "",
@@ -529,8 +529,8 @@
},
{
"Anchor": "Модуль криптографии не поддерживает алгоритм",
"Reason": "- Сертификат некорректно связан с закрытым ключом.\n- Приложение электронной подписи установлено некорректно.",
"Solution": "- Переустановите сертификат в Личное хранилище через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>\n- Удалите все приложения электронной подписи и установите только одно из них, так как установка нескольких приложений электронной подписи на одном компьютере может вызвать эту ошибку.",
"Reason": "• Сертификат некорректно связан с закрытым ключом.\n• Приложение электронной подписи установлено некорректно.",
"Solution": "• Переустановите сертификат в Личное хранилище через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>\n• Удалите все приложения электронной подписи и установите только одно из них, так как установка нескольких приложений электронной подписи на одном компьютере может вызвать эту ошибку.",
"ErrorText": "Модуль криптографии не поддерживает алгоритмов подписи",
"RepairMethods": "",
"En": "Cryptography module does not support signature algorithms",
@@ -538,8 +538,8 @@
},
{
"Anchor": "Модуль криптографии неверный",
"Reason": "- При установке сертификата в операционной системе Windows закрытая часть ключа оказалась связана с некорректным типом в приложении электронной подписи ViPNet CSP или КриптоПро CSP.\n- Отличается приложение электронной подписи, заданное в настройках сертификата в информационной базе и у закрытой части ключа.",
"Solution": "- Переустановите сертификат через оснастку приложения электронной подписи Vipnet CSP с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/24/4163/\">инструкцию</a>\n- Переустановите сертификат через оснастку приложения электронной подписи КриптоПро CSP с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/24/4129/\">инструкцию</a>\n- Откройте <a href=\"ОткрытьСертификат\">карточку сертификата</a> и выберите правильное приложение электронной подписи.\n- Добавьте новое приложение электронной подписи. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>.",
"Reason": "• При установке сертификата в операционной системе Windows закрытая часть ключа оказалась связана с некорректным типом в приложении электронной подписи ViPNet CSP или КриптоПро CSP.\n• Отличается приложение электронной подписи, заданное в настройках сертификата в информационной базе и у закрытой части ключа.",
"Solution": "• Переустановите сертификат через оснастку приложения электронной подписи Vipnet CSP с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/24/4163/\">инструкцию</a>\n• Переустановите сертификат через оснастку приложения электронной подписи КриптоПро CSP с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/24/4129/\">инструкцию</a>\n• Откройте <a href=\"ОткрытьСертификат\">карточку сертификата</a> и выберите правильное приложение электронной подписи.\n• Добавьте новое приложение электронной подписи. <a href=\"ОткрытьСписокПрограмм\">Открыть список приложений электронной подписи</a>.",
"ErrorText": "Сертификат, связанный с закрытым ключом, указывает на модуль криптографии, отличный от текущего",
"RepairMethods": "",
"En": "The certificate associated with the privacy key points to a cryptography module other than the current one",
@@ -547,8 +547,8 @@
},
{
"Anchor": "Указан неверный алгоритм",
"Reason": "- Сертификат некорректно связан с закрытым ключом.\n- Включен Winlogon в КриптоПро CSP.",
"Solution": "- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>\n- Отключите Winlogon в приложении электронной подписи КриптоПро CSP\n",
"Reason": "• Алгоритм выбранного приложения электронной подписи в карточке сертификата не соответствует сертификату.\n• Сертификат некорректно связан с закрытым ключом.\n• Включен Winlogon в КриптоПро CSP.",
"Solution": "• Очистите неверно выбранное приложение электронной подписи в <a href=\"ОткрытьСертификат\">карточке сертификата</a>.\n• Если в сертификате выбрано приложение по умолчанию, то переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>.\n• Отключите Winlogon в приложении электронной подписи КриптоПро CSP\n",
"ErrorText": "Указан неверный алгоритм",
"RepairMethods": "",
"En": "Invalid algorithm specified",
@@ -556,8 +556,8 @@
},
{
"Anchor": "Нет связи с закрытым ключом",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Установите закрытый ключ на сервере (вставить токен или флешку с файлом закрытого ключа).\n- Переустановите сертификат на сервере через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n- Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Установите закрытый ключ на сервере (вставить токен или флешку с файлом закрытого ключа).\n• Переустановите сертификат на сервере через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n• Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "Отсутствует ключ",
"RepairMethods": "",
"En": "Cryptography module interface error. No key",
@@ -565,8 +565,8 @@
},
{
"Anchor": "Нет связи с закрытым ключом",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Установите закрытый ключ на сервере (вставить токен или флешку с файлом закрытого ключа).\n- Переустановите сертификат на сервере через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n- Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Установите закрытый ключ на сервере (вставить токен или флешку с файлом закрытого ключа).\n• Переустановите сертификат на сервере через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n• Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "Сертификат не имеет связи с закрытым ключом",
"RepairMethods": "",
"En": "Certificate not connected to privacy key",
@@ -574,8 +574,8 @@
},
{
"Anchor": "Нет связи с закрытым ключом",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Установите закрытый ключ на сервере (вставить токен или флешку с файлом закрытого ключа).\n- Переустановите сертификат на сервере через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n- Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Установите закрытый ключ на сервере (вставить токен или флешку с файлом закрытого ключа).\n• Переустановите сертификат на сервере через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n• Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "Отсутствует набор ключей",
"RepairMethods": "",
"En": "Cryptography module interface error. No keyset",
@@ -609,7 +609,7 @@
{
"Anchor": "",
"Reason": "Не удается построить цепочку сертификатов при создании/проверке/усовершенствовании подписи или проверке сертификата.",
"Solution": "Скачайте и установите корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат.\n",
"Solution": "• <a href = https://edo.1c.ru/handbook/31/4009/>Скачайте и установите</a> корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат. \n• Если доступ блокирует антивирус, межсетевой экран или другие приложения, разрешите доступ к адресам центров сертификации и списков отзыва, указанным в сертификате.\n",
"ErrorText": "Цепочка сертификатов не может быть построена до доверенного корневого сертификата",
"RepairMethods": "",
"En": "",
@@ -627,7 +627,7 @@
{
"Anchor": "",
"Reason": "Не удается построить цепочку сертификатов при создании/проверке/усовершенствовании подписи или проверке сертификата.",
"Solution": "Скачайте и установите корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат.\n\n",
"Solution": "• <a href = https://edo.1c.ru/handbook/31/4009/>Скачайте и установите</a> корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат. \n• Если доступ блокирует антивирус, межсетевой экран или другие приложения, разрешите доступ к адресам центров сертификации и списков отзыва, указанным в сертификате.\n",
"ErrorText": "Ошибка при выполнении проверки цепочки сертификатов",
"RepairMethods": "{\"МетодикиУстранения\": [\"УстановитьКорневойСертификат\"]}",
"En": "",
@@ -635,16 +635,16 @@
},
{
"Anchor": "",
"Reason": "- Указан неправильный пароль доступа к закрытому ключу.\n- Действие невозможно выполнить при снятом флажке \"Вводить пароль в приложении электронной подписи\" (к примеру, если установлена усиленная защита закрытого ключа).",
"Solution": "- Убедитесь, что вводится правильный пароль (проверьте раскладку клавиатуры). См. <a href=\"http://1c-edo.ru/handbook/9/3984/\">инструкцию</a>\n- Установите флажок \"Вводить пароль в приложении электронной подписи\" и повторите действие.",
"Reason": "• Указан неправильный пароль доступа к закрытому ключу.\n• Действие невозможно выполнить при снятом флажке \"Вводить пароль в приложении электронной подписи\" (к примеру, если установлена усиленная защита закрытого ключа).",
"Solution": "• Убедитесь, что вводится правильный пароль (проверьте раскладку клавиатуры). См. <a href=\"http://1c-edo.ru/handbook/9/3984/\">инструкцию</a>\n• Установите флажок \"Вводить пароль в приложении электронной подписи\" и повторите действие.",
"ErrorText": "Ошибка при расшифровании криптографических данных (0x80090022)",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "",
"Reason": "- Возможно, это присоединенная подпись.",
"Solution": "- Убедитесь, что подпись является открепленной, то есть, не содержит присоединенные данные.",
"Reason": "• Возможно, это присоединенная подпись.",
"Solution": "• Убедитесь, что подпись является открепленной, то есть, не содержит присоединенные данные.",
"ErrorText": "Ошибка интерфейса модуля криптографии. Неверная подпись",
"RepairMethods": "",
"En": ""
@@ -652,7 +652,7 @@
{
"Anchor": "Нет корневого сертификата",
"Reason": "Нет прав на установку этого сертификата в хранилище доверенных корневых сертификатов из приложения.",
"Solution": "- Обратитесь к администратору для установки сертификата в доверенные корневые сертификаты.\n- Попробуйте установить корневой сертификат согласно <a href=\"https://edo.1c.ru/handbook/31/4009/\">инструкции</a>.",
"Solution": "• Обратитесь к администратору для установки сертификата в доверенные корневые сертификаты.\n• Попробуйте установить корневой сертификат согласно <a href=\"https://edo.1c.ru/handbook/31/4009/\">инструкции</a>.",
"ErrorText": "Ошибка 0x80070005:Access is denied.",
"RepairMethods": "",
"En": ""
@@ -660,7 +660,7 @@
{
"Anchor": "",
"Reason": "Сертификаты юридическим лицам и индивидуальным предпринимателям выдают только государственные удостоверяющие центры.",
"Solution": "Если это тестовый сертификат, поставьте флажок <b>Разрешить подписание</b> в карточке сертификата.",
"Solution": "Если это тестовый сертификат, поставьте флажок <b>Разрешить подписание</b> в <a href=\"ОткрытьСертификат\">карточке сертификата</a>.",
"ErrorText": "Сертификат не действует, так как выдан коммерческим аккредитованным удостоверяющим центром после 31.08.2023",
"RepairMethods": "",
"En": ""
@@ -1076,7 +1076,7 @@
{
"Anchor": "",
"Reason": "Не удается построить цепочку сертификатов при проверке подписи.",
"Solution": "- Скачайте и установите корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат подписанта.\n- Если ошибка при проверке подписи с меткой времени, проверьте также цепочку сертификатов службы меток доверенного времени.\n\n",
"Solution": "• <a href = https://edo.1c.ru/handbook/31/4009/>Скачайте и установите</a> корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат. \n• Если доступ блокирует антивирус, межсетевой экран или другие приложения, разрешите доступ к адресам центров сертификации и списков отзыва, указанным в сертификате.\n• Если ошибка при проверке подписи с меткой времени, проверьте также цепочку сертификатов службы меток доверенного времени.\n",
"ErrorText": "Цепочка сертификатов не может быть построена до доверенного корневого сертификата",
"RepairMethods": "",
"En": "",
@@ -1086,7 +1086,7 @@
{
"Anchor": "",
"Reason": "Не удается построить цепочку сертификатов при проверке подписи.",
"Solution": "- Скачайте и установите корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат подписанта.\n- Если ошибка при проверке подписи с меткой времени, проверьте также цепочку сертификатов службы меток доверенного времени.\n\n",
"Solution": "• <a href = https://edo.1c.ru/handbook/31/4009/>Скачайте и установите</a> корневые и промежуточные сертификаты с сайта удостоверяющего центра, выдавшего сертификат. \n• Если доступ блокирует антивирус, межсетевой экран или другие приложения, разрешите доступ к адресам центров сертификации и списков отзыва, указанным в сертификате.\n• Если ошибка при проверке подписи с меткой времени, проверьте также цепочку сертификатов службы меток доверенного времени.\n\n",
"ErrorText": "Ошибка при выполнении проверки цепочки сертификатов",
"RepairMethods": "",
"En": "",
@@ -1096,13 +1096,22 @@
{
"Anchor": "",
"Reason": "Не удалось проверить сертификат подписанта или службы меток доверенного времени.",
"Solution": "- Выполните проверку сертификата подписанта и службы меток доверенного времени (если подпись содержит метку времени).\n",
"Solution": "• Выполните проверку сертификата подписанта и службы меток доверенного времени (если подпись содержит метку времени).\n",
"ErrorText": "Ошибка проверки расширенных данных электронной подписи",
"RepairMethods": "",
"En": "",
"Sign": true
},
{
"Anchor": "Указан неверный алгоритм",
"Reason": "• Алгоритм подписи не соответствует алгоритму сертификата подписанта.",
"Solution": "• Обратитесь к подписанту для получения корректной подписи с алгоритмом, соответствующим ГОСТу.",
"ErrorText": "Указан неверный алгоритм",
"RepairMethods": "",
"En": "Invalid algorithm specified",
"Sign": true
},
{
"Anchor": "",
"Reason": "Для сертификата нет возможности определить приложение электронной подписи автоматически",
"Solution": "Настройте приложение вручную <a href=\"ОткрытьСписокПрограмм\">в списке приложений</a> и выберите его в карточке сертификата.",
@@ -1120,8 +1129,8 @@
},
{
"Anchor": "",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения\n- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения\n• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"ErrorText": "Не удалось определить приложение по закрытому ключу сертификата",
"RepairMethods": "",
"En": "",
@@ -1129,14 +1138,110 @@
},
{
"Anchor": "",
"Reason": "- Закрытый ключ для выбранного сертификата не установлен.\n- Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "- Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"ErrorText": "Не удалось определить приложение по закрытому ключу сертификата",
"RepairMethods": "",
"En": "",
"Server": true
},
{
"Anchor": "",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"ErrorText": "Не удалось определить приложение электронной подписи и шифрования по закрытому ключу сертификата",
"RepairMethods": "",
"En": "",
"Server": true
},
{
"Anchor": "",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения\n• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"ErrorText": "Не удалось определить приложение электронной подписи и шифрования по закрытому ключу сертификата",
"RepairMethods": "",
"En": "",
"Client": true
},
{
"Anchor": "",
"Reason": "Алгоритм выбранного приложения электронной подписи в карточке сертификата не соответствует сертификату.",
"Solution": "• Очистите неверно выбранное приложение электронной подписи в <a href=\"ОткрытьСертификат\">карточке сертификата</a>. \n• Если в сертификате выбрано приложение по умолчанию, то <a href=\"УстановитьСертификатВКонтейнер\">установите сертификат в контейнер</a> прямо из приложения \nили переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"ErrorText": "Неизвестный алгоритм криптографии",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "Указан неверный алгоритм",
"Reason": "• Алгоритм подписи не соответствует алгоритму сертификата подписанта.",
"Solution": "• Обратитесь к подписанту для получения корректной подписи с алгоритмом, соответствующим ГОСТу.",
"ErrorText": "Неверная версия модуля криптографии",
"RepairMethods": "",
"En": "",
"Sign": true
},
{
"Anchor": "Указан неверный алгоритм",
"Reason": "• Алгоритм подписи не соответствует алгоритму сертификата подписанта.",
"Solution": "• Обратитесь к подписанту для получения корректной подписи с алгоритмом, соответствующим ГОСТу.",
"ErrorText": "0x80091007",
"RepairMethods": "",
"En": "",
"Sign": true
},
{
"Anchor": "",
"Reason": "Алгоритм выбранного приложения электронной подписи в карточке сертификата не соответствует сертификату.",
"Solution": "• Очистите неверно выбранное приложение электронной подписи в <a href=\"ОткрытьСертификат\">карточке сертификата</a>. \n• Если в сертификате выбрано приложение по умолчанию, то <a href=\"УстановитьСертификатВКонтейнер\">установите сертификат в контейнер</a> прямо из приложения \nили переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"ErrorText": "связан с приложением электронной подписи с не соответствующим сертификату алгоритмом подписи",
"RepairMethods": "",
"En": "",
"Client": true
},
{
"Anchor": "",
"Reason": "Алгоритм выбранного приложения электронной подписи в карточке сертификата не соответствует сертификату.",
"Solution": "• Очистите неверно выбранное приложение электронной подписи в <a href=\"ОткрытьСертификат\">карточке сертификата</a>. \n• Если в сертификате выбрано приложение по умолчанию, то переустановите сертификат на сервере через оснастку приложения электронной подписи с привязкой к закрытому ключу. См. <a href=\"http://1c-edo.ru/handbook/28/4008/\">инструкцию</a>",
"ErrorText": "связан с приложением электронной подписи с не соответствующим сертификату алгоритмом подписи",
"RepairMethods": "",
"En": "",
"Server": true
},
{
"Anchor": "",
"Reason": "На компьютере недоступны адреса, указанные в настройках серверов меток времени.",
"Solution": "Проверьте настройки серверов меток времени в <a href=\"ОткрытьНастройкиЭлектроннойПодписи\">панели администрирования</a>. ",
"ErrorText": "Недоступен сервер доверенных меток времени по адресу",
"RepairMethods": "{\"МетодикиУстранения\": [\"ДиагностикаСерверовМетокВремениКлиент\"]}",
"En": "",
"Client": true
},
{
"Anchor": "",
"Reason": "На сервере недоступны адреса, указанные в настройках серверов меток времени.",
"Solution": "Проверьте настройки серверов меток времени в <a href=\"ОткрытьНастройкиЭлектроннойПодписи\">панели администрирования</a>. ",
"ErrorText": "Недоступен сервер доверенных меток времени по адресу",
"RepairMethods": "{\"МетодикиУстранения\": [\"ДиагностикаСерверовМетокВремениСервер\"]}",
"En": "",
"Server": true
},
{
"Anchor": "",
"Reason": "Не указаны сервера меток времени в настройках электронной подписи.",
"Solution": "Проверьте настройки серверов меток времени в <a href=\"ОткрытьНастройкиЭлектроннойПодписи\">панели администрирования</a>. ",
"ErrorText": "заполните адреса серверов штампов времени",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "",
"Reason": "Не указаны сервера меток времени в настройках электронной подписи.",
"Solution": "Проверьте настройки серверов меток времени в <a href=\"ОткрытьНастройкиЭлектроннойПодписи\">панели администрирования</a>. ",
"ErrorText": "заполните адреса серверов меток времени",
"RepairMethods": "",
"En": ""
}
],
"LastChangeDate": "2024-05-15T18:25:07",
"Version": "3.0.1.24"
"LastChangeDate": "2024-06-11T21:22:03",
"Version": "3.0.1.29"
}
@@ -115,8 +115,8 @@
<id>144</id>
<title>
<key>ru</key>
<value>&lt;b>Основные&lt;/>&lt;b> &lt;/>&lt;b>в&lt;/>&lt;b> &lt;/>&lt;b>приложении&lt;/>&lt;b> &lt;/>&lt;b>-&lt;/> диалог сканера не открывается, а применяются настройки, заданные в приложении.
&lt;b>Расширенные&lt;/>&lt;b> &lt;/>&lt;b>в&lt;/>&lt;b> &lt;/>&lt;b>диалоге&lt;/>&lt;b> &lt;/>&lt;b>сканера&lt;/> - отображается диалог сканера, в котором можно задать другие дополнительные настройки, специфичные для конкретного устройства.
<value>&lt;b>Основные в приложении&lt;/> - диалог сканера не открывается, а применяются настройки, заданные в приложении.
&lt;b>Расширенные в диалоге сканера&lt;/> - отображается диалог сканера, в котором можно задать другие дополнительные настройки, специфичные для конкретного устройства.
</value>
</title>
<formatted>true</formatted>
@@ -222,10 +222,10 @@
<id>72</id>
<title>
<key>ru</key>
<value>&lt;b>200&lt;/>&lt;b> &lt;/>&lt;b>dpi&lt;/> достаточно для отправки изображений по электронной почте, факсу, размещения на сайте или просмотра на экране.
&lt;b>300&lt;/>&lt;b> &lt;/>&lt;b>dpi&lt;/> подходит для большинства документов и изображений, а также для распознавания текста.
&lt;b>600&lt;/>&lt;b> &lt;/>&lt;b>dpi&lt;/> подходит для сканирования цветных изображений типографского качества, которые потом можно вывести на высококачественном или широкоформатном принтере. Изображения занимают большой объем.
&lt;b>1200&lt;/>&lt;b> &lt;/>&lt;b>dpi&lt;/> для сканирования профессиональных фотографий типографского качества. Изображения занимают большой объем.</value>
<value>&lt;b>200 dpi&lt;/> достаточно для отправки изображений по электронной почте, факсу, размещения на сайте или просмотра на экране.
&lt;b>300 dpi&lt;/> подходит для большинства документов и изображений, а также для распознавания текста.
&lt;b>600 dpi&lt;/> подходит для сканирования цветных изображений типографского качества, которые потом можно вывести на высококачественном или широкоформатном принтере. Изображения занимают большой объем.
&lt;b>1200 dpi&lt;/> для сканирования профессиональных фотографий типографского качества. Изображения занимают большой объем.</value>
</title>
<formatted>true</formatted>
<type>Label</type>
@@ -598,13 +598,12 @@
<id>114</id>
<title>
<key>ru</key>
<value>&lt;b>JPG&lt;/> подходит для большинства документов и изображений. Позволяет сжимать изображение с потерей качества. Можно настроить величину сжатия. 
&lt;b>PNG&lt;/> подходит для большинства документов и изображений. Изображения без потери качества, файлы небольших размеров. 
&lt;b>TIF&lt;/> позволяет сохранять изображение без потери качества, используется для хранения изображений для дальнейшей печати. Возможно хранение многостраничных изображений.
&lt;b>GIF&lt;/> устаревший формат для хранения изображений в низком качестве. Файлы небольшого размера.
&lt;b>BMP&lt;/> устаревший формат для хранения изображений без потери качества. Файлы больших размеров.
<value>&lt;b>PNG&lt;/> подходит для большинства документов и изображений. Изображения без потери качества, файлы небольших размеров.
&lt;b>JPG&lt;/> подходит для большинства документов и изображений. Позволяет сжимать изображение с потерей качества. Можно настроить величину сжатия.
&lt;b>TIF&lt;/> позволяет сохранять изображение без потери качества, используется для хранения изображений для дальнейшей печати. Возможно хранение многостраничных изображений.
&lt;b>GIF&lt;/> устаревший формат для хранения изображений в низком качестве. Файлы небольшого размера.
&lt;b>Преобразовать&lt;/>&lt;b> &lt;/>&lt;b>в&lt;/>&lt;b> &lt;/>&lt;b>PDF&lt;/> позволяет поместить отсканированное изображение в PDF-файл. Возможно хранение многостраничных изображений.</value>
&lt;b>Преобразовать в PDF&lt;/> позволяет поместить отсканированное изображение в PDF-файл. Возможно хранение многостраничных изображений.</value>
</title>
<formatted>true</formatted>
<type>Label</type>
@@ -1416,7 +1415,7 @@ TIF - Не все браузеры отображают этот формат.</
<event>StartChoice</event>
<name>КаталогЖурналаСканированияНачалоВыбора</name>
</handlers>
<width>40</width>
<width>60</width>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
@@ -1438,7 +1437,7 @@ TIF - Не все браузеры отображают этот формат.</
</userVisible>
<title>
<key>ru</key>
<value>Группа1</value>
<value>Настройки журнала</value>
</title>
<extendedTooltip>
<name>ГруппаНастройкиЖурналаРасширеннаяПодсказка</name>
@@ -1452,7 +1451,7 @@ TIF - Не все браузеры отображают этот формат.</
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<group>Vertical</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
@@ -2182,19 +2181,6 @@ TIF - Не все браузеры отображают этот формат.</
</edit>
<savedData>true</savedData>
</attributes>
<attributes>
<name>ФорматХраненияОдностраничный</name>
<id>17</id>
<valueType>
<types>EnumRef.ФорматыХраненияОдностраничныхФайлов</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ФорматМногостраничныйTIF</name>
<id>18</id>
@@ -37,8 +37,6 @@
Элементы.ПутьКПрограммеКонвертации.Доступность = ИспользоватьImageMagickДляПреобразованияВPDF;
ФорматХраненияОдностраничныйПредыдущее = ФорматХраненияОдностраничный;
УстановитьПодсказки();
ПовторноеСканирование = Параметры.ПовторноеСканирование;
@@ -28,8 +28,8 @@
<id>94</id>
<title>
<key>ru</key>
<value>&lt;b>Основные&lt;/>&lt;b> &lt;/>&lt;b>в&lt;/>&lt;b> &lt;/>&lt;b>приложении&lt;/>&lt;b> &lt;/>&lt;b>-&lt;/> диалог сканера не открывается, а применяются настройки, заданные в приложении.
&lt;b>Расширенные&lt;/>&lt;b> &lt;/>&lt;b>в&lt;/>&lt;b> &lt;/>&lt;b>диалоге&lt;/>&lt;b> &lt;/>&lt;b>сканера&lt;/> - отображается диалог сканера, в котором можно задать другие дополнительные настройки, специфичные для конкретного устройства.
<value>&lt;b>Основные в приложении&lt;/> - диалог сканера не открывается, а применяются настройки, заданные в приложении.
&lt;b>Расширенные в диалоге сканера&lt;/> - отображается диалог сканера, в котором можно задать другие дополнительные настройки, специфичные для конкретного устройства.
</value>
</title>
<formatted>true</formatted>
@@ -128,10 +128,10 @@
<id>63</id>
<title>
<key>ru</key>
<value>&lt;b>200&lt;/>&lt;b> &lt;/>&lt;b>dpi&lt;/> достаточно для отправки изображений по электронной почте, факсу, размещения на сайте или просмотра на экране.
&lt;b>300&lt;/>&lt;b> &lt;/>&lt;b>dpi&lt;/> подходит для большинства документов и изображений, а также для распознавания текста.
&lt;b>600&lt;/>&lt;b> &lt;/>&lt;b>dpi&lt;/> подходит для сканирования цветных изображений типографского качества, которые потом можно вывести на высококачественном или широкоформатном принтере. Изображения занимают большой объем.
&lt;b>1200&lt;/>&lt;b> &lt;/>&lt;b>dpi&lt;/> для сканирования профессиональных фотографий типографского качества. Изображения занимают большой объем.
<value>&lt;b>200 dpi&lt;/> достаточно для отправки изображений по электронной почте, факсу, размещения на сайте или просмотра на экране.
&lt;b>300 dpi&lt;/> подходит для большинства документов и изображений, а также для распознавания текста.
&lt;b>600 dpi&lt;/> подходит для сканирования цветных изображений типографского качества, которые потом можно вывести на высококачественном или широкоформатном принтере. Изображения занимают большой объем.
&lt;b>1200 dpi&lt;/> для сканирования профессиональных фотографий типографского качества. Изображения занимают большой объем.
</value>
</title>
<formatted>true</formatted>
@@ -440,13 +440,12 @@
<id>86</id>
<title>
<key>ru</key>
<value>&lt;b>JPG&lt;/> подходит для большинства документов и изображений. Позволяет сжимать изображение с потерей качества. Можно настроить величину сжатия. 
&lt;b>PNG&lt;/> подходит для большинства документов и изображений. Изображения без потери качества, файлы небольших размеров. 
&lt;b>TIF&lt;/> позволяет сохранять изображение без потери качества, используется для хранения изображений для дальнейшей печати. Возможно хранение многостраничных изображений.
&lt;b>GIF&lt;/> устаревший формат для хранения изображений в низком качестве. Файлы небольшого размера.
&lt;b>BMP&lt;/> устаревший формат для хранения изображений без потери качества. Файлы больших размеров.
<value>&lt;b>PNG&lt;/> подходит для большинства документов и изображений. Изображения без потери качества, файлы небольших размеров.
&lt;b>JPG&lt;/> подходит для большинства документов и изображений. Позволяет сжимать изображение с потерей качества. Можно настроить величину сжатия.
&lt;b>TIF&lt;/> позволяет сохранять изображение без потери качества, используется для хранения изображений для дальнейшей печати. Возможно хранение многостраничных изображений.
&lt;b>GIF&lt;/> устаревший формат для хранения изображений в низком качестве. Файлы небольшого размера.
&lt;b>Преобразовать&lt;/>&lt;b> &lt;/>&lt;b>в&lt;/>&lt;b> &lt;/>&lt;b>PDF&lt;/> позволяет поместить отсканированное изображение в PDF-файл. Возможно хранение многостраничных изображений.</value>
&lt;b>Преобразовать в PDF&lt;/> позволяет поместить отсканированное изображение в PDF-файл. Возможно хранение многостраничных изображений.</value>
</title>
<formatted>true</formatted>
<type>Label</type>
@@ -96,9 +96,6 @@
РезультатВыбора.Вставить("СохранятьВPDF", СохранятьВPDF);
РезультатВыбора.Вставить("ФорматХраненияМногостраничный", ФорматХраненияМногостраничный);
ФорматХраненияОдностраничный = ПреобразоватьФорматСканированияВФорматХранения(ФорматСканированногоИзображения, СохранятьВPDF);
РезультатВыбора.Вставить("ФорматХраненияОдностраничный", ФорматХраненияОдностраничный);
ОповеститьОВыборе(РезультатВыбора);
КонецПроцедуры
@@ -107,13 +104,6 @@
#Область СлужебныеПроцедурыИФункции
&НаСервереБезКонтекста
Функция ПреобразоватьФорматСканированияВФорматХранения(ФорматСканирования, СохранятьВPDF)
Возврат РаботаСФайламиСлужебный.ПреобразоватьФорматСканированияВФорматХранения(ФорматСканирования, СохранятьВPDF);
КонецФункции
&НаСервере
Процедура УстановитьПодсказки()
@@ -1072,6 +1072,9 @@ var oFileSystemObject = new ActiveXObject('Scripting.FileSystemObject')
var oADODBStream = new ActiveXObject('ADODB.Stream')
oADODBStream.CharSet = 'utf-8'
var oADODBStreamUnicode = new ActiveXObject('ADODB.Stream')
oADODBStreamUnicode.CharSet = 'unicode'
clearLogFile()
appendLog('ASCII')
@@ -28,11 +28,11 @@
</standardAttributes>
<quickChoice>true</quickChoice>
<choiceMode>BothWays</choiceMode>
<enumValues uuid="e8d5533e-2669-44f6-9eed-eaedab666d42">
<name>BMP</name>
<enumValues uuid="5afa798a-958e-4e0c-a380-0104f4c037a7">
<name>PNG</name>
<synonym>
<key>ru</key>
<value>BMP</value>
<value>PNG</value>
</synonym>
</enumValues>
<enumValues uuid="dd8e0f41-51a3-4bf2-a32e-084f9ad09be7">
@@ -42,20 +42,6 @@
<value>JPG</value>
</synonym>
</enumValues>
<enumValues uuid="9e323b0d-4e3b-45d4-9705-aa30e63014f5">
<name>GIF</name>
<synonym>
<key>ru</key>
<value>GIF</value>
</synonym>
</enumValues>
<enumValues uuid="5afa798a-958e-4e0c-a380-0104f4c037a7">
<name>PNG</name>
<synonym>
<key>ru</key>
<value>PNG</value>
</synonym>
</enumValues>
<enumValues uuid="c0295fd9-c749-41b3-8d0d-6af16f484b1f">
<name>TIF</name>
<synonym>
@@ -63,4 +49,11 @@
<value>TIF</value>
</synonym>
</enumValues>
<enumValues uuid="9e323b0d-4e3b-45d4-9705-aa30e63014f5">
<name>GIF</name>
<synonym>
<key>ru</key>
<value>GIF</value>
</synonym>
</enumValues>
</mdclass:Enum>
@@ -1,73 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Enum xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f74c2d41-2433-4bed-8aef-adfeed198252">
<producedTypes>
<refType typeId="e6c8076e-3a90-4e2f-865c-ede2592cf0e7" valueTypeId="ec8fc0c5-6e26-4308-ba2b-83d6792a497f"/>
<listType typeId="2fcb1e1e-2384-4080-9524-b66248ce5274" valueTypeId="d44f5e5d-44c0-45c4-9242-75c089a272ea"/>
<managerType typeId="a757c7fd-b040-4ec0-a5c3-08f407f6377a" valueTypeId="60ee31fc-fece-43b9-a26c-0cd04ff89ec8"/>
</producedTypes>
<name>ФорматыХраненияОдностраничныхФайлов</name>
<synonym>
<key>ru</key>
<value>Форматы хранения одностраничных файлов</value>
</synonym>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Order</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Ref</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<quickChoice>true</quickChoice>
<choiceMode>BothWays</choiceMode>
<enumValues uuid="3c2b8a8a-bfe7-4e37-9d83-55a695a06605">
<name>BMP</name>
<synonym>
<key>ru</key>
<value>BMP</value>
</synonym>
</enumValues>
<enumValues uuid="56c9703a-751a-4e6c-81f4-a8756fb040e3">
<name>GIF</name>
<synonym>
<key>ru</key>
<value>GIF</value>
</synonym>
</enumValues>
<enumValues uuid="c3a86eec-1ff5-4392-9904-91a12a2e253a">
<name>JPG</name>
<synonym>
<key>ru</key>
<value>JPG</value>
</synonym>
</enumValues>
<enumValues uuid="f5df72a3-c71c-412b-8c3e-6329f1d3a7da">
<name>PDF</name>
<synonym>
<key>ru</key>
<value>PDF</value>
</synonym>
</enumValues>
<enumValues uuid="f02b7246-dae9-4e15-b4cd-b06133664d34">
<name>PNG</name>
<synonym>
<key>ru</key>
<value>PNG</value>
</synonym>
</enumValues>
<enumValues uuid="77f20022-17ce-4e00-8a84-015238bce6f3">
<name>TIF</name>
<synonym>
<key>ru</key>
<value>TIF</value>
</synonym>
</enumValues>
</mdclass:Enum>
@@ -35,7 +35,6 @@
<types>ConstantValueManager.ИзвлекатьТекстыФайловНаСервере</types>
<types>ConstantValueManager.ПрофильБезопасностиИнформационнойБазы</types>
<types>ConstantValueManager.ПовторитьЗагрузкуСообщенияОбменаДаннымиПередЗапуском</types>
<types>ConstantValueManager.УдалитьЛогинДоступаКСервисуMorpher</types>
<types>ConstantValueManager.СтандартныеПодсистемыВАвтономномРежиме</types>
<types>ConstantValueManager.ПутьКТомуБезУчетаРегиональныхНастроек</types>
<types>ConstantValueManager.РазрешитьВыполнениеДООРегламентнымиЗаданиямиВМоделиСервиса</types>
@@ -154,12 +154,16 @@
Возврат;
КонецЕсли;
ПриИзмененииИспользованияВидовДоступа(Истина);
ПриИзмененииИспользованияВидовДоступа(Изменения.Количество() = 1 И Изменения[0] <> Неопределено);
Справочники.ГруппыДоступа.ЗарегистрироватьСсылки("ИспользуемыеВидыДоступа", Null);
КонецПроцедуры
Процедура ЗапланироватьОбновлениеПриИзмененииИспользованияВидовДоступа() Экспорт
Справочники.ГруппыДоступа.ЗарегистрироватьСсылки("ИспользуемыеВидыДоступа", Неопределено);
КонецПроцедуры
// Для процедур ОбновитьДанныеРегистра, ОбработатьИзменениеЗарегистрированноеПриЗагрузке.
Процедура ПриИзмененииИспользованияВидовДоступа(ПланироватьОбновлениеПараметровОграниченияДоступа = Ложь) Экспорт
@@ -1022,8 +1022,8 @@
МассивПравВладельца = Новый ФиксированныйМассив(СвойстваВладельца.МассивПравВладельца);
ПоПолнымИменам.Вставить(ЭлементСписка.Представление, ПраваВладельца);
ПоТипамСсылок.Вставить(СвойстваВладельца.ТипСсылки, МассивПравВладельца);
ПоТипам.Вставить(ТипСсылки, ПраваВладельца);
ПоТипам.Вставить(ТипОбъекта, ПраваВладельца);
ПоТипам.Вставить(СвойстваВладельца.ТипСсылки, ПраваВладельца);
ПоТипам.Вставить(СвойстваВладельца.ТипОбъекта, ПраваВладельца);
ОписаниеВерсии.СвойстваВерсии.Добавить("");
ВладелецПравДобавлен = Ложь;
@@ -149,14 +149,6 @@
//
Процедура ОбновитьВерсиюТекстовОграниченияДоступа(ЕстьИзменения = Неопределено) Экспорт
Если ОбщегоНазначения.РазделениеВключено()
И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ("СтандартныеПодсистемы", Истина);
Иначе
ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ("СтандартныеПодсистемы");
КонецЕсли;
ВерсияТекстов = ВерсияТекстовОграниченияДоступа();
НачатьТранзакцию();
@@ -167,25 +159,6 @@
"СтандартныеПодсистемы.УправлениеДоступом.ВерсияТекстовОграниченияДоступа",
ВерсияТекстов, ЕстьТекущиеИзменения);
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.168") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.1.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.1.109") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.249") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.3.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.3.4") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.4.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.4.376") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.475") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.6.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.6.275") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.7.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.7.100") < 0 Тогда
ЕстьТекущиеИзменения = Истина;
КонецЕсли;
СтандартныеПодсистемыСервер.ДобавитьИзмененияПараметраРаботыПрограммы(
"СтандартныеПодсистемы.УправлениеДоступом.ВерсияТекстовОграниченияДоступа",
?(ЕстьТекущиеИзменения,
@@ -243,82 +216,61 @@
КонецЕсли;
КонецЕсли;
ВерсияИБ = ОбновлениеИнформационнойБазыСлужебный.ВерсияИБ("СтандартныеПодсистемы");
КонецПроцедуры
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.3") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.1.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.1.109") < 0 Тогда
// Параметры:
// СтараяВерсияСтруктурыКэша - Строка
// НовыеПараметры - см. УправлениеДоступомСлужебный.НоваяСтруктураХранимыхПараметровЗаписи
//
Процедура ПриИзмененииВерсииСтруктурыКэша(СтараяВерсияСтруктурыКэша, НовыеПараметры) Экспорт
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.0.3.3");
СтараяВерсия = СоставВерсии(СтараяВерсияСтруктурыКэша);
Если СтараяВерсия.Основная < 19 Тогда
ЗапланироватьОбновление(НовыеПараметры, Истина, Истина, "НоваяСтруктураКэша19");
ЗапланироватьОбновлениеНаборовГруппДоступа(НовыеПараметры, "НоваяСтруктураКэша19");
КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.76") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.134") < 0 Тогда
ЗапланироватьОбновление(Истина, Ложь, "ПереходНаВерсиюБСП_3.0.3.76");
Если СтараяВерсия.Основная < 25 Тогда
РегистрыСведений.ИспользуемыеВидыДоступа.ЗапланироватьОбновлениеПриИзмененииИспользованияВидовДоступа();
ЗапланироватьОбновление(НовыеПараметры, Ложь, Истина, "НоваяСтруктураКэша25");
КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.107") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.169") < 0 Тогда
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.0.3.107");
КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.168") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.249") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.3.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.3.4") < 0 Тогда
ЗапланироватьОбновление_00_00268406("ПереходНаВерсиюБСП_3.0.3.168");
КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.190") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.2.269") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.3.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.3.26") < 0 Тогда
ЗапланироватьОбновление_00_00263154("ПереходНаВерсиюБСП_3.0.3.190");
КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.4.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.4.376") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.188") < 0 Тогда
РегистрыСведений.ИспользуемыеВидыДоступа.ПриИзмененииИспользованияВидовДоступа();
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.1.4.376");
КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.5.475") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.6.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.6.275") < 0
Или ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.7.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.7.100") < 0 Тогда
РегистрыСведений.ИспользуемыеВидыДоступа.ПриИзмененииИспользованияВидовДоступа();
ЗапланироватьОбновление_00_00463430("ПереходНаВерсиюБСП_3.1.5.475");
КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.9.1") > 0
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.1.9.319") < 0 Тогда
ЗапланироватьОбновление_00_00615173("ПереходНаВерсиюБСП_3.1.9.319");
Если СтараяВерсия.Основная < 26 Тогда
ЗапланироватьОбновление1(НовыеПараметры, "НоваяСтруктураКэша26");
ЗапланироватьОбновление2(НовыеПараметры, "НоваяСтруктураКэша26");
ЗапланироватьОбновление3(НовыеПараметры, "НоваяСтруктураКэша26");
КонецЕсли;
КонецПроцедуры
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
Процедура ЗапланироватьОбновление(КлючиДоступаКДанным, РазрешенныеКлючиДоступа, Описание)
Функция СоставВерсии(Версия)
Если Не УправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
Возврат;
ЧастиВерсии = СтрРазделить(СтрРазделить(Версия, "/", Истина)[0], ".", Ложь);
Результат = Новый Структура;
Результат.Вставить("Основная", 0);
Результат.Вставить("Дополнительная", 0);
Если ЧастиВерсии.Количество() > 0
И ОбщегоНазначенияКлиентСервер.ЭтоЧисло(ЧастиВерсии[0]) Тогда
Результат.Основная = Число(ЧастиВерсии[0]);
КонецЕсли;
Если ЧастиВерсии.Количество() > 1
И ОбщегоНазначенияКлиентСервер.ЭтоЧисло(ЧастиВерсии[1]) Тогда
Результат.Дополнительная = Число(ЧастиВерсии[1]);
КонецЕсли;
Возврат Результат;
КонецФункции
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
Процедура ЗапланироватьОбновление(Параметры, КлючиДоступаКДанным, РазрешенныеКлючиДоступа, Описание)
ОписаниеОграниченийДанных = УправлениеДоступомСлужебный.ОписаниеОграниченийДанных();
ВнешниеПользователиВключены = Константы.ИспользоватьВнешнихПользователей.Получить();
@@ -332,6 +284,7 @@
КонецЦикла;
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.ВерсииОграниченийСписков = Параметры.ВерсииОграниченийСписков;
ПараметрыПланирования.КлючиДоступаКДанным = КлючиДоступаКДанным;
ПараметрыПланирования.РазрешенныеКлючиДоступа = РазрешенныеКлючиДоступа;
@@ -348,72 +301,10 @@
КонецПроцедуры
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
Процедура ЗапланироватьОбновление_00_00268406(Описание)
Если Не УправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
Возврат;
КонецЕсли;
ИдентификаторТранзакции = Новый УникальныйИдентификатор;
ДействующиеПараметры = УправлениеДоступомСлужебный.ДействующиеПараметрыОграниченияДоступа(
ИдентификаторТранзакции, Неопределено, Ложь);
Списки = Новый Массив;
СпискиДляВнешнихПользователей = Новый Массив;
ВнешниеПользователиВключены = Константы.ИспользоватьВнешнихПользователей.Получить();
Для Каждого ВедущийСписок Из ДействующиеПараметры.ВедущиеСписки Цикл
ПоЗначениямСГруппами = ВедущийСписок.Значение.ПоЗначениямСГруппами;
Если ПоЗначениямСГруппами = Неопределено Тогда
Продолжить;
КонецЕсли;
ДобавитьСписки_00_00268406(Списки, ПоЗначениямСГруппами.ДляПользователей);
Если ВнешниеПользователиВключены Тогда
ДобавитьСписки_00_00268406(СпискиДляВнешнихПользователей, ПоЗначениямСГруппами.ДляВнешнихПользователей);
КонецЕсли;
КонецЦикла;
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.КлючиДоступаКДанным = Истина;
ПараметрыПланирования.РазрешенныеКлючиДоступа = Ложь;
ПараметрыПланирования.ДляВнешнихПользователей = Ложь;
ПараметрыПланирования.ЭтоПродолжениеОбновления = Истина;
ПараметрыПланирования.Описание = Описание;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(Списки, ПараметрыПланирования);
ПараметрыПланирования.ДляПользователей = Ложь;
ПараметрыПланирования.ДляВнешнихПользователей = Истина;
ПараметрыПланирования.Описание = Описание;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(СпискиДляВнешнихПользователей, ПараметрыПланирования);
КонецПроцедуры
// Для процедуры ЗапланироватьОбновление_00_00268406.
Процедура ДобавитьСписки_00_00268406(Списки, ЗависимыеСписки)
Если ЗависимыеСписки = Неопределено Тогда
Возврат;
КонецЕсли;
Для Каждого ЗависимыйСписок Из ЗависимыеСписки Цикл
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(ЗависимыйСписок);
Если ОбъектМетаданных = Неопределено Тогда
Продолжить;
КонецЕсли;
Списки.Добавить(ЗависимыйСписок);
КонецЦикла;
КонецПроцедуры
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
Процедура ЗапланироватьОбновление_00_00263154(Описание)
Если Не УправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
Возврат;
КонецЕсли;
Процедура ЗапланироватьОбновлениеНаборовГруппДоступа(Параметры, Описание)
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа(Ложь);
ПараметрыПланирования.ВерсииОграниченийСписков = Параметры.ВерсииОграниченийСписков;
ПараметрыПланирования.РазрешенныеКлючиДоступа = Ложь;
ПараметрыПланирования.ЭтоПродолжениеОбновления = Истина;
@@ -424,29 +315,22 @@
КонецПроцедуры
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
Процедура ЗапланироватьОбновление_00_00463430(Описание)
Процедура ЗапланироватьОбновление1(Параметры, Описание)
Если Не УправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
Возврат;
КонецЕсли;
ИдентификаторТранзакции = Новый УникальныйИдентификатор;
ДействующиеПараметры = УправлениеДоступомСлужебный.ДействующиеПараметрыОграниченияДоступа(
ИдентификаторТранзакции, Неопределено, Ложь);
ДополнительныйКонтекст = ДействующиеПараметры.ДополнительныйКонтекст;
ДополнительныйКонтекст = Параметры.ДополнительныйКонтекст;
Списки = Новый Массив;
СпискиДляВнешнихПользователей = Новый Массив;
ВнешниеПользователиВключены = Константы.ИспользоватьВнешнихПользователей.Получить();
ДобавитьСписки_00_00463430(Списки, ДополнительныйКонтекст.ДляПользователей);
ДобавитьСписки1(Списки, ДополнительныйКонтекст.ДляПользователей);
Если ВнешниеПользователиВключены Тогда
ДобавитьСписки_00_00463430(СпискиДляВнешнихПользователей,
ДобавитьСписки1(СпискиДляВнешнихПользователей,
ДополнительныйКонтекст.ДляВнешнихПользователей);
КонецЕсли;
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.ВерсииОграниченийСписков = Параметры.ВерсииОграниченийСписков;
ПараметрыПланирования.КлючиДоступаКДанным = Ложь;
ПараметрыПланирования.РазрешенныеКлючиДоступа = Истина;
@@ -462,8 +346,8 @@
КонецПроцедуры
// Для процедуры ЗапланироватьОбновление_00_00463430.
Процедура ДобавитьСписки_00_00463430(Списки, ДополнительныйКонтекст)
// Для процедуры ЗапланироватьОбновление1.
Процедура ДобавитьСписки1(Списки, ДополнительныйКонтекст)
СпискиСЗаписьюКлючейДляЗависимыхСписковБезКлючей =
ДополнительныйКонтекст.СпискиСЗаписьюКлючейДляЗависимыхСписковБезКлючей;
@@ -482,22 +366,19 @@
КонецПроцедуры
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
Процедура ЗапланироватьОбновление_00_00615173(Описание)
Если Не УправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально() Тогда
Возврат;
КонецЕсли;
Процедура ЗапланироватьОбновление2(Параметры, Описание)
Списки = Новый Массив;
СпискиДляВнешнихПользователей = Новый Массив;
ВнешниеПользователиВключены = Константы.ИспользоватьВнешнихПользователей.Получить();
ДобавитьСписки_00_00615173(Списки, Ложь);
ДобавитьСписки2(Списки, Ложь);
Если ВнешниеПользователиВключены Тогда
ДобавитьСписки_00_00615173(СпискиДляВнешнихПользователей, Истина);
ДобавитьСписки2(СпискиДляВнешнихПользователей, Истина);
КонецЕсли;
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.ВерсииОграниченийСписков = Параметры.ВерсииОграниченийСписков;
ПараметрыПланирования.КлючиДоступаКДанным = Истина;
ПараметрыПланирования.РазрешенныеКлючиДоступа = Ложь;
@@ -513,8 +394,8 @@
КонецПроцедуры
// Для процедуры ЗапланироватьОбновление_00_00615173.
Процедура ДобавитьСписки_00_00615173(Списки, ДляВнешнихПользователей)
// Для процедуры ЗапланироватьОбновление2.
Процедура ДобавитьСписки2(Списки, ДляВнешнихПользователей)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДляВнешнихПользователей", ДляВнешнихПользователей);
@@ -531,6 +412,54 @@
КонецПроцедуры
// Для процедуры ОбновитьДанныеРегистраПоИзменениямКонфигурации.
Процедура ЗапланироватьОбновление3(Параметры, Описание)
ДополнительныйКонтекст = Параметры.ДополнительныйКонтекст;
Списки = Новый Массив;
СпискиДляВнешнихПользователей = Новый Массив;
ВнешниеПользователиВключены = Константы.ИспользоватьВнешнихПользователей.Получить();
ДобавитьСписки3(Списки, ДополнительныйКонтекст.ДляПользователей);
Если ВнешниеПользователиВключены Тогда
ДобавитьСписки3(СпискиДляВнешнихПользователей,
ДополнительныйКонтекст.ДляВнешнихПользователей);
КонецЕсли;
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.ВерсииОграниченийСписков = Параметры.ВерсииОграниченийСписков;
ПараметрыПланирования.КлючиДоступаКДанным = Ложь;
ПараметрыПланирования.РазрешенныеКлючиДоступа = Истина;
ПараметрыПланирования.ДляВнешнихПользователей = Ложь;
ПараметрыПланирования.ЭтоПродолжениеОбновления = Истина;
ПараметрыПланирования.Описание = Описание;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(Списки, ПараметрыПланирования);
ПараметрыПланирования.ДляПользователей = Ложь;
ПараметрыПланирования.ДляВнешнихПользователей = Истина;
ПараметрыПланирования.Описание = Описание;
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(СпискиДляВнешнихПользователей, ПараметрыПланирования);
КонецПроцедуры
// Для процедуры ЗапланироватьОбновление3.
Процедура ДобавитьСписки3(Списки, ДополнительныйКонтекст)
Для Каждого КлючИЗначение Из ДополнительныйКонтекст.СвойстваОграниченияСписков Цикл
Если Не КлючИЗначение.Значение.РассчитыватьПраваПользователей Тогда
Продолжить;
КонецЕсли;
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(КлючИЗначение.Ключ);
Если ОбъектМетаданных = Неопределено Тогда
Продолжить;
КонецЕсли;
Списки.Добавить(ОбъектМетаданных.ПолноеИмя());
КонецЦикла;
КонецПроцедуры
// Для процедуры ОбновитьВерсиюТекстовОграниченияДоступа.
Функция ВерсияТекстовОграниченияДоступа()
@@ -550,7 +479,7 @@
ВсеТексты.Добавить(СтрСоединить(Тексты, Символы.ПС), ОписаниеОграничения.Ключ);
КонецЦикла;
ВсеТексты.СортироватьПоПредставлению();
ВсеТексты.Вставить(0, УправлениеДоступомСлужебный.ВерсияСтруктурыКэша());
ПолныйТекст = СтрСоединить(ВсеТексты.ВыгрузитьЗначения(), Символы.ПС);
Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256);
@@ -3,6 +3,93 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ПараметрыАдминистрированияИБ</name>
<right>
@@ -5485,93 +5572,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПакетыДляОтправки</name>
<right>
@@ -21,6 +21,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НаличиеФайлов</name>
<right>
@@ -1685,6 +1712,17 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НастройкиКомандПечати</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.СервисПереводаТекста</name>
<right>
@@ -2799,33 +2837,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ДетализироватьОбновлениеИБВЖурналеРегистрации</name>
<right>
@@ -10,6 +10,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НаличиеФайлов</name>
<right>
@@ -1357,6 +1384,17 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НастройкиКомандПечати</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.СервисПереводаТекста</name>
<right>
@@ -2285,33 +2323,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ДетализироватьОбновлениеИБВЖурналеРегистрации</name>
<right>
@@ -17,6 +17,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>WebService.Exchange.Operation.SaveFileFromParts</name>
<right>
@@ -839,33 +866,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>WebService.Exchange_3_0_2_1.Operation.GetFilePart</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.СлужебныеАдресныеСведения</name>
<right>
@@ -302,31 +329,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.СрокиХраненияПерсональныхДанных</name>
<right>
@@ -146,31 +173,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЗагрузкаКлассификатораБанков.Command.ЗагрузкаКлассификатораБанков</name>
<right>
@@ -60,31 +87,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ВариантыОтчетов</name>
<right>
@@ -179,31 +206,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -72,6 +72,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ПапкиЭлектронныхПисем</name>
<right>
@@ -1314,33 +1341,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Document.ЭлектронноеПисьмоВходящее.Command.ОтветитьВсем</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ВидыКонтактнойИнформации</name>
<right>
@@ -81,31 +108,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ГруппыПользователей</name>
<right>
@@ -113,31 +140,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.КалендарныеГрафики</name>
<right>
@@ -88,31 +115,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>ChartOfCharacteristicTypes.РазделыДатЗапретаИзменения</name>
<right>
@@ -131,33 +158,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляРегистра(Регистр, Поле1, Поле2, Поле3, Поле4, Поле5)</name>
<condition>// ДляРегистра(Регистр, Поле1, Поле2 = "", Поле3 = "", Поле4 = "", Поле5 = "")
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>ChartOfCharacteristicTypes.РазделыДатЗапретаИзменения</name>
<right>
@@ -135,33 +162,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляРегистра(Регистр, Поле1, Поле2, Поле3, Поле4, Поле5)</name>
<condition>// ДляРегистра(Регистр, Поле1, Поле2 = "", Поле3 = "", Поле4 = "", Поле5 = "")
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам</name>
<right>
@@ -109,31 +136,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.НаборыДополнительныхРеквизитовИСведений</name>
<right>
@@ -173,33 +200,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.РедактированиеДополнительныхСведений</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПроцессыДляЗапуска</name>
<right>
@@ -204,33 +231,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДанныеБизнесПроцессов.Command.МоиБизнесПроцессы</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Заметки</name>
<right>
@@ -77,33 +104,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Заметки.Command.ВсеЗаметки</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ПериодыНерабочихДнейКалендаря</name>
<right>
@@ -107,31 +134,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.КурсыВалют</name>
<right>
@@ -65,33 +92,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЗагрузкаКурсовВалют</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ВариантыОтчетов</name>
<right>
@@ -172,33 +199,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИспользоватьШаблоныСообщений</name>
<right>
@@ -194,33 +221,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.МашиночитаемыеДоверенности.Command.Отменить</name>
<right>
@@ -110,31 +137,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.Напомнить</name>
<right>
@@ -47,33 +74,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НапоминанияПользователя.Command.МоиНапоминания</name>
<right>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ШаблоныАнкет</name>
<right>
@@ -81,31 +108,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ШаблоныАнкет</name>
<right>
@@ -162,31 +189,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Файлы.Command.ВерсииФайла</name>
<right>
@@ -221,33 +248,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Файлы.Command.ВерсииФайла</name>
<right>
@@ -221,33 +248,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -3,6 +3,33 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ГруппыПользователей</name>
<right>
@@ -106,31 +133,4 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
</Rights>
Loaded 100 of 152 files, more files were not shown because too many files have changed in this diff. Show more