3_1_10_226

This commit is contained in:
Компания 1С committed 2024-07-04 23:23:00 +03:00
1 parent 96b4bb1bb7
commit a515946322
132 files changed
+2580 -1779

No files matched your search

@@ -1529,7 +1529,7 @@
СвойстваПользователяИБ = Пользователи.СвойстваПользователяИБ(Объект.ИдентификаторПользователяИБ);
Если СвойстваПользователяИБ = Неопределено Тогда
СвойстваПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ();
СвойстваПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ(Ложь);
КонецЕсли;
ОбработатьИнтерфейсРолей("ЗаполнитьРоли", СвойстваПользователяИБ.Роли);
@@ -1543,7 +1543,7 @@
Возврат НачальноеОписаниеПользователяИБ;
КонецЕсли;
ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ();
ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ(Ложь);
ОписаниеПользователяИБ.ПоказыватьВСпискеВыбора = Ложь;
ОписаниеПользователяИБ.Роли = Новый Массив;
@@ -150,7 +150,7 @@
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ПерейтиКЗначениюДоступа) Тогда
Если ПерейтиКЗначениюДоступа <> Неопределено Тогда
ПодключитьОбработчикОжидания("ПерейтиКЗначениюДоступа", 0.1, Истина);
КонецЕсли;
@@ -1723,7 +1723,7 @@
&НаКлиенте
Процедура ПерейтиКЗначениюДоступа()
Если ЗначениеЗаполнено(ПерейтиКЗначениюДоступа) Тогда
Если ПерейтиКЗначениюДоступа <> Неопределено Тогда
Элементы.ПользователиИДоступ.ТекущаяСтраница = Элементы.Доступ;
ТекущийЭлемент = Элементы.Доступ;
Отбор = Новый Структура("ВидДоступа", ПерейтиКВидуДоступа);
@@ -753,6 +753,9 @@
// Объект - СправочникОбъект.ПрофилиГруппДоступа
// СтарыеЗначения - Структура
//
// Возвращаемое значение:
// Булево
//
Функция УстановленаПометкаУдаленияПрофиля(Объект, СтарыеЗначения) Экспорт
Возврат Объект.ПометкаУдаления И СтарыеЗначения.ПометкаУдаления = Ложь;
КонецФункции
@@ -51,7 +51,7 @@
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ИНН</name>
<name>ИННДоверителя</name>
<id>4</id>
<title>
<key>ru</key>
@@ -66,7 +66,7 @@
<segments>ИННДоверителя</segments>
</dataPath>
<extendedTooltip>
<name>ИННРасширеннаяПодсказка</name>
<name>ИННДоверителяРасширеннаяПодсказка</name>
<id>6</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
@@ -76,7 +76,7 @@
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИННКонтекстноеМеню</name>
<name>ИННДоверителяКонтекстноеМеню</name>
<id>5</id>
<autoFill>true</autoFill>
</contextMenu>
@@ -96,6 +96,56 @@
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ИННПредставителя</name>
<id>11</id>
<title>
<key>ru</key>
<value>ИНН представителя</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ИННПредставителя</segments>
</dataPath>
<extendedTooltip>
<name>ИННПредставителяРасширеннаяПодсказка</name>
<id>13</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИННПредставителяКонтекстноеМеню</name>
<id>12</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<mask>999999999999</mask>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
<inputHint>
<key>ru</key>
<value>(необязательно)</value>
</inputHint>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаПодвал</name>
<id>9</id>
@@ -222,6 +272,24 @@
</edit>
<fillChecking>ShowError</fillChecking>
</attributes>
<attributes>
<name>ИННПредставителя</name>
<title>
<key>ru</key>
<value>ИНН представителя</value>
</title>
<id>3</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>Загрузить</name>
<title>
@@ -27,6 +27,8 @@
НомерДоверенности = СокрЛП(НомерДоверенности);
ИННДоверителя = СокрЛП(ИННДоверителя);
ИННПредставителя = СокрЛП(ИННПредставителя);
Доверенность = НайтиДоверенность(НомерДоверенности);
Если Доверенность <> Неопределено Тогда
@@ -67,7 +69,7 @@
ОписаниеОповещения = Новый ОписаниеОповещения("ПриПолученииФайлов", ЭтотОбъект);
МашиночитаемыеДоверенностиФНССлужебныйКлиент.ПолучитьДоверенностьИзРеестра(
ОписаниеОповещения, НомерДоверенности, ИННДоверителя);
ОписаниеОповещения, НомерДоверенности, ИННДоверителя, ИННПредставителя);
КонецПроцедуры
@@ -5,20 +5,28 @@
<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>
<li>Выберите лицо, действующее от имени юридического лица - доверителя, им может быть и <strong>Физическое лицо</strong>, и <strong>Организация</strong>. Если выбрана <strong>Организация</strong>, то в поле <strong>Лицо, действующее от имени управляющей компании </strong>нужно будет выбрать физическое лицо, действующее от имени управляющей организации.</li>
<li>В карточке можно увидеть всю <b>цепочку передоверия</b>. При создании передоверия полномочия передаются автоматически из родительской доверенности.</li>
<li>Для того, чтобы внести изменения в подписанную, но еще не зарегистрированную доверенность, подпись нужно <b>Удалить</b>, а после внесения изменений подписать заново. </li></ul><div><br></div>
<div><span style="font-size: 13.4399995803833px; font-weight: bold;">Ввод представителя</span></div>
<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>
<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>Для возможности последующего передоверия при создании МЧД необходимо установить флажок <b>Разрешить передоверие</b>:<br></li>
<ul><li><strong>однократное передоверие</strong> - представитель может передавать полномочия один раз, после чего действие доверенности прекращается;</li>
<li><strong>многократное передоверие</strong> - позволяет представителю передавать полномочия нескольким лицам последовательно. </li></ul></ul><ul><li>Руководитель юрлица, глава филиала или представитель юрлица могут самостоятельно выдавать МЧД с правом <b>передоверия</b>. В данном случае заверять доверенность у нотариуса не нужно. В других случаях МЧД, выданную в порядке передоверия, необходимо заверить у нотариуса. </li>
<li>Для того чтобы зарегистрировать МЧД в <strong>Распределенном реестре ФНС России</strong> нажмите на флажок. </li>
<li>В поле <strong>Единый регистрационный номер доверенности</strong> автоматически сгенерируется номер после подписания доверенности.  </li>
<li>Поле <strong>Наименование</strong> заполняется автоматически. </li></ul><h3 style="font-size: 13.4399995803833px;">Нотариальная доверенность</h3>
<ul><li>Для оформления <b>Нотариальной доверенности</b>, например, при передаче полномочий сотрудника другому сотруднику, необходимо обратиться к нотариусу.</li>
<li>Нотариус выгружает подписанную МЧД в <b>Распределенный реестр ФНС</b> и в личный кабинет заявителя на портале нотариуса. Оттуда ее можно загрузить себе на устройство. </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>
@@ -3638,11 +3638,13 @@
Элементы.ГруппаДоверительПервоначальнойДоверенности.Видимость = Истина;
ОшибкаПриПолученииДанныхДоверенности = "";
Если ЗначениеЗаполнено(Объект.ФайлДоверенности) Тогда
Доверители = Справочники.МашиночитаемыеДоверенности.ДоверителиПервоначальнойДоверенностиПоФайлу(Объект.ФайлДоверенности);
Доверители = Справочники.МашиночитаемыеДоверенности.ДоверителиПервоначальнойДоверенностиПоФайлу(
Объект.ФайлДоверенности);
Если ТипЗнч(Доверители) = Тип("Массив") И Доверители.Количество() > 0 Тогда
РеквизитыДоверителя = Доверители[0];
Если Не РеквизитыДоверителя.ЭтоФизическоеЛицо Тогда
Элементы.ДоверительПервоначальнойДоверенностиТипДекорация.Заголовок = НСтр("ru = 'Организация'");
ДоверительПервоначальнойДоверенностиНаименование = РеквизитыДоверителя.НаименованиеПолное;
@@ -3659,8 +3661,16 @@
КонецЕсли;
ДоверительПервоначальнойДоверенностиРеквизиты = РеквизитыДоверителя;
Возврат;
КонецЕсли;
ИначеЕсли ЗначениеЗаполнено(Объект.РодительскаяДоверенность) Тогда
Если ТипЗнч(Доверители) = Тип("Строка") Тогда
ОшибкаПриПолученииДанныхДоверенности = Доверители;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(Объект.РодительскаяДоверенность) Тогда
Доверители = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.РодительскаяДоверенность,
"Доверители").Выгрузить();
@@ -3687,8 +3697,9 @@
Иначе
Элементы.ДоверительПервоначальнойДоверенностиНаименование.Заголовок =
НСтр("ru = 'Отсутствует файл доверенности, нет данных о первоначальном доверителе'");
ДоверительПервоначальнойДоверенностиНаименование = ?(ОшибкаПриПолученииДанныхДоверенности = "",
НСтр("ru = 'Отсутствует файл доверенности, нет данных о первоначальном доверителе'"),
ОшибкаПриПолученииДанныхДоверенности);
Элементы.ДоверительПервоначальнойДоверенностиНаименование.КнопкаОткрытия = Ложь;
КонецЕсли;
@@ -36,6 +36,9 @@
<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 style="font-size: 13.4399995803833px;">Передоверие</h3>
<div>
<ul><li>Нажмите кнопку <b>Передоверить</b> для того, чтобы передать полномочия по доверенности. Кнопка активна, если доверенность поддерживает однократное или многократное передоверие.  </li></ul></div>
<h3>Отборы</h3>
<p>Если машиночитаемых доверенностей в списке много, то для удобства поиска можно воспользоваться отборами:</p>
<ul><li>
@@ -2260,7 +2260,7 @@
Доверители = Справочники.МашиночитаемыеДоверенности.ДоверителиПервоначальнойДоверенностиПоФайлу(
Объект.ФайлДоверенности);
Если ЗначениеЗаполнено(Доверители) Тогда
Если ТипЗнч(Доверители) = Тип("Массив") И Доверители.Количество() > 0 Тогда
Если Доверители[0].ЭтоФизическоеЛицо Тогда
НаименованиеОрганизацияДоверитель = Доверители[0].ФИО;
Иначе
@@ -2268,7 +2268,9 @@
КонецЕсли;
КонецЕсли;
Иначе
КонецЕсли;
Если НаименованиеОрганизацияДоверитель = "" И ЗначениеЗаполнено(Объект.РодительскаяДоверенность) Тогда
Доверители = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
Объект.РодительскаяДоверенность, "Доверители").Выгрузить();
@@ -3441,13 +3443,19 @@
Функция ДоверителиПервоначальнойДоверенностиПоФайлу(ФайлДоверенности) Экспорт
Если ФайлДоверенности.Пустая() Тогда
ОбщегоНазначения.СообщитьПользователю(НСтр(
"ru = 'Данные о первоначальной доверенности не доступны, так как не загружен файл доверенности.'"));
Возврат Неопределено;
Возврат НСтр(
"ru = 'Данные о первоначальном доверителе не доступны, так как не загружен файл доверенности.'");
КонецЕсли;
ДанныеФайла = РаботаСФайлами.ДанныеФайла(ФайлДоверенности);
ПараметрыДанныхФайла = РаботаСФайламиКлиентСервер.ПараметрыДанныхФайла();
ПараметрыДанныхФайла.ВызыватьИсключение = Ложь;
ДанныеФайла = РаботаСФайлами.ДанныеФайла(ФайлДоверенности, ПараметрыДанныхФайла);
ДвоичныеДанные = ПолучитьИзВременногоХранилища(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла);
Если ДвоичныеДанные = Неопределено И ДанныеФайла.ПометкаУдаления Тогда
Возврат НСтр(
"ru = 'Данные о первоначальном доверителе не доступны, так как файл доверенности помечен на удаление.'");
КонецЕсли;
ДоверенностьXML = ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные);
ОписаниеДоверенности = ДоверенностьXDTO(ДоверенностьXML);
@@ -3465,17 +3473,18 @@
СведенияОДоверенностиОснованииПередоверия = Передоверие.СвПередов;
НомерДоверенностиОснования = СведенияОПервоначальнойДоверенности.НомДоверПерв;
СведенияОДоверителяхДоверенностиОснования = СведенияОПервоначальнойДоверенности.СвДоверПерв;
Если СведенияОДоверенностиОснованииПередоверия <> Неопределено Тогда
НомерДоверенностиОснования = СведенияОДоверенностиОснованииПередоверия.НомДоверN;
СведенияОДоверителяхДоверенностиОснования = СведенияОДоверенностиОснованииПередоверия.СвДоверПерв;
КонецЕсли;
Доверители = Новый Массив;
ИННДоверителя = "";
СведенияОДоверителяхПервоначальнойДоверенности = СведенияОПервоначальнойДоверенности.СвДоверПерв;
Для Каждого СведенияОДоверителе Из СведенияОДоверителяхПервоначальнойДоверенности Цикл
Для Каждого СведенияОДоверителе Из СведенияОДоверителяхДоверенностиОснования Цикл
ТипДоверителя = СведенияОДоверителе.ТипДоверит;
Доверитель = СведенияОДоверителе.ДоверитПерв;
@@ -345,7 +345,7 @@
Строка = Выгрузка.Найти(ПользовательИБ.УникальныйИдентификатор, "ИдентификаторПользователяИБ");
СвойстваПользовательИБ = Пользователи.СвойстваПользователяИБ(ПользовательИБ.УникальныйИдентификатор);
Если СвойстваПользовательИБ = Неопределено Тогда
СвойстваПользовательИБ = Пользователи.НовоеОписаниеПользователяИБ();
СвойстваПользовательИБ = Пользователи.НовоеОписаниеПользователяИБ(Ложь);
КонецЕсли;
Если Строка <> Неопределено Тогда
@@ -2203,7 +2203,7 @@
Возврат НачальноеОписаниеПользователяИБ;
КонецЕсли;
ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ();
ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ(Ложь);
Если ОбщегоНазначения.РазделениеВключено()
Или ВнешниеПользователи.ИспользоватьВнешнихПользователей() Тогда
@@ -1738,7 +1738,7 @@
КонецЕсли;
СериализованнаяСсылкаРоли = СериализованнаяСсылка(Объект.Ссылка);
МетаданныеРоли = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Объект.Ссылка, Ложь);
МетаданныеРоли = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Объект.Ссылка, Ложь);
ИмяРоли = ?(ТипЗнч(МетаданныеРоли) = Тип("ОбъектМетаданных"), МетаданныеРоли.Имя, Объект.Имя);
СинонимРоли = ?(ТипЗнч(МетаданныеРоли) = Тип("ОбъектМетаданных"), МетаданныеРоли.Синоним, Объект.Синоним);
@@ -385,7 +385,7 @@
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>СпособАутентификации</segments>
<segments>ВариантАутентификации</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
@@ -448,7 +448,7 @@
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>СпособАутентификации</segments>
<segments>ВариантАутентификации</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
@@ -600,7 +600,7 @@
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>СпособАутентификации</segments>
<segments>ВариантАутентификации</segments>
</dataPath>
<titleLocation>None</titleLocation>
<shortcut>Ctrl+S</shortcut>
@@ -4078,7 +4078,7 @@
</edit>
</attributes>
<attributes>
<name>СпособАутентификации</name>
<name>ВариантАутентификации</name>
<title>
<key>ru</key>
<value>Способ аутентификации</value>
@@ -53,7 +53,7 @@
КлючСохраненияПоложенияОкна = ?(КонтекстныйРежим, "КонтекстныйРежим", "НеконтекстныйРежим");
СпособАутентификации = "Пароль";
ВариантАутентификации = "Пароль";
Если ЗначениеЗаполнено(Параметры.Ключ) Тогда
УчетнаяЗаписьСсылка = Параметры.Ключ;
@@ -195,7 +195,7 @@
&НаКлиенте
Процедура СпособАутентификацииПриИзменении(Элемент)
Элементы.Пароль.Доступность = СпособАутентификации = "Пароль";
Элементы.Пароль.Доступность = ВариантАутентификации = "Пароль";
КонецПроцедуры
#КонецОбласти
@@ -266,7 +266,7 @@
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Выборка);
ТолькоАвторизация = Параметры.ТолькоАвторизация;
Если Выборка.АвторизацияСПомощьюПочтовогоСервиса Или ТолькоАвторизация Тогда
СпособАутентификации = "OAuth";
ВариантАутентификации = "OAuth";
Элементы.Пароль.Доступность = Ложь;
Если ТолькоАвторизация Тогда
НастройкиАвторизацииНаПочтовомСервере = НастройкиАвторизацииНаПочтовомСервере();
@@ -336,7 +336,7 @@
ЗаполнитьНастройкиУчетнойЗаписи();
КонецЕсли;
Если Не Отказ И СпособАутентификации = "OAuth" Тогда
Если Не Отказ И ВариантАутентификации = "OAuth" Тогда
ПроверкаЗавершиласьСОшибками = Ложь;
СледующаяСтраница = Элементы.НастройкиАвторизацииПриложения;
@@ -356,7 +356,7 @@
Или ЭтоВебКлиент() И Не ДоступнаАвторизацияПоКоду() Тогда
СообщенияОбОшибках = НСтр("ru = 'Не найдены настройки авторизации почтового сервиса. Используйте авторизацию по паролю.'");
ПроверкаЗавершиласьСОшибками = Истина;
СпособАутентификации = "Пароль";
ВариантАутентификации = "Пароль";
СледующаяСтраница = Элементы.НастройкаУчетнойЗаписи;
ИначеЕсли ЗначениеЗаполнено(ИдентификаторПриложения) Тогда
СледующаяСтраница = Элементы.Авторизация;
@@ -651,7 +651,7 @@
Если ТекущаяСтраница = Элементы.НастройкаУчетнойЗаписи Тогда
Элементы.НеУдалосьПодключитьсяКартинкаИНадпись.Видимость = ПроверкаЗавершиласьСОшибками;
Элементы.Пароль.Доступность = СпособАутентификации = "Пароль";
Элементы.Пароль.Доступность = ВариантАутентификации = "Пароль";
КонецЕсли;
Если ТекущаяСтраница = Элементы.НастройкаСервераИсходящейПочты Тогда
@@ -826,7 +826,7 @@
УчетнаяЗапись.ВладелецУчетнойЗаписи = Справочники.Пользователи.ПустаяСсылка();
КонецЕсли;
УчетнаяЗапись.ДополнительныеСвойства.Вставить("НеПроверятьИзменениеНастроек");
Если СпособАутентификации = "OAuth" Тогда
Если ВариантАутентификации = "OAuth" Тогда
УчетнаяЗапись.АвторизацияСПомощьюПочтовогоСервиса = Истина;
УчетнаяЗапись.ИмяПочтовогоСервиса = НастройкиАвторизации.ИмяИнтернетСервиса;
КонецЕсли;
@@ -838,7 +838,7 @@
УстановитьПривилегированныйРежим(Истина);
ОбщегоНазначения.УдалитьДанныеИзБезопасногоХранилища(УчетнаяЗаписьСсылка);
Если СпособАутентификации = "OAuth" Тогда
Если ВариантАутентификации = "OAuth" Тогда
ЗаписатьНастройкиАвторизации();
Иначе
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище(УчетнаяЗаписьСсылка, ПарольДляПолученияПисем);
@@ -907,7 +907,7 @@
Профиль.Таймаут = ДлительностьОжиданияСервера;
Если СпособАутентификации = "OAuth" Тогда
Если ВариантАутентификации = "OAuth" Тогда
Профиль.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать;
Профиль.ТокенДоступа = ТокенДоступа;
КонецЕсли;
@@ -580,7 +580,7 @@
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>СпособАутентификации</segments>
<segments>ВариантАутентификации</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
@@ -639,7 +639,7 @@
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>СпособАутентификации</segments>
<segments>ВариантАутентификации</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
@@ -2200,7 +2200,7 @@
</edit>
</attributes>
<attributes>
<name>СпособАутентификации</name>
<name>ВариантАутентификации</name>
<title>
<key>ru</key>
<value>Способ аутентификации</value>
@@ -334,7 +334,7 @@
&НаКлиенте
Процедура СпособАутентификацииПриИзменении(Элемент)
Объект.АвторизацияСПомощьюПочтовогоСервиса = СпособАутентификации = "OAuth";
Объект.АвторизацияСПомощьюПочтовогоСервиса = ВариантАутентификации = "OAuth";
#Если МобильныйКлиент Тогда
Элементы.Пароль.Видимость = Не Объект.АвторизацияСПомощьюПочтовогоСервиса;
@@ -605,7 +605,7 @@
Если ТолькоАвторизация Тогда
Если Результат <> Истина Тогда
Объект.АвторизацияСПомощьюПочтовогоСервиса = Ложь;
СпособАутентификации = "Пароль";
ВариантАутентификации = "Пароль";
#Если МобильныйКлиент Тогда
Элементы.Пароль.Видимость = Не Объект.АвторизацияСПомощьюПочтовогоСервиса;
#Иначе
@@ -674,9 +674,9 @@
Элементы.ФормаОткрытьПомощникНастройки.Доступность = Не Объект.Ссылка.Пустая() И Не ТолькоПросмотр;
Если Объект.АвторизацияСПомощьюПочтовогоСервиса Тогда
СпособАутентификации = "OAuth";
ВариантАутентификации = "OAuth";
Иначе
СпособАутентификации = "Пароль";
ВариантАутентификации = "Пароль";
КонецЕсли;
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
@@ -293,6 +293,10 @@
<items xsi:type="form:FormField">
<name>ДеревоАнкетыПолныйКод</name>
<id>72</id>
<title>
<key>ru</key>
<value>Полный код</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -1959,6 +1963,10 @@
</columns>
<columns>
<name>ПолныйКод</name>
<title>
<key>ru</key>
<value>Полный код</value>
</title>
<id>19</id>
<valueType>
<types>String</types>
@@ -754,7 +754,9 @@
КонецЕсли;
МодульЭлектроннаяПодписьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиент");
МодульЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных,,ОписаниеОповещения);
ПараметрыПодписи = МодульЭлектроннаяПодписьКлиент.НовыйТипПодписи();
ПараметрыПодписи.ВыборДоверенности = Истина;
МодульЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных,,ОписаниеОповещения, ПараметрыПодписи);
КонецЕсли;
КонецПроцедуры
@@ -766,8 +768,7 @@
Возврат;
КонецЕсли;
Вложения = ПолучитьФайлыПодписей(РезультатПодписания, ПереводитьИменаФайловВТранслит);
Вложения = ПоместитьФайлыВАрхив(Вложения, Контекст.ПараметрыОтправки.ДополнительныеПараметры.НастройкиСохранения);
Вложения = ПолучитьФайлыПодписейИПоместитьВАрхив(РезультатПодписания, ПереводитьИменаФайловВТранслит, Контекст.ПараметрыОтправки.ДополнительныеПараметры.НастройкиСохранения);
Результат = Контекст.Результат;
Результат.Вложения.Очистить();
@@ -779,59 +780,27 @@
КонецПроцедуры
&НаСервере
Функция ПолучитьФайлыПодписей(РезультатПодписания, ПереводитьИменаФайловВТранслит)
Если РезультатПодписания.Свойство("НаборДанных") Тогда
НаборДанных = РезультатПодписания.НаборДанных;
Иначе
НаборДанных = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(РезультатПодписания);
КонецЕсли;
Функция ПолучитьФайлыПодписейИПоместитьВАрхив(РезультатПодписания, ПереводитьИменаФайловВТранслит, НастройкиСохранения)
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
МодульЭлектроннаяПодписьСлужебныйКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйКлиентСервер");
РасширениеДляФайловПодписи = МодульЭлектроннаяПодпись.ПерсональныеНастройки().РасширениеДляФайловПодписи;
КомуВыданСертификат = РезультатПодписания.ВыбранныйСертификат.Ссылка.КомуВыдан;
Если ПереводитьИменаФайловВТранслит Тогда
КомуВыданСертификат = СтроковыеФункции.СтрокаЛатиницей(КомуВыданСертификат);
КонецЕсли;
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
Результат = Новый Массив;
Для Каждого ПодписанныйФайл Из НаборДанных Цикл
ПараметрыПолученияФайлов = МодульЭлектроннаяПодписьСлужебный.ПараметрыПолученияФайлов();
ПараметрыПолученияФайлов.ПереводитьИменаФайловВТранслит = ПереводитьИменаФайловВТранслит;
Файлы = МодульЭлектроннаяПодписьСлужебный.ПолучитьФайлыИзРезультатаПодписания(
РезультатПодписания, ПараметрыПолученияФайлов, УникальныйИдентификатор);
ФайлыВоВременномХранилище = Новый Массив;
Для Каждого Файл Из Файлы Цикл
СтруктураОписанияФайла = Новый Структура("АдресВоВременномХранилище, Представление, Идентификатор, Кодировка");
СтруктураОписанияФайла.АдресВоВременномХранилище = ПодписанныйФайл.Данные;
СтруктураОписанияФайла.Представление = ПодписанныйФайл.Представление;
Результат.Добавить(СтруктураОписанияФайла);
Файл = Новый Файл(ПодписанныйФайл.Представление);
СвойстваПодписи = ПодписанныйФайл.СвойстваПодписи;
ДанныеПодписи = ПоместитьВоВременноеХранилище(СвойстваПодписи.Подпись, УникальныйИдентификатор);
ИмяФайлаПодписи = МодульЭлектроннаяПодписьСлужебныйКлиентСервер.ИмяФайлаПодписи(Файл.ИмяБезРасширения,
Строка(КомуВыданСертификат), РасширениеДляФайловПодписи);
СтруктураОписанияФайла = Новый Структура("АдресВоВременномХранилище, Представление, Идентификатор, Кодировка");
СтруктураОписанияФайла.АдресВоВременномХранилище = ДанныеПодписи;
СтруктураОписанияФайла.Представление = ИмяФайлаПодписи;
Результат.Добавить(СтруктураОписанияФайла);
ДанныеПоСертификату = ПоместитьВоВременноеХранилище(СвойстваПодписи.Сертификат, УникальныйИдентификатор);
Если ТипЗнч(СвойстваПодписи.Сертификат) = Тип("Строка") Тогда
РасширениеСертификата = "txt";
Иначе
РасширениеСертификата = "cer";
КонецЕсли;
ИмяФайлаСертификата = МодульЭлектроннаяПодписьСлужебныйКлиентСервер.ИмяФайлаСертификата(Файл.ИмяБезРасширения,
Строка(КомуВыданСертификат), РасширениеСертификата);
СтруктураОписанияФайла = Новый Структура("АдресВоВременномХранилище, Представление, Идентификатор, Кодировка");
СтруктураОписанияФайла.АдресВоВременномХранилище = ДанныеПоСертификату;
СтруктураОписанияФайла.Представление = ИмяФайлаСертификата;
Результат.Добавить(СтруктураОписанияФайла);
СтруктураОписанияФайла.АдресВоВременномХранилище = Файл.Данные;
СтруктураОписанияФайла.Представление = Файл.ИмяФайла;
ФайлыВоВременномХранилище.Добавить(СтруктураОписанияФайла);
КонецЦикла;
Возврат Результат;
ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, НастройкиСохранения);
Возврат ФайлыВоВременномХранилище;
КонецФункции
&НаСервере
@@ -3357,7 +3357,7 @@
<id>450</id>
<title>
<key>ru</key>
<value>Установить расширение для работы с криптографией</value>
<value>Установить расширение для работы с 1С:Предприятием</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -1080,10 +1080,7 @@
Процедура ОбработчикОжиданияОпределитьУстановленныеПрограммыПослеПодключенияРасширения(Подключено, Контекст) Экспорт
Если Не Подключено Тогда
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = Истина;
Элементы.ДекорацияПроверкаУстановкиКриптопровайдера.Заголовок = СтроковыеФункцииКлиент.ФорматированнаяСтрока(
НСтр("ru = '<a href = ""%1"">Нажмите здесь</a>, чтобы установить расширение для работы с электронной подписью и увидеть все приложения электронной подписи и шифрования, установленные на компьютере.'"),
"ПроверитьУстановкуПрограммКриптографии");
ПоказатьЗаголовокДляУстановкиРасширения();
ПодключитьОбработчикОжидания("ОбработчикОжиданияОпределитьУстановленныеПрограммы", 3, Истина);
Возврат;
КонецЕсли;
@@ -1111,10 +1108,7 @@
Подключено = Ждать ПодключитьРасширениеРаботыСКриптографиейАсинх();
Если Не Подключено Тогда
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = Истина;
Элементы.ДекорацияПроверкаУстановкиКриптопровайдера.Заголовок = СтроковыеФункцииКлиент.ФорматированнаяСтрока(
НСтр("ru = '<a href = ""%1"">Нажмите здесь</a>, чтобы установить расширение для работы с электронной подписью и увидеть все приложения электронной подписи и шифрования, установленные на компьютере.'"),
"ПроверитьУстановкуПрограммКриптографии");
ПоказатьЗаголовокДляУстановкиРасширения();
КонецЕсли;
Контекст = Новый Структура;
@@ -1125,6 +1119,14 @@
КонецПроцедуры
&НаКлиенте
Процедура ПоказатьЗаголовокДляУстановкиРасширения()
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = Истина;
Элементы.ДекорацияПроверкаУстановкиКриптопровайдера.Заголовок = СтроковыеФункцииКлиент.ФорматированнаяСтрока(
НСтр("ru = '<a href = ""%1"">Нажмите здесь</a> для установки расширения для работы с 1С:Предприятием, чтобы работать с электронной подписью.'"),
"ПроверитьУстановкуПрограммКриптографии");
КонецПроцедуры
// Продолжение процедуры ОбработчикОжиданияОпределитьУстановленныеПрограммы.
&НаКлиенте
Процедура ОбработчикОжиданияОпределитьУстановленныеПрограммыЦиклНачало(Контекст)
@@ -222,7 +222,16 @@
ДополнительныеПараметры = Новый Структура("ОбработкаРезультата", ОповещениеЗавершенияПодписания);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПодписатьФайл(ЗаписанныеОбъекты, УникальныйИдентификатор, ДополнительныеПараметры);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиент");
ПараметрыПодписи = МодульЭлектроннаяПодписьКлиент.НовыйТипПодписи();
ПараметрыПодписи.ВыборДоверенности = Истина;
Иначе
ПараметрыПодписи = Неопределено;
КонецЕсли;
МодульРаботаСФайламиКлиент.ПодписатьФайл(ЗаписанныеОбъекты, УникальныйИдентификатор, ДополнительныеПараметры,
ПараметрыПодписи);
КонецЕсли;
КонецПроцедуры
@@ -238,15 +247,15 @@
&НаКлиенте
Процедура ПодписатьФайлы(ФайлыВоВременномХранилище, Контекст)
Если Контекст.Действие = "СохранитьВПапку" Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеПодписанияСохранитьВПапку", ЭтотОбъект, Контекст);
ИначеЕсли Контекст.Действие = "ОтправкаПисьма" Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеПодписанияОтправитьПоПочте", ЭтотОбъект, Контекст);
Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
Возврат;
КонецЕсли;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
ОписаниеДанных = Новый Структура;
ОписаниеДанных.Вставить("ПоказатьКомментарий", Ложь);
Соответствие = Новый Соответствие;
Если ФайлыВоВременномХранилище.Количество() > 1 Тогда
ОписаниеДанных.Вставить("Операция", НСтр("ru = 'Подписание файлов'"));
ОписаниеДанных.Вставить("ЗаголовокДанных", НСтр("ru = 'Файлы'"));
@@ -256,8 +265,9 @@
ОписаниеДанныхФайла = Новый Структура;
ОписаниеДанныхФайла.Вставить("Представление", Файл.Представление);
ОписаниеДанныхФайла.Вставить("Данные", Файл.АдресВоВременномХранилище);
ОписаниеДанныхФайла.Вставить("ОбъектПечати", Файл.ОбъектПечати);
НаборДанных.Добавить(ОписаниеДанныхФайла);
Соответствие.Вставить(Файл.АдресВоВременномХранилище, Файл.ОбъектПечати);
КонецЦикла;
ОписаниеДанных.Вставить("НаборДанных", НаборДанных);
@@ -268,71 +278,49 @@
ОписаниеДанных.Вставить("ЗаголовокДанных", НСтр("ru = 'Файл'"));
ОписаниеДанных.Вставить("Представление", Файл.Представление);
ОписаниеДанных.Вставить("Данные", Файл.АдресВоВременномХранилище);
ОписаниеДанных.Вставить("ОбъектПечати", Файл.ОбъектПечати);
Соответствие.Вставить(Файл.АдресВоВременномХранилище, Файл.ОбъектПечати);
КонецЕсли;
МодульЭлектроннаяПодписьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиент");
МодульЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных,,ОписаниеОповещения);
ПараметрыПодписи = МодульЭлектроннаяПодписьКлиент.НовыйТипПодписи();
ПараметрыПодписи.ВыборДоверенности = Истина;
Контекст.Вставить("СоответствиеФайловОбъектамПечати", Соответствие);
Если Контекст.Действие = "СохранитьВПапку" Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеПодписанияСохранитьВПапку", ЭтотОбъект, Контекст);
ИначеЕсли Контекст.Действие = "ОтправкаПисьма" Тогда
ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеПодписанияОтправитьПоПочте", ЭтотОбъект, Контекст);
КонецЕсли;
МодульЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных,, ОписаниеОповещения, ПараметрыПодписи);
КонецПроцедуры
&НаСервере
Функция ПолучитьФайлыПодписей(СтруктураПодписания, ПереводитьИменаФайловВТранслит)
Если СтруктураПодписания.Свойство("НаборДанных") Тогда
НаборДанных = СтруктураПодписания.НаборДанных;
Иначе
НаборДанных = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(СтруктураПодписания);
КонецЕсли;
Функция ПолучитьФайлыПодписейИПоместитьВАрхив(РезультатПодписания, ПереданныеНастройки, СоответствиеФайловОбъектамПечати)
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
МодульЭлектроннаяПодписьСлужебныйКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйКлиентСервер");
РасширениеДляФайловПодписи = МодульЭлектроннаяПодпись.ПерсональныеНастройки().РасширениеДляФайловПодписи;
КомуВыданСертификат = СтруктураПодписания.ВыбранныйСертификат.Ссылка.КомуВыдан;
Если ПереводитьИменаФайловВТранслит Тогда
КомуВыданСертификат = СтроковыеФункции.СтрокаЛатиницей(КомуВыданСертификат);
КонецЕсли;
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
Результат = Новый Массив;
Для Каждого ПодписанныйФайл Из НаборДанных Цикл
ПараметрыПолученияФайлов = МодульЭлектроннаяПодписьСлужебный.ПараметрыПолученияФайлов();
ПараметрыПолученияФайлов.ПереводитьИменаФайловВТранслит = ПереданныеНастройки.ПереводитьИменаФайловВТранслит;
Файлы = МодульЭлектроннаяПодписьСлужебный.ПолучитьФайлыИзРезультатаПодписания(
РезультатПодписания, ПараметрыПолученияФайлов, УникальныйИдентификатор);
ФайлыВоВременномХранилище = Новый Массив;
Для Каждого Файл Из Файлы Цикл
СтруктураОписанияФайла = Новый Структура("АдресВоВременномХранилище, Представление, ОбъектПечати");
СтруктураОписанияФайла.АдресВоВременномХранилище = ПодписанныйФайл.Данные;
СтруктураОписанияФайла.Представление = ПодписанныйФайл.Представление;
СтруктураОписанияФайла.ОбъектПечати = ПодписанныйФайл.ОбъектПечати;
Результат.Добавить(СтруктураОписанияФайла);
Файл = Новый Файл(ПодписанныйФайл.Представление);
СвойстваПодписи = ПодписанныйФайл.СвойстваПодписи;
ДанныеПодписи = ПоместитьВоВременноеХранилище(СвойстваПодписи.Подпись, УникальныйИдентификатор);
ИмяФайлаПодписи = МодульЭлектроннаяПодписьСлужебныйКлиентСервер.ИмяФайлаПодписи(Файл.ИмяБезРасширения,
Строка(КомуВыданСертификат), РасширениеДляФайловПодписи);
СтруктураОписанияФайла = Новый Структура("АдресВоВременномХранилище, Представление, ОбъектПечати");
СтруктураОписанияФайла.АдресВоВременномХранилище = ДанныеПодписи;
СтруктураОписанияФайла.Представление = ИмяФайлаПодписи;
СтруктураОписанияФайла.ОбъектПечати = ПодписанныйФайл.ОбъектПечати;
Результат.Добавить(СтруктураОписанияФайла);
ДанныеПоСертификату = ПоместитьВоВременноеХранилище(СвойстваПодписи.Сертификат, УникальныйИдентификатор);
Если ТипЗнч(СвойстваПодписи.Сертификат) = Тип("Строка") Тогда
РасширениеСертификата = "txt";
Иначе
РасширениеСертификата = "cer";
КонецЕсли;
ИмяФайлаСертификата = МодульЭлектроннаяПодписьСлужебныйКлиентСервер.ИмяФайлаСертификата(Файл.ИмяБезРасширения,
Строка(КомуВыданСертификат), РасширениеСертификата);
СтруктураОписанияФайла = Новый Структура("АдресВоВременномХранилище, Представление, ОбъектПечати");
СтруктураОписанияФайла.АдресВоВременномХранилище = ДанныеПоСертификату;
СтруктураОписанияФайла.Представление = ИмяФайлаСертификата;
СтруктураОписанияФайла.ОбъектПечати = ПодписанныйФайл.ОбъектПечати;
Результат.Добавить(СтруктураОписанияФайла);
СтруктураОписанияФайла.АдресВоВременномХранилище = Файл.Данные;
СтруктураОписанияФайла.Представление = Файл.ИмяФайла;
СтруктураОписанияФайла.ОбъектПечати = СоответствиеФайловОбъектамПечати.Получить(Файл.Данные);
ФайлыВоВременномХранилище.Добавить(СтруктураОписанияФайла);
КонецЦикла;
Возврат Результат;
ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, ПереданныеНастройки);
Возврат ФайлыВоВременномХранилище;
КонецФункции
&НаКлиенте
@@ -341,8 +329,9 @@
Возврат;
КонецЕсли;
ФайлыВоВременномХранилище = ПолучитьФайлыПодписей(Результат, Контекст.ВыбранноеЗначение.ПереводитьИменаФайловВТранслит);
ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, Контекст.ВыбранноеЗначение);
ФайлыВоВременномХранилище = ПолучитьФайлыПодписейИПоместитьВАрхив(
Результат, Контекст.ВыбранноеЗначение, Контекст.СоответствиеФайловОбъектамПечати);
СохранитьПечатныеФормыВКаталог(ФайлыВоВременномХранилище, Контекст.ВыбранноеЗначение.ПапкаДляСохранения);
ПоказатьОповещениеПользователя(, , НСтр("ru = 'Подписание и сохранение завершено'"), БиблиотекаКартинок.ДиалогИнформация);
КонецПроцедуры
@@ -353,8 +342,8 @@
Возврат;
КонецЕсли;
ФайлыВоВременномХранилище = ПолучитьФайлыПодписей(Результат, Контекст.ВыбранноеЗначение.ПереводитьИменаФайловВТранслит);
ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, Контекст.ВыбранноеЗначение);
ФайлыВоВременномХранилище = ПолучитьФайлыПодписейИПоместитьВАрхив(
Результат, Контекст.ВыбранноеЗначение, Контекст.СоответствиеФайловОбъектамПечати);
ПараметрыОтправки = ПараметрыОтправкиПисьма(Контекст.ВыбранноеЗначение, ФайлыВоВременномХранилище);
@@ -1252,7 +1241,7 @@
ПолноеИмяФайла = ФайловаяСистема.УникальноеИмяФайла(ПолноеИмяФайла);
ДанныеФайла.Записать(ПолноеИмяФайла);
ОбъектПечати = ?(УстанавливатьОбъектПечати, СтруктураФайла.ОбъектПечати, Неопределено);
ОбъектПечати = ?(УстанавливатьОбъектПечати И ЗначениеЗаполнено(СтруктураФайла.ОбъектПечати), СтруктураФайла.ОбъектПечати, Неопределено);
Если СоответствиеДляАрхивов[ОбъектПечати] = Неопределено Тогда
ИмяАрхива = ПолучитьИмяВременногоФайла("zip");
@@ -792,16 +792,28 @@
ДополнительныеПараметры = Новый Структура("ОбработкаРезультата", ОповещениеЗавершенияПодписания);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
МодульРаботаСФайламиКлиент.ПодписатьФайл(ЗаписанныеОбъекты, УникальныйИдентификатор, ДополнительныеПараметры);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиент");
ПараметрыПодписи = МодульЭлектроннаяПодписьКлиент.НовыйТипПодписи();
ПараметрыПодписи.ВыборДоверенности = Истина;
Иначе
ПараметрыПодписи = Неопределено;
КонецЕсли;
МодульРаботаСФайламиКлиент.ПодписатьФайл(ЗаписанныеОбъекты, УникальныйИдентификатор, ДополнительныеПараметры, ПараметрыПодписи);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПодписатьФайлы(ФайлыВоВременномХранилище, ПараметрыВыбора)
ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеОбработкиВыбора", ЭтотОбъект, ПараметрыВыбора);
Если Не ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
Возврат;
КонецЕсли;
Соответствие = Новый Соответствие;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
ОписаниеДанных = Новый Структура;
ОписаниеДанных.Вставить("ПоказатьКомментарий", Ложь);
Если ФайлыВоВременномХранилище.Количество() > 1 Тогда
@@ -813,7 +825,9 @@
ОписаниеДанныхФайла = Новый Структура;
ОписаниеДанныхФайла.Вставить("Представление", Файл.Представление);
ОписаниеДанныхФайла.Вставить("Данные", Файл.АдресВоВременномХранилище);
ОписаниеДанныхФайла.Вставить("ОбъектПечати", Файл.ОбъектПечати);
Соответствие.Вставить(Файл.АдресВоВременномХранилище, Файл.ОбъектПечати);
НаборДанных.Добавить(ОписаниеДанныхФайла);
КонецЦикла;
@@ -825,12 +839,19 @@
ОписаниеДанных.Вставить("ЗаголовокДанных", НСтр("ru = 'Файл'"));
ОписаниеДанных.Вставить("Представление", Файл.Представление);
ОписаниеДанных.Вставить("Данные", Файл.АдресВоВременномХранилище);
ОписаниеДанных.Вставить("ОбъектПечати", Файл.ОбъектПечати);
Соответствие.Вставить(Файл.АдресВоВременномХранилище, Файл.ОбъектПечати);
КонецЕсли;
МодульЭлектроннаяПодписьКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиент");
МодульЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных,,ОписаниеОповещения);
КонецЕсли;
ПараметрыПодписи = МодульЭлектроннаяПодписьКлиент.НовыйТипПодписи();
ПараметрыПодписи.ВыборДоверенности = Истина;
ПараметрыВыбора.Вставить("СоответствиеФайловОбъектамПечати", Соответствие);
ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеОбработкиВыбора", ЭтотОбъект, ПараметрыВыбора);
МодульЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных,, ОписаниеОповещения, ПараметрыПодписи);
КонецПроцедуры
&НаКлиенте
@@ -848,8 +869,8 @@
Если ВыбранноеЗначение <> Неопределено И ВыбранноеЗначение <> КодВозвратаДиалога.Отмена Тогда
Если ВыбранноеЗначение.ВариантСохранения = "СохранитьВПапку" Тогда
Если ПараметрыВыбора.ВыбранноеЗначение.Подписать Тогда
ФайлыВоВременномХранилище = ПолучитьФайлыПодписей(Результат, ВыбранноеЗначение.ПереводитьИменаФайловВТранслит);
ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, ВыбранноеЗначение);
ФайлыВоВременномХранилище = ПолучитьФайлыПодписейИПоместитьВАрхив(
Результат, ВыбранноеЗначение, ПараметрыВыбора.СоответствиеФайловОбъектамПечати);
СохранитьПечатныеФормыВКаталог(ФайлыВоВременномХранилище, ВыбранноеЗначение.ПапкаДляСохранения);
Иначе
СохранитьПечатныеФормыВКаталог(ВыбранноеЗначение.СписокВложений, ВыбранноеЗначение.ПапкаДляСохранения);
@@ -879,8 +900,7 @@
Если ВыбранноеЗначение <> Неопределено И ВыбранноеЗначение <> КодВозвратаДиалога.Отмена Тогда
Если ВыбранноеЗначение.Подписать Тогда
ФайлыВоВременномХранилище = ПолучитьФайлыПодписей(Результат, ВыбранноеЗначение.ПереводитьИменаФайловВТранслит);
ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, ВыбранноеЗначение);
ФайлыВоВременномХранилище = ПолучитьФайлыПодписейИПоместитьВАрхив(Результат, ВыбранноеЗначение, ПараметрыВыбора.СоответствиеФайловОбъектамПечати);
ПараметрыОтправки = ПараметрыОтправкиПисьма(ВыбранноеЗначение, ФайлыВоВременномХранилище);
ОповещениеОЗакрытииФормы = Неопределено;
Иначе
@@ -902,62 +922,28 @@
КонецПроцедуры
&НаСервере
Функция ПолучитьФайлыПодписей(СтруктураПодписания, ПереводитьИменаФайловВТранслит)
Если СтруктураПодписания.Свойство("НаборДанных") Тогда
НаборДанных = СтруктураПодписания.НаборДанных;
Иначе
НаборДанных = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(СтруктураПодписания);
КонецЕсли;
Функция ПолучитьФайлыПодписейИПоместитьВАрхив(РезультатПодписания, ПереданныеНастройки, СоответствиеФайловОбъектамПечати)
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
МодульЭлектроннаяПодписьСлужебныйКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйКлиентСервер");
РасширениеДляФайловПодписи = МодульЭлектроннаяПодпись.ПерсональныеНастройки().РасширениеДляФайловПодписи;
КомуВыданСертификат = СтруктураПодписания.ВыбранныйСертификат.Ссылка.КомуВыдан;
Если ПереводитьИменаФайловВТранслит Тогда
КомуВыданСертификат = СтроковыеФункции.СтрокаЛатиницей(КомуВыданСертификат);
КонецЕсли;
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
Результат = Новый Массив;
Для Каждого ПодписанныйФайл Из НаборДанных Цикл
ПараметрыПолученияФайлов = МодульЭлектроннаяПодписьСлужебный.ПараметрыПолученияФайлов();
ПараметрыПолученияФайлов.ПереводитьИменаФайловВТранслит = ПереданныеНастройки.ПереводитьИменаФайловВТранслит;
Файлы = МодульЭлектроннаяПодписьСлужебный.ПолучитьФайлыИзРезультатаПодписания(
РезультатПодписания, ПараметрыПолученияФайлов, УникальныйИдентификатор);
ФайлыВоВременномХранилище = Новый Массив;
Для Каждого Файл Из Файлы Цикл
СтруктураОписанияФайла = Новый Структура("АдресВоВременномХранилище, Представление, ОбъектПечати");
СтруктураОписанияФайла.АдресВоВременномХранилище = ПодписанныйФайл.Данные;
СтруктураОписанияФайла.Представление = ПодписанныйФайл.Представление;
СтруктураОписанияФайла.ОбъектПечати = ПодписанныйФайл.ОбъектПечати;
Результат.Добавить(СтруктураОписанияФайла);
Файл = Новый Файл(ПодписанныйФайл.Представление);
СвойстваПодписи = ПодписанныйФайл.СвойстваПодписи;
ДанныеПодписи = ПоместитьВоВременноеХранилище(СвойстваПодписи.Подпись, УникальныйИдентификатор);
ИмяФайлаПодписи = МодульЭлектроннаяПодписьСлужебныйКлиентСервер.ИмяФайлаПодписи(Файл.ИмяБезРасширения,
Строка(КомуВыданСертификат), РасширениеДляФайловПодписи);
СтруктураОписанияФайла = Новый Структура("АдресВоВременномХранилище, Представление, ОбъектПечати");
СтруктураОписанияФайла.АдресВоВременномХранилище = ДанныеПодписи;
СтруктураОписанияФайла.Представление = ИмяФайлаПодписи;
СтруктураОписанияФайла.ОбъектПечати = ПодписанныйФайл.ОбъектПечати;
Результат.Добавить(СтруктураОписанияФайла);
ДанныеПоСертификату = ПоместитьВоВременноеХранилище(СвойстваПодписи.Сертификат, УникальныйИдентификатор);
Если ТипЗнч(СвойстваПодписи.Сертификат) = Тип("Строка") Тогда
РасширениеСертификата = "txt";
Иначе
РасширениеСертификата = "cer";
КонецЕсли;
ИмяФайлаСертификата = МодульЭлектроннаяПодписьСлужебныйКлиентСервер.ИмяФайлаСертификата(Файл.ИмяБезРасширения,
Строка(КомуВыданСертификат), РасширениеСертификата);
СтруктураОписанияФайла = Новый Структура("АдресВоВременномХранилище, Представление, ОбъектПечати");
СтруктураОписанияФайла.АдресВоВременномХранилище = ДанныеПоСертификату;
СтруктураОписанияФайла.Представление = ИмяФайлаСертификата;
СтруктураОписанияФайла.ОбъектПечати = ПодписанныйФайл.ОбъектПечати;
Результат.Добавить(СтруктураОписанияФайла);
СтруктураОписанияФайла.АдресВоВременномХранилище = Файл.Данные;
СтруктураОписанияФайла.Представление = Файл.ИмяФайла;
СтруктураОписанияФайла.ОбъектПечати = СоответствиеФайловОбъектамПечати.Получить(Файл.Данные);
ФайлыВоВременномХранилище.Добавить(СтруктураОписанияФайла);
КонецЦикла;
Возврат Результат;
ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, ПереданныеНастройки);
Возврат ФайлыВоВременномХранилище;
КонецФункции
&НаСервере
@@ -1267,7 +1253,7 @@
ПолноеИмяФайла = ИмяВременногоКаталога + СтруктураФайла.Представление;
ДанныеФайла.Записать(ПолноеИмяФайла);
ОбъектПечати = ?(УстанавливатьОбъектПечати, СтруктураФайла.ОбъектПечати, Неопределено);
ОбъектПечати = ?(УстанавливатьОбъектПечати И ЗначениеЗаполнено(СтруктураФайла.ОбъектПечати), СтруктураФайла.ОбъектПечати, Неопределено);
Если СоответствиеДляАрхивов[ОбъектПечати] = Неопределено Тогда
ИмяАрхива = ПолучитьИмяВременногоФайла("zip");
@@ -43,6 +43,16 @@
ПользовательИБПолноправный
ИЛИ Параметры.Пользователь = Пользователи.АвторизованныйПользователь();
Если ТипЗнч(Параметры.Пользователь) = Тип("СправочникСсылка.ГруппыПользователей")
Или ТипЗнч(Параметры.Пользователь) = Тип("СправочникСсылка.ГруппыВнешнихПользователей") Тогда
Элементы.ФормаОтчетПраваПользователя.Видимость = Ложь;
Иначе
Элементы.ФормаОтчетПраваПользователя.Видимость =
ПользовательИБПолноправный
ИЛИ Параметры.Пользователь = Пользователи.АвторизованныйПользователь();
КонецЕсли;
// Настройка команд для не полноправного пользователя.
Элементы.ФормаВключитьВГруппу.Видимость = ПользовательИБОтветственный;
Элементы.ФормаИсключитьИзГруппы.Видимость = ПользовательИБОтветственный;
@@ -92,11 +102,6 @@
Элементы.ГруппыДоступаИсключитьИзГруппы.Доступность = Ложь;
КонецЕсли;
Если ТипЗнч(Параметры.Пользователь) = Тип("СправочникСсылка.ГруппыПользователей")
Или ТипЗнч(Параметры.Пользователь) = Тип("СправочникСсылка.ГруппыВнешнихПользователей") Тогда
Элементы.ФормаОтчетПраваПользователя.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
@@ -46,6 +46,7 @@
Элементы.ФормаЗаписать.Видимость = Ложь;
Иначе
Элементы.ФормаЗаписать.Видимость = Ложь;
Элементы.ФормаОтчетПраваПользователя.Видимость = Ложь;
Элементы.ФормаОтчетПраваДоступа.Видимость = Ложь;
Элементы.ПраваИОграничения.Видимость = Ложь;
Элементы.НедостаточноПравНаПросмотр.Видимость = Истина;
@@ -518,10 +518,16 @@
&НаКлиенте
Процедура СохранитьВФайлПродолжение(Результат, ДополнительныеПараметры) Экспорт
Макет = МакетИзВременногоХранилища();
ПодготовитьМакетКСохранению(Макет);
АдресМакетаВоВременномХранилище = ПоместитьВоВременноеХранилище(Макет, УникальныйИдентификатор);
ПараметрыСохранения = ФайловаяСистемаКлиент.ПараметрыСохраненияФайла();
ПараметрыСохранения.Диалог.Заголовок = НСтр("ru = 'Выберите офисный документ'");
ПараметрыСохранения.Диалог.Заголовок = НСтр("ru = 'Сохранение макета в файл'");
ПараметрыСохранения.Диалог.Фильтр = НСтр("ru = 'Офисный документ'") + " (*.docx)|*.docx";
ФайловаяСистемаКлиент.СохранитьФайл(Неопределено, АдресФайлаМакета,,ПараметрыСохранения);
ФайловаяСистемаКлиент.СохранитьФайл(Неопределено, АдресМакетаВоВременномХранилище, ИмяДокумента, ПараметрыСохранения);
КонецПроцедуры
&НаКлиенте
@@ -325,11 +325,12 @@
Отказ = Ложь;
ПомощникСозданияОбменаДанными = Обработки["ПомощникСозданияОбменаДанными"].Создать();
МодульПомощникСозданияОбменаДанными = ОбщегоНазначения.ОбщийМодуль("Обработки.ПомощникСозданияОбменаДанными");
ПомощникСозданияОбменаДанными = МодульПомощникСозданияОбменаДанными.Создать();
ПомощникСозданияОбменаДанными.Инициализация(ПараметрыЗадания.Узел);
Попытка
Обработки["ПомощникСозданияОбменаДанными"].ВыгрузитьНастройкиПодключенияДляПодчиненногоУзлаРИБ(
МодульПомощникСозданияОбменаДанными.ВыгрузитьНастройкиПодключенияДляПодчиненногоУзлаРИБ(
ПомощникСозданияОбменаДанными);
Исключение
Отказ = Истина;
@@ -8717,6 +8717,12 @@
<valueType/>
<keyParameter>true</keyParameter>
</parameters>
<parameters>
<name>Неконтекстный</name>
<valueType>
<types>Boolean</types>
</valueType>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -4247,7 +4247,7 @@
Настройки = ВариантыОтчетов.НастройкиФормыОтчета(Параметры.Отчет, КлючТекущегоВарианта, ОтчетОбъект);
Настройки.АдресСхемы = АдресСхемыОтчета(ОтчетОбъект);
Настройки.Контекстный = ЗначениеЗаполнено(КонтекстВарианта);
Настройки.Контекстный = ЗначениеЗаполнено(КонтекстВарианта) И Не Параметры.Неконтекстный;
Настройки.Подсистема = ФормаПараметры.Подсистема;
Настройки.ИспользуемыеТаблицы = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "ИспользуемыеТаблицы");
Настройки.СобытияНастроек = СобытияНастроек();
@@ -2666,6 +2666,7 @@
КомандыОтчетов = Команды.СкопироватьКолонки();
КомандыОтчетов.Колонки.Добавить("КлючВарианта", Новый ОписаниеТипов("Строка, Null"));
КомандыОтчетов.Колонки.Добавить("Обработана", Новый ОписаниеТипов("Булево"));
КомандыОтчетов.Колонки.Добавить("Неконтекстный", Новый ОписаниеТипов("Булево"));
КомандыОтчетов.Индексы.Добавить("Обработана");
СтандартнаяОбработка = Источники.Строки.Количество() > 0;
@@ -2734,6 +2735,7 @@
Команда.ПараметрыФормы = Новый Структура;
КонецЕсли;
Команда.ПараметрыФормы.Вставить("КлючВарианта", КомандаОтчетов.КлючВарианта);
Команда.ПараметрыФормы.Вставить("Неконтекстный", КомандаОтчетов.Неконтекстный);
Если ПустаяСтрока(Команда.Обработчик) И Не Команда.ПараметрыФормы.Свойство("СформироватьПриОткрытии") Тогда
Команда.ПараметрыФормы.Вставить("СформироватьПриОткрытии", Истина);
КонецЕсли;
@@ -260,6 +260,8 @@
// - Неопределено - если Истина, то команда поддерживает множественный выбор.
// В этом случае в параметре выполнения будет передан список ссылок.
// Необязательный. Значение по умолчанию: Истина.
// * Неконтекстный - Булево - если Истина, то будут доступны для выбора другие варианты этого отчета,
// возможность добавления в избранное, получение ссылки на вариант отчета.
// * РежимЗаписи - Строка - действия, связанные с записью объекта, которые выполняются перед обработчиком команды, где:
// "НеЗаписывать" - объект не записывается, а в параметрах обработчика вместо ссылок передается
// вся форма. В этом режиме рекомендуется работать напрямую с формой,
@@ -8,14 +8,15 @@
#Область СлужебныйПрограммныйИнтерфейс
// Преобразовывает указанный пользователем телефонный номер, в формат, который принимает провайдер отправки SMS
// Возможность преобразовать указанный пользователем телефонный номер, в формат, который принимает провайдер отправки SMS
//
// Параметры:
// Номер - Строка - телефонный номер, указанный пользователем,
// НомерДляОтправки - Строка - в данный параметр помещается результат преобразования
//
Процедура ОтформатироватьТелефонныйНомерДляОтправки(Номер, НомерДляОтправки) Экспорт
Процедура ПриФорматированииТелефонногоНомераДляОтправки(Номер, НомерДляОтправки) Экспорт
// Локализация
Результат = "";
ДопустимыеСимволы = "+1234567890";
Для Позиция = 1 По СтрДлина(Номер) Цикл
@@ -35,26 +36,43 @@
КонецЕсли;
НомерДляОтправки = Результат;
// Конец Локализация
КонецПроцедуры
// Формирует соответствие идентичных (подменяемых) доменов электронной почты.
// Возможность дополнить массив имен папок, которые будут игнорироваться при загрузке писем с почтового сервера по
// протоколу IMAP.
//
// Параметры:
// ИменаПапок - Массив Из Строка - массив имен игнорируемых папок.
//
Процедура ПриОпределенииИгнорируемыхИменПапокПриЗагрузкеПисем(ИменаПапок) Экспорт
// Локализация
ИменаПапок.Добавить("спам");
ИменаПапок.Добавить("удаленные");
ИменаПапок.Добавить("черновики");
ИменаПапок.Добавить("корзина");
// Конец Локализация
КонецПроцедуры
// Дополняет соответствие идентичных (подменяемых) доменов электронной почты.
// Используется при определении того, что письмо отправлено на почтовый ящик отправителя.
// Может потребоваться при загрузке исходящего письма по протоколу IMAP.
// При отправке такого письма почтовый сервер мог указать в адресе отправителя другой домен.
//
// Возвращаемое значение:
// Соответствие из КлючИЗначение:
// * Ключ - Строка - имя домена на который зарегистрирована учетная запись.
// * Значение - Строка - имя домена, который указан в адресе отправителя в электронном письме
// Параметры:
// СинонимыДоменовЭлектроннойПочты - Соответствие - где ключ имя, которое нужно заменить,
// а значение имя домена, на который нужно заменить.
//
Функция СинонимыДоменовЭлектроннойПочты() Экспорт
Процедура ПриОпределенииСинонимовДоменовЭлектроннойПочты(СинонимыДоменовЭлектроннойПочты) Экспорт
Результат = Новый Соответствие;
Результат.Вставить("yandex.ru","ya.ru");
// Локализация
СинонимыДоменовЭлектроннойПочты.Вставить("yandex.ru","ya.ru");
// Конец Локализация
Возврат Результат;
КонецФункции
КонецПроцедуры
#КонецОбласти
@@ -274,6 +274,7 @@
Иначе
Объект = Справочники.ВнешниеКомпоненты.СоздатьЭлемент();
Объект.ОбновлятьСПортала1СИТС = ОбновлятьАвтоматически;
Объект.Использование = Перечисления.ВариантыИспользованияВнешнихКомпонент.Используется;
КонецЕсли;
ЗаполнитьЗначенияСвойств(Объект, Информация.Реквизиты); // По данным манифеста.
@@ -4006,6 +4006,24 @@
#КонецОбласти
#Область ПолнотекстовыйПоискСервер
// Параметры:
// МетаданныеОбъекта - ОбъектМетаданных
// Значение - Произвольный
// Представление - Строка
//
Процедура ПриПолученииРезультатовПолнотекстовогоПоиска(МетаданныеОбъекта, Значение, Представление) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
МодульУправлениеСвойствамиСлужебный = ОбщегоНазначения.ОбщийМодуль("УправлениеСвойствамиСлужебный");
МодульУправлениеСвойствамиСлужебный.ПриПолученииРезультатовПолнотекстовогоПоиска(МетаданныеОбъекта, Значение, Представление);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область Пользователи
// См. ПользователиПереопределяемый.ПриОпределенииНастроек.
@@ -727,6 +727,12 @@
КонецПроцедуры
Функция ЭтоМашиночитаемаяДоверенность(Ссылка) Экспорт
Возврат ТипЗнч(Ссылка) = Тип("СправочникСсылка.МашиночитаемыеДоверенности");
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -2823,11 +2829,12 @@
СтрокаЗапроса = "";
КонецЕсли;
Если СтрокаЗапроса + СтрокаОтвета = "" Тогда
СтрокаПоискаОшибки = ТекстОшибки;
Иначе
Если ЗначениеЗаполнено(СтрокаОтвета) Тогда
СтрокаПоискаОшибки = СтрокаЗапроса + "|" + СтрокаОтвета;
Иначе
СтрокаПоискаОшибки = ТекстОшибки;
КонецЕсли;
ОшибкаПоКлассификатору = ЭлектроннаяПодпись.ОшибкаПоКлассификатору(СтрокаПоискаОшибки, Истина);
СтруктураЗначения.Вставить("СтрокаПоискаОшибки", СтрокаПоискаОшибки);
@@ -3979,7 +3986,7 @@
КонецФункции
Функция ПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ТокенДоступа = "", ЦельПолучения = "")
Функция ПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ИННПредставителя, ТокенДоступа = "", ЦельПолучения = "")
СвойстваСервераМЧДРР = СвойстваСервераМЧДРР();
@@ -4009,10 +4016,31 @@
ТокенДоступа = РезультатАвторизации.ТокенДоступа;
КонецЕсли;
РесурсНаСервере = СвойстваСервераМЧДРР.РесурсКорняAPI + ?(СвойстваСервераМЧДРР.ИспользоватьРасширенияAPI,
"/poazip?poaNumber=" + НомерДоверенности + ?(ИННДоверителя = Неопределено, "", "&issuerInn=" + ИННДоверителя),
"/poar-webapp/integration/poa/" + НомерДоверенности
+ ?(ИННДоверителя = Неопределено, "", "/" + ИННДоверителя) + "/zip");
Если СвойстваСервераМЧДРР.ИспользоватьРасширенияAPI Тогда
АдресРесурса = СвойстваСервераМЧДРР.РесурсКорняAPI + "/poazip";
ПараметрыЗапроса = Новый Массив;
ПараметрыЗапроса.Добавить("poaNumber=" + НомерДоверенности);
Если ЗначениеЗаполнено(ИННДоверителя) Тогда
ПараметрыЗапроса.Добавить("issuerInn=" + ИННДоверителя);
КонецЕсли;
Если ЗначениеЗаполнено(ИННПредставителя) Тогда
ПараметрыЗапроса.Добавить("representativeInn=" + ИННПредставителя);
КонецЕсли;
РесурсНаСервере = АдресРесурса + "?" + СтрСоединить(ПараметрыЗапроса, "&");
Иначе
АдресРесурса = СвойстваСервераМЧДРР.РесурсКорняAPI + "/poar-webapp/integration/poa/";
ПараметрыЗапроса = Новый Массив;
ПараметрыЗапроса.Добавить(НомерДоверенности);
ПараметрыЗапроса.Добавить(ИННДоверителя);
ПараметрыЗапроса.Добавить("/zip");
РесурсНаСервере = АдресРесурса + СтрСоединить(ПараметрыЗапроса, "/");
КонецЕсли;
ЗаголовкиHTTP = Новый Соответствие();
ЗаголовкиHTTP.Вставить("Proxy-Connection", "Keep-Alive");
@@ -4119,13 +4147,13 @@
КонецФункции
Функция ЗагрузитьЦепочкуДоверенностейИзРеестра(НомерДоверенности, ИННДоверителя, ТокенДоступа = "") Экспорт
Функция ЗагрузитьЦепочкуДоверенностейИзРеестра(НомерДоверенности, ИННДоверителя, ИННПредставителя, ТокенДоступа = "") Экспорт
ЦепочкаДоверенностей = Новый Структура;
ЦепочкаДоверенностей.Вставить("ЗагруженныеФайлы", Новый Массив);
ЦепочкаДоверенностей.Вставить("Ошибка");
ПолныеДанныеДоверенностиМЧДРР = ПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ТокенДоступа);
ПолныеДанныеДоверенностиМЧДРР = ПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ИННПредставителя, ТокенДоступа);
ЦепочкаДоверенностей.Ошибка = ПолныеДанныеДоверенностиМЧДРР.Ошибка;
Если ЦепочкаДоверенностей.Ошибка <> Неопределено Тогда
@@ -4164,6 +4192,7 @@
РезультатЗагрузкиПредыдущейДоверенности = ЗагрузитьЦепочкуДоверенностейИзРеестра(
ОписаниеДоверенности.ПредыдущаяДоверенность.НомерДоверенности,
ОписаниеДоверенности.ПредыдущаяДоверенность.ИННДоверителя,
Неопределено,
ТокенДоступа);
Если РезультатЗагрузкиПредыдущейДоверенности.Ошибка = Неопределено Тогда
@@ -4179,14 +4208,14 @@
КонецФункции
Функция ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ТокенДоступа = "") Экспорт
Функция ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ИННПредставителя, ТокенДоступа = "") Экспорт
РезультатЗагрузкиИзРеестра = Новый Структура;
РезультатЗагрузкиИзРеестра.Вставить("Ошибка");
РезультатЗагрузкиИзРеестра.Вставить("Доверенность");
РезультатЗагрузкиИзРеестра.Вставить("ЦепочкаДоверенностей", Новый Массив);
ЦепочкаДоверенностей = ЗагрузитьЦепочкуДоверенностейИзРеестра(НомерДоверенности, ИННДоверителя, ТокенДоступа);
ЦепочкаДоверенностей = ЗагрузитьЦепочкуДоверенностейИзРеестра(НомерДоверенности, ИННДоверителя, ИННПредставителя, ТокенДоступа);
РезультатЗагрузкиИзРеестра.Ошибка = ЦепочкаДоверенностей.Ошибка;
Если ЗначениеЗаполнено(РезультатЗагрузкиИзРеестра.Ошибка) Тогда
@@ -8,9 +8,9 @@
#Область СлужебныеПроцедурыИФункции
Функция ЗагрузитьДоверенностьИзРеестра(Знач НомерДоверенности, Знач ИННДоверителя, ТокенДоступа = "") Экспорт
Функция ЗагрузитьДоверенностьИзРеестра(Знач НомерДоверенности, Знач ИННДоверителя, Знач ИННПредставителя, ТокенДоступа = "") Экспорт
Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ТокенДоступа);
Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ИННПредставителя, ТокенДоступа);
КонецФункции
@@ -323,9 +323,9 @@
КонецПроцедуры
Процедура ПолучитьДоверенностьИзРеестра(ОповещениеОПолучении, НомерДоверенности, ИННДоверителя) Экспорт
Процедура ПолучитьДоверенностьИзРеестра(ОповещениеОПолучении, НомерДоверенности, ИННДоверителя, ИННПредставителя) Экспорт
РезультатПолучения = МашиночитаемыеДоверенностиФНССлужебныйВызовСервера.ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя);
РезультатПолучения = МашиночитаемыеДоверенностиФНССлужебныйВызовСервера.ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ИННПредставителя);
Если ЗначениеЗаполнено(РезультатПолучения.Ошибка) Тогда
КонтекстОшибки = КонтекстДляОбработкиОшибкиРР();
КонтекстОшибки.ЗаголовокПредупреждения = РезультатПолучения.Ошибка.ЗаголовокОшибки;
@@ -45,7 +45,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.10.211";
Описание.Версия = "3.1.10.226";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -2804,6 +2804,7 @@
// - наличие в обеих коллекциях всех колонок, перечисленных в параметре ИменаКолонок
// (если ИменаКолонок не заполнен - все колонки первой коллекции должны существовать во второй коллекции).
// Также позволяет сравнивать массивы.
// Для сравнения других коллекций, а также для сравнения коллекций с учетом вложенности см. функцию ДанныеСовпадают.
//
// Параметры:
// КоллекцияСтрок1 - ТаблицаЗначений
@@ -2829,6 +2830,11 @@
// ТаблицаЗначений, СписокЗначений, Соответствие, Структура.
// Если не указан, то сравнение производится по колонкам первой коллекции.
// Для коллекций других типов является обязательным.
// Следует также учитывать, что при сравнении коллекций, содержащих вместо строк другие типы
// элементов, в качестве имен колонок можно указывать только имена свойств этих элементов.
// Для соответствий и структур это "Ключ" и "Значение", но не значения ключей.
// Для списков значений это "Значение" и "Представление", но не сами значения.
//
// ИсключаяКолонки - Строка - имена колонок, которые игнорируются при сравнении.
// УчитыватьПоследовательностьСтрок - Булево - если Истина, то коллекции признаются
// идентичными, только если одинаковые строки размещены в коллекциях на одинаковых местах.
@@ -2575,8 +2575,9 @@
КонецФункции
// Создает объект описания защищенного соединения OpenSSL.
// См. также описание объекта ЗащищенноеСоединениеOpenSSL в синтаксис-помощнике.
// Создает объект описания защищенного соединения OpenSSL или КриптоПро.
// В веб-клиенте безопасность соединения OpenSSL не обеспечивается, соединение КриптоПро не поддерживается.
// См. также описание объектов ЗащищенноеСоединениеOpenSSL и ЗащищенноеСоединениеКриптоПро в синтаксис-помощнике.
//
// Параметры:
// СертификатКлиента - СертификатКлиентаФайл
@@ -2590,12 +2591,27 @@
// ВидСоединения - Строка, Неопределено - "OpenSSL" (по умолчанию), "КриптоПро"
//
// Возвращаемое значение:
// ЗащищенноеСоединениеOpenSSL
// ЗащищенноеСоединениеOpenSSL,
// ЗащищенноеСоединениеКриптоПро
//
Функция НовоеЗащищенноеСоединение(Знач СертификатКлиента = Неопределено, Знач СертификатыУдостоверяющихЦентров = Неопределено, Знач ВидСоединения = Неопределено) Экспорт
Если ЗначениеЗаполнено(ВидСоединения) Тогда
ОжидаемыеЗначения = Новый Массив;
ОжидаемыеЗначения.Добавить("OpenSSL");
ОжидаемыеЗначения.Добавить("КриптоПро");
ПроверитьПараметр("ОбщегоНазначенияКлиентСервер.НовоеЗащищенноеСоединение", "ВидСоединения", ВидСоединения, Тип("Строка"),, ОжидаемыеЗначения);
КонецЕсли;
#Если ВебКлиент Или МобильныйКлиент Тогда
Возврат Новый ЗащищенноеСоединениеOpenSSL;
Если ВидСоединения = "КриптоПро" Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Защищенное соединение %1 недоступно в веб-клиенте.'"),
НСтр("ru = 'КриптоПро'"));
КонецЕсли;
Возврат Новый ЗащищенноеСоединениеOpenSSL; // Для обратной совместимости.
#Иначе
Если СертификатыУдостоверяющихЦентров = Неопределено Тогда
ВерсииПлатформыДляИспользованияСертификатов = "8.3.22.2470; 8.3.23.2122; 8.3.24.1446";
@@ -425,12 +425,9 @@
Функция РезультатыПолнотекстовогоПоиска(СписокПоиска)
// Разбор списка посредством выделения блока описания HTML.
СтрокиПоискаHTML = СтрокиРезультатаПоискаHTML(СписокПоиска);
Результат = Новый Массив;
// Обход строк списка поиска.
СтрокиПоискаHTML = СтрокиРезультатаПоискаHTML(СписокПоиска);
Для Индекс = 0 По СписокПоиска.Количество() - 1 Цикл
ОписаниеHTML = СтрокиПоискаHTML.ОписанияHTML.Получить(Индекс);
@@ -440,7 +437,7 @@
МетаданныеОбъекта = СтрокаСпискаПоиска.Метаданные;
Значение = СтрокаСпискаПоиска.Значение;
Переопределяемый_ПриПолученииПолнотекстовымПоиском(МетаданныеОбъекта, Значение, Представление);
ИнтеграцияПодсистемБСП.ПриПолученииРезультатовПолнотекстовогоПоиска(МетаданныеОбъекта, Значение, Представление);
Ссылка = "";
Попытка
@@ -525,35 +522,6 @@
КонецФункции
// Позволяет переопределить:
// - Значение
// - Представление
//
// См. тип данных ЭлементСпискаПолнотекстовогоПоиска
//
Процедура Переопределяемый_ПриПолученииПолнотекстовымПоиском(МетаданныеОбъекта, Значение, Представление)
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
// Для дополнительных сведений открывается форма объекта, которому принадлежит значение,
// а не формы записи в регистре сведений.
Если МетаданныеОбъекта = Метаданные.РегистрыСведений["ДополнительныеСведения"] Тогда
Значение = Значение.Объект;
МетаданныеОбъекта = Значение.Метаданные();
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1: %2'"),
ОбщегоНазначения.ПредставлениеОбъекта(МетаданныеОбъекта),
Строка(Значение));
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбновлениеИндексаПоиска
@@ -298,7 +298,7 @@
|Защищенное соединение: %2
|Таймаут: %3'"),
ТекстОшибки,
Формат(Соединение.ЗащищенноеСоединение, НСтр("ru = 'БЛ=Нет; БИ=Да'")),
Формат(Соединение.ЗащищенноеСоединение <> Неопределено, НСтр("ru = 'БЛ=Нет; БИ=Да'")),
Формат(Соединение.Таймаут, "ЧГ=0"));
ЗаписатьОшибкуВЖурналРегистрации(СообщениеОбОшибке);
@@ -502,7 +502,7 @@
|Таймаут: %3
|Аутентификация ОС: %4'"),
ТекстОшибки,
Формат(Соединение.ЗащищенноеСоединение, НСтр("ru = 'БЛ=Нет; БИ=Да'")),
Формат(Соединение.ЗащищенноеСоединение <> Неопределено, НСтр("ru = 'БЛ=Нет; БИ=Да'")),
Формат(Соединение.Таймаут, "ЧГ=0"),
Формат(Соединение.ИспользоватьАутентификациюОС, НСтр("ru = 'БЛ=Нет; БИ=Да'")));
@@ -920,52 +920,72 @@
// Возвращает пустую структуру описания пользователя ИБ.
// Назначение свойств структуры соответствует свойствам объекта ПользовательИнформационнойБазы.
//
// Параметры:
// ДляУстановки - Булево - начальное значение Истина.
// Когда Ложь, возвращаются значения свойств для нового пользователя ИБ.
// Когда Истина, тогда свойства структуры заполняются значением Неопределено, чтобы не изменять лишние свойства
// объекта ПользовательИнформационнойБазы при вызове процедуры УстановитьСвойстваПользователяИБ.
//
// Возвращаемое значение:
// Структура:
// * УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор пользователя информационной базы.
// * УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор пользователя ИБ.
// Пустой идентификатор после инициализации, непустой после успешного чтения.
// * Имя - Строка - имя пользователя информационной базы. Например, "Иванов".
// - Неопределено - означает не менять свойство при установке набора свойств.
// * ПолноеИмя - Строка - полное имя пользователя информационной базы.
// Например, "Иванов Иван Иванович (менеджер по продажам)".
// - Неопределено - означает не менять свойство при установке набора свойств.
// * АдресЭлектроннойПочты - Строка - адрес электронной почты (например, для восстановления пароля).
// - Неопределено - означает не менять свойство при установке набора свойств.
//
// * АутентификацияСтандартная - Булево - разрешена ли стандартная аутентификация (по пользователю и паролю).
// - Неопределено - означает не менять свойство при установке набора свойств.
// * ПоказыватьВСпискеВыбора - Булево - показывать ли полное имя пользователя в списке для выбора при запуске.
// * Пароль - Строка - пароль, используемый при стандартной аутентификации.
// - Неопределено - после чтения, при установке означает не менять пароль.
// - Неопределено - значение после чтения и при инициализации, также означает
// не менять свойство при установке набора свойств.
// * СохраняемоеЗначениеПароля - Строка - хранимое значение пароля (хеш).
// - Неопределено - при установке означает не менять сохраняемое значение.
// * ПарольУстановлен - Булево - установлен ли пароль у пользователя.
// - Неопределено - означает не менять свойство при установке набора свойств.
// * ПарольУстановлен - Булево - после чтения означает установлен ли пароль у пользователя,
// при установке набора свойств не учитывается.
// - Неопределено - значение при инициализации.
// * ЗапрещеноИзменятьПароль - Булево - определяет возможность пользователя изменять свой пароль.
// - Неопределено - означает не менять свойство при установке набора свойств.
// * ЗапрещеноВосстанавливатьПароль - Булево - определяет возможность пользователя восстанавливать свой пароль.
// - Неопределено - означает не менять свойство при установке набора свойств.
//
// * АутентификацияOpenID - Булево - разрешена ли аутентификация по протоколу OpenID.
// - Неопределено - означает не менять свойство при установке набора свойств.
// * АутентификацияOpenIDConnect - Булево - разрешена ли аутентификация по протоколу OpenID-Connect.
// - Неопределено - означает не менять свойство при установке набора свойств.
// * АутентификацияТокеномДоступа - Булево - разрешена ли аутентификация JWT-токеном.
// - Неопределено - означает не менять свойство при установке набора свойств.
//
// * АутентификацияОС - Булево - разрешена ли аутентификация средствами операционной системы.
// - Неопределено - означает не менять свойство при установке набора свойств.
// * ПользовательОС - Строка - имя соответствующей учетной записи пользователя операционной системы
// (не учитывается в учебной версии платформы).
// - Неопределено - означает не менять свойство при установке набора свойств.
//
// * ОсновнойИнтерфейс - Строка - имя основного интерфейса пользователя информационной базы
// (из коллекции Метаданные.Интерфейсы).
// - Неопределено
// - Неопределено - означает не менять свойство при установке набора свойств.
// * РежимЗапуска - Строка - "Авто", "ОбычноеПриложение" или "УправляемоеПриложение".
// - Неопределено
// - Неопределено - означает не менять свойство при установке набора свойств.
// * Язык - Строка - имя языка из коллекции Метаданные.Языки.
// - Неопределено
// * Роли - Массив - коллекция имен ролей пользователя информационной базы.
// - Неопределено - роли не указаны.
// - Неопределено - означает не менять свойство при установке набора свойств.
// * Роли - Массив из Строка - коллекция имен ролей пользователя информационной базы.
// - Неопределено - означает не менять свойство при установке набора свойств.
//
// * ЗащитаОтОпасныхДействий - Булево - по умолчанию Истина. Соответствует
// свойству ПредупреждатьОбОпасныхДействиях типа ЗащитаОтОпасныхДействий.
// * ЗащитаОтОпасныхДействий - Булево - соответствует свойству ПредупреждатьОбОпасныхДействиях
// типа ЗащитаОтОпасныхДействий.
// - Неопределено - означает не менять свойство при установке набора свойств.
//
Функция НовоеОписаниеПользователяИБ() Экспорт
Функция НовоеОписаниеПользователяИБ(ДляУстановки = Истина) Экспорт
// Подготовка структур возвращаемых данных.
Свойства = Новый Структура;
Свойства.Вставить("УникальныйИдентификатор", ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор());
Свойства.Вставить("Имя", "");
Свойства.Вставить("ПолноеИмя", "");
Свойства.Вставить("АдресЭлектроннойПочты", "");
@@ -991,10 +1011,18 @@
Свойства.Вставить("Язык",
?(Метаданные.ОсновнойЯзык = Неопределено, "", Метаданные.ОсновнойЯзык.Имя));
Свойства.Вставить("Роли", Неопределено);
Свойства.Вставить("Роли", Новый Массив);
Свойства.Вставить("ЗащитаОтОпасныхДействий", Истина);
Если ДляУстановки Тогда
Для Каждого КлючИЗначение Из Свойства Цикл
Свойства[КлючИЗначение.Ключ] = Неопределено;
КонецЦикла;
КонецЕсли;
Свойства.Вставить("УникальныйИдентификатор", ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор());
Возврат Свойства;
КонецФункции
@@ -1007,16 +1035,15 @@
// - УникальныйИдентификатор - имя или идентификатор пользователя ИБ.
//
// Возвращаемое значение:
// Структура, Неопределено - свойства пользователя, см. Пользователи.НовоеОписаниеПользователяИБ.
// Неопределено, если пользователь с указанным идентификатором или именем не существует.
// Структура - см. Пользователи.НовоеОписаниеПользователяИБ
// Неопределено - если пользователь с указанным идентификатором или именем не существует.
//
Функция СвойстваПользователяИБ(Знач ИмяИлиИдентификатор) Экспорт
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр("Пользователи.СвойстваПользователяИБ", "ИмяИлиИдентификатор",
ИмяИлиИдентификатор, Новый ОписаниеТипов("Строка, УникальныйИдентификатор"));
Свойства = НовоеОписаниеПользователяИБ();
Свойства.Роли = Новый Массив;
Свойства = НовоеОписаниеПользователяИБ(Ложь);
Если ТипЗнч(ИмяИлиИдентификатор) = Тип("УникальныйИдентификатор") Тогда
ПользовательИБ = ПользователиСлужебный.ПользовательИБПоИдентификатору(ИмяИлиИдентификатор);
@@ -1037,14 +1064,14 @@
КонецФункции
// Записывает новые значения свойств указанного пользователя ИБ либо создает нового пользователя ИБ.
// Записывает новые значения свойств указанному пользователю ИБ, либо создает нового пользователя ИБ.
// Если пользователь не существует, а также при попытке создания существующего пользователя будет вызвано исключение.
//
// Параметры:
// ИмяИлиИдентификатор - Строка
// - УникальныйИдентификатор - имя или уникальный идентификатор пользователя ИБ, свойства
// которого нужно установить. Либо имя нового пользователя ИБ.
// ОбновляемыеСвойства - см. Пользователи.НовоеОписаниеПользователяИБ.
// ОбновляемыеСвойства - см. Пользователи.НовоеОписаниеПользователяИБ
//
// СоздатьНового - Булево - указать Истина, чтобы создать нового пользователя ИБ с именем ИмяИлиИдентификатор.
//
@@ -1076,7 +1103,7 @@
Иначе
ПользовательИБ = Неопределено;
СтрокаСтарогоПользователяИБ = Неопределено;
СтарыеСвойства = НовоеОписаниеПользователяИБ();
СтарыеСвойства = НовоеОписаниеПользователяИБ(Ложь);
КонецЕсли;
Если Не ПользовательСуществует Тогда
@@ -1242,9 +1269,8 @@
// языка, режима запуска и ролей.
//
// Несуществующие свойства в источнике или приемнике не копируются.
//
// Свойства Пароль и СохраняемоеЗначениеПароля не копируются, если
// значение в Источнике равно Неопределено.
// Свойства со значением Неопределено в Источнике не копируются,
// кроме Источника типа ПользовательИнформационнойБазы.
//
// Свойства АутентификацияСтандартная, АутентификацияOpenID,
// АутентификацияOpenIDConnect, АутентификацияТокеномДоступа,
@@ -1341,8 +1367,7 @@
ИначеЕсли Свойство = "ОсновнойИнтерфейс" Тогда
ЗначениеСвойства = ?(Источник.ОсновнойИнтерфейс = Неопределено,
"",
Источник.ОсновнойИнтерфейс.Имя);
"", Источник.ОсновнойИнтерфейс.Имя);
ИначеЕсли Свойство = "РежимЗапуска" Тогда
ПолноеИмяЗначения = ПолучитьПолноеИмяПредопределенногоЗначения(Источник.РежимЗапуска);
@@ -1350,8 +1375,7 @@
ИначеЕсли Свойство = "Язык" Тогда
ЗначениеСвойства = ?(Источник.Язык = Неопределено,
"",
Источник.Язык.Имя);
"", Источник.Язык.Имя);
ИначеЕсли Свойство = "ЗащитаОтОпасныхДействий" Тогда
ЗначениеСвойства =
@@ -1363,7 +1387,8 @@
ЗаполнитьЗначенияСвойств(ВременнаяСтруктура, Приемник);
Если ТипЗнч(ВременнаяСтруктура.Роли) = Тип("ТаблицаЗначений") Тогда
Продолжить;
ИначеЕсли ВременнаяСтруктура.Роли = Неопределено Тогда
ИначеЕсли ВременнаяСтруктура.Роли = Неопределено
Или ТипЗнч(ВременнаяСтруктура.Роли) = Тип("Массив") Тогда
Приемник.Роли = Новый Массив;
Иначе
Приемник.Роли.Очистить();
@@ -1397,6 +1422,9 @@
Продолжить;
КонецЕсли;
КонецЕсли;
Если ЗначениеСвойства = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ТипЗнч(Приемник) = Тип("ПользовательИнформационнойБазы") Тогда
@@ -1418,14 +1446,11 @@
КонецЕсли;
ИначеЕсли Свойство = "Пароль" Тогда
Если ЗначениеСвойства <> Неопределено Тогда
Приемник.Пароль = ЗначениеСвойства;
ПарольУстановлен = Истина;
КонецЕсли;
ИначеЕсли Свойство = "СохраняемоеЗначениеПароля" Тогда
Если ЗначениеСвойства <> Неопределено
И Не ПарольУстановлен
Если Не ПарольУстановлен
И Приемник.СохраняемоеЗначениеПароля <> ЗначениеСвойства Тогда
Приемник.СохраняемоеЗначениеПароля = ЗначениеСвойства;
КонецЕсли;
@@ -1460,14 +1485,12 @@
ИначеЕсли Свойство = "Роли" Тогда
Приемник.Роли.Очистить();
Если ЗначениеСвойства <> Неопределено Тогда
Для Каждого ИмяРоли Из ЗначениеСвойства Цикл
Роль = Метаданные.Роли.Найти(ИмяРоли);
Если Роль <> Неопределено Тогда
Приемник.Роли.Добавить(Роль);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Иначе
Если Свойство = "Имя"
И Приемник[Свойство] <> ЗначениеСвойства Тогда
@@ -1498,7 +1521,8 @@
ЗаполнитьЗначенияСвойств(ВременнаяСтруктура, Приемник);
Если ТипЗнч(ВременнаяСтруктура.Роли) = Тип("ТаблицаЗначений") Тогда
Продолжить;
ИначеЕсли ВременнаяСтруктура.Роли = Неопределено Тогда
ИначеЕсли ВременнаяСтруктура.Роли = Неопределено
Или ТипЗнч(ВременнаяСтруктура.Роли) = Тип("Массив") Тогда
Приемник.Роли = Новый Массив;
Иначе
Приемник.Роли.Очистить();
@@ -4527,6 +4527,7 @@
Для Каждого КлючИЗначение Из ОписаниеПользователяИБ Цикл
Если ВсеСвойства.Свойство(КлючИЗначение.Ключ)
И КлючИЗначение.Значение <> Неопределено
И Не ДопустимыеСвойства.Свойство(КлючИЗначение.Ключ) Тогда
ВызватьИсключение ПараметрыОбработки.ТекстСообщенияНедостаточноПрав;
@@ -11357,14 +11357,14 @@
КонецПроцедуры
Процедура ПоказатьОшибкуСканирования(Форма, Заголовок, ПодробноеПредставлениеОшибки,
ТекстОшибки = "", РежимТребуетсяПомощь = Ложь) Экспорт
Процедура ПоказатьОшибкуСканирования(Форма, Заголовок, ПодробноеПредставлениеОшибки, РежимТребуетсяПомощь = Ложь) Экспорт
ПараметрыОткрытияФормы = Новый Структура("Заголовок, ПодробноеПредставлениеОшибки",
Заголовок, ПодробноеПредставлениеОшибки);
ПараметрыОткрытияФормы.Вставить("ТекстОшибки", ТекстОшибки);
ПараметрыОткрытияФормы.Вставить("ИмяУстройстваСканирования", Форма.ИмяУстройстваСканирования);
ПараметрыОткрытияФормы.Вставить("ПоказыватьДиалогСканера", Форма.ПоказыватьДиалогСканера);
ПараметрыОткрытияФормы.Вставить("РежимТребуетсяПомощь", РежимТребуетсяПомощь);
ПараметрыОткрытияФормы.Вставить("Разрешение", Форма.РазрешениеПеречисление);
Контекст = Новый Структура("РежимТребуетсяПомощь", РежимТребуетсяПомощь);
ПослеЗакрытияФормыОшибки = Новый ОписаниеОповещения("ПослеЗакрытияФормыОшибки", Форма, Контекст);
@@ -43,7 +43,7 @@
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ошибка при подготовке описаний подсистем:
|в описании подсистемы (см. процедуру %1.%2)
|указано имя подсистемы ""%2"", которое уже зарегистрировано ранее.'"),
|указано имя подсистемы ""%3"", которое уже зарегистрировано ранее.'"),
ИмяМодуля, "ПриДобавленииПодсистемы", Описание.Имя);
ВызватьИсключение(ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
КонецЕсли;
@@ -3754,6 +3754,7 @@
Версии.Добавить("8.3.21.1676");
Версии.Добавить("8.3.21.1901");
Версии.Добавить("8.3.24.1440");
Версии.Добавить("8.3.24.1599");
Возврат Версии;
@@ -624,11 +624,8 @@
Если ПараметрыРасшифровки.ИмяПоляРасшифровки = "ЗначениеПрава" Тогда
Возврат;
ИначеЕсли ПараметрыРасшифровки.ИмяПоляРасшифровки = "ВладелецИлиПользовательНастроек" Тогда
Если ПараметрыРасшифровки.СписокПолей.Получить("ЭтоВладелецНастроек") <> Истина Тогда
СтандартнаяОбработка = Истина;
Возврат;
КонецЕсли;
ИначеЕсли ПараметрыРасшифровки.ИмяПоляРасшифровки = "ВладелецИлиПользовательНастроек"
И ПараметрыРасшифровки.СписокПолей.Получить("ЭтоВладелецНастроек") = Истина Тогда
ВладелецНастроек = ПараметрыРасшифровки.СписокПолей.Получить("ВладелецИлиПользовательНастроек");
Если Не ЗначениеЗаполнено(ВладелецНастроек) Тогда
Возврат;
@@ -652,6 +649,12 @@
ПараметрыФормы.Удалить("Ключ");
ЗаполнитьЗначенияСвойств(Форма, ПараметрыФормы);
Возврат;
ИначеЕсли ПараметрыРасшифровки.ИмяПоляРасшифровки = "ОбъектМетаданныхЗаголовкаОтчета" Тогда
НавигационнаяСсылка = ПараметрыРасшифровки.СписокПолей.Получить("ОбъектМетаданныхНавигационнаяСсылка");
Если ЗначениеЗаполнено(НавигационнаяСсылка) Тогда
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку(НавигационнаяСсылка);
КонецЕсли;
Возврат;
КонецЕсли;
ТекущийВариант = ФормаОтчета.Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.КлючПредопределенногоВарианта;
@@ -788,8 +791,7 @@
Форма = ОткрытьФорму("Справочник.Пользователи.ФормаОбъекта", Новый Структура("Ключ", Пользователь));
ОткрытьФорму(ИмяФормы, Новый Структура("Пользователь", Пользователь), Форма, , Форма.Окно);
Иначе
ПоказатьЗначение(Неопределено,
ПараметрыРасшифровки.СписокПолей[ПараметрыРасшифровки.ИмяПоляРасшифровки]);
ПоказатьЗначение(Неопределено, ЗначениеРасшифровки);
КонецЕсли;
КонецЕсли;
@@ -5638,7 +5638,7 @@
КоллекцияДанных = ДанныеПечати;
Если Не ЭтоФункция Тогда
Если СтрНайти("И,ИЛИ,НЕ,ИСТИНА,ЛОЖЬ", ВРег(Операнд)) Тогда
Если СтрНайти(ВРег("И,ИЛИ,НЕ,ИСТИНА,ЛОЖЬ"), ВРег(Операнд)) Тогда
Продолжить;
КонецЕсли;
@@ -518,6 +518,26 @@
КонецПроцедуры
// АПК:299-вкл
// См. ИнтеграцияПодсистемБСП.ПриПолученииРезультатовПолнотекстовогоПоиска
Процедура ПриПолученииРезультатовПолнотекстовогоПоиска(МетаданныеОбъекта, Значение, Представление) Экспорт
// Для дополнительных сведений открывается форма объекта, которому принадлежит значение,
// а не форма записи регистра сведений.
Если МетаданныеОбъекта = Метаданные.РегистрыСведений.ДополнительныеСведения Тогда
Значение = Значение.Объект;
МетаданныеОбъекта = Значение.Метаданные();
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1: %2'"),
ОбщегоНазначения.ПредставлениеОбъекта(МетаданныеОбъекта),
Строка(Значение));
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -1023,6 +1023,21 @@
Продолжить;
КонецПопытки;
КоличествоПисемКЗагрузке = ЗаголовкиПисемДляЗагрузки.Количество();
Если КоличествоПисемКЗагрузке = 0 Тогда
Продолжить;
КонецЕсли;
ТекстСообщения = СтрШаблон(НСтр("ru = 'Начало получения писем из папки ""%1"" учетной записи ""%2"". Писем к загрузке: %3'"),
ИмяАктивнойПапки, ДанныеУчетнойЗаписи.АдресЭлектроннойПочты, КоличествоПисемКЗагрузке);
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Информация,
Метаданные.Справочники.ПапкиЭлектронныхПисем,
,
ТекстСообщения);
ЗаголовкиСПустымИдентификатором = Новый Массив;
ТаблицаИдентификаторов.Очистить();
ТаблицаПустыхИдентификаторов.Очистить();
@@ -1109,9 +1124,21 @@
// @skip-check query-in-loop - Порционная загрузка писем из папок.
ИдентификаторыПисемКЗагрузке = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ИдентификаторНаСервере");
ПолученоПисем = ПолученоПисем + ПолучитьПисьмаПоИдентификаторам(Почта, ДанныеУчетнойЗаписи,
ПолученоПисемПоИдентификаторам = ПолучитьПисьмаПоИдентификаторам(Почта, ДанныеУчетнойЗаписи,
ИдентификаторыПисемКЗагрузке, ПолученныеПисьма);
ПолученоПисем = ПолученоПисем + ПолученоПисемПоИдентификаторам;
ТекстСообщения = СтрШаблон(НСтр("ru = 'Получено писем из папки ""%1"" учетной записи ""%2"": %3'"),
ИмяАктивнойПапки, ДанныеУчетнойЗаписи.АдресЭлектроннойПочты, ПолученоПисемПоИдентификаторам);
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Информация,
Метаданные.Справочники.ПапкиЭлектронныхПисем,
,
ТекстСообщения);
КонецЕсли;
КонецЦикла;
@@ -2212,18 +2239,23 @@
Процедура ИзменитьДоменВПочтовомАдресеЕслиНеобходимо(ПочтовыйАдрес)
СинонимыДоменовЭлектроннойПочты = Новый Соответствие;
ВзаимодействияЛокализация.ПриОпределенииСинонимовДоменовЭлектроннойПочты(СинонимыДоменовЭлектроннойПочты);
Если СинонимыДоменовЭлектроннойПочты.Количество() = 0 Тогда
Возврат;
КонецЕсли;
СтруктураАдреса = СтруктураАдресаЭлектроннойПочты(ПочтовыйАдрес);
Если СтруктураАдреса = Неопределено Тогда
Возврат;
КонецЕсли;
Если Метаданные.ОбщиеМодули.Найти("ВзаимодействияЛокализация") <> Неопределено Тогда
МодульВзаимодействияЛокализация = ОбщегоНазначения.ОбщийМодуль("ВзаимодействияЛокализация");
СинонимыДоменовЭлектроннойПочты = МодульВзаимодействияЛокализация.СинонимыДоменовЭлектроннойПочты();
ДоменНаКоторыйНеобходимоЗаменить = СинонимыДоменовЭлектроннойПочты[СтруктураАдреса.Домен];
Если ДоменНаКоторыйНеобходимоЗаменить <> Неопределено Тогда
ПочтовыйАдрес = СтруктураАдреса.ИмяПочтовогоЯщика + "@" + ДоменНаКоторыйНеобходимоЗаменить;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -2243,7 +2275,7 @@
// АПК:280 Некоторые почтовые сервера не поддерживают эту команду.
КонецПопытки;
МассивИгнорируемыхИмен = ИменаПапокНеДляЗагрузкиПисем();
МассивИгнорируемыхИмен = ИгнорируемыеИменаПапокПриЗагрузкеПисем();
Для Каждого ИмяАктивнойПапки Из ИменаАктивныхПапок Цикл
@@ -2285,21 +2317,20 @@
КонецФункции
Функция ИменаПапокНеДляЗагрузкиПисем()
Функция ИгнорируемыеИменаПапокПриЗагрузкеПисем()
Результат = Новый Массив;
Результат.Добавить("спам");
Результат.Добавить("удаленные");
Результат.Добавить("черновики");
Результат.Добавить("корзина");
Результат.Добавить("spam");
Результат.Добавить("trash");
Результат.Добавить("drafts");
Результат.Добавить("draftBox");
Результат.Добавить("deleted");
Результат.Добавить("junk");
Результат.Добавить("bulk mail");
Возврат Результат;
ИменаПапок = Новый Массив;
ИменаПапок.Добавить("spam");
ИменаПапок.Добавить("trash");
ИменаПапок.Добавить("drafts");
ИменаПапок.Добавить("draftBox");
ИменаПапок.Добавить("deleted");
ИменаПапок.Добавить("junk");
ИменаПапок.Добавить("bulk mail");
ВзаимодействияЛокализация.ПриОпределенииИгнорируемыхИменПапокПриЗагрузкеПисем(ИменаПапок);
Возврат ИменаПапок;
КонецФункции
@@ -134,16 +134,25 @@
Возврат;
КонецЕсли;
Ссылки = Новый Массив;
ИмяКлючевогоПоля = "Ссылка";
Для Каждого СтрокаСписка Из СтрокиСписка Цикл
СтрокаСписка = СтрокиСписка[СтрокаСписка.Ключ];
КолонкаДоступна = СтрокаСписка.Данные.Свойство("Ссылка");
Если Не КолонкаДоступна Тогда
Если СтрокаСписка.Оформление.Получить("СостояниеОригиналаПервичногоДокумента") = Неопределено
Или СтрокаСписка.Оформление.Получить("СостояниеОригиналПолучен") = Неопределено Тогда
Возврат;
КонецЕсли;
Ссылки.Добавить(СтрокаСписка.Данные[ИмяКлючевогоПоля]);
Прервать;
КонецЦикла;
Ключи = СтрокиСписка.ПолучитьКлючи(); // Массив из ДокументСсылка, Массив из РегистрСведенийКлючЗаписи
Ссылки = Новый Массив;
ИмяКлючевогоПоля = "Ссылка";
Для Каждого Ключ Из Ключи Цикл
ЭтоСсылка = ОбщегоНазначения.ЭтоСсылка(ТипЗнч(Ключ));
Если ЭтоСсылка Тогда
Ссылки.Добавить(Ключ);
Иначе
Ссылки.Добавить(Ключ[ИмяКлючевогоПоля]);
КонецЕсли;
КонецЦикла;
Запрос = Новый Запрос;
@@ -40,18 +40,26 @@
// Реквизиты - КоллекцияСтрокДереваЗначений - список реквизитов шаблона:
// * Имя - Строка - уникальное имя реквизита.
// * Представление - Строка - представление реквизита.
// * ПолноеПредставление - Строка - расширенное представление реквизита.
// * Тип - Тип - тип реквизита.
// * Подсказка - Строка - расширенная информация о реквизите.
// * ПроизвольныйПараметр - Булево - признак, что реквизит интерактивно добавлен пользователем.
// * Формат - Строка - формат вывода значения для чисел, дат, строк и булевых значений.
// Например, "ДЛФ=D" для даты.
// * Родитель - СтрокаДереваЗначений, Неопределено - строка, которой принадлежит данная коллекция строк.
// Вложения - ТаблицаЗначений - печатные формы и вложения, где:
// * Имя - Строка - уникальное имя вложения.
// * Идентификатор - Строка - идентификатор вложения.
// * Представление - Строка - представление варианта.
// * Подсказка - Строка - расширенная информация о вложении.
// * ТипФайла - Строка - тип вложения, который соответствует расширению файла: "pdf", "png", "jpg", mxl" и др.
// * ИмяПараметра - Строка - служебный параметр. Не предназначен для использования.
// * Реквизит - Строка - служебный параметр. Не предназначен для использования.
// * Статус - Строка - служебный параметр. Не предназначен для использования.
// * МенеджерПечати - Строка - служебный параметр. Не предназначен для использования.
// * ПараметрыПечати - Структура - служебный параметр. Не предназначен для использования.
// НазначениеШаблона - Строка - назначение шаблона сообщения, например, "ОповещениеКлиентаИзменениеЗаказа".
// ДополнительныеПараметры - Структура - дополнительные сведения о шаблоне сообщения.
// ДополнительныеПараметры - см. ШаблоныСообщений.ОписаниеПараметровШаблона
//
Процедура ПриПодготовкеШаблонаСообщения(Реквизиты, Вложения, НазначениеШаблона, ДополнительныеПараметры) Экспорт
@@ -73,10 +81,23 @@
// ** Ключ - Строка - имя вложения в шаблоне;
// ** Значение - ДвоичныеДанные
// - Строка - двоичные данные или адрес во временном хранилище вложения.
// * ДополнительныеПараметры - Структура - дополнительные параметры сообщения.
// * ДополнительныеПараметры - Структура:
// ** ВидСообщения - Строка - вид шаблона: "Письмо", "SMS", "Произвольный".
// ** ЗначенияПараметровСКД - Структура - значения параметров СКД. Состав реквизитов определяется средствами СКД.
// ** ОтправитьСразу - Булево - Если истина, то письмо или сообщение будет отправлено адресату сразу после создания.
// ** ПараметрыСообщения - Структура - дополнительные параметры переданные в функциях СформироватьСообщение
// или СформироватьСообщениеИОтправить программного интерфейса общего модуля ШаблоныСообщений.
// ** УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты, Неопределено - учетная запись
// от которой будет отправлено письмо, если не заполнена, то используется системная учетная запись.
// ** ПроизвольныеПараметры - Соответствие - параметры добавленные пользователем.
// ** ПечатныеФормы - Массив - список печатных форм шаблона сообщений.
// ** ПреобразовыватьHTMLДляФорматированногоДокумента - Булево - определяет, необходимо ли преобразование
// HTML-текста сообщения, содержащего картинки в тексте письма,
// из-за особенностей вывода изображений в форматированном документе.
// ** НастройкиСохранения - см. УправлениеПечатью.НастройкиСохранения.
// НазначениеШаблона - Строка - полное имя назначения шаблон сообщения.
// ПредметСообщения - ЛюбаяСсылка - ссылка на объект являющийся источником данных.
// ПараметрыШаблона - Структура - дополнительная информация о шаблоне сообщения.
// ПараметрыШаблона - см. ШаблоныСообщений.ОписаниеПараметровШаблона
//
Процедура ПриФормированииСообщения(Сообщение, НазначениеШаблона, ПредметСообщения, ПараметрыШаблона) Экспорт
@@ -21,6 +21,8 @@
// * ИмяФайлаПодписи - Строка - если подпись добавлена из файла.
// * ДатаПодписи - Дата - дата, когда подпись была сделана. Имеет смысл для случаев,
// когда дату невозможно извлечь из данных подписи.
// * ПропуститьПриПродлении - Булево - не подлежит усовершенствованию, например,
// достоверность обеспечивается оператором электронного документооборота.
//
// Используются при обновлении результата проверки подписи:
// * ДатаПроверкиПодписи - Дата - дата последней проверки подписи.
@@ -98,6 +100,7 @@
Структура.Вставить("ОписаниеСертификата");
Структура.Вставить("ПропуститьПриПродлении");
Структура.Вставить("ОшибкаПриАвтоматическомПродлении", Ложь);
Структура.Вставить("ИдентификаторПодписи");
Структура.Вставить("РезультатПроверкиПодписиПоМЧД");
@@ -351,6 +351,140 @@
КонецПроцедуры
// Возвращает описания файлов данных, подписей и доверенности, извлеченные из результата подписания, который возвращен в
// оповещении, указанном в см. ЭлектроннаяПодписьКлиент.Подписать.ОбработкаРезультата.
// За файлом с типом "Данные" в массиве следует его подпись.
//
// Параметры:
// РезультатПодписания - см. ЭлектроннаяПодписьКлиент.Подписать.ОписаниеДанных
// ПараметрыПолученияФайлов - Структура
// * ПереводитьИменаФайловВТранслит - Булево
// * ВыгрузитьСертификат - Булево
// * ВыгрузитьДоверенность - Булево
// УникальныйИдентификатор - УникальныйИдентификатор - для использования при помещении во временное хранилище.
//
// Возвращаемое значение:
// Массив Из Структура:
// * Данные - Строка - адрес во временном хранилище, в зависимости от того, как передали в см. ЭлектроннаяПодписьКлиент.Подписать.ОписаниеДанных.
// - ДвоичныеДанные
// * ИмяФайла - Строка
// * ТипФайла - Строка - "Данные", "Подпись", "Доверенность", "ПодписьДоверенности", "Сертификат".
//
Функция ПолучитьФайлыИзРезультатаПодписания(РезультатПодписания, ПараметрыПолученияФайлов, УникальныйИдентификатор) Экспорт
Если РезультатПодписания.Свойство("НаборДанных") Тогда
НаборДанных = РезультатПодписания.НаборДанных;
Иначе
НаборДанных = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(РезультатПодписания);
КонецЕсли;
РасширениеДляФайловПодписи = ЭлектроннаяПодпись.ПерсональныеНастройки().РасширениеДляФайловПодписи;
Результат = Новый Массив;
// Локализация
Если ПараметрыПолученияФайлов.ВыгрузитьДоверенность
И ЗначениеЗаполнено(РезультатПодписания.ВыбраннаяДоверенность)
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебный");
Если МодульМашиночитаемыеДоверенностиФНССлужебный.ЭтоМашиночитаемаяДоверенность(
РезультатПодписания.ВыбраннаяДоверенность) Тогда
МодульМашиночитаемыеДоверенностиФНС = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенностиФНС");
ФайлыДоверенности = МодульМашиночитаемыеДоверенностиФНС.ФайлыДоверенности(
РезультатПодписания.ВыбраннаяДоверенность, Ложь);
Для Каждого ФайлДоверенности Из ФайлыДоверенности Цикл
Если ЗначениеЗаполнено(ФайлДоверенности.ОписаниеОшибки) Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось сохранить файл доверенности %1: %2'"),
РезультатПодписания.ВыбраннаяДоверенность, ФайлДоверенности.ОписаниеОшибки);
КонецЕсли;
СтруктураОписанияФайла = Новый Структура("Данные, ИмяФайла, ТипФайла");
СтруктураОписанияФайла.Данные = ПоместитьВоВременноеХранилище(
ФайлДоверенности.ДвоичныеДанные, УникальныйИдентификатор);
СтруктураОписанияФайла.ИмяФайла = ФайлДоверенности.ИмяФайла;
СтруктураОписанияФайла.ТипФайла = ?(ФайлДоверенности.ТипФайла = "Подпись", "ПодписьДоверенности", "Доверенность");
Результат.Добавить(СтруктураОписанияФайла);
КонецЦикла;
КонецЕсли;
КонецЕсли;
// Конец Локализация
СтруктураОписанияФайлаСертификата = Неопределено;
Для Каждого ПодписанныйФайл Из НаборДанных Цикл
СвойстваПодписи = ПодписанныйФайл.СвойстваПодписи;
Если ЭтоАдресВременногоХранилища(СвойстваПодписи) Тогда
СвойстваПодписи = ПолучитьИзВременногоХранилища(СвойстваПодписи);
КонецЕсли;
Файл = Новый Файл(ПодписанныйФайл.Представление);
Если ПараметрыПолученияФайлов.ВыгрузитьСертификат И СтруктураОписанияФайлаСертификата = Неопределено Тогда
ДанныеСертификата = ПоместитьВоВременноеХранилище(СвойстваПодписи.Сертификат, УникальныйИдентификатор);
КомуВыданСертификат = ?(ЗначениеЗаполнено(СвойстваПодписи.КомуВыданСертификат), СвойстваПодписи.КомуВыданСертификат, НСтр("ru = 'Сертификат'"));
Если ПараметрыПолученияФайлов.ПереводитьИменаФайловВТранслит Тогда
КомуВыданСертификат = СтроковыеФункции.СтрокаЛатиницей(КомуВыданСертификат);
КонецЕсли;
ИмяФайлаСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.ИмяФайлаСертификата(
"", КомуВыданСертификат, "cer", Ложь);
СтруктураОписанияФайлаСертификата = Новый Структура("Данные, ИмяФайла, ТипФайла");
СтруктураОписанияФайлаСертификата.Данные = ДанныеСертификата;
СтруктураОписанияФайлаСертификата.ИмяФайла = ИмяФайлаСертификата;
СтруктураОписанияФайлаСертификата.ТипФайла = "Сертификат";
КонецЕсли;
СтруктураОписанияФайла = Новый Структура("Данные, ИмяФайла, ТипФайла");
СтруктураОписанияФайла.Данные = ПодписанныйФайл.Данные;
СтруктураОписанияФайла.ИмяФайла = ПодписанныйФайл.Представление;
СтруктураОписанияФайла.ТипФайла = "Данные";
Результат.Добавить(СтруктураОписанияФайла);
ДанныеПодписи = ПоместитьВоВременноеХранилище(СвойстваПодписи.Подпись, УникальныйИдентификатор);
ИмяФайлаПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.ИмяФайлаПодписи(Файл.ИмяБезРасширения,
КомуВыданСертификат, РасширениеДляФайловПодписи);
СтруктураОписанияФайла = Новый Структура("Данные, ИмяФайла, ТипФайла");
СтруктураОписанияФайла.Данные = ДанныеПодписи;
СтруктураОписанияФайла.ИмяФайла = ИмяФайлаПодписи;
СтруктураОписанияФайла.ТипФайла = "Подпись";
Результат.Добавить(СтруктураОписанияФайла);
КонецЦикла;
Если СтруктураОписанияФайлаСертификата <> Неопределено Тогда
Результат.Добавить(СтруктураОписанияФайлаСертификата);
КонецЕсли;
Возврат Результат;
КонецФункции
Функция ПараметрыПолученияФайлов() Экспорт
Структура = Новый Структура;
Структура.Вставить("ПереводитьИменаФайловВТранслит", Ложь);
Структура.Вставить("ВыгрузитьСертификат", Истина);
Структура.Вставить("ВыгрузитьДоверенность", Истина);
Возврат Структура;
КонецФункции
// Определяет доступность электронной подписи для объекта (по его типу)
//
// Параметры:
@@ -5165,7 +5299,7 @@
МодульЭлектроннаяПодписьВМоделиСервиса =
ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьВМоделиСервиса");
Возврат МодульЭлектроннаяПодписьВМоделиСервиса.ИспользованиеВозможно();
Возврат МодульЭлектроннаяПодписьВМоделиСервиса.ИспользованиеВозможно() И ОбщегоНазначения.РазделениеВключено();
КонецФункции
@@ -7145,17 +7279,17 @@
ПериодДействияСпискаОтзыва = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваСпискаОтзыва(РезультатЗагрузки.ДанныеФайла);
Если ПериодДействияСпискаОтзыва = Неопределено Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
РезультатЗагрузки.ДанныеФайла = Неопределено;
РезультатЗагрузки.СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Файл %1 не является списком отзыва.'"), РезультатЗагрузки.АдресФайла);
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Иначе
МенеджерЗаписи.АдресСпискаОтзыва = РезультатЗагрузки.АдресФайла;
МенеджерЗаписи.СписокОтзыва = Новый ХранилищеЗначения(РезультатЗагрузки.ДанныеФайла,
Новый СжатиеДанных(9));
МенеджерЗаписи.ДатаПоследнегоИзменения = ДатаПоследнегоИзменения;
МенеджерЗаписи.ДатаНачалаДействия = ПериодДействияСпискаОтзыва.ДатаНачала;
МенеджерЗаписи.ДатаОкончанияДействия = ПериодДействияСпискаОтзыва.ДатаОкончания;
КонецЕсли;
КонецЕсли;
@@ -2651,7 +2651,7 @@
Если Не Подключено Тогда
ТекстОбщейОшибки =
НСтр("ru = 'В браузере установите расширение
|для работы с электронной подписью и шифрованием.'");
|для работы с 1С:Предприятием.'");
СвойстваОшибки = ЭлектроннаяПодписьСлужебныйКлиентСервер.НовыеСвойстваОшибки();
СвойстваОшибки.НетРасширения = Истина;
КонецЕсли;
@@ -5650,7 +5650,8 @@
Если Контекст.Свойство("МенеджерКриптографии") И Контекст.МенеджерКриптографии = "СервисКриптографии" Тогда
Если Не ДвоичныеДанные.Выполнено Тогда
ОшибкаНаКлиенте = Новый Структура("ОписаниеОшибки", ДвоичныеДанные.ИнформацияОбОшибке.Описание);
ТекстОшибки = ТекстОшибкиОблачнаяПодпись(Контекст.Операция, ДвоичныеДанные.ИнформацияОбОшибке.Описание, Истина, Истина);
ОшибкаНаКлиенте = Новый Структура("ОписаниеОшибки", ТекстОшибки);
ВыполнитьНаСторонеПослеЦикла(ОшибкаНаКлиенте, Контекст);
Возврат;
КонецЕсли;
@@ -8152,7 +8153,7 @@
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ТехнологияСервиса.ЭлектроннаяПодписьВМоделиСервиса") Тогда
МодульЭлектроннаяПодписьВМоделиСервисаКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьВМоделиСервисаКлиент");
Возврат МодульЭлектроннаяПодписьВМоделиСервисаКлиент.ИспользованиеВозможно();
Возврат МодульЭлектроннаяПодписьВМоделиСервисаКлиент.ИспользованиеВозможно() И ОбщегоНазначенияКлиент.РазделениеВключено();
КонецЕсли;
Возврат Ложь;
@@ -9063,17 +9064,19 @@
// Параметры:
// Операция - Строка - "ПроверкаПодписи", "ПроверкаСертификата", "ПоискСертификата",
// "Подписание", "Шифрование","Расшифровка"
// РезультатВызова - Неопределено, Структура
// РезультатВызова - Неопределено, Структура, Строка - для встроенного криптопровайдера передается строка ошибки.
// ЭтоОшибкаВыполнения - Булево - это ошибка выполнения
// ЭтоВстроенныйКриптопровайдер - Булево - используется встроенный криптопровайдер в модели сервиса.
//
// Возвращаемое значение:
// Строка - текст ошибки облачной подписи
//
Функция ТекстОшибкиОблачнаяПодпись(Операция, РезультатВызова = Неопределено, ЭтоОшибкаВыполнения = Ложь) Экспорт
Функция ТекстОшибкиОблачнаяПодпись(Операция, РезультатВызова = Неопределено, ЭтоОшибкаВыполнения = Ложь, ЭтоВстроенныйКриптопровайдер = Ложь) Экспорт
АдресСервера = "";
ИсходныйТекст = "";
Если Не ЭтоВстроенныйКриптопровайдер Тогда
Если ТипЗнч(РезультатВызова) = Тип("Структура") Тогда
Если РезультатВызова.Свойство("НастройкиПользователя") Тогда
АдресСервера = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(РезультатВызова.НастройкиПользователя, "Сервер", "");
@@ -9082,6 +9085,7 @@
ИсходныйТекст = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(РезультатВызова.СтатусОшибки, "ИсходныйТекст", "");
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ИсходныйТекст) Тогда
ТекстОшибки = ИсходныйТекст;
@@ -9119,7 +9123,20 @@
НСтр("ru = 'Неизвестная операция ""%1"".'"), Операция);
КонецЕсли;
Если ЭтоВстроенныйКриптопровайдер Тогда
Если Не ОбщегоНазначенияКлиент.РазделениеВключено() Тогда
ТекстРекомендации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Отключите константу ""%1"".'"), НСтр("ru = 'Использовать электронную подпись в модели сервиса'"));
Иначе
ТекстРекомендации = РезультатВызова;
КонецЕсли;
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Встроенный криптопровайдер: %1 %2'"), ТекстОшибки, ТекстРекомендации);
Иначе
Возврат НСтр("ru = 'Сервис DSS'") + ": " + ТекстОшибки;
КонецЕсли;
КонецФункции
@@ -9799,6 +9816,12 @@
СвойстваСпискаОтзыва = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваСпискаОтзыва(Результат.ДанныеФайла);
Если СвойстваСпискаОтзыва = Неопределено Тогда
ОбработатьОшибкуУстановкиСпискаОтзыва(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Файл %1 не является списком отзыва.'"), Результат.АдресФайла), Контекст);
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(Результат.ИдентификаторКлючаУдостоверяющегоЦентра)
И ЗначениеЗаполнено(СвойстваСпискаОтзыва.ИдентификаторКлючаУдостоверяющегоЦентра)
И Результат.ИдентификаторКлючаУдостоверяющегоЦентра <> СвойстваСпискаОтзыва.ИдентификаторКлючаУдостоверяющегоЦентра Тогда
@@ -676,7 +676,7 @@
// когда операций несколько (не заполнен, когда операция одна).
// * Описание - Строка - краткое представление ошибки.
// * ИзИсключения - Булево - описание ошибки содержит краткое представление информации об ошибке.
// * НетРасширения - Булево - не подключилось расширение для работы с криптографией (требуется установить).
// * НетРасширения - Булево - не подключилось расширение для работы с 1С:Предприятием (требуется установить).
// * КАдминистратору - Булево - для исправления ошибки требуются права администратора.
// * Инструкция - Булево - для исправления требуется инструкция по работе с программами ЭП.
// * НастройкаПрограмм - Булево - для исправления ошибки требуется настройка программ.
@@ -474,7 +474,7 @@
//
Функция ВерсияКлассификатора() Экспорт
Возврат "3.0.1.30";
Возврат "3.0.1.31";
КонецФункции
+9 -9
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="4bfbd5c3-1195-4b9b-8e49-54a86c32d139">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9292dae2-1d63-42f2-916d-608582d6537a">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="3fd07f8b-90e3-4f25-9d79-1c598a5c1a5c"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="0d5c13fe-02de-43af-872a-242f97a05e24"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="5cccf896-87b7-4b5c-a963-218674631939"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="fda54926-954c-499e-b5d6-e32ad535e555"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="fa88a380-4759-45c1-a167-3d4cdf796b69"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="bc927552-7ca9-45f4-b789-e650f44155cf"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="a23d8d14-1143-4a1a-9fd3-7b94929ceb4b"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="1a4b1d4a-ed85-460a-9156-2c95e51d0ab1"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="9affc1bb-eb1c-4db9-9159-c8f1d607d778"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="97a2b176-1f04-45dc-bac1-b1f66b32588a"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="02af5f9d-1bc2-4181-b6c6-63f1f76ad502"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="3db22a9a-65a7-4161-acc4-7987512337db"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="29ff8ff5-a90b-4418-bab8-b3335c262556"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="8430d186-5c44-4296-9f39-e615b4b1b4f6"/>
<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.10.211</version>
<version>3.1.10.226</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,0eb63f6d-7621-4664-9076-8b630709d336,1,47904c13-fe22-460a-8b0c-1a0cfb24399c,"3.1.10.211","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7651,1,0,4bfbd5c3-1195-4b9b-8e49-54a86c32d139,4bfbd5c3-1195-4b9b-8e49-54a86c32d139,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,fa04bf1e-69c0-4998-a939-039fcaba83c8,fa04bf1e-69c0-4998-a939-039fcaba83c8,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,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,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,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-b7bLine truncated
{6,1,1,fc57bc0e-c35b-42f4-858c-8881146840e6,1,5444b310-786e-4bba-b02c-ea17db25d6cb,"3.1.10.226","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7651,1,0,9292dae2-1d63-42f2-916d-608582d6537a,9292dae2-1d63-42f2-916d-608582d6537a,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,fa04bf1e-69c0-4998-a939-039fcaba83c8,fa04bf1e-69c0-4998-a939-039fcaba83c8,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,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,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,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-b7bLine truncated
@@ -67,26 +67,42 @@
ФункциональныеОпции = СтандартныеПодсистемыПовтИсп.ДоступностьОбъектовПоОпциям();
Для каждого ОбъектМетаданныхДляВывода Из Метаданные.Справочники Цикл
ПолноеИмя = ОбъектМетаданныхДляВывода.ПолноеИмя();
Если ФункциональныеОпции.Получить(ПолноеИмя) = Ложь Тогда
Продолжить;
КонецЕсли;
Если ЗагрузкаДанныхИзФайлаДопустима(ОбъектМетаданныхДляВывода) Тогда
Строка = ИнформацияОСправочниках.Добавить();
Строка.Представление = ОбъектМетаданныхДляВывода.Представление();
Строка.ПолноеИмя = ПолноеИмя;
КонецЕсли;
КонецЦикла;
ИнтеграцияПодсистемБСП.ПриОпределенииСправочниковДляЗагрузкиДанных(ИнформацияОСправочниках);
ЗагрузкаДанныхИзФайлаПереопределяемый.ПриОпределенииСправочниковДляЗагрузкиДанных(ИнформацияОСправочниках);
ИнформацияОСправочниках.Колонки.Добавить("ИнформацияОТипеЗагрузки");
Для каждого ОбъектМетаданныхДляВывода Из Метаданные.Справочники Цикл
ПолноеИмя = ОбъектМетаданныхДляВывода.ПолноеИмя();
Если ФункциональныеОпции.Получить(ПолноеИмя) = Ложь
Или ИнформацияОСправочниках.Найти(ПолноеИмя, "ПолноеИмя") <> Неопределено Тогда
Продолжить;
КонецЕсли;
Если ЗагрузкаДанныхИзФайлаДопустима(ОбъектМетаданныхДляВывода) Тогда
Представление = ОбъектМетаданныхДляВывода.Представление();
СтрокаТаблицы = ИнформацияОСправочниках.Найти(Представление, "Представление");
Если СтрокаТаблицы <> Неопределено Тогда
СтрокаТаблицы.Представление = Представление + " (" + СтрокаТаблицы.ПолноеИмя +")";
Представление = Представление + " (" + ПолноеИмя +")";
КонецЕсли;
ИнформацияОСправочнике = ИнформацияОСправочниках.Добавить();
ИнформацияОСправочнике.Представление = Представление;
ИнформацияОСправочнике.ПолноеИмя = ПолноеИмя;
ИнформацияОТипеЗагрузки = НоваяИнформацияОТипеЗагрузки();
ИнформацияОТипеЗагрузки.Тип = ?(ИнформацияОСправочнике.ПрикладнаяЗагрузка, "ПрикладнаяЗагрузка", "УниверсальнаяЗагрузка");
ИнформацияОТипеЗагрузки.Вставить("ПолноеИмяОбъектаМетаданных", ПолноеИмя);
ИнформацияОСправочнике.ИнформацияОТипеЗагрузки = ИнформацияОТипеЗагрузки;
КонецЕсли;
КонецЦикла;
Для каждого ИнформацияОСправочнике Из ИнформацияОСправочниках Цикл
ИнформацияОТипеЗагрузки = НоваяИнформацияОТипеЗагрузки();
@@ -110,10 +126,10 @@
ИнформацияОТипеЗагрузки.Идентификатор = СтрокаТаблицы.Идентификатор;
ИнформацияОТипеЗагрузки.Представление = СтрокаТаблицы.Представление;
Строка = ИнформацияОСправочниках.Добавить();
Строка.ПолноеИмя = ОбъектМетаданныхДляВывода.ПолноеИмя();
Строка.ИнформацияОТипеЗагрузки = ИнформацияОТипеЗагрузки;
Строка.Представление = СтрокаТаблицы.Представление;
ИнформацияОСправочнике = ИнформацияОСправочниках.Добавить();
ИнформацияОСправочнике.ПолноеИмя = ОбъектМетаданныхДляВывода.ПолноеИмя();
ИнформацияОСправочнике.ИнформацияОТипеЗагрузки = ИнформацияОТипеЗагрузки;
ИнформацияОСправочнике.Представление = СтрокаТаблицы.Представление;
КонецЦикла;
КонецЕсли;
@@ -44,7 +44,7 @@
{
"Anchor": "0x0000065B",
"Reason": "Истек срок действия лицензии приложения электронной подписи.",
"Solution": "Проверьте срок действия лицензии приложения электронной подписи. См. <a href=\"http://1c-edo.ru/handbook/9/3983/\">инструкцию</a>.",
"Solution": "<a href=\"http://1c-edo.ru/handbook/9/3983/\">Продлите лицензию приложения для работы с электронной подписью</a>.",
"ErrorText": "0x0000065B",
"RepairMethods": "",
"En": ""
@@ -1266,8 +1266,34 @@
"RepairMethods": "{\"МетодикиУстранения\": [\"ДиагностикаСерверовМетокВремениКлиент\"]}",
"En": "",
"Client": true
},
{
"Anchor": "",
"Reason": "• Нет подключения к Интернету;\n• На сайте ведутся технические работы, попробуйте повторить действие позднее;\n• Брандмауэр или другое промежуточное ПО (антивирусы и т.п.) блокируют попытки приложения подключиться к Интернету;\n• Подключение к Интернету выполняется через прокси-сервер, но его параметры не заданы в приложении.",
"Solution": "",
"ErrorText": "Ошибка работы с Интернет: Не могу установить соединение",
"RepairMethods": "",
"En": ""
},
{
"Anchor": "Нет связи с закрытым ключом",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Установите закрытый ключ (вставить токен или флешку с файлом закрытого ключа).\n• <a href=\"УстановитьСертификатВКонтейнер\">Установите сертификат в контейнер</a> прямо из приложения.\n• Переустановите сертификат через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n• Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "Не найден контейнер ключа электронной подписи",
"RepairMethods": "{\"МетодикиУстранения\": [\"ПроверитьСертификатВЛокальномХранилище\"]}",
"En": "",
"Client": true
},
{
"Anchor": "Нет связи с закрытым ключом",
"Reason": "• Закрытый ключ для выбранного сертификата не установлен.\n• Закрытый ключ установлен, но сертификат не имеет с ним связи.",
"Solution": "• Установите закрытый ключ на сервере (вставить токен или флешку с файлом закрытого ключа).\n• Переустановите сертификат на сервере через оснастку приложения электронной подписи с привязкой к закрытому ключу (см. <a href=\"http://1c-edo.ru/handbook/24/4179/\">инструкцию</a>)\n• Подайте заявление на новый сертификат, если закрытый ключ утерян.",
"ErrorText": "Не найден контейнер ключа электронной подписи",
"RepairMethods": "{\"МетодикиУстранения\": [\"ПроверитьСертификатВЛокальномХранилище\"]}",
"En": "",
"Server": true
}
],
"LastChangeDate": "2024-06-14T15:25:18",
"Version": "3.0.1.30"
"LastChangeDate": "2024-07-04T12:11:55",
"Version": "3.0.1.31"
}
@@ -19,12 +19,6 @@
ПрисоединенныйФайл = Параметры.Ключ;
КонецЕсли;
Если ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда
ДоступнаЭлектроннаяПодпись = РаботаСФайламиСлужебный.ДоступнаЭлектроннаяПодпись(ТипЗнч(Параметры.ЗначениеКопирования));
Иначе
ДоступнаЭлектроннаяПодпись = РаботаСФайламиСлужебный.ДоступнаЭлектроннаяПодпись(ТипЗнч(ПрисоединенныйФайл));
КонецЕсли;
ТекущийПользователь = Пользователи.АвторизованныйПользователь();
ИзменениеФайлов = Пользователи.ЭтоПолноправныйПользователь();
ПараметрыОтправки = ?(ЗначениеЗаполнено(Параметры.ПараметрыОтправки),
@@ -40,6 +34,7 @@
ОбновитьПояснениеОблачногоСервиса(ПрисоединенныйФайл);
ПрисоединенныйФайлОбъект = РеквизитФормыВЗначение("Объект"); // ОпределяемыйТип.ПрисоединенныйФайлОбъект
ДоступнаЭлектроннаяПодпись = РаботаСФайламиСлужебный.ДоступнаЭлектроннаяПодпись(ТипЗнч(ПрисоединенныйФайлОбъект));
УстановитьВидимостьКомандФормы();
// СтандартныеПодсистемы.ПодключаемыеКоманды
@@ -347,7 +342,7 @@
Файл = ТекущаяСсылкаНаФайл();
Если ЗначениеЗаполнено(Файл) Или ОбработатьКомандуЗаписиФайла() Тогда
Файлы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Файл);
Файлы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ТекущаяСсылкаНаФайл()); // Заново получаем ссылку, если новый файл записан.
РаботаСФайламиКлиент.НапечататьФайлы(Файлы, ЭтотОбъект.УникальныйИдентификатор);
КонецЕсли;
@@ -4486,6 +4486,6 @@
И Элементы.АдресВСвободнойФорме.Пометка Тогда
УстановитьЗначенияПолейПослеИзмененияПредставления();
КонецЕсли;
КонецПроцедуры;
КонецПроцедуры
#КонецОбласти
@@ -364,7 +364,9 @@
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения,, "Объект.КаталогСРезервнымиКопиями");
РеквизитыЗаполнены = Ложь;
ИначеЕсли НайтиФайлы(Объект.КаталогСРезервнымиКопиями).Количество() = 0 Тогда
ТекстСообщения = НСтр("ru = 'Указан несуществующий каталог.'");
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Указан несуществующий каталог ""%1"".
|Если резервное копирование было настроено на другом компьютере, укажите сетевой каталог, доступный с любого компьютера, где ведется работа в приложении.'"),
Объект.КаталогСРезервнымиКопиями);
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения,, "Объект.КаталогСРезервнымиКопиями");
РеквизитыЗаполнены = Ложь;
Иначе
@@ -234,60 +234,6 @@
<enabled>true</enabled>
<showTitle>auto</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>ИмяУстройстваСканирования</name>
<id>1</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ПодробноеПредставлениеОшибки</name>
<id>4</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ТекстОшибки</name>
<id>2</id>
<valueType>
<types>FormattedString</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ПоказыватьДиалогСканера</name>
<id>3</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ПовторитьСканирование</name>
<title>
@@ -306,18 +252,13 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>ТекстОшибки</name>
<valueType>
<types>FormattedString</types>
</valueType>
</parameters>
<parameters>
<name>ИмяУстройстваСканирования</name>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<keyParameter>true</keyParameter>
</parameters>
<parameters>
<name>Заголовок</name>
@@ -332,12 +273,26 @@
<types>String</types>
<stringQualifiers/>
</valueType>
<keyParameter>true</keyParameter>
</parameters>
<parameters>
<name>ПоказыватьДиалогСканера</name>
<valueType>
<types>Boolean</types>
</valueType>
<keyParameter>true</keyParameter>
</parameters>
<parameters>
<name>РежимТребуетсяПомощь</name>
<valueType>
<types>Boolean</types>
</valueType>
<keyParameter>true</keyParameter>
</parameters>
<parameters>
<name>Разрешение</name>
<valueType/>
<keyParameter>true</keyParameter>
</parameters>
<commandInterface>
<navigationPanel/>
@@ -10,7 +10,6 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Параметры, "ИмяУстройстваСканирования, ТекстОшибки, ПодробноеПредставлениеОшибки");
Заголовок = Параметры.Заголовок;
КонецПроцедуры
@@ -52,31 +51,54 @@
&НаКлиенте
Процедура УстановитьТекстОшибки()
Если Не ЗначениеЗаполнено(ТекстОшибки) Тогда
Если Не ПоказыватьДиалогСканера И Не ОбщегоНазначенияКлиент.ЭтоLinuxКлиент() Тогда
ТекстОшибкиПриИспользованииНастроекИзПриложения = Символы.ПС + " • "
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru ='Укажите в <a href = ""%1"">настройках сканирования</a> способ задания
| настроек - ""Расширенные в диалоге сканера"".'"), "ОткрытьНастройки");
Иначе
ТекстОшибкиПриИспользованииНастроекИзПриложения = "";
Рекомендации = Новый Массив;
Рекомендации.Добавить(НСтр("ru = 'Проверьте подключение сканера и повторите попытку сканирования.'"));
Рекомендации.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Укажите в <a href = ""%1"">настройках сканирования</a> доступный сканер.'"),
"ОткрытьНастройки"));
Если Не Параметры.ПоказыватьДиалогСканера И Не ОбщегоНазначенияКлиент.ЭтоLinuxКлиент() Тогда
Рекомендации.Добавить(НСтр("ru = 'Смените способ задания настроек на <b>Расширенные в диалоге сканера</b>.'"));
КонецЕсли;
ТекстОшибки = СтроковыеФункцииКлиент.ФорматированнаяСтрока(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сканер ""%1"" не обнаружен или не подключен.
|Попробуйте выполнить одно из следующих действий:
| • Проверьте подключение сканера и повторите попытку сканирования.
| • Укажите в <a href = ""%2"">настройках сканирования</a> доступный сканер.%4
| • Если проблема повторится, обратитесь в службу поддержки фирмы ""1С"",
| предоставив <a href = ""%3"">техническую информацию о возникшей проблеме</a>.'"),
ИмяУстройстваСканирования, "ОткрытьНастройки", "ТехническаяИнформация", ТекстОшибкиПриИспользованииНастроекИзПриложения));
Если Параметры.ПоказыватьДиалогСканера
Или Параметры.Разрешение = ПредопределенноеЗначение("Перечисление.РазрешенияСканированногоИзображения.dpi1200") Тогда
Рекомендации.Добавить(НСтр("ru = 'Снизьте разрешение сканирования до <b>600 dpi</b>.'"));
КонецЕсли;
Элементы.ТекстОшибки.Заголовок = ТекстОшибки;
СистемнаяИнформация = Новый СистемнаяИнформация();
Если СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
Рекомендации.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Установите и запустите <a href = ""%1"">тонкий клиент 1С:Предприятия для Windows (32-bit)</a>,
| в котором доступно больше устройств и настроек сканирования.'"),
"Запустить32БитныйКлиент"));
КонецЕсли;
Если Параметры.РежимТребуетсяПомощь Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сканирование выполняется с помощью %1.'"),
Параметры.ИмяУстройстваСканирования);
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сканер ""%1"" не обнаружен или не подключен.'"),
Параметры.ИмяУстройстваСканирования);
КонецЕсли;
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
+ НСтр("ru = 'Попробуйте следующие варианты:'") + Символы.ПС
+ " • " + СтрСоединить(Рекомендации, Символы.ПС + " • ");
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Если проблема повторится, обратитесь в службу поддержки фирмы ""1С"",
|предоставив <a href = ""%1"">техническую информацию</a> о возникшей проблеме.'"),
"ТехническаяИнформация");
Элементы.ТекстОшибки.Заголовок = СтроковыеФункцииКлиент.ФорматированнаяСтрока(ТекстОшибки);
КонецПроцедуры
&НаКлиенте
Процедура ПолучитьТехническуюИнформацию()
РаботаСФайламиСлужебныйКлиент.ПолучитьТехническуюИнформацию(ПодробноеПредставлениеОшибки);
РаботаСФайламиСлужебныйКлиент.ПолучитьТехническуюИнформацию(Параметры.ПодробноеПредставлениеОшибки);
КонецПроцедуры
&НаКлиенте
@@ -370,35 +370,9 @@
&НаКлиенте
Процедура ТребуетсяПомощьНажатие(Элемент)
Рекомендации = Новый Массив;
Рекомендации.Добавить(НСтр("ru = 'Проверьте подключение сканера и повторите попытку сканирования.'"));
Рекомендации.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Укажите в <a href = ""%1"">настройках сканирования</a> доступный сканер.'"),
"ОткрытьНастройки"));
СистемнаяИнформация = Новый СистемнаяИнформация();
Если СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда
Рекомендации.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Установите и запустите <a href = ""%1"">тонкий клиент 1С:Предприятия для Windows (32-bit)</a>,
| в котором доступно больше устройств и настроек сканирования.'"),
"Запустить32БитныйКлиент"));
КонецЕсли;
Рекомендации.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Если проблема повторится, обратитесь в службу поддержки фирмы ""1С"",
| предоставив <a href = ""%1"">техническую информацию</a> о возникшей проблеме.'"),
"ТехническаяИнформация"));
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Сканирование выполняется с помощью %1.
|
|Попробуйте следующие варианты:'"),
ИмяУстройстваСканирования);
ТекстОшибки = ТекстОшибки + Символы.ПС + " • " + СтрСоединить(Рекомендации, Символы.ПС + " • ");
РаботаСФайламиСлужебныйКлиент.ПоказатьОшибкуСканирования(ЭтотОбъект, НСтр("ru='Проблема при сканировании'"),
НСтр("ru='Вызвана помощь из окна сканирования.'"),
СтроковыеФункцииКлиент.ФорматированнаяСтрока(ТекстОшибки), Истина);
НСтр("ru='Вызвана помощь из окна сканирования.'"), Истина);
КонецПроцедуры
#КонецОбласти
@@ -340,15 +340,8 @@
Если ТипЗнч(ТекущаяСтрокаДерева) = Тип("СтрокаДереваЗначений") Тогда
// Заполнение ПутьКДанным и ЭтоПодраздел и ЭтоОбъектМетаданных выполняется после формирования дерева
// для того, чтобы корректно расставить эти признаки для добавленных в событии
// ПолнотекстовыйПоискСерверПереопределяемый.ПриПолученииРазделовПолнотекстовогоПоиска
// разделов и освободить разработчиков конфигурации от необходимости думать над этими полями.
ЭтоОбъектМетаданных = ЗначениеЗаполнено(ТекущаяСтрокаДерева.ОбъектМД);
ТекущаяСтрокаДерева.ЭтоОбъектМетаданных = ЭтоОбъектМетаданных;
Если ТекущаяСтрокаДерева.Уровень() = 0 Тогда
ТекущаяСтрокаДерева.ПутьКДанным = ТекущаяСтрокаДерева.Раздел;
Иначе
@@ -82,15 +82,15 @@
ОписаниеСервиса.ПользовательШифрования = СвойствоСтруктуры(ТекущийЭлемент, "pubUser", "");
ОписаниеСервиса.ПарольПользовательШифрования = СвойствоСтруктуры(ТекущийЭлемент, "pubUserPassword", "");
СпособАутентификации = СвойствоСтруктуры(ТекущийЭлемент, "authMeth", 3);
ВариантАутентификации = СвойствоСтруктуры(ТекущийЭлемент, "authMeth", 3);
СпособАвторизации = СвойствоСтруктуры(ТекущийЭлемент, "cfrmMeth", 9);
Если СпособАутентификации = 3 И СпособАвторизации = 9 Тогда
СпособАутентификации = -2;
Если ВариантАутентификации = 3 И СпособАвторизации = 9 Тогда
ВариантАутентификации = -2;
КонецЕсли;
ОграничениеАвторизации = Новый Массив;
ОграничениеАвторизации.Добавить(СоответствиеТипов[СпособАутентификации]);
ОграничениеАвторизации.Добавить(СоответствиеТипов[ВариантАутентификации]);
ОграничениеАвторизации.Добавить(СоответствиеТипов[СпособАвторизации]);
ОписаниеСервиса.ОграничениеАвторизации = СтрСоединить(ОграничениеАвторизации, ",");
@@ -933,14 +933,10 @@
ОграничениеАвторизации = Новый Массив;
Если Результат.РежимАутентификации = "ПарольМобильноеПриложение" Тогда
СоответствиеТипов = СпособыАвторизацииОблачнойПодписи();
СпособАутентификации = 2;
ВариантАутентификации = 2;
СпособАвторизации = 9;
Если СпособАутентификации = 3 И СпособАвторизации = 9 Тогда
СпособАутентификации = -2;
КонецЕсли;
ОграничениеАвторизации.Добавить(СоответствиеТипов[СпособАутентификации]);
ОграничениеАвторизации.Добавить(СоответствиеТипов[ВариантАутентификации]);
ОграничениеАвторизации.Добавить(СоответствиеТипов[СпособАвторизации]);
КонецЕсли;
@@ -184,7 +184,7 @@
Вложения.Очистить();
ВложенияСИдентификаторами.Очистить();
ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
НовоеПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
Если ЭтоАдресВременногоХранилища(ПисьмоВложение) Тогда
ИсходныеДанные = ПолучитьИзВременногоХранилища(ПисьмоВложение);
@@ -192,24 +192,24 @@
ИсходныеДанные = РаботаСФайлами.ДвоичныеДанныеФайла(ПисьмоВложение);
КонецЕсли;
ПочтовоеСообщение.УстановитьИсходныеДанные(ИсходныеДанные);
НовоеПочтовоеСообщение.УстановитьИсходныеДанные(ИсходныеДанные);
Если ПочтовоеСообщение.СтатусРазбора = СтатусРазбораИнтернетПочтовогоСообщения.ОбнаруженыОшибки Тогда
Если НовоеПочтовоеСообщение.СтатусРазбора = СтатусРазбораИнтернетПочтовогоСообщения.ОбнаруженыОшибки Тогда
ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Не удалось разобрать почтовое сообщение.'"));
Возврат;
КонецЕсли;
ПолучателиПисьма = ПустаяТаблицаПолучатели();
УправлениеЭлектроннойПочтой.ЗаполнитьИнтернетПочтовыеАдреса(ПолучателиПисьма, ПочтовоеСообщение.Получатели);
УправлениеЭлектроннойПочтой.ЗаполнитьИнтернетПочтовыеАдреса(ПолучателиПисьма, НовоеПочтовоеСообщение.Получатели);
ПолучателиКопий = ПустаяТаблицаПолучатели();
УправлениеЭлектроннойПочтой.ЗаполнитьИнтернетПочтовыеАдреса(ПолучателиКопий, ПочтовоеСообщение.Получатели);
УправлениеЭлектроннойПочтой.ЗаполнитьИнтернетПочтовыеАдреса(ПолучателиКопий, НовоеПочтовоеСообщение.Получатели);
СтруктураПисьмо = Новый Структура("ТипТекста, ТекстHTML, Текст");
СтруктураПисьмо.Вставить("Кодировка", ПочтовоеСообщение.Кодировка);
СтруктураПисьмо.Вставить("ОтправительПредставление", ПочтовоеСообщение.ИмяОтправителя);
СтруктураПисьмо.Вставить("ОтправительАдрес", ПочтовоеСообщение.Отправитель.Адрес);
СтруктураПисьмо.Вставить("Дата", ПочтовоеСообщение.ДатаОтправления);
СтруктураПисьмо.Вставить("Тема", ПочтовоеСообщение.Тема);
СтруктураПисьмо.Вставить("Кодировка", НовоеПочтовоеСообщение.Кодировка);
СтруктураПисьмо.Вставить("ОтправительПредставление", НовоеПочтовоеСообщение.ИмяОтправителя);
СтруктураПисьмо.Вставить("ОтправительАдрес", НовоеПочтовоеСообщение.Отправитель.Адрес);
СтруктураПисьмо.Вставить("Дата", НовоеПочтовоеСообщение.ДатаОтправления);
СтруктураПисьмо.Вставить("Тема", НовоеПочтовоеСообщение.Тема);
СтруктураПисьмо.Вставить("ПолучателиПисьма", ПолучателиПисьма);
СтруктураПисьмо.Вставить("ПолучателиКопий", ПолучателиКопий);
ИмяПользователяУчетнойЗаписи = ?(ПустаяСтрока(ИмяПользователяУчетнойЗаписи),
@@ -217,10 +217,10 @@
ИмяПользователяУчетнойЗаписи);
СтруктураПисьмо.Вставить("ИмяПользователяУчетнойЗаписи", ИмяПользователяУчетнойЗаписи);
ТемаПисьма = ПочтовоеСообщение.Тема;
ДатаПисьма = ПочтовоеСообщение.ДатаОтправления;
ТемаПисьма = НовоеПочтовоеСообщение.Тема;
ДатаПисьма = НовоеПочтовоеСообщение.ДатаОтправления;
Для Каждого Вложение Из ПочтовоеСообщение.Вложения Цикл
Для Каждого Вложение Из НовоеПочтовоеСообщение.Вложения Цикл
Если НЕ ПустаяСтрока(Вложение.Идентификатор)
И СтрНайти(СтруктураПисьмо.ТекстHTML, Вложение.Имя) = 0 Тогда
@@ -260,7 +260,7 @@
СтруктураПисьмо.Вставить("Вложения", ВложенияСИдентификаторами);
УправлениеЭлектроннойПочтой.УстановитьТекстПисьма(СтруктураПисьмо, ПочтовоеСообщение);
УправлениеЭлектроннойПочтой.УстановитьТекстПисьма(СтруктураПисьмо, НовоеПочтовоеСообщение);
ПараметрыФормирования = Взаимодействия.ПараметрыФормированияДокументаHTMLНаОснованииПисьма(СтруктураПисьмо);
ПараметрыФормирования.Письмо = СтруктураПисьмо;
@@ -69,16 +69,10 @@
Тема = Взаимодействия.ТемаПоТекстуСообщения(ТекстСообщения);
Взаимодействия.СформироватьСписокУчастников(ЭтотОбъект);
Если Метаданные.ОбщиеМодули.Найти("ВзаимодействияЛокализация") <> Неопределено Тогда
МодульВзаимодействияЛокализация = ОбщегоНазначения.ОбщийМодуль("ВзаимодействияЛокализация");
Для Каждого СтрокаАдресаты Из Адресаты Цикл
МодульВзаимодействияЛокализация.ОтформатироватьТелефонныйНомерДляОтправки(СтрокаАдресаты.КакСвязаться, СтрокаАдресаты.НомерДляОтправки);
ВзаимодействияЛокализация.ПриФорматированииТелефонногоНомераДляОтправки(СтрокаАдресаты.КакСвязаться, СтрокаАдресаты.НомерДляОтправки);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ПриКопировании(ОбъектКопирования)
@@ -24,26 +24,45 @@
Возврат;
КонецЕсли;
Команда = КомандыОтчетов.Добавить();
Команда.Представление = НСтр("ru = 'Права пользователей'");
Команда.МножественныйВыбор = Истина;
Команда.Менеджер = "Отчет.АнализПравДоступа";
ПредставлениеВарианта = НСтр("ru = 'Права пользователей'");
ТолькоВоВсехДействиях = Ложь;
ВажностьВарианта = "";
Если Параметры.ИмяФормы = "Справочник.Пользователи.Форма.ФормаСписка"
Или Параметры.ИмяФормы = "Справочник.ВнешниеПользователи.Форма.ФормаСписка" Тогда
Команда.КлючВарианта = "ПраваПользователейНаТаблицы";
Если Не Пользователи.ЭтоПолноправныйПользователь() Тогда
Возврат;
КонецЕсли;
КлючВарианта = "ПраваПользователейНаТаблицы";
ИначеЕсли Параметры.ИмяФормы = "Справочник.Пользователи.Форма.ФормаЭлемента"
Или Параметры.ИмяФормы = "Справочник.ВнешниеПользователи.Форма.ФормаЭлемента" Тогда
Команда.Представление = НСтр("ru = 'Права пользователя'");
Команда.КлючВарианта = "ПраваПользователяНаТаблицы";
Иначе
Команда.КлючВарианта = "ПраваПользователейНаТаблицу";
Команда.ТолькоВоВсехДействиях = Истина;
Команда.Важность = "СмТакже";
Если Не Пользователи.ЭтоПолноправныйПользователь() Тогда
Возврат;
КонецЕсли;
КлючВарианта = "ПраваПользователяНаТаблицы";
ПредставлениеВарианта = НСтр("ru = 'Права пользователя'");
ИначеЕсли Не Пользователи.ЭтоПолноправныйПользователь() Тогда
КлючВарианта = "ПраваПользователяНаТаблицу";
ПредставлениеВарианта = НСтр("ru = 'Права пользователя'");
ТолькоВоВсехДействиях = Истина;
ВажностьВарианта = "СмТакже";
Иначе
КлючВарианта = "ПраваПользователейНаТаблицу";
ТолькоВоВсехДействиях = Истина;
ВажностьВарианта = "СмТакже";
КонецЕсли;
Команда = КомандыОтчетов.Добавить();
Команда.КлючВарианта = КлючВарианта;
Команда.Представление = ПредставлениеВарианта;
Команда.ТолькоВоВсехДействиях = ТолькоВоВсехДействиях;
Команда.МножественныйВыбор = Истина;
Команда.Важность = ВажностьВарианта;
Команда.Менеджер = "Отчет.АнализПравДоступа";
КонецПроцедуры
@@ -134,6 +153,55 @@
Результат.Вставить("ИмяПоляРасшифровки", ИмяПоляРасшифровки);
Результат.Вставить("СписокПолей", СписокПолей);
ГруппаДоступа = СписокПолей.Получить("ГруппаДоступа");
Если Не ПравоДоступа("Просмотр", Метаданные.Справочники.ГруппыДоступа)
Или ЗначениеЗаполнено(ГруппаДоступа)
И ТипЗнч(ГруппаДоступа) = Тип("СправочникСсылка.ГруппыДоступа")
И Не УправлениеДоступом.ЧтениеРазрешено(ГруппаДоступа) Тогда
СписокПолей.Удалить("ГруппаДоступа");
КонецЕсли;
ЗначениеДоступа = СписокПолей.Получить("ЗначениеДоступа");
Если ТипЗнч(ЗначениеДоступа) = Тип("Строка") Тогда
ПустыеСсылки = УправлениеДоступомСлужебный.ПустыеСсылкиЗначенийДоступа();
НайденнаяСтрока = ПустыеСсылки.Найти(ЗначениеДоступа, "Представление");
Если НайденнаяСтрока <> Неопределено Тогда
СписокПолей.Вставить("ЗначениеДоступа", НайденнаяСтрока.ПустаяСсылка);
КонецЕсли;
КонецЕсли;
ЗначениеРасшифровки = СписокПолей.Получить(ИмяПоляРасшифровки);
Если ИмяПоляРасшифровки = "ОбъектМетаданныхЗаголовкаОтчета" Тогда
Если ЗначениеЗаполнено(ЗначениеРасшифровки) Тогда
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(ЗначениеРасшифровки, Ложь);
Если ТипЗнч(ОбъектМетаданных) = Тип("ОбъектМетаданных")
И ПравоДоступа("Просмотр", ОбъектМетаданных) Тогда
СписокПолей.Вставить("ОбъектМетаданныхНавигационнаяСсылка",
ПолучитьНавигационнуюСсылку(ОбъектМетаданных));
КонецЕсли;
КонецЕсли;
КонецЕсли;
МетаданныеЗначения = Метаданные.НайтиПоТипу(ТипЗнч(ЗначениеРасшифровки));
Если МетаданныеЗначения = Неопределено
Или Не ПравоДоступа("Просмотр", МетаданныеЗначения)
Или ЗначениеЗаполнено(ЗначениеРасшифровки)
И Не УправлениеДоступом.ЧтениеРазрешено(ЗначениеРасшифровки) Тогда
СписокПолей.Удалить(ИмяПоляРасшифровки);
ЗначениеРасшифровки = Неопределено;
КонецЕсли;
Если ЗначениеЗаполнено(ЗначениеРасшифровки)
И ИмяПоляРасшифровки = "ВладелецИлиПользовательНастроек"
И Метаданные.ОпределяемыеТипы.ВладелецНастроекПрав.Тип.СодержитТип(ТипЗнч(ЗначениеРасшифровки))
И Не УправлениеДоступом.ЕстьПраво("УправлениеПравами", ЗначениеРасшифровки) Тогда
СписокПолей.Удалить(ИмяПоляРасшифровки);
КонецЕсли;
Возврат Результат;
КонецФункции
@@ -90,7 +90,8 @@
Вариант = НовыеНастройкиКД.ДополнительныеСвойства.КлючПредопределенногоВарианта;
Если ЗначениеЗаполнено(РеквизитыФормы.КонтекстВарианта) Тогда
Если Вариант = "ПраваПользователейНаТаблицу" Тогда
Если Вариант = "ПраваПользователейНаТаблицу"
Или Вариант = "ПраваПользователяНаТаблицу" Тогда
ОбъектМетаданных = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Контекст.КонтекстВарианта, Ложь);
Если ЗначениеЗаполнено(ОбъектМетаданных) Тогда
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(НовыеНастройкиКД.Отбор, "ОбъектМетаданных", ОбъектМетаданных,
@@ -108,13 +109,25 @@
КонецЕсли;
КонецЕсли;
СхемаИзменена = Ложь;
Если Не Пользователи.ЭтоПолноправныйПользователь() Тогда
СхемаКомпоновкиДанных.Параметры.Пользователь.ОграничениеИспользования = Истина;
СхемаКомпоновкиДанных.Параметры.ВидПользователей.ОграничениеИспользования = Истина;
СхемаИзменена = Истина;
КонецЕсли;
Если Не Константы.ИспользоватьВнешнихПользователей.Получить() Тогда
СхемаКомпоновкиДанных.Параметры.ВидПользователей.ОграничениеИспользования = Истина;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
СхемаИзменена = Истина;
КонецЕсли;
Если СхемаИзменена
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
МодульОтчетыСервер = ОбщегоНазначения.ОбщийМодуль("ОтчетыСервер");
МодульОтчетыСервер.ПодключитьСхему(ЭтотОбъект, Контекст, СхемаКомпоновкиДанных, КлючСхемы);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -167,6 +180,8 @@
ПараметрВидПользователей.Использование = Ложь;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
НастройкиПрав = НастройкиПравПоОбъектам();
Если Не ЗначениеЗаполнено(НастройкиПрав.НастройкиПравЛегенда) Тогда
@@ -1529,6 +1544,11 @@
Результат.Вставить("БезГрупп", Истина);
Результат.Вставить("Значение", Неопределено);
Если Не Пользователи.ЭтоПолноправныйПользователь(,, Ложь) Тогда
Результат.Значение = Пользователи.АвторизованныйПользователь();
Возврат Результат;
КонецЕсли;
ПолеОтбора = КомпоновщикНастроек.ПолучитьНастройки().ПараметрыДанных.Элементы.Найти("Пользователь");
ЗначениеОтбора = ПолеОтбора.Значение;
Если Не ПолеОтбора.Использование Или Не ЗначениеЗаполнено(ЗначениеОтбора) Тогда
@@ -1620,7 +1640,7 @@
Возврат Результат;
КонецЕсли;
Если Пользователи.ЭтоПолноправныйПользователь(Пользователь) Тогда
Если Пользователи.ЭтоПолноправныйПользователь(Пользователь,, Ложь) Тогда
Возврат Результат;
КонецЕсли;
@@ -1435,9 +1435,22 @@
<dcsat:item xsi:type="dcsat:Field">
<dcsat:value xsi:type="dcscor:Parameter">ОбъектМетаданных</dcsat:value>
</dcsat:item>
<dcsat:appearance>
<dcscor:item>
<dcscor:parameter>Расшифровка</dcscor:parameter>
<dcscor:value xsi:type="dcscor:Parameter">Расшифровка</dcscor:value>
</dcscor:item>
</dcsat:appearance>
</dcsat:tableCell>
</dcsat:item>
</template>
<parameter xmlns:dcsat="http://v8.1c.ru/8.1/data-composition-system/area-template" xsi:type="dcsat:DetailsAreaTemplateParameter">
<dcsat:name>Расшифровка</dcsat:name>
<dcsat:fieldExpression>
<dcsat:field>ОбъектМетаданныхЗаголовкаОтчета</dcsat:field>
<dcsat:expression>ОбъектМетаданных</dcsat:expression>
</dcsat:fieldExpression>
</parameter>
<parameter xmlns:dcsat="http://v8.1c.ru/8.1/data-composition-system/area-template" xsi:type="dcsat:ExpressionAreaTemplateParameter">
<dcsat:name>ОбъектМетаданных</dcsat:name>
<dcsat:expression>Представление(ОбъектМетаданных)</dcsat:expression>
@@ -236,7 +236,8 @@
НоваяСтрока.ПометкаУдаленияПрофиля = СвойстваПрофиля.ПометкаУдаления;
НоваяСтрока.Роль = ДесериализованнаяСсылка(ОписаниеИзменения.Роль);
НоваяСтрока.ИмяРоли = СвойстваРоли.Имя;
НоваяСтрока.ПредставлениеРоли = СвойстваРоли.Синоним;
НоваяСтрока.ПредставлениеРоли = ?(ЗначениеЗаполнено(СвойстваРоли.Синоним),
СвойстваРоли.Синоним, СвойстваРоли.Имя);
НоваяСтрока.ПометкаУдаленияРоли = СвойстваРоли.ПометкаУдаления;
НоваяСтрока.РольЕстьВМетаданных = СвойстваРоли.ЕстьВМетаданных;
НоваяСтрока.ВидИзменения = ?(ОписаниеИзменения.ВидИзменения = "Удалено", "-",
@@ -251,7 +252,8 @@
НоваяСтрока.БылоИмяРоли = ?(СтарыеЗначения.Свойство("Имя"),
СтарыеЗначения.Имя, НоваяСтрока.ИмяРоли);
НоваяСтрока.БылоПредставлениеРоли = ?(СтарыеЗначения.Свойство("Синоним"),
СтарыеЗначения.Синоним, НоваяСтрока.ПредставлениеРоли);
?(ЗначениеЗаполнено(СтарыеЗначения.Синоним), СтарыеЗначения.Синоним, НоваяСтрока.БылоИмяРоли),
НоваяСтрока.ПредставлениеРоли);
НоваяСтрока.БылоПометкаУдаленияРоли = ?(СтарыеЗначения.Свойство("ПометкаУдаления"),
СтарыеЗначения.ПометкаУдаления, НоваяСтрока.ПометкаУдаленияРоли);
КонецЦикла;
@@ -32,12 +32,15 @@
НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ЗаканчиваетсяСрокДействия");
НастройкиВарианта.Описание = НСтр("ru = 'Сертификаты, у которых заканчивается срок действия.'");
НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ТребуетсяВыпускСертификатаФЛ");
НастройкиВарианта.Описание = НСтр("ru = 'Сертификаты сотрудников, выпущенные коммерческими УЦ, которым требуется выпуск сертификата физического лица.'");
НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СертификатыСотрудников");
НастройкиВарианта.Описание = НСтр("ru = 'Сертификаты сотрудников.'");
НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ТребуетсяМЧД");
НастройкиВарианта.Описание = НСтр("ru = 'Сертификаты, для которых требуется МЧД.'");
НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ТребуетсяВыпускСертификатаФЛ");
НастройкиВарианта.Описание = НСтр("ru = 'Сертификаты организации, выпущенные коммерческими УЦ, которым требуется выпуск сертификата физического лица.'");
КонецПроцедуры
// Определяет список команд отчетов.
@@ -56,25 +59,31 @@
Команда.КлючВарианта = "СертификатыЭлектроннойПодписи";
Команда.Представление = НСтр("ru = 'Сертификаты электронной подписи'");
Команда.Идентификатор = "СертификатыЭлектроннойПодписи";
Команда.Важность = "Важное";
Команда.Неконтекстный = Истина;
Команда = КомандыОтчетов.Добавить();
Команда.КлючВарианта = "ЗаканчиваетсяСрокДействия";
Команда.Представление = НСтр("ru = 'Сертификаты, у которых заканчивается срок действия'");
Команда.Идентификатор = "ЗаканчиваетсяСрокДействия";
Команда.Важность = "Важное";
Команда.Неконтекстный = Истина;
Команда = КомандыОтчетов.Добавить();
Команда.КлючВарианта = "СертификатыСотрудников";
Команда.Представление = НСтр("ru = 'Сертификаты сотрудников'");
Команда.Идентификатор = "СертификатыСотрудников";
Команда.Неконтекстный = Истина;
Команда = КомандыОтчетов.Добавить();
Команда.КлючВарианта = "ТребуетсяВыпускСертификатаФЛ";
Команда.Представление = НСтр("ru = 'Требуется выпуск сертификата физического лица'");
Команда.Идентификатор = "ТребуетсяМЧД";
Команда.Важность = "Важное";
Команда.Идентификатор = "ТребуетсяВыпускСертификатаФЛ";
Команда.Неконтекстный = Истина;
Команда = КомандыОтчетов.Добавить();
Команда.КлючВарианта = "ТребуетсяМЧД";
Команда.Представление = НСтр("ru = 'Сертификаты, для которых требуется МЧД'");
Команда.Идентификатор = "ТребуетсяМЧД";
Команда.Важность = "Важное";
Команда.Неконтекстный = Истина;
КонецПроцедуры
@@ -122,6 +122,18 @@
КонецЕсли;
КонецЦикла;
Для Каждого Элемент Из НастройкиКомпоновки.Отбор.Элементы Цикл
Если ТипЗнч(Элемент) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
Если Элемент.ЛевоеЗначение = ПолеНовыйСертификат И НайтиПеревыпущенныеСертификаты = Неопределено Тогда
НайтиПеревыпущенныеСертификаты = Элемент.Использование Или НайтиПеревыпущенныеСертификаты
<> Неопределено И НайтиПеревыпущенныеСертификаты;
КонецЕсли;
Если Элемент.ЛевоеЗначение = ПолеМЧД Тогда
НайтиМЧД = Элемент.Использование Или НайтиМЧД <> Неопределено И НайтиМЧД;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если НайтиПеревыпущенныеСертификаты <> Неопределено Тогда
ПараметрыЗапроса.Вставить("НайтиПеревыпущенныеСертификаты", НайтиПеревыпущенныеСертификаты);
Иначе
@@ -18,6 +18,12 @@
<valueType>
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:CatalogRef.СертификатыКлючейЭлектроннойПодписиИШифрования</v8:Type>
</valueType>
<appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">45</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>Квалифицированный</dataPath>
@@ -41,6 +47,10 @@
</v8:item>
</dcscor:value>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">6</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
@@ -65,6 +75,10 @@
</v8:item>
</dcscor:value>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">10</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
@@ -83,6 +97,12 @@
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</valueType>
<appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">45</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>СрокДействияИстекает</dataPath>
@@ -106,6 +126,10 @@
</v8:item>
</dcscor:value>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">10</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
@@ -114,7 +138,7 @@
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выдан организации коммерческим УЦ, требуется перевыпуск</v8:content>
<v8:content>Сертификат сотрудника</v8:content>
</v8:item>
</title>
<valueType>
@@ -130,6 +154,10 @@
</v8:item>
</dcscor:value>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">11</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
@@ -148,6 +176,12 @@
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</valueType>
<appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">40</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>ДатаОкончанияЗакрытогоКлюча</dataPath>
@@ -187,7 +221,7 @@
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Используется в приложении для подписания или расшифровки</v8:content>
<v8:content>Используется в приложении для подписания</v8:content>
</v8:item>
</title>
<valueType>
@@ -203,6 +237,10 @@
</v8:item>
</dcscor:value>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">10</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
@@ -240,6 +278,10 @@
</v8:item>
</dcscor:value>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">6</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
@@ -267,6 +309,12 @@
<valueType>
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:CatalogRef.СертификатыКлючейЭлектроннойПодписиИШифрования</v8:Type>
</valueType>
<appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">45</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>ИНН</dataPath>
@@ -308,7 +356,7 @@
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Это сертификат ФЛ</v8:content>
<v8:content>Сертификат ФЛ</v8:content>
</v8:item>
</title>
<valueType>
@@ -324,6 +372,10 @@
</v8:item>
</dcscor:value>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">10</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
@@ -348,6 +400,10 @@
</v8:item>
</dcscor:value>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">6</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
@@ -393,6 +449,12 @@
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</valueType>
<appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">45</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>МашиночитаемаяДоверенность</dataPath>
@@ -406,6 +468,12 @@
<valueType>
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:CatalogRef.МашиночитаемыеДоверенности</v8:Type>
</valueType>
<appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">45</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>КомуВыдан</dataPath>
@@ -423,6 +491,12 @@
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</valueType>
<appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>МаксимальнаяШирина</dcscor:parameter>
<dcscor:value xsi:type="xs:decimal">40</dcscor:value>
</dcscor:item>
</appearance>
</field>
<dataSource>ИсточникДанных1</dataSource>
<objectName>Сертификаты</objectName>
@@ -823,15 +897,18 @@
</dcsset:settings>
</settingsVariant>
<settingsVariant>
<dcsset:name>ТребуетсяМЧД</dcsset:name>
<dcsset:name>СертификатыСотрудников</dcsset:name>
<dcsset:presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сертификаты, для которых требуется МЧД</v8:content>
<v8:content>Сертификаты сотрудников</v8:content>
</v8:item>
</dcsset:presentation>
<dcsset:settings xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows">
<dcsset:selection>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>СистемныеПоля.НомерПоПорядку</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Сертификат</dcsset:field>
</dcsset:item>
@@ -842,12 +919,15 @@
<dcsset:field>КемВыдан</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>Используется</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>МашиночитаемаяДоверенность</dcsset:field>
<dcsset:use>false</dcsset:use>
<dcsset:field>НовыйСертификат</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>Квалифицированный</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
@@ -855,24 +935,9 @@
<dcsset:field>СрокДействияИстекает</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>Тестовый</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>ТребуетсяМЧД</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>ТребуетсяВыпуститьСертификатФизическогоЛица</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>КомуВыдан</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>НовыйСертификат</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>Предупреждение</dcsset:field>
@@ -899,60 +964,36 @@
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>КомуВыдан</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ОрганизацияУказаннаяВДанныхСертификата</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Отозван</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>Количество</dcsset:field>
</dcsset:item>
</dcsset:selection>
<dcsset:filter>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:use>false</dcsset:use>
<dcsset:left xsi:type="dcscor:Field">Организация</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:userSettingID>c2de53c2-faa0-4590-8f89-1d1c85de2f3e</dcsset:userSettingID>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:use>false</dcsset:use>
<dcsset:left xsi:type="dcscor:Field">Используется</dcsset:left>
<dcsset:left xsi:type="dcscor:Field">ТребуетсяВыпуститьСертификатФизическогоЛица</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="xs:boolean">true</dcsset:right>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:use>false</dcsset:use>
<dcsset:left xsi:type="dcscor:Field">Квалифицированный</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="xs:boolean">true</dcsset:right>
<dcsset:userSettingID>ccc513a8-0b5f-45f5-94ba-9625df2779db</dcsset:userSettingID>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:left xsi:type="dcscor:Field">ТребуетсяМЧД</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="xs:boolean">true</dcsset:right>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:use>false</dcsset:use>
<dcsset:left xsi:type="dcscor:Field">Тестовый</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="xs:boolean">false</dcsset:right>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:left xsi:type="dcscor:Field">МашиночитаемаяДоверенность</dcsset:left>
<dcsset:comparisonType>NotFilled</dcsset:comparisonType>
<dcsset:userSettingID>861b1f57-26e6-4945-a522-d57aa6d7be35</dcsset:userSettingID>
</dcsset:item>
</dcsset:filter>
<dcsset:dataParameters>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:use>false</dcscor:use>
<dcscor:parameter>Пользователь</dcscor:parameter>
<dcscor:value xsi:nil="true"/>
<dcsset:userSettingID>9efe9f54-d924-420c-82a4-7603bba23d1a</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ДействителенПосле</dcscor:parameter>
<dcscor:value xsi:type="v8:StandardBeginningDate">
<v8:variant xsi:type="v8:StandardBeginningDateVariant">BeginningOfThisDay</v8:variant>
<v8:variant xsi:type="v8:StandardBeginningDateVariant">BeginningOfThisYear</v8:variant>
</dcscor:value>
</dcscor:item>
</dcsset:dataParameters>
@@ -1155,4 +1196,171 @@
</dcsset:item>
</dcsset:settings>
</settingsVariant>
<settingsVariant>
<dcsset:name>ТребуетсяМЧД</dcsset:name>
<dcsset:presentation xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сертификаты, для которых требуется МЧД</v8:content>
</v8:item>
</dcsset:presentation>
<dcsset:settings xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows">
<dcsset:selection>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Сертификат</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ДействителенДо</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>КемВыдан</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Используется</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>МашиночитаемаяДоверенность</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Квалифицированный</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>СрокДействияИстекает</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Тестовый</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>ТребуетсяМЧД</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>КомуВыдан</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>НовыйСертификат</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>Предупреждение</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>ДатаОкончания</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>ДатаОкончанияЗакрытогоКлюча</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>ИНН</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>ИННЮЛ</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>ФизическоеЛицо</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>ОрганизацияУказаннаяВДанныхСертификата</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Количество</dcsset:field>
</dcsset:item>
</dcsset:selection>
<dcsset:filter>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:use>false</dcsset:use>
<dcsset:left xsi:type="dcscor:Field">Организация</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:userSettingID>c2de53c2-faa0-4590-8f89-1d1c85de2f3e</dcsset:userSettingID>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:use>false</dcsset:use>
<dcsset:left xsi:type="dcscor:Field">Используется</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="xs:boolean">true</dcsset:right>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:use>false</dcsset:use>
<dcsset:left xsi:type="dcscor:Field">Квалифицированный</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="xs:boolean">true</dcsset:right>
<dcsset:userSettingID>ccc513a8-0b5f-45f5-94ba-9625df2779db</dcsset:userSettingID>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:left xsi:type="dcscor:Field">ТребуетсяМЧД</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="xs:boolean">true</dcsset:right>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:use>false</dcsset:use>
<dcsset:left xsi:type="dcscor:Field">Тестовый</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="xs:boolean">false</dcsset:right>
</dcsset:item>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:left xsi:type="dcscor:Field">МашиночитаемаяДоверенность</dcsset:left>
<dcsset:comparisonType>NotFilled</dcsset:comparisonType>
<dcsset:userSettingID>861b1f57-26e6-4945-a522-d57aa6d7be35</dcsset:userSettingID>
</dcsset:item>
</dcsset:filter>
<dcsset:dataParameters>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:use>false</dcscor:use>
<dcscor:parameter>Пользователь</dcscor:parameter>
<dcscor:value xsi:nil="true"/>
<dcsset:userSettingID>9efe9f54-d924-420c-82a4-7603bba23d1a</dcsset:userSettingID>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ДействителенПосле</dcscor:parameter>
<dcscor:value xsi:type="v8:StandardBeginningDate">
<v8:variant xsi:type="v8:StandardBeginningDateVariant">BeginningOfThisDay</v8:variant>
</dcscor:value>
</dcscor:item>
</dcsset:dataParameters>
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemField">
<dcsset:field>Сертификат</dcsset:field>
<dcsset:orderType>Asc</dcsset:orderType>
</dcsset:item>
</dcsset:order>
<dcsset:item xsi:type="dcsset:StructureItemGroup">
<dcsset:groupItems>
<dcsset:item xsi:type="dcsset:GroupItemField">
<dcsset:field>Организация</dcsset:field>
<dcsset:groupType>Items</dcsset:groupType>
<dcsset:periodAdditionType>None</dcsset:periodAdditionType>
<dcsset:periodAdditionBegin xsi:type="xs:dateTime">0001-01-01T00:00:00</dcsset:periodAdditionBegin>
<dcsset:periodAdditionEnd xsi:type="xs:dateTime">0001-01-01T00:00:00</dcsset:periodAdditionEnd>
</dcsset:item>
</dcsset:groupItems>
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemAuto"/>
</dcsset:order>
<dcsset:selection>
<dcsset:item xsi:type="dcsset:SelectedItemAuto"/>
</dcsset:selection>
<dcsset:item xsi:type="dcsset:StructureItemGroup">
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemAuto"/>
</dcsset:order>
<dcsset:selection>
<dcsset:item xsi:type="dcsset:SelectedItemAuto"/>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:use>false</dcsset:use>
<dcsset:field>Количество</dcsset:field>
</dcsset:item>
</dcsset:selection>
</dcsset:item>
</dcsset:item>
</dcsset:settings>
</settingsVariant>
</DataCompositionSchema>
@@ -64,7 +64,8 @@
// * ИсточникДанных - СправочникСсылка.ИдентификаторыОбъектовМетаданных
//
Функция ФиксированныеПараметры(Настройки, ПользовательскиеНастройки, ДоступныеЗначения, Контекст) Экспорт
ФиксированныеПараметры = Новый Структура("Период, ИсточникДанных, ТипОбъектаМетаданных, ИмяОбъектаМетаданных, ИмяТаблицы");
ФиксированныеПараметры = Новый Структура("Период, ИсточникДанных, ТипОбъектаМетаданных, ИмяОбъектаМетаданных, ИмяТаблицы,
| ИмяТипаОбъектаМетаданных, ИмяТаблицыОбъектаМетаданных");
ДоступныеЗначения = Новый Структура("ТипОбъектаМетаданных, ИмяОбъектаМетаданных, ИмяТаблицы");
УстановитьФиксированныйПараметр("Период", ФиксированныеПараметры, Настройки, ПользовательскиеНастройки);
@@ -77,6 +78,8 @@
Настройки, ПользовательскиеНастройки,
ДоступныеЗначения.ТипОбъектаМетаданных, Контекст);
ФиксированныеПараметры.ИмяТипаОбъектаМетаданных = ФиксированныеПараметры.ТипОбъектаМетаданных;
ДоступныеЗначения.ИмяОбъектаМетаданных = ДоступныеОбъектыМетаданных(
ФиксированныеПараметры.ТипОбъектаМетаданных);
УстановитьФиксированныйПараметр(
@@ -91,10 +94,12 @@
УстановитьФиксированныйПараметр(
"ИмяТаблицы", ФиксированныеПараметры, Настройки, ПользовательскиеНастройки, ДоступныеЗначения.ИмяТаблицы);
ФиксированныеПараметры.ИмяТаблицыОбъектаМетаданных = ФиксированныеПараметры.ИмяТаблицы;
ФиксированныеПараметры.ИсточникДанных = ИсточникДанных(
ФиксированныеПараметры.ТипОбъектаМетаданных, ФиксированныеПараметры.ИмяОбъектаМетаданных);
Идентификаторы = СтрРазделить("ТипОбъектаМетаданных, ИмяОбъектаМетаданных, ИмяТаблицы", ", ", Ложь);
Идентификаторы = СтрРазделить("ТипОбъектаМетаданных, ИмяОбъектаМетаданных, ИмяТаблицы, ИмяТипаОбъектаМетаданных, ИмяТаблицыОбъектаМетаданных", ", ", Ложь);
ПараметрыДанных = Настройки.ПараметрыДанных.Элементы;
Для Каждого Идентификатор Из Идентификаторы Цикл
ЭлементНастройки = ПараметрыДанных.Найти(Идентификатор);
@@ -555,7 +560,7 @@
Для НомерСубконто = 1 По КоличествоСубконто Цикл
ПолеСубконто = ДобавитьПолеНабораДанных(СхемаКомпоновкиДанных.НаборыДанных[0], "Субконто" + НомерСубконто, НСтр("ru = 'Субконто'") + " " + НомерСубконто);
ПолеСубконто.Роль.Измерение = Истина;
ПолеСубконто.Роль.ИгнорироватьЗначенияNULL = Истина;
ПолеСубконто.Роль.ИгнорироватьЗначенияNULL = Ложь;
КонецЦикла;
КонецЕсли;
@@ -1817,8 +1822,8 @@
ДатаОкончания = ?(ТипЗнч(Период) = Тип("СтандартныйПериод"), Период.ДатаОкончания, Период);
Если СтрНайти(ВРег(ТипОбъектаМетаданных), "РЕГИСТР") = 0
Или СтрСравнить(ИмяТаблицы, ПредставлениеИмениТаблицыОсновныеДанные()) = 0
Или СтрСравнить(ТипОбъектаМетаданных, ПредставлениеТипаОбъектаМетаданныхРегистрРасчета()) = 0 Тогда
Или ПустаяСтрока(ИмяТаблицы)
Или СтрСравнить(ТипОбъектаМетаданных, "РегистрыРасчета") = 0 Тогда
Возврат ДатаОкончания;
КонецЕсли;
@@ -1832,12 +1837,6 @@
КонецФункции
Функция ПредставлениеТипаОбъектаМетаданныхРегистрРасчета()
Возврат НСтр("ru = 'Регистр расчета'");
КонецФункции
#КонецОбласти
#КонецЕсли
@@ -53,7 +53,7 @@
</valueType>
<value xsi:type="xs:dateTime">0001-01-01T00:00:00</value>
<useRestriction>true</useRestriction>
<expression>Отчеты.УниверсальныйОтчет.ПериодДатаОкончания(&amp;Период, &amp;ТипОбъектаМетаданных, &amp;ИмяТаблицы)</expression>
<expression>Отчеты.УниверсальныйОтчет.ПериодДатаОкончания(&amp;Период, &amp;ИмяТипаОбъектаМетаданных, &amp;ИмяТаблицыОбъектаМетаданных)</expression>
</parameter>
<parameter>
<name>ИсточникДанных</name>
@@ -142,6 +142,44 @@
<useRestriction>false</useRestriction>
<use>Always</use>
</parameter>
<parameter>
<name>ИмяТипаОбъектаМетаданных</name>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя типа объекта метаданных</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</valueType>
<value xsi:type="xs:string"/>
<useRestriction>true</useRestriction>
<use>Always</use>
</parameter>
<parameter>
<name>ИмяТаблицыОбъектаМетаданных</name>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя таблицы объекта метаданных</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</valueType>
<value xsi:type="xs:string"/>
<useRestriction>true</useRestriction>
<use>Always</use>
</parameter>
<settingsVariant>
<dcsset:name>Основной</dcsset:name>
<dcsset:presentation xsi:type="v8:LocalStringType">
@@ -1608,93 +1608,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>
@@ -3236,6 +3149,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ИсторияМуниципальнойИерархии</name>
<right>
@@ -785,33 +785,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.ПричиныИзмененияАдресныхСведений</name>
<right>
@@ -1691,6 +1664,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>CommonForm.СравнениеТабличныхДокументов</name>
<right>
@@ -644,33 +644,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.ПричиныИзмененияАдресныхСведений</name>
<right>
@@ -1359,6 +1332,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>CommonForm.СравнениеТабличныхДокументов</name>
<right>
@@ -289,33 +289,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.PutMessageForDataMatching</name>
<right>
@@ -569,6 +542,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_3_0_2_1.Operation.StopTasks</name>
<right>
@@ -72,33 +72,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.ПричиныИзмененияАдресныхСведений</name>
<right>
@@ -191,6 +164,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>
@@ -49,33 +49,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.ПользовательскиеНастройкиОтчетов</name>
<right>
@@ -122,6 +95,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>CommonForm.НастройкаКолонтитулов</name>
<right>
@@ -402,33 +402,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>
@@ -1064,6 +1037,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>
@@ -3,33 +3,6 @@
<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>
@@ -108,4 +81,31 @@
<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>
@@ -28,33 +28,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>
@@ -112,6 +85,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>
@@ -3,33 +3,6 @@
<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>
@@ -122,6 +95,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>CommonForm.ДополнительныеОтчетыИОбработки</name>
<right>
@@ -81,6 +81,13 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.РедактированиеГиперссылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -108,13 +115,6 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.РедактированиеГиперссылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ЗначенияСвойствОбъектовИерархия</name>
<right>
@@ -72,33 +72,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>Task.ЗадачаИсполнителя.Command.ВсеЗадачи</name>
<right>
@@ -127,6 +100,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>Task.ЗадачаИсполнителя.Command.МоиЗадачи</name>
<right>
@@ -49,33 +49,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.ПроизводственныеКалендари</name>
<right>
@@ -115,6 +88,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>Constant.ИспользоватьНесколькоПроизводственныхКалендарей</name>
<right>
@@ -72,33 +72,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.ПользовательскиеНастройкиОтчетов</name>
<right>
@@ -159,6 +132,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>CommonForm.НастройкаКолонтитулов</name>
<right>
@@ -165,6 +165,24 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.ОтправитьSMS</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИспользоватьОтправкуSMSВШаблонахСообщений</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -192,24 +210,6 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.ОтправитьSMS</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИспользоватьОтправкуSMSВШаблонахСообщений</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИспользоватьЭлектроннуюПочтуВШаблонахСообщений</name>
<right>
@@ -49,6 +49,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>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -76,17 +87,6 @@
<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>Catalog.МашиночитаемыеДоверенностиПрисоединенныеФайлы</name>
<right>
@@ -66,33 +66,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.Анкета</name>
<right>
@@ -163,6 +136,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>DataProcessor.ДоступныеАнкеты</name>
<right>
@@ -10,6 +10,13 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Файлы.Command.Файлы</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -37,13 +44,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Файлы.Command.Файлы</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ПапкиФайлов</name>
<right>
@@ -10,6 +10,13 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Файлы.Command.Файлы</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -37,13 +44,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.Файлы.Command.Файлы</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ПапкиФайлов</name>
<right>
@@ -21,33 +21,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.Пользователи</name>
<right>
@@ -105,6 +78,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>
Loaded 100 of 132 files, more files were not shown because too many files have changed in this diff. Show more