3_1_9_162

This commit is contained in:
Компания 1С committed 2023-10-02 16:39:00 +03:00
1 parent eefe832922
commit fffad70fe9
142 files changed
+5656 -1534

No files matched your search

@@ -0,0 +1,16 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2023, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ПараметрыФормы = Новый Структура("Доверенность", ПараметрКоманды);
ОткрытьФорму("Справочник.МашиночитаемыеДоверенности.Форма.ОтменаДоверенности",
ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка,,
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
@@ -0,0 +1,221 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormField">
<name>ПричинаОтмены</name>
<id>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ПричинаОтмены</segments>
</dataPath>
<extendedTooltip>
<name>ПричинаОтменыРасширеннаяПодсказка</name>
<id>6</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПричинаОтменыКонтекстноеМеню</name>
<id>5</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">
<width>50</width>
<height>5</height>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<multiLine>true</multiLine>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаКоманднаяПанель</name>
<id>7</id>
<items xsi:type="form:Button">
<name>ОтменитьДоверенность</name>
<id>11</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОтменитьДоверенностьРасширеннаяПодсказка</name>
<id>12</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ОтменитьДоверенность</commandName>
<representation>Auto</representation>
<defaultButton>true</defaultButton>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>Отмена</name>
<id>9</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОтменаРасширеннаяПодсказка</name>
<id>10</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Cancel</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Командная панель</value>
</title>
<extendedTooltip>
<name>ГруппаКоманднаяПанельРасширеннаяПодсказка</name>
<id>8</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>CommandBar</type>
<extInfo xsi:type="form:CommandBarExtInfo">
<horizontalAlign>Right</horizontalAlign>
</extInfo>
</items>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<horizontalAlign>Left</horizontalAlign>
</autoCommandBar>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<windowOpeningMode>DontBlock</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
<enabled>true</enabled>
<showTitle>auto</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>Доверенность</name>
<id>1</id>
<valueType>
<types>CatalogRef.МашиночитаемыеДоверенности</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ПричинаОтмены</name>
<title>
<key>ru</key>
<value>Причина отмены</value>
</title>
<id>2</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>НомерДоверенности</name>
<id>3</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ОтменитьДоверенность</name>
<title>
<key>ru</key>
<value>Отменить доверенность</value>
</title>
<id>1</id>
<toolTip>
<key>ru</key>
<value>Отменить доверенность</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ОтменитьДоверенность</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>Доверенность</name>
<valueType>
<types>CatalogRef.МашиночитаемыеДоверенности</types>
</valueType>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
</form:Form>
@@ -0,0 +1,94 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2023, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Доверенность = Параметры.Доверенность;
НомерДоверенности = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Доверенность, "НомерДоверенности");
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовФормы
&НаКлиенте
Процедура ОтменитьДоверенность(Команда)
ДанныеОтмены = МашиночитаемыеДоверенностиФНССлужебныйВызовСервера.ПолучитьФайлОтменыДоверенности(Доверенность, ПричинаОтмены);
ОписаниеДанных = Новый Структура;
ОписаниеДанных.Вставить("Операция", НСтр("ru='Отмена доверенности'"));
ОписаниеДанных.Вставить("ЗаголовокДанных", НСтр("ru='Доверенность'"));
ОписаниеДанных.Вставить("Данные", ДанныеОтмены.Содержимое);
ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных,,Новый ОписаниеОповещения("ОтправитьОтменуДоверенности", ЭтотОбъект, ДанныеОтмены));
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ОтправитьОтменуДоверенности(Результат, ДанныеОтмены) Экспорт
Если Результат.Успех Тогда
Если ТипЗнч(Результат.СвойстваПодписи) = Тип("Структура") Тогда
СвойстваПодписи = Результат.СвойстваПодписи;
Иначе
СвойстваПодписи = ПолучитьИзВременногоХранилища(Результат.СвойстваПодписи);
КонецЕсли;
Если Не СвойстваПодписи.ПодписьВерна
И СвойстваПодписи.ТребуетсяПроверка = Ложь Тогда
ТекстОшибки = НСтр("ru='Сертификат подписи не прошел проверку.'");
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстОшибки);
КонецЕсли;
РезультатОтмены = МашиночитаемыеДоверенностиФНССлужебныйВызовСервера.ОтменитьМЧДРР(ДанныеОтмены.ИмяФайла, ДанныеОтмены.Содержимое, СвойстваПодписи.Подпись, ДанныеОтмены.Доверенность);
Если ЗначениеЗаполнено(РезультатОтмены.Ошибка) Тогда
КонтекстОшибки = МашиночитаемыеДоверенностиФНССлужебныйКлиент.КонтекстДляОбработкиОшибкиРР();
КонтекстОшибки.ЗаголовокПредупреждения = НСтр("ru='Не удается отменить доверенность.'");
МашиночитаемыеДоверенностиФНССлужебныйКлиент.ОбработатьОшибкуВзаимодействияРР(РезультатОтмены.Ошибка, КонтекстОшибки);
Возврат;
КонецЕсли;
ПоказатьОповещениеПользователя(НСтр("ru='Заявление отправлено'"), ПолучитьНавигационнуюСсылку(Доверенность),
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Отмена доверенности %1.'"), НомерДоверенности));
ДобавитьФайлОтзываИПолучитьРезультатРегистрации(ДанныеОтмены, СвойстваПодписи);
ОповеститьОбИзменении(Доверенность);
Оповестить("РегистрацияОтмены", Доверенность, "ФормаОтмены");
КонецЕсли;
Закрыть();
КонецПроцедуры
&НаСервере
Функция ДобавитьФайлОтзываИПолучитьРезультатРегистрации(ДанныеОтмены, СвойстваПодписи)
ФайлДоверености = Новый Файл(ДанныеОтмены.ИмяФайла);
ПараметрыДобавления = РаботаСФайлами.ПараметрыДобавленияФайла();
ПараметрыДобавления.ВладелецФайлов = Доверенность;
ПараметрыДобавления.ИмяБезРасширения = ФайлДоверености.ИмяБезРасширения;
ПараметрыДобавления.РасширениеБезТочки = ФайлДоверености.Расширение;
ПараметрыДобавления.Служебный = Истина;
ФайлЗаявленияНаОтмену = РаботаСФайлами.ДобавитьФайл(ПараметрыДобавления, ДанныеОтмены.Содержимое);
ЭлектроннаяПодпись.ДобавитьПодпись(ФайлЗаявленияНаОтмену, СвойстваПодписи);
ОбъектМЧД = Доверенность.ПолучитьОбъект();
ОбъектМЧД.ФайлЗаявленияНаОтмену = ФайлЗаявленияНаОтмену;
ОбъектМЧД.Статус = Перечисления.СтатусыМЧД.НеДействует;
ОбъектМЧД.ОбменДанными.Загрузка = Истина;
ОбъектМЧД.Записать();
КонецФункции
#КонецОбласти
@@ -495,7 +495,7 @@
Сообщение = МашиночитаемыеДоверенностиФНССлужебный.ПроверитьАдрес(ЭтотОбъект[ИмяРеквизита + "Значение"], Сообщение = МашиночитаемыеДоверенностиФНССлужебный.ПроверитьАдрес(ЭтотОбъект[ИмяРеквизита + "Значение"],
СведенияОФизическомЛице.ЭтоФизическоеЛицо); СведенияОФизическомЛице.ЭтоФизическоеЛицо);
Если ЗначениеЗаполнено(Сообщение) Тогда Если Не ТолькоПросмотр И ЗначениеЗаполнено(Сообщение) Тогда
Элементы[ИмяРеквизита + "Предупреждение"].Подсказка = Сообщение; Элементы[ИмяРеквизита + "Предупреждение"].Подсказка = Сообщение;
Элементы[ИмяРеквизита + "Предупреждение"].Видимость = Истина; Элементы[ИмяРеквизита + "Предупреждение"].Видимость = Истина;
Иначе Иначе
@@ -17,101 +17,19 @@
<name>КнопкиВыбораИзКлассификатора</name> <name>КнопкиВыбораИзКлассификатора</name>
<id>92</id> <id>92</id>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаКомпактная</name> <name>ГруппаКнопокВидПолномочий</name>
<id>233</id> <id>193</id>
<items xsi:type="form:FormGroup"> <items xsi:type="form:Button">
<name>ГруппаКнопокВидПолномочий</name> <name>ПолномочияИзКлассификатора</name>
<id>193</id> <id>195</id>
<items xsi:type="form:Button">
<name>ПолномочияИзКлассификатора</name>
<id>195</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПолномочияИзКлассификатораРасширеннаяПодсказка</name>
<id>196</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПолномочияИзКлассификатора</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ПолномочияВТекстовомВиде</name>
<id>199</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПолномочияВТекстовомВидеРасширеннаяПодсказка</name>
<id>200</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПолномочияВТекстовомВиде</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ПолномочияНеОграничены</name>
<id>197</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПолномочияНеОграниченыРасширеннаяПодсказка</name>
<id>198</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПолномочияНеОграничены</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<title>
<key>ru</key>
<value>Вид полномочий</value>
</title>
<extendedTooltip> <extendedTooltip>
<name>ГруппаКнопокВидПолномочийРасширеннаяПодсказка</name> <name>ПолномочияИзКлассификатораРасширеннаяПодсказка</name>
<id>194</id> <id>196</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -119,11 +37,119 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>Popup</type> <commandName>Form.Command.ПолномочияИзКлассификатора</commandName>
<extInfo xsi:type="form:PopupGroupExtInfo"> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<importance>Normal</importance> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ПолномочияВТекстовомВиде</name>
<id>199</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПолномочияВТекстовомВидеРасширеннаяПодсказка</name>
<id>200</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПолномочияВТекстовомВиде</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ПолномочияНеОграничены</name>
<id>197</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПолномочияНеОграниченыРасширеннаяПодсказка</name>
<id>198</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПолномочияНеОграничены</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Вид полномочий</value>
</title>
<extendedTooltip>
<name>ГруппаКнопокВидПолномочийРасширеннаяПодсказка</name>
<id>194</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip>
<type>Popup</type>
<extInfo xsi:type="form:PopupGroupExtInfo">
<representation>Auto</representation>
<importance>Normal</importance>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаКомпактная</name>
<id>233</id>
<items xsi:type="form:Button">
<name>УстановитьФлажки</name>
<id>98</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>УстановитьФлажкиРасширеннаяПодсказка</name>
<id>99</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.УстановитьФлажки</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items> </items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>СнятьФлажки</name> <name>СнятьФлажки</name>
@@ -151,32 +177,6 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </items>
<items xsi:type="form:Button">
<name>УстановитьФлажки</name>
<id>98</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>УстановитьФлажкиРасширеннаяПодсказка</name>
<id>99</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.УстановитьФлажки</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -2467,22 +2467,6 @@
<common>true</common> <common>true</common>
</edit> </edit>
</columns> </columns>
<columns>
<name>КодГруппы</name>
<id>7</id>
<valueType>
<types>String</types>
<stringQualifiers>
<length>255</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns> <columns>
<name>Флажок</name> <name>Флажок</name>
<id>8</id> <id>8</id>
@@ -447,29 +447,15 @@
&НаСервере &НаСервере
Процедура СформироватьДеревоПолномочий(АдресПолномочий) Процедура СформироватьДеревоПолномочий(АдресПолномочий)
Результат = МашиночитаемыеДоверенностиФНСПовтИсп.КлассификаторПолномочий(); КлассификаторПолномочий = МашиночитаемыеДоверенностиФНСПовтИсп.КлассификаторПолномочий();
ДеревоЗначений = Новый ДеревоЗначений; ДеревоЗначений = ОбщегоНазначения.СкопироватьРекурсивно(КлассификаторПолномочий);
ДеревоЗначений.Колонки.Добавить("Код", ОбщегоНазначения.ОписаниеТипаСтрока(255));
ДеревоЗначений.Колонки.Добавить("КодГруппы", ОбщегоНазначения.ОписаниеТипаСтрока(255));
ДеревоЗначений.Колонки.Добавить("Наименование", ОбщегоНазначения.ОписаниеТипаСтрока(255));
ДеревоЗначений.Колонки.Добавить("Мнемокод", ОбщегоНазначения.ОписаниеТипаСтрока(255)); ДеревоЗначений.Колонки.Добавить("Мнемокод", ОбщегоНазначения.ОписаниеТипаСтрока(255));
ДеревоЗначений.Колонки.Добавить("НетВКлассификаторе", Новый ОписаниеТипов("Булево")); ДеревоЗначений.Колонки.Добавить("НетВКлассификаторе", Новый ОписаниеТипов("Булево"));
ДеревоЗначений.Колонки.Добавить("Пометка", ОбщегоНазначения.ОписаниеТипаЧисло(1)); ДеревоЗначений.Колонки.Добавить("Пометка", ОбщегоНазначения.ОписаниеТипаЧисло(1));
ДеревоЗначений.Колонки.Добавить("Флажок", Новый ОписаниеТипов("Булево")); ДеревоЗначений.Колонки.Добавить("Флажок", Новый ОписаниеТипов("Булево"));
ДеревоЗначений.Колонки.Добавить("ИдентификаторПолномочия", Новый ОписаниеТипов("УникальныйИдентификатор")); ДеревоЗначений.Колонки.Добавить("ИдентификаторПолномочия", Новый ОписаниеТипов("УникальныйИдентификатор"));
Для Каждого КодПолномочия Из Результат Цикл
Если КодПолномочия.type = "GROUPED" Тогда
Родитель = НайтиГруппу(ДеревоЗначений, КодПолномочия.group);
НоваяСтрока = Родитель.Строки.Добавить();
Иначе
НоваяСтрока = ДеревоЗначений.Строки.Добавить();
КонецЕсли;
НоваяСтрока.Код = КодПолномочия.code;
НоваяСтрока.Наименование = КодПолномочия.description;
КонецЦикла;
Если АдресПолномочий <> Неопределено Тогда Если АдресПолномочий <> Неопределено Тогда
ВыбранныеПолномочия = ПолучитьИзВременногоХранилища(АдресПолномочий); ВыбранныеПолномочия = ПолучитьИзВременногоХранилища(АдресПолномочий);
@@ -482,9 +468,6 @@
КонецЕсли; КонецЕсли;
Элементы.ПоказатьВыбранные.Пометка = ВыбранныеПолномочияТаблица.Количество() > 0; Элементы.ПоказатьВыбранные.Пометка = ВыбранныеПолномочияТаблица.Количество() > 0;
ДеревоЗначений.Строки.Сортировать("Наименование, Код", Ложь);
ЗначениеВРеквизитФормы(ДеревоЗначений, "Полномочия"); ЗначениеВРеквизитФормы(ДеревоЗначений, "Полномочия");
КонецПроцедуры КонецПроцедуры
@@ -612,21 +595,6 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Функция НайтиГруппу(ДеревоЗначений, Группа)
Найдено = ДеревоЗначений.Строки.Найти(Группа.code, "КодГруппы", Истина);
Если Найдено = Неопределено Тогда
НоваяГруппа = ДеревоЗначений.Строки.Добавить();
НоваяГруппа.КодГруппы = Группа.code;
НоваяГруппа.Наименование = Группа.description;
Возврат НоваяГруппа;
Иначе
Возврат Найдено;
КонецЕсли;
КонецФункции
&НаКлиенте &НаКлиенте
Процедура ПолномочияПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр) Процедура ПолномочияПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
@@ -187,6 +187,7 @@
<edit> <edit>
<common>true</common> <common>true</common>
</edit> </edit>
<fillChecking>ShowError</fillChecking>
</attributes> </attributes>
<attributes> <attributes>
<name>ИННДоверителя</name> <name>ИННДоверителя</name>
@@ -207,6 +208,7 @@
<edit> <edit>
<common>true</common> <common>true</common>
</edit> </edit>
<fillChecking>ShowError</fillChecking>
</attributes> </attributes>
<formCommands> <formCommands>
<name>Загрузить</name> <name>Загрузить</name>
@@ -20,8 +20,10 @@
&НаКлиенте &НаКлиенте
Процедура Получить(Команда) Процедура Получить(Команда)
Оповещение = Новый ОписаниеОповещения("ПослеПолучения", ЭтотОбъект); Если ПроверитьЗаполнение() Тогда
МашиночитаемыеДоверенностиФНССлужебныйКлиент.ПолучитьДоверенностьИзРеестра(Оповещение, НомерДоверенности, ИННДоверителя); Оповещение = Новый ОписаниеОповещения("ПослеПолучения", ЭтотОбъект);
МашиночитаемыеДоверенностиФНССлужебныйКлиент.ПолучитьДоверенностьИзРеестра(Оповещение, НомерДоверенности, ИННДоверителя);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -179,10 +179,6 @@
<dataPath xsi:type="form:DataPath"> <dataPath xsi:type="form:DataPath">
<segments>Сертификат</segments> <segments>Сертификат</segments>
</dataPath> </dataPath>
<handlers>
<event>OnChange</event>
<name>СертификатПриИзменении</name>
</handlers>
<extendedTooltip> <extendedTooltip>
<name>СертификатРасширеннаяПодсказка</name> <name>СертификатРасширеннаяПодсказка</name>
<id>125</id> <id>125</id>
@@ -204,6 +200,14 @@
<headerHorizontalAlign>Left</headerHorizontalAlign> <headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter> <showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo"> <extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>StartChoice</event>
<name>СертификатНачалоВыбора</name>
</handlers>
<handlers>
<event>Clearing</event>
<name>СертификатОчистка</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch> <horizontalStretch>true</horizontalStretch>
@@ -1243,6 +1247,36 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </items>
<items xsi:type="form:Button">
<name>СписокСправочникМашиночитаемыеДоверенностиОтменаДоверенности</name>
<id>224</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Items.Список.CurrentData.Ссылка</segments>
</dataPath>
<extendedTooltip>
<name>СписокСправочникМашиночитаемыеДоверенностиОтменаДоверенностиРасширеннаяПодсказка</name>
<id>225</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Catalog.МашиночитаемыеДоверенности.Command.Отменить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>СписокСправка</name> <name>СписокСправка</name>
<id>100</id> <id>100</id>
@@ -2002,165 +2036,191 @@
МашиночитаемыеДоверенностиСтатусы.ТехническийСтатус КАК ТехническийСтатус, МашиночитаемыеДоверенностиСтатусы.ТехническийСтатус КАК ТехническийСтатус,
СправочникМашиночитаемыеДоверенности.Верна КАК Верна, СправочникМашиночитаемыеДоверенности.Верна КАК Верна,
ВЫБОР ВЫБОР
КОГДА &amp;ТекущаяДата МЕЖДУ СправочникМашиночитаемыеДоверенности.ДатаВыдачи И КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ) КОГДА &amp;ТекущаяДата
И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует) МЕЖДУ СправочникМашиночитаемыеДоверенности.ДатаВыдачи И КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания,
ДЕНЬ)
И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
ТОГДА ИСТИНА ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Действует, КОНЕЦ КАК Действует,
ВЫБОР ВЫБОР
КОГДА СправочникМашиночитаемыеДоверенности.ПометкаУдаления КОГДА СправочникМашиночитаемыеДоверенности.ПометкаУдаления
ТОГДА 1 ТОГДА 1
КОГДА КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ) МЕЖДУ &amp;ТекущаяДата И &amp;СрокИстекающихДоверенностей КОГДА КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ)
И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует) МЕЖДУ &amp;ТекущаяДата И &amp;СрокИстекающихДоверенностей
И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
ТОГДА 3 ТОГДА 3
КОГДА &amp;ТекущаяДата > КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ) КОГДА &amp;ТекущаяДата > КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ)
И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует) И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
ТОГДА 4 ТОГДА 4
КОГДА СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Черновик) КОГДА СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Черновик)
ТОГДА 5 ТОГДА 5
КОГДА &amp;ТекущаяДата МЕЖДУ СправочникМашиночитаемыеДоверенности.ДатаВыдачи И КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ) КОГДА &amp;ТекущаяДата
И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует) МЕЖДУ СправочникМашиночитаемыеДоверенности.ДатаВыдачи И КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания,
ДЕНЬ)
И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
ТОГДА 2 ТОГДА 2
КОГДА СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.НеДействует) КОГДА СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.НеДействует)
ТОГДА 4 ТОГДА 4
ИНАЧЕ 5 ИНАЧЕ 5
КОНЕЦ КАК ИндексСтатуса, КОНЕЦ КАК ИндексСтатуса,
СправочникМашиночитаемыеДоверенности.НомерДоверенности КАК НомерДоверенности, СправочникМашиночитаемыеДоверенности.НомерДоверенности КАК НомерДоверенности,
СправочникМашиночитаемыеДоверенности.КодНалоговогоОрганаПредставления КАК КодНалоговогоОрганаПредставления СправочникМашиночитаемыеДоверенности.КодНалоговогоОрганаПредставления КАК КодНалоговогоОрганаПредставления,
МашиночитаемыеДоверенностиСтатусы.Подписана
{ГДЕ
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН + &quot;|&quot; +
МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ + &quot;|&quot; +
МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС + &quot;|&quot; +
МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО + &quot;|&quot; +
МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации
ПОДОБНО &amp;ДоверительСтрокаПоиска СПЕЦСИМВОЛ &quot;~&quot;)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН + &quot;|&quot; +
МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ + &quot;|&quot; +
МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС + &quot;|&quot; +
МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО + &quot;|&quot; +
МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации
ПОДОБНО &amp;ПредставительСтрокаПоиска СПЕЦСИМВОЛ &quot;~&quot;)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиДоверители.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Доверители КАК МашиночитаемыеДоверенностиДоверители
ГДЕ
МашиночитаемыеДоверенностиДоверители.Доверитель = &amp;Доверитель)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставители.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Представители КАК МашиночитаемыеДоверенностиПредставители
ГДЕ
МашиночитаемыеДоверенностиПредставители.Представитель = &amp;Представитель)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиДоверители.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Доверители КАК МашиночитаемыеДоверенностиДоверители
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
ПО МашиночитаемыеДоверенностиДоверители.Доверитель = Пользователи.ФизическоеЛицо
ГДЕ
Пользователи.Ссылка = &amp;ДоверительПользователь)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставители.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Представители КАК МашиночитаемыеДоверенностиПредставители
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
ПО МашиночитаемыеДоверенностиПредставители.Представитель = Пользователи.ФизическоеЛицо
ГДЕ
Пользователи.Ссылка = &amp;ПредставительПользователь)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПолномочия.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Полномочия КАК МашиночитаемыеДоверенностиПолномочия
ГДЕ
МашиночитаемыеДоверенностиПолномочия.Код + &quot;|&quot; + МашиночитаемыеДоверенностиПолномочия.Мнемокод + &quot;|&quot; +
МашиночитаемыеДоверенностиПолномочия.Наименование ПОДОБНО &amp;ПолномочияСтрокаПоиска)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПолномочия.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Полномочия КАК МашиночитаемыеДоверенностиПолномочия
ГДЕ
МашиночитаемыеДоверенностиПолномочия.Код В (&amp;Полномочия))),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН = &amp;ДоверительИНН)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ОГРН = &amp;ДоверительОГРН)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ = &amp;ДоверительИННФЛ)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС = &amp;ДоверительСНИЛС)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН = &amp;ПредставительИНН)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ОГРН = &amp;ПредставительОГРН)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ = &amp;ПредставительИННФЛ)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС = &amp;ПредставительСНИЛС))}
ИЗ ИЗ
Справочник.МашиночитаемыеДоверенности КАК СправочникМашиночитаемыеДоверенности Справочник.МашиночитаемыеДоверенности КАК СправочникМашиночитаемыеДоверенности
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МашиночитаемыеДоверенностиСтатусы КАК МашиночитаемыеДоверенностиСтатусы ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МашиночитаемыеДоверенностиСтатусы КАК МашиночитаемыеДоверенностиСтатусы
ПО СправочникМашиночитаемыеДоверенности.Ссылка = МашиночитаемыеДоверенностиСтатусы.МашиночитаемаяДоверенность ПО СправочникМашиночитаемыеДоверенности.Ссылка = МашиночитаемыеДоверенностиСтатусы.МашиночитаемаяДоверенность</queryText>
{ГДЕ
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН + &quot;|&quot; + МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ + &quot;|&quot; + МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС + &quot;|&quot; + МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО + &quot;|&quot; + МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации ПОДОБНО &amp;ДоверительСтрокаПоиска СПЕЦСИМВОЛ &quot;~&quot;)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН + &quot;|&quot; + МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ + &quot;|&quot; + МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС + &quot;|&quot; + МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО + &quot;|&quot; + МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации ПОДОБНО &amp;ПредставительСтрокаПоиска СПЕЦСИМВОЛ &quot;~&quot;)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиДоверители.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Доверители КАК МашиночитаемыеДоверенностиДоверители
ГДЕ
МашиночитаемыеДоверенностиДоверители.Доверитель = &amp;Доверитель)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставители.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Представители КАК МашиночитаемыеДоверенностиПредставители
ГДЕ
МашиночитаемыеДоверенностиПредставители.Представитель = &amp;Представитель)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиДоверители.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Доверители КАК МашиночитаемыеДоверенностиДоверители
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
ПО
МашиночитаемыеДоверенностиДоверители.Доверитель = Пользователи.ФизическоеЛицо
ГДЕ
Пользователи.Ссылка = &amp;ДоверительПользователь)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставители.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Представители КАК МашиночитаемыеДоверенностиПредставители
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
ПО
МашиночитаемыеДоверенностиПредставители.Представитель = Пользователи.ФизическоеЛицо
ГДЕ
Пользователи.Ссылка = &amp;ПредставительПользователь)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПолномочия.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Полномочия КАК МашиночитаемыеДоверенностиПолномочия
ГДЕ
МашиночитаемыеДоверенностиПолномочия.Код + &quot;|&quot; + МашиночитаемыеДоверенностиПолномочия.Мнемокод + &quot;|&quot; + МашиночитаемыеДоверенностиПолномочия.Наименование ПОДОБНО &amp;ПолномочияСтрокаПоиска)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПолномочия.Ссылка КАК Ссылка
ИЗ
Справочник.МашиночитаемыеДоверенности.Полномочия КАК МашиночитаемыеДоверенностиПолномочия
ГДЕ
МашиночитаемыеДоверенностиПолномочия.Код В (&amp;Полномочия))),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН = &amp;ДоверительИНН)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ОГРН = &amp;ДоверительОГРН)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ = &amp;ДоверительИННФЛ)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС = &amp;ДоверительСНИЛС)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН = &amp;ПредставительИНН)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ОГРН = &amp;ПредставительОГРН)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ = &amp;ПредставительИННФЛ)),
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
ИЗ
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС = &amp;ПредставительСНИЛС))}</queryText>
<mainTable>Catalog.МашиночитаемыеДоверенности</mainTable> <mainTable>Catalog.МашиночитаемыеДоверенности</mainTable>
<dynamicDataRead>true</dynamicDataRead>
<autoFillAvailableFields>true</autoFillAvailableFields> <autoFillAvailableFields>true</autoFillAvailableFields>
<customQuery>true</customQuery> <customQuery>true</customQuery>
<autoSaveUserSettings>true</autoSaveUserSettings> <autoSaveUserSettings>true</autoSaveUserSettings>
@@ -2249,6 +2309,10 @@
<dataPath>КодНалоговогоОрганаПредставления</dataPath> <dataPath>КодНалоговогоОрганаПредставления</dataPath>
<field>КодНалоговогоОрганаПредставления</field> <field>КодНалоговогоОрганаПредставления</field>
</fields> </fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Подписана</dataPath>
<field>Подписана</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField"> <fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>ФайлДоверенности</dataPath> <dataPath>ФайлДоверенности</dataPath>
<field>ФайлДоверенности</field> <field>ФайлДоверенности</field>
@@ -2305,6 +2369,14 @@
<dataPath>ИныеСведения</dataPath> <dataPath>ИныеСведения</dataPath>
<field>ИныеСведения</field> <field>ИныеСведения</field>
</fields> </fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Ответственный</dataPath>
<field>Ответственный</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>ДатаПроверки</dataPath>
<field>ДатаПроверки</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField"> <fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Доверители</dataPath> <dataPath>Доверители</dataPath>
<field>Доверители</field> <field>Доверители</field>
@@ -2333,6 +2405,14 @@
<dataPath>ИмяПредопределенныхДанных</dataPath> <dataPath>ИмяПредопределенныхДанных</dataPath>
<field>ИмяПредопределенныхДанных</field> <field>ИмяПредопределенныхДанных</field>
</fields> </fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>Ответственный</dataPath>
<field>Ответственный</field>
</fields>
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
<dataPath>ДатаПроверки</dataPath>
<field>ДатаПроверки</field>
</fields>
<parameters> <parameters>
<name>Доверитель</name> <name>Доверитель</name>
<title> <title>
@@ -2694,9 +2774,7 @@
<value>Сертификат</value> <value>Сертификат</value>
</title> </title>
<id>6</id> <id>6</id>
<valueType> <valueType/>
<types>CatalogRef.СертификатыКлючейЭлектроннойПодписиИШифрования</types>
</valueType>
<view> <view>
<common>true</common> <common>true</common>
</view> </view>
@@ -70,12 +70,6 @@
УстановитьОтбор(); УстановитьОтбор();
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура СертификатПриИзменении(Элемент)
СертификатПредставителя = Сертификат;
УстановитьОтбор();
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ДоверенностиПоРолиПриИзменении(Элемент) Процедура ДоверенностиПоРолиПриИзменении(Элемент)
УстановитьОтбор(); УстановитьОтбор();
@@ -130,6 +124,29 @@
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура СертификатНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ДляШифрованияИРасшифровки", Ложь);
ПараметрыФормы.Вставить("ВыбранныйСертификат", СертификатПредставителя);
ПараметрыФормы.Вставить("ВыполнятьНаСервере");
ПараметрыФормы.Вставить("РежимВыбораСсылки", Истина);
ОбработчикЗавершения = Новый ОписаниеОповещения("СертификатОкончаниеВыбора", ЭтотОбъект);
МодульЭлектроннаяПодписьСлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьСлужебныйКлиент");
МодульЭлектроннаяПодписьСлужебныйКлиент.ВыборСертификатаДляПодписанияИлиРасшифровки(ПараметрыФормы, Элемент, ОбработчикЗавершения);
КонецПроцедуры
&НаКлиенте
Процедура СертификатОчистка(Элемент, СтандартнаяОбработка)
СертификатПредставителя = Неопределено;
УстановитьОтбор();
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок #Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
@@ -258,7 +275,7 @@
НастроитьОтборыСертификата(ВсеОтборыПоСертификатам, СертификатДоверителя, Ложь); НастроитьОтборыСертификата(ВсеОтборыПоСертификатам, СертификатДоверителя, Ложь);
Для Каждого ЭлементОтбора Из ВсеОтборыПоСертификатам Цикл Для Каждого ЭлементОтбора Из ВсеОтборыПоСертификатам Цикл
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, ЭлементОтбора.Ключ, ЭлементОтбора.Значение, ЗначениеЗаполнено(ЭлементОтбора.Значение)); ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, ЭлементОтбора.Ключ, ЭлементОтбора.Значение, ЭлементОтбора.Значение <> Неопределено);
КонецЦикла; КонецЦикла;
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "СрокИстекающихДоверенностей", ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, "СрокИстекающихДоверенностей",
@@ -371,9 +388,16 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ОчиститьСообщения();
РезультатЗагрузки = ЗагрузитьДоверенностиИзФайлов(ЗагруженныеФайлы); РезультатЗагрузки = ЗагрузитьДоверенностиИзФайлов(ЗагруженныеФайлы);
ЗагруженныеДоверенности = РезультатЗагрузки.Доверенности; ЗагруженныеДоверенности = РезультатЗагрузки.Доверенности;
Если ЗагруженныеДоверенности.Количество() > 0 Тогда
Элементы.Список.ТекущаяСтрока = ЗагруженныеДоверенности[0];
КонецЕсли;
Элементы.Список.ВыделенныеСтроки.Очистить(); Элементы.Список.ВыделенныеСтроки.Очистить();
Для Каждого Ссылка Из ЗагруженныеДоверенности Цикл Для Каждого Ссылка Из ЗагруженныеДоверенности Цикл
Элементы.Список.ВыделенныеСтроки.Добавить(Ссылка); Элементы.Список.ВыделенныеСтроки.Добавить(Ссылка);
КонецЦикла; КонецЦикла;
@@ -436,10 +460,16 @@
&НаСервереБезКонтекста &НаСервереБезКонтекста
Функция ОтборДляДоверенностейПоСертификату(Знач Сертификат, Знач Представитель) Функция ОтборДляДоверенностейПоСертификату(Знач Сертификат, Знач Представитель)
Если ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда Если Представитель Тогда
Возврат МашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату(Сертификат.ДанныеСертификата.Получить(), Представитель); Префикс = "Представитель";
Иначе Иначе
Возврат МашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату(Сертификат, Представитель); Префикс = "Доверитель";
КонецЕсли;
Если ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда
Возврат МашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату(Сертификат.ДанныеСертификата.Получить(), Префикс);
Иначе
Возврат МашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату(Сертификат, Префикс);
КонецЕсли; КонецЕсли;
КонецФункции КонецФункции
@@ -473,9 +503,21 @@
КонецЕсли; КонецЕсли;
Для Каждого ЭлементОтбора Из Отборы Цикл Для Каждого ЭлементОтбора Из Отборы Цикл
ВсеОтборыПоСертификатам[ЭлементОтбора.Ключ] = ЭлементОтбора.Значение; ВсеОтборыПоСертификатам[ЭлементОтбора.Ключ] = ?(ЭлементОтбора.Значение = Неопределено, "", ЭлементОтбора.Значение);
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура СертификатОкончаниеВыбора(Результат, Контекст) Экспорт
Если ТипЗнч(Результат) = Тип("ДвоичныеДанные") Тогда
Сертификат = ЭлектроннаяПодписьКлиент.ПредставлениеСертификата(Новый СертификатКриптографии(Результат));
СертификатПредставителя = Результат;
Иначе
Сертификат = Неопределено;
СертификатПредставителя = Неопределено;
КонецЕсли;
УстановитьОтбор();
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -6,6 +6,41 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаПредставлениеСтатусов</name> <name>ГруппаПредставлениеСтатусов</name>
<id>769</id> <id>769</id>
<items xsi:type="form:Decoration">
<name>ДекорацияСозданиеБезРегистрации</name>
<id>1069</id>
<title>
<key>ru</key>
<value>Декорация создание без регистрации</value>
</title>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДекорацияСозданиеБезРегистрацииРасширеннаяПодсказка</name>
<id>1071</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДекорацияСозданиеБезРегистрацииКонтекстноеМеню</name>
<id>1070</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.МЧДСозданиеБезРегистрации</picture>
</picture>
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:Decoration"> <items xsi:type="form:Decoration">
<name>ДекорацияСоздание</name> <name>ДекорацияСоздание</name>
<id>493</id> <id>493</id>
@@ -41,12 +76,47 @@
<fileDragMode>AsFileRef</fileDragMode> <fileDragMode>AsFileRef</fileDragMode>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:Decoration">
<name>ДекорацияПодписаниеБезРегистрации</name>
<id>1066</id>
<title>
<key>ru</key>
<value>Декорация подписание без регистрации</value>
</title>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДекорацияПодписаниеБезРегистрацииРасширеннаяПодсказка</name>
<id>1068</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДекорацияПодписаниеБезРегистрацииКонтекстноеМеню</name>
<id>1067</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.МЧДСозданаПодписаниеБезРегистрации</picture>
</picture>
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:Decoration"> <items xsi:type="form:Decoration">
<name>ДекорацияПодписание</name> <name>ДекорацияПодписание</name>
<id>496</id> <id>496</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Декорация создание</value> <value>Декорация подписание</value>
</title> </title>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -81,7 +151,7 @@
<id>510</id> <id>510</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Декорация создание</value> <value>Декорация подписана</value>
</title> </title>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -116,7 +186,7 @@
<id>499</id> <id>499</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Декорация создание</value> <value>Декорация регистрация</value>
</title> </title>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -151,7 +221,7 @@
<id>505</id> <id>505</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Декорация создание</value> <value>Декорация зарегистрирована</value>
</title> </title>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -186,7 +256,7 @@
<id>977</id> <id>977</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Декорация создание</value> <value>Декорация отменена</value>
</title> </title>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -221,7 +291,7 @@
<id>974</id> <id>974</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Декорация создание</value> <value>Декорация просрочена</value>
</title> </title>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -256,7 +326,7 @@
<id>502</id> <id>502</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Декорация создание</value> <value>Декорация готово</value>
</title> </title>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -4807,32 +4877,6 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </items>
<items xsi:type="form:Button">
<name>ФормаОбновить</name>
<id>518</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаОбновитьРасширеннаяПодсказка</name>
<id>519</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.Обновить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>ФормаДобавитьПодпись</name> <name>ФормаДобавитьПодпись</name>
<id>1042</id> <id>1042</id>
@@ -4916,6 +4960,36 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </items>
<items xsi:type="form:Button">
<name>ФормаСправочникМашиночитаемыеДоверенностиОтменаДоверенности</name>
<id>1066</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Ref</segments>
</dataPath>
<extendedTooltip>
<name>ФормаСправочникМашиночитаемыеДоверенностиОтменаДоверенностиРасширеннаяПодсказка</name>
<id>1067</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Catalog.МашиночитаемыеДоверенности.Command.Отменить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
@@ -6323,6 +6397,7 @@
<name>Подписать</name> <name>Подписать</name>
</handler> </handler>
</action> </action>
<modifiesStoredData>true</modifiesStoredData>
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
@@ -6348,28 +6423,6 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands>
<name>Обновить</name>
<title>
<key>ru</key>
<value>Обновить</value>
</title>
<id>13</id>
<toolTip>
<key>ru</key>
<value>Обновить</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Обновить</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands> <formCommands>
<name>УдалитьПодпись</name> <name>УдалитьПодпись</name>
<title> <title>
@@ -6555,6 +6608,7 @@
<name>ДобавитьПодписьИзФайла</name> <name>ДобавитьПодписьИзФайла</name>
</handler> </handler>
</action> </action>
<modifiesStoredData>true</modifiesStoredData>
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
@@ -6595,6 +6649,7 @@
<name>ПроверитьДоверенность</name> <name>ПроверитьДоверенность</name>
</handler> </handler>
</action> </action>
<modifiesStoredData>true</modifiesStoredData>
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
@@ -6617,6 +6672,7 @@
<name>ДоверенностьПроверенаВручную</name> <name>ДоверенностьПроверенаВручную</name>
</handler> </handler>
</action> </action>
<modifiesStoredData>true</modifiesStoredData>
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
@@ -6628,6 +6684,10 @@
<index>0</index> <index>0</index>
<userVisible/> <userVisible/>
</cmiFragmentRecord> </cmiFragmentRecord>
<cmiFragmentRecord>
<command>Catalog.МашиночитаемыеДоверенности.Command.Отменить</command>
<userVisible/>
</cmiFragmentRecord>
</navigationPanel> </navigationPanel>
<commandBar/> <commandBar/>
</commandInterface> </commandInterface>
@@ -120,7 +120,9 @@
&НаКлиенте &НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если Не СтрНачинаетсяС(ИмяСобытия, "Запись_") Тогда Если ИмяСобытия = "РегистрацияОтмены" Тогда
ОбновитьСтатус(Истина);
ИначеЕсли Не СтрНачинаетсяС(ИмяСобытия, "Запись_") Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -365,20 +367,15 @@
&НаКлиенте &НаКлиенте
Процедура РегистрироватьВРеестреПриИзменении(Элемент) Процедура РегистрироватьВРеестреПриИзменении(Элемент)
Если Не Параметры.Ключ.Пустая() Тогда Если Не Параметры.Ключ.Пустая() Тогда
Если Подписана И ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Активна") Тогда РассчитатьТехническийСтатус(Неопределено, Ложь);
ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан");
ТребуетсяОбновлениеДекораций = Истина;
Объект.Статус = ПредопределенноеЗначение("Перечисление.СтатусыМЧД.Черновик");
ИначеЕсли Подписана И ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан") Тогда
ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Активна");
ТребуетсяОбновлениеДекораций = Истина;
КонецЕсли;
ОтобразитьДекорацииСтатуса(ЭтотОбъект);
ДоступностьПризнакаРегистрацииВРеестре(ЭтотОбъект); ДоступностьПризнакаРегистрацииВРеестре(ЭтотОбъект);
КонецЕсли; КонецЕсли;
Если ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Создание")
Или ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписание") Тогда
ТребуетсяОбновлениеДекораций = Истина;
ОтобразитьДекорацииСтатуса(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -679,6 +676,10 @@
Элементы.ГруппаЭлектронныеПодписи.Показать(); Элементы.ГруппаЭлектронныеПодписи.Показать();
КонецЕсли; КонецЕсли;
Если РезультатПроверкиДоверенности.ЕстьВсеПодписи <> Подписана Тогда
РассчитатьТехническийСтатус(РезультатПроверкиДоверенности.ЕстьВсеПодписи);
КонецЕсли;
Для Каждого РезультатПроверкиПодписи Из РезультатПроверкиДоверенности.РезультатыПроверкиПодписей Цикл Для Каждого РезультатПроверкиПодписи Из РезультатПроверкиДоверенности.РезультатыПроверкиПодписей Цикл
РезультатПроверки = РезультатПроверкиПодписи.РезультатПроверки; РезультатПроверки = РезультатПроверкиПодписи.РезультатПроверки;
@@ -733,6 +734,20 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура РассчитатьТехническийСтатус(ЕстьВсеПодписи, ЗаписыватьИзменения = Истина)
ТехническийСтатусБыло = ТехническийСтатус;
ТехническийСтатус = МашиночитаемыеДоверенностиФНССлужебный.РассчитатьТехническийСтатус(
РеквизитФормыВЗначение("Объект"), ЕстьВсеПодписи, ЗаписыватьИзменения);
Если ТехническийСтатусБыло <> ТехническийСтатус Тогда
ТребуетсяОбновлениеДекораций = Истина;
Объект.Статус = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РасчетныйСтатусДокумента(ТехническийСтатус, Объект.Верна);
УстановитьВидимостьИДоступность(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаСервере &НаСервере
Процедура СохранитьРезультатПроверкиПодписейНаСервере() Процедура СохранитьРезультатПроверкиПодписейНаСервере()
@@ -982,7 +997,6 @@
ОчиститьРезультатыПроверки(); ОчиститьРезультатыПроверки();
Объект.Верна = Истина; Объект.Верна = Истина;
Объект.ДатаПроверки = ОбщегоНазначенияКлиент.ДатаСеанса(); Объект.ДатаПроверки = ОбщегоНазначенияКлиент.ДатаСеанса();
Объект.Статус = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РасчетныйСтатусДокумента(ТехническийСтатус);
ОбновитьОбъект(); ОбновитьОбъект();
ОтобразитьДекорациюВерна(ЭтотОбъект); ОтобразитьДекорациюВерна(ЭтотОбъект);
КонецЕсли; КонецЕсли;
@@ -1100,7 +1114,7 @@
&НаКлиенте &НаКлиенте
Функция ОбновитьСформироватьФайлДоверенности() Функция ОбновитьСформироватьФайлДоверенности()
Если ЭлектронныеПодписи.Количество() = 0 Тогда Если ЭлектронныеПодписи.Количество() = 0 И Не Подписана Тогда
Если Объект.РегистрироватьВРеестре И Не ЗначениеЗаполнено(Объект.НомерДоверенности) Тогда Если Объект.РегистрироватьВРеестре И Не ЗначениеЗаполнено(Объект.НомерДоверенности) Тогда
@@ -1266,7 +1280,6 @@
Форма.Элементы.ФормаОтправить.Видимость = Ложь; Форма.Элементы.ФормаОтправить.Видимость = Ложь;
Форма.Элементы.ФормаЗаписать.Видимость = Ложь; Форма.Элементы.ФормаЗаписать.Видимость = Ложь;
Форма.Элементы.ФормаОбновить.Видимость = Ложь;
Форма.Элементы.ФормаПодписать.Видимость = Ложь; Форма.Элементы.ФормаПодписать.Видимость = Ложь;
Если РеквизитыНедоступныДляРедактирования Тогда Если РеквизитыНедоступныДляРедактирования Тогда
@@ -1339,18 +1352,22 @@
Процедура ДоступностьПризнакаРегистрацииВРеестре(Форма) Процедура ДоступностьПризнакаРегистрацииВРеестре(Форма)
Форма.Элементы.РегистрироватьВРеестре.ТолькоПросмотр = Форма.РеквизитыНедоступныДляРедактирования Форма.Элементы.РегистрироватьВРеестре.ТолькоПросмотр = Форма.РеквизитыНедоступныДляРедактирования
И Не (Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Создание") И МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.ВнешниеСтатусы()[Форма.ТехническийСтатус] = Истина;
Или Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписание")
Или Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан")
Или Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Активна"));
Если Не Форма.Просрочена И (Форма.Подписана Или Форма.Объект.Статус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан")) Тогда Если Форма.Элементы.РегистрироватьВРеестре.ТолькоПросмотр И Форма.Объект.РегистрироватьВРеестре Тогда
Форма.Элементы.РегистрироватьВРеестре.Заголовок = НСтр("ru='Зарегистрирована в Распределенном реестре ФНС России:'");
Иначе
Форма.Элементы.РегистрироватьВРеестре.Заголовок = НСтр("ru='Регистрировать в Распределенном реестре ФНС России:'");
КонецЕсли;
Если Не Форма.Просрочена И (Форма.Подписана Или Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан")) Тогда
Если Не Форма.Объект.РегистрироватьВРеестре Тогда Если Не Форма.Объект.РегистрироватьВРеестре Тогда
Форма.Элементы.ФормаОтправить.Видимость = Ложь; Форма.Элементы.ФормаОтправить.Видимость = Ложь;
Форма.Элементы.ФормаЗаписатьИЗакрыть.КнопкаПоУмолчанию = Истина; Форма.Элементы.ФормаЗаписатьИЗакрыть.КнопкаПоУмолчанию = Истина;
Иначе Иначе
Форма.Элементы.ФормаОтправить.Видимость = Истина; Форма.Элементы.ФормаОтправить.Видимость = Форма.ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан");
Форма.Элементы.ФормаОтправить.КнопкаПоУмолчанию = Истина; Форма.Элементы.ФормаОтправить.КнопкаПоУмолчанию = Форма.Элементы.ФормаОтправить.Видимость;
Форма.Элементы.ФормаЗаписатьИЗакрыть.КнопкаПоУмолчанию = Не Форма.Элементы.ФормаОтправить.Видимость;
КонецЕсли; КонецЕсли;
Иначе Иначе
Форма.Элементы.ФормаЗаписатьИЗакрыть.КнопкаПоУмолчанию = Не Форма.Элементы.ФормаПодписать.Видимость; Форма.Элементы.ФормаЗаписатьИЗакрыть.КнопкаПоУмолчанию = Не Форма.Элементы.ФормаПодписать.Видимость;
@@ -1366,16 +1383,21 @@
Форма.Элементы.ДекорацияПросрочена.Видимость = Форма.Просрочена Или Форма.ТехническийСтатус = ПредопределенноеЗначение( Форма.Элементы.ДекорацияПросрочена.Видимость = Форма.Просрочена Или Форма.ТехническийСтатус = ПредопределенноеЗначение(
"Перечисление.ТехническиеСтатусыМЧД.Просрочено"); "Перечисление.ТехническиеСтатусыМЧД.Просрочено");
Форма.Элементы.ДекорацияСоздание.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение( Форма.Элементы.ДекорацияСоздание.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение(
"Перечисление.ТехническиеСтатусыМЧД.Создание"); "Перечисление.ТехническиеСтатусыМЧД.Создание") И Форма.Объект.РегистрироватьВРеестре;
Форма.Элементы.ДекорацияСозданиеБезРегистрации.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение(
"Перечисление.ТехническиеСтатусыМЧД.Создание") И Не Форма.Объект.РегистрироватьВРеестре;
Форма.Элементы.ДекорацияПодписана.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение( Форма.Элементы.ДекорацияПодписана.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение(
"Перечисление.ТехническиеСтатусыМЧД.Подписан"); "Перечисление.ТехническиеСтатусыМЧД.Подписан");
Форма.Элементы.ДекорацияГотово.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение( Форма.Элементы.ДекорацияГотово.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение(
"Перечисление.ТехническиеСтатусыМЧД.Активна"); "Перечисление.ТехническиеСтатусыМЧД.Активна");
Форма.Элементы.ДекорацияЗарегистрирована.Видимость = Не Форма.Просрочена И (Форма.ТехническийСтатус = ПредопределенноеЗначение( Форма.Элементы.ДекорацияЗарегистрирована.Видимость = Не Форма.Просрочена И (Форма.ТехническийСтатус = ПредопределенноеЗначение(
"Перечисление.ТехническиеСтатусыМЧД.Зарегистрировано") Или Форма.ТехническийСтатус "Перечисление.ТехническиеСтатусыМЧД.Зарегистрировано") Или Форма.ТехническийСтатус
= ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.ДатаНачалаДействияНеНаступила")); = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.ДатаНачалаДействияНеНаступила") Или Форма.ТехническийСтатус
= ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.РегистрацияОтмены"));
Форма.Элементы.ДекорацияПодписание.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение( Форма.Элементы.ДекорацияПодписание.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение(
"Перечисление.ТехническиеСтатусыМЧД.Подписание"); "Перечисление.ТехническиеСтатусыМЧД.Подписание") И Форма.Объект.РегистрироватьВРеестре;
Форма.Элементы.ДекорацияПодписаниеБезРегистрации.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение(
"Перечисление.ТехническиеСтатусыМЧД.Подписание") И Не Форма.Объект.РегистрироватьВРеестре;
Форма.Элементы.ДекорацияРегистрация.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение( Форма.Элементы.ДекорацияРегистрация.Видимость = Не Форма.Просрочена И Форма.ТехническийСтатус = ПредопределенноеЗначение(
"Перечисление.ТехническиеСтатусыМЧД.Регистрация"); "Перечисление.ТехническиеСтатусыМЧД.Регистрация");
Форма.Элементы.ДекорацияОтменена.Видимость =Не Форма.Просрочена И (Форма.ТехническийСтатус = ПредопределенноеЗначение( Форма.Элементы.ДекорацияОтменена.Видимость =Не Форма.Просрочена И (Форма.ТехническийСтатус = ПредопределенноеЗначение(
@@ -2584,14 +2606,6 @@
Возврат НСтр("ru='Организация'"); Возврат НСтр("ru='Организация'");
КонецФункции КонецФункции
&НаКлиенте
Процедура Обновить(Команда)
Строка = Объект.Транзакции.Найти(Новый Структура("ТипТранзакции", "Регистрация"));
Если Строка <> Неопределено Тогда
Строка.Статус = "Зарегистрировано";
КонецЕсли;
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура УдалитьПодпись(Команда) Процедура УдалитьПодпись(Команда)
@@ -2602,14 +2616,6 @@
ОчиститьРезультатыПроверки(); ОчиститьРезультатыПроверки();
УдалитьПодписьНаСервере(ТекущиеДанные.ПорядковыйНомер); УдалитьПодписьНаСервере(ТекущиеДанные.ПорядковыйНомер);
ОбновитьСтатус();
НовыйСтатус = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РасчетныйСтатусДокумента(ТехническийСтатус);
Если Объект.Статус <> НовыйСтатус Тогда
Объект.Статус = НовыйСтатус;
ОчиститьРезультатыПроверки();
ОбновитьОбъект();
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -2617,7 +2623,8 @@
Процедура УдалитьПодписьНаСервере(Знач ПорядковыйНомер) Процедура УдалитьПодписьНаСервере(Знач ПорядковыйНомер)
ЭлектроннаяПодпись.УдалитьПодпись(Объект.ФайлДоверенности, ПорядковыйНомер, УникальныйИдентификатор); ЭлектроннаяПодпись.УдалитьПодпись(Объект.ФайлДоверенности, ПорядковыйНомер, УникальныйИдентификатор);
МашиночитаемыеДоверенностиФНССлужебный.РассчитатьИЗаписатьТехническийСтатус(Объект.Ссылка, Ложь); РассчитатьТехническийСтатус(Ложь);
ОбновитьОбъект();
ЗаполнитьСписокПодписей(); ЗаполнитьСписокПодписей();
КонецПроцедуры КонецПроцедуры
@@ -2695,14 +2702,14 @@
&НаКлиенте &НаКлиенте
Процедура ПрочитатьСтатусДокумента() Процедура ПрочитатьСтатусДокумента()
ОбновитьСтатус(); ОбновитьСтатус(Истина);
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ОбновитьСтатус(НаправитьЗапросВРР = Ложь) Процедура ОбновитьСтатус(НаправитьЗапросВРР = Ложь)
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда Если Не Параметры.Ключ.Пустая() Тогда
ДанныеСостояния = ОбновитьСтатусИПрочитатьСостояние(Объект.Ссылка, Объект.РегистрироватьВРеестре И НаправитьЗапросВРР); ДанныеСостояния = ОбновитьСтатусИПрочитатьСостояние(Объект.Ссылка, Объект.РегистрироватьВРеестре И НаправитьЗапросВРР);
@@ -2718,7 +2725,8 @@
КонецЕсли; КонецЕсли;
Если ТребуетсяОбновлениеДекораций Тогда Если ТребуетсяОбновлениеДекораций Тогда
УстановитьВидимостьИДоступность(ЭтотОбъект) УстановитьВидимостьИДоступность(ЭтотОбъект);
ОповеститьОЗаписи();
КонецЕсли; КонецЕсли;
Если Объект.Статус <> ДанныеСостояния.Статус Тогда Если Объект.Статус <> ДанныеСостояния.Статус Тогда
@@ -2746,7 +2754,9 @@
ОтобразитьДекорацииСтатуса(ЭтотОбъект); ОтобразитьДекорацииСтатуса(ЭтотОбъект);
Если ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Регистрация") Тогда Если ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Регистрация")
Или ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.РегистрацияОтмены") Тогда
Если ПериодОпросаСтатусов = 300 Тогда Если ПериодОпросаСтатусов = 300 Тогда
ПериодОпросаСтатусов = 5; ПериодОпросаСтатусов = 5;
Иначе Иначе
@@ -2755,7 +2765,9 @@
Иначе Иначе
ПериодОпросаСтатусов = 300; ПериодОпросаСтатусов = 300;
КонецЕсли; КонецЕсли;
ПодключитьОпросСтатусов(); ПодключитьОпросСтатусов();
КонецПроцедуры КонецПроцедуры
&НаСервереБезКонтекста &НаСервереБезКонтекста
@@ -203,7 +203,7 @@
СрокДействияДоверенности = Формат(Объект.ДатаОкончания, "ДФ=yyyy-MM-dd"); СрокДействияДоверенности = Формат(Объект.ДатаОкончания, "ДФ=yyyy-MM-dd");
КодНалоговогоОрганаПредставления = Объект.КодНалоговогоОрганаПредставления; КодНалоговогоОрганаПредставления = Объект.КодНалоговогоОрганаПредставления;
КодыНалоговыхОргановДействия = Объект.НалоговыеОрганыДействия.ВыгрузитьКолонку("КодНалоговогоОргана"); КодыНалоговыхОргановДействия = Объект.НалоговыеОрганыДействия.ВыгрузитьКолонку("КодНалоговогоОргана");
СведенияОбИнформационнойСистеме = "https://m4d.nalog.gov.ru/"; СведенияОбИнформационнойСистеме = "https://m4d.nalog.gov.ru/EMCHD/check-status?guid=" + ЕдиныйРегистрационныйНомер;
СведенияОДоверенности = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СвДовТип")); СведенияОДоверенности = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(ИдентификаторСхемыМЧД(), "СвДовТип"));
СведенияОДоверенности.ВидДовер = ВидДоверенности; СведенияОДоверенности.ВидДовер = ВидДоверенности;
@@ -1198,7 +1198,7 @@
КонецФункции КонецФункции
Функция ДоверенностьXDTO(Знач ДоверенностьXML) Функция ДоверенностьXDTO(Знач ДоверенностьXML) Экспорт
ДоверенностьXML = СтрЗаменить(ДоверенностьXML, """" + ЦелевоеПространствоИмен() + """", ДоверенностьXML = СтрЗаменить(ДоверенностьXML, """" + ЦелевоеПространствоИмен() + """",
"""" + ИдентификаторСхемыМЧД() + """"); """" + ИдентификаторСхемыМЧД() + """");
@@ -1233,13 +1233,16 @@
ОГРН = СведенияОЮридическомЛице.ОГРН; ОГРН = СведенияОЮридическомЛице.ОГРН;
РегистрационныйНомерФилиала = СведенияОЮридическомЛице.РегНомер; РегистрационныйНомерФилиала = СведенияОЮридическомЛице.РегНомер;
НаименованиеУчредительногоДокумента = СведенияОЮридическомЛице.НаимУчрДок; НаименованиеУчредительногоДокумента = СведенияОЮридическомЛице.НаимУчрДок;
КонтактныйТелефон = СведенияОЮридическомЛице.КонтактТлф;
АдресЭлектроннойПочты = СведенияОЮридическомЛице.АдрЭлПочт;
АдресЮридическогоЛица = СведенияОЮридическомЛице.АдрРег;
КонтактныйТелефон = СведенияОЮридическомЛице.КонтактТлф;
КонтактныйТелефонЗначение = КонтактнаяИнформацияПоПредставлению(КонтактныйТелефон, "Телефон");
АдресЭлектроннойПочты = СведенияОЮридическомЛице.АдрЭлПочт;
АдресЭлектроннойПочтыЗначение = КонтактнаяИнформацияПоПредставлению(АдресЭлектроннойПочты, "АдресЭлектроннойПочты");
АдресЮридическогоЛица = СведенияОЮридическомЛице.АдрРег;
ПредставлениеАдресаЮридическогоЛица = ПредставленияАдреса(АдресЮридическогоЛица); ПредставлениеАдресаЮридическогоЛица = ПредставленияАдреса(АдресЮридическогоЛица);
ИдентификаторАдресаПоФИАС = АдресЮридическогоЛица.ИдФИАС; ЮридическийАдресЗначение = КонтактнаяИнформацияПоПредставлению(ПредставлениеАдресаЮридическогоЛица, "Адрес");
ЮридическийАдресЗначение = РаботаСАдресами.АдресПоИдентификатору(ИдентификаторАдресаПоФИАС);
Параметры = Новый Структура; Параметры = Новый Структура;
Параметры.Вставить("НаименованиеЮридическогоЛица", НаименованиеЮридическогоЛица); Параметры.Вставить("НаименованиеЮридическогоЛица", НаименованиеЮридическогоЛица);
@@ -1248,8 +1251,12 @@
Параметры.Вставить("ОГРН", ОГРН); Параметры.Вставить("ОГРН", ОГРН);
Параметры.Вставить("РегистрационныйНомерФилиала", РегистрационныйНомерФилиала); Параметры.Вставить("РегистрационныйНомерФилиала", РегистрационныйНомерФилиала);
Параметры.Вставить("НаименованиеУчредительногоДокумента", НаименованиеУчредительногоДокумента); Параметры.Вставить("НаименованиеУчредительногоДокумента", НаименованиеУчредительногоДокумента);
Параметры.Вставить("КонтактныйТелефон", КонтактныйТелефон); Параметры.Вставить("КонтактныйТелефон", КонтактныйТелефон);
Параметры.Вставить("КонтактныйТелефонЗначение", КонтактныйТелефонЗначение);
Параметры.Вставить("АдресЭлектроннойПочты", АдресЭлектроннойПочты); Параметры.Вставить("АдресЭлектроннойПочты", АдресЭлектроннойПочты);
Параметры.Вставить("АдресЭлектроннойПочтыЗначение", АдресЭлектроннойПочтыЗначение);
Параметры.Вставить("ЮридическийАдрес", ПредставлениеАдресаЮридическогоЛица); Параметры.Вставить("ЮридическийАдрес", ПредставлениеАдресаЮридическогоЛица);
Параметры.Вставить("ЮридическийАдресЗначение", ЮридическийАдресЗначение); Параметры.Вставить("ЮридическийАдресЗначение", ЮридическийАдресЗначение);
@@ -1311,8 +1318,13 @@
КонецЕсли; КонецЕсли;
МестоРождения = СведенияОФизическомЛице.МестоРожд; МестоРождения = СведенияОФизическомЛице.МестоРожд;
Гражданство = Справочники.СтраныМира.НайтиПоКоду(СведенияОФизическомЛице.Гражданство); Гражданство = Справочники.СтраныМира.НайтиПоКоду(СведенияОФизическомЛице.Гражданство);
КонтактныйТелефон = СведенияОФизическомЛице.КонтактТлф; КонтактныйТелефон = СведенияОФизическомЛице.КонтактТлф;
КонтактныйТелефонЗначение = КонтактнаяИнформацияПоПредставлению(КонтактныйТелефон, "Телефон");
АдресЭлектроннойПочты = СведенияОФизическомЛице.АдрЭлПочт; АдресЭлектроннойПочты = СведенияОФизическомЛице.АдрЭлПочт;
АдресЭлектроннойПочтыЗначение = КонтактнаяИнформацияПоПредставлению(АдресЭлектроннойПочты, "АдресЭлектроннойПочты");
ФИОДоверителя = СведенияОФизическомЛице.ФИО; ФИОДоверителя = СведенияОФизическомЛице.ФИО;
АдресМестаЖительства = СведенияОФизическомЛице.АдрМЖ; АдресМестаЖительства = СведенияОФизическомЛице.АдрМЖ;
СведенияОДокументеУдостоверяющемЛичность = СведенияОФизическомЛице.УдЛичнФЛ; СведенияОДокументеУдостоверяющемЛичность = СведенияОФизическомЛице.УдЛичнФЛ;
@@ -1366,8 +1378,7 @@
Если АдресМестаЖительства <> Неопределено Тогда Если АдресМестаЖительства <> Неопределено Тогда
АдресРегистрации = ПредставленияАдреса(АдресМестаЖительства); АдресРегистрации = ПредставленияАдреса(АдресМестаЖительства);
ИдентификаторАдресаПоФИАС = АдресМестаЖительства.ИдФИАС; АдресРегистрацииЗначение = КонтактнаяИнформацияПоПредставлению(АдресРегистрации, "Адрес");
АдресРегистрацииЗначение = РаботаСАдресами.АдресПоИдентификатору(ИдентификаторАдресаПоФИАС);
КонецЕсли; КонецЕсли;
Параметры = Новый Структура; Параметры = Новый Структура;
@@ -1380,8 +1391,10 @@
Параметры.Вставить("Гражданство", Гражданство); Параметры.Вставить("Гражданство", Гражданство);
Параметры.Вставить("КонтактныйТелефон", КонтактныйТелефон); Параметры.Вставить("КонтактныйТелефон", КонтактныйТелефон);
Параметры.Вставить("Телефон", КонтактныйТелефон); Параметры.Вставить("Телефон", КонтактныйТелефон);
Параметры.Вставить("ТелефонЗначение", КонтактныйТелефонЗначение);
Параметры.Вставить("АдресЭлектроннойПочты", АдресЭлектроннойПочты); Параметры.Вставить("АдресЭлектроннойПочты", АдресЭлектроннойПочты);
Параметры.Вставить("ЭлектроннаяПочта", АдресЭлектроннойПочты); Параметры.Вставить("ЭлектроннаяПочта", АдресЭлектроннойПочты);
Параметры.Вставить("ЭлектроннаяПочтаЗначение", АдресЭлектроннойПочтыЗначение);
Параметры.Вставить("АдресРегистрации", АдресРегистрации); Параметры.Вставить("АдресРегистрации", АдресРегистрации);
Параметры.Вставить("АдресРегистрацииЗначение", АдресРегистрацииЗначение); Параметры.Вставить("АдресРегистрацииЗначение", АдресРегистрацииЗначение);
@@ -1443,11 +1456,7 @@
КонтактныйТелефон = СведенияОбИностранномЮридическомЛице.КонтактТлф; КонтактныйТелефон = СведенияОбИностранномЮридическомЛице.КонтактТлф;
АдресЭлектроннойПочты = СведенияОбИностранномЮридическомЛице.АдрЭлПочт; АдресЭлектроннойПочты = СведенияОбИностранномЮридическомЛице.АдрЭлПочт;
ЮридическийАдресВСтранеРегистрации = СведенияОбИностранномЮридическомЛице.АдрСтрРег; ЮридическийАдресВСтранеРегистрации = СведенияОбИностранномЮридическомЛице.АдрСтрРег;
ФактическийАдрес = СведенияОбИностранномЮридическомЛице.АдрМНФакт; ФактическийАдрес = ПредставленияАдреса(СведенияОбИностранномЮридическомЛице.АдрМНФакт);
ИдентификаторАдресаПоФИАС = ФактическийАдрес.ИдФИАС;
ФактическийАдресЗначение = РаботаСАдресами.АдресПоИдентификатору(ИдентификаторАдресаПоФИАС);
ФактическийАдрес = ПредставленияАдреса(ФактическийАдрес);
Параметры = Новый Структура; Параметры = Новый Структура;
Параметры.Вставить("НаименованиеОрганизации", НаименованиеОрганизации); Параметры.Вставить("НаименованиеОрганизации", НаименованиеОрганизации);
@@ -1467,7 +1476,6 @@
Параметры.Вставить("ЮридическийАдресВСтранеРегистрации", ЮридическийАдресВСтранеРегистрации); Параметры.Вставить("ЮридическийАдресВСтранеРегистрации", ЮридическийАдресВСтранеРегистрации);
Параметры.Вставить("ЮридическийАдрес", ЮридическийАдресВСтранеРегистрации); Параметры.Вставить("ЮридическийАдрес", ЮридическийАдресВСтранеРегистрации);
Параметры.Вставить("ФактическийАдрес", ФактическийАдрес); Параметры.Вставить("ФактическийАдрес", ФактическийАдрес);
Параметры.Вставить("ФактическийАдресЗначение", ФактическийАдресЗначение);
Возврат Параметры; Возврат Параметры;
@@ -1549,8 +1557,22 @@
Продолжить; Продолжить;
КонецПопытки; КонецПопытки;
Объект = СоздатьЭлемент(); ЕдиныйРегистрационныйНомер = ОписаниеДоверенности.Документ.Довер.СвДов.НомДовер;
//@skip-check query-in-loop - штучные запросы в количестве загружаемых доверенностей
Доверенность = НайтиДоверенность(ЕдиныйРегистрационныйНомер);
Если Доверенность <> Неопределено Тогда
Доверенности.Добавить(Доверенность);
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Машиночитаемая доверенность с номером %1 уже существует, загрузка из файла %2 не выполнена.'"),
ЕдиныйРегистрационныйНомер,
ИмяФайла);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, Доверенность);
Продолжить;
КонецЕсли;
Объект = СоздатьЭлемент();
ЗаполнитьДоверенность(Объект, ОписаниеДоверенности); ЗаполнитьДоверенность(Объект, ОписаниеДоверенности);
Доверенность = ПолучитьСсылку(Новый УникальныйИдентификатор); Доверенность = ПолучитьСсылку(Новый УникальныйИдентификатор);
@@ -1578,6 +1600,11 @@
ВызватьИсключение; ВызватьИсключение;
КонецПопытки; КонецПопытки;
РегистрыСведений.МашиночитаемыеДоверенностиСтатусы.ОбновлениеСтатусовМЧД(Объект.Ссылка);
РезультатПроверкиДоверенности = МашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиПодписейДоверенности(Объект.Ссылка);
Если РезультатПроверкиДоверенности.ЕстьВсеПодписи Тогда
МашиночитаемыеДоверенностиФНССлужебный.РассчитатьТехническийСтатус(Объект.Ссылка, РезультатПроверкиДоверенности.ЕстьВсеПодписи);
КонецЕсли;
КонецЦикла; КонецЦикла;
Результат = Новый Структура; Результат = Новый Структура;
@@ -2164,6 +2191,41 @@
КонецФункции КонецФункции
Функция КонтактнаяИнформацияПоПредставлению(Представление, ТипКонтактнойИнформации)
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
ОжидаемыйВид = МодульУправлениеКонтактнойИнформацией.ТипКонтактнойИнформацииПоНаименованию(ТипКонтактнойИнформации);
Возврат МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(Представление, ОжидаемыйВид);
КонецЕсли;
Возврат "";
КонецФункции
Функция НайтиДоверенность(ЕдиныйРегистрационныйНомер)
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| МашиночитаемыеДоверенности.Ссылка
|ИЗ
| Справочник.МашиночитаемыеДоверенности КАК МашиночитаемыеДоверенности
|ГДЕ
| МашиночитаемыеДоверенности.НомерДоверенности = &НомерДоверенности
| И НЕ МашиночитаемыеДоверенности.ПометкаУдаления";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("НомерДоверенности", ЕдиныйРегистрационныйНомер);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.Ссылка;
КонецЕсли;
Возврат Неопределено
КонецФункции
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -35,6 +35,16 @@
Наименование = Справочники.МашиночитаемыеДоверенности.АвтоНаименование(ЭтотОбъект); Наименование = Справочники.МашиночитаемыеДоверенности.АвтоНаименование(ЭтотОбъект);
КонецЕсли; КонецЕсли;
Если Не ЗначениеЗаполнено(Ответственный) Тогда
Ответственный = Пользователи.ТекущийПользователь();
КонецЕсли;
Если Не Ссылка.Пустая() Тогда
ОбновитьСтатус();
Иначе
ДополнительныеСвойства.Вставить("РассчитатьТехническийСтатус");
КонецЕсли;
КонецПроцедуры КонецПроцедуры
Процедура ПриЗаписи(Отказ) Процедура ПриЗаписи(Отказ)
@@ -110,7 +120,9 @@
НаборЗаписей.Записать(); НаборЗаписей.Записать();
МашиночитаемыеДоверенностиФНССлужебный.РассчитатьИЗаписатьТехническийСтатус(Ссылка); Если ДополнительныеСвойства.Свойство("ОбновитьСтатус") Тогда
ОбновитьСтатус();
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -118,6 +130,16 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Процедура ОбновитьСтатус()
ТехническийСтатус = МашиночитаемыеДоверенностиФНССлужебный.РассчитатьТехническийСтатус(ЭтотОбъект);
НовыйСтатус = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РасчетныйСтатусДокумента(ТехническийСтатус, Верна);
Если НовыйСтатус <> Статус Тогда
Статус = НовыйСтатус;
КонецЕсли;
КонецПроцедуры
Процедура ДобавитьСтрокуПредставителя(НаборЗаписей, Представитель, Реквизиты, Процедура ДобавитьСтрокуПредставителя(НаборЗаписей, Представитель, Реквизиты,
Организация = Неопределено, РеквизитыОрганизации = Неопределено) Организация = Неопределено, РеквизитыОрганизации = Неопределено)
@@ -326,36 +326,6 @@
<fullTextSearch>Use</fullTextSearch> <fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
<attributes uuid="b28ca3ca-f7e5-40c8-a48a-06fea4e76c35">
<name>УстановившийСтатус</name>
<synonym>
<key>ru</key>
<value>Установивший статус</value>
</synonym>
<type>
<types>CatalogRef.Пользователи</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="a5503fb0-c5df-476b-a09b-44259ec03b85">
<name>СтатусУстановленВручную</name>
<synonym>
<key>ru</key>
<value>Статус установлен вручную</value>
</synonym>
<type>
<types>Boolean</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="b5cd0ae6-2a12-44d6-8897-587f7e31159b"> <attributes uuid="b5cd0ae6-2a12-44d6-8897-587f7e31159b">
<name>ПолномочияВТекстовомВиде</name> <name>ПолномочияВТекстовомВиде</name>
<synonym> <synonym>
@@ -513,6 +483,37 @@
<fullTextSearch>Use</fullTextSearch> <fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
</attributes> </attributes>
<attributes uuid="872c3f9c-a484-467b-b5fe-b008fee5152e">
<name>ДатаОтмены</name>
<synonym>
<key>ru</key>
<value>Дата отмены</value>
</synonym>
<type>
<types>Date</types>
<dateQualifiers/>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="10c678a1-7a8b-4941-b625-ee2de92ee4d5">
<name>ФайлЗаявленияНаОтмену</name>
<synonym>
<key>ru</key>
<value>Файл заявления на отмену</value>
</synonym>
<type>
<types>CatalogRef.МашиночитаемыеДоверенностиПрисоединенныеФайлы</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<tabularSections uuid="60f2c9f3-3090-442c-8991-0396b8f8b195"> <tabularSections uuid="60f2c9f3-3090-442c-8991-0396b8f8b195">
<producedTypes> <producedTypes>
<objectType typeId="f194327c-51ff-4fff-9c2c-df35946c1fa2" valueTypeId="8b5cd3d9-5cac-488d-89dd-ab98b9656a3e"/> <objectType typeId="f194327c-51ff-4fff-9c2c-df35946c1fa2" valueTypeId="8b5cd3d9-5cac-488d-89dd-ab98b9656a3e"/>
@@ -1017,6 +1018,15 @@
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes> <usePurposes>MobileDevice</usePurposes>
</forms> </forms>
<forms uuid="1621383d-36a8-4215-9f63-bdff10d2730a">
<name>ОтменаДоверенности</name>
<synonym>
<key>ru</key>
<value>Отмена доверенности</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
<templates uuid="d9cc0bdf-ec8a-41e6-a04d-f87a277dc07e"> <templates uuid="d9cc0bdf-ec8a-41e6-a04d-f87a277dc07e">
<name>ПФ_MXL_Доверенность</name> <name>ПФ_MXL_Доверенность</name>
<synonym> <synonym>
@@ -1051,4 +1061,19 @@
<comment>АПК:497 Не подлежит переводу, находится в локализованной части</comment> <comment>АПК:497 Не подлежит переводу, находится в локализованной части</comment>
<templateType>BinaryData</templateType> <templateType>BinaryData</templateType>
</templates> </templates>
<commands uuid="20cbe469-17f9-44da-8317-91feef8c5d46">
<name>Отменить</name>
<synonym>
<key>ru</key>
<value>Отменить...</value>
</synonym>
<group>FormNavigationPanelSeeAlso</group>
<commandParameterType>
<types>CatalogRef.МашиночитаемыеДоверенности</types>
</commandParameterType>
<representation>Auto</representation>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.Stop</picture>
</picture>
</commands>
</mdclass:Catalog> </mdclass:Catalog>
@@ -1,5 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormGroup">
<name>ГруппаРассылкиМогутРаботатьБыстрее</name>
<id>176</id>
<items xsi:type="form:Decoration">
<name>КартинкаПредупреждение</name>
<id>178</id>
<title>
<key>ru</key>
<value>Картинка предупреждение</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>КартинкаПредупреждениеРасширеннаяПодсказка</name>
<id>180</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КартинкаПредупреждениеКонтекстноеМеню</name>
<id>179</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Предупреждение</picture>
</picture>
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>ЗаголовокУскорениеРассылок</name>
<id>181</id>
<title>
<key>ru</key>
<value>Рассылки отчетов могут работать быстрее</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<toolTip>
<key>ru</key>
<value>Для рассылки отчетов в несколько потоков, необходимо указать каталог временных файлов кластера серверов 1С:Предприятие.</value>
</toolTip>
<toolTipRepresentation>ShowRight</toolTipRepresentation>
<extendedTooltip>
<name>ЗаголовокУскорениеРассылокРасширеннаяПодсказка</name>
<id>183</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ЗаголовокУскорениеРассылокКонтекстноеМеню</name>
<id>182</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
<titleHeight>1</titleHeight>
</extInfo>
</items>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа рассылки могут работать быстрее</value>
</title>
<toolTipRepresentation>ShowLeft</toolTipRepresentation>
<extendedTooltip>
<name>ГруппаРассылкиМогутРаботатьБыстрееРасширеннаяПодсказка</name>
<id>177</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаОтборы</name> <name>ГруппаОтборы</name>
<id>157</id> <id>157</id>
@@ -87,6 +87,9 @@
Если Не ПравоДоступа("ЖурналРегистрации", Метаданные) Тогда Если Не ПравоДоступа("ЖурналРегистрации", Метаданные) Тогда
Элементы.СобытияРассылки.Видимость = Ложь; Элементы.СобытияРассылки.Видимость = Ложь;
КонецЕсли; КонецЕсли;
ПоказатьПодсказкуРассылкиОтчетовМогутРаботатьБыстрее();
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -210,6 +213,34 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Процедура ПоказатьПодсказкуРассылкиОтчетовМогутРаботатьБыстрее()
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Или ОбщегоНазначения.РазделениеВключено() Тогда
Элементы.ГруппаРассылкиМогутРаботатьБыстрее.Видимость = Ложь;
Иначе
Если ФайловаяСистема.ОбщийКаталогВременныхФайлов() = КаталогВременныхФайлов() Тогда
Элементы.ГруппаРассылкиМогутРаботатьБыстрее.Видимость = Истина;
Если Пользователи.ЭтоПолноправныйПользователь()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.НастройкиПрограммы") Тогда
Элементы.ЗаголовокУскорениеРассылок.Гиперссылка = Истина;
Элементы.ЗаголовокУскорениеРассылок.УстановитьДействие("Нажатие", "Подключаемый_ЗаголовокУскорениеРассылокНажатие");
КонецЕсли;
Иначе
Элементы.ГруппаРассылкиМогутРаботатьБыстрее.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ЗаголовокУскорениеРассылокНажатие(Элемент)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.НастройкиПрограммы") Тогда
МодульНастройкиПрограммыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("НастройкиПрограммыКлиент");
МодульНастройкиПрограммыКлиент.ОткрытьОбщиеНастройки();
КонецЕсли;
КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды // СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте &НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда) Процедура Подключаемый_ВыполнитьКоманду(Команда)
@@ -32,10 +32,11 @@
Если ПовторноеЧтение Тогда Если ПовторноеЧтение Тогда
ЗаполнитьСведенияТаблицыОтчеты(); ЗаполнитьСведенияТаблицыОтчеты();
ПрочитатьРасписаниеРегламентногоЗадания(); ПрочитатьРасписаниеРегламентногоЗадания();
ОтобразитьВажность();
ДобавитьКомандыДобавленияДополнительныхПараметровТекста(); ДобавитьКомандыДобавленияДополнительныхПараметровТекста();
КонецЕсли; КонецЕсли;
ОтобразитьВажность();
Для Каждого Строка Из Объект.Отчеты Цикл Для Каждого Строка Из Объект.Отчеты Цикл
Строка.НеОтправлятьПустой = Не Строка.ОтправлятьЕслиПустой; Строка.НеОтправлятьПустой = Не Строка.ОтправлятьЕслиПустой;
КонецЦикла; КонецЦикла;
@@ -151,7 +152,7 @@
// Автор рассылки // Автор рассылки
ТекущийПользователь = Пользователи.ТекущийПользователь(); ТекущийПользователь = Пользователи.ТекущийПользователь();
Объект.Автор = ТекущийПользователь; Объект.Автор = ТекущийПользователь;
Объект.ВажностьПисьма = "Обычная"; Объект.ВажностьПисьма = РассылкаОтчетовКлиентСервер.ОбычнаяВажностьИнтернетПочтовогоСообщения();
Объект.ПрикреплятьОтчетыВоВложения = Истина; Объект.ПрикреплятьОтчетыВоВложения = Истина;
Если Не ЗначениеЗаполнено(Объект.Автор) Тогда Если Не ЗначениеЗаполнено(Объект.Автор) Тогда
Отказ = Истина; Отказ = Истина;
@@ -2134,7 +2135,7 @@
&НаКлиенте &НаКлиенте
Процедура ВажностьВысокая(Команда) Процедура ВажностьВысокая(Команда)
Объект.ВажностьПисьма = "Высокая"; Объект.ВажностьПисьма = РассылкаОтчетовКлиентСервер.ВысокаяВажностьИнтернетПочтовогоСообщения();
Элементы.ГруппаВажность.Картинка = БиблиотекаКартинок.ВажностьВысокая; Элементы.ГруппаВажность.Картинка = БиблиотекаКартинок.ВажностьВысокая;
Элементы.ГруппаВажность.Подсказка = НСтр("ru = 'Высокая важность'"); Элементы.ГруппаВажность.Подсказка = НСтр("ru = 'Высокая важность'");
Модифицированность = Истина; Модифицированность = Истина;
@@ -2142,7 +2143,7 @@
&НаКлиенте &НаКлиенте
Процедура ВажностьОбычная(Команда) Процедура ВажностьОбычная(Команда)
Объект.ВажностьПисьма = "Обычная"; Объект.ВажностьПисьма = РассылкаОтчетовКлиентСервер.ОбычнаяВажностьИнтернетПочтовогоСообщения();
Элементы.ГруппаВажность.Картинка = БиблиотекаКартинок.ВажностьНеЗадана; Элементы.ГруппаВажность.Картинка = БиблиотекаКартинок.ВажностьНеЗадана;
Элементы.ГруппаВажность.Подсказка = НСтр("ru = 'Обычная важность'"); Элементы.ГруппаВажность.Подсказка = НСтр("ru = 'Обычная важность'");
Модифицированность = Истина; Модифицированность = Истина;
@@ -2150,7 +2151,7 @@
&НаКлиенте &НаКлиенте
Процедура ВажностьНизкая(Команда) Процедура ВажностьНизкая(Команда)
Объект.ВажностьПисьма = "Низкая"; Объект.ВажностьПисьма = РассылкаОтчетовКлиентСервер.НизкаяВажностьИнтернетПочтовогоСообщения();
Элементы.ГруппаВажность.Картинка = БиблиотекаКартинок.ВажностьНизкая; Элементы.ГруппаВажность.Картинка = БиблиотекаКартинок.ВажностьНизкая;
Элементы.ГруппаВажность.Подсказка = НСтр("ru = 'Низкая важность'"); Элементы.ГруппаВажность.Подсказка = НСтр("ru = 'Низкая важность'");
Модифицированность = Истина; Модифицированность = Истина;
@@ -3150,8 +3151,14 @@
Возврат "********"; Возврат "********";
КонецФункции КонецФункции
// Параметры:
// Форма - ФормаКлиентскогоПриложения:
// * Расписание - РасписаниеРегламентногоЗадания
// Изменения - Строка
//
&НаКлиентеНаСервереБезКонтекста &НаКлиентеНаСервереБезКонтекста
Процедура ВидимостьДоступностьКорректность(Форма, Изменения = "") Процедура ВидимостьДоступностьКорректность(Форма, Изменения = "")
Объект = Форма.Объект; Объект = Форма.Объект;
Элементы = Форма.Элементы; Элементы = Форма.Элементы;
@@ -4698,10 +4705,10 @@
&НаСервере &НаСервере
Процедура ОтобразитьВажность() Процедура ОтобразитьВажность()
Если Объект.ВажностьПисьма = "Высокая" Тогда Если Объект.ВажностьПисьма = РассылкаОтчетовКлиентСервер.ВысокаяВажностьИнтернетПочтовогоСообщения() Тогда
Элементы.ГруппаВажность.Картинка = БиблиотекаКартинок.ВажностьВысокая; Элементы.ГруппаВажность.Картинка = БиблиотекаКартинок.ВажностьВысокая;
Элементы.ГруппаВажность.Подсказка = НСтр("ru = 'Высокая важность'"); Элементы.ГруппаВажность.Подсказка = НСтр("ru = 'Высокая важность'");
ИначеЕсли Объект.ВажностьПисьма = "Низкая" Тогда ИначеЕсли Объект.ВажностьПисьма = РассылкаОтчетовКлиентСервер.НизкаяВажностьИнтернетПочтовогоСообщения() Тогда
Элементы.ГруппаВажность.Картинка = БиблиотекаКартинок.ВажностьНизкая; Элементы.ГруппаВажность.Картинка = БиблиотекаКартинок.ВажностьНизкая;
Элементы.ГруппаВажность.Подсказка = НСтр("ru = 'Низкая важность'"); Элементы.ГруппаВажность.Подсказка = НСтр("ru = 'Низкая важность'");
Иначе Иначе
@@ -976,6 +976,85 @@
<horizontalAlign>Right</horizontalAlign> <horizontalAlign>Right</horizontalAlign>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormGroup">
<name>КомандыВыборОтмена</name>
<id>876</id>
<items xsi:type="form:Button">
<name>ВыбратьСсылку</name>
<id>880</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ВыбратьСсылкуРасширеннаяПодсказка</name>
<id>881</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ВыбратьСсылку</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>Отмена</name>
<id>878</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОтменаРасширеннаяПодсказка</name>
<id>879</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Cancel</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Команды выбор отмена</value>
</title>
<extendedTooltip>
<name>КомандыВыборОтменаРасширеннаяПодсказка</name>
<id>877</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>CommandBar</type>
<extInfo xsi:type="form:CommandBarExtInfo">
<horizontalAlign>Right</horizontalAlign>
</extInfo>
</items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -2839,6 +2918,19 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>РежимВыбораСсылки</name>
<id>31</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>Далее</name> <name>Далее</name>
<title> <title>
@@ -3002,6 +3094,28 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands>
<name>ВыбратьСсылку</name>
<title>
<key>ru</key>
<value>Выбрать</value>
</title>
<id>2</id>
<toolTip>
<key>ru</key>
<value>Выбрать ссылку</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ВыбратьСсылку</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters> <parameters>
<name>ДляШифрованияИРасшифровки</name> <name>ДляШифрованияИРасшифровки</name>
<valueType/> <valueType/>
@@ -3053,6 +3167,12 @@
<name>ОтборПоОрганизации</name> <name>ОтборПоОрганизации</name>
<valueType/> <valueType/>
</parameters> </parameters>
<parameters>
<name>РежимВыбораСсылки</name>
<valueType>
<types>Boolean</types>
</valueType>
</parameters>
<commandInterface> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -55,6 +55,8 @@
КонецЕсли; КонецЕсли;
ВыполнятьНаСервере = Параметры.ВыполнятьНаСервере; ВыполнятьНаСервере = Параметры.ВыполнятьНаСервере;
РежимВыбораСсылки = Параметры.РежимВыбораСсылки;
ЕстьОблачнаяПодпись = ЭлектроннаяПодписьСлужебный.ИспользоватьСервисОблачнойПодписи(); ЕстьОблачнаяПодпись = ЭлектроннаяПодписьСлужебный.ИспользоватьСервисОблачнойПодписи();
ОтборПоОрганизации = Параметры.ОтборПоОрганизации; ОтборПоОрганизации = Параметры.ОтборПоОрганизации;
@@ -133,6 +135,11 @@
ОтпечатокВыбранногоСертификатаНеНайден = Истина; ОтпечатокВыбранногоСертификатаНеНайден = Истина;
КонецЕсли; КонецЕсли;
Элементы.КомандыВыборОтмена.Видимость = РежимВыбораСсылки;
Элементы.ВыбратьСсылку.КнопкаПоУмолчанию = РежимВыбораСсылки;
Элементы.КомандыДалееОтмена.Видимость = Не РежимВыбораСсылки;
Элементы.Далее.КнопкаПоУмолчанию = Не РежимВыбораСсылки;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -309,7 +316,11 @@
&НаКлиенте &НаКлиенте
Процедура СертификатыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) Процедура СертификатыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Далее(Неопределено); Если РежимВыбораСсылки Тогда
ВыбратьСсылку(Неопределено);
Иначе
Далее(Неопределено);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -458,6 +469,41 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ВыбратьСсылку(Команда)
ТекущиеДанные = Элементы.Сертификаты.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ТекущиеДанные = Элементы.Сертификаты.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ОповещениеЗавершения = Новый ОписаниеОповещения("ВыбратьСсылкуЗавершение", ЭтотОбъект);
Если ТекущиеДанные.ТипРазмещения = 3 Тогда
МодульСервисКриптографииDSSКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("СервисКриптографииDSSКлиентСервер");
МодульСервисКриптографииDSSКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("СервисКриптографииDSSКлиент");
ОтпечатокСертификата = Новый Структура();
ОтпечатокСертификата.Вставить("Отпечаток", МодульСервисКриптографииDSSКлиентСервер.ТрансформироватьОтпечаток(ТекущиеДанные.Отпечаток));
ПараметрыОперации = Новый Структура;
ПараметрыОперации.Вставить("ПолучитьДвоичныеДанные", Истина);
МодульСервисКриптографииDSSКлиент.НайтиСертификат(ОповещениеЗавершения, ОтпечатокСертификата, ПараметрыОперации);
Иначе
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьСертификатПоОтпечатку(ОповещениеЗавершения, ТекущиеДанные.Отпечаток, Ложь);
КонецЕсли;
КонецПроцедуры
// Продолжение процедуры ВыбратьСсылку.
&НаКлиенте
Процедура ВыбратьСсылкуЗавершение(Результат, Контекст) Экспорт
Закрыть(Результат.Выгрузить());
КонецПроцедуры
// Продолжение процедуры Выбрать. // Продолжение процедуры Выбрать.
&НаКлиенте &НаКлиенте
Процедура ВыбратьПослеПроверкиСертификата(Результат, Контекст) Экспорт Процедура ВыбратьПослеПроверкиСертификата(Результат, Контекст) Экспорт
@@ -1735,7 +1735,7 @@
</title> </title>
<id>28</id> <id>28</id>
<valueType> <valueType>
<types>DefinedType.МашиночитаемаяДоверенность</types> <types>CatalogRef.МашиночитаемыеДоверенности</types>
</valueType> </valueType>
<view> <view>
<common>true</common> <common>true</common>
@@ -1744,6 +1744,17 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>РезультатПроверкиМЧДДляПодписания</name>
<id>29</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>Подписать</name> <name>Подписать</name>
<title> <title>
@@ -118,6 +118,7 @@
Если Не ПоДоверенности Тогда Если Не ПоДоверенности Тогда
МашиночитаемаяДоверенность = Неопределено; МашиночитаемаяДоверенность = Неопределено;
РезультатПроверкиМЧДДляПодписания = Неопределено;
Иначе Иначе
ПодключитьОбработчикОжидания("Подключаемый_ПодобратьДоверенность", 0.1, Истина); ПодключитьОбработчикОжидания("Подключаемый_ПодобратьДоверенность", 0.1, Истина);
КонецЕсли; КонецЕсли;
@@ -373,6 +374,9 @@
Элементы.ТипПодписи.Видимость = ПараметрТипПодписи.Видимость; Элементы.ТипПодписи.Видимость = ПараметрТипПодписи.Видимость;
Элементы.ТипПодписи.Доступность = ПараметрТипПодписи.Доступность; Элементы.ТипПодписи.Доступность = ПараметрТипПодписи.Доступность;
Элементы.ГруппаДоверенность.Видимость = Ложь;
// Локализация
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
Элементы.ГруппаДоверенность.Видимость = ПараметрТипПодписи.ВыборДоверенности; Элементы.ГруппаДоверенность.Видимость = ПараметрТипПодписи.ВыборДоверенности;
Если ПараметрТипПодписи.ВыборДоверенности Тогда Если ПараметрТипПодписи.ВыборДоверенности Тогда
@@ -382,9 +386,8 @@
ПодобратьДоверенность(); ПодобратьДоверенность();
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Иначе
Элементы.ГруппаДоверенность.Видимость = Ложь;
КонецЕсли; КонецЕсли;
// Конец Локализация
Если Элементы.ТипПодписи.Видимость Тогда Если Элементы.ТипПодписи.Видимость Тогда
СписокТипов = Новый СписокЗначений; СписокТипов = Новый СписокЗначений;
@@ -634,16 +637,19 @@
КонецЕсли; КонецЕсли;
МашиночитаемаяДоверенность = Неопределено; МашиночитаемаяДоверенность = Неопределено;
РезультатПроверкиМЧДДляПодписания = Неопределено;
Элементы.МашиночитаемаяДоверенность.СписокВыбора.Очистить(); Элементы.МашиночитаемаяДоверенность.СписокВыбора.Очистить();
Элементы.МашиночитаемаяДоверенность.РежимВыбораИзСписка = Ложь; Элементы.МашиночитаемаяДоверенность.РежимВыбораИзСписка = Ложь;
МодульМашиночитаемыеДоверенностиФНС = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенностиФНС"); МодульМашиночитаемыеДоверенностиФНС = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенностиФНС");
СертификатКриптографии = Новый СертификатКриптографии(ПолучитьИзВременногоХранилища(СертификатАдрес)); СертификатКриптографии = Новый СертификатКриптографии(ПолучитьИзВременногоХранилища(СертификатАдрес));
ОтборДляДоверенностейПоСертификату = МодульМашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату(СертификатКриптографии); ОтборДляДоверенностейПоСертификату = МодульМашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату(
СертификатКриптографии, "Представитель");
ВыбранныеПоля = Новый Массив; ВыбранныеПоля = Новый Массив;
ВыбранныеПоля.Добавить("МашиночитаемаяДоверенность"); ВыбранныеПоля.Добавить("МашиночитаемаяДоверенность");
ВыбранныеПоля.Добавить("Наименование"); ВыбранныеПоля.Добавить("Наименование");
ВыбранныеПоля.Добавить("ДатаВыдачи"); ВыбранныеПоля.Добавить("ДатаВыдачи");
Доверенности = МодульМашиночитаемыеДоверенностиФНС.ДоверенностиСОтбором(ОтборДляДоверенностейПоСертификату, ВыбранныеПоля); Доверенности = МодульМашиночитаемыеДоверенностиФНС.ДоверенностиСОтбором(ОтборДляДоверенностейПоСертификату, ВыбранныеПоля);
Если Доверенности.Количество() > 0 Тогда Если Доверенности.Количество() > 0 Тогда
@@ -697,6 +703,24 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
// Локализация
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности")
И ПоДоверенности
И ЗначениеЗаполнено(МашиночитаемаяДоверенность) Тогда
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("МашиночитаемыеДоверенностиФНССлужебныйКлиент");
РезультатПроверкиМЧДДляПодписания = МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент.РезультатПроверкиМЧДДляПодписания(
МашиночитаемаяДоверенность, СертификатАдрес);
Если РезультатПроверкиМЧДДляПодписания.ПроверкаПодписанта.Верна = Ложь Тогда
Контекст.ОшибкаНаКлиенте.Вставить("ОписаниеОшибки", РезультатПроверкиМЧДДляПодписания.ПроверкаПодписанта.ТекстПроверки);
ОбработатьОшибку(Контекст.Оповещение, Контекст.ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере);
Возврат;
КонецЕсли;
КонецЕсли;
// Конец Локализация
Если ЗначениеЗаполнено(РезультатПроверкиУдостоверяющегоЦентра) Если ЗначениеЗаполнено(РезультатПроверкиУдостоверяющегоЦентра)
И Не РезультатПроверкиУдостоверяющегоЦентра.Действует Тогда И Не РезультатПроверкиУдостоверяющегоЦентра.Действует Тогда
@@ -842,6 +866,7 @@
ВыбранныйСертификат.Вставить("Данные", СертификатАдрес); ВыбранныйСертификат.Вставить("Данные", СертификатАдрес);
ОписаниеДанных.Вставить("ВыбранныйСертификат", ВыбранныйСертификат); ОписаниеДанных.Вставить("ВыбранныйСертификат", ВыбранныйСертификат);
ОписаниеДанных.Вставить("ВыбраннаяДоверенность", МашиночитаемаяДоверенность); ОписаниеДанных.Вставить("ВыбраннаяДоверенность", МашиночитаемаяДоверенность);
ОписаниеДанных.Вставить("РезультатПроверкиМЧДДляПодписания", РезультатПроверкиМЧДДляПодписания);
Если ОписаниеДанных.Свойство("ПередВыполнением") Если ОписаниеДанных.Свойство("ПередВыполнением")
И ТипЗнч(ОписаниеДанных.ПередВыполнением) = Тип("ОписаниеОповещения") Тогда И ТипЗнч(ОписаниеДанных.ПередВыполнением) = Тип("ОписаниеОповещения") Тогда
@@ -2748,7 +2748,6 @@
<showInFooter>true</showInFooter> <showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo"> <extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap> <wrap>true</wrap>
<chooseType>true</chooseType> <chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled> <typeDomainEnabled>true</typeDomainEnabled>
@@ -2799,6 +2798,46 @@
<textSize>Normal</textSize> <textSize>Normal</textSize>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormField">
<name>ЭлектронныеПодписиМашиночитаемаяДоверенность</name>
<id>315</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ЭлектронныеПодписи.МашиночитаемаяДоверенность</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
<name>ЭлектронныеПодписиМашиночитаемаяДоверенностьРасширеннаяПодсказка</name>
<id>317</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ЭлектронныеПодписиМашиночитаемаяДоверенностьКонтекстноеМеню</name>
<id>316</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -4020,6 +4059,48 @@
<common>true</common> <common>true</common>
</edit> </edit>
</columns> </columns>
<columns>
<name>РезультатПроверкиПодписиПоМЧД</name>
<id>23</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>МашиночитаемаяДоверенность</name>
<title>
<key>ru</key>
<value>Машиночитаемая доверенность</value>
</title>
<id>24</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>МашиночитаемаяДоверенностьВерна</name>
<id>25</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes> </attributes>
<attributes> <attributes>
<name>СертификатыШифрования</name> <name>СертификатыШифрования</name>
@@ -116,6 +116,27 @@
ПриПолученииПодписей(Неопределено, Неопределено); ПриПолученииПодписей(Неопределено, Неопределено);
КонецЕсли; КонецЕсли;
// Локализация
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
Если ВРег(ИмяСобытия) = ВРег("ИзмененРезультатПроверкиМЧД") И Источник = Объект.Ссылка Тогда
Найдено = ЭлектронныеПодписи.НайтиСтроки(Новый Структура("РезультатПроверкиПодписиПоМЧД", Параметр));
Если Найдено.Количество() = 0 Тогда
Возврат;
КонецЕсли;
УстановитьМодифицированность();
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебныйКлиент");
ИнформацияМЧД = МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент.ИнформацияМЧД(Параметр);
ЗаполнитьЗначенияСвойств(Найдено[0], ИнформацияМЧД);
КонецЕсли;
КонецЕсли;
// Конец Локализация
// СтандартныеПодсистемы.Свойства // СтандартныеПодсистемы.Свойства
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
МодульУправлениеСвойствамиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеСвойствамиКлиент"); МодульУправлениеСвойствамиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеСвойствамиКлиент");
@@ -618,9 +639,7 @@
ДанныеФайла.СсылкаНаДвоичныеДанныеФайла, ДанныеФайла.СсылкаНаДвоичныеДанныеФайла,
Элементы.ЭлектронныеПодписи.ВыделенныеСтроки); Элементы.ЭлектронныеПодписи.ВыделенныеСтроки);
Если Элементы.ФормаЗаписатьИЗакрыть.Видимость И Элементы.ФормаЗаписатьИЗакрыть.Доступность Тогда УстановитьМодифицированность();
Модифицированность = Истина;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -633,10 +652,15 @@
ДанныеФайла = ДанныеФайла(Объект.Ссылка, УникальныйИдентификатор); ДанныеФайла = ДанныеФайла(Объект.Ссылка, УникальныйИдентификатор);
РаботаСФайламиСлужебныйКлиент.ПроверитьПодписи(ЭтотОбъект, ДанныеФайла.СсылкаНаДвоичныеДанныеФайла); РаботаСФайламиСлужебныйКлиент.ПроверитьПодписи(ЭтотОбъект, ДанныеФайла.СсылкаНаДвоичныеДанныеФайла);
УстановитьМодифицированность();
КонецПроцедуры
&НаКлиенте
Процедура УстановитьМодифицированность()
Если Элементы.ФормаЗаписатьИЗакрыть.Видимость И Элементы.ФормаЗаписатьИЗакрыть.Доступность Тогда Если Элементы.ФормаЗаписатьИЗакрыть.Видимость И Элементы.ФормаЗаписатьИЗакрыть.Доступность Тогда
Модифицированность = Истина; Модифицированность = Истина;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -1411,7 +1411,7 @@
ФайлыВоВременномХранилище = ПоместитьТабличныеДокументыВоВременноеХранилище(НастройкиСохранения); ФайлыВоВременномХранилище = ПоместитьТабличныеДокументыВоВременноеХранилище(НастройкиСохранения);
ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, НастройкиСохранения); ФайлыВоВременномХранилище = ПоместитьФайлыВАрхив(ФайлыВоВременномХранилище, НастройкиСохранения);
ПечатьСКД = ФайлыВоВременномХранилище[0].ОбъектПечати <> Неопределено; ПечатьСКД = ФайлыВоВременномХранилище.Количество() И ФайлыВоВременномХранилище[0].ОбъектПечати <> Неопределено;
Если ПечатьСКД И ИспользоватьДиалогПечатиОфисныхДокументов() Тогда Если ПечатьСКД И ИспользоватьДиалогПечатиОфисныхДокументов() Тогда
ПараметрыОткрытия = Новый Структура("ОфисныеДокументы, АдресНастройкиПечатныхФорм,ПараметрыВывода"); ПараметрыОткрытия = Новый Структура("ОфисныеДокументы, АдресНастройкиПечатныхФорм,ПараметрыВывода");
@@ -813,53 +813,6 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>Ошибка</name> <name>Ошибка</name>
<id>81</id> <id>81</id>
<items xsi:type="form:FormField">
<name>ТекстОшибки</name>
<id>83</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ТекстОшибки</segments>
</dataPath>
<skipOnInput>true</skipOnInput>
<titleLocation>None</titleLocation>
<extendedTooltip>
<name>ТекстОшибкиРасширеннаяПодсказка</name>
<id>85</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТекстОшибкиКонтекстноеМеню</name>
<id>84</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<multiLine>true</multiLine>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<borderColor xsi:type="core:ColorRef">
<color>Style.FormBackColor</color>
</borderColor>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ВозможныеПричиныИРешения</name> <name>ВозможныеПричиныИРешения</name>
<id>99</id> <id>99</id>
@@ -1030,6 +983,57 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormField">
<name>ТекстОшибки</name>
<id>83</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>
<skipOnInput>true</skipOnInput>
<titleLocation>Top</titleLocation>
<extendedTooltip>
<name>ТекстОшибкиРасширеннаяПодсказка</name>
<id>85</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТекстОшибкиКонтекстноеМеню</name>
<id>84</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<multiLine>true</multiLine>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<borderColor xsi:type="core:ColorRef">
<color>Style.FormBackColor</color>
</borderColor>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:Decoration"> <items xsi:type="form:Decoration">
<name>Инструкция</name> <name>Инструкция</name>
<id>96</id> <id>96</id>
@@ -202,12 +202,10 @@
КонецЕсли; КонецЕсли;
Если ЗначениеЗаполнено(ЕстьПричинаИРешение) Тогда Если ЗначениеЗаполнено(ЕстьПричинаИРешение) Тогда
ОшибкаПоКлассификатору = Новый Структура; ОшибкаПоКлассификатору = ЭлектроннаяПодписьСлужебный.ПредставлениеОшибки();
ОшибкаПоКлассификатору.Вставить("Ссылка", "");
Причина = ЕстьПричинаИРешение.Причина; // Строка Причина = ЕстьПричинаИРешение.Причина; // Строка
ОшибкаПоКлассификатору.Вставить("Причина", ФорматированнаяСтрока(Причина)); ОшибкаПоКлассификатору.Причина = ФорматированнаяСтрока(Причина);
ОшибкаПоКлассификатору.Вставить("Решение", ФорматированнаяСтрока(ЕстьПричинаИРешение.Решение)); ОшибкаПоКлассификатору.Решение = ФорматированнаяСтрока(ЕстьПричинаИРешение.Решение);
ОшибкаПоКлассификатору.Вставить("СпособУстранения", "");
Иначе Иначе
ОшибкаПоКлассификатору = ЭлектроннаяПодписьСлужебный.ОшибкаПоКлассификатору(ТекстОшибки, МестоОшибки = "Сервер"); ОшибкаПоКлассификатору = ЭлектроннаяПодписьСлужебный.ОшибкаПоКлассификатору(ТекстОшибки, МестоОшибки = "Сервер");
КонецЕсли; КонецЕсли;
@@ -217,6 +215,21 @@
ГруппаПричиныИРешения.Видимость = ЭтоИзвестнаяОшибка; ГруппаПричиныИРешения.Видимость = ЭтоИзвестнаяОшибка;
Если ЭтоИзвестнаяОшибка Тогда Если ЭтоИзвестнаяОшибка Тогда
Если ЗначениеЗаполнено(ОшибкаПоКлассификатору.ДействияДляУстранения) Тогда
Если ОшибкаПоКлассификатору.ДействияДляУстранения.Найти(
"УказатьВРешенииСсылкуНаУдостоверяющийЦентр") <> Неопределено Тогда
ИздательСертификата = ИздательСертификата();
Если ЗначениеЗаполнено(ИздательСертификата) Тогда
Решение = Новый Массив;
Решение.Добавить(ОшибкаПоКлассификатору.Решение);
Решение.Добавить(Символы.ПС);
Решение.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Удостоверяющий центр, выдавший сертификат: %1.'"), ИздательСертификата));
ОшибкаПоКлассификатору.Решение = Новый ФорматированнаяСтрока(Решение);
КонецЕсли;
КонецЕсли;
КонецЕсли;
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
ЭлементИнструкция.Имя, "Заголовок", НСтр("ru = 'Подробнее'")); ЭлементИнструкция.Имя, "Заголовок", НСтр("ru = 'Подробнее'"));
@@ -266,6 +279,47 @@
КонецПроцедуры КонецПроцедуры
&НаСервере
Функция ИздательСертификата()
Если Не ЗначениеЗаполнено(ДополнительныеДанные) Тогда
Возврат Неопределено;
КонецЕсли;
ДанныеСертификата = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеДанные, "ДанныеСертификата", Неопределено);
Если ЗначениеЗаполнено(ДанныеСертификата) Тогда
Если ТипЗнч(ДанныеСертификата) = Тип("Строка") Тогда
ДанныеСертификата = ПолучитьИзВременногоХранилища(ДанныеСертификата);
КонецЕсли;
Иначе
Сертификат = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеДанные, "Сертификат", Неопределено);
Если ЗначениеЗаполнено(Сертификат) Тогда
Если ТипЗнч(Сертификат) = Тип("Массив") Тогда
Если Сертификат.Количество() > 0 Тогда
Если ТипЗнч(Сертификат[0]) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда
ДанныеСертификата = ДанныеСертификата(Сертификат[0], Неопределено);
Иначе
ДанныеСертификата = ПолучитьИзВременногоХранилища(Сертификат[0]);
КонецЕсли;
КонецЕсли;
ИначеЕсли ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда
ДанныеСертификата = ДанныеСертификата(Сертификат, Неопределено);
ИначеЕсли ТипЗнч(Сертификат) = Тип("ДвоичныеДанные") Тогда
ДанныеСертификата = Сертификат;
Иначе
ДанныеСертификата = ПолучитьИзВременногоХранилища(Сертификат);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ДанныеСертификата) Тогда
СвойстваИздателя = ЭлектроннаяПодпись.СвойстваИздателяСертификата(Новый СертификатКриптографии(ДанныеСертификата));
Возврат СвойстваИздателя.ОбщееИмя;
КонецЕсли;
Возврат Неопределено;
КонецФункции
&НаКлиенте &НаКлиенте
Функция ДополнительныеДанные() Функция ДополнительныеДанные()
@@ -320,7 +374,11 @@
ДанныеСертификата = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Сертификат, "ДанныеСертификата").Получить(); ДанныеСертификата = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Сертификат, "ДанныеСертификата").Получить();
Если ЗначениеЗаполнено(ДанныеСертификата) Тогда Если ЗначениеЗаполнено(ДанныеСертификата) Тогда
Возврат ПоместитьВоВременноеХранилище(ДанныеСертификата, УникальныйИдентификатор); Если ЗначениеЗаполнено(УникальныйИдентификатор) Тогда
Возврат ПоместитьВоВременноеХранилище(ДанныеСертификата, УникальныйИдентификатор);
Иначе
Возврат ДанныеСертификата;
КонецЕсли;
Иначе Иначе
Возврат Неопределено; Возврат Неопределено;
КонецЕсли; КонецЕсли;
@@ -1949,7 +1949,7 @@
ТекущиеДанные = ЭтотОбъект[ИмяСпискаПолей()].НайтиПоИдентификатору(ПараметрыЗаполнения.ИдентификаторСтроки); ТекущиеДанные = ЭтотОбъект[ИмяСпискаПолей()].НайтиПоИдентификатору(ПараметрыЗаполнения.ИдентификаторСтроки);
УстановитьПримерыЗначений(ТекущиеДанные); УстановитьПримерыЗначений(ТекущиеДанные);
УстановитьФорматЗначенийПоУмолчанию(ТекущиеДанные); УстановитьФорматЗначенийПоУмолчанию(ТекущиеДанные);
Если ТекущиеДанные.Папка Или ТекущиеДанные.Таблица И ТекущиеДанные.ПолучитьРодителя() = Неопределено Тогда Если (ТекущиеДанные.Папка Или ТекущиеДанные.Таблица) И ТекущиеДанные.ПолучитьРодителя() = Неопределено Тогда
ОтметитьОбщиеПоля(ТекущиеДанные); ОтметитьОбщиеПоля(ТекущиеДанные);
Иначе Иначе
УстановитьПризнакОбщегоПоляДляПодчиненныхПолей(ТекущиеДанные); УстановитьПризнакОбщегоПоляДляПодчиненныхПолей(ТекущиеДанные);
@@ -4285,6 +4285,8 @@
<segments>ТабличныйДокумент</segments> <segments>ТабличныйДокумент</segments>
</dataPath> </dataPath>
<titleLocation>None</titleLocation> <titleLocation>None</titleLocation>
<excludedCommands>Save</excludedCommands>
<excludedCommands>SaveAs</excludedCommands>
<extendedTooltip> <extendedTooltip>
<name>ТабличныйДокументExtendedTooltip</name> <name>ТабличныйДокументExtendedTooltip</name>
<id>144</id> <id>144</id>
@@ -6023,6 +6025,7 @@
<use> <use>
<common>true</common> <common>true</common>
</use> </use>
<shortcut>Ctrl+S</shortcut>
<picture xsi:type="core:PictureRef"> <picture xsi:type="core:PictureRef">
<picture>StdPicture.SaveFile</picture> <picture>StdPicture.SaveFile</picture>
</picture> </picture>
@@ -6404,7 +6407,7 @@
<name>СохранитьВФайл</name> <name>СохранитьВФайл</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Сохранить в файл...</value> <value>Выгрузить в файл...</value>
</title> </title>
<id>40</id> <id>40</id>
<use> <use>
@@ -1854,7 +1854,7 @@
ТекущиеДанные = ЭтотОбъект[ПараметрыЗаполнения.ИмяСписка].НайтиПоИдентификатору(ПараметрыЗаполнения.ИдентификаторСтроки); ТекущиеДанные = ЭтотОбъект[ПараметрыЗаполнения.ИмяСписка].НайтиПоИдентификатору(ПараметрыЗаполнения.ИдентификаторСтроки);
УстановитьПримерыЗначений(ТекущиеДанные); УстановитьПримерыЗначений(ТекущиеДанные);
УстановитьФорматЗначенийПоУмолчанию(ТекущиеДанные); УстановитьФорматЗначенийПоУмолчанию(ТекущиеДанные);
Если ТекущиеДанные.Папка Или ТекущиеДанные.Таблица И ТекущиеДанные.ПолучитьРодителя() = Неопределено Тогда Если (ТекущиеДанные.Папка Или ТекущиеДанные.Таблица) И ТекущиеДанные.ПолучитьРодителя() = Неопределено Тогда
ОтметитьОбщиеПоля(ТекущиеДанные); ОтметитьОбщиеПоля(ТекущиеДанные);
Иначе Иначе
УстановитьПризнакОбщегоПоляДляПодчиненныхПолей(ТекущиеДанные); УстановитьПризнакОбщегоПоляДляПодчиненныхПолей(ТекущиеДанные);
@@ -142,7 +142,7 @@
ИменаХранилищФайлов.Добавить(МетаданныеСправочники.ВерсииФайлов.Имя, МетаданныеСправочники.ВерсииФайлов.Представление()); ИменаХранилищФайлов.Добавить(МетаданныеСправочники.ВерсииФайлов.Имя, МетаданныеСправочники.ВерсииФайлов.Представление());
Для каждого Справочник Из Метаданные.Справочники Цикл Для каждого Справочник Из Метаданные.Справочники Цикл
Если СтрЗаканчиваетсяНа(Справочник.Имя, "ПрисоединенныеФайлы") Тогда Если СтрЗаканчиваетсяНа(Справочник.Имя, РаботаСФайламиКлиентСервер.СуффиксСправочникаПрисоединенныеФайлы()) Тогда
ИменаХранилищФайлов.Добавить(Справочник.Имя, Справочник.Представление()); ИменаХранилищФайлов.Добавить(Справочник.Имя, Справочник.Представление());
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -70,7 +70,7 @@
<headerHorizontalAlign>Left</headerHorizontalAlign> <headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter> <showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo"> <extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxHeight>true</autoMaxHeight> <maxHeight>4</maxHeight>
<wrap>true</wrap> <wrap>true</wrap>
<multiLine>true</multiLine> <multiLine>true</multiLine>
<chooseType>true</chooseType> <chooseType>true</chooseType>
@@ -82,6 +82,109 @@
<textSize>Normal</textSize> <textSize>Normal</textSize>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormGroup">
<name>ГруппаМЧД</name>
<id>69</id>
<items xsi:type="form:Decoration">
<name>МашиночитаемаяДоверенностьДекорация</name>
<id>66</id>
<title>
<key>ru</key>
<value>Машиночитаемая доверенность</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>МашиночитаемаяДоверенностьДекорацияРасширеннаяПодсказка</name>
<id>68</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>МашиночитаемаяДоверенностьДекорацияКонтекстноеМеню</name>
<id>67</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаПротоколПроверки</name>
<id>73</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Протокол проверки МЧД</value>
</title>
<extendedTooltip>
<name>ГруппаПротоколПроверкиРасширеннаяПодсказка</name>
<id>74</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Collapsible</behavior>
<collapsed>true</collapsed>
<controlRepresentation>Button</controlRepresentation>
<representation>WeakSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<showTitle>auto</showTitle>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Машиночитаемая доверенность</value>
</title>
<extendedTooltip>
<name>ГруппаМЧДРасширеннаяПодсказка</name>
<id>70</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<collapsed>true</collapsed>
<representation>NormalSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
<name>КомуВыданСертификат</name> <name>КомуВыданСертификат</name>
<id>2</id> <id>2</id>
@@ -1018,6 +1121,20 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>РезультатПроверкиПодписиПоМЧД</name>
<id>27</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>СохранитьВФайл</name> <name>СохранитьВФайл</name>
<title> <title>
@@ -17,6 +17,24 @@
ПодписанныйОбъект = Параметры.СвойстваПодписи.Объект; ПодписанныйОбъект = Параметры.СвойстваПодписи.Объект;
КонецЕсли; КонецЕсли;
Элементы.ГруппаМЧД.Видимость = Ложь;
// Локализация
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебный");
Если Параметры.СвойстваПодписи.Свойство("МашиночитаемаяДоверенность") И ЗначениеЗаполнено(
Параметры.СвойстваПодписи.МашиночитаемаяДоверенность) Тогда
Элементы.ГруппаМЧД.Видимость = Истина;
Элементы.МашиночитаемаяДоверенностьДекорация.Заголовок = Параметры.СвойстваПодписи.МашиночитаемаяДоверенность;
МодульМашиночитаемыеДоверенностиФНССлужебный.ЗаполнитьПротоколПроверки(ЭтотОбъект, Элементы.ГруппаПротоколПроверки,
Параметры.СвойстваПодписи.РезультатПроверкиПодписиПоМЧД);
КонецЕсли;
КонецЕсли;
// Конец Локализация
Если Параметры.СвойстваПодписи.ПодписьВерна Тогда Если Параметры.СвойстваПодписи.ПодписьВерна Тогда
Элементы.ОписаниеОшибки.Видимость = ЗначениеЗаполнено(ОписаниеОшибки); Элементы.ОписаниеОшибки.Видимость = ЗначениеЗаполнено(ОписаниеОшибки);
СтандартныеПодсистемыСервер.УстановитьКлючНазначенияФормы(ЭтотОбъект, ""); СтандартныеПодсистемыСервер.УстановитьКлючНазначенияФормы(ЭтотОбъект, "");
@@ -56,6 +74,22 @@
КонецПроцедуры КонецПроцедуры
// Локализация
&НаКлиенте
Процедура Подключаемый_КомандаОтметитьВручную(Элемент)
СтандартнаяОбработка = Ложь;
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебныйКлиент");
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент.ДобавитьОтметкуДоверенностьВерна(ЭтотОбъект, Элемент.Имя);
КонецЕсли;
КонецПроцедуры
// Конец Локализация
#КонецОбласти #КонецОбласти
#Область ОбработчикиКомандФормы #Область ОбработчикиКомандФормы
@@ -637,13 +637,17 @@
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.ОдинВариантИз Тогда ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.ОдинВариантИз Тогда
ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(СтрокаДерева.ЭлементарныйВопрос, Форма); Если СтрокаДерева.ВидПереключателя = Перечисления.ВидыПереключателяВАнкетах.Переключатель Тогда
Счетчик = 0; ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(СтрокаДерева.ЭлементарныйВопрос, Форма);
Для Каждого ВариантОтвета Из ВариантыОтветовНаВопрос Цикл Счетчик = 0;
Счетчик = Счетчик + 1; Для Каждого ВариантОтвета Из ВариантыОтветовНаВопрос Цикл
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса + "_Реквизит_" + Счетчик, Счетчик = Счетчик + 1;
СтрокаДерева.ТипЗначения, , СтрокаДерева.Формулировка)); ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса + "_Реквизит_" + Счетчик,
КонецЦикла; СтрокаДерева.ТипЗначения, , СтрокаДерева.Формулировка));
КонецЦикла;
Иначе
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса,СтрокаДерева.ТипЗначения,,СтрокаДерева.Формулировка))
КонецЕсли;
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз Тогда ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз Тогда
ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(СтрокаДерева.ЭлементарныйВопрос, Форма); ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(СтрокаДерева.ЭлементарныйВопрос, Форма);
@@ -1101,64 +1105,84 @@
ИначеЕсли СтрокаТаблицы.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.ОдинВариантИз Тогда ИначеЕсли СтрокаТаблицы.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.ОдинВариантИз Тогда
ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(СтрокаТаблицы.ЭлементарныйВопрос, Форма); ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(СтрокаТаблицы.ЭлементарныйВопрос, Форма);
Счетчик = 0; Если СтрокаТаблицы.ВидПереключателя = Перечисления.ВидыПереключателяВАнкетах.Переключатель Тогда
ЭлементГруппаВариантыОтветов = Форма.Элементы.Добавить(ИмяВопроса + "_Группа_Варианты", Тип("ГруппаФормы"),
ЭлементГруппаВопросКомментарий);
ЭлементГруппаВариантыОтветов.Вид = ВидГруппыФормы.ОбычнаяГруппа;
ЭлементГруппаВариантыОтветов.Отображение = ОтображениеОбычнойГруппы.Нет;
ЭлементГруппаВариантыОтветов.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда;
ЭлементГруппаВариантыОтветов.ОтображатьЗаголовок = Ложь;
ЭлементГруппаВариантыОтветов = Форма.Элементы.Добавить(ИмяВопроса + "_Группа_Варианты", Тип("ГруппаФормы"), ЭлементГруппаВопросы = Форма.Элементы.Добавить(ИмяВопроса + "_ГруппаВопросы", Тип("ГруппаФормы"),
ЭлементГруппаВопросКомментарий); ЭлементГруппаВариантыОтветов);
ЭлементГруппаВариантыОтветов.Вид = ВидГруппыФормы.ОбычнаяГруппа; ЭлементГруппаВопросы.Вид = ВидГруппыФормы.ОбычнаяГруппа;
ЭлементГруппаВариантыОтветов.Отображение = ОтображениеОбычнойГруппы.Нет; ЭлементГруппаВопросы.Отображение = ОтображениеОбычнойГруппы.Нет;
ЭлементГруппаВариантыОтветов.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда; ЭлементГруппаВопросы.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
ЭлементГруппаВариантыОтветов.ОтображатьЗаголовок = Ложь; ЭлементГруппаВопросы.ОтображатьЗаголовок = Ложь;
ЭлементГруппаВопросы = Форма.Элементы.Добавить(ИмяВопроса + "_ГруппаВопросы", Тип("ГруппаФормы"), Счетчик = 0;
ЭлементГруппаВариантыОтветов); Для Каждого ВариантОтвета Из ВариантыОтветовНаВопрос Цикл
ЭлементГруппаВопросы.Вид = ВидГруппыФормы.ОбычнаяГруппа;
ЭлементГруппаВопросы.Отображение = ОтображениеОбычнойГруппы.Нет;
ЭлементГруппаВопросы.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
ЭлементГруппаВопросы.ОтображатьЗаголовок = Ложь;
Для Каждого ВариантОтвета Из ВариантыОтветовНаВопрос Цикл Счетчик = Счетчик + 1;
Счетчик = Счетчик + 1; ЭлементГруппаВариантОтвета = Форма.Элементы.Добавить(ИмяВопроса + "_Группа_ВариантОтвета_" + XMLСтрока(
Счетчик), Тип("ГруппаФормы"), ЭлементГруппаВопросы);
ЭлементГруппаВариантОтвета = Форма.Элементы.Добавить(ИмяВопроса + "_Группа_ВариантОтвета_" + XMLСтрока( ЭлементГруппаВариантОтвета.Вид = ВидГруппыФормы.ОбычнаяГруппа;
Счетчик), Тип("ГруппаФормы"), ЭлементГруппаВопросы); ЭлементГруппаВариантОтвета.Отображение = ОтображениеОбычнойГруппы.Нет;
ЭлементГруппаВариантОтвета.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда;
ЭлементГруппаВариантОтвета.ОтображатьЗаголовок = Ложь;
ЭлементГруппаВариантОтвета.РастягиватьПоГоризонтали = Истина;
ЭлементГруппаВариантОтвета.Вид = ВидГруппыФормы.ОбычнаяГруппа; ИмяРеквизитаВопроса = ИмяВопроса + "_Реквизит_" + Счетчик;
ЭлементГруппаВариантОтвета.Отображение = ОтображениеОбычнойГруппы.Нет; Элемент = Форма.Элементы.Добавить(ИмяРеквизитаВопроса, Тип("ПолеФормы"), ЭлементГруппаВариантОтвета);
ЭлементГруппаВариантОтвета.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда; Элемент.Вид = ВидПоляФормы.ПолеПереключателя;
ЭлементГруппаВариантОтвета.ОтображатьЗаголовок = Ложь; Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
ЭлементГруппаВариантОтвета.РастягиватьПоГоризонтали = Истина; Элемент.ПутьКДанным = ИмяРеквизитаВопроса;
Элемент.КоличествоКолонок = 1;
Элемент.ВысотаЭлемента = 1;
Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево;
Элемент.ВидПереключателя = ВидПереключателя.Переключатель;
Элемент.КоличествоКолонок = 1;
Элемент.Подсказка = ВариантОтвета.Подсказка;
ИмяРеквизитаВопроса = ИмяВопроса + "_Реквизит_" + Счетчик; СписокВыбораЭлемента = Элемент.СписокВыбора;
Элемент = Форма.Элементы.Добавить(ИмяРеквизитаВопроса, Тип("ПолеФормы"), ЭлементГруппаВариантОтвета); СписокВыбораЭлемента.Добавить(ВариантОтвета.Ответ, ВариантОтвета.Представление);
КонецЦикла;
ЭлементГруппаПодсказка = Форма.Элементы.Добавить(ИмяВопроса + "_ГруппаПодсказка", Тип("ГруппаФормы"),
ЭлементГруппаВариантыОтветов);
ЭлементГруппаПодсказка.Вид = ВидГруппыФормы.ОбычнаяГруппа;
ЭлементГруппаПодсказка.Отображение = ОтображениеОбычнойГруппы.Нет;
ЭлементГруппаПодсказка.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
ЭлементГруппаПодсказка.ОтображатьЗаголовок = Ложь;
ЭлементРасшифровка = Форма.Элементы.Добавить(
ИмяВопроса + "_РасшифровкаПодсказки", Тип("ДекорацияФормы"), ЭлементГруппаПодсказка);
ЭлементРасшифровка.АвтоМаксимальнаяШирина = Ложь;
ЭлементРасшифровка.РастягиватьПоГоризонтали = Истина;
ЭлементРасшифровка.ЦветТекста = ЦветаСтиля.ПоясняющийТекст;
Иначе
Элемент = Форма.Элементы.Добавить(ИмяВопроса,Тип("ПолеФормы"),ЭлементГруппаВопросКомментарий);
Элемент.Вид = ВидПоляФормы.ПолеПереключателя; Элемент.Вид = ВидПоляФормы.ПолеПереключателя;
Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
Элемент.ПутьКДанным = ИмяРеквизитаВопроса; Элемент.ПутьКДанным = ИмяВопроса;
Элемент.КоличествоКолонок = 1; Элемент.КоличествоКолонок = 1;
Элемент.ВысотаЭлемента = 1; Элемент.ВысотаЭлемента = 1;
Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево; Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево;
Элемент.ВидПереключателя = ВидПереключателя.Переключатель; Элемент.ВидПереключателя = ВидПереключателя.Тумблер;
Элемент.КоличествоКолонок = 1; Элемент.КоличествоКолонок = 0;
Элемент.Подсказка = ВариантОтвета.Подсказка; Элемент.ОдинаковаяШиринаКолонок = Ложь;
СписокВыбораЭлемента = Элемент.СписокВыбора; Для Каждого ВариантОтвета Из ВариантыОтветовНаВопрос Цикл
СписокВыбораЭлемента.Добавить(ВариантОтвета.Ответ, ВариантОтвета.Представление); СписокВыбораЭлемента = Элемент.СписокВыбора;
СписокВыбораЭлемента.Добавить(ВариантОтвета.Ответ,ВариантОтвета.Представление);
КонецЦикла;
КонецЦикла; КонецЕсли;
ЭлементГруппаПодсказка = Форма.Элементы.Добавить(ИмяВопроса + "_ГруппаПодсказка", Тип("ГруппаФормы"),
ЭлементГруппаВариантыОтветов);
ЭлементГруппаПодсказка.Вид = ВидГруппыФормы.ОбычнаяГруппа;
ЭлементГруппаПодсказка.Отображение = ОтображениеОбычнойГруппы.Нет;
ЭлементГруппаПодсказка.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
ЭлементГруппаПодсказка.ОтображатьЗаголовок = Ложь;
ЭлементРасшифровка = Форма.Элементы.Добавить(
ИмяВопроса + "_РасшифровкаПодсказки", Тип("ДекорацияФормы"), ЭлементГруппаПодсказка);
ЭлементРасшифровка.АвтоМаксимальнаяШирина = Ложь;
ЭлементРасшифровка.РастягиватьПоГоризонтали = Истина;
ЭлементРасшифровка.ЦветТекста = ЦветаСтиля.ПоясняющийТекст;
ИначеЕсли СтрокаТаблицы.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз Тогда ИначеЕсли СтрокаТаблицы.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз Тогда
@@ -289,7 +289,8 @@
КонецЕсли; КонецЕсли;
Если Вопрос.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.НесколькоВариантовИз") Если Вопрос.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.НесколькоВариантовИз")
Или Вопрос.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.ОдинВариантИз") Тогда Или (Вопрос.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.ОдинВариантИз")
И Вопрос.ВидПереключателя = ПредопределенноеЗначение("Перечисление.ВидыПереключателяВАнкетах.Переключатель")) Тогда
Форма.Элементы[ИмяВопроса + "_Группа_Варианты"].Доступность = Не БезОтвета; Форма.Элементы[ИмяВопроса + "_Группа_Варианты"].Доступность = Не БезОтвета;
ЕстьОтвет = ЕстьОтветНаВопросСВыборомОтветов(Форма, Вопрос, ИмяВопроса); ЕстьОтвет = ЕстьОтветНаВопросСВыборомОтветов(Форма, Вопрос, ИмяВопроса);
Иначе Иначе
@@ -436,7 +436,10 @@
#Если ВебКлиент Тогда #Если ВебКлиент Тогда
Строка = СистемнаяИнформация.ИнформацияПрограммыПросмотра; Строка = СистемнаяИнформация.ИнформацияПрограммыПросмотра;
Если СтрНайти(Строка, "Chrome/") > 0 Тогда Строка = СистемнаяИнформация.ИнформацияПрограммыПросмотра;
Если СтрНайти(Строка, "YaBrowser/") > 0 Тогда
Браузер = НСтр("ru = 'Яндекс Браузер'");
ИначеЕсли СтрНайти(Строка, "Chrome/") > 0 Тогда
Браузер = НСтр("ru = 'Chrome'"); Браузер = НСтр("ru = 'Chrome'");
ИначеЕсли СтрНайти(Строка, "MSIE") > 0 Тогда ИначеЕсли СтрНайти(Строка, "MSIE") > 0 Тогда
Браузер = НСтр("ru = 'Internet Explorer'"); Браузер = НСтр("ru = 'Internet Explorer'");
@@ -672,8 +672,7 @@
Результат.Статус = "Выполнено"; Результат.Статус = "Выполнено";
Исключение Исключение
Результат.Статус = "Ошибка"; Результат.Статус = "Ошибка";
Результат.КраткоеПредставлениеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); УстановитьСвойстваОшибки(Результат, ИнформацияОбОшибке());
Результат.ПодробноеПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации(НСтр("ru = 'Длительные операции.Ошибка выполнения'", ОбщегоНазначения.КодОсновногоЯзыка()), ЗаписьЖурналаРегистрации(НСтр("ru = 'Длительные операции.Ошибка выполнения'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка, , , Результат.ПодробноеПредставлениеОшибки); УровеньЖурналаРегистрации.Ошибка, , , Результат.ПодробноеПредставлениеОшибки);
КонецПопытки; КонецПопытки;
@@ -690,11 +689,9 @@
Исключение Исключение
Результат.Статус = "Ошибка"; Результат.Статус = "Ошибка";
Если Задание <> Неопределено И Задание.ИнформацияОбОшибке <> Неопределено Тогда Если Задание <> Неопределено И Задание.ИнформацияОбОшибке <> Неопределено Тогда
Результат.КраткоеПредставлениеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(Задание.ИнформацияОбОшибке); УстановитьСвойстваОшибки(Результат, Задание.ИнформацияОбОшибке);
Результат.ПодробноеПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(Задание.ИнформацияОбОшибке);
Иначе Иначе
Результат.КраткоеПредставлениеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); УстановитьСвойстваОшибки(Результат, ИнформацияОбОшибке());
Результат.ПодробноеПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
КонецЕсли; КонецЕсли;
Возврат Результат; Возврат Результат;
КонецПопытки; КонецПопытки;
@@ -702,8 +699,7 @@
Если Задание <> Неопределено И Задание.ИнформацияОбОшибке <> Неопределено Тогда Если Задание <> Неопределено И Задание.ИнформацияОбОшибке <> Неопределено Тогда
Результат.Статус = "Ошибка"; Результат.Статус = "Ошибка";
Результат.КраткоеПредставлениеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(Задание.ИнформацияОбОшибке); УстановитьСвойстваОшибки(Результат, Задание.ИнформацияОбОшибке);
Результат.ПодробноеПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(Задание.ИнформацияОбОшибке);
Возврат Результат; Возврат Результат;
КонецЕсли; КонецЕсли;
@@ -1197,8 +1193,7 @@
Результат.Статус = "Ошибка"; Результат.Статус = "Ошибка";
Если Задание.ИнформацияОбОшибке <> Неопределено Тогда Если Задание.ИнформацияОбОшибке <> Неопределено Тогда
Результат.КраткоеПредставлениеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(Задание.ИнформацияОбОшибке); УстановитьСвойстваОшибки(Результат, Задание.ИнформацияОбОшибке);
Результат.ПодробноеПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(Задание.ИнформацияОбОшибке);
КонецЕсли; КонецЕсли;
Возврат Результат; Возврат Результат;
КонецЕсли; КонецЕсли;
@@ -1436,6 +1431,25 @@
КонецФункции КонецФункции
// Параметры:
// Свойства - Структура:
// * КраткоеПредставлениеОшибки
// * ПодробноеПредставлениеОшибки
// Ошибка - ИнформацияОбОшибке
//
Процедура УстановитьСвойстваОшибки(Свойства, Ошибка)
КраткоеПредставлениеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(Ошибка);
ПодробноеПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(Ошибка);
Свойства.КраткоеПредставлениеОшибки = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(
КраткоеПредставлениеОшибки);
Свойства.ПодробноеПредставлениеОшибки = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(
ПодробноеПредставлениеОшибки);
КонецПроцедуры
// Конструктор параметров многопоточной операции. // Конструктор параметров многопоточной операции.
// //
// Параметры: // Параметры:
@@ -1659,10 +1673,8 @@
КонецЕсли; КонецЕсли;
Результат.Статус = "Выполнено"; Результат.Статус = "Выполнено";
Исключение Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
Результат.Статус = "Ошибка"; Результат.Статус = "Ошибка";
Результат.КраткоеПредставлениеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке); УстановитьСвойстваОшибки(Результат, ИнформацияОбОшибке());
Результат.ПодробноеПредставлениеОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
УстановитьПолноеИмяПрикладнойПроцедуры(ИмяПроцедурыФоновогоЗаданияДлительнойОперации()); УстановитьПолноеИмяПрикладнойПроцедуры(ИмяПроцедурыФоновогоЗаданияДлительнойОперации());
ОтправитьОповещениеКлиенту("ДлительнаяОперацияЗавершена", Результат); ОтправитьОповещениеКлиенту("ДлительнаяОперацияЗавершена", Результат);
ВызватьИсключение; ВызватьИсключение;
@@ -2435,11 +2447,8 @@
Если Задание <> Неопределено Тогда Если Задание <> Неопределено Тогда
РезультатЗапуска.Статус = СтатусИзСостояния(Задание.Состояние); РезультатЗапуска.Статус = СтатусИзСостояния(Задание.Состояние);
Если Задание.ИнформацияОбОшибке <> Неопределено Тогда Если Задание.ИнформацияОбОшибке <> Неопределено Тогда
РезультатЗапуска.КраткоеПредставлениеОшибки = УстановитьСвойстваОшибки(РезультатЗапуска, Задание.ИнформацияОбОшибке);
ОбработкаОшибок.КраткоеПредставлениеОшибки(Задание.ИнформацияОбОшибке);
РезультатЗапуска.ПодробноеПредставлениеОшибки =
ОбработкаОшибок.ПодробноеПредставлениеОшибки(Задание.ИнформацияОбОшибке);
КонецЕсли; КонецЕсли;
Иначе Иначе
РезультатЗапуска.Статус = СтатусДлительнойОперации().Ошибка; РезультатЗапуска.Статус = СтатусДлительнойОперации().Ошибка;
@@ -303,6 +303,12 @@
// Только для внутреннего использования. // Только для внутреннего использования.
// //
// Параметры:
// Данные - ДанныеФормыЭлементКоллекции: см. Обработка.ЖурналРегистрации.Форма.ЖурналРегистрации.Журнал
//
// Возвращаемое значение:
// Структура
//
Функция СобытиеЖурналаРегистрацииВСтруктуру(Данные) Функция СобытиеЖурналаРегистрацииВСтруктуру(Данные)
Если ТипЗнч(Данные) = Тип("Структура") Тогда Если ТипЗнч(Данные) = Тип("Структура") Тогда
@@ -6,9 +6,6 @@
// https://creativecommons.org/licenses/by/4.0/legalcode // https://creativecommons.org/licenses/by/4.0/legalcode
/////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////
// @strict-types
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
// См. Обработки.СкрытиеКонфиденциальнойИнформации.ДеревоОбрабатываемыхОбъектов // См. Обработки.СкрытиеКонфиденциальнойИнформации.ДеревоОбрабатываемыхОбъектов
@@ -2108,10 +2108,14 @@
Поле = НаборДанных.Поля.Добавить(Тип("ПапкаПолейНабораДанныхСхемыКомпоновкиДанных")); Поле = НаборДанных.Поля.Добавить(Тип("ПапкаПолейНабораДанныхСхемыКомпоновкиДанных"));
ИначеЕсли Элемент.Таблица Тогда ИначеЕсли Элемент.Таблица Тогда
Поле = НаборДанных.Поля.Добавить(Тип("ВложенныйНаборДанныхСхемыКомпоновкиДанных")); Поле = НаборДанных.Поля.Добавить(Тип("ВложенныйНаборДанныхСхемыКомпоновкиДанных"));
Поле.Поле = Элемент.Идентификатор;
Иначе Иначе
Поле = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); Поле = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
Поле.ТипЗначения = Элемент.ТипЗначения; Поле.ТипЗначения = Элемент.ТипЗначения;
Поле.Поле = Элемент.Идентификатор; Поле.Поле = Элемент.Идентификатор;
Если ТипЗнч(Родитель) = Тип("ВложенныйНаборДанныхСхемыКомпоновкиДанных") Тогда
Поле.Поле = Родитель.ПутьКДанным + "." + Элемент.Идентификатор;
КонецЕсли;
ЭтоГруппа = Элемент.Строки.Количество() > 0 И Не ЗначениеЗаполнено(Элемент.ТипЗначения); ЭтоГруппа = Элемент.Строки.Количество() > 0 И Не ЗначениеЗаполнено(Элемент.ТипЗначения);
ДополнительныеПараметры = Новый Структура("Порядок,ЭтоГруппа,ЭтоФункция,Скрытый,ВыражениеДляВставки"); ДополнительныеПараметры = Новый Структура("Порядок,ЭтоГруппа,ЭтоФункция,Скрытый,ВыражениеДляВставки");
@@ -122,7 +122,8 @@
Если ФормаОтчета.НастройкиОтчета.ПолноеИмя = "Отчет.РезультатыПроверкиУчета" Тогда Если ФормаОтчета.НастройкиОтчета.ПолноеИмя = "Отчет.РезультатыПроверкиУчета" Тогда
ТекстНеуспешногоДействия = НСтр("ru = 'Выберите строку с проблемным объектом.'"); ТекстНеуспешногоДействия = НСтр("ru = 'Выберите строку с проблемным объектом.'");
Расшифровка = ФормаОтчета.ОтчетТабличныйДокумент.ТекущаяОбласть.Расшифровка; Расшифровка = ?(ФормаОтчета.ОтчетТабличныйДокумент.ТекущаяОбласть.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Прямоугольник,
ФормаОтчета.ОтчетТабличныйДокумент.ТекущаяОбласть.Расшифровка, Неопределено);
Если Команда.Имя = "КонтрольВеденияУчетаИсторияИзмененийОбъекта" Тогда Если Команда.Имя = "КонтрольВеденияУчетаИсторияИзмененийОбъекта" Тогда
Результат = КонтрольВеденияУчетаВызовСервера.ДанныеДляИсторииИзмененийОбъекта(ФормаОтчета.ОтчетДанныеРасшифровки, ФормаОтчета.ОтчетТабличныйДокумент, Расшифровка); Результат = КонтрольВеденияУчетаВызовСервера.ДанныеДляИсторииИзмененийОбъекта(ФормаОтчета.ОтчетДанныеРасшифровки, ФормаОтчета.ОтчетТабличныйДокумент, Расшифровка);
Если Результат <> Неопределено Тогда Если Результат <> Неопределено Тогда
@@ -56,12 +56,12 @@
// - ДвоичныеДанные // - ДвоичныеДанные
// - Строка - адрес двоичных данных сертификата во временном хранилище. // - Строка - адрес двоичных данных сертификата во временном хранилище.
// - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования. // - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования.
// ЭтоСертификатПредставителя - Булево - по умолчанию Истина - отбор по представителям, иначе - по доверителям. // Префикс - см. ДоверенностиСОтбором.
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура // Структура
// //
Функция ОтборДляДоверенностейПоСертификату(Знач Сертификат, ЭтоСертификатПредставителя = Истина) Экспорт Функция ОтборДляДоверенностейПоСертификату(Знач Сертификат, Префикс) Экспорт
Если ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда Если ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда
Сертификат = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Сертификат, "ДанныеСертификата").Получить(); Сертификат = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Сертификат, "ДанныеСертификата").Получить();
@@ -76,38 +76,34 @@
СвойстваСубъекта = ЭлектроннаяПодпись.СвойстваСубъектаСертификата(Сертификат); СвойстваСубъекта = ЭлектроннаяПодпись.СвойстваСубъектаСертификата(Сертификат);
Отбор = Новый Структура; Отбор = Новый Структура;
Если ЭтоСертификатПредставителя Тогда
ИмяОтбора = "Представитель";
Иначе
ИмяОтбора = "Доверитель";
КонецЕсли;
Если ЗначениеЗаполнено(СвойстваСубъекта.ОГРНИП) Тогда Если ЗначениеЗаполнено(СвойстваСубъекта.ОГРНИП) Тогда
Отбор.Вставить(ИмяОтбора + "ОГРН", СвойстваСубъекта.ОГРНИП); Отбор.Вставить(Префикс + "ОГРН", СвойстваСубъекта.ОГРНИП);
Отбор.Вставить(ИмяОтбора + "ИННФЛ", СвойстваСубъекта.ИНН); Отбор.Вставить(Префикс + "ИННФЛ", СвойстваСубъекта.ИНН);
ИначеЕсли ЗначениеЗаполнено(СвойстваСубъекта.Организация) Тогда ИначеЕсли ЗначениеЗаполнено(СвойстваСубъекта.Организация) Тогда
Отбор.Вставить(ИмяОтбора + "ОГРН", СвойстваСубъекта.ОГРН); Отбор.Вставить(Префикс + "ОГРН", СвойстваСубъекта.ОГРН);
Отбор.Вставить(ИмяОтбора + "ИННФЛ", СвойстваСубъекта.ИНН); Отбор.Вставить(Префикс + "ИННФЛ", СвойстваСубъекта.ИНН);
Отбор.Вставить(ИмяОтбора + "ИНН", СвойстваСубъекта.ИННЮЛ); Отбор.Вставить(Префикс + "ИНН", СвойстваСубъекта.ИННЮЛ);
Отбор.Вставить(ИмяОтбора + "СНИЛС", СвойстваСубъекта.СНИЛС); Отбор.Вставить(Префикс + "СНИЛС", СвойстваСубъекта.СНИЛС);
Иначе Иначе
Отбор.Вставить(ИмяОтбора + "ИННФЛ", СвойстваСубъекта.ИНН); Отбор.Вставить(Префикс + "ИННФЛ", СвойстваСубъекта.ИНН);
Отбор.Вставить(ИмяОтбора + "СНИЛС", СвойстваСубъекта.СНИЛС); Отбор.Вставить(Префикс + "СНИЛС", СвойстваСубъекта.СНИЛС);
КонецЕсли; КонецЕсли;
Возврат Отбор; Возврат Отбор;
КонецФункции КонецФункции
// Доверенности с отбором. // Доверенности с отбором. Если в отборе не передана доверенность, то отбор производится только по не помеченным на удаление.
// //
// Параметры: // Параметры:
// Отбор - Структура - содержит имя и значение поля, по которому надо отобрать доверенности: // Отбор - Структура - содержит имя и значение поля, по которому надо отобрать доверенности:
// "ПредставительИНН", "ПредставительОГРН", "ПредставительСНИЛС", "ПредставительОрганизация", "ПредставительФизическоеЛицо", // "ПредставительИНН", "ПредставительОГРН", "ПредставительСНИЛС", "ПредставительОрганизация", "ПредставительФизическоеЛицо",
// "ДоверительИНН", "ДоверительКПП", "ДоверительОрганизация", "ДоверительФизическоеЛицо" и т.п. // "ДоверительИНН", "ДоверительКПП", "ДоверительОрганизация", "ДоверительФизическоеЛицо" и т.п.
// По умолчанию будут подобраны доверенности с признаками Верна, Подписана и статусом Действует. // По умолчанию будут подобраны доверенности с признаками Верна, Подписана и статусом Действует.
// Если значение отбора Неопределено, отбор по полю не производится.
// ВыбранныеПоля - Массив из Строка - поля, которые нужно возвращать. // ВыбранныеПоля - Массив из Строка - поля, которые нужно возвращать.
// НаДату - Дата - дата, на которую определяется действительность доверенности. // НаДату - Дата - по умолчанию - текущая дата сеанса: дата, на которую определяется действительность доверенности.
// Если передана пустая дата, отбор по периоду действия не будет использоваться.
// //
// Возвращаемое значение: // Возвращаемое значение:
// ТаблицаЗначений // ТаблицаЗначений
@@ -148,7 +144,7 @@
НаборДанных.Имя = "НаборДанных1"; НаборДанных.Имя = "НаборДанных1";
НаборДанных.ИсточникДанных = ИсточникДанных.Имя; НаборДанных.ИсточникДанных = ИсточникДанных.Имя;
СхемаКомпоновкиДанных.НаборыДанных[0].Запрос = ТекстЗапроса =
"ВЫБРАТЬ "ВЫБРАТЬ
| МашиночитаемыеДоверенности.Ссылка КАК МашиночитаемаяДоверенность, | МашиночитаемыеДоверенности.Ссылка КАК МашиночитаемаяДоверенность,
| МашиночитаемыеДоверенностиПредставители.ИНН КАК ПредставительИНН, | МашиночитаемыеДоверенностиПредставители.ИНН КАК ПредставительИНН,
@@ -172,7 +168,9 @@
| МашиночитаемыеДоверенности.Наименование КАК Наименование, | МашиночитаемыеДоверенности.Наименование КАК Наименование,
| МашиночитаемыеДоверенностиСтатусы.ТехническийСтатус КАК ТехническийСтатус, | МашиночитаемыеДоверенностиСтатусы.ТехническийСтатус КАК ТехническийСтатус,
| МашиночитаемыеДоверенностиСтатусы.Подписана КАК Подписана, | МашиночитаемыеДоверенностиСтатусы.Подписана КАК Подписана,
| МашиночитаемыеДоверенности.ДатаОкончания КАК ДатаОкончания | МашиночитаемыеДоверенности.ДатаОкончания КАК ДатаОкончания,
| МашиночитаемыеДоверенности.ДатаОтмены КАК ДатаОтмены,
| МашиночитаемыеДоверенности.ПометкаУдаления КАК ПометкаУдаления
|ИЗ |ИЗ
| РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставители | РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставители
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиДоверители | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиДоверители
@@ -183,9 +181,35 @@
| ПО МашиночитаемыеДоверенностиПредставители.МашиночитаемаяДоверенность = МашиночитаемыеДоверенности.Ссылка | ПО МашиночитаемыеДоверенностиПредставители.МашиночитаемаяДоверенность = МашиночитаемыеДоверенности.Ссылка
| {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МашиночитаемыеДоверенностиСтатусы КАК МашиночитаемыеДоверенностиСтатусы | {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МашиночитаемыеДоверенностиСтатусы КАК МашиночитаемыеДоверенностиСтатусы
| ПО (МашиночитаемыеДоверенности.Ссылка = МашиночитаемыеДоверенностиСтатусы.МашиночитаемаяДоверенность)} | ПО (МашиночитаемыеДоверенности.Ссылка = МашиночитаемыеДоверенностиСтатусы.МашиночитаемаяДоверенность)}
|ГДЕ |";
| НАЧАЛОПЕРИОДА(МашиночитаемыеДоверенности.ДатаВыдачи, ДЕНЬ) <= &НаДату
| И КОНЕЦПЕРИОДА(МашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ) >= &НаДату"; Условия = Новый Массив;
Если НаДату <> Дата(1,1,1) Тогда
Условия.Добавить("НАЧАЛОПЕРИОДА(МашиночитаемыеДоверенности.ДатаВыдачи, ДЕНЬ) <= &НаДату
| И (КОНЕЦПЕРИОДА(МашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ) >= &НаДату
| И МашиночитаемыеДоверенности.ДатаОтмены = ДАТАВРЕМЯ(1,1,1)
| ИЛИ МашиночитаемыеДоверенности.ДатаОтмены >= &НаДату)");
ПараметрДата = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Добавить();
ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Добавить();
ПараметрДата.Использование = Истина;
ПараметрДата.Значение = НаДату;
ПараметрДата.Параметр = Новый ПараметрКомпоновкиДанных("НаДату");
КонецЕсли;
Если Не СтруктураОтборов.Свойство("МашиночитаемаяДоверенность") Тогда
Условия.Добавить("НЕ МашиночитаемыеДоверенности.ПометкаУдаления");
КонецЕсли;
Если Условия.Количество() > 0 Тогда
ТекстЗапроса = ТекстЗапроса + "
|ГДЕ " + СтрСоединить(Условия, Символы.ПС + "И ");
КонецЕсли;
СхемаКомпоновкиДанных.НаборыДанных[0].Запрос = ТекстЗапроса;
Структура = КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); Структура = КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
@@ -207,13 +231,6 @@
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПараметрДата = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Добавить();
ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Добавить();
ПараметрДата.Использование = Истина;
ПараметрДата.Значение = НаДату;
ПараметрДата.Параметр = Новый ПараметрКомпоновкиДанных("НаДату");
Порядок = КомпоновщикНастроек.Настройки.Порядок; Порядок = КомпоновщикНастроек.Настройки.Порядок;
ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных")); ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("ДатаВыдачи"); ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("ДатаВыдачи");
@@ -273,7 +290,7 @@
ЭлектроннаяПодпись.ДобавитьПодпись(ФайлДоверенности, СвойстваПодписи); ЭлектроннаяПодпись.ДобавитьПодпись(ФайлДоверенности, СвойстваПодписи);
Если Результат = Истина Тогда Если Результат = Истина Тогда
МашиночитаемыеДоверенностиФНССлужебный.РассчитатьИЗаписатьТехническийСтатус(Доверенность, Истина); МашиночитаемыеДоверенностиФНССлужебный.РассчитатьТехническийСтатус(Доверенность, Истина);
КонецЕсли; КонецЕсли;
Возврат Истина; Возврат Истина;
@@ -307,12 +324,16 @@
// //
// Параметры: // Параметры:
// Доверенность - СправочникСсылка.МашиночитаемыеДоверенности // Доверенность - СправочникСсылка.МашиночитаемыеДоверенности
// ПроверятьВРеестреФНС - Булево, Неопределено - если Неопределено, то в зависимости от признака РегистрироватьВРеестре
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура: // Структура:
// * Верна - Булево // * Верна - Булево - подписи доверенности верны и соответствуют доверителям.
// * ТребуетсяПроверка - Булево - если есть подписи, требующие проверки. // * ТребуетсяПроверка - Булево - если есть подписи, требующие проверки или не удалось получить статус в реестре ФНС.
// * Статус - ПеречислениеСсылка.СтатусыМЧД
// * ЕстьВРеестреФНС - Булево - доверенность удалось проверить в реестре ФНС
// * ТекстОшибки - Строка // * ТекстОшибки - Строка
// * ЕстьВсеПодписи - Булево - есть все подписи доверителей.
// * РезультатыПроверкиПодписей - Массив из Структура: // * РезультатыПроверкиПодписей - Массив из Структура:
// ** Верна - Булево // ** Верна - Булево
// ** КомуВыданСертификат - Строка // ** КомуВыданСертификат - Строка
@@ -325,13 +346,121 @@
// ** РезультатПроверки - Неопределено - если подпись не требовалось проверять или не удалось ее проверить. // ** РезультатПроверки - Неопределено - если подпись не требовалось проверять или не удалось ее проверить.
// - см. ЭлектроннаяПодписьКлиентСервер.РезультатПроверкиПодписи // - см. ЭлектроннаяПодписьКлиентСервер.РезультатПроверкиПодписи
// //
Функция РезультатПроверкиДоверенности(Доверенность) Экспорт Функция РезультатПроверкиДоверенности(Доверенность, ПроверятьВРеестреФНС = Неопределено) Экспорт
ФайлДоверенности = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Доверенность, "ФайлДоверенности"); Возврат МашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиДоверенности(Доверенность, ПроверятьВРеестреФНС);
Результат = МашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиПодписейДоверенности( КонецФункции
Доверенность, ФайлДоверенности);
Возврат МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РезультатПроверкиДоверенности(Результат); // Результат проверки подписи по МЧД.
//
// Параметры:
// ПодписанныйОбъект - ОпределяемыйТип.ПодписанныйОбъект - ссылка на подписанный объект.
// ИдентификаторПодписи - УникальныйИдентификатор - см. ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи.ИдентификаторПодписи
// СертификатПодписи - СертификатКриптографии
// - ДвоичныеДанные
// - Строка - адрес двоичных данных во временном хранилище.
// НаДату - Дата - дата подписи, если не заполнена, проверка будет выполнена на дату сеанса.
//
// Возвращаемое значение:
// Массив из Структура:
// * МашиночитаемаяДоверенность - СправочникСсылка.МашиночитаемыеДоверенности
// * ТребуетсяПроверка - Булево - если Истина, не удалось проверить доверенность.
// * ДатаПроверки - Дата
// * Верна - Булево
// * ПодписантСоответствуетПредставителю - Булево
// * СовместныеПолномочия - Булево
// * СовместныеПолномочияВерны - Булево
// * ПротоколПроверки - Соответствие из КлючИЗначение:
// ** Ключ - Строка - идентификатор проверки
// ** Значение - см. РезультатПроверкиДляПротокола
//
Функция РезультатПроверкиПодписиПоМЧД(ПодписанныйОбъект, ИдентификаторПодписи, СертификатПодписи, НаДату) Экспорт
Результат = Новый Массив;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЭлектронныеПодписиМЧД.МашиночитаемаяДоверенность КАК Ссылка,
| МашиночитаемыеДоверенности.ФайлДоверенности КАК ФайлДоверенности,
| МашиночитаемыеДоверенности.Статус КАК Статус,
| МашиночитаемыеДоверенности.Верна КАК Верна,
| МашиночитаемыеДоверенности.НомерДоверенности КАК НомерДоверенности,
| МашиночитаемыеДоверенности.СтатусВернаУстановленВручную КАК СтатусВернаУстановленВручную,
| МашиночитаемыеДоверенности.УстановившийСтатусВерна КАК УстановившийСтатусВерна,
| МашиночитаемыеДоверенности.ДатаПроверки КАК ДатаПроверки,
| МашиночитаемыеДоверенности.ДатаОтмены КАК ДатаОтмены,
| МашиночитаемыеДоверенности.ТекстПолномочий КАК ТекстПолномочий,
| МашиночитаемыеДоверенности.Полномочия.(
| Ссылка КАК Ссылка,
| НомерСтроки КАК НомерСтроки,
| Код КАК Код,
| ИдентификаторПолномочия КАК ИдентификаторПолномочия,
| Мнемокод КАК Мнемокод,
| Наименование КАК Наименование) КАК Полномочия,
| МашиночитаемыеДоверенности.Ограничения.(
| Ссылка КАК Ссылка,
| НомерСтроки КАК НомерСтроки,
| ИдентификаторПолномочия КАК ИдентификаторПолномочия,
| Код КАК Код,
| Наименование КАК Наименование,
| НаименованиеЗначения КАК НаименованиеЗначения,
| КодЗначения КАК КодЗначения,
| ТекстовоеЗначение КАК ТекстовоеЗначение) КАК Ограничения,
| МашиночитаемыеДоверенности.ПолномочияВТекстовомВиде КАК ПолномочияВТекстовомВиде,
| ЭлектронныеПодписиМЧД.ПодписанныйОбъект КАК ПодписанныйОбъект,
| ЭлектронныеПодписиМЧД.ИдентификаторПодписи КАК ИдентификаторПодписи,
| МашиночитаемыеДоверенности.ПометкаУдаления,
| МашиночитаемыеДоверенности.РегистрироватьВРеестре,
| ЭлектронныеПодписиМЧД.ПротоколПроверки,
| МашиночитаемыеДоверенности.СовместныеПолномочия
|ИЗ
| РегистрСведений.ЭлектронныеПодписиМЧД КАК ЭлектронныеПодписиМЧД
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.МашиночитаемыеДоверенности КАК МашиночитаемыеДоверенности
| ПО ЭлектронныеПодписиМЧД.МашиночитаемаяДоверенность = МашиночитаемыеДоверенности.Ссылка
|ГДЕ
| ЭлектронныеПодписиМЧД.ПодписанныйОбъект = &ПодписанныйОбъект
| И ЭлектронныеПодписиМЧД.ИдентификаторПодписи = &ИдентификаторПодписи";
Запрос.УстановитьПараметр("ПодписанныйОбъект", ПодписанныйОбъект);
Запрос.УстановитьПараметр("ИдентификаторПодписи", ИдентификаторПодписи);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
РезультатПроверкиПодписиПоМЧД = МашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиПодписиПоДаннымМЧД(
Выборка, СертификатПодписи, НаДату);
Результат.Добавить(РезультатПроверкиПодписиПоМЧД);
КонецЦикла;
Возврат Результат;
КонецФункции
// Результат проверки для записи в протокол.
//
// Возвращаемое значение:
// Структура:
// * ЗаголовокПроверки - Строка - например, "Проверка документа".
/// * ТекстПроверки - Строка - например, "Организация не соответствует доверителю".
// * Верна - Неопределено, Булево - если Неопределено - значит, требуется проверка.
// * ДатаПроверки - Дата
// * ДополнительныеДанные - Произвольный - дополнительные сведения о проверке, которые сохраняются в информационной базе.
//
Функция РезультатПроверкиДляПротокола() Экспорт
Структура = Новый Структура;
Структура.Вставить("Верна", Неопределено);
Структура.Вставить("ЗаголовокПроверки", "");
Структура.Вставить("ТекстПроверки", "");
Структура.Вставить("ДатаПроверки");
Структура.Вставить("РучнаяПроверка", Ложь);
Структура.Вставить("ДополнительныеДанные");
Возврат Структура;
КонецФункции КонецФункции
@@ -84,6 +84,9 @@
// Структура: // Структура:
// # Верна - Булево // # Верна - Булево
// # ТребуетсяПроверка - Булево // # ТребуетсяПроверка - Булево
// # ЕстьВсеПодписи - Булево - есть все подписи доверителей.
// # Статус - ПеречислениеСсылка.СтатусыМЧД
// # ЕстьВРеестреФНС - Булево
// # ТекстОшибки - Строка // # ТекстОшибки - Строка
// # РезультатыПроверкиПодписей - Массив из Структура: // # РезультатыПроверкиПодписей - Массив из Структура:
// ## Верна - Булево // ## Верна - Булево
@@ -42,15 +42,16 @@
КонецПроцедуры КонецПроцедуры
// При проверке доверенности. // Для прикладной проверки доверенности.
//
// Возвращает результат проверки доверенности.
// //
// Параметры: // Параметры:
// Оповещение - ОписаниеОповещения - оповещение о результате выполнения: // Оповещение - ОписаниеОповещения - оповещение о результате выполнения:
// Структура: // Структура:
// # Верна - Булево // # Верна - Булево
// # ТребуетсяПроверка - Булево // # ТребуетсяПроверка - Булево
// # ЕстьВсеПодписи - Булево - есть все подписи доверителей.
// # Статус - ПеречислениеСсылка.СтатусыМЧД
// # ЕстьВРеестреФНС - Булево
// # ТекстОшибки - Строка // # ТекстОшибки - Строка
// # РезультатыПроверкиПодписей - Массив из Структура: // # РезультатыПроверкиПодписей - Массив из Структура:
// ## Верна - Булево // ## Верна - Булево
@@ -18,7 +18,8 @@
КонецПроцедуры КонецПроцедуры
// При заполнении реквизитов организации. // Вызывается в форме машиночитаемой доверенности для заполнения реквизитов организации при выборе доверителя и представителя,
// если выбран вид представителя/доверителя "Организация".
// //
// Параметры: // Параметры:
// Организация - ОпределяемыйТип.Организация - ссылка на организацию, реквизиты которой надо заполнить. // Организация - ОпределяемыйТип.Организация - ссылка на организацию, реквизиты которой надо заполнить.
@@ -70,7 +71,8 @@
КонецПроцедуры КонецПроцедуры
// При заполнении реквизитов физического лица. // Вызывается в форме машиночитаемой доверенности для заполнения реквизитов физического лица при выборе доверителя и представителя,
// если выбран вид представителя/доверителя "Физическое лицо".
// //
// Параметры: // Параметры:
// ФизическоеЛицо - ОпределяемыйТип.ФизическоеЛицо - ссылка на физлицо, реквизиты которого надо заполнить. // ФизическоеЛицо - ОпределяемыйТип.ФизическоеЛицо - ссылка на физлицо, реквизиты которого надо заполнить.
@@ -111,7 +113,8 @@
КонецПроцедуры КонецПроцедуры
// При заполнении реквизитов контрагента. // Вызывается в форме машиночитаемой доверенности для заполнения реквизитов контрагента при выборе доверителя и представителя,
// если выбран вид представителя/доверителя "Контрагент".
// //
// Параметры: // Параметры:
// Контрагент - ОпределяемыйТип.Контрагент - ссылка на контрагента, реквизиты которого надо заполнить. // Контрагент - ОпределяемыйТип.Контрагент - ссылка на контрагента, реквизиты которого надо заполнить.
@@ -123,7 +126,8 @@
КонецПроцедуры КонецПроцедуры
// При изменении статуса доверенности // Вызывается при изменении статуса доверенности, например, когда статус обновляется из реестра ФНС, для обработки
// изменившегося статуса доверенности.
// //
// Параметры: // Параметры:
// СтатусыДоверенностей - Соответствие из КлючИЗначение: // СтатусыДоверенностей - Соответствие из КлючИЗначение:
@@ -136,4 +140,23 @@
КонецПроцедуры КонецПроцедуры
// Для выполнения прикладной проверки подписи по доверенности. Например, проверка соответствия реквизитов доверителя
// контрагенту, указанному в документе, и полномочий подписанта. Результаты проверки сохраняются в информационной базе.
//
// Параметры:
// ДанныеДоверенности - Структура, ВыборкаИзРезультатаЗапроса:
// * Ссылка - СправочникСсылка.МашиночитаемыеДоверенности
// * ПодписанныйОбъект - ОпределяемыйТип.ПодписанныйОбъект - ссылка на подписанный объект.
// * Полномочия - ТаблицаЗначений - содержит реквизиты табличной части Полномочия справочника МашиночитаемыеДоверенности.
// * Ограничения - ТаблицаЗначений - содержит реквизиты табличной части Ограничения справочника МашиночитаемыеДоверенности.
// Сертификат - см. МашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату.Сертификат
// ПротоколПроверки - Соответствие из КлючИЗначение:
// * Ключ - Строка - ключ проверки, для проверки полномочий и документа в протокол добавлены значения
// с ключами "ПроверкаПолномочий" и "ПроверкаДокумента".
// * Значение - см. МашиночитаемыеДоверенностиФНС.РезультатПроверкиДляПротокола
//
Процедура ПриПроверкеДоверенностиПодписи(ДанныеДоверенности, Сертификат, ПротоколПроверки) Экспорт
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -40,6 +40,14 @@
Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ТокенДоступа); Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ТокенДоступа);
КонецФункции КонецФункции
Функция ОтменитьМЧДРР(ИмяФайлаВыгрузки, ДанныеИлиАдресВыгрузки, ДанныеИлиАдресПодписи, Доверенность, ТокенДоступа = "") Экспорт
Возврат МашиночитаемыеДоверенностиФНССлужебный.ОтменитьМЧДРР(ИмяФайлаВыгрузки, ДанныеИлиАдресВыгрузки, ДанныеИлиАдресПодписи, Доверенность, ТокенДоступа);
КонецФункции
Функция ПолучитьФайлОтменыДоверенности(Доверенность, ПричинаОтмены) Экспорт
Возврат МашиночитаемыеДоверенностиФНССлужебный.ПолучитьФайлОтменыДоверенности(Доверенность, ПричинаОтмены);
КонецФункции
Функция ИспользуетсяРежимТестирования() Экспорт Функция ИспользуетсяРежимТестирования() Экспорт
Возврат МашиночитаемыеДоверенностиФНССлужебный.ИспользуетсяРежимТестирования(); Возврат МашиночитаемыеДоверенностиФНССлужебный.ИспользуетсяРежимТестирования();
КонецФункции КонецФункции
@@ -72,9 +80,32 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Функция РезультатПроверкиПодписейДоверенности(Доверенность, ИдентификаторФормы) Экспорт Функция РезультатПроверкиДоверенности(Знач Доверенность, Знач ПроверятьВРеестреФНС = Неопределено, Знач ИдентификаторФормы = Неопределено) Экспорт
Возврат МашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиПодписейДоверенности(Доверенность, Неопределено, ИдентификаторФормы); РеквизитыДоверенности = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Доверенность,
"ФайлДоверенности, РегистрироватьВРеестре, НомерДоверенности, Статус, Ссылка, Верна, СтатусВернаУстановленВручную, УстановившийСтатусВерна");
Возврат МашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиДанныхДоверенности(РеквизитыДоверенности, ПроверятьВРеестреФНС, ИдентификаторФормы);
КонецФункции
Функция РезультатПроверкиПодписиПоМЧД(Знач Доверенность, Знач ПодписанныйОбъект, Знач Сертификат, Знач НаДату, Знач ГотовыеПроверки) Экспорт
Возврат МашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиПодписиПоМЧД(Доверенность, ПодписанныйОбъект, Сертификат, НаДату, ГотовыеПроверки);
КонецФункции
Функция РезультатПроверкиМЧДДляПодписания(Знач Доверенность, Знач Сертификат) Экспорт
ПротоколПроверки = Новый Структура;
ДатаПроверки = ТекущаяДатаСеанса();
ПроверкаДоверенности = МашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиДоверенности(Доверенность);
МашиночитаемыеДоверенностиФНССлужебный.ДобавитьВПротоколПроверкуДоверенности(ПротоколПроверки, ПроверкаДоверенности, ДатаПроверки);
ПроверкаПодписанта = МашиночитаемыеДоверенностиФНССлужебный.ПроверитьСертификатПредставителя(Доверенность, Сертификат, ДатаПроверки);
МашиночитаемыеДоверенностиФНССлужебный.ДобавитьВПротоколПроверкуПодписанта(ПротоколПроверки, ПроверкаПодписанта, ДатаПроверки);
Возврат ПротоколПроверки;
КонецФункции КонецФункции
@@ -6,6 +6,111 @@
// https://creativecommons.org/licenses/by/4.0/legalcode // https://creativecommons.org/licenses/by/4.0/legalcode
/////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область СлужебныйПрограммныйИнтерфейс
// Результат проверки МЧДДля подписания.
//
// Параметры:
// Доверенность - СправочникСсылка.МашиночитаемыеДоверенности
// Сертификат - ДвоичныеДанные
// - Строка - адрес двоичных данных сертификата во временном хранилище.
// - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования.
//
// Возвращаемое значение:
// Неопределено, Структура:
// * Ключ - Строка - идентификатор проверки "ПроверкаПодписанта", "ПроверкаДоверенности"
// * Значение - см. РезультатПроверкиДляПротокола
//
Функция РезультатПроверкиМЧДДляПодписания(Доверенность, Сертификат) Экспорт
Если ТипЗнч(Доверенность) <> Тип("СправочникСсылка.МашиночитаемыеДоверенности") Тогда
Возврат Неопределено;
КонецЕсли;
Возврат МашиночитаемыеДоверенностиФНССлужебныйВызовСервера.РезультатПроверкиМЧДДляПодписания(
Доверенность, Сертификат);
КонецФункции
// Результат проверки МЧДДля подписания.
//
// Параметры:
// Доверенность - СправочникСсылка.МашиночитаемыеДоверенности
// ПодписанныйОбъект - ОпределяемыйТип.ПодписанныйОбъект
// Сертификат - ДвоичныеДанные
// - Строка - адрес двоичных данных сертификата во временном хранилище.
// - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования.
// НаДату - Дата
// ГотовыеПроверки - Структура:
// * Ключ - Строка - идентификатор проверки "ПроверкаПодписанта", "ПроверкаДоверенности"
// * Значение - см. РезультатПроверкиДляПротокола
//
// Возвращаемое значение:
// Неопределено, Соответствие - результат проверки МЧДДля подписания
//
Функция РезультатПроверкиПодписиПоМЧД(Доверенность, ПодписанныйОбъект, Сертификат, НаДату = Неопределено, ГотовыеПроверки = Неопределено) Экспорт
Если ТипЗнч(Доверенность) <> Тип("СправочникСсылка.МашиночитаемыеДоверенности") Тогда
Возврат Неопределено;
КонецЕсли;
Возврат МашиночитаемыеДоверенностиФНССлужебныйВызовСервера.РезультатПроверкиПодписиПоМЧД(
Доверенность, ПодписанныйОбъект, Сертификат, НаДату, ГотовыеПроверки);
КонецФункции
Процедура ДобавитьОтметкуДоверенностьВерна(Форма, ИмяЭлемента) Экспорт
РезультатПроверкиПодписиПоМЧД = Форма.РезультатПроверкиПодписиПоМЧД;
ИндексРезультата = Число(СтрЗаменить(ИмяЭлемента, "Подключаемый_КомандаОтметитьВручную", ""));
РезультатПроверки = ПолучитьИзВременногоХранилища(РезультатПроверкиПодписиПоМЧД);
Результат = РезультатПроверки[ИндексРезультата];
Результат.ТребуетсяПроверка = Ложь;
Результат.Верна = Истина;
Результат.СтатусВернаУстановленВручную = Истина;
Результат.УстановившийСтатусВерна = ПользователиКлиент.ТекущийПользователь();
Результат.ДатаПроверки = ОбщегоНазначенияКлиент.ДатаСеанса();
ПоместитьВоВременноеХранилище(РезультатПроверки, РезультатПроверкиПодписиПоМЧД);
Форма.Элементы["КартинкаПроверкиПроверкаДокумента" + ИндексРезультата].Картинка = БиблиотекаКартинок.ПроверкаСертификатаУспех;
Форма.Элементы["КартинкаПроверкиПроверкаПолномочий" + ИндексРезультата].Картинка = БиблиотекаКартинок.ПроверкаСертификатаУспех;
Форма.Элементы["ОтметитьВручную" + ИндексРезультата].Видимость = Ложь;
Оповестить("ИзмененРезультатПроверкиМЧД", РезультатПроверкиПодписиПоМЧД, Форма.ПодписанныйОбъект);
КонецПроцедуры
Функция ИнформацияМЧД(РезультатПроверкиПодписиПоМЧД) Экспорт
РезультатПроверки = ПолучитьИзВременногоХранилища(РезультатПроверкиПодписиПоМЧД);
Верна = Истина;
Массив = Новый Массив;
Для Каждого Результат Из РезультатПроверки Цикл // см. МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РезультатПроверкиПодписиПоМЧД
Проверка = "";
МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.ТекстПроверкиМЧД(Результат, Верна, Проверка);
Массив.Добавить(СтроковыеФункцииКлиент.ФорматированнаяСтрока(НСтр("ru = '%1 <a href=%2>%3</a>'"),
Проверка,
ПолучитьНавигационнуюСсылку(Результат.МашиночитаемаяДоверенность),
Результат.МашиночитаемаяДоверенность));
Массив.Добавить(Символы.ПС);
КонецЦикла;
СвойстваСтроки = Новый Структура;
СвойстваСтроки.Вставить("МашиночитаемаяДоверенность", Новый ФорматированнаяСтрока(Массив));
СвойстваСтроки.Вставить("МашиночитаемаяДоверенностьВерна", Верна);
Возврат СвойстваСтроки;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Функция ПараметрыФормыВводаРеквизитов(Ссылка, Реквизиты, ТолькоПросмотр, РедактированиеТаблицы = Ложь, Представитель = Истина) Экспорт Функция ПараметрыФормыВводаРеквизитов(Ссылка, Реквизиты, ТолькоПросмотр, РедактированиеТаблицы = Ложь, Представитель = Истина) Экспорт
@@ -243,18 +348,19 @@
, , , ОповещениеОПолучении, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); , , , ОповещениеОПолучении, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры КонецПроцедуры
// Продолжение процедуры МашиночитаемыеДоверенностиФНСКлиент.ПроверитьДоверенность.
Процедура ПроверитьДоверенность(Оповещение, Доверенность, ИдентификаторФормы = Неопределено) Экспорт Процедура ПроверитьДоверенность(Оповещение, Доверенность, ИдентификаторФормы = Неопределено) Экспорт
РезультатПроверкиПодписейДоверенности = МашиночитаемыеДоверенностиФНССлужебныйВызовСервера.РезультатПроверкиПодписейДоверенности( РезультатПроверкиДоверенности = МашиночитаемыеДоверенностиФНССлужебныйВызовСервера.РезультатПроверкиДоверенности(
Доверенность, ИдентификаторФормы); Доверенность, Неопределено, ИдентификаторФормы);
Если ИдентификаторФормы = Неопределено Тогда Если ИдентификаторФормы = Неопределено Тогда
ПослеПолученияРезультатовПроверкиПодписей(РезультатПроверкиПодписейДоверенности, Оповещение); ПослеПолученияРезультатовПроверкиПодписей(РезультатПроверкиДоверенности, Оповещение);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ТребуетсяПроверка = Ложь; ТребуетсяПроверка = Ложь;
Для Каждого Результат Из РезультатПроверкиПодписейДоверенности Цикл Для Каждого Результат Из РезультатПроверкиДоверенности.РезультатПроверкиПодписей.РезультатыПроверкиПодписей Цикл
Если Результат.ТребуетсяПроверка Тогда Если Результат.ТребуетсяПроверка Тогда
ТребуетсяПроверка = Истина; ТребуетсяПроверка = Истина;
Прервать; Прервать;
@@ -262,13 +368,13 @@
КонецЦикла; КонецЦикла;
Если Не ТребуетсяПроверка Тогда Если Не ТребуетсяПроверка Тогда
ПослеПолученияРезультатовПроверкиПодписей(РезультатПроверкиПодписейДоверенности, Оповещение); ПослеПолученияРезультатовПроверкиПодписей(РезультатПроверкиДоверенности, Оповещение);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Контекст = Новый Структура; Контекст = Новый Структура;
Контекст.Вставить("Оповещение", Оповещение); Контекст.Вставить("Оповещение", Оповещение);
Контекст.Вставить("РезультатПроверкиПодписейДоверенности", РезультатПроверкиПодписейДоверенности); Контекст.Вставить("РезультатПроверкиДоверенности", РезультатПроверкиДоверенности);
Контекст.Вставить("Индекс", -1); Контекст.Вставить("Индекс", -1);
Контекст.Вставить("ДанныеДоверенности"); Контекст.Вставить("ДанныеДоверенности");
ПроверитьПодписиЦиклНачало(Контекст); ПроверитьПодписиЦиклНачало(Контекст);
@@ -278,13 +384,13 @@
// Продолжение процедуры ПроверитьДоверенность. // Продолжение процедуры ПроверитьДоверенность.
Процедура ПроверитьПодписиЦиклНачало(Контекст) Процедура ПроверитьПодписиЦиклНачало(Контекст)
Если Контекст.РезультатПроверкиПодписейДоверенности.Количество() <= Контекст.Индекс + 1 Тогда Если Контекст.РезультатПроверкиДоверенности.РезультатПроверкиПодписей.РезультатыПроверкиПодписей.Количество() <= Контекст.Индекс + 1 Тогда
ПослеПолученияРезультатовПроверкиПодписей(Контекст.РезультатПроверкиПодписейДоверенности, Контекст.Оповещение); ПослеПолученияРезультатовПроверкиПодписей(Контекст.РезультатПроверкиДоверенности, Контекст.Оповещение);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Контекст.Индекс = Контекст.Индекс + 1; Контекст.Индекс = Контекст.Индекс + 1;
Элемент = Контекст.РезультатПроверкиПодписейДоверенности[Контекст.Индекс]; Элемент = Контекст.РезультатПроверкиДоверенности.РезультатПроверкиПодписей.РезультатыПроверкиПодписей[Контекст.Индекс];
Если Не Элемент.ТребуетсяПроверка Тогда Если Не Элемент.ТребуетсяПроверка Тогда
ПроверитьПодписиЦиклНачало(Контекст); ПроверитьПодписиЦиклНачало(Контекст);
Возврат; Возврат;
@@ -310,7 +416,7 @@
// Продолжение процедуры ПроверитьДоверенность. // Продолжение процедуры ПроверитьДоверенность.
Процедура ПослеПроверкиПодписи(РезультатПроверкиПодписи, Контекст) Экспорт Процедура ПослеПроверкиПодписи(РезультатПроверкиПодписи, Контекст) Экспорт
СтрокаПодписи = Контекст.РезультатПроверкиПодписейДоверенности[Контекст.Индекс]; СтрокаПодписи = Контекст.РезультатПроверкиДоверенности.РезультатПроверкиПодписей.РезультатыПроверкиПодписей[Контекст.Индекс];
СтрокаПодписи.Удалить("АдресДанныхДоверенности"); СтрокаПодписи.Удалить("АдресДанныхДоверенности");
СтрокаПодписи.Удалить("АдресПодписи"); СтрокаПодписи.Удалить("АдресПодписи");
Если Не РезультатПроверкиПодписи.ТребуетсяПроверка Тогда Если Не РезультатПроверкиПодписи.ТребуетсяПроверка Тогда
@@ -327,11 +433,11 @@
КонецПроцедуры КонецПроцедуры
// Продолжение процедуры ПроверитьДоверенность. // Продолжение процедуры ПроверитьДоверенность.
Процедура ПослеПолученияРезультатовПроверкиПодписей(РезультатПроверкиПодписейДоверенности, Оповещение) Процедура ПослеПолученияРезультатовПроверкиПодписей(РезультатПроверкиДоверенности, Оповещение)
РезультатПроверкиДоверенности = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РезультатПроверкиДоверенности( Результат = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РезультатПроверкиДоверенности(
РезультатПроверкиПодписейДоверенности); РезультатПроверкиДоверенности);
ВыполнитьОбработкуОповещения(Оповещение, РезультатПроверкиДоверенности); ВыполнитьОбработкуОповещения(Оповещение, Результат);
КонецПроцедуры КонецПроцедуры
@@ -8,6 +8,26 @@
#Область СлужебныйПрограммныйИнтерфейс #Область СлужебныйПрограммныйИнтерфейс
// Результат проверки подписи по МЧД.
//
// Параметры:
// Доверенность - СправочникСсылка.МашиночитаемыеДоверенности
//
// Возвращаемое значение:
// Структура:
// * МашиночитаемаяДоверенность - СправочникСсылка.МашиночитаемыеДоверенности
// * ТребуетсяПроверка - Булево
// * ДатаПроверки - Дата
// * Верна - Булево
// * ПодписантСоответствуетПредставителю - Булево
// * СовместныеПолномочия - Булево
// * СовместныеПолномочияВерны - Булево
// * СтатусВернаУстановленВручную - Булево
// * УстановившийСтатусВерна - СправочникСсылка.Пользователи
// * ПротоколПроверки - Соответствие из КлючИЗначение:
// ** Ключ - Строка - идентификатор проверки
// ** Значение - см. МашиночитаемыеДоверенностиФНС.РезультатПроверкиДляПротокола
//
Функция РезультатПроверкиПодписиПоМЧД(Доверенность) Экспорт Функция РезультатПроверкиПодписиПоМЧД(Доверенность) Экспорт
Структура = Новый Структура; Структура = Новый Структура;
@@ -19,6 +39,8 @@
Структура.Вставить("СовместныеПолномочия"); Структура.Вставить("СовместныеПолномочия");
Структура.Вставить("СовместныеПолномочияВерны"); Структура.Вставить("СовместныеПолномочияВерны");
Структура.Вставить("ПротоколПроверки"); Структура.Вставить("ПротоколПроверки");
Структура.Вставить("СтатусВернаУстановленВручную", Ложь);
Структура.Вставить("УстановившийСтатусВерна");
Возврат Структура; Возврат Структура;
@@ -28,12 +50,16 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Функция РасчетныйСтатусДокумента(ТехническийСтатус) Экспорт Функция РасчетныйСтатусДокумента(ТехническийСтатус, Верна) Экспорт
Если ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Зарегистрировано") Если ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Зарегистрировано")
Или ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.РегистрацияОтмены") Или ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.РегистрацияОтмены")
Или ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Активна") Тогда Или ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Активна") Тогда
РасчетныйСтатусДокумента = ПредопределенноеЗначение("Перечисление.СтатусыМЧД.Действует"); Если Верна Тогда
РасчетныйСтатусДокумента = ПредопределенноеЗначение("Перечисление.СтатусыМЧД.Действует");
Иначе
РасчетныйСтатусДокумента = ПредопределенноеЗначение("Перечисление.СтатусыМЧД.НеДействует");
КонецЕсли;
ИначеЕсли ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Создание") ИначеЕсли ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Создание")
Или ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписание") Или ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписание")
Или ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан") Или ТехническийСтатус = ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Подписан")
@@ -55,6 +81,8 @@
ВнешниеСтатусы.Вставить(ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.РегистрацияОтмены"), Истина); ВнешниеСтатусы.Вставить(ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.РегистрацияОтмены"), Истина);
ВнешниеСтатусы.Вставить(ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Отменена"), Истина); ВнешниеСтатусы.Вставить(ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Отменена"), Истина);
ВнешниеСтатусы.Вставить(ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.ОшибкаРегистрации"), Истина); ВнешниеСтатусы.Вставить(ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.ОшибкаРегистрации"), Истина);
ВнешниеСтатусы.Вставить(ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.Просрочено"), Истина);
ВнешниеСтатусы.Вставить(ПредопределенноеЗначение("Перечисление.ТехническиеСтатусыМЧД.ДатаНачалаДействияНеНаступила"), Истина);
Возврат ВнешниеСтатусы; Возврат ВнешниеСтатусы;
@@ -313,6 +341,26 @@
КонецФункции КонецФункции
Процедура ТекстПроверкиМЧД(Результат, Верна, Проверка) Экспорт
Если Результат.Верна = Истина Тогда
Если Результат.СтатусВернаУстановленВручную Тогда
Проверка = НСтр("ru = 'Проверена подпись по МЧД'");
Иначе
Проверка = НСтр("ru = 'Верна подпись по МЧД'");
КонецЕсли;
ИначеЕсли Результат.ТребуетсяПроверка = Истина Тогда
Проверка = НСтр("ru = 'Требуется проверка подписи по МЧД'");
Верна = Ложь;
Иначе
Проверка = НСтр("ru = 'Не верна подпись по МДЧ'");
Верна = Ложь;
КонецЕсли;
КонецПроцедуры
Функция ТолькоЦифры(Строка) Экспорт Функция ТолькоЦифры(Строка) Экспорт
ДлинаСтроки = СтрДлина(Строка); ДлинаСтроки = СтрДлина(Строка);
@@ -334,17 +382,39 @@
Возврат ДатаОтсчета + 259200; Возврат ДатаОтсчета + 259200;
КонецФункции КонецФункции
Функция РезультатПроверкиДоверенности(РезультатПроверкиПодписей) Экспорт // Результат проверки доверенности.
//
// Параметры:
// Результат - Структура
//
// Возвращаемое значение:
// Структура - результат проверки доверенности:
// * Верна - Булево
// * ТекстОшибки - Строка
// * ЕстьВсеПодписи - Булево
// * ЕстьВРеестреФНС - Булево
// * Статус - ПеречислениеСсылка.СтатусыМЧД
// * ТребуетсяПроверка - Булево
// * РезультатыПроверкиПодписей - Массив из Структура
//
Функция РезультатПроверкиДоверенности(Результат) Экспорт
РезультатПроверкиПодписей = Результат.РезультатПроверкиПодписей;
СтатусВернаУстановленВручную = Результат.СтатусВернаУстановленВручную;
РезультатПроверкиДоверенности = Новый Структура; РезультатПроверкиДоверенности = Новый Структура;
РезультатПроверкиДоверенности.Вставить("ТекстОшибки", "");
РезультатПроверкиДоверенности.Вставить("Верна"); РезультатПроверкиДоверенности.Вставить("Верна");
РезультатПроверкиДоверенности.Вставить("ТекстОшибки", "");
РезультатПроверкиДоверенности.Вставить("ЕстьВсеПодписи", РезультатПроверкиПодписей.ЕстьВсеПодписи);
РезультатПроверкиДоверенности.Вставить("ЕстьВРеестреФНС", Результат.ЕстьВРеестреФНС);
РезультатПроверкиДоверенности.Вставить("Статус");
РезультатПроверкиДоверенности.Вставить("ТребуетсяПроверка", Ложь); РезультатПроверкиДоверенности.Вставить("ТребуетсяПроверка", Ложь);
РезультатПроверкиДоверенности.Вставить("РезультатыПроверкиПодписей", РезультатПроверкиПодписей); РезультатПроверкиДоверенности.Вставить("РезультатыПроверкиПодписей",
РезультатПроверкиПодписей.РезультатыПроверкиПодписей);
ПодписиВерны = Истина; ПодписиСоответствуют = Истина; ПодписиТребуютПроверки = Ложь; ПодписиВерны = Истина; ПодписиСоответствуют = Истина; ПодписиТребуютПроверки = Ложь;
Для Каждого РезультатПроверкиПодписи Из РезультатПроверкиПодписей Цикл Для Каждого РезультатПроверкиПодписи Из РезультатПроверкиПодписей.РезультатыПроверкиПодписей Цикл
Если РезультатПроверкиПодписи.ТребуетсяПроверка Тогда Если РезультатПроверкиПодписи.ТребуетсяПроверка Тогда
ПодписиТребуютПроверки = Истина; ПодписиТребуютПроверки = Истина;
@@ -357,19 +427,46 @@
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
РезультатПроверкиДоверенности.Верна = ПодписиВерны И ПодписиСоответствуют И Не ПодписиТребуютПроверки; РезультатПроверкиДоверенности.Верна = (СтатусВернаУстановленВручную
РезультатПроверкиДоверенности.ТребуетсяПроверка = ПодписиТребуютПроверки; Или ПодписиВерны И ПодписиСоответствуют И Не ПодписиТребуютПроверки И РезультатПроверкиПодписей.ЕстьВсеПодписи)
И Не ЗначениеЗаполнено(Результат.ОшибкаПроверкиВРеестреФНС);
РезультатПроверкиДоверенности.ТребуетсяПроверка = Не СтатусВернаУстановленВручную И ПодписиТребуютПроверки
Или ЗначениеЗаполнено(Результат.ОшибкаПроверкиВРеестреФНС);
Если Результат.Статус = ПредопределенноеЗначение("Перечисление.СтатусыМЧД.Действует")
И Не РезультатПроверкиДоверенности.Верна Тогда
РезультатПроверкиДоверенности.Статус = ПредопределенноеЗначение("Перечисление.СтатусыМЧД.НеДействует");
Иначе
РезультатПроверкиДоверенности.Статус = Результат.Статус;
КонецЕсли;
Если Не РезультатПроверкиДоверенности.Верна Или СтатусВернаУстановленВручную Тогда
Если Не РезультатПроверкиДоверенности.Верна Тогда
Ошибки = Новый Массив; Ошибки = Новый Массив;
Если ПодписиТребуютПроверки Тогда
Ошибки.Добавить(НСтр("ru='Есть подписи, требующие проверки.'")); Если СтатусВернаУстановленВручную Тогда
Ошибки.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Статус Верна установлен вручную (%1)'"), Результат.УстановившийСтатусВерна));
Иначе
Если ПодписиТребуютПроверки Тогда
Ошибки.Добавить(НСтр("ru='Есть подписи доверителей, требующие проверки'"));
КонецЕсли;
Если Не ПодписиВерны Тогда
Ошибки.Добавить(НСтр("ru='Есть недействительные подписи доверителей'"));
КонецЕсли;
Если Не ПодписиСоответствуют Тогда
Ошибки.Добавить(НСтр("ru='Есть подписи доверителей, не соответствующие доверенности'"));
КонецЕсли;
Если Не РезультатПроверкиПодписей.ЕстьВсеПодписи Тогда
Ошибки.Добавить(РезультатПроверкиПодписей.ТекстОшибки);
КонецЕсли;
КонецЕсли; КонецЕсли;
Если Не ПодписиВерны Тогда
Ошибки.Добавить(НСтр("ru='Есть недействительные подписи.'")); Если ЗначениеЗаполнено(Результат.ОшибкаПроверкиВРеестреФНС) Тогда
КонецЕсли; Ошибки.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
Если Не ПодписиСоответствуют Тогда НСтр("ru='Не удалось проверить доверенность в реестре ФНС: %1'"),
Ошибки.Добавить(НСтр("ru='Есть подписи, не соответствующие доверенности.'")); Результат.ОшибкаПроверкиВРеестреФНС));
КонецЕсли; КонецЕсли;
РезультатПроверкиДоверенности.ТекстОшибки = СтрСоединить(Ошибки, Символы.ПС); РезультатПроверкиДоверенности.ТекстОшибки = СтрСоединить(Ошибки, Символы.ПС);
КонецЕсли; КонецЕсли;
@@ -378,5 +475,4 @@
КонецФункции КонецФункции
#КонецОбласти #КонецОбласти
@@ -240,6 +240,16 @@
#КонецОбласти #КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
Функция ИмяФормыОбщиеНастройки() Экспорт
Возврат "Обработка.ПанельАдминистрированияБСП.Форма.ОбщиеНастройки";
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
#Область ЦентрМониторинга #Область ЦентрМониторинга
@@ -275,6 +275,16 @@
#КонецОбласти #КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс
Процедура ОткрытьОбщиеНастройки() Экспорт
ОткрытьФорму("Обработка.ПанельАдминистрированияБСП.Форма.ОбщиеНастройки");
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Процедура ИнтернетПоддержкаИСервисыПриИзмененииСостоянияПодключенияОбсуждений( Процедура ИнтернетПоддержкаИСервисыПриИзмененииСостоянияПодключенияОбсуждений(
@@ -3346,11 +3346,15 @@
НаборДанных = Параметры.ОбновляемыеДанные.НаборДанных; НаборДанных = Параметры.ОбновляемыеДанные.НаборДанных;
Если НаборДанных.Количество() > 0 Тогда Если НаборДанных.Количество() > 0 Тогда
Возврат НаборДанных[0].Данные; Данные = НаборДанных[0].Данные;
Иначе
Возврат Новый ТаблицаЗначений; Если Данные.Количество() > 0 Тогда
Возврат Данные;
КонецЕсли;
КонецЕсли; КонецЕсли;
Возврат Новый ТаблицаЗначений;
КонецФункции КонецФункции
// Возвращает текущее значение приоритета отложенной обработки данных. // Возвращает текущее значение приоритета отложенной обработки данных.
@@ -45,7 +45,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.9.144"; Описание.Версия = "3.1.9.162";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -66,6 +66,10 @@
Для Каждого Исправление Из Исправления Цикл Для Каждого Исправление Из Исправления Цикл
УдалитьИсправление = Истина; УдалитьИсправление = Истина;
СвойстваИсправления = СвойстваИсправления(Исправление.Имя); СвойстваИсправления = СвойстваИсправления(Исправление.Имя);
ЭтоПатчБиблиотеки = Ложь;
ИмяБиблиотеки = "";
СписокСборок = Неопределено;
Если СвойстваИсправления = Неопределено Тогда Если СвойстваИсправления = Неопределено Тогда
// Исправление еще не применено. // Исправление еще не применено.
УдалитьИсправление = Ложь; УдалитьИсправление = Ложь;
@@ -81,6 +85,11 @@
Если ВерсияБиблиотекиКонфигурации = Неопределено Тогда Если ВерсияБиблиотекиКонфигурации = Неопределено Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Если ИнформацияОПрименимости.ConfigurationName <> Метаданные.Имя Тогда
ЭтоПатчБиблиотеки = Истина;
ИмяБиблиотеки = ИнформацияОПрименимости.ConfigurationName;
ВерсияБиблиотеки = ВерсияБиблиотекиКонфигурации;
КонецЕсли;
МассивСборок = СтрРазделить(СокрЛП(ИнформацияОПрименимости.Versions), ",", Ложь); МассивСборок = СтрРазделить(СокрЛП(ИнформацияОПрименимости.Versions), ",", Ложь);
СписокСборок = Новый СписокЗначений; СписокСборок = Новый СписокЗначений;
@@ -118,8 +127,31 @@
КонецЕсли; КонецЕсли;
Если УдалитьИсправление Тогда Если УдалитьИсправление Тогда
ТекстСообщения = НСтр("ru = 'Исправление ""%1"" устарело и будет удалено.'"); СписокСборокСтрокой = "";
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Исправление.Имя); Если СписокСборок <> Неопределено Тогда
Сборки = Новый Массив;
Для Каждого Элемент Из СписокСборок Цикл
Сборки.Добавить(Элемент.Представление);
КонецЦикла;
СписокСборокСтрокой = СтрСоединить(Сборки, ", ");
Если ЭтоПатчБиблиотеки Тогда
ТекстСообщения = НСтр("ru = 'Исправление ""%1"" устарело и будет удалено.
|Исправление предназначено для сборок ""%2"" библиотеки ""%3"". Текущая версия библиотеки: ""%4"".'");
Иначе
ВерсияБиблиотеки = Метаданные.Версия;
ТекстСообщения = НСтр("ru = 'Исправление ""%1"" устарело и будет удалено.
|Исправление предназначено для сборок ""%2"". Текущая версия конфигурации: ""%4"".'");
КонецЕсли;
Иначе
ТекстСообщения = НСтр("ru = 'Исправление ""%1"" устарело и будет удалено.'");
КонецЕсли;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения,
Исправление.Имя,
СписокСборокСтрокой,
ИмяБиблиотеки,
ВерсияБиблиотеки);
ЗаписьЖурналаРегистрации(НСтр("ru = 'Исправления.Удаление'", ОбщегоНазначения.КодОсновногоЯзыка()), ЗаписьЖурналаРегистрации(НСтр("ru = 'Исправления.Удаление'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация, , , ТекстСообщения); УровеньЖурналаРегистрации.Информация, , , ТекстСообщения);
@@ -549,6 +549,31 @@
ТекущиеСоединения = СоединенияИБВызовСервера.ИнформацияОСоединениях(Истина, ТекущиеСоединения = СоединенияИБВызовСервера.ИнформацияОСоединениях(Истина,
ПараметрыПриложения["СтандартныеПодсистемы.СообщенияДляЖурналаРегистрации"], ПортКластера); ПараметрыПриложения["СтандартныеПодсистемы.СообщенияДляЖурналаРегистрации"], ПортКластера);
СтрокаСоединения = ТекущиеСоединения.СтрокаСоединенияИнформационнойБазы;
ПутьКБазе = "";
Если СтрНайти(СтрокаСоединения, "'") > 0 Тогда
БазаФайловая = ОбщегоНазначенияКлиент.ИнформационнаяБазаФайловая(СтрокаСоединения);
Если БазаФайловая Тогда
ПутьКБазе = СтрЗаменить(СтрЗаменить(СтрокаСоединения, "File=", ""), ";", "");
ТекстОшибки = НСтр("ru = 'Невозможно выполнить обновление на новую версию приложения, т.к. каталог
|информационной базы содержит недопустимый символ одинарной кавычки "" '' "":
|%1%2'");
ПостФикс = НСтр("ru = 'Переместите информационную базу в другой каталог и повторите попытку обновления.'");
Иначе
ПутьКБазе = СтрокаСоединения;
ТекстОшибки = НСтр("ru = 'Невозможно выполнить обновление на новую версию приложения, т.к. в адресе
|сервера или имени информационной базы содержится недопустимый символ одинарной кавычки "" '' "":
|%1%2'");
ПостФикс = НСтр("ru = 'Переместите информационную базу на другой сервер или переименуйте ее, затем повторите попытку обновления.'");
КонецЕсли;
ТекстОшибки = СтрСоединить(СтрРазделить(ТекстОшибки, Символы.ПС), " ");
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС + ПостФикс;
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, Символы.ПС, ПутьКБазе);
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Результат.СтрокаСоединенияИнформационнойБазы = ТекущиеСоединения.СтрокаСоединенияИнформационнойБазы; Результат.СтрокаСоединенияИнформационнойБазы = ТекущиеСоединения.СтрокаСоединенияИнформационнойБазы;
Результат.СтрокаПодключения = "Usr=""{0}"";Pwd=""{1}"""; Результат.СтрокаПодключения = "Usr=""{0}"";Pwd=""{1}""";
@@ -1518,7 +1518,7 @@
НастройкиСканированияПользователя.ИспользоватьImageMagickДляПреобразованияВPDF = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( НастройкиСканированияПользователя.ИспользоватьImageMagickДляПреобразованияВPDF = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
"НастройкиСканирования/ИспользоватьImageMagickДляПреобразованияВPDF", "НастройкиСканирования/ИспользоватьImageMagickДляПреобразованияВPDF",
ИдентификаторКлиента); ИдентификаторКлиента, Ложь);
НастройкиСканированияПользователя.КачествоJPG = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( НастройкиСканированияПользователя.КачествоJPG = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(
"НастройкиСканирования/КачествоJPG", "НастройкиСканирования/КачествоJPG",
@@ -2626,11 +2626,23 @@
Если ДобавляемыйЭлемент.ПоказыватьКоманднуюПанель Тогда Если ДобавляемыйЭлемент.ПоказыватьКоманднуюПанель Тогда
ПанельКоманд = Форма.Элементы.Добавить("ПанельКомандУправленияПрисоединеннымиФайлами" + НомерЭлемента, ПанельКоманд = Форма.Элементы.Найти("ПанельКоманд" + ДобавляемыйЭлемент.Размещение);
Тип("ГруппаФормы"), ГруппаШапка); ГруппаПоставляемыхЭлементов = Неопределено;
Если ПанельКоманд = Неопределено Тогда
ПанельКоманд = Форма.Элементы.Добавить("ПанельКомандУправленияПрисоединеннымиФайлами" + НомерЭлемента,
Тип("ГруппаФормы"), ГруппаШапка);
ПанельКоманд.Вид = ВидГруппыФормы.КоманднаяПанель; ПанельКоманд.Вид = ВидГруппыФормы.КоманднаяПанель;
ПанельКоманд.РастягиватьПоГоризонтали = Истина; ПанельКоманд.РастягиватьПоГоризонтали = Истина;
Иначе
Форма.Элементы.Переместить(ПанельКоманд, ГруппаШапка);
ГруппаПоставляемыхЭлементов = Форма.Элементы.Добавить("ГруппаПоставляемыхКомандУправленияПрисоединеннымиФайлами" + НомерЭлемента,
Тип("ГруппаФормы"), ПанельКоманд);
ГруппаПоставляемыхЭлементов.Вид = ВидГруппыФормы.ГруппаКнопок;
Для Каждого ПоставляемыйЭлемент Из ПанельКоманд.ПодчиненныеЭлементы Цикл
Форма.Элементы.Переместить(ПоставляемыйЭлемент, ГруппаПоставляемыхЭлементов);
КонецЦикла;
КонецЕсли;
ПодменюДобавления = Форма.Элементы.Добавить("ПодменюДобавленияФайла" + НомерЭлемента, ПодменюДобавления = Форма.Элементы.Добавить("ПодменюДобавленияФайла" + НомерЭлемента,
Тип("ГруппаФормы"), ПанельКоманд); Тип("ГруппаФормы"), ПанельКоманд);
@@ -2886,6 +2898,11 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если ДобавляемыйЭлемент.ПоказыватьКоманднуюПанель И ГруппаПоставляемыхЭлементов <> Неопределено Тогда
Форма.Элементы.Переместить(ГруппаПоставляемыхЭлементов, ПанельКоманд);
КонецЕсли;
КонецПроцедуры КонецПроцедуры
Процедура УстановитьДоступностьРедактирования(ДанныеФайла, КнопкаРедактирования, КнопкаОтмены, КнопкаПомещения) Процедура УстановитьДоступностьРедактирования(ДанныеФайла, КнопкаРедактирования, КнопкаОтмены, КнопкаПомещения)
@@ -1758,7 +1758,7 @@
Функция ПроверитьОбъектПрисоединенныхФайлов(ОбъектМетаданных) Функция ПроверитьОбъектПрисоединенныхФайлов(ОбъектМетаданных)
Если СтрЗаканчиваетсяНа(ОбъектМетаданных.Имя, "ПрисоединенныеФайлы") Если СтрЗаканчиваетсяНа(ОбъектМетаданных.Имя, РаботаСФайламиКлиентСервер.СуффиксСправочникаПрисоединенныеФайлы())
Или ОбъектМетаданных.ПолноеИмя() = "Справочник.ВерсииФайлов" Тогда Или ОбъектМетаданных.ПолноеИмя() = "Справочник.ВерсииФайлов" Тогда
Возврат ОбъектМетаданных.Реквизиты.Найти("ПутьКФайлу") <> Неопределено Возврат ОбъектМетаданных.Реквизиты.Найти("ПутьКФайлу") <> Неопределено
@@ -910,12 +910,14 @@
// //
Процедура КомандаУправленияПрисоединеннымиФайлами(Форма, Команда) Экспорт Процедура КомандаУправленияПрисоединеннымиФайлами(Форма, Команда) Экспорт
ЧастиИмениКоманды = СтрРазделить(Команда.Имя, "_"); Позиция = СтрНайти(Команда.Имя, "_",НаправлениеПоиска.СКонца);
Если ЧастиИмениКоманды.Количество() <= 1 Тогда Если Позиция = 0 Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
НомерЭлемента = Число(СтрЗаменить(ЧастиИмениКоманды[1], РаботаСФайламиКлиентСервер.ТолькоОдинФайлТекст(), "")); НомерСтрокой = Сред(Команда.Имя, Позиция + 1);
НомерЭлемента = Число(СтрЗаменить(НомерСтрокой, РаботаСФайламиКлиентСервер.ТолькоОдинФайлТекст(), ""));
ВладелецПрисоединенныхФайлов = ЗначениеПараметраПрисоединенногоФайла(Форма, НомерЭлемента, "ПутьКДаннымВладельца"); ВладелецПрисоединенныхФайлов = ЗначениеПараметраПрисоединенногоФайла(Форма, НомерЭлемента, "ПутьКДаннымВладельца");
Если Не ЗначениеЗаполнено(ВладелецПрисоединенныхФайлов) Тогда Если Не ЗначениеЗаполнено(ВладелецПрисоединенныхФайлов) Тогда
@@ -169,6 +169,10 @@
КонецФункции КонецФункции
Функция СуффиксСправочникаПрисоединенныеФайлы() Экспорт
Возврат "ПрисоединенныеФайлы";
КонецФункции
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -670,11 +670,13 @@
ТипВладельцаФайлов = ТипЗнч(ВладелецФайлов); ТипВладельцаФайлов = ТипЗнч(ВладелецФайлов);
КонецЕсли; КонецЕсли;
СуффиксСправочника = РаботаСФайламиКлиентСервер.СуффиксСправочникаПрисоединенныеФайлы();
МетаданныеВладельца = Метаданные.НайтиПоТипу(ТипВладельцаФайлов); МетаданныеВладельца = Метаданные.НайтиПоТипу(ТипВладельцаФайлов);
ИменаСправочников = Новый Соответствие; ИменаСправочников = Новый Соответствие;
Если МетаданныеВладельца <> Неопределено Тогда Если МетаданныеВладельца <> Неопределено Тогда
ИмяСтандартногоОсновногоСправочника = МетаданныеВладельца.Имя ИмяСтандартногоОсновногоСправочника = МетаданныеВладельца.Имя
+ ?(СтрЗаканчиваетсяНа(МетаданныеВладельца.Имя, "ПрисоединенныеФайлы"), "", "ПрисоединенныеФайлы"); + ?(СтрЗаканчиваетсяНа(МетаданныеВладельца.Имя, СуффиксСправочника), "", СуффиксСправочника);
Если Метаданные.Справочники.Найти(ИмяСтандартногоОсновногоСправочника) <> Неопределено Тогда Если Метаданные.Справочники.Найти(ИмяСтандартногоОсновногоСправочника) <> Неопределено Тогда
ИменаСправочников.Вставить(ИмяСтандартногоОсновногоСправочника, Истина); ИменаСправочников.Вставить(ИмяСтандартногоОсновногоСправочника, Истина);
@@ -700,13 +702,13 @@
|указан несуществующий справочник ""%2"".'"), |указан несуществующий справочник ""%2"".'"),
Строка(ТипВладельцаФайлов), Строка(КлючИЗначение.Ключ))); Строка(ТипВладельцаФайлов), Строка(КлючИЗначение.Ключ)));
ИначеЕсли Не СтрЗаканчиваетсяНа(КлючИЗначение.Ключ, "ПрисоединенныеФайлы") И Не КлючИЗначение.Ключ ="Файлы" Тогда ИначеЕсли Не СтрЗаканчиваетсяНа(КлючИЗначение.Ключ, СуффиксСправочника) И Не КлючИЗначение.Ключ ="Файлы" Тогда
Ошибки.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( Ошибки.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'У владельца файлов типа ""%1"" НСтр("ru = 'У владельца файлов типа ""%1""
|указано имя справочника ""%2"" |указано имя справочника ""%2""
|без обязательного постфикса ""%3"".'"), |без обязательного постфикса ""%3"".'"),
Строка(ТипВладельцаФайлов), Строка(КлючИЗначение.Ключ), "ПрисоединенныеФайлы")); Строка(ТипВладельцаФайлов), Строка(КлючИЗначение.Ключ), СуффиксСправочника));
ИначеЕсли КлючИЗначение.Значение = Неопределено Тогда ИначеЕсли КлючИЗначение.Значение = Неопределено Тогда
ИменаСправочников.Вставить(КлючИЗначение.Ключ, Ложь); ИменаСправочников.Вставить(КлючИЗначение.Ключ, Ложь);
@@ -1016,7 +1018,7 @@
Возврат Ложь; Возврат Ложь;
КонецЕсли; КонецЕсли;
Если СтрЗаканчиваетсяНа(ВРег(ЧастиИмени[1]), ВРег("ПрисоединенныеФайлы")) Если СтрЗаканчиваетсяНа(ВРег(ЧастиИмени[1]), ВРег(РаботаСФайламиКлиентСервер.СуффиксСправочникаПрисоединенныеФайлы()))
Или ВРег(ЧастиИмени[1]) = ВРег("Файлы") Или ВРег(ЧастиИмени[1]) = ВРег("Файлы")
Или ВРег(ЧастиИмени[1]) = ВРег("ВерсииФайлов") Тогда Или ВРег(ЧастиИмени[1]) = ВРег("ВерсииФайлов") Тогда
@@ -1180,7 +1182,7 @@
КонецЕсли; КонецЕсли;
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись"); МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
ПодписиВОбъекте = МодульЭлектроннаяПодпись.УстановленныеПодписи(ПодписанныйФайл); ПодписиВОбъекте = МодульЭлектроннаяПодпись.УстановленныеПодписи(ПодписанныйФайл, Неопределено, Истина);
Если ПодписиВФорме.Количество() <> ПодписиВОбъекте.Количество() Тогда Если ПодписиВФорме.Количество() <> ПодписиВОбъекте.Количество() Тогда
Возврат; // Если объект был изменен, результаты проверки не переносятся. Возврат; // Если объект был изменен, результаты проверки не переносятся.
@@ -1193,6 +1195,7 @@
Свойства = Новый Структура("ДатаПроверкиПодписи, ПодписьВерна, ТребуетсяПроверка", Null, Null, Null); Свойства = Новый Структура("ДатаПроверкиПодписи, ПодписьВерна, ТребуетсяПроверка", Null, Null, Null);
Свойства.Вставить("ТипПодписи", Null); Свойства.Вставить("ТипПодписи", Null);
Свойства.Вставить("СрокДействияПоследнейМеткиВремени", Null); Свойства.Вставить("СрокДействияПоследнейМеткиВремени", Null);
Свойства.Вставить("РезультатПроверкиПодписиПоМЧД", Null);
ЗаполнитьЗначенияСвойств(Свойства, ПодписиВФорме[0]); ЗаполнитьЗначенияСвойств(Свойства, ПодписиВФорме[0]);
Если Свойства.ДатаПроверкиПодписи = Null Если Свойства.ДатаПроверкиПодписи = Null
@@ -1209,6 +1212,9 @@
Если Свойства.СрокДействияПоследнейМеткиВремени = Null Тогда Если Свойства.СрокДействияПоследнейМеткиВремени = Null Тогда
Свойства.Удалить("СрокДействияПоследнейМеткиВремени"); Свойства.Удалить("СрокДействияПоследнейМеткиВремени");
КонецЕсли; КонецЕсли;
Если Свойства.РезультатПроверкиПодписиПоМЧД = Null Тогда
Свойства.Удалить("РезультатПроверкиПодписиПоМЧД");
КонецЕсли;
Для Каждого Строка Из ПодписиВФорме Цикл Для Каждого Строка Из ПодписиВФорме Цикл
СтрокаВОбъекте = ПодписиВОбъекте.Получить(ПодписиВФорме.Индекс(Строка)); СтрокаВОбъекте = ПодписиВОбъекте.Получить(ПодписиВФорме.Индекс(Строка));
@@ -1229,10 +1235,29 @@
ЗаполнитьЗначенияСвойств(Свойства, СтрокаВОбъекте); ЗаполнитьЗначенияСвойств(Свойства, СтрокаВОбъекте);
ЕстьИзменения = Ложь; ЕстьИзменения = Ложь;
Для Каждого КлючИЗначение Из Свойства Цикл Для Каждого КлючИЗначение Из Свойства Цикл
// Локализация
Если КлючИЗначение.Ключ = "РезультатПроверкиПодписиПоМЧД" Тогда
НовыйРезультат = Неопределено;
Если ЗначениеЗаполнено(Строка[КлючИЗначение.Ключ]) Тогда
НовыйРезультат = ПолучитьИзВременногоХранилища(Строка[КлючИЗначение.Ключ]);
КонецЕсли;
Если ТипЗнч(НовыйРезультат) <> ТипЗнч(Свойства[КлючИЗначение.Ключ]) Тогда
ЕстьИзменения = Истина;
ИначеЕсли ЗначениеЗаполнено(НовыйРезультат) И ЗначениеЗаполнено(Свойства[КлючИЗначение.Ключ])
И Не ОбщегоНазначения.КоллекцииИдентичны(НовыйРезультат, Свойства[КлючИЗначение.Ключ],,
"ДатаПроверки, ДополнительныеДанные") Тогда
ЕстьИзменения = Истина;
КонецЕсли;
Продолжить;
КонецЕсли;
// Конец Локализация
Если Строка[КлючИЗначение.Ключ] <> Свойства[КлючИЗначение.Ключ] Тогда Если Строка[КлючИЗначение.Ключ] <> Свойства[КлючИЗначение.Ключ] Тогда
ЕстьИзменения = Истина; ЕстьИзменения = Истина;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Если Не ЕстьИзменения Тогда Если Не ЕстьИзменения Тогда
Продолжить; // Не нужно устанавливать модифицированность, если результаты проверки совпадают. Продолжить; // Не нужно устанавливать модифицированность, если результаты проверки совпадают.
КонецЕсли; КонецЕсли;
@@ -2612,7 +2637,6 @@
НоваяСтрока.Процедура = "Справочники.Файлы.ОбработатьДанныеДляПереходаНаНовуюВерсию"; НоваяСтрока.Процедура = "Справочники.Файлы.ОбработатьДанныеДляПереходаНаНовуюВерсию";
НоваяСтрока.Порядок = "После"; НоваяСтрока.Порядок = "После";
РаботаСФайламиВТомахСлужебный.ПриДобавленииОбработчиковОбновления(Обработчики); РаботаСФайламиВТомахСлужебный.ПриДобавленииОбработчиковОбновления(Обработчики);
КонецПроцедуры КонецПроцедуры
@@ -5630,13 +5654,33 @@
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись"); МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
ЭлектронныеПодписи = МодульЭлектроннаяПодпись.УстановленныеПодписи(Источник.Ссылка); ЭлектронныеПодписи = МодульЭлектроннаяПодпись.УстановленныеПодписи(Источник.Ссылка, Неопределено, Истина);
// Локализация
МодульМашиночитаемыеДоверенностиФНССлужебный = Неопределено;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенностиФНССлужебный");
КонецЕсли;
// Конец Локализация
Для Каждого ЭлектроннаяПодписьФайла Из ЭлектронныеПодписи Цикл Для Каждого ЭлектроннаяПодписьФайла Из ЭлектронныеПодписи Цикл
ЭлектроннаяПодписьФайла.Вставить("Объект", Источник.Ссылка); ЭлектроннаяПодписьФайла.Вставить("Объект", Источник.Ссылка);
АдресПодписи = ПоместитьВоВременноеХранилище(ЭлектроннаяПодписьФайла.Подпись, УникальныйИдентификатор); АдресПодписи = ПоместитьВоВременноеХранилище(ЭлектроннаяПодписьФайла.Подпись, УникальныйИдентификатор);
ЭлектроннаяПодписьФайла.Вставить("АдресПодписи", АдресПодписи); ЭлектроннаяПодписьФайла.Вставить("АдресПодписи", АдресПодписи);
// Локализация
Если ЗначениеЗаполнено(ЭлектроннаяПодписьФайла.РезультатПроверкиПодписиПоМЧД)
И МодульМашиночитаемыеДоверенностиФНССлужебный <> Неопределено Тогда
МодульМашиночитаемыеДоверенностиФНССлужебный.ДобавитьИнформациюМЧД(ЭлектроннаяПодписьФайла, УникальныйИдентификатор);
КонецЕсли;
// Конец Локализация
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
@@ -2979,7 +2979,7 @@
КонецПроцедуры КонецПроцедуры
// Только для внутреннего использования. // Только для внутреннего использования.
Процедура ПроверитьПодписи(ИсходныеДанные, ДанныеСтрок) Экспорт Процедура ПроверитьПодписи(ИсходныеДанные, ДанныеСтрок, ПодписанныйОбъект) Экспорт
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
Возврат; Возврат;
@@ -3005,11 +3005,66 @@
СтрокаПодписи.СрокДействияПоследнейМеткиВремени = РезультатПроверкиПодписи.СрокДействияПоследнейМеткиВремени; СтрокаПодписи.СрокДействияПоследнейМеткиВремени = РезультатПроверкиПодписи.СрокДействияПоследнейМеткиВремени;
КонецЕсли; КонецЕсли;
// Локализация
Если ЗначениеЗаполнено(СтрокаПодписи.РезультатПроверкиПодписиПоМЧД) И ОбщегоНазначения.ПодсистемаСуществует(
"СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебный");
РезультатПроверкиДоверенностей = ПолучитьИзВременногоХранилища(СтрокаПодписи.РезультатПроверкиПодписиПоМЧД);
НовыйРезультатПроверкиДоверенностей = Новый Массив;
Для Каждого Результат Из РезультатПроверкиДоверенностей Цикл
РезультатПроверкиПодписиПоМЧД = МодульМашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиПодписиПоМЧД(
Результат.МашиночитаемаяДоверенность, ПодписанныйОбъект,
РезультатПроверкиПодписи.Сертификат, СтрокаПодписи.ДатаПодписи);
НовыйРезультатПроверкиДоверенностей.Добавить(РезультатПроверкиПодписиПоМЧД);
СтрокаПодписи.РезультатПроверкиДоверенностей = ПоместитьВоВременноеХранилище(
НовыйРезультатПроверкиДоверенностей, СтрокаПодписи.РезультатПроверкиПодписиПоМЧД);
КонецЦикла;
КонецЕсли;
//Конец Локализация
РаботаСФайламиСлужебныйКлиентСервер.ЗаполнитьСтатусПодписи(СтрокаПодписи, ТекущаяДатаСеанса()); РаботаСФайламиСлужебныйКлиентСервер.ЗаполнитьСтатусПодписи(СтрокаПодписи, ТекущаяДатаСеанса());
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
// Локализация
Функция ПроверитьПодписиПоМЧД(Подписи, ПодписанныйОбъект) Экспорт
РезультатыПроверок = Новый Массив;
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
Возврат Новый Массив;
КонецЕсли;
МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебный");
Для Каждого Подпись Из Подписи Цикл
РезультатПроверкиДоверенностей = ПолучитьИзВременногоХранилища(Подпись.РезультатПроверкиПодписиПоМЧД);
НовыйРезультатПроверкиДоверенностей = Новый Массив;
Для Каждого Результат Из РезультатПроверкиДоверенностей Цикл
РезультатПроверкиПодписиПоМЧД = МодульМашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиПодписиПоМЧД(
Результат.МашиночитаемаяДоверенность, ПодписанныйОбъект, Подпись.Сертификат, Подпись.ДатаПодписи);
НовыйРезультатПроверкиДоверенностей.Добавить(РезультатПроверкиПодписиПоМЧД);
КонецЦикла;
РезультатПроверки = Новый Структура("Индекс, РезультатПроверкиПодписиПоМЧД", Подпись.Индекс, НовыйРезультатПроверкиДоверенностей);
МодульМашиночитаемыеДоверенностиФНССлужебный.ДобавитьИнформациюМЧД(РезультатПроверки, Подпись.РезультатПроверкиПодписиПоМЧД);
РезультатыПроверок.Добавить(РезультатПроверки);
КонецЦикла;
Возврат РезультатыПроверок;
КонецФункции
//Конец Локализация
// Заносит номер в регистр сведений НомераОтсканированныхФайлов. // Заносит номер в регистр сведений НомераОтсканированныхФайлов.
// //
// Параметры: // Параметры:
@@ -691,6 +691,8 @@
ДополнительныеПараметры = Новый Структура; ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("Форма", Форма); ДополнительныеПараметры.Вставить("Форма", Форма);
ДополнительныеПараметры.Вставить("ВыделенныеСтроки", ВыделенныеСтроки); ДополнительныеПараметры.Вставить("ВыделенныеСтроки", ВыделенныеСтроки);
ДополнительныеПараметры.Вставить("ПодписанныйОбъект", ДанныеФайла.Ссылка);
ДополнительныеПараметры.Вставить("СтрокиДляПроверкиПоМЧД", Новый Массив);
Если Не ДанныеФайла.Зашифрован Тогда Если Не ДанныеФайла.Зашифрован Тогда
ПроверитьПодписиПослеПодготовкиДанных(СсылкаНаДвоичныеДанные, ДополнительныеПараметры); ПроверитьПодписиПослеПодготовкиДанных(СсылкаНаДвоичныеДанные, ДополнительныеПараметры);
@@ -736,6 +738,20 @@
ДанныеСтроки.СрокДействияПоследнейМеткиВремени = РезультатПроверкиПодписи.СрокДействияПоследнейМеткиВремени; ДанныеСтроки.СрокДействияПоследнейМеткиВремени = РезультатПроверкиПодписи.СрокДействияПоследнейМеткиВремени;
КонецЕсли; КонецЕсли;
// Локализация
Если ЗначениеЗаполнено(ДанныеСтроки.РезультатПроверкиПодписиПоМЧД)
И ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
Структура = Новый Структура;
Структура.Вставить("Сертификат", РезультатПроверкиПодписи.Сертификат);
Структура.Вставить("ДатаПодписи", ДанныеСтроки.ДатаПодписи);
Структура.Вставить("Индекс", ДополнительныеПараметры.Индекс);
Структура.Вставить("РезультатПроверкиПодписиПоМЧД", ДанныеСтроки.РезультатПроверкиПодписиПоМЧД);
ДополнительныеПараметры.СтрокиДляПроверкиПоМЧД.Добавить(Структура);
КонецЕсли;
// Конец Локализация
РаботаСФайламиСлужебныйКлиентСервер.ЗаполнитьСтатусПодписи(ДанныеСтроки, ОбщегоНазначенияКлиент.ДатаСеанса()); РаботаСФайламиСлужебныйКлиентСервер.ЗаполнитьСтатусПодписи(ДанныеСтроки, ОбщегоНазначенияКлиент.ДатаСеанса());
ЗаполнитьЗначенияСвойств(СтрокаПодписи, ДанныеСтроки); ЗаполнитьЗначенияСвойств(СтрокаПодписи, ДанныеСтроки);
@@ -1218,6 +1234,22 @@
Процедура ПроверитьПодписиЦиклНачало(ДополнительныеПараметры) Процедура ПроверитьПодписиЦиклНачало(ДополнительныеПараметры)
Если ДополнительныеПараметры.Коллекция.Количество() <= ДополнительныеПараметры.Индекс + 1 Тогда Если ДополнительныеПараметры.Коллекция.Количество() <= ДополнительныеПараметры.Индекс + 1 Тогда
// Локализация
Если ДополнительныеПараметры.СтрокиДляПроверкиПоМЧД.Количество() > 0 Тогда
Результат = РаботаСФайламиСлужебныйВызовСервера.ПроверитьПодписиПоМЧД(
ДополнительныеПараметры.СтрокиДляПроверкиПоМЧД, ДополнительныеПараметры.ПодписанныйОбъект);
Для Каждого РезультатПроверки Из Результат Цикл
Элемент = ДополнительныеПараметры.Коллекция[РезультатПроверки.Индекс];
СтрокаПодписи = ?(ТипЗнч(Элемент) <> Тип("Число"), Элемент,
ДополнительныеПараметры.Форма.ЭлектронныеПодписи.НайтиПоИдентификатору(Элемент));
ЗаполнитьЗначенияСвойств(СтрокаПодписи, РезультатПроверки);
КонецЦикла;
КонецЕсли;
//Конец Локализация
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -1538,7 +1570,7 @@
КонецЦикла; КонецЦикла;
РаботаСФайламиСлужебныйВызовСервера.ПроверитьПодписи(АдресДанных, ДанныеСтрок); РаботаСФайламиСлужебныйВызовСервера.ПроверитьПодписи(АдресДанных, ДанныеСтрок, ДополнительныеПараметры.ПодписанныйОбъект);
Индекс = 0; Индекс = 0;
Для каждого Элемент Из Коллекция Цикл Для каждого Элемент Из Коллекция Цикл
@@ -1562,6 +1594,7 @@
ДанныеСтроки.Вставить("ТипПодписи"); ДанныеСтроки.Вставить("ТипПодписи");
ДанныеСтроки.Вставить("ТребуетсяПроверка"); ДанныеСтроки.Вставить("ТребуетсяПроверка");
ДанныеСтроки.Вставить("СрокДействияПоследнейМеткиВремени"); ДанныеСтроки.Вставить("СрокДействияПоследнейМеткиВремени");
ДанныеСтроки.Вставить("РезультатПроверкиПодписиПоМЧД");
Возврат ДанныеСтроки; Возврат ДанныеСтроки;
КонецФункции КонецФункции
@@ -10562,7 +10595,8 @@
ПараметрыПодключения.ТекстПояснения = НСтр("ru = 'Для продолжения требуется подключить внешнюю компоненту сканирования.'"); ПараметрыПодключения.ТекстПояснения = НСтр("ru = 'Для продолжения требуется подключить внешнюю компоненту сканирования.'");
ПараметрыПодключения.ПредложитьУстановить = ПредложитьУстановить; ПараметрыПодключения.ПредложитьУстановить = ПредложитьУстановить;
ОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакета(ОповещениеВозврата, "AddInNativeExtension", "ОбщийМакет.КомпонентаTWAIN", ПараметрыПодключения); ОписаниеКомпоненты = РаботаСФайламиСлужебныйКлиентСервер.ОписаниеКомпоненты();
ОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакета(ОповещениеВозврата, ОписаниеКомпоненты.ИмяОбъекта, ОписаниеКомпоненты.ПолноеИмяМакета, ПараметрыПодключения);
КонецПроцедуры КонецПроцедуры
@@ -913,4 +913,20 @@
КонецФункции КонецФункции
// Описание подключения внешней компоненты (AddInNativeExtension).
//
// Возвращаемое значение:
// Структура:
// * ПолноеИмяМакета - Строка
// * ИмяОбъекта - Строка
//
Функция ОписаниеКомпоненты() Экспорт
Параметры = Новый Структура;
Параметры.Вставить("ИмяОбъекта", "AddInNativeExtension");
Параметры.Вставить("ПолноеИмяМакета", "ОбщийМакет.КомпонентаTWAIN");
Возврат Параметры;
КонецФункции
#КонецОбласти #КонецОбласти
@@ -177,17 +177,17 @@
ПараметрыДоставки.ШаблонТекста = ?(РассылкаОбъект.ПисьмоВФорматеHTML, ПараметрыДоставки.ШаблонТекста = ?(РассылкаОбъект.ПисьмоВФорматеHTML,
РассылкаОбъект.ТекстПисьмаВФорматеHTML, РассылкаОбъект.ТекстПисьма); РассылкаОбъект.ТекстПисьмаВФорматеHTML, РассылкаОбъект.ТекстПисьма);
ПолучателиРассылкиВыбранны = ПолучателиРассылкиВыбранны( ПолучателиРассылкиВыбраны = ПолучателиРассылкиВыбраны(
Рассылка, ПараметрыДоставки, ПараметрыЖурнала, ДополнительныеНастройки); Рассылка, ПараметрыДоставки, ПараметрыЖурнала, ДополнительныеНастройки);
Если Не ПолучателиРассылкиВыбранны Тогда Если Не ПолучателиРассылкиВыбраны Тогда
Возврат Ложь; Возврат Ложь;
КонецЕсли; КонецЕсли;
ПараметрыДоставки.ПараметрыПисьма.ТипТекста = ?(РассылкаОбъект.ПисьмоВФорматеHTML, "HTML", "ПростойТекст"); ПараметрыДоставки.ПараметрыПисьма.ТипТекста = ?(РассылкаОбъект.ПисьмоВФорматеHTML, "HTML", "ПростойТекст");
ПараметрыДоставки.ПараметрыПисьма.АдресОтвета = РассылкаОбъект.АдресОтвета; ПараметрыДоставки.ПараметрыПисьма.АдресОтвета = РассылкаОбъект.АдресОтвета;
ПараметрыДоставки.ПараметрыПисьма.Важность = ?(ЗначениеЗаполнено(РассылкаОбъект.ВажностьПисьма), ПараметрыДоставки.ПараметрыПисьма.Важность = ?(ЗначениеЗаполнено(РассылкаОбъект.ВажностьПисьма),
ВажностьИнтернетПочтовогоСообщения[РассылкаОбъект.ВажностьПисьма], ВажностьИнтернетПочтовогоСообщенияИзСтроки(РассылкаОбъект.ВажностьПисьма),
ВажностьИнтернетПочтовогоСообщения.Обычная); ВажностьИнтернетПочтовогоСообщения.Обычная);
Если Рассылка.ПисьмоВФорматеHTML Тогда Если Рассылка.ПисьмоВФорматеHTML Тогда
@@ -276,7 +276,7 @@
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Иначе Иначе
ДеревоОтчетов = ВыполнитьФормированиеОтчетовВНесколькоПотоков(Отчеты, ПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала); ДеревоОтчетов = ВыполнитьФормированиеОтчетов(Отчеты, ПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала);
КонецЕсли; КонецЕсли;
Если ТипЗнч(ПараметрыЖурнала.Метаданные) = Тип("Строка") И ЗначениеЗаполнено(ПараметрыЖурнала.Метаданные) Тогда Если ТипЗнч(ПараметрыЖурнала.Метаданные) = Тип("Строка") И ЗначениеЗаполнено(ПараметрыЖурнала.Метаданные) Тогда
@@ -298,7 +298,7 @@
УровеньЖурналаРегистрации.Предупреждение, УровеньЖурналаРегистрации.Предупреждение,
НСтр("ru = 'Рассылка отчетов не выполнена, так как отчеты пустые или не сформированы из-за ошибок.'")); НСтр("ru = 'Рассылка отчетов не выполнена, так как отчеты пустые или не сформированы из-за ошибок.'"));
ФайловаяСистема.УдалитьВременныйКаталог(ПараметрыДоставки.КаталогВременныхФайлов); УдалитьВременныеФайлы(ПараметрыДоставки.КаталогВременныхФайлов, ПараметрыЖурнала);
Возврат Ложь; Возврат Ложь;
КонецЕсли; КонецЕсли;
@@ -344,6 +344,7 @@
КоличествоОтправлено = 0; КоличествоОтправлено = 0;
Для Каждого СтрокаПолучатель Из ДеревоОтчетов.Строки Цикл Для Каждого СтрокаПолучатель Из ДеревоОтчетов.Строки Цикл
Если СтрокаПолучатель = ПараметрыДоставки.СтрокаОбщихОтчетов Тогда Если СтрокаПолучатель = ПараметрыДоставки.СтрокаОбщихОтчетов Тогда
КоличествоКОтправке = КоличествоКОтправке - 1;
Продолжить; // Пропустить строку дерева общих отчетов. Продолжить; // Пропустить строку дерева общих отчетов.
КонецЕсли; КонецЕсли;
@@ -535,9 +536,9 @@
КонецЕсли; КонецЕсли;
Если РассылкаВыполнена Тогда Если РассылкаВыполнена Тогда
ЗаписьЖурнала(ПараметрыЖурнала, , НСтр("ru = 'Рассылка выполнена'")); ЗаписьЖурнала(ПараметрыЖурнала, , НСтр("ru = 'Рассылка выполнена.'"));
Иначе Иначе
ЗаписьЖурнала(ПараметрыЖурнала, , НСтр("ru = 'Рассылка не выполнена'")); ЗаписьЖурнала(ПараметрыЖурнала, , НСтр("ru = 'Рассылка не выполнена.'"));
КонецЕсли; КонецЕсли;
Если НЕ ЭтоАвтоПовторнаяРассылка И ЭтоСправочникРассылкаОтчетов Тогда Если НЕ ЭтоАвтоПовторнаяРассылка И ЭтоСправочникРассылкаОтчетов Тогда
@@ -545,7 +546,7 @@
ОтправитьПовторноПоЭлектроннойПочте(Отчеты, ПараметрыДоставки, ПараметрыЖурнала.Данные, ПараметрыЖурнала); ОтправитьПовторноПоЭлектроннойПочте(Отчеты, ПараметрыДоставки, ПараметрыЖурнала.Данные, ПараметрыЖурнала);
КонецЕсли; КонецЕсли;
ФайловаяСистема.УдалитьВременныйКаталог(ПараметрыДоставки.КаталогВременныхФайлов); УдалитьВременныеФайлы(ПараметрыДоставки.КаталогВременныхФайлов, ПараметрыЖурнала);
// Результат. // Результат.
Если ПараметрыЖурнала.Свойство("БылиОшибки") Тогда Если ПараметрыЖурнала.Свойство("БылиОшибки") Тогда
@@ -715,7 +716,7 @@
ПараметрыДоставки = РассылкаОтчетовКлиентСервер.ПараметрыДоставки(); ПараметрыДоставки = РассылкаОтчетовКлиентСервер.ПараметрыДоставки();
ПараметрыДоставки.ДатаВыполнения = ТекущаяДатаСеанса(); ПараметрыДоставки.ДатаВыполнения = ТекущаяДатаСеанса();
ПараметрыДоставки.Автор = Пользователи.ТекущийПользователь(); ПараметрыДоставки.Автор = Пользователи.ТекущийПользователь();
ПараметрыДоставки.КаталогВременныхФайлов = ФайловаяСистема.СоздатьВременныйКаталог("RP"); ПараметрыДоставки.КаталогВременныхФайлов = ФайловаяСистема.ОбщийКаталогВременныхФайлов("RP" + Новый УникальныйИдентификатор);
ПараметрыДоставки.ПараметрыПисьма.Важность = ВажностьИнтернетПочтовогоСообщения.Обычная; ПараметрыДоставки.ПараметрыПисьма.Важность = ВажностьИнтернетПочтовогоСообщения.Обычная;
Если ПолучитьФункциональнуюОпцию("ХранитьИсториюРассылкиОтчетов") Тогда Если ПолучитьФункциональнуюОпцию("ХранитьИсториюРассылкиОтчетов") Тогда
@@ -1102,10 +1103,13 @@
// ТекущиеДела - см. ТекущиеДелаСервер.ТекущиеДела. // ТекущиеДела - см. ТекущиеДелаСервер.ТекущиеДела.
// //
Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт
Если Не ПравоДобавления() Тогда Если Не ПравоДобавления() Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ДобавитьВСписокДелУстановитьКаталогВременныхФайлов(ТекущиеДела);
ИмяДела = "ПроблемыСРассылкамиОтчетов"; ИмяДела = "ПроблемыСРассылкамиОтчетов";
МодульТекущиеДелаСервер = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСервер"); МодульТекущиеДелаСервер = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСервер");
Если МодульТекущиеДелаСервер.ДелоОтключено(ИмяДела) Тогда Если МодульТекущиеДелаСервер.ДелоОтключено(ИмяДела) Тогда
@@ -1386,6 +1390,8 @@
ВидПочтовогоАдресаПолучателей = Рассылка.ВидПочтовогоАдресаПолучателей; ВидПочтовогоАдресаПолучателей = Рассылка.ВидПочтовогоАдресаПолучателей;
СписокПолучателей = Новый Соответствие;
Если Рассылка.Личная Тогда Если Рассылка.Личная Тогда
ТипПолучателей = ТипЗнч(Рассылка.Автор); ТипПолучателей = ТипЗнч(Рассылка.Автор);
@@ -1398,6 +1404,9 @@
ТаблицаПолучателей.Добавить().Получатель = Рассылка.Автор; ТаблицаПолучателей.Добавить().Получатель = Рассылка.Автор;
Иначе Иначе
Если Рассылка.ТипПолучателейРассылки = Неопределено Тогда
Возврат СписокПолучателей;
КонецЕсли;
ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Рассылка.ТипПолучателейРассылки, Ложь); ПолучателиМетаданные = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Рассылка.ТипПолучателейРассылки, Ложь);
ТипПолучателей = Рассылка.ТипПолучателейРассылки.КлючОбъектаМетаданных.Получить(); ТипПолучателей = Рассылка.ТипПолучателейРассылки.КлючОбъектаМетаданных.Получить();
Если ТипЗнч(Рассылка.Получатели) = Тип("ТаблицаЗначений") Тогда Если ТипЗнч(Рассылка.Получатели) = Тип("ТаблицаЗначений") Тогда
@@ -1407,8 +1416,6 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
СписокПолучателей = Новый Соответствие;
Запрос = Новый Запрос; Запрос = Новый Запрос;
Если ТипПолучателей = Тип("СправочникСсылка.Пользователи") Тогда Если ТипПолучателей = Тип("СправочникСсылка.Пользователи") Тогда
@@ -1729,7 +1736,7 @@
КонецФункции КонецФункции
Функция ПолучателиРассылкиВыбранны(Рассылка, ПараметрыДоставки, ПараметрыЖурнала, ДополнительныеНастройки) Функция ПолучателиРассылкиВыбраны(Рассылка, ПараметрыДоставки, ПараметрыЖурнала, ДополнительныеНастройки)
Получатели = СформироватьСписокПолучателейРассылки(Рассылка, ПараметрыЖурнала); Получатели = СформироватьСписокПолучателейРассылки(Рассылка, ПараметрыЖурнала);
@@ -4461,6 +4468,9 @@
КонецФункции КонецФункции
// Параметры:
// Форма - ФормаКлиентскогоПриложения
//
Процедура ДобавитьКомандыДобавленияДополнительныхПараметровТекста(Форма) Экспорт Процедура ДобавитьКомандыДобавленияДополнительныхПараметровТекста(Форма) Экспорт
Если Форма.ДополнительныеПараметрыТекстаПисьма = Неопределено Тогда Если Форма.ДополнительныеПараметрыТекстаПисьма = Неопределено Тогда
@@ -4699,6 +4709,175 @@
КонецПроцедуры КонецПроцедуры
Функция ВыполнитьФормированиеОтчетов(Отчеты, ПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала)
ВыполнитьВНесколькоПотоков = ФайловаяСистема.ОбщийКаталогВременныхФайлов() <> КаталогВременныхФайлов();
Если ВыполнитьВНесколькоПотоков Тогда
Возврат ВыполнитьФормированиеОтчетовВНесколькоПотоков(Отчеты, ПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала);
Иначе
Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая() И Не ОбщегоНазначения.РазделениеВключено() Тогда
ЗаписьЖурнала(ПараметрыЖурнала, УровеньЖурналаРегистрации.Предупреждение, НСтр(
"ru = 'Рассылки отчетов могут работать быстрее. Для рассылки отчетов в несколько потоков необходимо указать каталог временных файлов кластера серверов 1С:Предприятие.'"));
КонецЕсли;
Возврат ВыполнитьФормированиеОтчетовВОдномПотоке(Отчеты, ПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала);
КонецЕсли;
КонецФункции
Функция ВыполнитьФормированиеОтчетовВОдномПотоке(Отчеты, ПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала)
// Добавление дерева сформированных отчетов - табличных документов и отчетов, сохраненных в форматы (файлов).
ДеревоОтчетов = СоздатьДеревоОтчетов();
// Строка дерева общих (не персонализированных по получателям) отчетов.
ПараметрыДоставки.СтрокаОбщихОтчетов = ОпределитьСтрокуДереваДляПолучателя(ДеревоОтчетов, Неопределено, ПараметрыДоставки);
Для Каждого СтрокаОтчет Из Отчеты Цикл
ТекстЖурнала = НСтр("ru = 'Отчет ''%1'' формируется...'");
Если СтрокаОтчет.Настройки = Неопределено Тогда
ТекстЖурнала = ТекстЖурнала + Символы.ПС + НСтр("ru = '(пользовательские настройки не заданы)'");
КонецЕсли;
ПредставлениеОтчета = Строка(СтрокаОтчет.Отчет);
ЗаписьЖурнала(ПараметрыЖурнала,
УровеньЖурналаРегистрации.Примечание,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстЖурнала, ПредставлениеОтчета));
// Инициализация отчета.
ПараметрыОтчета = Новый Структура("Отчет, Настройки, Форматы, ОтправлятьЕслиПустой, ШаблонНаименования");
ЗаполнитьЗначенияСвойств(ПараметрыОтчета, СтрокаОтчет);
Если Не ИнициализироватьОтчет(ПараметрыЖурнала, ПараметрыОтчета, ПараметрыДоставки.Персонализирована) Тогда
Продолжить;
КонецЕсли;
Если ПараметрыДоставки.Персонализирована И НЕ ПараметрыОтчета.Персонализирован Тогда
ПараметрыОтчета.Ошибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Отчет ''%1'' не может сформирован, так как в его настройках не указан отбор по получателю рассылки.'"),
ПредставлениеОтчета);
ЗаписьЖурнала(ПараметрыЖурнала, УровеньЖурналаРегистрации.Ошибка, ПараметрыОтчета.Ошибки);
Возврат Неопределено;
КонецЕсли;
// Формирование табличных документов и сохранение в форматы.
Попытка
Если ПараметрыОтчета.Персонализирован Тогда
// В разрезе получателей
Для Каждого КлючИЗначение Из ПараметрыДоставки.Получатели Цикл
СформироватьИСохранитьОтчет(
ПараметрыЖурнала,
ПараметрыОтчета,
ДеревоОтчетов,
ПараметрыДоставки,
КлючИЗначение.Ключ);
КонецЦикла;
Иначе
// Без персонализации
СформироватьИСохранитьОтчет(
ПараметрыЖурнала,
ПараметрыОтчета,
ДеревоОтчетов,
ПараметрыДоставки,
Неопределено);
КонецЕсли;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Отчет ''%1'' успешно сформирован.'"), ПредставлениеОтчета);
ЗаписьЖурнала(ПараметрыЖурнала, УровеньЖурналаРегистрации.Примечание, ТекстСообщения);
Исключение
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Отчет ''%1'' не сформирован:'"), ПредставлениеОтчета);
ЗаписьЖурнала(ПараметрыЖурнала, , ТекстСообщения, ОбработкаОшибок.ПодробноеПредставлениеОшибки(
ИнформацияОбОшибке()));
КонецПопытки;
КонецЦикла;
Возврат ДеревоОтчетов;
КонецФункции
// Параметры:
// ТекущиеДела - см. ТекущиеДелаСервер.ТекущиеДела.
//
Процедура ДобавитьВСписокДелУстановитьКаталогВременныхФайлов(ТекущиеДела)
Если Не Пользователи.ЭтоПолноправныйПользователь()
Или ОбщегоНазначения.ИнформационнаяБазаФайловая()
Или ФайловаяСистема.ОбщийКаталогВременныхФайлов() <> КаталогВременныхФайлов()
Или ОбщегоНазначения.РазделениеВключено()
Или Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.НастройкиПрограммы") Тогда
Возврат;
КонецЕсли;
ИмяДела = "РассылкиОтчетовМогутРаботатьБыстрее";
МодульТекущиеДелаСервер = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСервер");
Если МодульТекущиеДелаСервер.ДелоОтключено(ИмяДела) Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РассылкиОтчетов.Ссылка КАК Ссылка
|ИЗ
| Справочник.РассылкиОтчетов КАК РассылкиОтчетов
|ГДЕ
| НЕ РассылкиОтчетов.ЭтоГруппа";
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
Разделы = МодульТекущиеДелаСервер.РазделыДляОбъекта(Метаданные.Справочники.РассылкиОтчетов.ПолноеИмя());
Для Каждого Раздел Из Разделы Цикл
ИдентификаторРассылкаОтчетов = "РассылкаОтчетов";
Дело = ТекущиеДела.Добавить();
Дело.Идентификатор = ИмяДела + СтрЗаменить(Раздел.ПолноеИмя(), ".", "");
Дело.ЕстьДела = Истина;
Дело.Представление = НСтр("ru = 'Рассылки отчетов могут работать быстрее'");
Дело.Владелец = Раздел;
Дело.Подсказка = НСтр("ru = 'Для рассылки отчетов в несколько потоков необходимо указать каталог временных файлов кластера серверов 1С:Предприятие.'");
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.НастройкиПрограммы") Тогда
МодульНастройкиПрограммы = ОбщегоНазначения.ОбщийМодуль("НастройкиПрограммы");
Дело.Форма = МодульНастройкиПрограммы.ИмяФормыОбщиеНастройки();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура УдалитьВременныеФайлы(Знач Путь, ПараметрыЖурнала)
Попытка
УдалитьФайлы(Путь);
Исключение
ЗаписьЖурнала(ПараметрыЖурнала, УровеньЖурналаРегистрации.Предупреждение,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось удалить временный файл ""%1"" по причине:
|%2'"),
Путь,
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
КонецПопытки;
КонецПроцедуры
Функция ВажностьИнтернетПочтовогоСообщенияИзСтроки(Важность)
Если СтрСравнить(Важность, РассылкаОтчетовКлиентСервер.ВысокаяВажностьИнтернетПочтовогоСообщения()) = 0 Тогда
Возврат ВажностьИнтернетПочтовогоСообщения.Высокая;
ИначеЕсли СтрСравнить(Важность, РассылкаОтчетовКлиентСервер.НизкаяВажностьИнтернетПочтовогоСообщения()) = 0 Тогда
Возврат ВажностьИнтернетПочтовогоСообщения.Низкая;
Иначе
Возврат ВажностьИнтернетПочтовогоСообщения.Обычная;
КонецЕсли;
КонецФункции
#Область ФормированиеОтчетовВНесколькоПотоков #Область ФормированиеОтчетовВНесколькоПотоков
Функция ВыполнитьФормированиеОтчетовВНесколькоПотоков(Отчеты, ПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала) Функция ВыполнитьФормированиеОтчетовВНесколькоПотоков(Отчеты, ПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала)
@@ -4710,7 +4889,7 @@
НомерОтчета = 1; НомерОтчета = 1;
Для Каждого СтрокаОтчет Из Отчеты Цикл Для Каждого СтрокаОтчет Из Отчеты Цикл
ТекстЖурнала = НСтр("ru = 'Отчет ''%1'' формируется'"); ТекстЖурнала = НСтр("ru = 'Отчет ''%1'' формируется...'");
Если СтрокаОтчет.Настройки = Неопределено Тогда Если СтрокаОтчет.Настройки = Неопределено Тогда
ТекстЖурнала = ТекстЖурнала + Символы.ПС + НСтр("ru = '(пользовательские настройки не заданы)'"); ТекстЖурнала = ТекстЖурнала + Символы.ПС + НСтр("ru = '(пользовательские настройки не заданы)'");
КонецЕсли; КонецЕсли;
@@ -4896,7 +5075,7 @@
КонецЕсли; КонецЕсли;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Отчет ''%1'' успешно сформирован'"), ПредставлениеОтчета); НСтр("ru = 'Отчет ''%1'' успешно сформирован.'"), ПредставлениеОтчета);
ЗаписьЖурнала(ПараметрыЖурнала, УровеньЖурналаРегистрации.Примечание, ТекстСообщения); ЗаписьЖурнала(ПараметрыЖурнала, УровеньЖурналаРегистрации.Примечание, ТекстСообщения);
Исключение Исключение
@@ -468,4 +468,22 @@
КонецФункции КонецФункции
Функция ВысокаяВажностьИнтернетПочтовогоСообщения() Экспорт
Возврат "Высокая";
КонецФункции
Функция НизкаяВажностьИнтернетПочтовогоСообщения() Экспорт
Возврат "Низкая";
КонецФункции
Функция ОбычнаяВажностьИнтернетПочтовогоСообщения() Экспорт
Возврат "Обычная";
КонецФункции
#КонецОбласти #КонецОбласти
@@ -4853,15 +4853,20 @@
Процедура УстановитьСвойстваПолейВвода(ИнформацияОВидеКИ, Элемент, Форма, ИмяРеквизита, ОбработкаНавигационнойСсылки) Процедура УстановитьСвойстваПолейВвода(ИнформацияОВидеКИ, Элемент, Форма, ИмяРеквизита, ОбработкаНавигационнойСсылки)
Если ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда Если ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
Если ИнформацияОВидеКИ.ВидРедактирования = "ПолеВвода" Тогда Если Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
Элемент.КнопкаВыпадающегоСписка = Истина; Если ИнформацияОВидеКИ.ВидРедактирования = "ПолеВвода" Тогда
Элемент.Ширина = 70; Элемент.КнопкаВыпадающегоСписка = Истина;
ИначеЕсли ИнформацияОВидеКИ.ВидРедактирования = "Диалог" Тогда Элемент.Ширина = 70;
ИначеЕсли ИнформацияОВидеКИ.ВидРедактирования = "Диалог" Тогда
Элемент.Ширина = 73;
Иначе
Элемент.КнопкаВыпадающегоСписка = Истина;
Элемент.Ширина = 68;
КонецЕсли;
ИначеЕсли Элемент.Вид = ВидПоляФормы.ПолеНадписи Тогда
Элемент.Ширина = 73; Элемент.Ширина = 73;
Иначе
Элемент.КнопкаВыпадающегоСписка = Истина;
Элемент.Ширина = 68;
КонецЕсли; КонецЕсли;
ИначеЕсли ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон ИначеЕсли ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон
Или ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда Или ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Факс Тогда
@@ -1412,6 +1412,8 @@
#Область УстаревшиеПроцедурыИФункции #Область УстаревшиеПроцедурыИФункции
// Локализация
// Устарела. Следует использовать УправлениеПечатьюРФ.ФорматнаяСтрокаУФЭБС. // Устарела. Следует использовать УправлениеПечатьюРФ.ФорматнаяСтрокаУФЭБС.
// //
// Формирует форматную строку согласно "Унифицированному формату электронных банковских сообщений" для ее отображения в // Формирует форматную строку согласно "Унифицированному формату электронных банковских сообщений" для ее отображения в
@@ -1512,6 +1514,8 @@
КонецФункции КонецФункции
// Конец Локализация
// Устарела. Следует использовать ГенерацияШтрихкода.ДанныеQRКода // Устарела. Следует использовать ГенерацияШтрихкода.ДанныеQRКода
// или ГенерацияШтрихкода.ИзображениеШтрихкода. // или ГенерацияШтрихкода.ИзображениеШтрихкода.
// //
@@ -2045,7 +2049,6 @@
РезультатФормирования = Новый Структура("КоллекцияПечатныхФорм,ПараметрыФоновогоЗадания,ОфисныеДокументы, РезультатФормирования = Новый Структура("КоллекцияПечатныхФорм,ПараметрыФоновогоЗадания,ОфисныеДокументы,
|ОбъектыПечати,ПараметрыВывода,ПараметрыПечати,Сообщения"); |ОбъектыПечати,ПараметрыВывода,ПараметрыПечати,Сообщения");
РезультатФормирования.КоллекцияПечатныхФорм = ОбщегоНазначения.ТаблицаЗначенийВМассив(Результат);
РезультатФормирования.ПараметрыВывода = ПараметрыВывода; РезультатФормирования.ПараметрыВывода = ПараметрыВывода;
РезультатФормирования.ПараметрыФоновогоЗадания = ПараметрыФоновойПечати; РезультатФормирования.ПараметрыФоновогоЗадания = ПараметрыФоновойПечати;
РезультатФормирования.ПараметрыПечати = ПараметрыПечати; РезультатФормирования.ПараметрыПечати = ПараметрыПечати;
@@ -2053,11 +2056,18 @@
Для Каждого СтрокаРезультата Из Результат Цикл Для Каждого СтрокаРезультата Из Результат Цикл
Если ЗначениеЗаполнено(СтрокаРезультата.ОфисныеДокументы) Тогда Если ЗначениеЗаполнено(СтрокаРезультата.ОфисныеДокументы) Тогда
СтрокаРезультата.ОфисныеДокументы.Удалить(Неопределено);
Для Каждого ОфисныйДокумент Из СтрокаРезультата.ОфисныеДокументы Цикл Для Каждого ОфисныйДокумент Из СтрокаРезультата.ОфисныеДокументы Цикл
ОфисныеДокументы.Вставить(ОфисныйДокумент.Ключ, ПолучитьИзВременногоХранилища(ОфисныйДокумент.Ключ)); ОфисныеДокументы.Вставить(ОфисныйДокумент.Ключ, ПолучитьИзВременногоХранилища(ОфисныйДокумент.Ключ));
КонецЦикла; КонецЦикла;
Если СтрокаРезультата.ОфисныеДокументы.Количество() = 0 Тогда
СтрокаРезультата.ОфисныеДокументы = Неопределено;
КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
РезультатФормирования.КоллекцияПечатныхФорм = ОбщегоНазначения.ТаблицаЗначенийВМассив(Результат);
РезультатФормирования.ОфисныеДокументы = ОфисныеДокументы; РезультатФормирования.ОфисныеДокументы = ОфисныеДокументы;
РезультатФормирования.ОбъектыПечати = ОбъектыПечати; РезультатФормирования.ОбъектыПечати = ОбъектыПечати;
РезультатФормирования.Сообщения = ПолучитьСообщенияПользователю(); РезультатФормирования.Сообщения = ПолучитьСообщенияПользователю();
@@ -4930,10 +4940,26 @@
Для Каждого ДанныеПоля Из ДанныеИсточников[ИсточникДанных] Цикл Для Каждого ДанныеПоля Из ДанныеИсточников[ИсточникДанных] Цикл
Поле = ДанныеПоля.Ключ; Поле = ДанныеПоля.Ключ;
ЗначениеПоля = ДанныеПоля.Значение; ЗначениеПоля = ДанныеПоля.Значение;
Если ИсточникПолей = "Ссылка" Тогда Если ИсточникПолей = "Ссылка" Тогда
ДанныеПечати[Объект][Поле] = ЗначениеПоля; ПутьКДаннымПоля = Поле;
Иначе Иначе
ДанныеПечати[Объект][ПутьКДаннымИсточникаПолей + "." + Поле] = ЗначениеПоля; ПутьКДаннымПоля = ПутьКДаннымИсточникаПолей + "." + Поле;
КонецЕсли;
Если ДанныеПечати[Объект][ПутьКДаннымПоля] = Неопределено Тогда
ДанныеПечати[Объект][ПутьКДаннымПоля] = ЗначениеПоля;
ИначеЕсли ТипЗнч(ДанныеПечати[Объект][ПутьКДаннымПоля]) = Тип("Соответствие") И ТипЗнч(ЗначениеПоля) = Тип("Соответствие") Тогда
Для Каждого СтрокаИсточник Из ЗначениеПоля Цикл
СтрокаПриемник = ДанныеПечати[Объект][ПутьКДаннымПоля][СтрокаИсточник.Ключ];
Если СтрокаПриемник = Неопределено Тогда
СтрокаПриемник = Новый Соответствие;
ДанныеПечати[Объект][ПутьКДаннымПоля][СтрокаИсточник.Ключ] = СтрокаПриемник;
КонецЕсли;
Для Каждого ПолеСтроки Из СтрокаИсточник.Значение Цикл
СтрокаПриемник[ПолеСтроки.Ключ] = ПолеСтроки.Значение;
КонецЦикла;
КонецЦикла;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
КонецЕсли; КонецЕсли;
@@ -5404,7 +5430,7 @@
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновщика, ДанныеРасшифровки); МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновщика, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, ВнешниеНаборыДанных, ДанныеРасшифровки); ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, ВнешниеНаборыДанных, ДанныеРасшифровки, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
@@ -2293,7 +2293,48 @@
УзелОкончанияЗакладки.ИмяТега = "w:bookmarkEnd"; УзелОкончанияЗакладки.ИмяТега = "w:bookmarkEnd";
УзелОкончанияЗакладки.Атрибуты.Удалить("w:name"); УзелОкончанияЗакладки.Атрибуты.Удалить("w:name");
Иначе Иначе
Узел.Текст = СтрЗаменить(Узел.Текст, СоответствиеЗамены.Ключ, СоответствиеЗамены.Значение); СтрокиЗначения = СтрРазделить(СоответствиеЗамены.Значение, Символы.ПС, Истина);
СтрокиТекста = Новый Массив;
ТекстУзла = Узел.Текст;
ДлиннаКлюча = СтрДлина(СоответствиеЗамены.Ключ);
ПозицияВхождения = СтрНайти(ТекстУзла, СоответствиеЗамены.Ключ);
Пока ПозицияВхождения <> 0 Цикл
Если ПозицияВхождения > 1 Тогда
СтрокиТекста.Добавить(Лев(ТекстУзла, ПозицияВхождения-1));
КонецЕсли;
СтрокиТекста.Добавить(СоответствиеЗамены.Ключ);
ТекстУзла = Сред(ТекстУзла, ПозицияВхождения + ДлиннаКлюча);
ПозицияВхождения = СтрНайти(ТекстУзла, СоответствиеЗамены.Ключ);
КонецЦикла;
Если СтрДлина(ТекстУзла) > 0 Тогда
СтрокиТекста.Добавить(ТекстУзла);
КонецЕсли;
Узел.Текст = "";
РодительУзла = Узел.Родитель;
Для Каждого СтрокаТекста Из СтрокиТекста Цикл
Если СтрокаТекста = СоответствиеЗамены.Ключ Тогда
Для ИндексСтрокиЗначения = 0 По СтрокиЗначения.ВГраница() Цикл
СтрокаЗначения = СтрокиЗначения[ИндексСтрокиЗначения];
Если ИндексСтрокиЗначения = 0 Тогда
Узел.Текст = Узел.Текст + СтрокаЗначения;
Иначе
УзелПереводаСтроки = РодительУзла.Строки.Вставить(РодительУзла.Строки.Индекс(Узел)+1);
УзелПереводаСтроки.Индекс = Узел.Индекс + (1 - Узел.Индекс + Цел(Узел.Индекс))/2;
УзелПереводаСтроки.ИмяТега = "w:br";
Узел = СкопироватьУзел(РодительУзла, РодительУзла.Строки.Индекс(Узел)+2, Узел);
Узел.Индекс = УзелПереводаСтроки.Индекс + (1 - УзелПереводаСтроки.Индекс + Цел(УзелПереводаСтроки.Индекс))/2;
Узел.Текст = СтрокаЗначения;
КонецЕсли;
КонецЦикла;
Иначе
Узел.Текст = Узел.Текст + СтрокаТекста;
КонецЕсли;
КонецЦикла;
КонецЕсли; КонецЕсли;
Иначе Иначе
@@ -115,21 +115,21 @@
КонецФункции КонецФункции
// Проверяет, верно ли написано ФИО физического лица. // Проверяет, верно ли написано ФИО физического лица.
// ФИО считается верным, если содержит только кириллицу, либо только латиницу. // ФИО считается верным, если содержит только символы национального алфавита, либо только латиницу.
// //
// Параметры: // Параметры:
// ФИО - Строка - фамилия, имя и отчество. Например, "Пупкин Василий Иванович". // ФИО - Строка - фамилия, имя и отчество. Например, "Пупкин Василий Иванович".
// ТолькоКириллица - Булево - при проверке допустимой будет только кириллица в ФИО. // ТолькоНациональныеСимволы - Булево - при проверке ФИО должна включать только символы национального алфавита.
// //
// Возвращаемое значение: // Возвращаемое значение:
// Булево - Истина, если ФИО написано верно. // Булево - Истина, если ФИО написано верно.
// //
Функция ФИОНаписаноВерно(Знач ФИО, ТолькоКириллица = Ложь) Экспорт Функция ФИОНаписаноВерно(Знач ФИО, ТолькоНациональныеСимволы = Ложь) Экспорт
ДопустимыеСимволы = "-"; РезультатПроверки = Истина;
ФизическиеЛицаКлиентСерверЛокализация.ФИОНаписаноВерно(ФИО, ТолькоНациональныеСимволы, РезультатПроверки);
Возврат (Не ТолькоКириллица И СтроковыеФункцииКлиентСервер.ТолькоЛатиницаВСтроке(ФИО, Ложь, ДопустимыеСимволы)) Возврат РезультатПроверки;
Или СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(ФИО, Ложь, ДопустимыеСимволы);
КонецФункции КонецФункции
@@ -0,0 +1,32 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2023, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ПрограммныйИнтерфейс
// Проверяет, верно ли написано ФИО физического лица.
//
// Параметры:
// ФИО - Строка - фамилия, имя и отчество.
// ТолькоНациональныеСимволы - Булево - при проверке ФИО должна включать только символы национального алфавита.
// РезультатПроверки - Булево - возвращаемое значение. Если Истина, то ФИО написано верно.
//
Процедура ФИОНаписаноВерно(Знач ФИО, Знач ТолькоНациональныеСимволы, РезультатПроверки) Экспорт
// Локализация
ДопустимыеСимволы = "-";
Результат = (Не ТолькоНациональныеСимволы И СтроковыеФункцииКлиентСервер.ТолькоЛатиницаВСтроке(ФИО, Ложь, ДопустимыеСимволы))
Или СтроковыеФункцииКлиентСерверРФ.ТолькоКириллицаВСтроке(ФИО, Ложь, ДопустимыеСимволы);
// Конец Локализация
КонецПроцедуры
#КонецОбласти
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1a3ad05f-77b5-467e-99fe-c2b5e734ba87">
<name>ФизическиеЛицаКлиентСерверЛокализация</name>
<synonym>
<key>ru</key>
<value>Физические лица клиент сервер локализация</value>
</synonym>
<clientManagedApplication>true</clientManagedApplication>
<server>true</server>
<externalConnection>true</externalConnection>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>
@@ -72,11 +72,12 @@
// //
// ПорядковыйНомер - Число // ПорядковыйНомер - Число
// - Массив из Число // - Массив из Число
// ВозвращатьДанныеМЧД - Булево - если Истина и для подписи есть МЧД будет заполнено свойство РезультатПроверкиПодписиПоМЧД
// //
// Возвращаемое значение: // Возвращаемое значение:
// Массив из см. ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи // Массив из см. ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи
// //
Функция УстановленныеПодписи(Объект, ПорядковыйНомер = Неопределено) Экспорт Функция УстановленныеПодписи(Объект, ПорядковыйНомер = Неопределено, ВозвращатьДанныеМЧД = Ложь) Экспорт
ПроверитьПараметрОбъект(Объект, "ЭлектроннаяПодпись.УстановленныеПодписи", Истина); ПроверитьПараметрОбъект(Объект, "ЭлектроннаяПодпись.УстановленныеПодписи", Истина);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
@@ -130,12 +131,41 @@
РезультатЗапроса = Запрос.Выполнить(); РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
// Локализация
ВыборкаДетальныеЗаписиМЧД = Неопределено;
Если Не РезультатЗапроса.Пустой() И ВозвращатьДанныеМЧД
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
ИдентификаторыПодписей = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ИдентификаторыПодписей.Добавить(ВыборкаДетальныеЗаписи.ИдентификаторПодписи);
КонецЦикла;
ВыборкаДетальныеЗаписи.Сбросить();
МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенностиФНССлужебный");
ВыборкаДетальныеЗаписиМЧД = МодульМашиночитаемыеДоверенностиФНССлужебный.МЧДПодписей(ОбъектСсылка, ИдентификаторыПодписей);
КонецЕсли;
// Конец Локализация
МассивЭлектронныхПодписей = Новый Массив; МассивЭлектронныхПодписей = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
СвойстваПодписи = ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи(); СвойстваПодписи = ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи();
СвойстваПодписи.ПодписанныйОбъект = Объект; СвойстваПодписи.ПодписанныйОбъект = Объект;
ЗаполнитьЗначенияСвойств(СвойстваПодписи, ВыборкаДетальныеЗаписи); ЗаполнитьЗначенияСвойств(СвойстваПодписи, ВыборкаДетальныеЗаписи);
СвойстваПодписи.Подпись = СвойстваПодписи.Подпись.Получить(); СвойстваПодписи.Подпись = СвойстваПодписи.Подпись.Получить();
// Локализация
Если ВыборкаДетальныеЗаписиМЧД <> Неопределено Тогда
МодульМашиночитаемыеДоверенностиФНССлужебный.ЗаполнитьДанныеМЧДПодписи(СвойстваПодписи, ВыборкаДетальныеЗаписиМЧД);
КонецЕсли;
// Конец Локализация
МассивЭлектронныхПодписей.Добавить(СвойстваПодписи); МассивЭлектронныхПодписей.Добавить(СвойстваПодписи);
КонецЦикла; КонецЦикла;
@@ -273,6 +303,13 @@
Блокировка = Новый БлокировкаДанных; Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ЭлектронныеПодписи"); ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ЭлектронныеПодписи");
ЭлементБлокировки.УстановитьЗначение("ПодписанныйОбъект", Объект); ЭлементБлокировки.УстановитьЗначение("ПодписанныйОбъект", Объект);
// Локализация
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебный");
МодульМашиночитаемыеДоверенностиФНССлужебный.ДобавитьБлокировку(Блокировка, Объект);
КонецЕсли;
// Конец Локализация
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
@@ -284,6 +321,7 @@
КонецЕсли; КонецЕсли;
Для Каждого ПодписьОбъекта Из ПодписиОбъекта Цикл Для Каждого ПодписьОбъекта Из ПодписиОбъекта Цикл
ДвоичныеДанныеПодписи = ПодписьОбъекта.Подпись; ДвоичныеДанныеПодписи = ПодписьОбъекта.Подпись;
РезультатПроверкиПодписиПоМЧД = Неопределено;
Если ОбновитьПоПорядковомуНомеру И ПодписьОбъекта.ПорядковыйНомер = СвойстваПодписи.ПорядковыйНомер Если ОбновитьПоПорядковомуНомеру И ПодписьОбъекта.ПорядковыйНомер = СвойстваПодписи.ПорядковыйНомер
// Если двоичные данные совпадают, то обновляем подпись. // Если двоичные данные совпадают, то обновляем подпись.
Или ДвоичныеДанныеПодписи = СвойстваПодписи.Подпись Тогда Или ДвоичныеДанныеПодписи = СвойстваПодписи.Подпись Тогда
@@ -302,10 +340,17 @@
Или КлючИЗначение.Ключ = "ПодписанныйОбъект" Или КлючИЗначение.Ключ = "ПодписанныйОбъект"
Или КлючИЗначение.Ключ = "ДатаПодписи" Или КлючИЗначение.Ключ = "ДатаПодписи"
Или КлючИЗначение.Ключ = "ПорядковыйНомер" Или КлючИЗначение.Ключ = "ПорядковыйНомер"
Или КлючИЗначение.Ключ = "ИдентификаторПодписи" Или КлючИЗначение.Ключ = "ИдентификаторПодписи" Тогда
Или КлючИЗначение.Ключ = "РезультатПроверкиПодписиПоМЧД" Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Если КлючИЗначение.Ключ = "РезультатПроверкиПодписиПоМЧД" Тогда
Если ЗначениеЗаполнено(КлючИЗначение.Значение) Тогда
РезультатПроверкиПодписиПоМЧД = КлючИЗначение.Значение;
КонецЕсли;
Продолжить;
КонецЕсли;
Если КлючИЗначение.Значение <> Неопределено Тогда Если КлючИЗначение.Значение <> Неопределено Тогда
Если КлючИЗначение.Ключ = "Подпись" Тогда Если КлючИЗначение.Ключ = "Подпись" Тогда
ОбновляемаяПодпись.Подпись = Новый ХранилищеЗначения(КлючИЗначение.Значение); ОбновляемаяПодпись.Подпись = Новый ХранилищеЗначения(КлючИЗначение.Значение);
@@ -319,8 +364,15 @@
Для Каждого КлючИЗначение Из СвойстваПодписи Цикл Для Каждого КлючИЗначение Из СвойстваПодписи Цикл
Если КлючИЗначение.Ключ = "Сертификат" Если КлючИЗначение.Ключ = "Сертификат"
Или КлючИЗначение.Ключ = "Подпись" Или КлючИЗначение.Ключ = "Подпись"
Или КлючИЗначение.Ключ = "ИдентификаторПодписи" И ЗначениеЗаполнено(ОбновляемаяПодпись.ИдентификаторПодписи) Или КлючИЗначение.Ключ = "ИдентификаторПодписи"
Или КлючИЗначение.Ключ = "РезультатПроверкиПодписиПоМЧД" Тогда И ЗначениеЗаполнено(ОбновляемаяПодпись.ИдентификаторПодписи) Тогда
Продолжить;
КонецЕсли;
Если КлючИЗначение.Ключ = "РезультатПроверкиПодписиПоМЧД" Тогда
Если ЗначениеЗаполнено(КлючИЗначение.Значение) Тогда
РезультатПроверкиПодписиПоМЧД = КлючИЗначение.Значение;
КонецЕсли;
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
@@ -345,6 +397,17 @@
НаборЗаписей.Записать(Истина); НаборЗаписей.Записать(Истина);
КонецЕсли; КонецЕсли;
// Локализация
Если ЗначениеЗаполнено(РезультатПроверкиПодписиПоМЧД) И ОбщегоНазначения.ПодсистемаСуществует(
"СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебный.ОбновитьМашиночитаемуюДоверенностьПодписи(
Объект, ОбновляемаяПодпись.ИдентификаторПодписи, РезультатПроверкиПодписиПоМЧД);
КонецЕсли;
// Конец Локализация
КонецЦикла; КонецЦикла;
ЗафиксироватьТранзакцию(); ЗафиксироватьТранзакцию();
Исключение Исключение
@@ -184,7 +184,7 @@
// ## Ссылка - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - ссылка на сертификат. // ## Ссылка - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - ссылка на сертификат.
// ## Отпечаток - Строка - отпечаток сертификата в формате строки Base64. // ## Отпечаток - Строка - отпечаток сертификата в формате строки Base64.
// ## Данные - Строка - адрес временного хранилища, содержащего двоичные данные сертификата. // ## Данные - Строка - адрес временного хранилища, содержащего двоичные данные сертификата.
// # ВыбраннаяДоверенность - ОпределяемыйТип.МашиночитаемаяДоверенность // # ВыбраннаяДоверенность - ЛюбаяСсылка
// # СвойстваПодписи = Строка - адрес временного хранилища, содержащего описанную ниже структуру, // # СвойстваПодписи = Строка - адрес временного хранилища, содержащего описанную ниже структуру,
// если подписание произошло на сервере. // если подписание произошло на сервере.
// = Структура - см. ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи // = Структура - см. ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи
@@ -481,7 +481,8 @@
// Структура: // Структура:
// * ПоказатьОшибкуСозданияМенеджераКриптографии - Булево - показать ошибку // * ПоказатьОшибкуСозданияМенеджераКриптографии - Булево - показать ошибку
// создания менеджера криптографии (когда не указан). // создания менеджера криптографии (когда не указан).
// * РезультатВВидеСтруктуры - см. ЭлектроннаяПодписьКлиентСервер.РезультатПроверкиПодписи // * РезультатВВидеСтруктуры - Булево - если Истина, результат будет в виде
// см. ЭлектроннаяПодписьКлиентСервер.РезультатПроверкиПодписи
// //
Функция ПараметрыПроверкиПодписи() Экспорт Функция ПараметрыПроверкиПодписи() Экспорт
@@ -2115,7 +2116,7 @@
"ДатаПодписи, Комментарий, КомуВыданСертификат, Отпечаток, "ДатаПодписи, Комментарий, КомуВыданСертификат, Отпечаток,
|АдресПодписи, УстановившийПодпись, АдресСертификата, |АдресПодписи, УстановившийПодпись, АдресСертификата,
|Статус, ОписаниеОшибки, ПодписьВерна, ДатаПроверкиПодписи, ТипПодписи, СрокДействияПоследнейМеткиВремени, |Статус, ОписаниеОшибки, ПодписьВерна, ДатаПроверкиПодписи, ТипПодписи, СрокДействияПоследнейМеткиВремени,
|Объект, ПорядковыйНомер, ТребуетсяПроверка"); |Объект, ПорядковыйНомер, ТребуетсяПроверка, МашиночитаемаяДоверенность, МашиночитаемаяДоверенностьВерна, РезультатПроверкиПодписиПоМЧД");
ЗаполнитьЗначенияСвойств(СвойстваПодписи, ТекущиеДанные); ЗаполнитьЗначенияСвойств(СвойстваПодписи, ТекущиеДанные);
@@ -33,6 +33,7 @@
// * ОшибкаПриАвтоматическомПродлении - Булево - не использовать, служебный, заполняется регламентным заданием. // * ОшибкаПриАвтоматическомПродлении - Булево - не использовать, служебный, заполняется регламентным заданием.
// Используются для связи с машиночитаемой доверенностью: // Используются для связи с машиночитаемой доверенностью:
// * ИдентификаторПодписи - УникальныйИдентификатор // * ИдентификаторПодписи - УникальныйИдентификатор
// * РезультатПроверкиПодписиПоМЧД - Массив из Структура, Структура - МашиночитаемыеДоверенностиФНС.РезультатПроверкиПодписиПоМЧД
// //
// Производные свойства подписи: // Производные свойства подписи:
// * ТипПодписи - ПеречислениеСсылка.ТипыПодписиКриптографии // * ТипПодписи - ПеречислениеСсылка.ТипыПодписиКриптографии
@@ -6485,9 +6485,33 @@
Функция ОшибкаПоКлассификатору(ТекстДляПоискаВКлассификаторе, ОшибкаНаСервере = Ложь) Экспорт Функция ОшибкаПоКлассификатору(ТекстДляПоискаВКлассификаторе, ОшибкаНаСервере = Ложь) Экспорт
Возврат ЭлектроннаяПодписьСлужебныйПовтИсп.ОшибкаПоКлассификатору( ОшибкаПоКлассификатору = ЭлектроннаяПодписьСлужебныйПовтИсп.ОшибкаПоКлассификатору(
ТекстДляПоискаВКлассификаторе, ОшибкаНаСервере); ТекстДляПоискаВКлассификаторе, ОшибкаНаСервере);
Если ОшибкаПоКлассификатору = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;
ПредставлениеОшибки = ПредставлениеОшибки();
ЗаполнитьЗначенияСвойств(ПредставлениеОшибки, ОшибкаПоКлассификатору);
Возврат ПредставлениеОшибки;
КонецФункции
Функция ПредставлениеОшибки() Экспорт
ПредставлениеОшибки = Новый Структура;
ПредставлениеОшибки.Вставить("Ссылка", "");
ПредставлениеОшибки.Вставить("Причина", "");
ПредставлениеОшибки.Вставить("Решение", "");
ПредставлениеОшибки.Вставить("СпособУстранения", "");
ПредставлениеОшибки.Вставить("ДействияДляУстранения");
ПредставлениеОшибки.Вставить("ТребуетПроверки", Ложь);
ПредставлениеОшибки.Вставить("СертификатОтозван", Ложь);
Возврат ПредставлениеОшибки;
КонецФункции КонецФункции
Функция КлассификаторОшибокКриптографии() Экспорт Функция КлассификаторОшибокКриптографии() Экспорт
@@ -6525,7 +6549,7 @@
Если ТипЗнч(ДанныеКлассификатора) = Тип("Структура") Тогда Если ТипЗнч(ДанныеКлассификатора) = Тип("Структура") Тогда
Попытка Попытка
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ДанныеКлассификатора.Версия, "3.0.1.0") < 0 Тогда Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ДанныеКлассификатора.Версия, "3.0.1.11") < 0 Тогда
Версия = Неопределено; Версия = Неопределено;
Иначе Иначе
Версия = ДанныеКлассификатора.Версия; Версия = ДанныеКлассификатора.Версия;
@@ -473,12 +473,15 @@
// Локализация // Локализация
Если ЗначениеЗаполнено(Параметры.ВыбраннаяДоверенность) Если ЗначениеЗаполнено(Параметры.РезультатПроверкиМЧДДляПодписания)
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиентСервер = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер"); МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенностиФНССлужебный");
РезультатПроверкиПодписиПоМЧД = МодульМашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РезультатПроверкиПодписиПоМЧД( РезультатПроверкиПодписиПоМЧД = МодульМашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиПодписиПоМЧД(
Параметры.ВыбраннаяДоверенность); Параметры.ВыбраннаяДоверенность, Параметры.ЭлементДанныхДляСервера.Объект, СвойстваСертификата.ДвоичныеДанные, ТекущаяДатаСеанса(),
Параметры.РезультатПроверкиМЧДДляПодписания);
Если ЗначениеЗаполнено(РезультатПроверкиПодписиПоМЧД) Тогда
СвойстваПодписи.Вставить("РезультатПроверкиПодписиПоМЧД", РезультатПроверкиПодписиПоМЧД); СвойстваПодписи.Вставить("РезультатПроверкиПодписиПоМЧД", РезультатПроверкиПодписиПоМЧД);
КонецЕсли;
КонецЕсли; КонецЕсли;
//Конец Локализация //Конец Локализация
@@ -275,6 +275,48 @@
КонецПроцедуры КонецПроцедуры
// Открывает форму выбора сертификата.
//
// Параметры:
// СерверныеПараметры - Структура:
// * Организация - ОпределяемыйТип.Организация
// * ФизическоеЛицо - ОпределяемыйТип.ФизическоеЛицо
// * СертификатОснование - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования
// * ДляШифрованияИРасшифровки - Булево, Неопределено
// * ДобавлениеВСписок - Булево
// * ЛичныйСписокПриДобавлении - Булево
// * Организация - ОпределяемыйТип.Организация
// ВладелецНовойФормы - Неопределено, Форма - владелец формы
// ОбработчикЗавершения - Неопределено, ОписаниеОповещения
//
Процедура ВыборСертификатаДляПодписанияИлиРасшифровки(СерверныеПараметры, ВладелецНовойФормы = Неопределено, ОбработчикЗавершения = Неопределено) Экспорт
Если ВладелецНовойФормы = Неопределено Тогда
ВладелецНовойФормы = Новый УникальныйИдентификатор;
КонецЕсли;
Контекст = Новый Структура;
Контекст.Вставить("СерверныеПараметры", СерверныеПараметры);
Контекст.Вставить("ВладелецНовойФормы", ВладелецНовойФормы);
Контекст.Вставить("ОбработчикЗавершения", ОбработчикЗавершения);
Если ЭлектроннаяПодписьКлиент.СоздаватьЭлектронныеПодписиНаСервере()
И СерверныеПараметры.Свойство("ВыполнятьНаСервере")
И СерверныеПараметры.ВыполнятьНаСервере = Истина Тогда
Результат = Новый Структура;
Результат.Вставить("СвойстваСертификатовНаКлиенте", Новый Массив);
Результат.Вставить("ОшибкаПолученияСертификатовНаКлиенте", Новый Структура);
ВыборСертификатаДляПодписанияИлиРасшифровкиПродолжение(Результат, Контекст);
Иначе
ПолучитьСвойстваСертификатовНаКлиенте(Новый ОписаниеОповещения(
"ВыборСертификатаДляПодписанияИлиРасшифровкиПродолжение", ЭтотОбъект, Контекст), Истина, Ложь);
КонецЕсли;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -3787,34 +3829,6 @@
КонецПроцедуры КонецПроцедуры
// Только для внутреннего использования.
Процедура ВыборСертификатаДляПодписанияИлиРасшифровки(СерверныеПараметры, ВладелецНовойФормы = Неопределено, ОбработчикЗавершения = Неопределено) Экспорт
Если ВладелецНовойФормы = Неопределено Тогда
ВладелецНовойФормы = Новый УникальныйИдентификатор;
КонецЕсли;
Контекст = Новый Структура;
Контекст.Вставить("СерверныеПараметры", СерверныеПараметры);
Контекст.Вставить("ВладелецНовойФормы", ВладелецНовойФормы);
Контекст.Вставить("ОбработчикЗавершения", ОбработчикЗавершения);
Если ЭлектроннаяПодписьКлиент.СоздаватьЭлектронныеПодписиНаСервере()
И СерверныеПараметры.Свойство("ВыполнятьНаСервере")
И СерверныеПараметры.ВыполнятьНаСервере = Истина Тогда
Результат = Новый Структура;
Результат.Вставить("СвойстваСертификатовНаКлиенте", Новый Массив);
Результат.Вставить("ОшибкаПолученияСертификатовНаКлиенте", Новый Структура);
ВыборСертификатаДляПодписанияИлиРасшифровкиПродолжение(Результат, Контекст);
Иначе
ПолучитьСвойстваСертификатовНаКлиенте(Новый ОписаниеОповещения(
"ВыборСертификатаДляПодписанияИлиРасшифровкиПродолжение", ЭтотОбъект, Контекст), Истина, Ложь);
КонецЕсли;
КонецПроцедуры
// Продолжение процедуры ВыборСертификатаДляПодписанияИлиРасшифровки. // Продолжение процедуры ВыборСертификатаДляПодписанияИлиРасшифровки.
Процедура ВыборСертификатаДляПодписанияИлиРасшифровкиПродолжение(Результат, Контекст) Экспорт Процедура ВыборСертификатаДляПодписанияИлиРасшифровкиПродолжение(Результат, Контекст) Экспорт
@@ -5341,6 +5355,7 @@
ПараметрыДляСервера.Вставить("Комментарий", Контекст.Форма.Комментарий); ПараметрыДляСервера.Вставить("Комментарий", Контекст.Форма.Комментарий);
ПараметрыДляСервера.Вставить("ЗначениеПароля", Контекст.ЗначениеПароля); ПараметрыДляСервера.Вставить("ЗначениеПароля", Контекст.ЗначениеПароля);
ПараметрыДляСервера.Вставить("ВыбраннаяДоверенность", Контекст.ОписаниеДанных.ВыбраннаяДоверенность); ПараметрыДляСервера.Вставить("ВыбраннаяДоверенность", Контекст.ОписаниеДанных.ВыбраннаяДоверенность);
ПараметрыДляСервера.Вставить("РезультатПроверкиМЧДДляПодписания", Контекст.ОписаниеДанных.РезультатПроверкиМЧДДляПодписания);
Если Контекст.ЭлементДанных.Свойство("Объект") Если Контекст.ЭлементДанных.Свойство("Объект")
И Не ТипЗнч(Контекст.ЭлементДанных.Объект) = Тип("ОписаниеОповещения") Тогда И Не ТипЗнч(Контекст.ЭлементДанных.Объект) = Тип("ОписаниеОповещения") Тогда
@@ -5522,13 +5537,18 @@
// Локализация // Локализация
Если ЗначениеЗаполнено(Контекст.ОписаниеДанных.ВыбраннаяДоверенность) Если ЗначениеЗаполнено(Контекст.ОписаниеДанных.РезультатПроверкиМЧДДляПодписания)
И ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда И ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер"); МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль(
РезультатПроверкиПодписиПоМЧД = МодульМашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.РезультатПроверкиПодписиПоМЧД( "МашиночитаемыеДоверенностиФНССлужебныйКлиент");
Контекст.ОписаниеДанных.ВыбраннаяДоверенность); РезультатПроверкиПодписиПоМЧД = МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент.РезультатПроверкиПодписиПоМЧД(
СвойстваПодписи.Вставить("РезультатПроверкиПодписиПоМЧД", РезультатПроверкиПодписиПоМЧД); Контекст.ОписаниеДанных.ВыбраннаяДоверенность, ЭлементДанных.Объект,
СвойстваПодписи.Сертификат, Неопределено, Контекст.ОписаниеДанных.РезультатПроверкиМЧДДляПодписания);
Если ЗначениеЗаполнено(РезультатПроверкиПодписиПоМЧД) Тогда
СвойстваПодписи.Вставить("РезультатПроверкиПодписиПоМЧД", РезультатПроверкиПодписиПоМЧД);
КонецЕсли;
КонецЕсли; КонецЕсли;
// Конец Локализация // Конец Локализация
@@ -10312,6 +10332,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// Структура - дополнительные данные для классификатора ошибок: // Структура - дополнительные данные для классификатора ошибок:
// * Сертификат - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования // * Сертификат - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования
// * ДанныеСертификата - Строка
// * ДополнительныеДанныеПроверокНаКлиенте - Структура // * ДополнительныеДанныеПроверокНаКлиенте - Структура
// * ДополнительныеДанныеПроверокНаСервере - Структура // * ДополнительныеДанныеПроверокНаСервере - Структура
// //
@@ -292,7 +292,6 @@
Структура.Вставить("СрокДействияПоследнейМеткиВремени"); Структура.Вставить("СрокДействияПоследнейМеткиВремени");
Структура.Вставить("ДатаПодписиИзМетки"); Структура.Вставить("ДатаПодписиИзМетки");
Структура.Вставить("НеподтвержденнаяДатаПодписи"); Структура.Вставить("НеподтвержденнаяДатаПодписи");
Структура.Вставить("РезультатПроверкиПодписиПоМЧД");
Структура.Вставить("Сертификат"); Структура.Вставить("Сертификат");
Структура.Вставить("Отпечаток"); Структура.Вставить("Отпечаток");
@@ -263,16 +263,17 @@
Если СтрНайти(ТекстДляПоиска, СтрокаКлассификатора.ТекстОшибкиНижнийРегистр) <> 0 Тогда Если СтрНайти(ТекстДляПоиска, СтрокаКлассификатора.ТекстОшибкиНижнийРегистр) <> 0 Тогда
ПредставлениеОшибки = ПредставлениеОшибки(); ПредставлениеОшибки = ЭлектроннаяПодписьСлужебный.ПредставлениеОшибки();
ЗаполнитьЗначенияСвойств(ПредставлениеОшибки, СтрокаКлассификатора); ЗаполнитьЗначенияСвойств(ПредставлениеОшибки, СтрокаКлассификатора);
ПредставлениеОшибки.ДействияДляУстранения = ПрочитанныеДействияДляУстраненияОшибок( ПредставлениеОшибки.ДействияДляУстранения = ПрочитанныеДействияДляУстраненияОшибок(
ПредставлениеОшибки.СпособУстранения); ПредставлениеОшибки.СпособУстранения);
ДополнитьРешениеАвтоматическимиДействиями(ПредставлениеОшибки.Решение, ПредставлениеОшибки.ДействияДляУстранения); Если Не ОшибкаНаСервере Тогда
ДополнитьРешениеАвтоматическимиДействиями(ПредставлениеОшибки.Решение, ПредставлениеОшибки.ДействияДляУстранения);
КонецЕсли;
ПредставлениеОшибки.Причина = СтроковыеФункции.ФорматированнаяСтрока(ПредставлениеОшибки.Причина); ПредставлениеОшибки.Причина = СтроковыеФункции.ФорматированнаяСтрока(ПредставлениеОшибки.Причина);
ПредставлениеОшибки.Решение = СтроковыеФункции.ФорматированнаяСтрока(ПредставлениеОшибки.Решение); ПредставлениеОшибки.Решение = СтроковыеФункции.ФорматированнаяСтрока(ПредставлениеОшибки.Решение);
Возврат ПредставлениеОшибки; Возврат Новый ФиксированнаяСтруктура(ПредставлениеОшибки);
КонецЕсли; КонецЕсли;
@@ -328,21 +329,6 @@
КонецФункции КонецФункции
Функция ПредставлениеОшибки()
ПредставлениеОшибки = Новый Структура;
ПредставлениеОшибки.Вставить("Ссылка", "");
ПредставлениеОшибки.Вставить("Причина", "");
ПредставлениеОшибки.Вставить("Решение", "");
ПредставлениеОшибки.Вставить("СпособУстранения", "");
ПредставлениеОшибки.Вставить("ДействияДляУстранения");
ПредставлениеОшибки.Вставить("ТребуетПроверки", Ложь);
ПредставлениеОшибки.Вставить("СертификатОтозван", Ложь);
Возврат ПредставлениеОшибки;
КонецФункции
Функция ПутиКПрограммамНаСерверахLinux(ИмяКомпьютера) Экспорт Функция ПутиКПрограммамНаСерверахLinux(ИмяКомпьютера) Экспорт
Запрос = Новый Запрос; Запрос = Новый Запрос;
@@ -0,0 +1,38 @@
<svg width="288" height="65" viewBox="0 0 288 65" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8_65)">
<mask id="mask0_8_65" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="288" height="65">
<path d="M288 0H0V65H288V0Z" fill="white"/>
</mask>
<g mask="url(#mask0_8_65)">
<path d="M288 0H0V65H288V0Z" fill="white"/>
<path d="M10.9951 44.7373L12.2266 45.0483C11.9684 46.0597 11.5029 46.832 10.8301 47.3652C10.1615 47.8942 9.34261 48.1587 8.37354 48.1587C7.37061 48.1587 6.55387 47.9556 5.92334 47.5493C5.29704 47.1388 4.81885 46.5464 4.48877 45.772C4.16292 44.9976 4 44.166 4 43.2773C4 42.3083 4.18408 41.464 4.55225 40.7446C4.92464 40.021 5.4515 39.473 6.13281 39.1006C6.81836 38.724 7.57162 38.5356 8.39258 38.5356C9.32357 38.5356 10.1064 38.7726 10.7412 39.2466C11.376 39.7205 11.8182 40.387 12.0679 41.2461L10.8555 41.5317C10.6396 40.8547 10.3265 40.3617 9.91602 40.0527C9.50553 39.7438 8.98926 39.5894 8.36719 39.5894C7.65202 39.5894 7.05322 39.7607 6.5708 40.1035C6.09261 40.4463 5.75619 40.9076 5.56152 41.4873C5.36686 42.0628 5.26953 42.6574 5.26953 43.271C5.26953 44.0623 5.38379 44.7542 5.61231 45.3467C5.84505 45.9349 6.20475 46.375 6.69141 46.667C7.17806 46.959 7.70492 47.105 8.27197 47.105C8.96175 47.105 9.54574 46.9061 10.0239 46.5083C10.5021 46.1105 10.8258 45.5202 10.9951 44.7373Z" fill="#009646"/>
<path d="M13.1787 44.6294C13.1787 43.381 13.5257 42.4564 14.2197 41.8555C14.7994 41.3561 15.5061 41.1064 16.3398 41.1064C17.2666 41.1064 18.024 41.4111 18.6123 42.0205C19.2005 42.6257 19.4946 43.4635 19.4946 44.5342C19.4946 45.4017 19.3634 46.0851 19.101 46.5845C18.8429 47.0796 18.4642 47.4647 17.9648 47.7397C17.4697 48.0148 16.928 48.1523 16.3398 48.1523C15.3961 48.1523 14.6323 47.8498 14.0483 47.2446C13.4685 46.6395 13.1787 45.7677 13.1787 44.6294ZM14.353 44.6294C14.353 45.4927 14.5413 46.1401 14.9179 46.5718C15.2946 46.9992 15.7685 47.2129 16.3398 47.2129C16.9069 47.2129 17.3787 46.9971 17.7553 46.5654C18.132 46.1338 18.3203 45.4757 18.3203 44.5913C18.3203 43.7576 18.1298 43.1271 17.749 42.6997C17.3724 42.2681 16.9026 42.0522 16.3398 42.0522C15.7685 42.0522 15.2946 42.266 14.9179 42.6934C14.5413 43.1208 14.353 43.7661 14.353 44.6294Z" fill="#009646"/>
<path d="M22.1796 44.9531V44.0581C22.6621 44.0539 22.99 44.0348 23.1635 44.001C23.3413 43.9671 23.5084 43.8656 23.665 43.6963C23.8216 43.527 23.8999 43.3154 23.8999 43.0615C23.8999 42.7526 23.7962 42.5072 23.5888 42.3252C23.3857 42.139 23.1212 42.0459 22.7954 42.0459C22.1521 42.0459 21.7015 42.4246 21.4433 43.1821L20.3579 43.0044C20.6964 41.7391 21.5131 41.1064 22.8081 41.1064C23.5275 41.1064 24.0903 41.3032 24.4965 41.6968C24.907 42.0903 25.1123 42.5601 25.1123 43.106C25.1123 43.6561 24.8457 44.0941 24.3125 44.4199C24.651 44.6019 24.9049 44.8346 25.0742 45.1182C25.2435 45.3975 25.3281 45.7297 25.3281 46.1147C25.3281 46.7199 25.108 47.2108 24.6679 47.5874C24.2278 47.964 23.6121 48.1523 22.8208 48.1523C21.2846 48.1523 20.3938 47.4689 20.1484 46.1021L21.2212 45.8735C21.3185 46.3052 21.5153 46.6395 21.8115 46.8765C22.1119 47.1134 22.4547 47.2319 22.8398 47.2319C23.2249 47.2319 23.5444 47.124 23.7983 46.9082C24.0564 46.6882 24.1855 46.4089 24.1855 46.0703C24.1855 45.8079 24.1051 45.5794 23.9443 45.3848C23.7835 45.1901 23.6121 45.0695 23.4301 45.0229C23.2482 44.9722 22.9181 44.9468 22.4399 44.9468C22.4018 44.9468 22.3151 44.9489 22.1796 44.9531Z" fill="#009646"/>
<path d="M27.2642 41.2588H31.9615V47.0605H32.6915V49.9106H31.752V48H26.4454V49.9106H25.5059V47.0605H26.1089C26.913 45.9688 27.2981 44.0348 27.2642 41.2588ZM28.2164 42.2046C28.1317 44.3924 27.7932 46.0111 27.2007 47.0605H30.8253V42.2046H28.2164Z" fill="#009646"/>
<path d="M38.3535 47.1685C37.9303 47.5282 37.5219 47.7821 37.1284 47.9302C36.7391 48.0783 36.3201 48.1523 35.8715 48.1523C35.131 48.1523 34.5618 47.9725 34.164 47.6128C33.7662 47.2489 33.5673 46.7855 33.5673 46.2227C33.5673 45.8926 33.6414 45.5921 33.7895 45.3213C33.9419 45.0462 34.1386 44.8262 34.3798 44.6611C34.6253 44.4961 34.9004 44.3713 35.205 44.2866C35.4293 44.2274 35.7679 44.1702 36.2207 44.1152C37.1432 44.0052 37.8224 43.874 38.2583 43.7217C38.2625 43.5651 38.2646 43.4657 38.2646 43.4233C38.2646 42.9578 38.1567 42.6299 37.9409 42.4395C37.6489 42.1813 37.2151 42.0522 36.6396 42.0522C36.1022 42.0522 35.7044 42.1475 35.4463 42.3379C35.1923 42.5241 35.004 42.8563 34.8813 43.3345L33.7641 43.1821C33.8657 42.7039 34.0328 42.3188 34.2656 42.0269C34.4983 41.7306 34.8348 41.5042 35.2749 41.3477C35.715 41.1868 36.2249 41.1064 36.8046 41.1064C37.3802 41.1064 37.8478 41.1742 38.2075 41.3096C38.5672 41.445 38.8317 41.6164 39.0009 41.8237C39.1702 42.0269 39.2887 42.285 39.3564 42.5981C39.3945 42.7928 39.4135 43.144 39.4135 43.6519V45.1753C39.4135 46.2375 39.4368 46.9103 39.4834 47.1938C39.5341 47.4731 39.6315 47.7419 39.7754 48H38.582C38.4635 47.763 38.3873 47.4858 38.3535 47.1685ZM38.2583 44.6167C37.8435 44.786 37.2215 44.9299 36.3921 45.0483C35.9223 45.116 35.5901 45.1922 35.3955 45.2769C35.2008 45.3615 35.0506 45.4863 34.9448 45.6514C34.839 45.8122 34.7861 45.992 34.7861 46.1909C34.7861 46.4956 34.9004 46.7495 35.1289 46.9526C35.3616 47.1558 35.7002 47.2573 36.1445 47.2573C36.5846 47.2573 36.976 47.1621 37.3188 46.9717C37.6616 46.777 37.9134 46.5125 38.0742 46.1782C38.1969 45.9201 38.2583 45.5392 38.2583 45.0356V44.6167Z" fill="#009646"/>
<path d="M41.1971 41.2588H42.3397V44.0645H45.5072V41.2588H46.6498V48H45.5072V45.0103H42.3397V48H41.1971V41.2588Z" fill="#009646"/>
<path d="M52.7755 47.1685C52.3523 47.5282 51.9439 47.7821 51.5504 47.9302C51.161 48.0783 50.7421 48.1523 50.2935 48.1523C49.553 48.1523 48.9838 47.9725 48.586 47.6128C48.1882 47.2489 47.9893 46.7855 47.9893 46.2227C47.9893 45.8926 48.0634 45.5921 48.2115 45.3213C48.3638 45.0462 48.5606 44.8262 48.8018 44.6611C49.0473 44.4961 49.3223 44.3713 49.627 44.2866C49.8513 44.2274 50.1898 44.1702 50.6426 44.1152C51.5652 44.0052 52.2444 43.874 52.6802 43.7217C52.6845 43.5651 52.6866 43.4657 52.6866 43.4233C52.6866 42.9578 52.5787 42.6299 52.3629 42.4395C52.0709 42.1813 51.6371 42.0522 51.0616 42.0522C50.5241 42.0522 50.1264 42.1475 49.8682 42.3379C49.6143 42.5241 49.426 42.8563 49.3033 43.3345L48.1861 43.1821C48.2877 42.7039 48.4548 42.3188 48.6876 42.0269C48.9203 41.7306 49.2567 41.5042 49.6968 41.3477C50.1369 41.1868 50.6469 41.1064 51.2266 41.1064C51.8021 41.1064 52.2698 41.1742 52.6295 41.3096C52.9892 41.445 53.2536 41.6164 53.4229 41.8237C53.5922 42.0269 53.7107 42.285 53.7784 42.5981C53.8165 42.7928 53.8355 43.144 53.8355 43.6519V45.1753C53.8355 46.2375 53.8588 46.9103 53.9053 47.1938C53.9561 47.4731 54.0534 47.7419 54.1973 48H53.004C52.8855 47.763 52.8093 47.4858 52.7755 47.1685ZM52.6802 44.6167C52.2655 44.786 51.6435 44.9299 50.814 45.0483C50.3443 45.116 50.0121 45.1922 49.8174 45.2769C49.6228 45.3615 49.4726 45.4863 49.3668 45.6514C49.261 45.8122 49.2081 45.992 49.2081 46.1909C49.2081 46.4956 49.3223 46.7495 49.5508 46.9526C49.7836 47.1558 50.1221 47.2573 50.5665 47.2573C51.0066 47.2573 51.398 47.1621 51.7408 46.9717C52.0836 46.777 52.3353 46.5125 52.4962 46.1782C52.6189 45.9201 52.6802 45.5392 52.6802 45.0356V44.6167Z" fill="#009646"/>
<path d="M104 38.6943H111.318V48H110.081V39.7925H105.231V48H104V38.6943Z" fill="#ADBFCC"/>
<path d="M112.759 44.6294C112.759 43.381 113.106 42.4564 113.8 41.8555C114.38 41.3561 115.087 41.1064 115.921 41.1064C116.847 41.1064 117.605 41.4111 118.193 42.0205C118.781 42.6257 119.075 43.4635 119.075 44.5342C119.075 45.4017 118.944 46.0851 118.682 46.5845C118.424 47.0796 118.045 47.4647 117.546 47.7397C117.05 48.0148 116.509 48.1523 115.921 48.1523C114.977 48.1523 114.213 47.8498 113.629 47.2446C113.049 46.6395 112.759 45.7677 112.759 44.6294ZM113.934 44.6294C113.934 45.4927 114.122 46.1401 114.499 46.5718C114.875 46.9992 115.349 47.2129 115.921 47.2129C116.488 47.2129 116.959 46.9971 117.336 46.5654C117.713 46.1338 117.901 45.4757 117.901 44.5913C117.901 43.7576 117.711 43.1271 117.33 42.6997C116.953 42.2681 116.483 42.0522 115.921 42.0522C115.349 42.0522 114.875 42.266 114.499 42.6934C114.122 43.1208 113.934 43.7661 113.934 44.6294Z" fill="#ADBFCC"/>
<path d="M121.03 41.2588H125.728V47.0605H126.458V49.9106H125.518V48H120.212V49.9106H119.272V47.0605H119.875C120.679 45.9688 121.064 44.0348 121.03 41.2588ZM121.983 42.2046C121.898 44.3924 121.559 46.0111 120.967 47.0605H124.591V42.2046H121.983Z" fill="#ADBFCC"/>
<path d="M127.727 41.2588H133.046V48H131.904V42.2046H128.87V48H127.727V41.2588Z" fill="#ADBFCC"/>
<path d="M134.767 41.2588H135.909V46.4004L139.077 41.2588H140.308V48H139.166V42.8901L135.998 48H134.767V41.2588Z" fill="#ADBFCC"/>
<path d="M146.427 45.5308L147.551 45.6768C147.428 46.4512 147.113 47.0584 146.605 47.4985C146.102 47.9344 145.482 48.1523 144.745 48.1523C143.823 48.1523 143.08 47.8519 142.517 47.251C141.959 46.6458 141.679 45.7804 141.679 44.6548C141.679 43.9269 141.8 43.29 142.041 42.7441C142.282 42.1982 142.648 41.7899 143.139 41.519C143.634 41.244 144.172 41.1064 144.752 41.1064C145.484 41.1064 146.082 41.2926 146.548 41.665C147.013 42.0332 147.312 42.5579 147.443 43.2393L146.332 43.4106C146.226 42.9578 146.038 42.6172 145.767 42.3887C145.501 42.1602 145.177 42.0459 144.796 42.0459C144.22 42.0459 143.753 42.2533 143.393 42.668C143.033 43.0785 142.854 43.7301 142.854 44.623C142.854 45.5286 143.027 46.1867 143.374 46.5972C143.721 47.0076 144.174 47.2129 144.733 47.2129C145.181 47.2129 145.556 47.0754 145.856 46.8003C146.157 46.5252 146.347 46.1021 146.427 45.5308Z" fill="#ADBFCC"/>
<path d="M152.927 47.1685C152.504 47.5282 152.096 47.7821 151.702 47.9302C151.313 48.0783 150.894 48.1523 150.445 48.1523C149.705 48.1523 149.136 47.9725 148.738 47.6128C148.34 47.2489 148.141 46.7855 148.141 46.2227C148.141 45.8926 148.215 45.5921 148.363 45.3213C148.516 45.0462 148.713 44.8262 148.954 44.6611C149.199 44.4961 149.474 44.3713 149.779 44.2866C150.003 44.2274 150.342 44.1702 150.795 44.1152C151.717 44.0052 152.396 43.874 152.832 43.7217C152.836 43.5651 152.838 43.4657 152.838 43.4233C152.838 42.9578 152.731 42.6299 152.515 42.4395C152.223 42.1813 151.789 42.0522 151.213 42.0522C150.676 42.0522 150.278 42.1475 150.02 42.3379C149.766 42.5241 149.578 42.8563 149.455 43.3345L148.338 43.1821C148.44 42.7039 148.607 42.3188 148.839 42.0269C149.072 41.7306 149.409 41.5042 149.849 41.3477C150.289 41.1868 150.799 41.1064 151.379 41.1064C151.954 41.1064 152.422 41.1742 152.781 41.3096C153.141 41.445 153.406 41.6164 153.575 41.8237C153.744 42.0269 153.863 42.285 153.93 42.5981C153.968 42.7928 153.987 43.144 153.987 43.6519V45.1753C153.987 46.2375 154.011 46.9103 154.057 47.1938C154.108 47.4731 154.205 47.7419 154.349 48H153.156C153.037 47.763 152.961 47.4858 152.927 47.1685ZM152.832 44.6167C152.417 44.786 151.795 44.9299 150.966 45.0483C150.496 45.116 150.164 45.1922 149.969 45.2769C149.775 45.3615 149.624 45.4863 149.519 45.6514C149.413 45.8122 149.36 45.992 149.36 46.1909C149.36 46.4956 149.474 46.7495 149.703 46.9526C149.935 47.1558 150.274 47.2573 150.718 47.2573C151.158 47.2573 151.55 47.1621 151.893 46.9717C152.235 46.777 152.487 46.5125 152.648 46.1782C152.771 45.9201 152.832 45.5392 152.832 45.0356V44.6167Z" fill="#ADBFCC"/>
<path d="M155.771 41.2588H156.914V44.0645H160.081V41.2588H161.224V48H160.081V45.0103H156.914V48H155.771V41.2588Z" fill="#ADBFCC"/>
<path d="M162.95 41.2588H164.093V46.4004L167.26 41.2588H168.492V48H167.349V42.8901L164.182 48H162.95V41.2588Z" fill="#ADBFCC"/>
<path d="M174.827 45.8291L176.007 45.9751C175.821 46.6649 175.476 47.2002 174.973 47.5811C174.469 47.9619 173.826 48.1523 173.043 48.1523C172.057 48.1523 171.274 47.8498 170.694 47.2446C170.119 46.6353 169.831 45.7826 169.831 44.6865C169.831 43.5524 170.123 42.6722 170.707 42.0459C171.291 41.4196 172.049 41.1064 172.98 41.1064C173.881 41.1064 174.617 41.4132 175.189 42.0269C175.76 42.6405 176.046 43.5037 176.046 44.6167C176.046 44.6844 176.043 44.786 176.039 44.9214H171.012C171.054 45.6619 171.264 46.229 171.64 46.6226C172.017 47.0161 172.487 47.2129 173.049 47.2129C173.468 47.2129 173.826 47.1029 174.122 46.8828C174.418 46.6628 174.653 46.3115 174.827 45.8291ZM171.075 43.9819H174.839C174.789 43.4149 174.645 42.9896 174.408 42.7061C174.044 42.266 173.572 42.0459 172.992 42.0459C172.468 42.0459 172.025 42.2215 171.666 42.5728C171.31 42.924 171.113 43.3937 171.075 43.9819Z" fill="#ADBFCC"/>
<path d="M29 0C20.163 0 13 7.163 13 16C13 24.837 20.163 32 29 32C37.837 32 45 24.837 45 16C44.974 7.174 37.826 0.026 29 0Z" fill="#14AA5A"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29 29C36.1797 29 42 23.1797 42 16C42 8.8203 36.1797 3 29 3C21.8203 3 16 8.8203 16 16C16 23.1797 21.8203 29 29 29ZM29 30C36.732 30 43 23.732 43 16C43 8.26801 36.732 2 29 2C21.268 2 15 8.26801 15 16C15 23.732 21.268 30 29 30Z" fill="white"/>
<path d="M29.6426 23.1758C29.1445 23.1758 28.793 22.8047 28.793 22.2676V10.832H28.7539L26.1172 12.6777C25.9219 12.8145 25.7363 12.8828 25.5215 12.8828C25.1113 12.8828 24.8281 12.5898 24.8281 12.1602C24.8281 11.8477 24.9453 11.6426 25.3164 11.3789L28.334 9.2207C28.8809 8.83008 29.1152 8.73242 29.5156 8.73242C30.1211 8.73242 30.4922 9.10352 30.4922 9.71875V22.2676C30.4922 22.8047 30.1406 23.1758 29.6426 23.1758Z" fill="#F5F5F5"/>
<path d="M154 16C154 23.732 147.732 30 140 30C132.268 30 126 23.732 126 16C126 8.26801 132.268 2 140 2C147.732 2 154 8.26801 154 16Z" fill="#CFDAE2"/>
<path d="M136.279 23C135.762 23 135.43 22.7168 135.43 22.2773C135.43 21.916 135.508 21.7598 135.928 21.3203L140.439 16.6133C142.334 14.6309 142.783 13.8789 142.783 12.6973C142.783 11.2617 141.68 10.207 140.166 10.207C138.643 10.207 137.578 10.998 137.1 12.5117C136.982 12.873 136.787 13.127 136.309 13.127C135.791 13.127 135.498 12.8047 135.498 12.3457C135.498 12.2188 135.508 12.1113 135.527 11.9941C135.732 10.5488 137.285 8.67383 140.166 8.67383C142.705 8.67383 144.541 10.3145 144.541 12.5898C144.541 14.1328 143.838 15.2949 141.426 17.7656L137.891 21.3984V21.4375H144.043C144.541 21.4375 144.873 21.75 144.873 22.2188C144.873 22.6875 144.541 23 144.043 23H136.279Z" fill="#F5F5F5"/>
<path d="M45 15H124V17H45V15Z" fill="#CEDAE2"/>
</g>
</g>
<defs>
<clipPath id="clip0_8_65">
<rect width="288" height="65" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="4c3d06cc-22b0-4618-acb5-d1ed387deaa7">
<name>МЧДСозданаПодписаниеБезРегистрации</name>
<synonym>
<key>ru</key>
<value>МЧД создана подписание без регистрации</value>
</synonym>
</mdclass:CommonPicture>
@@ -0,0 +1,39 @@
<svg width="288" height="65" viewBox="0 0 288 65" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_494_209)">
<mask id="mask0_494_209" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="288" height="65">
<path d="M288 0H0V65H288V0Z" fill="white"/>
</mask>
<g mask="url(#mask0_494_209)">
<path d="M288 0H0V65H288V0Z" fill="white"/>
<path d="M29 0C20.163 0 13 7.163 13 16C13 24.837 20.163 32 29 32C37.837 32 45 24.837 45 16C44.974 7.174 37.826 0.026 29 0Z" fill="#14AA5A"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29 29C36.1797 29 42 23.1797 42 16C42 8.8203 36.1797 3 29 3C21.8203 3 16 8.8203 16 16C16 23.1797 21.8203 29 29 29ZM29 30C36.732 30 43 23.732 43 16C43 8.26801 36.732 2 29 2C21.268 2 15 8.26801 15 16C15 23.732 21.268 30 29 30Z" fill="white"/>
<path d="M29.6426 23.1758C29.1445 23.1758 28.793 22.8047 28.793 22.2676V10.832H28.7539L26.1172 12.6777C25.9219 12.8145 25.7363 12.8828 25.5215 12.8828C25.1113 12.8828 24.8281 12.5898 24.8281 12.1602C24.8281 11.8477 24.9453 11.6426 25.3164 11.3789L28.334 9.2207C28.8809 8.83008 29.1152 8.73242 29.5156 8.73242C30.1211 8.73242 30.4922 9.10352 30.4922 9.71875V22.2676C30.4922 22.8047 30.1406 23.1758 29.6426 23.1758Z" fill="#F5F5F5"/>
<path d="M154 16C154 23.732 147.732 30 140 30C132.268 30 126 23.732 126 16C126 8.26801 132.268 2 140 2C147.732 2 154 8.26801 154 16Z" fill="#CFDAE2"/>
<path d="M136.279 23C135.762 23 135.43 22.7168 135.43 22.2773C135.43 21.916 135.508 21.7598 135.928 21.3203L140.439 16.6133C142.334 14.6309 142.783 13.8789 142.783 12.6973C142.783 11.2617 141.68 10.207 140.166 10.207C138.643 10.207 137.578 10.998 137.1 12.5117C136.982 12.873 136.787 13.127 136.309 13.127C135.791 13.127 135.498 12.8047 135.498 12.3457C135.498 12.2188 135.508 12.1113 135.527 11.9941C135.732 10.5488 137.285 8.67383 140.166 8.67383C142.705 8.67383 144.541 10.3145 144.541 12.5898C144.541 14.1328 143.838 15.2949 141.426 17.7656L137.891 21.3984V21.4375H144.043C144.541 21.4375 144.873 21.75 144.873 22.2188C144.873 22.6875 144.541 23 144.043 23H136.279Z" fill="#F5F5F5"/>
<path d="M7.64258 44.7373L8.87402 45.0483C8.61589 46.0597 8.15039 46.832 7.47754 47.3652C6.80892 47.8942 5.99007 48.1587 5.021 48.1587C4.01807 48.1587 3.20133 47.9556 2.5708 47.5493C1.9445 47.1388 1.46631 46.5464 1.13623 45.772C0.810384 44.9976 0.647461 44.166 0.647461 43.2773C0.647461 42.3083 0.831543 41.464 1.19971 40.7446C1.5721 40.021 2.09896 39.473 2.78027 39.1006C3.46582 38.724 4.21908 38.5356 5.04004 38.5356C5.97103 38.5356 6.75391 38.7726 7.38867 39.2466C8.02344 39.7205 8.46566 40.387 8.71533 41.2461L7.50293 41.5317C7.28711 40.8547 6.97396 40.3617 6.56348 40.0527C6.15299 39.7438 5.63672 39.5894 5.01465 39.5894C4.29948 39.5894 3.70068 39.7607 3.21826 40.1035C2.74007 40.4463 2.40365 40.9076 2.20898 41.4873C2.01432 42.0628 1.91699 42.6574 1.91699 43.271C1.91699 44.0623 2.03125 44.7542 2.25977 45.3467C2.49251 45.9349 2.85221 46.375 3.33887 46.667C3.82552 46.959 4.35238 47.105 4.91943 47.105C5.60921 47.105 6.1932 46.9061 6.67139 46.5083C7.14958 46.1105 7.47331 45.5202 7.64258 44.7373Z" fill="#009646"/>
<path d="M9.82617 44.6294C9.82617 43.381 10.1732 42.4564 10.8672 41.8555C11.4469 41.3561 12.1536 41.1064 12.9873 41.1064C13.9141 41.1064 14.6715 41.4111 15.2598 42.0205C15.848 42.6257 16.1421 43.4635 16.1421 44.5342C16.1421 45.4017 16.0109 46.0851 15.7485 46.5845C15.4904 47.0796 15.1117 47.4647 14.6123 47.7397C14.1172 48.0148 13.5755 48.1523 12.9873 48.1523C12.0436 48.1523 11.2798 47.8498 10.6958 47.2446C10.116 46.6395 9.82617 45.7677 9.82617 44.6294ZM11.0005 44.6294C11.0005 45.4927 11.1888 46.1401 11.5654 46.5718C11.9421 46.9992 12.416 47.2129 12.9873 47.2129C13.5544 47.2129 14.0262 46.9971 14.4028 46.5654C14.7795 46.1338 14.9678 45.4757 14.9678 44.5913C14.9678 43.7576 14.7773 43.1271 14.3965 42.6997C14.0199 42.2681 13.5501 42.0522 12.9873 42.0522C12.416 42.0522 11.9421 42.266 11.5654 42.6934C11.1888 43.1208 11.0005 43.7661 11.0005 44.6294Z" fill="#009646"/>
<path d="M18.8271 44.9531V44.0581C19.3096 44.0539 19.6375 44.0348 19.811 44.001C19.9888 43.9671 20.1559 43.8656 20.3125 43.6963C20.4691 43.527 20.5474 43.3154 20.5474 43.0615C20.5474 42.7526 20.4437 42.5072 20.2363 42.3252C20.0332 42.139 19.7687 42.0459 19.4429 42.0459C18.7996 42.0459 18.349 42.4246 18.0908 43.1821L17.0054 43.0044C17.3439 41.7391 18.1606 41.1064 19.4556 41.1064C20.175 41.1064 20.7378 41.3032 21.144 41.6968C21.5545 42.0903 21.7598 42.5601 21.7598 43.106C21.7598 43.6561 21.4932 44.0941 20.96 44.4199C21.2985 44.6019 21.5524 44.8346 21.7217 45.1182C21.891 45.3975 21.9756 45.7297 21.9756 46.1147C21.9756 46.7199 21.7555 47.2108 21.3154 47.5874C20.8753 47.964 20.2596 48.1523 19.4683 48.1523C17.9321 48.1523 17.0413 47.4689 16.7959 46.1021L17.8687 45.8735C17.966 46.3052 18.1628 46.6395 18.459 46.8765C18.7594 47.1134 19.1022 47.2319 19.4873 47.2319C19.8724 47.2319 20.1919 47.124 20.4458 46.9082C20.7039 46.6882 20.833 46.4089 20.833 46.0703C20.833 45.8079 20.7526 45.5794 20.5918 45.3848C20.431 45.1901 20.2596 45.0695 20.0776 45.0229C19.8957 44.9722 19.5656 44.9468 19.0874 44.9468C19.0493 44.9468 18.9626 44.9489 18.8271 44.9531Z" fill="#009646"/>
<path d="M23.9116 41.2588H28.6089V47.0605H29.3389V49.9106H28.3994V48H23.0928V49.9106H22.1533V47.0605H22.7563C23.5604 45.9688 23.9455 44.0348 23.9116 41.2588ZM24.8638 42.2046C24.7791 44.3924 24.4406 46.0111 23.8481 47.0605H27.4727V42.2046H24.8638Z" fill="#009646"/>
<path d="M35.001 47.1685C34.5778 47.5282 34.1694 47.7821 33.7759 47.9302C33.3866 48.0783 32.9676 48.1523 32.519 48.1523C31.7785 48.1523 31.2093 47.9725 30.8115 47.6128C30.4137 47.2489 30.2148 46.7855 30.2148 46.2227C30.2148 45.8926 30.2889 45.5921 30.437 45.3213C30.5894 45.0462 30.7861 44.8262 31.0273 44.6611C31.2728 44.4961 31.5479 44.3713 31.8525 44.2866C32.0768 44.2274 32.4154 44.1702 32.8682 44.1152C33.7907 44.0052 34.4699 43.874 34.9058 43.7217C34.91 43.5651 34.9121 43.4657 34.9121 43.4233C34.9121 42.9578 34.8042 42.6299 34.5884 42.4395C34.2964 42.1813 33.8626 42.0522 33.2871 42.0522C32.7497 42.0522 32.3519 42.1475 32.0938 42.3379C31.8398 42.5241 31.6515 42.8563 31.5288 43.3345L30.4116 43.1821C30.5132 42.7039 30.6803 42.3188 30.9131 42.0269C31.1458 41.7306 31.4823 41.5042 31.9224 41.3477C32.3625 41.1868 32.8724 41.1064 33.4521 41.1064C34.0277 41.1064 34.4953 41.1742 34.855 41.3096C35.2147 41.445 35.4792 41.6164 35.6484 41.8237C35.8177 42.0269 35.9362 42.285 36.0039 42.5981C36.042 42.7928 36.061 43.144 36.061 43.6519V45.1753C36.061 46.2375 36.0843 46.9103 36.1309 47.1938C36.1816 47.4731 36.279 47.7419 36.4229 48H35.2295C35.111 47.763 35.0348 47.4858 35.001 47.1685ZM34.9058 44.6167C34.491 44.786 33.869 44.9299 33.0396 45.0483C32.5698 45.116 32.2376 45.1922 32.043 45.2769C31.8483 45.3615 31.6981 45.4863 31.5923 45.6514C31.4865 45.8122 31.4336 45.992 31.4336 46.1909C31.4336 46.4956 31.5479 46.7495 31.7764 46.9526C32.0091 47.1558 32.3477 47.2573 32.792 47.2573C33.2321 47.2573 33.6235 47.1621 33.9663 46.9717C34.3091 46.777 34.5609 46.5125 34.7217 46.1782C34.8444 45.9201 34.9058 45.5392 34.9058 45.0356V44.6167Z" fill="#009646"/>
<path d="M37.8447 41.2588H38.9873V44.0645H42.1548V41.2588H43.2974V48H42.1548V45.0103H38.9873V48H37.8447V41.2588Z" fill="#009646"/>
<path d="M45.0239 41.2588H46.1665V46.4004L49.334 41.2588H50.5654V48H49.4229V42.8901L46.2554 48H45.0239V41.2588Z" fill="#009646"/>
<path d="M56.9004 45.8291L58.0811 45.9751C57.8949 46.6649 57.55 47.2002 57.0464 47.5811C56.5428 47.9619 55.8996 48.1523 55.1167 48.1523C54.1307 48.1523 53.3478 47.8498 52.7681 47.2446C52.1925 46.6353 51.9048 45.7826 51.9048 44.6865C51.9048 43.5524 52.1968 42.6722 52.7808 42.0459C53.3647 41.4196 54.1222 41.1064 55.0532 41.1064C55.9546 41.1064 56.6909 41.4132 57.2622 42.0269C57.8335 42.6405 58.1191 43.5037 58.1191 44.6167C58.1191 44.6844 58.117 44.786 58.1128 44.9214H53.0854C53.1278 45.6619 53.3372 46.229 53.7139 46.6226C54.0905 47.0161 54.5602 47.2129 55.123 47.2129C55.542 47.2129 55.8996 47.1029 56.1958 46.8828C56.492 46.6628 56.7269 46.3115 56.9004 45.8291ZM53.1489 43.9819H56.9131C56.8623 43.4149 56.7184 42.9896 56.4814 42.7061C56.1175 42.266 55.6457 42.0459 55.0659 42.0459C54.5412 42.0459 54.099 42.2215 53.7393 42.5728C53.3838 42.924 53.187 43.3937 53.1489 43.9819Z" fill="#009646"/>
<path d="M104 38.6943H111.318V48H110.081V39.7925H105.231V48H104V38.6943Z" fill="#ADBFCC"/>
<path d="M112.759 44.6294C112.759 43.381 113.106 42.4564 113.8 41.8555C114.38 41.3561 115.087 41.1064 115.921 41.1064C116.847 41.1064 117.605 41.4111 118.193 42.0205C118.781 42.6257 119.075 43.4635 119.075 44.5342C119.075 45.4017 118.944 46.0851 118.682 46.5845C118.424 47.0796 118.045 47.4647 117.546 47.7397C117.05 48.0148 116.509 48.1523 115.921 48.1523C114.977 48.1523 114.213 47.8498 113.629 47.2446C113.049 46.6395 112.759 45.7677 112.759 44.6294ZM113.934 44.6294C113.934 45.4927 114.122 46.1401 114.499 46.5718C114.875 46.9992 115.349 47.2129 115.921 47.2129C116.488 47.2129 116.959 46.9971 117.336 46.5654C117.713 46.1338 117.901 45.4757 117.901 44.5913C117.901 43.7576 117.711 43.1271 117.33 42.6997C116.953 42.2681 116.483 42.0522 115.921 42.0522C115.349 42.0522 114.875 42.266 114.499 42.6934C114.122 43.1208 113.934 43.7661 113.934 44.6294Z" fill="#ADBFCC"/>
<path d="M121.03 41.2588H125.728V47.0605H126.458V49.9106H125.518V48H120.212V49.9106H119.272V47.0605H119.875C120.679 45.9688 121.064 44.0348 121.03 41.2588ZM121.983 42.2046C121.898 44.3924 121.559 46.0111 120.967 47.0605H124.591V42.2046H121.983Z" fill="#ADBFCC"/>
<path d="M127.727 41.2588H133.046V48H131.904V42.2046H128.87V48H127.727V41.2588Z" fill="#ADBFCC"/>
<path d="M134.767 41.2588H135.909V46.4004L139.077 41.2588H140.308V48H139.166V42.8901L135.998 48H134.767V41.2588Z" fill="#ADBFCC"/>
<path d="M146.427 45.5308L147.551 45.6768C147.428 46.4512 147.113 47.0584 146.605 47.4985C146.102 47.9344 145.482 48.1523 144.745 48.1523C143.823 48.1523 143.08 47.8519 142.517 47.251C141.959 46.6458 141.679 45.7804 141.679 44.6548C141.679 43.9269 141.8 43.29 142.041 42.7441C142.282 42.1982 142.648 41.7899 143.139 41.519C143.634 41.244 144.172 41.1064 144.752 41.1064C145.484 41.1064 146.082 41.2926 146.548 41.665C147.013 42.0332 147.312 42.5579 147.443 43.2393L146.332 43.4106C146.226 42.9578 146.038 42.6172 145.767 42.3887C145.501 42.1602 145.177 42.0459 144.796 42.0459C144.22 42.0459 143.753 42.2533 143.393 42.668C143.033 43.0785 142.854 43.7301 142.854 44.623C142.854 45.5286 143.027 46.1867 143.374 46.5972C143.721 47.0076 144.174 47.2129 144.733 47.2129C145.181 47.2129 145.556 47.0754 145.856 46.8003C146.157 46.5252 146.347 46.1021 146.427 45.5308Z" fill="#ADBFCC"/>
<path d="M152.927 47.1685C152.504 47.5282 152.096 47.7821 151.702 47.9302C151.313 48.0783 150.894 48.1523 150.445 48.1523C149.705 48.1523 149.136 47.9725 148.738 47.6128C148.34 47.2489 148.141 46.7855 148.141 46.2227C148.141 45.8926 148.215 45.5921 148.363 45.3213C148.516 45.0462 148.713 44.8262 148.954 44.6611C149.199 44.4961 149.474 44.3713 149.779 44.2866C150.003 44.2274 150.342 44.1702 150.795 44.1152C151.717 44.0052 152.396 43.874 152.832 43.7217C152.836 43.5651 152.838 43.4657 152.838 43.4233C152.838 42.9578 152.731 42.6299 152.515 42.4395C152.223 42.1813 151.789 42.0522 151.213 42.0522C150.676 42.0522 150.278 42.1475 150.02 42.3379C149.766 42.5241 149.578 42.8563 149.455 43.3345L148.338 43.1821C148.44 42.7039 148.607 42.3188 148.839 42.0269C149.072 41.7306 149.409 41.5042 149.849 41.3477C150.289 41.1868 150.799 41.1064 151.379 41.1064C151.954 41.1064 152.422 41.1742 152.781 41.3096C153.141 41.445 153.406 41.6164 153.575 41.8237C153.744 42.0269 153.863 42.285 153.93 42.5981C153.968 42.7928 153.987 43.144 153.987 43.6519V45.1753C153.987 46.2375 154.011 46.9103 154.057 47.1938C154.108 47.4731 154.205 47.7419 154.349 48H153.156C153.037 47.763 152.961 47.4858 152.927 47.1685ZM152.832 44.6167C152.417 44.786 151.795 44.9299 150.966 45.0483C150.496 45.116 150.164 45.1922 149.969 45.2769C149.775 45.3615 149.624 45.4863 149.519 45.6514C149.413 45.8122 149.36 45.992 149.36 46.1909C149.36 46.4956 149.474 46.7495 149.703 46.9526C149.935 47.1558 150.274 47.2573 150.718 47.2573C151.158 47.2573 151.55 47.1621 151.893 46.9717C152.235 46.777 152.487 46.5125 152.648 46.1782C152.771 45.9201 152.832 45.5392 152.832 45.0356V44.6167Z" fill="#ADBFCC"/>
<path d="M155.771 41.2588H156.914V44.0645H160.081V41.2588H161.224V48H160.081V45.0103H156.914V48H155.771V41.2588Z" fill="#ADBFCC"/>
<path d="M162.95 41.2588H164.093V46.4004L167.26 41.2588H168.492V48H167.349V42.8901L164.182 48H162.95V41.2588Z" fill="#ADBFCC"/>
<path d="M174.827 45.8291L176.007 45.9751C175.821 46.6649 175.476 47.2002 174.973 47.5811C174.469 47.9619 173.826 48.1523 173.043 48.1523C172.057 48.1523 171.274 47.8498 170.694 47.2446C170.119 46.6353 169.831 45.7826 169.831 44.6865C169.831 43.5524 170.123 42.6722 170.707 42.0459C171.291 41.4196 172.049 41.1064 172.98 41.1064C173.881 41.1064 174.617 41.4132 175.189 42.0269C175.76 42.6405 176.046 43.5037 176.046 44.6167C176.046 44.6844 176.043 44.786 176.039 44.9214H171.012C171.054 45.6619 171.264 46.229 171.64 46.6226C172.017 47.0161 172.487 47.2129 173.049 47.2129C173.468 47.2129 173.826 47.1029 174.122 46.8828C174.418 46.6628 174.653 46.3115 174.827 45.8291ZM171.075 43.9819H174.839C174.789 43.4149 174.645 42.9896 174.408 42.7061C174.044 42.266 173.572 42.0459 172.992 42.0459C172.468 42.0459 172.025 42.2215 171.666 42.5728C171.31 42.924 171.113 43.3937 171.075 43.9819Z" fill="#ADBFCC"/>
<path d="M45 15H124V17H45V15Z" fill="#CEDAE2"/>
</g>
</g>
<defs>
<clipPath id="clip0_494_209">
<rect width="288" height="65" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c067a94e-5bea-4b47-bb57-6cf973a7ad45">
<name>МЧДСозданиеБезРегистрации</name>
<synonym>
<key>ru</key>
<value>МЧД создание без регистрации</value>
</synonym>
</mdclass:CommonPicture>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonTemplate xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6f3c5b90-b030-4267-a973-33d12c2c7680"> <mdclass:CommonTemplate xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6f3c5b90-b030-4267-a973-33d12c2c7680">
<name>КомпонентаTWAIN</name> <name>КомпонентаTWAIN_3_1_0_1013</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Компонента TWAIN</value> <value>Компонента TWAIN</value>
@@ -363,7 +363,7 @@
<expression>ВЫРАЗИТЬ(ВЫБОР <expression>ВЫРАЗИТЬ(ВЫБОР
КОГДА Версия = "*" ТОГДА -1 КОГДА Версия = "*" ТОГДА -1
ИНАЧЕ ОбновлениеИнформационнойБазыСлужебный.ВесВерсии(Версия) ИНАЧЕ ОбновлениеИнформационнойБазыСлужебный.ВесВерсии(Версия)
КОНЕЦ, "Число(12, 0)")</expression> КОНЕЦ, "Число(13, 0)")</expression>
<title xsi:type="v8:LocalStringType"> <title xsi:type="v8:LocalStringType">
<v8:item> <v8:item>
<v8:lang>ru</v8:lang> <v8:lang>ru</v8:lang>
@@ -373,7 +373,7 @@
<valueType> <valueType>
<v8:Type>xs:decimal</v8:Type> <v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers> <v8:NumberQualifiers>
<v8:Digits>12</v8:Digits> <v8:Digits>13</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits> <v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign> <v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers> </v8:NumberQualifiers>
@@ -395,7 +395,7 @@
<dcscom:expression>ВЫРАЗИТЬ(ВЫБОР <dcscom:expression>ВЫРАЗИТЬ(ВЫБОР
КОГДА Версия = "*" ИЛИ ВыполнятьВГруппеОбязательных ТОГДА -1 КОГДА Версия = "*" ИЛИ ВыполнятьВГруппеОбязательных ТОГДА -1
ИНАЧЕ ОбновлениеИнформационнойБазыСлужебный.ВесВерсии(Версия) ИНАЧЕ ОбновлениеИнформационнойБазыСлужебный.ВесВерсии(Версия)
КОНЕЦ, "Число(12, 0)") возр</dcscom:expression> КОНЕЦ, "Число(13, 0)")</dcscom:expression>
<dcscom:orderType>Asc</dcscom:orderType> <dcscom:orderType>Asc</dcscom:orderType>
<dcscom:autoOrder>false</dcscom:autoOrder> <dcscom:autoOrder>false</dcscom:autoOrder>
</orderExpression> </orderExpression>
+13 -12
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="7f6be7bd-de0a-4963-bb19-add1be78f4cd"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="8b4d6c9b-04f9-4a77-b543-22d02bee1888">
<name>БиблиотекаСтандартныхПодсистем</name> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value> <value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="074440c5-ed12-49db-8951-1dc0afb06621"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="9fc51831-c15c-4b04-91b4-69e3f54ebe8b"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="fbbd6ed1-968a-48ab-a50f-89c195650313"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="77ec114a-de21-4c39-ba0d-bac0af12983b"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="d7af3b2e-8047-4d8f-98d4-8f20aa8a53f9"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="56d40ca9-630e-44a8-94d3-e3587381d9e5"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="6fd00c79-c803-441a-89f5-5493ba908b1e"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="083c247b-934a-4b32-a831-c9d09a409dfe"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="db4fee2b-5e4c-40a0-a98d-aa60c9ed5e8c"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="e0443d51-a79e-44f7-a423-4e164c36bc03"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="99a0a492-e972-46fa-a199-61742bb9e288"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="7c3fe237-c165-4dea-9442-e4146be25c33"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="0facb9dc-c9db-44a8-a73b-58f902ae05e8"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="01f21cd2-dca1-4eb6-a4cd-e72c973584fb"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.9.144</version> <version>3.1.9.162</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -403,7 +403,9 @@
<commonPictures>CommonPicture.МЧДОтменена</commonPictures> <commonPictures>CommonPicture.МЧДОтменена</commonPictures>
<commonPictures>CommonPicture.МЧДПодписана</commonPictures> <commonPictures>CommonPicture.МЧДПодписана</commonPictures>
<commonPictures>CommonPicture.МЧДСозданаПодписание</commonPictures> <commonPictures>CommonPicture.МЧДСозданаПодписание</commonPictures>
<commonPictures>CommonPicture.МЧДСозданаПодписаниеБезРегистрации</commonPictures>
<commonPictures>CommonPicture.МЧДСоздание</commonPictures> <commonPictures>CommonPicture.МЧДСоздание</commonPictures>
<commonPictures>CommonPicture.МЧДСозданиеБезРегистрации</commonPictures>
<commonPictures>CommonPicture.НазначенияВариантовОтчетов</commonPictures> <commonPictures>CommonPicture.НазначенияВариантовОтчетов</commonPictures>
<commonPictures>CommonPicture.НаписатьSMS</commonPictures> <commonPictures>CommonPicture.НаписатьSMS</commonPictures>
<commonPictures>CommonPicture.Напоминание</commonPictures> <commonPictures>CommonPicture.Напоминание</commonPictures>
@@ -852,7 +854,7 @@
<commonTemplates>CommonTemplate.ИнструкцияКакВыполнитьНастройкуМакетаOfficeOpen</commonTemplates> <commonTemplates>CommonTemplate.ИнструкцияКакВыполнитьНастройкуМакетаOfficeOpen</commonTemplates>
<commonTemplates>CommonTemplate.ИнструкцияКакВыполнитьУстановкуОбновленияВручную</commonTemplates> <commonTemplates>CommonTemplate.ИнструкцияКакВыполнитьУстановкуОбновленияВручную</commonTemplates>
<commonTemplates>CommonTemplate.ИнструкцияПоСозданиюФаксимильнойПодписиИПечати</commonTemplates> <commonTemplates>CommonTemplate.ИнструкцияПоСозданиюФаксимильнойПодписиИПечати</commonTemplates>
<commonTemplates>CommonTemplate.КомпонентаTWAIN</commonTemplates> <commonTemplates>CommonTemplate.КомпонентаTWAIN_3_1_0_1013</commonTemplates>
<commonTemplates>CommonTemplate.КомпонентаПечатиQRКода</commonTemplates> <commonTemplates>CommonTemplate.КомпонентаПечатиQRКода</commonTemplates>
<commonTemplates>CommonTemplate.КомпонентаПечатиШтрихкодов</commonTemplates> <commonTemplates>CommonTemplate.КомпонентаПечатиШтрихкодов</commonTemplates>
<commonTemplates>CommonTemplate.КомпонентаПоискаСтрок</commonTemplates> <commonTemplates>CommonTemplate.КомпонентаПоискаСтрок</commonTemplates>
@@ -1341,6 +1343,7 @@
<commonModules>CommonModule.ФайловаяСистемаСлужебныйКлиент</commonModules> <commonModules>CommonModule.ФайловаяСистемаСлужебныйКлиент</commonModules>
<commonModules>CommonModule.ФайловаяСистемаСлужебныйКлиентСервер</commonModules> <commonModules>CommonModule.ФайловаяСистемаСлужебныйКлиентСервер</commonModules>
<commonModules>CommonModule.ФизическиеЛицаКлиентСервер</commonModules> <commonModules>CommonModule.ФизическиеЛицаКлиентСервер</commonModules>
<commonModules>CommonModule.ФизическиеЛицаКлиентСерверЛокализация</commonModules>
<commonModules>CommonModule.ЦентрМониторинга</commonModules> <commonModules>CommonModule.ЦентрМониторинга</commonModules>
<commonModules>CommonModule.ЦентрМониторингаГлобальный</commonModules> <commonModules>CommonModule.ЦентрМониторингаГлобальный</commonModules>
<commonModules>CommonModule.ЦентрМониторингаКлиент</commonModules> <commonModules>CommonModule.ЦентрМониторингаКлиент</commonModules>
@@ -1683,7 +1686,6 @@
<definedTypes>DefinedType.КонтекстПроверокВеденияУчета</definedTypes> <definedTypes>DefinedType.КонтекстПроверокВеденияУчета</definedTypes>
<definedTypes>DefinedType.Контрагент</definedTypes> <definedTypes>DefinedType.Контрагент</definedTypes>
<definedTypes>DefinedType.КурсВалюты</definedTypes> <definedTypes>DefinedType.КурсВалюты</definedTypes>
<definedTypes>DefinedType.МашиночитаемаяДоверенность</definedTypes>
<definedTypes>DefinedType.МестоХраненияФункциональныхОпций</definedTypes> <definedTypes>DefinedType.МестоХраненияФункциональныхОпций</definedTypes>
<definedTypes>DefinedType.ОбменДаннымиУчетныеЗаписиЭлектроннойПочты</definedTypes> <definedTypes>DefinedType.ОбменДаннымиУчетныеЗаписиЭлектроннойПочты</definedTypes>
<definedTypes>DefinedType.ОбъектАдресации</definedTypes> <definedTypes>DefinedType.ОбъектАдресации</definedTypes>
@@ -1694,7 +1696,6 @@
<definedTypes>DefinedType.Организация</definedTypes> <definedTypes>DefinedType.Организация</definedTypes>
<definedTypes>DefinedType.ОтложенныйБизнесПроцесс</definedTypes> <definedTypes>DefinedType.ОтложенныйБизнесПроцесс</definedTypes>
<definedTypes>DefinedType.ПодписанныйОбъект</definedTypes> <definedTypes>DefinedType.ПодписанныйОбъект</definedTypes>
<definedTypes>DefinedType.ПодписанныйОбъектМЧД</definedTypes>
<definedTypes>DefinedType.Подразделение</definedTypes> <definedTypes>DefinedType.Подразделение</definedTypes>
<definedTypes>DefinedType.ПолеРегистраКлючейДоступаКРегистрам</definedTypes> <definedTypes>DefinedType.ПолеРегистраКлючейДоступаКРегистрам</definedTypes>
<definedTypes>DefinedType.ПолучательРассылки</definedTypes> <definedTypes>DefinedType.ПолучательРассылки</definedTypes>
@@ -1 +1 @@
{6,1,1,3ba6fa6d-c49e-44b6-bbe3-91114f5d86ba,1,bd815bc0-e462-4f13-a770-69878986b5ab,"3.1.9.144","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7606,1,0,7f6be7bd-de0a-4963-bb19-add1be78f4cd,7f6be7bd-de0a-4963-bb19-add1be78f4cd,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754Line truncated {6,1,1,1076471b-5021-49e1-bf0e-009d7d20eef6,1,4ebd0d42-414f-4956-ac5c-d9ab1ea364be,"3.1.9.162","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7611,1,0,8b4d6c9b-04f9-4a77-b543-22d02bee1888,8b4d6c9b-04f9-4a77-b543-22d02bee1888,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754Line truncated
@@ -10,7 +10,7 @@
#Область ОписаниеПеременных #Область ОписаниеПеременных
Перем СтароеЗначение; Перем СтароеЗначение, НовоеЗначение;
#КонецОбласти #КонецОбласти
@@ -24,6 +24,16 @@
СтароеЗначение = Константы.ОграничиватьДоступНаУровнеЗаписейУниверсально.Получить(); СтароеЗначение = Константы.ОграничиватьДоступНаУровнеЗаписейУниверсально.Получить();
Если Не УправлениеДоступомСлужебный.ВариантВстроенногоЯзыкаРусский() Тогда
Значение = Истина;
КонецЕсли;
НовоеЗначение = Значение;
Если Значение И Не СтароеЗначение Тогда // Включено.
РегистрыСведений.ПараметрыОграниченияДоступа.ОбновитьДанныеРегистра();
КонецЕсли;
КонецПроцедуры КонецПроцедуры
Процедура ПриЗаписи(Отказ) Процедура ПриЗаписи(Отказ)
@@ -32,13 +42,15 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если Не УправлениеДоступомСлужебный.ВариантВстроенногоЯзыкаРусский() Тогда Если НовоеЗначение <> Значение Тогда
Значение = Истина; ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Нельзя изменять значение константы %1 в обработчиках подписок на событие %2.'"),
"ОграничиватьДоступНаУровнеЗаписейУниверсально", "ПередЗаписью");
ВызватьИсключение ТекстОшибки;
КонецЕсли; КонецЕсли;
Если Значение И Не СтароеЗначение Тогда // Включено. Если Значение И Не СтароеЗначение Тогда // Включено.
УправлениеДоступомСлужебный.ОчиститьПоследнееОбновлениеДоступа(); УправлениеДоступомСлужебный.ОчиститьПоследнееОбновлениеДоступа();
РегистрыСведений.ПараметрыОграниченияДоступа.ОбновитьДанныеРегистра();
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа(); ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.Описание = "ВключеноОграничиватьДоступНаУровнеЗаписейУниверсально"; ПараметрыПланирования.Описание = "ВключеноОграничиватьДоступНаУровнеЗаписейУниверсально";
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(Неопределено, ПараметрыПланирования); УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(Неопределено, ПараметрыПланирования);
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт Функция ВерсияКалендарей() Экспорт
Возврат 59; Возврат 61;
КонецФункции КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.9.140"; Возврат "3.1.9.157";
КонецФункции КонецФункции
@@ -113,6 +113,10 @@
ЗаполнитьПраздничныеДниУстьОрдынскогоБурятскогоОкругаИркутскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни); ЗаполнитьПраздничныеДниУстьОрдынскогоБурятскогоОкругаИркутскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниРеспубликиКрым(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни); ЗаполнитьПраздничныеДниРеспубликиКрым(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниСевастополя(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни); ЗаполнитьПраздничныеДниСевастополя(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниДонецкойНароднойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниЛуганскойНароднойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниХерсонскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
ЗаполнитьПраздничныеДниЗапорожскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни);
КонецПроцедуры КонецПроцедуры
@@ -413,8 +417,8 @@
ДобавитьПраздничныйДень(ПраздничныеДни, 18, 3, НомерГода); ДобавитьПраздничныйДень(ПраздничныеДни, 18, 3, НомерГода);
КонецЕсли; КонецЕсли;
// 18 марта - День возвращения города Севастополя в Россию.
Если НомерГода >= 2023 Тогда Если НомерГода >= 2023 Тогда
// 18 марта - День возвращения города Севастополя в Россию.
// Возвращен с 2023 года. // Возвращен с 2023 года.
ДобавитьПраздничныйДень(ПраздничныеДни, 18, 3, НомерГода); ДобавитьПраздничныйДень(ПраздничныеДни, 18, 3, НомерГода);
// Добавлен праздничный день - День основания города Севастополя. // Добавлен праздничный день - День основания города Севастополя.
@@ -423,6 +427,62 @@
КонецПроцедуры КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниДонецкойНароднойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "93" Тогда
Возврат;
КонецЕсли;
Если НомерГода >= 2023 Тогда
// 11 мая - День ДНР.
ДобавитьПраздничныйДень(ПраздничныеДни, 11, 5, НомерГода);
// 30 сентября - День возвращения ДНР в Россию.
ДобавитьПраздничныйДень(ПраздничныеДни, 30, 9, НомерГода);
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниЛуганскойНароднойРеспублики(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "94" Тогда
Возврат;
КонецЕсли;
Если НомерГода >= 2023 Тогда
// 12 мая - День ЛНР.
ДобавитьПраздничныйДень(ПраздничныеДни, 12, 5, НомерГода);
// 30 сентября - День возвращения ЛНР в Россию.
ДобавитьПраздничныйДень(ПраздничныеДни, 30, 9, НомерГода);
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниХерсонскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "95" Тогда
Возврат;
КонецЕсли;
Если НомерГода >= 2023 Тогда
// 30 сентября - День воссоединения Херсонской области с Россией.
ДобавитьПраздничныйДень(ПраздничныеДни, 30, 9, НомерГода);
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьПраздничныеДниЗапорожскойОбласти(КодПроизводственногоКалендаря, НомерГода, ПраздничныеДни)
Если КодПроизводственногоКалендаря <> "90" Тогда
Возврат;
КонецЕсли;
Если НомерГода >= 2023 Тогда
// 30 сентября - День воссоединения Запорожской области с Россией.
ДобавитьПраздничныйДень(ПраздничныеДни, 30, 9, НомерГода);
КонецЕсли;
КонецПроцедуры
Процедура ДобавитьПраздничныеДниРоссийскойФедерации(НомерГода, ПраздничныеДни) Процедура ДобавитьПраздничныеДниРоссийскойФедерации(НомерГода, ПраздничныеДни)
// 1, 2, 3, 4, 5, 6 и 8 января - Новогодние каникулы. // 1, 2, 3, 4, 5, 6 и 8 января - Новогодние каникулы.
@@ -473,6 +473,8 @@
<Item Calendar="09" Year="2023" DayType="Праздник" Date="20230503" SwapDate=""/> <Item Calendar="09" Year="2023" DayType="Праздник" Date="20230503" SwapDate=""/>
<Item Calendar="09" Year="2023" DayType="Предпраздничный" Date="20230627" SwapDate=""/> <Item Calendar="09" Year="2023" DayType="Предпраздничный" Date="20230627" SwapDate=""/>
<Item Calendar="09" Year="2023" DayType="Праздник" Date="20230628" SwapDate=""/> <Item Calendar="09" Year="2023" DayType="Праздник" Date="20230628" SwapDate=""/>
<Item Calendar="09" Year="2023" DayType="Предпраздничный" Date="20230914" SwapDate=""/>
<Item Calendar="09" Year="2023" DayType="Праздник" Date="20230915" SwapDate=""/>
<Item Calendar="09" Year="2024" DayType="Предпраздничный" Date="20240409" SwapDate=""/> <Item Calendar="09" Year="2024" DayType="Предпраздничный" Date="20240409" SwapDate=""/>
<Item Calendar="09" Year="2024" DayType="Праздник" Date="20240410" SwapDate=""/> <Item Calendar="09" Year="2024" DayType="Праздник" Date="20240410" SwapDate=""/>
<Item Calendar="09" Year="2024" DayType="Праздник" Date="20240503" SwapDate="20240505"/> <Item Calendar="09" Year="2024" DayType="Праздник" Date="20240503" SwapDate="20240505"/>
@@ -889,6 +891,9 @@
<Item Calendar="90" Year="2023" DayType="Праздник" Date="20230605" SwapDate=""/> <Item Calendar="90" Year="2023" DayType="Праздник" Date="20230605" SwapDate=""/>
<Item Calendar="90" Year="2023" DayType="Предпраздничный" Date="20230907" SwapDate=""/> <Item Calendar="90" Year="2023" DayType="Предпраздничный" Date="20230907" SwapDate=""/>
<Item Calendar="90" Year="2023" DayType="Праздник" Date="20230908" SwapDate=""/> <Item Calendar="90" Year="2023" DayType="Праздник" Date="20230908" SwapDate=""/>
<Item Calendar="90" Year="2023" DayType="Предпраздничный" Date="20230929" SwapDate=""/>
<Item Calendar="90" Year="2023" DayType="Праздник" Date="20230930" SwapDate="20231002"/>
<Item Calendar="90" Year="2023" DayType="Суббота" Date="20231002" SwapDate="20230930"/>
<Item Calendar="91" Year="2016" DayType="Предпраздничный" Date="20160317" SwapDate=""/> <Item Calendar="91" Year="2016" DayType="Предпраздничный" Date="20160317" SwapDate=""/>
<Item Calendar="91" Year="2016" DayType="Праздник" Date="20160318" SwapDate=""/> <Item Calendar="91" Year="2016" DayType="Праздник" Date="20160318" SwapDate=""/>
<Item Calendar="91" Year="2016" DayType="Праздник" Date="20160620" SwapDate=""/> <Item Calendar="91" Year="2016" DayType="Праздник" Date="20160620" SwapDate=""/>
@@ -996,6 +1001,9 @@
<Item Calendar="95" Year="2023" DayType="Предпраздничный" Date="20230629" SwapDate=""/> <Item Calendar="95" Year="2023" DayType="Предпраздничный" Date="20230629" SwapDate=""/>
<Item Calendar="95" Year="2023" DayType="Праздник" Date="20230630" SwapDate=""/> <Item Calendar="95" Year="2023" DayType="Праздник" Date="20230630" SwapDate=""/>
<Item Calendar="95" Year="2023" DayType="Нерабочий" Date="20230908" SwapDate=""/> <Item Calendar="95" Year="2023" DayType="Нерабочий" Date="20230908" SwapDate=""/>
<Item Calendar="95" Year="2023" DayType="Предпраздничный" Date="20230929" SwapDate=""/>
<Item Calendar="95" Year="2023" DayType="Праздник" Date="20230930" SwapDate="20231002"/>
<Item Calendar="95" Year="2023" DayType="Суббота" Date="20231002" SwapDate="20230930"/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010101" SwapDate=""/> <Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010101" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010102" SwapDate=""/> <Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010102" SwapDate=""/>
<Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010107" SwapDate="20010108"/> <Item Calendar="РФ" Year="2001" DayType="Праздник" Date="20010107" SwapDate="20010108"/>
@@ -443,9 +443,9 @@
{ {
"Anchor": "", "Anchor": "",
"Reason": "Неправильно строится цепочка доверия сертификата. Возможно, в сертификате указана неверная ссылка на сведения центра сертификации.", "Reason": "Неправильно строится цепочка доверия сертификата. Возможно, в сертификате указана неверная ссылка на сведения центра сертификации.",
"Solution": "Скачайте с сайта удостоверяющего центра, выдавшего сертификат, промежуточные и корневые сертификаты и установите их.", "Solution": "Обратитесь за корневым или промежуточным сертификатом и технической поддержкой в выдавший его удостоверяющий центр.",
"ErrorText": "Подпись сертификата не может быть проверена", "ErrorText": "Подпись сертификата не может быть проверена",
"RepairMethods": "", "RepairMethods": "{\"МетодикиУстранения\": [\"УказатьВРешенииСсылкуНаУдостоверяющийЦентр\"]}",
"Category": "chaining" "Category": "chaining"
}, },
{ {
@@ -478,8 +478,344 @@
"ErrorText": "Цепочка сертификатов не может быть построена до доверенного корневого сертификата", "ErrorText": "Цепочка сертификатов не может быть построена до доверенного корневого сертификата",
"RepairMethods": "", "RepairMethods": "",
"Category": "chaining" "Category": "chaining"
},
{
"Anchor": "",
"Reason": "Введен некорректный логин или пароль.",
"Solution": "Проверьте подключение к <a href = \"e1cib/command/Обработка.ПанельАдминистрированияБИП.Команда.ИнтернетПоддержкаИСервисы\">интернет-поддержке</a>.",
"ErrorText": "/token|invalid_grant",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Не верно указаны параметры авторизации.",
"Solution": "Обратитесь в службу поддержки.",
"ErrorText": "/token|unsupported_grant_type",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен от не аутентифицированного пользователя.",
"Solution": "",
"ErrorText": "/number|/errors/unauthenticated",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен не от пользователя с ролью Оператор ЭДО.",
"Solution": "",
"ErrorText": "/number|/errors/unauthorized",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен от не аутентифицированного пользователя.",
"Solution": "",
"ErrorText": "/poa|/errors/unauthenticated",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен не от пользователя с ролью Оператор ЭДО.",
"Solution": "",
"ErrorText": "/poa|/errors/unauthorized",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Номер загружаемой доверенности [НомерДоверенности] уже используется.",
"Solution": "Установите новый номер доверенности.",
"ErrorText": "/poa|/contract/pre_validation/failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Некорректный префикс «ИдФайл»=\"ON_DOVBB\" или \"ON_DOVEL\" невозможно определить тип (B2B или B2G).",
"Solution": "",
"ErrorText": "/poa|/errors/unknown-poa-type",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Не пройдена проверка валидности электронной подписи.",
"Solution": "Убедитесь, что сертификат электронной подписи действует.",
"ErrorText": "/poa|/errors/poa.signature_is_invalid",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "В сертификате ЭЦП не заполнены ФИО владельца электронной подписи.",
"Solution": "Проверьте данные сертификата электронной подписи.",
"ErrorText": "/poa|/errors/certificate_cn_not_specified",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "В сертификате электронной подписи не заполнен СНИЛС.",
"Solution": "Проверьте данные сертификата электронной подписи.",
"ErrorText": "/poa|/errors/certificate_snils_not_specified",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "ОГРН отсутствует в сертификате электронной подписи.",
"Solution": "В сертификате электронной подписи не заполнен ОГРН организации.",
"ErrorText": "/poa|/errors/certificate_ogrn_not_specified",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "В сертификате электронной подписи не заполнен ОГРНИП.",
"Solution": "Проверьте данные сертификата электронной подписи.",
"ErrorText": "/poa|/errors/certificate_ogrnip_not_specified",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "ФИО подписанта доверенности не совпадает с ФИО в сертификате электронной подписи.",
"Solution": "Проверьте данные доверенности и сертификата электронной подписи. Ошибка возникает, если в качестве доверителя в загружаемой доверенности указан ИП.",
"ErrorText": "/poa|/errors/individual_entrepreneur_signer_check_failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "СНИЛС подписанта доверенности не совпадает со СНИЛС в сертификате электронной подписи.",
"Solution": "Проверьте данные доверенности и сертификата электронной подписи.",
"ErrorText": "/poa|/errors/individual_entrepreneur_snils_check_failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "ОГРНИП доверителя не указан в доверенности.",
"Solution": "Проверьте данные доверенности.",
"ErrorText": "/poa|/errors/individual_entrepreneur_ogrnip_not_specified",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "ОГРНИП доверителя в доверенности не совпадает с ОГРНИП в сертификате электронной подписи.",
"Solution": "Проверьте данные доверенности и сертификата электронной подписи.",
"ErrorText": "/poa|/errors/individual_entrepreneur_ogrnip_check_failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "СНИЛС подписанта доверенности не совпадает со СНИЛС в сертификате электронной подписи.",
"Solution": "Проверьте данные доверенности и сертификата электронной подписи.",
"ErrorText": "/poa|/errors/russian_legal_entity_snils_check_failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "ОГРН доверителя в доверенности не совпадает с ОГРН в сертификате электронной подписи.",
"Solution": "Проверьте данные доверенности и сертификата электронной подписи.",
"ErrorText": "/poa|/errors/russian_legal_entity_ogrn_check_failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "ОГРН организации-доверителя не совпадает с ОГРН в сертификате электронной подписи.",
"Solution": "Проверьте данные доверенности и сертификата электронной подписи.",
"ErrorText": "/poa|/errors/russian_legal_entity_inner_ogrn_check_failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Данные доверителя и подписанта в доверенности не соответствуют данным из ЕГРЮЛ.",
"Solution": "Не пройдена проверка подписанта (ЕИО) на соответствие данным ЕГРЮЛ. Ошибка возникает, если в качестве доверителя в загружаемой доверенности указано ЮЛ.",
"ErrorText": "/poa|/errors/russian_legal_entity_signer_check_failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Доверенность с указанным идентификатором файла уже существует в распределенном реестре ФНС.",
"Solution": "Проверьте регистрацию доверенности на сайте распределенного реестра ФНС <a href = \"https://m4d.nalog.gov.ru/EMCHD/check-status\">распределенного реестра</a>.",
"ErrorText": "/poa|/contract/pre_validation/failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Доверенность с указанным идентификатором файла уже существует в распределенном реестре ФНС.",
"Solution": "Проверьте регистрацию доверенности на сайте распределенного реестра ФНС <a href = \"https://m4d.nalog.gov.ru/EMCHD/check-status\">распределенного реестра</a>.",
"ErrorText": "/poa|/errors/poa.poa_number_already_exists",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен от не аутентифицированного пользователя.",
"Solution": "",
"ErrorText": "/transactions|/errors/unauthenticated",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен не от пользователя с ролью Оператор ЭДО.",
"Solution": "",
"ErrorText": "/transactions|/errors/unauthorized",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Передан номер транзакции, по которому не найдено транзакций в распределенном реестре ФНС.",
"Solution": "Повторите операцию регистрации доверенности.",
"ErrorText": "/transactions|/errors/not-found",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен от не аутентифицированного пользователя",
"Solution": "Проверьте подключение к <a href = \"e1cib/command/Обработка.ПанельАдминистрированияБИП.Команда.ИнтернетПоддержкаИСервисы\">интернет-поддержке</a>.",
"ErrorText": "/poaopen|/errors/unauthenticated",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен не от пользователя с ролью Оператор ЭДО.",
"Solution": "",
"ErrorText": "/poaopen|/errors/unauthorized",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "По номеру доверенности [НомерДоверенности] данных в распределенном реестре ФНС не найдено.",
"Solution": "Проверьте регистрацию доверенности на сайте распределенного реестра ФНС <a href = \"https://m4d.nalog.gov.ru/EMCHD/check-status\">распределенного реестра</a>.",
"ErrorText": "/poaopen|/errors/not-found",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "По номеру доверенности [НомерДоверенности] данных в распределенном реестре ФНС не найдено.",
"Solution": "Проверьте регистрацию доверенности на сайте распределенного реестра ФНС <a href = \"https://m4d.nalog.gov.ru/EMCHD/check-status\">распределенного реестра</a>.",
"ErrorText": "/poaopen|/errors/resource_not_found",
"RepairMethods": "{\"МетодикиУстранения\": [\"ИспользоватьТаймаут\"]}"
},
{
"Anchor": "",
"Reason": "Запрос выполнен от не аутентифицированного пользователя.",
"Solution": "Проверьте подключение к <a href = \"e1cib/command/Обработка.ПанельАдминистрированияБИП.Команда.ИнтернетПоддержкаИСервисы\">интернет-поддержке</a>.",
"ErrorText": "/poazip|/errors/unauthenticated",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен не от пользователя с ролью Оператор ЭДО.",
"Solution": "",
"ErrorText": "/poazip|/errors/unauthorized",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "По номеру доверенности [НомерДоверенности] данных в распределенном реестре ФНС не найдено.",
"Solution": "Проверьте правильность ввода номера доверенности и ИНН.",
"ErrorText": "/poazip|/errors/not-found",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "По номеру доверенности [НомерДоверенности] данных в распределенном реестре ФНС не найдено.",
"Solution": "Проверьте правильность ввода номера доверенности и ИНН.",
"ErrorText": "/poazip|Not Found",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "По номеру доверенности [НомерДоверенности] данных в распределенном реестре ФНС не найдено.",
"Solution": "Проверьте правильность ввода номера доверенности и ИНН.",
"ErrorText": "/poazip|/errors/resource_not_found",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен от не аутентифицированного пользователя.",
"Solution": "",
"ErrorText": "/poacancel|/errors/unauthenticated",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Запрос выполнен не от пользователя с ролью Оператор ЭДО.",
"Solution": "",
"ErrorText": "/poacancel|/errors/unauthorized",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Указанной в заявлении на отмену доверенности, с номером [НомерДоверенности] не существует.",
"Solution": "Проверьте регистрацию доверенности на сайте распределенного реестра ФНС <a href = \"https://m4d.nalog.gov.ru/EMCHD/check-status\">распределенного реестра</a>.",
"ErrorText": "/poacancel|/errors/not-found",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Отмена доверенности в статусе, отличном от «Зарегистрирована» или «Активна», недоступна.",
"Solution": "Проверьте статус доверенности.",
"ErrorText": "/poacancel|/errors/revoke_terminal_poa_status",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Не пройдена проверка валидности электронной подписи.",
"Solution": "Проверьте сертификат электронной подписи отзыва.",
"ErrorText": "/poacancel|/errors/revoke_signature_check_failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Не пройдена проверка полномочий подписанта, так как ОГРН/ОГРНИП доверителя в отменяемой доверенности не соответствуют ОГРН/ОГРНИП в сертификате электронной подписи.",
"Solution": "Проверьте сертификат электронной подписи отзыва.",
"ErrorText": "/poacancel|/errors/revoke_ogrn_or_ogrnip_check_failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Не пройдена проверка полномочий подписанта, так как в сертификате электронной подписи на заполнен ОГРН/ОГРНИП.",
"Solution": "Проверьте сертификат электронной подписи отзыва.",
"ErrorText": "/poacancel|/errors/revoke_certificate_ogrn_or_ogrnip_not_specified",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Не пройдена проверка полномочий подписанта, так как в сертификате электронной подписи не заполнен СНИЛС владельца.",
"Solution": "Проверьте сертификат электронной подписи отзыва.",
"ErrorText": "/poacancel|/errors/revoke_certificate_snils_not_specified",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Не пройдена проверка полномочий подписанта, так как СНИЛС подписанта в отменяемой доверенности не соответствуют СНИЛС в сертификате электронной подписи.",
"Solution": "Проверьте правильность выбора электронной подписи при подписании отзыва доверенности.",
"ErrorText": "/poacancel|/errors/revoke_snils_check_failed",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Файл выгрузки доверенности не соответствует ожидаемой схеме документа",
"Solution": "",
"ErrorText": "/poacancel|/errors/invalid_poa_revoke_xml",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Доверенности с номером [НомерДоверенности] не найдено.",
"Solution": "",
"ErrorText": "/pdf|/errors/resource_not_found",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Не заданы логин и пароль авторизации на Портале 1С:ИТС.",
"Solution": "Выполните подключение к <a href = \"e1cib/command/Обработка.ПанельАдминистрированияБИП.Команда.ИнтернетПоддержкаИСервисы\">интернет-поддержке</a>.",
"ErrorText": "/token|",
"RepairMethods": ""
},
{
"Anchor": "",
"Reason": "Не заданы логин и пароль авторизации на Портале 1С:ИТС.",
"Solution": "Выполните подключение к <a href = \"e1cib/command/Обработка.ПанельАдминистрированияБИП.Команда.ИнтернетПоддержкаИСервисы\">интернет-поддержке</a>.",
"ErrorText": "не удается авторизоваться на сайте интернет поддержки",
"RepairMethods": ""
} }
], ],
"LastChangeDate": "2023-07-06T10:42:24", "LastChangeDate": "2023-09-29T17:26:12",
"Version": "3.0.1.3" "Version": "3.0.1.11"
} }
@@ -68,7 +68,7 @@
<name>КлассификаторОшибокКриптографии</name> <name>КлассификаторОшибокКриптографии</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Классификатор ошибок криптографии</value> <value>Классификатор ошибок криптографии 3.0.0.5</value>
</synonym> </synonym>
<comment>АПК:497 Не подлежит переводу, находится в локализованной части</comment> <comment>АПК:497 Не подлежит переводу, находится в локализованной части</comment>
<templateType>BinaryData</templateType> <templateType>BinaryData</templateType>
@@ -28,7 +28,7 @@
ТипВладельца = ТипЗнч(Параметры.ВладелецФайла); ТипВладельца = ТипЗнч(Параметры.ВладелецФайла);
Если Метаданные.ОпределяемыеТипы.ВладелецФайлов.Тип.СодержитТип(ТипВладельца) Тогда Если Метаданные.ОпределяемыеТипы.ВладелецФайлов.Тип.СодержитТип(ТипВладельца) Тогда
ПолноеИмяВладельца = Метаданные.НайтиПоТипу(ТипВладельца).Имя; ПолноеИмяВладельца = Метаданные.НайтиПоТипу(ТипВладельца).Имя;
Если Метаданные.Справочники.Найти(ПолноеИмяВладельца + "ПрисоединенныеФайлы") = Неопределено Тогда Если Метаданные.Справочники.Найти(ПолноеИмяВладельца + РаботаСФайламиКлиентСервер.СуффиксСправочникаПрисоединенныеФайлы()) = Неопределено Тогда
ЭтоВладелецЭлементовСправочникаФайлы = Истина; ЭтоВладелецЭлементовСправочникаФайлы = Истина;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -3040,6 +3040,48 @@
<textSize>Normal</textSize> <textSize>Normal</textSize>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormField">
<name>ЭлектронныеПодписиМашиночитаемаяДоверенность</name>
<id>303</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ЭлектронныеПодписи.МашиночитаемаяДоверенность</segments>
</dataPath>
<titleLocation>None</titleLocation>
<extendedTooltip>
<name>ЭлектронныеПодписиМашиночитаемаяДоверенностьРасширеннаяПодсказка</name>
<id>305</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ЭлектронныеПодписиМашиночитаемаяДоверенностьКонтекстноеМеню</name>
<id>304</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>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -4238,6 +4280,48 @@
<common>true</common> <common>true</common>
</edit> </edit>
</columns> </columns>
<columns>
<name>МашиночитаемаяДоверенность</name>
<title>
<key>ru</key>
<value>Машиночитаемая доверенность</value>
</title>
<id>24</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>МашиночитаемаяДоверенностьВерна</name>
<id>25</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>РезультатПроверкиПодписиПоМЧД</name>
<id>26</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes> </attributes>
<attributes> <attributes>
<name>СертификатыШифрования</name> <name>СертификатыШифрования</name>
@@ -121,6 +121,27 @@
ОбновитьОбъект(); ОбновитьОбъект();
КонецЕсли; КонецЕсли;
// Локализация
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
Если ВРег(ИмяСобытия) = ВРег("ИзмененРезультатПроверкиМЧД") И Источник = ТекущаяСсылкаНаФайл() Тогда
Найдено = ЭлектронныеПодписи.НайтиСтроки(Новый Структура("РезультатПроверкиПодписиПоМЧД", Параметр));
Если Найдено.Количество() = 0 Тогда
Возврат;
КонецЕсли;
УстановитьМодифицированность();
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебныйКлиент");
ИнформацияМЧД = МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент.ИнформацияМЧД(Параметр);
ЗаполнитьЗначенияСвойств(Найдено[0], ИнформацияМЧД);
КонецЕсли;
КонецЕсли;
// Конец Локализация
Если ИмяСобытия = "Запись_Подпись" Тогда Если ИмяСобытия = "Запись_Подпись" Тогда
ПриПолученииПодписей(Неопределено, Неопределено); ПриПолученииПодписей(Неопределено, Неопределено);
КонецЕсли; КонецЕсли;
@@ -572,9 +593,7 @@
ДанныеФайла.СсылкаНаДвоичныеДанныеФайла, ДанныеФайла.СсылкаНаДвоичныеДанныеФайла,
Элементы.ЭлектронныеПодписи.ВыделенныеСтроки); Элементы.ЭлектронныеПодписи.ВыделенныеСтроки);
Если Элементы.ФормаСтандартнаяЗаписатьИЗакрыть.Видимость И Элементы.ФормаСтандартнаяЗаписатьИЗакрыть.Доступность Тогда УстановитьМодифицированность();
Модифицированность = Истина;
КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -588,10 +607,15 @@
ДанныеФайла = ДанныеФайла(ТекущаяСсылкаНаФайл(), УникальныйИдентификатор); ДанныеФайла = ДанныеФайла(ТекущаяСсылкаНаФайл(), УникальныйИдентификатор);
РаботаСФайламиСлужебныйКлиент.ПроверитьПодписи(ЭтотОбъект, ДанныеФайла.СсылкаНаДвоичныеДанныеФайла); РаботаСФайламиСлужебныйКлиент.ПроверитьПодписи(ЭтотОбъект, ДанныеФайла.СсылкаНаДвоичныеДанныеФайла);
УстановитьМодифицированность();
КонецПроцедуры
&НаКлиенте
Процедура УстановитьМодифицированность()
Если Элементы.ФормаСтандартнаяЗаписатьИЗакрыть.Видимость И Элементы.ФормаСтандартнаяЗаписатьИЗакрыть.Доступность Тогда Если Элементы.ФормаСтандартнаяЗаписатьИЗакрыть.Видимость И Элементы.ФормаСтандартнаяЗаписатьИЗакрыть.Доступность Тогда
Модифицированность = Истина; Модифицированность = Истина;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -1851,11 +1851,12 @@
ВводНовогоАдреса = ?(Результат.Свойство("ВводНовогоАдреса"), Результат.ВводНовогоАдреса, Ложь); ВводНовогоАдреса = ?(Результат.Свойство("ВводНовогоАдреса"), Результат.ВводНовогоАдреса, Ложь);
Если ВводНовогоАдреса Тогда Если ВводНовогоАдреса Тогда
АдресДействуетС = АдресНаДату; АдресДействуетС = АдресНаДату;
АдресНаДату = Результат.ТекущийАдрес; АдресНаДату = Результат.ТекущийАдрес;
Страна = ОсновнаяСтрана; Страна = ОсновнаяСтрана;
ТипАдреса = НаселенныйПунктДетально.addressType;
НаселенныйПунктДетально = РаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес")); НаселенныйПунктДетально = РаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес"));
НаселенныйПунктДетально.AddressType = РаботаСАдресамиКлиентСервер.МуниципальныйАдрес(); НаселенныйПунктДетально.Country = Строка(Страна);
НаселенныйПунктДетально.Country = Строка(Страна); НаселенныйПунктДетально.addressType = ТипАдреса;
ОбработкаИзмененияАдреса(); ОбработкаИзмененияАдреса();
Иначе Иначе
Отбор = Новый Структура("Вид", ОписаниеВидаКонтактнойИнформации(ЭтотОбъект).Ссылка); Отбор = Новый Структура("Вид", ОписаниеВидаКонтактнойИнформации(ЭтотОбъект).Ссылка);
@@ -367,14 +367,16 @@
<titleLocation>Right</titleLocation> <titleLocation>Right</titleLocation>
<titleHeight>2</titleHeight> <titleHeight>2</titleHeight>
<toolTipRepresentation>Button</toolTipRepresentation> <toolTipRepresentation>Button</toolTipRepresentation>
<handlers>
<event>OnChange</event>
<name>ПоказыватьДиалогСканераПриИзменении</name>
</handlers>
<extendedTooltip> <extendedTooltip>
<name>ПоказыватьДиалогСканераExtendedTooltip</name> <name>ПоказыватьДиалогСканераExtendedTooltip</name>
<id>77</id> <id>77</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value> <value>При использовании диалога сканера, будут использованы настройки, установленные в диалоге сканера.</value>
Отключение диалога сканера не действует для WIA-устройств (см. настройки сканера в операционной системе).
</value>
</title> </title>
<formatted>true</formatted> <formatted>true</formatted>
<type>Label</type> <type>Label</type>
@@ -48,6 +48,7 @@
&НаКлиенте &НаКлиенте
Процедура ПриОткрытии(Отказ) Процедура ПриОткрытии(Отказ)
ОбновитьСостояние(); ОбновитьСостояние();
ОбработатьИспользованиеДиалогаСканирования();
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -130,6 +131,13 @@
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьДиалогСканераПриИзменении(Элемент)
ОбработатьИспользованиеДиалогаСканирования();
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ОбработчикиКомандФормы #Область ОбработчикиКомандФормы
@@ -300,6 +308,7 @@
ПреобразоватьПараметрыСканераВПеречисления( ПреобразоватьПараметрыСканераВПеречисления(
РазрешениеЧисло, ЦветностьЧисло, ПоворотЧисло, РазмерБумагиЧисло); РазрешениеЧисло, ЦветностьЧисло, ПоворотЧисло, РазмерБумагиЧисло);
ОбработатьИспользованиеДиалогаСканирования();
КонецПроцедуры КонецПроцедуры
&НаСервереБезКонтекста &НаСервереБезКонтекста
@@ -363,4 +372,18 @@
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ОбработатьИспользованиеДиалогаСканирования()
Элементы.Разрешение.Доступность = Не ПоказыватьДиалогСканера;
Элементы.Цветность.Доступность = Не ПоказыватьДиалогСканера;
Элементы.Поворот.Доступность = Не ПоказыватьДиалогСканера;
Элементы.РазмерБумаги.Доступность = Не ПоказыватьДиалогСканера;
Элементы.ДвустороннееСканирование.Доступность = Не ПоказыватьДиалогСканера;
Элементы.ФорматСканированногоИзображения.Доступность = Не ПоказыватьДиалогСканера;
Элементы.КачествоJPG.Доступность = Не ПоказыватьДиалогСканера;
Элементы.СжатиеTIFF.Доступность = Не ПоказыватьДиалогСканера;
КонецПроцедуры
#КонецОбласти #КонецОбласти
Loaded 100 of 142 files, more files were not shown because too many files have changed in this diff. Show more