3_1_3_250
This commit is contained in:
1 parent
5c7c3489ca
commit
eff646d7ea
88 files changed
+5487
-2278
No files matched your search
@@ -92,14 +92,6 @@
|
||||
<key>ru</key>
|
||||
<value>Наименование</value>
|
||||
</synonym>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Name</value>
|
||||
</synonym>
|
||||
<synonym>
|
||||
<key>de</key>
|
||||
<value>Benennung</value>
|
||||
</synonym>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Наименование вида контактной информации</value>
|
||||
@@ -613,10 +605,6 @@
|
||||
<key>ru</key>
|
||||
<value>Идентификатор для формул</value>
|
||||
</synonym>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Идентификатор для формул</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
|
||||
+58
@@ -535,6 +535,10 @@
|
||||
<id>-1</id>
|
||||
<horizontalAlign>Right</horizontalAlign>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>OnOpen</event>
|
||||
<name>ПриОткрытии</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnCreateAtServer</event>
|
||||
<name>ПриСозданииНаСервере</name>
|
||||
@@ -666,6 +670,56 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПоказатьИнструкцию</name>
|
||||
<id>3</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПоказатьПереходКНастройкеПрограмм</name>
|
||||
<id>4</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПоказатьУстановкуРасширения</name>
|
||||
<id>5</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ДополнительныеДанные</name>
|
||||
<id>6</id>
|
||||
<valueType/>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>ПерейтиКНастройкеПрограмм</name>
|
||||
<title>
|
||||
@@ -756,6 +810,10 @@
|
||||
<name>НеподписанныеДанные</name>
|
||||
<valueType/>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ДополнительныеДанные</name>
|
||||
<valueType/>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
+58
-19
@@ -11,15 +11,8 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Заголовок = Параметры.ЗаголовокФормы;
|
||||
|
||||
ШиринаЗаголовка = СтрДлина(Заголовок);
|
||||
Если ШиринаЗаголовка > 80 Тогда
|
||||
ШиринаЗаголовка = 80;
|
||||
КонецЕсли;
|
||||
Если ШиринаЗаголовка > Ширина Тогда
|
||||
Ширина = ШиринаЗаголовка;
|
||||
КонецЕсли;
|
||||
ЭлектроннаяПодписьСлужебный.УстановитьЗаголовокОшибки(ЭтотОбъект,
|
||||
Параметры.ЗаголовокФормы);
|
||||
|
||||
ЭтоПолноправныйПользователь = Пользователи.ЭтоПолноправныйПользователь(,, Ложь);
|
||||
|
||||
@@ -62,11 +55,34 @@
|
||||
Элементы.ФормаПерейтиКНастройкеПрограмм.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
СброситьРазмерыИПоложениеОкна();
|
||||
ДополнительныеДанные = Параметры.ДополнительныеДанные;
|
||||
|
||||
Если ЗначениеЗаполнено(ДополнительныеДанные)
|
||||
И ТипЗнч(ДополнительныеДанные.НеподписанныеДанные) = Тип("Структура") Тогда
|
||||
|
||||
Если ТипЗнч(Параметры.НеподписанныеДанные) = Тип("Структура") Тогда
|
||||
ЭлектроннаяПодписьСлужебный.ЗарегистрироватьПодписаниеДанныхВЖурнале(
|
||||
Параметры.НеподписанныеДанные, ОписаниеОшибки);
|
||||
ДополнительныеДанные.НеподписанныеДанные, ОписаниеОшибки);
|
||||
|
||||
ДополнительныеДанные.НеподписанныеДанные = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ЭлектроннаяПодписьСлужебный.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
|
||||
Если Ошибки.Количество() = 1
|
||||
Или Ошибки.Количество() = 2
|
||||
И Ошибки[0].ОшибкаНаСервере <> Ошибки[1].ОшибкаНаСервере Тогда
|
||||
|
||||
Отказ = Истина;
|
||||
|
||||
Поток = Новый ПотокВПамяти;
|
||||
Поток.НачатьПолучениеРазмера(
|
||||
Новый ОписаниеОповещения("ПриОткрытииПродолжение", ЭтотОбъект));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -87,7 +103,16 @@
|
||||
Процедура ИнформацияДляПоддержкиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.СформироватьТехническуюИнформацию(ОписаниеОшибки);
|
||||
|
||||
ТекстОшибок = "";
|
||||
ОписаниеФайлов = Новый Массив;
|
||||
Если ЗначениеЗаполнено(ДополнительныеДанные) Тогда
|
||||
ЭлектроннаяПодписьСлужебныйВызовСервера.ДобавитьОписаниеДополнительныхДанных(
|
||||
ДополнительныеДанные, ОписаниеФайлов, ТекстОшибок);
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибок = ТекстОшибок + ОписаниеОшибки;
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.СформироватьТехническуюИнформацию(ТекстОшибок, , ОписаниеФайлов);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -138,16 +163,30 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура СброситьРазмерыИПоложениеОкна()
|
||||
// Продолжение процедуры ПриОткрытии.
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытииПродолжение(Результат, Контекст) Экспорт
|
||||
|
||||
ИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
|
||||
ПараметрыОшибки = Новый Структура;
|
||||
ПараметрыОшибки.Вставить("ЗаголовокПредупреждения", Заголовок);
|
||||
ПараметрыОшибки.Вставить(?(Ошибки[0].ОшибкаНаСервере,
|
||||
"ТекстОшибкиСервер", "ТекстОшибкиКлиент"), Ошибки[0].ОписаниеСЗаголовком);
|
||||
|
||||
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
|
||||
ХранилищеСистемныхНастроек.Удалить(ИмяФормы, "", ИмяПользователя);
|
||||
Если Ошибки.Количество() > 1 Тогда
|
||||
ПараметрыОшибки.Вставить(?(Ошибки[1].ОшибкаНаСервере,
|
||||
"ТекстОшибкиСервер", "ТекстОшибкиКлиент"), Ошибки[1].ОписаниеСЗаголовком);
|
||||
КонецЕсли;
|
||||
|
||||
КлючСохраненияПоложенияОкна = Строка(Новый УникальныйИдентификатор);
|
||||
ПараметрыОшибки.Вставить("ПоказатьТребуетсяПомощь", Истина);
|
||||
ПараметрыОшибки.Вставить("ПоказатьИнструкцию", ПоказатьИнструкцию);
|
||||
ПараметрыОшибки.Вставить("ПоказатьПереходКНастройкеПрограмм", ПоказатьПереходКНастройкеПрограмм);
|
||||
ПараметрыОшибки.Вставить("ПоказатьУстановкуРасширения", ПоказатьУстановкуРасширения);
|
||||
ПараметрыОшибки.Вставить("ОписаниеОшибки", ОписаниеОшибки);
|
||||
ПараметрыОшибки.Вставить("ДополнительныеДанные", ДополнительныеДанные);
|
||||
|
||||
ОбработкаПродолжения = ОписаниеОповещенияОЗакрытии;
|
||||
ОписаниеОповещенияОЗакрытии = Неопределено;
|
||||
ОткрытьФорму("ОбщаяФорма.РасширенноеПредставлениеОшибки", ПараметрыОшибки, ЭтотОбъект,,,, ОбработкаПродолжения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
+50
-9
@@ -24,11 +24,13 @@
|
||||
Элементы.НадписьНастройкаВЦентральномУзле.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.Наименование.СписокВыбора.Добавить("", НСтр("ru = '<Другая программа>'"));
|
||||
ПоставляемыеНастройки = Справочники.ПрограммыЭлектроннойПодписиИШифрования.ПоставляемыеНастройкиПрограмм();
|
||||
Для каждого ПоставляемаяНастройка Из ПоставляемыеНастройки Цикл
|
||||
Если ЕстьВОСКлиентаИлиВОССервера(ПоставляемаяНастройка) Тогда
|
||||
Элементы.Наименование.СписокВыбора.Добавить(ПоставляемаяНастройка.Представление);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Элементы.Наименование.СписокВыбора.Добавить("", НСтр("ru = '<Другая программа>'"));
|
||||
|
||||
// Заполнение нового объекта по поставляемой настройке.
|
||||
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
|
||||
@@ -56,6 +58,12 @@
|
||||
|
||||
ЗаполнитьАлгоритмыВыбраннойПрограммы();
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПодключитьОбработчикОжидания("ОбработчикОжиданияНачатьВыборПрограммыПослеОткрытия", 0.1, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -219,18 +227,20 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭлектроннаяПодписьСлужебныйКлиент.ТребуетсяПутьКПрограмме() Тогда
|
||||
ПерсональныеНастройки = ЭлектроннаяПодписьКлиент.ПерсональныеНастройки();
|
||||
ПутьКПрограмме = ПерсональныеНастройки.ПутиКПрограммамЭлектроннойПодписиИШифрования.Получить(
|
||||
Объект.Ссылка);
|
||||
Иначе
|
||||
ПутьКПрограмме = "";
|
||||
КонецЕсли;
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьПутьКПрограмме(
|
||||
Новый ОписаниеОповещения("ЗаполнитьАлгоритмыВыбраннойПрограммыПослеПолученияПутиКПрограмме",
|
||||
ЭтотОбъект, Контекст), Объект.Ссылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ЗаполнитьАлгоритмыВыбраннойПрограммы.
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьАлгоритмыВыбраннойПрограммыПослеПолученияПутиКПрограмме(ОписаниеПути, Контекст) Экспорт
|
||||
|
||||
СредстваКриптографии.НачатьПолучениеИнформацииМодуляКриптографии(Новый ОписаниеОповещения(
|
||||
"ЗаполнитьАлгоритмыВыбраннойПрограммыПослеПолученияИнформации", ЭтотОбъект, ,
|
||||
"ЗаполнитьАлгоритмыВыбраннойПрограммыПослеОшибкиПолученияИнформации", ЭтотОбъект),
|
||||
Объект.ИмяПрограммы, ПутьКПрограмме, Объект.ТипПрограммы);
|
||||
Объект.ИмяПрограммы, ОписаниеПути.ПутьКПрограмме, Объект.ТипПрограммы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -314,6 +324,25 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработчикОжиданияНачатьВыборПрограммыПослеОткрытия()
|
||||
|
||||
ПоказатьВыборИзМеню(Новый ОписаниеОповещения("ПослеВыбораПрограммы", ЭтотОбъект),
|
||||
Элементы.Наименование.СписокВыбора, Элементы.Наименование);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеВыбораПрограммы(ВыбранныйЭлемент, Контекст) Экспорт
|
||||
|
||||
Если ВыбранныйЭлемент = Неопределено Тогда
|
||||
Возврат
|
||||
КонецЕсли;
|
||||
|
||||
НаименованиеОбработкаВыбора(Элементы.Наименование, ВыбранныйЭлемент.Значение, Ложь);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры НаименованиеОбработкаВыбора.
|
||||
&НаКлиенте
|
||||
Процедура ОбработчикОжиданияНаименованиеОбработкаВыбора()
|
||||
@@ -323,4 +352,16 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ЕстьВОСКлиентаИлиВОССервера(Настройка)
|
||||
|
||||
Возврат Не Настройка.НетВWindows
|
||||
И (ОбщегоНазначения.ЭтоWindowsКлиент() Или ОбщегоНазначения.ЭтоWindowsСервер())
|
||||
Или Не Настройка.НетВLinux
|
||||
И (ОбщегоНазначения.ЭтоLinuxКлиент() Или ОбщегоНазначения.ЭтоLinuxСервер())
|
||||
Или Не Настройка.НетВMacOS
|
||||
И ОбщегоНазначения.ЭтоMacOSКлиент();
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -100,9 +100,24 @@
|
||||
Настройка.АлгоритмыШифрования.Добавить("RC4");
|
||||
Настройка.АлгоритмыШифрования.Добавить("DES");
|
||||
Настройка.АлгоритмыШифрования.Добавить("3DES");
|
||||
Настройка.НетВLinux = Истина;
|
||||
Настройка.НетВMacOS = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПоставляемыеПутиКМодулямПрограмм() Экспорт
|
||||
|
||||
ПутиКМодулям = ЭлектроннаяПодписьСлужебный.ПоставляемыеПутиКМодулямПрограмм();
|
||||
Если Метаданные.Обработки.Найти("ПрограммыЭлектроннойПодписиИШифрования") <> Неопределено Тогда
|
||||
ОбработкаПрограммыЭлектроннойПодписиИШифрования = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(
|
||||
"Обработка.ПрограммыЭлектроннойПодписиИШифрования");
|
||||
ОбработкаПрограммыЭлектроннойПодписиИШифрования.ДобавитьПоставляемыеПутиКМодулямПрограмм(ПутиКМодулям);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПутиКМодулям;
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обновление информационной базы.
|
||||
|
||||
|
||||
@@ -77,7 +77,6 @@
|
||||
<excludedCommands>Print</excludedCommands>
|
||||
<excludedCommands>Redo</excludedCommands>
|
||||
<excludedCommands>SaveAs</excludedCommands>
|
||||
<excludedCommands>SearchEverywhere</excludedCommands>
|
||||
<excludedCommands>SelectAll</excludedCommands>
|
||||
<excludedCommands>Strikeout</excludedCommands>
|
||||
<excludedCommands>TextColor</excludedCommands>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
</li>
|
||||
<li>В поле <strong>Автор</strong> выберите пользователя из списка. По умолчанию программа выбирает в качестве автора текущего пользователя, который создает рассылку.
|
||||
<ul><li>При запуске по расписанию рассылка выполняется от имени автора. </li></ul></li></ul><h3>Доставка</h3>
|
||||
<ul dir="ltr"><li>На вкладке описываются все возможные способы доставки настраиваемой рассылки. Содержимое вкладки может меняться, в зависимости от <a href="#ВидРассылки">вида рассылки</a>.
|
||||
<ul dir="ltr"><li>На вкладке описываются все возможные способы доставки настраиваемой рассылки. Содержимое вкладки может меняться, в зависимости от <a href="#&#1042;&#1080;&#1076;&#1056;&#1072;&#1089;&#1089;&#1099;&#1083;&#1082;&#1080;">вида рассылки</a>.
|
||||
</li>
|
||||
<li>Если выбрана <strong>личная рассылка автора</strong>, то доставка выполняется только по электронной почте по единственному адресу, который указывается в поле <strong>Почтовый адрес</strong>.
|
||||
</li>
|
||||
@@ -70,13 +70,13 @@
|
||||
<li>Если используются оба способа доставки (и публикация, и отправка по почте), то можно указать, что по почте нужно <strong>Отправлять только уведомление</strong> о том, что отчет сформирован. Сами отчеты не будут присоединяться к письму, а будут помещаться в каталог публикации. В этом случае письмо-уведомление будет содержать адрес, по которому находится сформированный отчет.
|
||||
</li>
|
||||
<li>После установки флажка <strong>Отправлять по электронной почте</strong> становятся доступными <a name="ТемаИТекстПисьма"><strong>Тема и текст письма</strong></a>. Могут содержать шаблоны <a name="Параметр"><strong>параметров</strong></a> рассылки. По умолчанию шаблон письма уже сформирован автоматически. Для добавления параметров в письмо нажмите <strong>Параметр</strong>, выберите нужное значение:
|
||||
<ul><li><strong>[</strong><strong>ДатаВыполнения]</strong> - дата рассылки. Параметр может быть указан в <u><a href="#НаименованиеАрхива">имени архива</a></u>.
|
||||
<ul><li><strong>[</strong><strong>ДатаВыполнения]</strong> - дата рассылки. Параметр может быть указан в <u><a href="#&#1053;&#1072;&#1080;&#1084;&#1077;&#1085;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077;&#1040;&#1088;&#1093;&#1080;&#1074;&#1072;">имени архива</a></u>.
|
||||
</li>
|
||||
<li>
|
||||
<div style="MARGIN-RIGHT: 0px"><strong>[Автор]</strong> - пользователь, запустивший рассылку. </div>
|
||||
</li>
|
||||
<li>
|
||||
<div style="MARGIN-RIGHT: 0px"><strong>[Получатель]</strong> - представление получателя рассылки. Доступен только для вида рассылки <a href="#ВидРассылки">свой отчет для каждого получателя</a>. </div>
|
||||
<div style="MARGIN-RIGHT: 0px"><strong>[Получатель]</strong> - представление получателя рассылки. Доступен только для вида рассылки <a href="#&#1042;&#1080;&#1076;&#1056;&#1072;&#1089;&#1089;&#1099;&#1083;&#1082;&#1080;">свой отчет для каждого получателя</a>. </div>
|
||||
</li>
|
||||
<li>
|
||||
<div style="MARGIN-RIGHT: 0px"><strong>[НаименованиеРассылки]</strong> - наименование рассылки. Параметр может быть указан в имени архива. </div>
|
||||
|
||||
+3
-2
@@ -417,8 +417,9 @@
|
||||
Иначе
|
||||
ЗаголовокФормы = НСтр("ru = 'Проверка установки электронной подписи'");
|
||||
КонецЕсли;
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПоказатьОшибкуОбращенияКПрограмме(
|
||||
ЗаголовокФормы, "", Новый Структура("ОписаниеОшибки", ОписаниеОшибки), Новый Структура);
|
||||
ДополнительныеПараметры = Новый Структура("Сертификат", СертификатАдрес);
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПоказатьОшибкуОбращенияКПрограмме(ЗаголовокФормы,
|
||||
"", Новый Структура("ОписаниеОшибки", ОписаниеОшибки), Новый Структура, ДополнительныеПараметры);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
+26
@@ -325,6 +325,15 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция ПеременныеОчищены()
|
||||
|
||||
Возврат ОписаниеДанных = Неопределено
|
||||
И ФормаОбъекта = Неопределено
|
||||
И ТекущийСписокПредставлений = Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// АПК:78-выкл: для безопасной передачи данных на клиенте между формами, не отправляя их на сервер.
|
||||
&НаКлиенте
|
||||
Процедура ВыполнитьПодписание(КлиентскиеПараметры, ОбработкаЗавершения) Экспорт
|
||||
@@ -435,6 +444,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ПодписатьДанныеПослеОбработкиПередВыполнением(Результат, Контекст) Экспорт
|
||||
|
||||
Если ПеременныеОчищены() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Результат.Свойство("ОписаниеОшибки") Тогда
|
||||
ОбработатьОшибку(Контекст.Оповещение, Новый Структура("ОписаниеОшибки", Результат.ОписаниеОшибки), Новый Структура);
|
||||
Возврат;
|
||||
@@ -457,6 +470,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ПодписатьДанныеПослеПроверкиСертификата(Результат, Контекст) Экспорт
|
||||
|
||||
Если ПеременныеОчищены() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыВыполнения = Новый Структура;
|
||||
ПараметрыВыполнения.Вставить("ОписаниеДанных", ОписаниеДанных);
|
||||
ПараметрыВыполнения.Вставить("Форма", ЭтотОбъект);
|
||||
@@ -493,6 +510,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ПодписатьДанныеПослеВыполненияНаСторонеСервера(Результат, Контекст) Экспорт
|
||||
|
||||
Если ПеременныеОчищены() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Результат <> Неопределено Тогда
|
||||
ПодписатьДанныеПослеВыполнения(Результат);
|
||||
КонецЕсли;
|
||||
@@ -516,6 +537,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ПодписатьДанныеПослеВыполненияНаСторонеКлиента(Результат, Контекст) Экспорт
|
||||
|
||||
Если ПеременныеОчищены() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПодписатьДанныеПослеВыполнения(Результат);
|
||||
|
||||
Если Результат.Свойство("Ошибка") Тогда
|
||||
@@ -598,6 +623,7 @@
|
||||
Если НеподписанныеДанные <> Неопределено Тогда
|
||||
ДополнительныеПараметры.Вставить("НеподписанныеДанные", НеподписанныеДанные);
|
||||
КонецЕсли;
|
||||
ДополнительныеПараметры.Вставить("Сертификат", Сертификат);
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПоказатьОшибкуОбращенияКПрограмме(
|
||||
НСтр("ru = 'Не удалось подписать данные'"), "",
|
||||
|
||||
+14
@@ -4561,6 +4561,20 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ИмяСервера</name>
|
||||
<id>21</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>Проверить</name>
|
||||
<title>
|
||||
|
||||
+27
-46
@@ -112,10 +112,8 @@
|
||||
|
||||
Элементы[Проверка + "РешениеКлиент"].Видимость = Ложь;
|
||||
Элементы[Проверка + "РешениеСервер"].Видимость = Ложь;
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
Проверка + "Надпись",
|
||||
"Заголовок",
|
||||
СтандартныйЗаголовокЭлемента(Проверка + "Надпись"));
|
||||
Элементы[Проверка + "Надпись"].Заголовок =
|
||||
СтандартныйЗаголовокЭлемента(Проверка + "Надпись");
|
||||
|
||||
Если ПроверкиНаКлиенте <> Неопределено Тогда
|
||||
ВывестиРезультатПроверки(Проверка);
|
||||
@@ -249,12 +247,11 @@
|
||||
Процедура ИнформацияДляПоддержкиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
Если Не ПроверкаВыполнена Тогда
|
||||
|
||||
Если Не ПроверкаВыполнена Тогда
|
||||
ПоказатьПредупреждение(,
|
||||
НСтр("ru = 'Для сбора технической информации о возникшей проблеме необходимо выполнить проверку сертификата.'"));
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СоставПроверок = СтандартныеПроверки();
|
||||
@@ -262,15 +259,20 @@
|
||||
СоставПроверок.Добавить(Проверка.Имя);
|
||||
КонецЦикла;
|
||||
|
||||
ТекстОшибок = НСтр("ru = 'Результат поверки на клиенте'") + ":" + Символы.ПС;
|
||||
ТекстОшибок = "";
|
||||
ОписаниеФайлов = Новый Массив;
|
||||
ЭлектроннаяПодписьСлужебныйВызовСервера.ДобавитьОписаниеДополнительныхДанных(
|
||||
Новый Структура("Сертификат", Сертификат), ОписаниеФайлов, ТекстОшибок);
|
||||
|
||||
ТекстОшибок = ТекстОшибок + НСтр("ru = 'Результат поверки на клиенте'") + ":" + Символы.ПС;
|
||||
ДополнитьТекстОшибками(ТекстОшибок, СоставПроверок);
|
||||
|
||||
ТекстОшибок = ТекстОшибок + Символы.ПС
|
||||
+ НСтр("ru = 'Результат поверки на сервере'") + ":" + Символы.ПС;
|
||||
ТекстОшибок = ТекстОшибок + Символы.ПС + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Результат поверки на сервере ""%1"":'"), ИмяСервера) + Символы.ПС;
|
||||
ДополнитьТекстОшибками(ТекстОшибок, СоставПроверок, Истина);
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.СформироватьТехническуюИнформацию(
|
||||
ТекстОшибок, Неопределено, ДанныеСертификата(Сертификат));
|
||||
ТекстОшибок, Неопределено, ОписаниеФайлов);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -480,8 +482,8 @@
|
||||
Процедура ПроверитьНаСторонеКлиента(Оповещение)
|
||||
|
||||
ПроверкаВыполнена = Истина;
|
||||
|
||||
Контекст = Новый Структура("Оповещение", Оповещение);
|
||||
|
||||
Если СтандартныеПроверки Тогда
|
||||
ЭлектроннаяПодписьКлиент.УстановитьРасширение(Ложь, Новый ОписаниеОповещения(
|
||||
"ПроверитьНаСторонеКлиентаПослеПодключенияРасширенияРаботыСКриптографией", ЭтотОбъект, Контекст),
|
||||
@@ -553,6 +555,8 @@
|
||||
Процедура ПроверитьНаСторонеКлиентаПослеИнициализацииСертификата(СертификатКриптографии, Контекст) Экспорт
|
||||
|
||||
Контекст.Вставить("СертификатКриптографии", СертификатКриптографии);
|
||||
|
||||
// Законный сертификат.
|
||||
ПроверитьЗаконныйСертификатНаКлиенте(Контекст);
|
||||
|
||||
// Наличие сертификата в личном списке.
|
||||
@@ -1116,6 +1120,8 @@
|
||||
|
||||
ПроверкаВыполнена = Истина;
|
||||
|
||||
ИмяСервера = ИмяКомпьютера();
|
||||
|
||||
ДанныеСертификата = ПолучитьИзВременногоХранилища(АдресСертификата);
|
||||
АлгоритмПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСертификата(ДанныеСертификата);
|
||||
|
||||
@@ -1127,7 +1133,7 @@
|
||||
Возврат;
|
||||
КонецПопытки;
|
||||
|
||||
// Законный сертификат
|
||||
// Законный сертификат.
|
||||
ПроверитьЗаконныйСертификатНаСервере(СертификатКриптографии);
|
||||
|
||||
// Наличие сертификата в личном списке.
|
||||
@@ -1155,16 +1161,13 @@
|
||||
КонецЕсли;
|
||||
УстановитьЭлемент(ЭтотОбъект, "ДанныеСертификата", Истина, ОписаниеОшибки, Истина, ОбъединятьРезультаты);
|
||||
|
||||
// Наличие программы
|
||||
// Наличие программы.
|
||||
Если ЗначениеЗаполнено(Программа) Тогда
|
||||
|
||||
ПараметрыСоздания = ЭлектроннаяПодписьСлужебный.ПараметрыСозданияМенеджераКриптографии();
|
||||
ПараметрыСоздания.Программа = Программа;
|
||||
|
||||
МенеджерКриптографии = ЭлектроннаяПодписьСлужебный.МенеджерКриптографии("ПроверкаСертификата", ПараметрыСоздания);
|
||||
|
||||
ОписаниеОшибки = ПараметрыСоздания.ОписаниеОшибки;
|
||||
|
||||
Иначе
|
||||
МенеджерКриптографии = Неопределено;
|
||||
ОписаниеОшибки = НСтр("ru = 'Программа для использования закрытого ключа не указана в сертификате.'");
|
||||
@@ -1279,17 +1282,17 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
&НаСервере
|
||||
Процедура ПроверитьНаСторонеСервераДополнительныеПроверки(ЗначениеПароля, МенеджерКриптографии = Неопределено)
|
||||
|
||||
ИмяСервера = ИмяКомпьютера();
|
||||
|
||||
// Дополнительные проверки.
|
||||
Для Каждого ЭлементСписка Из ДополнительныеПроверки Цикл
|
||||
|
||||
ОписаниеОшибки = "";
|
||||
ЭтоПредупреждение = Ложь;
|
||||
Попытка
|
||||
|
||||
ПараметрыВыполнения = Новый Структура;
|
||||
ПараметрыВыполнения.Вставить("Сертификат", Сертификат);
|
||||
ПараметрыВыполнения.Вставить("Проверка", ЭлементСписка.Имя);
|
||||
@@ -1333,8 +1336,6 @@
|
||||
&НаСервере
|
||||
Процедура ДобавитьГруппуОписанияРешения(ИмяПроверки, Родитель, НаСервере = Ложь)
|
||||
|
||||
Суффикс = ?(НаСервере, "Сервер", "Клиент");
|
||||
|
||||
ГруппаРешение = ГруппаФормыБезОтображения(
|
||||
ИмяПроверки + ?(НаСервере, "РешениеСервер", "РешениеКлиент"), Родитель);
|
||||
|
||||
@@ -1407,7 +1408,7 @@
|
||||
Процедура УстановитьЭлемент(Форма, НачалоЭлемента, НаСервере,
|
||||
ОписаниеОшибки = Неопределено, ЭтоОшибка = Ложь, ОбъединятьРезультаты = "НеОбъединять")
|
||||
|
||||
ЭлементНадпись = Форма.Элементы[НачалоЭлемента + "Надпись"]; // Label
|
||||
ЭлементНадпись = Форма.Элементы[НачалоЭлемента + "Надпись"]; // ДекорацияФормы, Надпись
|
||||
Если ОбъединятьРезультаты = "ОбъединятьПоИ"
|
||||
Или ОбъединятьРезультаты = "ОбъединятьПоИли" Тогда
|
||||
|
||||
@@ -1452,8 +1453,7 @@
|
||||
Форма.Элементы[ИмяГруппыРешение].Видимость = ЭтоИзвестнаяОшибка;
|
||||
Если ЭтоИзвестнаяОшибка Тогда
|
||||
ИмяГруппыРешениеНадпись = НачалоЭлемента + ?(НаСервере, "РешениеСерверНадпись", "РешениеКлиентНадпись");
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы,
|
||||
ИмяГруппыРешениеНадпись, "Заголовок", ОписаниеИзвестнойОшибки.Решение);
|
||||
Форма.Элементы[ИмяГруппыРешениеНадпись].Заголовок = ОписаниеИзвестнойОшибки.Решение;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
@@ -1471,8 +1471,7 @@
|
||||
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка не выполнялась.'");
|
||||
ЭлементНадпись.Гиперссылка = Ложь;
|
||||
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
|
||||
Форма.ДополнительныеПроверки,
|
||||
ЭлементНадпись.Имя);
|
||||
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
|
||||
|
||||
ИначеЕсли ЗначениеПроверки = Неопределено
|
||||
И ЗначениеПроверкиВторогоКонтекста <> Неопределено Тогда
|
||||
@@ -1600,12 +1599,12 @@
|
||||
ПроверкиНаКлиенте[Проверка], Неопределено);
|
||||
|
||||
ТекстОшибкиПроверки = ?(СоставПроверок.Свойство(Проверка + "Ошибка"),
|
||||
ПроверкиНаКлиенте[Проверка + "Ошибка"], "");
|
||||
СокрЛП(ПроверкиНаКлиенте[Проверка + "Ошибка"]), "");
|
||||
|
||||
ТекстОшибок = ТекстОшибок + Проверка + ": "
|
||||
+ ?(РезультатПроверки = Неопределено, НСтр("ru = 'Не выполнялась из-за предыдущих ошибок'"),
|
||||
Формат(РезультатПроверки, НСтр("ru = 'БЛ=Ошибка; БИ=Успех'")))
|
||||
+ ?(ПустаяСтрока(ТекстОшибкиПроверки), "", ": ") + ТекстОшибкиПроверки + Символы.ПС;
|
||||
+ ?(ПустаяСтрока(ТекстОшибкиПроверки), "", " """ + ТекстОшибкиПроверки + """") + Символы.ПС;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1616,25 +1615,7 @@
|
||||
&НаСервереБезКонтекста
|
||||
Функция ОшибкаПоКлассификатору(ОписаниеОшибки)
|
||||
|
||||
Возврат ЭлектроннаяПодпись.ОшибкаПоКлассификатору(ОписаниеОшибки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ДанныеСертификата(Сертификат)
|
||||
|
||||
Если Не ЗначениеЗаполнено(Сертификат) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
|
||||
Сертификат, "Наименование, ДанныеСертификата");
|
||||
|
||||
ДанныеСертификата = Новый Структура;
|
||||
ДанныеСертификата.Вставить("Имя", ЗначенияРеквизитов.Наименование + ".cer");
|
||||
ДанныеСертификата.Вставить("Данные", ЗначенияРеквизитов.ДанныеСертификата.Получить());
|
||||
|
||||
Возврат ДанныеСертификата;
|
||||
Возврат ЭлектроннаяПодписьСлужебный.ОшибкаПоКлассификатору(ОписаниеОшибки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+30
-4
@@ -78,7 +78,8 @@
|
||||
Процедура СертификатПриИзменении(Элемент)
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьОтпечаткиСертификатовНаКлиенте(
|
||||
Новый ОписаниеОповещения("СертификатПриИзмененииЗавершение", ЭтотОбъект));
|
||||
Новый ОписаниеОповещения("СертификатПриИзмененииЗавершение", ЭтотОбъект),
|
||||
ЗначениеЗаполнено(ОтборОтпечатков));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -146,7 +147,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьОтпечаткиСертификатовНаКлиенте(
|
||||
Новый ОписаниеОповещения("СертификатОбработкаВыбораЗавершение", ЭтотОбъект, ВыбранноеЗначение));
|
||||
Новый ОписаниеОповещения("СертификатОбработкаВыбораЗавершение", ЭтотОбъект, ВыбранноеЗначение),
|
||||
ЗначениеЗаполнено(ОтборОтпечатков));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -362,6 +364,15 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция ПеременныеОчищены()
|
||||
|
||||
Возврат ОписаниеДанных = Неопределено
|
||||
И ФормаОбъекта = Неопределено
|
||||
И ТекущийСписокПредставлений = Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// АПК:78-выкл: для безопасной передачи данных на клиенте между формами, не отправляя их на сервер.
|
||||
&НаКлиенте
|
||||
Процедура ВыполнитьРасшифровку(КлиентскиеПараметры, ОбработкаЗавершения) Экспорт
|
||||
@@ -394,7 +405,8 @@
|
||||
Процедура ПриИзмененииСпискаСертификатов()
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьОтпечаткиСертификатовНаКлиенте(
|
||||
Новый ОписаниеОповещения("ПриИзмененииСпискаСертификатовЗавершение", ЭтотОбъект));
|
||||
Новый ОписаниеОповещения("ПриИзмененииСпискаСертификатовЗавершение", ЭтотОбъект),
|
||||
ЗначениеЗаполнено(ОтборОтпечатков));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -465,6 +477,10 @@
|
||||
&НаКлиенте
|
||||
Процедура РасшифроватьДанныеПослеОбработкиПередВыполнением(Результат, Контекст) Экспорт
|
||||
|
||||
Если ПеременныеОчищены() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Результат.Свойство("ОписаниеОшибки") Тогда
|
||||
ОбработатьОшибку(Контекст.Оповещение, Новый Структура("ОписаниеОшибки", Результат.ОписаниеОшибки), Новый Структура);
|
||||
Возврат;
|
||||
@@ -506,6 +522,10 @@
|
||||
&НаКлиенте
|
||||
Процедура РасшифроватьДанныеПослеВыполненияНаСторонеСервера(Результат, Контекст) Экспорт
|
||||
|
||||
Если ПеременныеОчищены() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Результат <> Неопределено Тогда
|
||||
РасшифроватьДанныеПослеВыполнения(Результат);
|
||||
КонецЕсли;
|
||||
@@ -529,6 +549,10 @@
|
||||
&НаКлиенте
|
||||
Процедура РасшифроватьДанныеПослеВыполненияНаСторонеКлиента(Результат, Контекст) Экспорт
|
||||
|
||||
Если ПеременныеОчищены() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РасшифроватьДанныеПослеВыполнения(Результат);
|
||||
|
||||
Если Результат.Свойство("Ошибка") Тогда
|
||||
@@ -667,9 +691,11 @@
|
||||
Открыть();
|
||||
КонецЕсли;
|
||||
|
||||
ДополнительныеПараметры = Новый Структура("Сертификат", Сертификат);
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПоказатьОшибкуОбращенияКПрограмме(
|
||||
НСтр("ru = 'Не удалось расшифровать данные'"), "",
|
||||
ОшибкаНаКлиенте, ОшибкаНаСервере, , ОбработкаПослеПредупреждения);
|
||||
ОшибкаНаКлиенте, ОшибкаНаСервере, ДополнительныеПараметры, ОбработкаПослеПредупреждения);
|
||||
|
||||
ВыполнитьОбработкуОповещения(Оповещение, Ложь);
|
||||
|
||||
|
||||
+30
-10
@@ -460,7 +460,7 @@
|
||||
ПараметрыСоздания.Программа = ОписаниеПрограммы.Ссылка;
|
||||
ПараметрыСоздания.АлгоритмПодписи = АлгоритмПодписи;
|
||||
|
||||
МенеджерКриптографии = ЭлектроннаяПодписьСлужебный.МенеджерКриптографии("", ПараметрыСоздания);
|
||||
МенеджерКриптографии = ЭлектроннаяПодписьСлужебный.МенеджерКриптографии("Шифрование", ПараметрыСоздания);
|
||||
|
||||
Если МенеджерКриптографии = Неопределено Тогда
|
||||
Продолжить;
|
||||
@@ -715,6 +715,15 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция ПеременныеОчищены()
|
||||
|
||||
Возврат ОписаниеДанных = Неопределено
|
||||
И ФормаОбъекта = Неопределено
|
||||
И ТекущийСписокПредставлений = Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// АПК:78-выкл: для безопасной передачи данных на клиенте между формами, не отправляя их на сервер.
|
||||
&НаКлиенте
|
||||
Процедура ВыполнитьШифрование(КлиентскиеПараметры, ОбработкаЗавершения) Экспорт
|
||||
@@ -782,14 +791,6 @@
|
||||
Контекст.Вставить("ОшибкаНаСервере", Новый Структура);
|
||||
|
||||
Если ЗначениеЗаполнено(Сертификат) Тогда
|
||||
Если СертификатДействителенДо < ОбщегоНазначенияКлиент.ДатаСеанса() Тогда
|
||||
Контекст.ОшибкаНаКлиенте.Вставить("ОписаниеОшибки",
|
||||
НСтр("ru = 'У выбранного личного сертификата истек срок действия.
|
||||
|Выберите другой сертификат.'"));
|
||||
ОбработатьОшибку(Оповещение, Контекст.ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(СертификатПрограмма) Тогда
|
||||
Контекст.ОшибкаНаКлиенте.Вставить("ОписаниеОшибки",
|
||||
НСтр("ru = 'У выбранного личного сертификата не указана программа для закрытого ключа.
|
||||
@@ -851,6 +852,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ЗашифроватьДанныеПослеВыполненияНаСторонеСервера(Результат, Контекст) Экспорт
|
||||
|
||||
Если ПеременныеОчищены() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Результат <> Неопределено Тогда
|
||||
ЗашифроватьДанныеПослеВыполнения(Результат);
|
||||
КонецЕсли;
|
||||
@@ -874,6 +879,10 @@
|
||||
&НаКлиенте
|
||||
Процедура ЗашифроватьДанныеПослеВыполненияНаСторонеКлиента(Результат, Контекст) Экспорт
|
||||
|
||||
Если ПеременныеОчищены() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЗашифроватьДанныеПослеВыполнения(Результат);
|
||||
|
||||
Если Результат.Свойство("Ошибка") Тогда
|
||||
@@ -1073,9 +1082,20 @@
|
||||
Открыть();
|
||||
КонецЕсли;
|
||||
|
||||
ВсеСертификаты = Новый Массив;
|
||||
ВсеСертификаты.Добавить(Сертификат);
|
||||
Для Каждого Строка Из СертификатыШифрования Цикл
|
||||
Если Не ЗначениеЗаполнено(Строка.Сертификат)
|
||||
Или ВсеСертификаты.Найти(Строка.Сертификат) <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ВсеСертификаты.Добавить(Строка.Сертификат);
|
||||
КонецЦикла;
|
||||
ДополнительныеПараметры = Новый Структура("Сертификат", ВсеСертификаты);
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПоказатьОшибкуОбращенияКПрограмме(
|
||||
НСтр("ru = 'Не удалось зашифровать данные'"), "",
|
||||
ОшибкаНаКлиенте, ОшибкаНаСервере, , ОбработкаПослеПредупреждения);
|
||||
ОшибкаНаКлиенте, ОшибкаНаСервере, ДополнительныеПараметры, ОбработкаПослеПредупреждения);
|
||||
|
||||
ВыполнитьОбработкуОповещения(Оповещение, Ложь);
|
||||
|
||||
|
||||
@@ -96,13 +96,7 @@
|
||||
ПодключитьОбработчикОжидания("ПриИзмененияИспользованияПодписанияИлиШифрования", 0.3, Истина);
|
||||
КонецЕсли;
|
||||
|
||||
Если ИмяСобытия = "Запись_Файл"
|
||||
И Источник = Объект.Ссылка
|
||||
И Параметр <> Неопределено
|
||||
И ТипЗнч(Параметр) = Тип("Структура")
|
||||
И Параметр.Свойство("Событие")
|
||||
И (Параметр.Событие = "ЗаконченоРедактирование"
|
||||
Или Параметр.Событие = "РедактированиеОтменено") Тогда
|
||||
Если ИмяСобытия = "Запись_Файл" И Источник = Объект.Ссылка И Не Модифицированность Тогда
|
||||
Прочитать();
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -83,10 +83,8 @@
|
||||
|
||||
УстановитьТекстШаблона(ТекущийОбъект);
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
|
||||
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
|
||||
Если ВыбранныеФорматыСохранения.Количество() = 0 Тогда
|
||||
Для Каждого ФорматСохранения Из МодульУправлениеПечатью.ФорматыСохраненияТабличногоДокумента() Цикл
|
||||
Для Каждого ФорматСохранения Из СтандартныеПодсистемыСервер.НастройкиФорматовСохраненияТабличногоДокумента() Цикл
|
||||
ВыбранныеФорматыСохранения.Добавить(Строка(ФорматСохранения.ТипФайлаТабличногоДокумента), Строка(ФорматСохранения.Ссылка), Ложь, ФорматСохранения.Картинка);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
@@ -101,7 +99,6 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьПроизвольныеПараметрыИзОбъекта(ТекущийОбъект);
|
||||
|
||||
@@ -1065,14 +1062,11 @@
|
||||
&НаСервере
|
||||
Процедура ИнициализироватьФорматыСохранения()
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
|
||||
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
|
||||
Если ВыбранныеФорматыСохранения.Количество() = 0 Тогда
|
||||
Для Каждого ФорматСохранения Из МодульУправлениеПечатью.ФорматыСохраненияТабличногоДокумента() Цикл
|
||||
Для Каждого ФорматСохранения Из СтандартныеПодсистемыСервер.НастройкиФорматовСохраненияТабличногоДокумента() Цикл
|
||||
ВыбранныеФорматыСохранения.Добавить(Строка(ФорматСохранения.ТипФайлаТабличногоДокумента), Строка(ФорматСохранения.Ссылка), Ложь, ФорматСохранения.Картинка);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -120,16 +120,16 @@
|
||||
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
||||
ИмяСправочника = Метаданные.Справочники["ВидыКонтактнойИнформации"].ПолноеИмя();
|
||||
Если ОбновлениеИнформационнойБазы.ЕстьЗаблокированныеПредыдущимиОчередямиДанные(Параметры.Очередь, ИмяСправочника) Тогда
|
||||
МодульУправлениеКонтактнойИнформациейСлужебный = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформациейСлужебный");
|
||||
Если МодульУправлениеКонтактнойИнформациейСлужебный.ЕстьЗаблокированныеПредыдущимиОчередямиДанные(Параметры.Очередь) Тогда
|
||||
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, "Справочник.ШаблоныСообщений");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда
|
||||
ИмяСправочника = Метаданные.Справочники["ДополнительныеОтчетыИОбработки"].ПолноеИмя();
|
||||
Если ОбновлениеИнформационнойБазы.ЕстьЗаблокированныеПредыдущимиОчередямиДанные(Параметры.Очередь,ИмяСправочника) Тогда
|
||||
МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки");
|
||||
Если МодульДополнительныеОтчетыИОбработки.ЕстьЗаблокированныеПредыдущимиОчередямиДанные(Параметры.Очередь) Тогда
|
||||
Параметры.ОбработкаЗавершена = ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, "Справочник.ШаблоныСообщений");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
-4
@@ -485,10 +485,6 @@
|
||||
<key>ru</key>
|
||||
<value>Идентификатор для формул</value>
|
||||
</synonym>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Идентификатор для формул</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBar</locationInCommandBar>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаВариантыПоиска</name>
|
||||
@@ -121,7 +121,7 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBar</locationInCommandBar>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ВариантПоискаВАдресах</name>
|
||||
@@ -2278,9 +2278,6 @@
|
||||
<color>Windows.Highlight</color>
|
||||
</textColor>
|
||||
<textSize>Normal</textSize>
|
||||
<font xsi:type="core:FontRef">
|
||||
<font>0</font>
|
||||
</font>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
|
||||
@@ -295,7 +295,11 @@
|
||||
|%1'"),
|
||||
КраткоеПредставлениеОшибки(ИнформацияОбОшибке)));
|
||||
|
||||
ПоказатьОшибку(ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере);
|
||||
ДополнительныеПараметры = Новый Структура;
|
||||
ДополнительныеПараметры.Вставить("ПоказатьИнструкцию", Истина);
|
||||
ДополнительныеПараметры.Вставить("Подпись", Контекст.ДанныеПодписи);
|
||||
|
||||
ПоказатьОшибку(ОшибкаНаКлиенте, Контекст.ОшибкаНаСервере, ДополнительныеПараметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -489,10 +493,11 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПоказатьОшибку(ОшибкаНаКлиенте, ОшибкаНаСервере)
|
||||
Процедура ПоказатьОшибку(ОшибкаНаКлиенте, ОшибкаНаСервере, ДополнительныеПараметры = Неопределено)
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПоказатьОшибкуОбращенияКПрограмме(
|
||||
НСтр("ru = 'Не удалось получить подпись из файла'"), "", ОшибкаНаКлиенте, ОшибкаНаСервере);
|
||||
НСтр("ru = 'Не удалось получить подпись из файла'"),
|
||||
"", ОшибкаНаКлиенте, ОшибкаНаСервере, ДополнительныеПараметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -341,6 +341,10 @@
|
||||
<items xsi:type="form:Button">
|
||||
<name>ПеревыпуститьСертификат</name>
|
||||
<id>353</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Перевыпустить...</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
@@ -349,6 +353,10 @@
|
||||
<extendedTooltip>
|
||||
<name>ПеревыпуститьСертификатРасширеннаяПодсказка</name>
|
||||
<id>354</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Перевыпустить сертификат, у которого закончился срок действия</value>
|
||||
</title>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -356,7 +364,7 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.ПеревыпуститьСертификат</commandName>
|
||||
<commandName>Form.Item.Сертификаты.StandardCommand.Copy</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -430,7 +438,6 @@
|
||||
</dataPath>
|
||||
<defaultItem>true</defaultItem>
|
||||
<titleLocation>None</titleLocation>
|
||||
<excludedCommands>Copy</excludedCommands>
|
||||
<excludedCommands>Delete</excludedCommands>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СертификатыНаименование</name>
|
||||
@@ -1216,6 +1223,7 @@
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<autoCellHeight>true</autoCellHeight>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
@@ -1308,6 +1316,7 @@
|
||||
<readOnly>true</readOnly>
|
||||
<editMode>Auto</editMode>
|
||||
<cellHyperlink>true</cellHyperlink>
|
||||
<autoCellHeight>true</autoCellHeight>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<cellHyperlinkRepresentation>Show</cellHyperlinkRepresentation>
|
||||
@@ -1655,7 +1664,7 @@
|
||||
<id>216</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Путь к программе на компьютере ОС Linux</value>
|
||||
<value>Путь к программе на клиентском компьютере ОС Linux и macOS</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -1668,7 +1677,7 @@
|
||||
<titleLocation>None</titleLocation>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Путь к программе, который требуется на компьютерах с операционной системой Linux</value>
|
||||
<value>Путь к программе, который требуется на клиентских компьютерах с операционной системой Linux и macOS</value>
|
||||
</toolTip>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<handlers>
|
||||
@@ -1696,6 +1705,10 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<handlers>
|
||||
<event>StartChoice</event>
|
||||
<name>ПрограммыLinuxПутьКПрограммеНачалоВыбора</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>ChoiceProcessing</event>
|
||||
<name>ПрограммыLinuxПутьКПрограммеОбработкаВыбора</name>
|
||||
@@ -1703,9 +1716,8 @@
|
||||
<height>1</height>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<multiLine>true</multiLine>
|
||||
<extendedEdit>true</extendedEdit>
|
||||
<dropListButton>true</dropListButton>
|
||||
<clearButton>true</clearButton>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
@@ -2896,14 +2908,43 @@
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПутиКПрограммамПоУмолчанию</name>
|
||||
<id>15</id>
|
||||
<valueType/>
|
||||
<id>16</id>
|
||||
<valueType>
|
||||
<types>ValueTable</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<columns>
|
||||
<name>Программа</name>
|
||||
<id>2</id>
|
||||
<valueType>
|
||||
<types>CatalogRef.ПрограммыЭлектроннойПодписиИШифрования</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>Путь</name>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>Обновить</name>
|
||||
@@ -3023,33 +3064,6 @@
|
||||
<currentRowUse>DontUse</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>ПеревыпуститьСертификат</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Перевыпустить...</value>
|
||||
</title>
|
||||
<id>6</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Перевыпустить сертификат, у которого закончился срок действия</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<shortcut>F9</shortcut>
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>StdPicture.CloneListItem</picture>
|
||||
</picture>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>ПеревыпуститьСертификат</name>
|
||||
</handler>
|
||||
</action>
|
||||
<representation>Picture</representation>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
@@ -101,25 +101,7 @@
|
||||
Элементы.НадписьНастройкаВЦентральномУзле.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ПутиКПрограммамПоУмолчанию = Новый Структура;
|
||||
|
||||
Если ОбщегоНазначения.ЭтоMacOSКлиент() Тогда
|
||||
ПутьПоУмолчанию = "/opt/cprocsp/lib/libcapi10.dylib:/opt/cprocsp/lib/libcapi20.dylib:"
|
||||
+ "/opt/cprocsp/lib/libcapi10.4.dylib:/opt/cprocsp/lib/libcapi20.4.dylib";
|
||||
|
||||
ПутиКПрограммамПоУмолчанию.Вставить("ПутьMac", ПутьПоУмолчанию);
|
||||
Элементы.ПрограммыLinuxПутьКПрограмме.СписокВыбора.Добавить(
|
||||
"ПутьMac", НСтр("ru = 'Путь для Mac OS'") + ": " + ПутьПоУмолчанию);
|
||||
|
||||
ИначеЕсли ОбщегоНазначения.ЭтоLinuxКлиент() Тогда
|
||||
ПутьПоУмолчанию = "/opt/cprocsp/lib/amd64/libcapilite.so:"
|
||||
+ "/opt/cprocsp/lib/amd64/libcapi10.so:/opt/cprocsp/lib/amd64/libcapi20.so";
|
||||
|
||||
ПутиКПрограммамПоУмолчанию.Вставить("ПутьLinux", ПутьПоУмолчанию);
|
||||
Элементы.ПрограммыLinuxПутьКПрограмме.СписокВыбора.Добавить(
|
||||
"ПутьLinux", НСтр("ru = 'Путь для Linux'") + ": " + ПутьПоУмолчанию);
|
||||
|
||||
Иначе // Не ЭлектроннаяПодписьСлужебныйКлиент.ТребуетсяПутьКПрограмме.
|
||||
Если Не ЭлектроннаяПодписьСлужебный.ТребуетсяПутьКПрограмме(Истина) Тогда
|
||||
Элементы.ГруппаПрограммыLinuxПутьКПрограмме.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -275,6 +257,26 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПрограммыLinuxПутьКПрограммеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
|
||||
ТекущиеДанные = Элементы.Программы.ТекущиеДанные;
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
ДанныеВыбора = Неопределено;
|
||||
СтандартнаяОбработка = Ложь;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Отбор = Новый Структура("Программа", ТекущиеДанные.Ссылка);
|
||||
Строки = ПутиКПрограммамПоУмолчанию.НайтиСтроки(Отбор);
|
||||
Если Строки.Количество() = 0 Тогда
|
||||
ДанныеВыбора = Неопределено;
|
||||
СтандартнаяОбработка = Ложь;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПрограммыLinuxПутьКПрограммеОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
|
||||
|
||||
@@ -287,7 +289,10 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекущиеДанные.LinuxПутьКПрограмме = ПутиКПрограммамПоУмолчанию[ВыбранноеЗначение];
|
||||
Отбор = Новый Структура("Программа", ТекущиеДанные.Ссылка);
|
||||
Строки = ПутиКПрограммамПоУмолчанию.НайтиСтроки(Отбор);
|
||||
ТекущиеДанные.LinuxПутьКПрограмме = ?(Строки.Количество() = 0, "", Строки[0].Путь);
|
||||
|
||||
СохранитьПутьКПрограмме();
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -300,12 +305,22 @@
|
||||
Процедура СертификатыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
|
||||
|
||||
Отказ = Истина;
|
||||
Если Не Копирование Тогда
|
||||
ПараметрыСоздания = Новый Структура;
|
||||
|
||||
Если Копирование Тогда
|
||||
Если Элементы.Сертификаты.ТекущаяСтрока = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
ТекущиеДанные = СертификатыТекущиеДанные(Элементы.Сертификаты);
|
||||
ПараметрыСоздания.Вставить("СоздатьЗаявление", Истина);
|
||||
ПараметрыСоздания.Вставить("СертификатОснование", ТекущиеДанные.Ссылка);
|
||||
Иначе
|
||||
ПараметрыСоздания = Новый Структура;
|
||||
ПараметрыСоздания.Вставить("СкрытьЗаявление", Ложь);
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ДобавитьСертификат(ПараметрыСоздания);
|
||||
КонецЕсли;
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ДобавитьСертификат(ПараметрыСоздания);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -322,6 +337,8 @@
|
||||
LinuxПутьКТекущейПрограмме = Элементы.Программы.ТекущиеДанные.LinuxПутьКПрограмме;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьLinuxПутьКПрограмме();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -377,11 +394,13 @@
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
ПараметрыОшибки = Новый Структура;
|
||||
ПараметрыОшибки.Вставить("ЗаголовокПредупреждения", НСтр("ru = 'Результат проверки программы'"));
|
||||
ПараметрыОшибки.Вставить("ТекстОшибкиКлиент", ТекущиеДанные.РезультатПроверки);
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("ЗаголовокПредупреждения", НСтр("ru = 'Результат проверки программы'"));
|
||||
ПараметрыФормы.Вставить("ТекстОшибкиКлиент", ТекущиеДанные.РезультатПроверки);
|
||||
ПараметрыФормы.Вставить("ПоказатьТребуетсяПомощь", Истина);
|
||||
ПараметрыФормы.Вставить("ПоказатьИнструкцию", Истина);
|
||||
|
||||
ОткрытьФорму("ОбщаяФорма.РасширенноеПредставлениеОшибки", ПараметрыОшибки, ЭтотОбъект);
|
||||
ОткрытьФорму("ОбщаяФорма.РасширенноеПредставлениеОшибки", ПараметрыФормы, ЭтотОбъект);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -451,22 +470,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПеревыпуститьСертификат(Команда)
|
||||
|
||||
Если Элементы.Сертификаты.ТекущаяСтрока = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекущиеДанные = СертификатыТекущиеДанные(Элементы.Сертификаты);
|
||||
ПараметрыСоздания = Новый Структура;
|
||||
ПараметрыСоздания.Вставить("СоздатьЗаявление", Истина);
|
||||
ПараметрыСоздания.Вставить("СертификатОснование", ТекущиеДанные.Ссылка);
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ДобавитьСертификат(ПараметрыСоздания);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -522,7 +525,7 @@
|
||||
// ТаблицаФормы - ДанныеФормыКоллекция
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ДанныеФормыСтруктура:
|
||||
// Структура:
|
||||
// * Ссылка - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования
|
||||
//
|
||||
&НаКлиенте
|
||||
@@ -749,6 +752,8 @@
|
||||
УстановитьВидимостьГруппаВебКлиентРасширениеНеУстановлено(Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
ПутиКПрограммамПоУмолчанию.Очистить();
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("Индекс", -1);
|
||||
|
||||
@@ -764,6 +769,7 @@
|
||||
// После цикла.
|
||||
Элементы.СтраницыПрограммыИОбновление.ТекущаяСтраница = Элементы.СтраницаПрограммыСписок;
|
||||
ТекущийЭлемент = Элементы.Программы;
|
||||
ОбновитьLinuxПутьКПрограмме();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Контекст.Индекс = Контекст.Индекс + 1;
|
||||
@@ -771,6 +777,24 @@
|
||||
|
||||
Контекст.Вставить("ОписаниеПрограммы", ОписаниеПрограммы);
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПолучитьПутьКПрограммеПоУмолчанию(Новый ОписаниеОповещения(
|
||||
"ОбработчикОжиданияОпределитьУстановленныеПрограммыЦиклПослеПолученияПутиКПрограмме", ЭтотОбъект, Контекст),
|
||||
ОписаниеПрограммы.Ссылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ОбработчикОжиданияОпределитьУстановленныеПрограммы.
|
||||
&НаКлиенте
|
||||
Процедура ОбработчикОжиданияОпределитьУстановленныеПрограммыЦиклПослеПолученияПутиКПрограмме(ОписаниеПути, Контекст) Экспорт
|
||||
|
||||
ОписаниеПрограммы = Контекст.ОписаниеПрограммы;
|
||||
|
||||
Если ЗначениеЗаполнено(ОписаниеПути.ПутьКПрограмме) Тогда
|
||||
НоваяСтрока = ПутиКПрограммамПоУмолчанию.Добавить();
|
||||
НоваяСтрока.Программа = ОписаниеПрограммы.Ссылка;
|
||||
НоваяСтрока.Путь = ОписаниеПути.ПутьКПрограмме;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОписаниеПрограммы.ПометкаУдаления Тогда
|
||||
ОбновитьЗначение(ОписаниеПрограммы.РезультатПроверки, "");
|
||||
ОбновитьЗначение(ОписаниеПрограммы.Подробнее, "");
|
||||
@@ -827,7 +851,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
Если Ошибка.НеУказанПуть Тогда
|
||||
ОбновитьЗначение(ОписаниеПрограммы.РезультатПроверки, НСтр("ru = 'Не указан путь к программе.'"));
|
||||
ОбновитьЗначение(ОписаниеПрограммы.РезультатПроверки, Ошибка.Описание);
|
||||
ОбновитьЗначение(ОписаниеПрограммы.Подробнее, НСтр("ru = 'Подробнее'") + "...");
|
||||
ОбновитьЗначение(ОписаниеПрограммы.Установлена, "");
|
||||
Иначе
|
||||
@@ -844,6 +868,35 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбновитьLinuxПутьКПрограмме()
|
||||
|
||||
ТекущиеДанные = Элементы.Программы.ТекущиеДанные;
|
||||
|
||||
ПутьПоУмолчанию = "";
|
||||
Если ТекущиеДанные <> Неопределено Тогда
|
||||
Отбор = Новый Структура("Программа", ТекущиеДанные.Ссылка);
|
||||
Строки = ПутиКПрограммамПоУмолчанию.НайтиСтроки(Отбор);
|
||||
Если Строки.Количество() > 0 Тогда
|
||||
ПутьПоУмолчанию = Строки[0].Путь;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ПрограммыLinuxПутьКПрограмме.КнопкаВыпадающегоСписка = ЗначениеЗаполнено(ПутьПоУмолчанию);
|
||||
Элементы.ПрограммыLinuxПутьКПрограмме.ПодсказкаВвода = ПутьПоУмолчанию;
|
||||
|
||||
СписокВыбораПутей = Элементы.ПрограммыLinuxПутьКПрограмме.СписокВыбора;
|
||||
СписокВыбораПутей.Очистить();
|
||||
Если ЗначениеЗаполнено(ПутьПоУмолчанию) Тогда
|
||||
Если ОбщегоНазначенияКлиент.ЭтоLinuxКлиент() Тогда
|
||||
СписокВыбораПутей.Добавить("ПутьLinux", НСтр("ru = 'Стандартный путь для Linux'"));
|
||||
Иначе
|
||||
СписокВыбораПутей.Добавить("ПутьMac", НСтр("ru = 'Стандартный путь для Mac OS'"));
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьВидимостьГруппаВебКлиентРасширениеНеУстановлено(Знач ВидимостьЭлемента)
|
||||
|
||||
@@ -876,6 +929,7 @@
|
||||
РасширениеДляФайловПодписи = ПерсональныеНастройки.РасширениеДляФайловПодписи;
|
||||
ПутиКПрограммам = ПерсональныеНастройки.ПутиКПрограммамЭлектроннойПодписиИШифрования;
|
||||
СохранятьСертификатВместеСПодписью = ПерсональныеНастройки.СохранятьСертификатВместеСПодписью;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
|
||||
@@ -1388,6 +1388,11 @@
|
||||
Результат.Вставить("Вложения", СписокВложений);
|
||||
Результат.Вставить("УдалятьФайлыПослеОтправки", Истина);
|
||||
|
||||
Если ОбъектыПечати.Количество() = 1 И ОбщегоНазначения.ЭтоСсылка(ТипЗнч(ОбъектыПечати[0].Значение)) Тогда
|
||||
Результат.Вставить("Предмет", ОбъектыПечати[0].Значение);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
ПечатныеФормы = Новый ТаблицаЗначений;
|
||||
ПечатныеФормы.Колонки.Добавить("Название");
|
||||
ПечатныеФормы.Колонки.Добавить("ТабличныйДокумент");
|
||||
|
||||
@@ -100,6 +100,7 @@
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>AlwaysHorizontal</group>
|
||||
<verticalAlign>Center</verticalAlign>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
@@ -212,7 +213,6 @@
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>NormalSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<showTitle>auto</showTitle>
|
||||
@@ -279,7 +279,6 @@
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>NormalSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<showTitle>auto</showTitle>
|
||||
@@ -386,6 +385,7 @@
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ДекорацияРазделитель</name>
|
||||
<id>57</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
@@ -408,6 +408,10 @@
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<font xsi:type="core:FontRef">
|
||||
<font>Style.NormalTextFont</font>
|
||||
<scale>10</scale>
|
||||
</font>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
@@ -512,6 +516,7 @@
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>AlwaysHorizontal</group>
|
||||
<verticalAlign>Center</verticalAlign>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
@@ -624,7 +629,6 @@
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>NormalSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<showTitle>auto</showTitle>
|
||||
@@ -691,7 +695,6 @@
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>HorizontalIfPossible</group>
|
||||
<behavior>Auto</behavior>
|
||||
<representation>NormalSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<showTitle>auto</showTitle>
|
||||
@@ -795,6 +798,293 @@
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ДекорацияРазделитель2</name>
|
||||
<id>78</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ДекорацияРазделитель2РасширеннаяПодсказка</name>
|
||||
<id>80</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДекорацияРазделитель2КонтекстноеМеню</name>
|
||||
<id>79</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<font xsi:type="core:FontRef">
|
||||
<font>Style.NormalTextFont</font>
|
||||
<scale>10</scale>
|
||||
</font>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаПодвал</name>
|
||||
<id>60</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>Инструкция</name>
|
||||
<id>62</id>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ТипичныеПроблемы</name>
|
||||
<id>64</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>При возникновении затруднений ознакомьтесь со списком <link ТипичныеПроблемы>типичных проблем при </><link ИнструкцияНажатие>работе</><link ТипичныеПроблемы> с программой электронной подписи и их решений</>.</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ТипичныеПроблемыРасширеннаяПодсказка</name>
|
||||
<id>66</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ТипичныеПроблемыКонтекстноеМеню</name>
|
||||
<id>65</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<formatted>true</formatted>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<handlers>
|
||||
<event>URLProcessing</event>
|
||||
<name>ТипичныеПроблемыОбработкаНавигационнойСсылки</name>
|
||||
</handlers>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>ИнформацияДляПоддержки</name>
|
||||
<id>67</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>В иных случаях обратитесь в службу поддержки фирмы "1С", предоставив <link Ссылка>техническую информацию о возникшей проблеме</>.</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ИнформацияДляПоддержкиРасширеннаяПодсказка</name>
|
||||
<id>69</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ИнформацияДляПоддержкиКонтекстноеМеню</name>
|
||||
<id>68</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<formatted>true</formatted>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<handlers>
|
||||
<event>URLProcessing</event>
|
||||
<name>ИнформацияДляПоддержкиОбработкаНавигационнойСсылки</name>
|
||||
</handlers>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Требуется помощь?</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ИнструкцияРасширеннаяПодсказка</name>
|
||||
<id>63</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>PopUp</behavior>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<showTitle>auto</showTitle>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>КоманднаяПанель</name>
|
||||
<id>70</id>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ФормаУстановитьРасширение</name>
|
||||
<id>72</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаУстановитьРасширениеРасширеннаяПодсказка</name>
|
||||
<id>73</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>74</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаПерейтиКНастройкеПрограммРасширеннаяПодсказка</name>
|
||||
<id>75</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>76</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Закрыть</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<defaultItem>true</defaultItem>
|
||||
<extendedTooltip>
|
||||
<name>ФормаЗакрытьРасширеннаяПодсказка</name>
|
||||
<id>77</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.StandardCommand.Close</commandName>
|
||||
<defaultButton>true</defaultButton>
|
||||
<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>71</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>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Подвал</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаПодвалРасширеннаяПодсказка</name>
|
||||
<id>61</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>AlwaysHorizontal</group>
|
||||
<behavior>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<commandBarLocation>None</commandBarLocation>
|
||||
<showCommandBar>false</showCommandBar>
|
||||
<autoCommandBar>
|
||||
@@ -807,10 +1097,9 @@
|
||||
<event>OnCreateAtServer</event>
|
||||
<name>ПриСозданииНаСервере</name>
|
||||
</handlers>
|
||||
<width>45</width>
|
||||
<width>55</width>
|
||||
<windowOpeningMode>LockOwner</windowOpeningMode>
|
||||
<saveWindowSettings>true</saveWindowSettings>
|
||||
<autoTitle>true</autoTitle>
|
||||
<autoUrl>true</autoUrl>
|
||||
<group>Vertical</group>
|
||||
<autoFillCheck>true</autoFillCheck>
|
||||
@@ -882,6 +1171,71 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ОписаниеОшибки</name>
|
||||
<id>5</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ДополнительныеДанные</name>
|
||||
<id>6</id>
|
||||
<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>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>ПерейтиКНастройкеПрограмм</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>DontUse</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</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>DontUse</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<parameters>
|
||||
<name>ЗаголовокПредупреждения</name>
|
||||
<valueType>
|
||||
@@ -903,6 +1257,41 @@
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ПоказатьИнструкцию</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ПоказатьПереходКНастройкеПрограмм</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ПоказатьУстановкуРасширения</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ПоказатьТребуетсяПомощь</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ОписаниеОшибки</name>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ДополнительныеДанные</name>
|
||||
<valueType/>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
@@ -11,28 +11,43 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Заголовок = Параметры.ЗаголовокПредупреждения;
|
||||
АвтоЗаголовок = Ложь;
|
||||
ЭлектроннаяПодписьСлужебный.УстановитьЗаголовокОшибки(ЭтотОбъект,
|
||||
Параметры.ЗаголовокПредупреждения);
|
||||
|
||||
ТекстОшибкиКлиент = Параметры.ТекстОшибкиКлиент;
|
||||
ТекстОшибкиСервер = Параметры.ТекстОшибкиСервер;
|
||||
|
||||
КлючНазначенияИспользования = "";
|
||||
УстановитьЭлементы(ТекстОшибкиКлиент);
|
||||
УстановитьЭлементы(ТекстОшибкиСервер, Истина);
|
||||
ДвеОшибки = Не ПустаяСтрока(ТекстОшибкиКлиент)
|
||||
И Не ПустаяСтрока(ТекстОшибкиСервер);
|
||||
|
||||
Если Не ПустаяСтрока(ТекстОшибкиКлиент)
|
||||
И Не ПустаяСтрока(ТекстОшибкиСервер) Тогда
|
||||
УстановитьЭлементы(ТекстОшибкиКлиент, ДвеОшибки, Ложь);
|
||||
УстановитьЭлементы(ТекстОшибкиСервер, ДвеОшибки, Истина);
|
||||
|
||||
Элементы.ДекорацияРазделитель.Видимость = Истина;
|
||||
Если ПустаяСтрока(ЯкорьОшибкиКлиент)
|
||||
Элементы.ДекорацияРазделитель.Видимость = ДвеОшибки;
|
||||
|
||||
Если ДвеОшибки
|
||||
И ПустаяСтрока(ЯкорьОшибкиКлиент)
|
||||
И ПустаяСтрока(ЯкорьОшибкиСервер) Тогда
|
||||
|
||||
Элементы.ИнструкцияКлиент.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ГруппаПодвал.Видимость = Параметры.ПоказатьТребуетсяПомощь;
|
||||
Элементы.ДекорацияРазделитель2.Видимость = Параметры.ПоказатьТребуетсяПомощь;
|
||||
|
||||
Если Параметры.ПоказатьТребуетсяПомощь Тогда
|
||||
Элементы.Инструкция.Видимость = Параметры.ПоказатьИнструкцию;
|
||||
Элементы.ФормаПерейтиКНастройкеПрограмм.Видимость = Параметры.ПоказатьПереходКНастройкеПрограмм;
|
||||
Элементы.ФормаУстановитьРасширение.Видимость = Параметры.ПоказатьУстановкуРасширения;
|
||||
Элементы.ИнструкцияКлиент.Видимость = ЗначениеЗаполнено(ЯкорьОшибкиКлиент);
|
||||
Элементы.ИнструкцияСервер.Видимость = ЗначениеЗаполнено(ЯкорьОшибкиСервер);
|
||||
ОписаниеОшибки = Параметры.ОписаниеОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
ДополнительныеДанные = Параметры.ДополнительныеДанные;
|
||||
|
||||
ЭлектроннаяПодписьСлужебный.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -57,21 +72,68 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТипичныеПроблемыОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ЭлектроннаяПодписьКлиент.ОткрытьИнструкциюПоТипичнымПроблемамПриРаботеСПрограммами();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ИнформацияДляПоддержкиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
ТекстОшибок = "";
|
||||
ОписаниеФайлов = Новый Массив;
|
||||
Если ЗначениеЗаполнено(ДополнительныеДанные) Тогда
|
||||
ЭлектроннаяПодписьСлужебныйВызовСервера.ДобавитьОписаниеДополнительныхДанных(
|
||||
ДополнительныеДанные, ОписаниеФайлов, ТекстОшибок);
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибок = ТекстОшибок + ОписаниеОшибки;
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.СформироватьТехническуюИнформацию(ТекстОшибок, , ОписаниеФайлов);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПерейтиКНастройкеПрограмм(Команда)
|
||||
|
||||
Закрыть();
|
||||
ЭлектроннаяПодписьКлиент.ОткрытьНастройкиЭлектроннойПодписиИШифрования("Программы");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УстановитьРасширение(Команда)
|
||||
|
||||
ЭлектроннаяПодписьКлиент.УстановитьРасширение(Истина);
|
||||
Закрыть();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьЭлементы(ТекстОшибки, ОшибкаНаСервере = Ложь)
|
||||
Процедура УстановитьЭлементы(ТекстОшибки, ДвеОшибки, ОшибкаНаСервере)
|
||||
|
||||
Если ОшибкаНаСервере Тогда
|
||||
ЭлементОшибка = Элементы.ОшибкаСервер;
|
||||
ЭлементТекстОшибки = Элементы.ТекстОшибкиСервер;
|
||||
ЭлементИнструкция = Элементы.ИнструкцияСервер;
|
||||
ЭлементПричиныТекст = Элементы.ПричиныСерверТекст;
|
||||
ЭлементРешенияТекст = Элементы.РешенияСерверТекст;
|
||||
ГруппаПричиныИРешения = Элементы.ВозможныеПричиныИРешенияСервер;
|
||||
Иначе
|
||||
ЭлементОшибка = Элементы.ОшибкаКлиент;
|
||||
ЭлементТекстОшибки = Элементы.ТекстОшибкиКлиент;
|
||||
ЭлементИнструкция = Элементы.ИнструкцияКлиент;
|
||||
ЭлементПричиныТекст = Элементы.ПричиныКлиентТекст;
|
||||
ЭлементРешенияТекст = Элементы.РешенияКлиентТекст;
|
||||
@@ -81,12 +143,8 @@
|
||||
ЭлементОшибка.Видимость = Не ПустаяСтрока(ТекстОшибки);
|
||||
Если Не ПустаяСтрока(ТекстОшибки) Тогда
|
||||
|
||||
ОписаниеОшибки = ЭлектроннаяПодпись.ОшибкаПоКлассификатору(ТекстОшибки);
|
||||
ЭтоИзвестнаяОшибка = ОписаниеОшибки <> Неопределено;
|
||||
|
||||
КлючНазначенияИспользования = КлючНазначенияИспользования
|
||||
+ ?(ЭтоИзвестнаяОшибка, "ИзвестнаяОшибка", "НеизвестнаяОшибка")
|
||||
+ ?(ОшибкаНаСервере, "Сервер", "Клиент");
|
||||
ОшибкаПоКлассификатору = ЭлектроннаяПодписьСлужебный.ОшибкаПоКлассификатору(ТекстОшибки);
|
||||
ЭтоИзвестнаяОшибка = ОшибкаПоКлассификатору <> Неопределено;
|
||||
|
||||
ГруппаПричиныИРешения.Видимость = ЭтоИзвестнаяОшибка;
|
||||
Если ЭтоИзвестнаяОшибка Тогда
|
||||
@@ -94,18 +152,34 @@
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
ЭлементИнструкция.Имя, "Заголовок", НСтр("ru = 'Подробнее'"));
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
ЭлементПричиныТекст.Имя, "Заголовок", ОписаниеОшибки.Причина);
|
||||
ЭлементПричиныТекст.Имя, "Заголовок", ОшибкаПоКлассификатору.Причина);
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
ЭлементРешенияТекст.Имя, "Заголовок", ОписаниеОшибки.Решение);
|
||||
ЭлементРешенияТекст.Имя, "Заголовок", ОшибкаПоКлассификатору.Решение);
|
||||
|
||||
Если ОшибкаНаСервере Тогда
|
||||
ЯкорьОшибкиСервер = ОписаниеОшибки.Ссылка;
|
||||
ЯкорьОшибкиСервер = ОшибкаПоКлассификатору.Ссылка;
|
||||
Иначе
|
||||
ЯкорьОшибкиКлиент = ОписаниеОшибки.Ссылка;
|
||||
ЯкорьОшибкиКлиент = ОшибкаПоКлассификатору.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ТребуемоеКоличествоСтрок = 0;
|
||||
ШиринаПоля = Цел(?(Ширина < 20, 20, Ширина) * 1.4);
|
||||
Для НомерСтроки = 1 По СтрЧислоСтрок(ТекстОшибки) Цикл
|
||||
ТребуемоеКоличествоСтрок = ТребуемоеКоличествоСтрок + 1
|
||||
+ Цел(СтрДлина(СтрПолучитьСтроку(ТекстОшибки, НомерСтроки)) / ШиринаПоля);
|
||||
КонецЦикла;
|
||||
Если ТребуемоеКоличествоСтрок > 5 И Не ДвеОшибки Тогда
|
||||
ЭлементТекстОшибки.Высота = 4;
|
||||
ИначеЕсли ТребуемоеКоличествоСтрок > 3 Тогда
|
||||
ЭлементТекстОшибки.Высота = 3;
|
||||
ИначеЕсли ТребуемоеКоличествоСтрок > 1 Тогда
|
||||
ЭлементТекстОшибки.Высота = 2;
|
||||
Иначе
|
||||
ЭлементТекстОшибки.Высота = 1;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -357,7 +357,7 @@
|
||||
+ " " + Выборка.Валюта;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ПредставлениеОбъекта = ПредставлениеОбъекта + " (" + МетаданныеОбъекта.ПредставлениеОбъекта + ")";
|
||||
ПредставлениеОбъекта = ПредставлениеОбъекта + " (" + ОбщегоНазначения.ПредставлениеОбъекта(МетаданныеОбъекта) + ")";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПредставлениеОбъекта;
|
||||
@@ -662,8 +662,12 @@
|
||||
Выборка = ПолучитьВыборкуПоРеквизитамОбъекта(ЭлементСписка.Значение);
|
||||
|
||||
Если Выборка.Следующий() Тогда
|
||||
|
||||
НоваяСтрока = ДобавитьСтрокуВДерево(ДеревоРодитель, Выборка, ВыведенныеОбъекты);
|
||||
Если Не ДобавляемыйОбъектИмеетсяСредиРодителей(ДеревоРодитель, ЭлементСписка.Значение) Тогда
|
||||
|
||||
Если НоваяСтрока <> Неопределено
|
||||
И Не ДобавляемыйОбъектИмеетсяСредиРодителей(ДеревоРодитель, ЭлементСписка.Значение) Тогда
|
||||
|
||||
ВывестиРодительскиеОбъекты(ЭлементСписка.Значение, НоваяСтрока, ВыведенныеОбъекты);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
@@ -884,7 +888,10 @@
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
НоваяСтрока = ДобавитьСтрокуВДерево(ДеревоРодитель, Выборка, ВыведенныеОбъекты, Истина);
|
||||
Если Не ДобавляемыйОбъектИмеетсяСредиРодителей(ДеревоРодитель, Выборка.Ссылка) Тогда
|
||||
|
||||
Если НоваяСтрока <> Неопределено
|
||||
И Не ДобавляемыйОбъектИмеетсяСредиРодителей(ДеревоРодитель, Выборка.Ссылка) Тогда
|
||||
|
||||
ВывестиПодчиненныеОбъекты(Выборка.Ссылка, НоваяСтрока, ВыведенныеОбъекты);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -896,7 +903,7 @@
|
||||
Функция ДобавитьСтрокуВДерево(Родитель, Данные, ВыведенныеОбъекты, ЭтоПодчиненный = Ложь)
|
||||
|
||||
Если Не ВыводитьТекущийОбъект(Данные.Ссылка, ВыведенныеОбъекты, ЭтоПодчиненный) Тогда
|
||||
Возврат Родитель;
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
НоваяСтрока = Родитель.ПолучитьЭлементы().Добавить();
|
||||
|
||||
@@ -303,6 +303,133 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ТехническаяИнформация</name>
|
||||
<id>41</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>АлгоритмПодписи</name>
|
||||
<id>43</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>АлгоритмПодписи</segments>
|
||||
</dataPath>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Алгоритм, которым с помощью закрытой части ключа подписана криптостойкая хеш-сумма данных, вычисленная с помощью алгоритма хеширования.</value>
|
||||
</toolTip>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<extendedTooltip>
|
||||
<name>АлгоритмПодписиРасширеннаяПодсказка</name>
|
||||
<id>45</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>АлгоритмПодписиКонтекстноеМеню</name>
|
||||
<id>44</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>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>АлгоритмХеширования</name>
|
||||
<id>46</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>АлгоритмХеширования</segments>
|
||||
</dataPath>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Алгоритм, которым вычислена криптостойкая хеш-сумма данных и затем подписана закрытой частью ключа с помощью алгоритма подписи.</value>
|
||||
</toolTip>
|
||||
<toolTipRepresentation>Button</toolTipRepresentation>
|
||||
<extendedTooltip>
|
||||
<name>АлгоритмХешированияРасширеннаяПодсказка</name>
|
||||
<id>48</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>АлгоритмХешированияКонтекстноеМеню</name>
|
||||
<id>47</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>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Техническая информация</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ТехническаяИнформацияРасширеннаяПодсказка</name>
|
||||
<id>42</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>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<showTitle>auto</showTitle>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Decoration">
|
||||
<name>Инструкция</name>
|
||||
<id>38</id>
|
||||
@@ -615,6 +742,42 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>АлгоритмПодписи</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Алгоритм подписи</value>
|
||||
</title>
|
||||
<id>8</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>АлгоритмХеширования</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Алгоритм хеширования</value>
|
||||
</title>
|
||||
<id>13</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>СохранитьВФайл</name>
|
||||
<title>
|
||||
|
||||
@@ -21,6 +21,16 @@
|
||||
СтандартныеПодсистемыСервер.УстановитьКлючНазначенияФормы(ЭтотОбъект, "ОписаниеОшибки");
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЭтоАдресВременногоХранилища(АдресПодписи) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
АлгоритмПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмСформированнойПодписи(
|
||||
АдресПодписи, Истина);
|
||||
|
||||
АлгоритмХеширования = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмХеширования(
|
||||
АдресПодписи, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -922,6 +922,8 @@
|
||||
ДанныеНачальногоОбраза.Прочитать();
|
||||
ДанныеНачальногоОбраза.Прочитать();
|
||||
|
||||
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Истина, Ложь);
|
||||
|
||||
Попытка
|
||||
УстановитьИспользованиеИтоговРегистров(Ложь);
|
||||
|
||||
@@ -937,7 +939,13 @@
|
||||
КонецЦикла;
|
||||
|
||||
УстановитьИспользованиеИтоговРегистров(Истина);
|
||||
|
||||
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь, Ложь);
|
||||
|
||||
Исключение
|
||||
|
||||
ОбменДаннымиСлужебный.ОтключитьОбновлениеКлючейДоступа(Ложь, Ложь);
|
||||
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииСозданиеАвтономногоРабочегоМеста(),
|
||||
УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
|
||||
|
||||
@@ -4510,9 +4510,10 @@
|
||||
ВариантыАдресов = РезультатЗапроса[8];
|
||||
Дома = РезультатЗапроса[9];
|
||||
ДополнительныеСведения = РезультатЗапроса[11];
|
||||
Участки = РезультатЗапроса[12];
|
||||
|
||||
АнализАдресныхОбъектов(Результаты, Адреса, ДанныеДляПроверкиАдресов.ПроверяемыеУровни, ВариантыАдресов, ПроверятьУстареваниеАдресов);
|
||||
АнализДомовИДополнительныхСведений(Результаты, Адреса, Дома, ДополнительныеСведения);
|
||||
АнализДомовИДополнительныхСведений(Результаты, Адреса, Дома, Участки, ДополнительныеСведения);
|
||||
|
||||
Возврат Результаты;
|
||||
|
||||
@@ -5006,7 +5007,23 @@
|
||||
|ИЗ
|
||||
| АдресныйОбъект КАК КодыАдресногоОбъекта
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеАдресныеСведения КАК ДополнительныеСведения
|
||||
| ПО (ДополнительныеСведения.Идентификатор = КодыАдресногоОбъекта.ДополнительныеАдресныеСведения)";
|
||||
| ПО (ДополнительныеСведения.Идентификатор = КодыАдресногоОбъекта.ДополнительныеАдресныеСведения)
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ ПЕРВЫЕ 1000
|
||||
| ЗемельныеУчастки.АдресныйОбъект КАК АдресныйОбъект,
|
||||
| ЗемельныеУчастки.КодСубъектаРФ КАК КодСубъектаРФ,
|
||||
| ЗемельныеУчастки.ДополнительныеАдресныеСведения КАК ДополнительныеАдресныеСведения,
|
||||
| ЗемельныеУчастки.Участки КАК Участки,
|
||||
| ДомаАдресныхОбъектов.Идентификатор КАК Идентификатор,
|
||||
| ДомаАдресныхОбъектов.Ключ КАК Ключ
|
||||
|ИЗ
|
||||
| АдресныеОбъекты КАК ДомаАдресныхОбъектов
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗемельныеУчастки КАК ЗемельныеУчастки
|
||||
| ПО (ЗемельныеУчастки.АдресныйОбъект = ДомаАдресныхОбъектов.Идентификатор)
|
||||
|ГДЕ
|
||||
| НЕ ЗемельныеУчастки.Участки ЕСТЬ NULL";
|
||||
|
||||
Возврат ТекстЗапроса;
|
||||
|
||||
@@ -5444,10 +5461,11 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура АнализДомовИДополнительныхСведений(Результаты, Знач Адреса, Знач Дома, Знач ДополнительныеСведения)
|
||||
Процедура АнализДомовИДополнительныхСведений(Результаты, Знач Адреса, Знач Дома, Знач Участки, Знач ДополнительныеСведения)
|
||||
|
||||
ТаблицаДомов = Дома.Выгрузить();
|
||||
ТаблицаДополнительныеСведения = ДополнительныеСведения.Выгрузить();
|
||||
ТаблицаУчастков = Участки.Выгрузить();
|
||||
Для Каждого КлючЗначение Из Адреса Цикл
|
||||
|
||||
Результат = Результаты[КлючЗначение.Ключ];
|
||||
@@ -5462,6 +5480,11 @@
|
||||
Адрес = КлючЗначение.Значение;
|
||||
ОшибкиПроверки = Результат.Ошибки;
|
||||
|
||||
Если ЗначениеЗаполнено(Адрес.stead) Тогда
|
||||
ПроверитьУчастки(Адрес.stead, КлючЗначение.Ключ, ОшибкиПроверки, Результат, ТаблицаУчастков);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
// Проверяем дома
|
||||
НомерДомаАдрес = Адрес.HouseNumber;
|
||||
ТипДомаАдрес = ?(ЗначениеЗаполнено(НомерДомаАдрес), Адрес.HouseType, "");
|
||||
@@ -5654,6 +5677,45 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроверитьУчастки(Знач Участок, Знач ИндексАдреса, Знач ОшибкиПроверки, Знач Результат, Знач ТаблицаУчастков)
|
||||
|
||||
// Проверка участка
|
||||
НайденныеУчастки = ТаблицаУчастков.НайтиСтроки(Новый Структура("Ключ", ИндексАдреса));
|
||||
Для каждого ИнформацияОУчастках Из НайденныеУчастки Цикл
|
||||
|
||||
Если ПустаяСтрока(ИнформацияОУчастках.Участки) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаСоСпискомУчастков = ИнформацияОУчастках.Участки.Получить();
|
||||
Если ЗначениеЗаполнено(СтрокаСоСпискомУчастков) Тогда
|
||||
|
||||
ТипЧисло = Новый ОписаниеТипов("Число");
|
||||
НаборУчастков = СтрРазделить(СтрокаСоСпискомУчастков, Символы.Таб, Ложь);
|
||||
|
||||
Для каждого СтрокаУчасток Из НаборУчастков Цикл
|
||||
НомерУчастка = Сред(СтрокаУчасток, 25);
|
||||
|
||||
Если СтрСравнить(НомерУчастка, Участок) = 0 Тогда
|
||||
Результат.АдресКорректный = Истина;
|
||||
Результат.АдресПроверен = Истина;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ДобавитьОшибкуПроверкиАдресаПоКлассификатору(ОшибкиПроверки, "Дом",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Земельный участок %1 отсутствует в ФИАС'"),
|
||||
Участок));
|
||||
|
||||
Результат.АдресКорректный = Ложь;
|
||||
Результат.АдресПроверен = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область КонвертацияАдресаБазыВАдресВебСервиса
|
||||
|
||||
Функция АдресДляПередачиВСервис(Адрес)
|
||||
@@ -6647,7 +6709,14 @@
|
||||
|
||||
Если ЭтоУстановкаИдентификаторов Или РезультатПроверки.АдресУстарел Тогда
|
||||
Если ЭлементПроверки.Свойство("value") И ЗначениеЗаполнено(ЭлементПроверки.value) Тогда
|
||||
РезультатПроверки.Варианты.Добавить(ЭлементПроверки.value);
|
||||
Вариант = ОбщегоНазначения.СкопироватьРекурсивно(ЭлементПроверки.value);
|
||||
ШаблонКонтактнойИнформации = ОписаниеНовойКонтактнойИнформации();
|
||||
Для каждого СвойствоСтруктуры Из Вариант Цикл
|
||||
Если ШаблонКонтактнойИнформации.Свойство(СвойствоСтруктуры.Ключ) И СвойствоСтруктуры.Значение = Неопределено Тогда
|
||||
Вариант[СвойствоСтруктуры.Ключ] = ШаблонКонтактнойИнформации[СвойствоСтруктуры.Ключ];
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
РезультатПроверки.Варианты.Добавить(Вариант);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -3051,7 +3051,7 @@
|
||||
Если ОбщегоНазначения.ЭтоДокумент(Объект.Метаданные()) И Объект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
|
||||
Если Объект.Проведен И Не ОтменаПроведения Тогда
|
||||
РежимЗаписи = РежимЗаписиДокумента.Проведение;
|
||||
Иначе
|
||||
ИначеЕсли Не Объект.Ссылка.Пустая() Тогда
|
||||
РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения;
|
||||
КонецЕсли;
|
||||
ИдентификаторОшибки = "ОшибкаПроведения";
|
||||
|
||||
@@ -657,6 +657,8 @@
|
||||
Если НЕ Письмо.УдалятьПослеОтправки Тогда
|
||||
|
||||
Попытка
|
||||
|
||||
Письмо.Прочитать();
|
||||
Письмо.ИдентификаторСообщения = ИдентификаторПисьма;
|
||||
Письмо.СтатусПисьма = Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Отправлено;
|
||||
Письмо.ДатаОтправления = ТекущаяДатаСеанса();
|
||||
|
||||
@@ -1691,6 +1691,10 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ЕстьЗаблокированныеПредыдущимиОчередямиДанные(Очередь) Экспорт
|
||||
Возврат ОбновлениеИнформационнойБазы.ЕстьЗаблокированныеПредыдущимиОчередямиДанные(Очередь, "Справочник.ДополнительныеОтчетыИОбработки");
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
@@ -476,10 +476,14 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Список.ОсновнаяТаблица) Тогда
|
||||
ИмяОбъектаМетаданных = Список.ОсновнаяТаблица;
|
||||
Иначе
|
||||
НаборЧастейПутиОбъектаМетаданных = СтрРазделить(Форма.ИмяФормы, ".");
|
||||
ИмяОбъектаМетаданных = НаборЧастейПутиОбъектаМетаданных[0] + "." + НаборЧастейПутиОбъектаМетаданных[1];
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаМетаданных);
|
||||
КонецЕсли;
|
||||
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаМетаданных);
|
||||
ЛокализуемыеРеквизиты = ЛокализуемыеРеквизитыОбъектаДляТекущегоЯзыка(ОбъектМетаданных);
|
||||
|
||||
МодельЗапроса = Новый СхемаЗапроса;
|
||||
@@ -943,12 +947,13 @@
|
||||
СписокРеквизитовОбъекта.Вставить(Реквизит.Имя, Реквизит);
|
||||
КонецЦикла;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 0
|
||||
ТекстЗапроса = "ВЫБРАТЬ ПЕРВЫЕ 0
|
||||
| *
|
||||
|ИЗ
|
||||
| " + ОбъектМетаданных.ПолноеИмя();
|
||||
| &ОбъектМетаданныхПолноеИмя КАК ДанныеИсточника";
|
||||
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ОбъектМетаданныхПолноеИмя", ОбъектМетаданных.ПолноеИмя());
|
||||
Запрос = Новый Запрос(ТекстЗапроса);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -41,7 +41,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.1.3.229";
|
||||
Описание.Версия = "3.1.3.250";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -164,10 +164,13 @@
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(Ячейка.Текст) Тогда
|
||||
|
||||
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число");
|
||||
|
||||
ТекстЯчейки = СтрЗаменить(Ячейка.Текст, " ", "");
|
||||
|
||||
Если ТекстЯчейкиВидаЭкспоненциальнойЗаписи(ТекстЯчейки) Тогда
|
||||
Число = 0;
|
||||
Иначе
|
||||
ОписаниеТипаЧисло = Новый ОписаниеТипов("Число");
|
||||
|
||||
Если СтрНачинаетсяС(ТекстЯчейки, "(")
|
||||
И СтрЗаканчиваетсяНа(ТекстЯчейки, ")") Тогда
|
||||
|
||||
@@ -181,6 +184,7 @@
|
||||
Иначе
|
||||
Число = ОписаниеТипаЧисло.ПривестиЗначение(ТекстЯчейки);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
Продолжить;
|
||||
@@ -677,6 +681,42 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает признак соответствия текста ячейки формату экспоненциальной записи.
|
||||
// Это позволяет принять решение, рассчитывать ли данное значение методом ПривестиЗначение
|
||||
// или отказаться от расчета, поскольку приведение к числу может потребовать значительных
|
||||
// вычислительных ресурсов процессора.
|
||||
//
|
||||
// Параметры:
|
||||
// ТекстЯчейки - Строка - значение выделенной ячейки.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - если Истина, то текст имеет вид экспоненциальной записи.
|
||||
//
|
||||
Функция ТекстЯчейкиВидаЭкспоненциальнойЗаписи(Знач ТекстЯчейки)
|
||||
|
||||
ЧислоВхождений = 0;
|
||||
ТекстЯчейки = СтрЗаменить(ВРег(ТекстЯчейки), Символы.НПП, "");
|
||||
|
||||
// Замена символов разделителей дробной части.
|
||||
ТекстЯчейки = СтрЗаменить(ТекстЯчейки, Символ(44), ""); // Запятая ','
|
||||
ТекстЯчейки = СтрЗаменить(ТекстЯчейки, Символ(46), ""); // Точка '.'
|
||||
|
||||
КодыСимволовЭкспоненты = Новый Массив;
|
||||
КодыСимволовЭкспоненты.Добавить(1045); // Кириллическая 'E'
|
||||
КодыСимволовЭкспоненты.Добавить(69); // Латинская 'E'
|
||||
|
||||
Для Каждого Код Из КодыСимволовЭкспоненты Цикл
|
||||
|
||||
СимволЭкспоненты = Символ(Код);
|
||||
ЧислоВхождений = ЧислоВхождений + СтрЧислоВхождений(ТекстЯчейки, СимволЭкспоненты);
|
||||
ТекстЯчейки = СтрЗаменить(ТекстЯчейки, СимволЭкспоненты, "");
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ЧислоВхождений = 1 И СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(ТекстЯчейки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@@ -87,7 +87,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// ПрисоединенныйФайл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с файлом.
|
||||
// ДополнительныеПараметры - см. работаСФайламиКлиентСервер.ПараметрыДанныхФайла.
|
||||
// ДополнительныеПараметры - см. РаботаСФайламиКлиентСервер.ПараметрыДанныхФайла.
|
||||
// УдалитьПолучатьСсылкуНаДвоичныеДанные - Булево - устарел, следует использовать ДополнительныеПараметры.
|
||||
// УдалитьДляРедактирования - Булево - устарел, следует использовать ДополнительныеПараметры.
|
||||
//
|
||||
@@ -1857,11 +1857,15 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Источник) = Тип("СправочникОбъект.ВерсииФайлов") Тогда
|
||||
Если Источник.ДополнительныеСвойства.Свойство("КонвертацияФайлов") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Источник.ДополнительныеСвойства.Свойство("КонвертацияФайлов") Тогда
|
||||
Если ТипЗнч(Источник) = Тип("СправочникОбъект.ВерсииФайлов") Тогда
|
||||
Если Не Источник.ЭтоНовый() И Не Пользователи.ЭтоПолноправныйПользователь() Тогда
|
||||
ПрежниеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Источник.Ссылка, "Автор");
|
||||
ПроверитьИзменениеАвтораФайла(ПрежниеЗначения, Источник);
|
||||
КонецЕсли;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1874,9 +1878,14 @@
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
|
||||
ИзмененаПометкаУдаления =
|
||||
Источник.ПометкаУдаления <> ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.Ссылка, "ПометкаУдаления");
|
||||
Если Пользователи.ЭтоПолноправныйПользователь() Тогда
|
||||
ПрежниеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Источник.Ссылка, "ПометкаУдаления");
|
||||
Иначе
|
||||
ПрежниеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Источник.Ссылка, "ПометкаУдаления, Автор, Редактирует, Изменил");
|
||||
ПроверитьИзменениеАвтораФайла(ПрежниеЗначения, Источник);
|
||||
КонецЕсли;
|
||||
|
||||
ИзмененаПометкаУдаления = Источник.ПометкаУдаления <> ПрежниеЗначения.ПометкаУдаления;
|
||||
Если ИзмененаПометкаУдаления Тогда
|
||||
// Проверка права "Пометка на удаление".
|
||||
Если НЕ РаботаСФайламиСлужебный.ЕстьПраво("ПометкаУдаленияФайлов", Источник.ВладелецФайла) Тогда
|
||||
@@ -1889,17 +1898,13 @@
|
||||
Если ИзмененаПометкаУдаления И ЗначениеЗаполнено(Источник.Редактирует) Тогда
|
||||
|
||||
Если Источник.Редактирует = Пользователи.АвторизованныйПользователь() Тогда
|
||||
|
||||
ТекстОшибки = НСтр("ru = 'Действие недоступно, так как файл ""%1"" занят для редактирования.'");
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, Источник.Наименование);
|
||||
|
||||
Иначе
|
||||
ТекстОшибки = НСтр("ru = 'Действие недоступно, так как файл ""%1"" занят для редактирования
|
||||
|пользователем %2.'");
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки,
|
||||
Источник.Наименование,
|
||||
Строка(Источник.Редактирует));
|
||||
|
||||
Источник.Наименование, Строка(Источник.Редактирует));
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -1965,20 +1970,12 @@
|
||||
|
||||
Если Не ЗначениеЗаполнено(Источник.ВладелецФайла) Тогда
|
||||
|
||||
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не заполнен владелец в файле
|
||||
|""%1"".'"),
|
||||
Источник.Наименование);
|
||||
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не заполнен владелец в файле
|
||||
|""%1"".'"), Источник.Наименование);
|
||||
|
||||
Если ОбновлениеИнформационнойБазы.ВыполняетсяОбновлениеИнформационнойБазы() Тогда
|
||||
|
||||
ЗаписьЖурналаРегистрации(
|
||||
НСтр("ru = 'Файлы.Ошибка записи файла при обновлении ИБ'",
|
||||
ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка,
|
||||
,
|
||||
Источник.Ссылка,
|
||||
ОписаниеОшибки);
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Ошибка записи файла при обновлении ИБ'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка,, Источник.Ссылка, ОписаниеОшибки);
|
||||
Иначе
|
||||
ВызватьИсключение ОписаниеОшибки;
|
||||
КонецЕсли;
|
||||
@@ -2108,6 +2105,41 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроверитьИзменениеАвтораФайла(Знач ПрежниеЗначения, Знач Источник)
|
||||
|
||||
ИзмененАвтор = Источник.Автор <> ПрежниеЗначения.Автор;
|
||||
Если ИзмененАвтор Тогда
|
||||
ВызватьИсключение НСтр("ru = 'Недостаточно прав для изменения автора файла.'");
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Источник) = Тип("СправочникОбъект.ВерсииФайлов") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекущийПользователь = Пользователи.АвторизованныйПользователь();
|
||||
Если Источник.Редактирует <> ПрежниеЗначения.Редактирует
|
||||
И (НедопустимыйАвтор(Источник.Редактирует, ТекущийПользователь)
|
||||
Или НедопустимыйАвтор(ПрежниеЗначения.Редактирует, ТекущийПользователь)) Тогда
|
||||
ВызватьИсключение НСтр("ru = 'Недостаточно прав для редактирования файла.'");
|
||||
КонецЕсли;
|
||||
|
||||
Если Источник.Изменил <> ПрежниеЗначения.Изменил
|
||||
И (НедопустимыйАвтор(Источник.Изменил, ТекущийПользователь)
|
||||
Или НедопустимыйАвтор(ПрежниеЗначения.Изменил, ТекущийПользователь)) Тогда
|
||||
ВызватьИсключение НСтр("ru = 'Недостаточно прав для редактирования файла.'");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НедопустимыйАвтор(АвторСсылка, ТекущийПользователь)
|
||||
|
||||
// Можно изменять только с пустого значения на себя и наоборот.
|
||||
Возврат АвторСсылка <> Неопределено И Не АвторСсылка.Пустая()
|
||||
И ТипЗнч(АвторСсылка) <> Тип("СправочникСсылка.УчетныеЗаписиСинхронизацииФайлов")
|
||||
И АвторСсылка <> ТекущийПользователь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Управление присоединенными файлами.
|
||||
|
||||
|
||||
@@ -8288,7 +8288,11 @@
|
||||
Источник.ДополнительныеСвойства.ЗаписьПодписанногоОбъекта);
|
||||
КонецЕсли;
|
||||
|
||||
// Проверка прав доступа не требуется.
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
ФайлОбъект.Записать();
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
|
||||
@@ -652,21 +652,19 @@
|
||||
|
||||
ПроверитьПараметрыСклонения(ПараметрыСклонения, ИмяПроцедурыИлиФункции);
|
||||
|
||||
Если Не ПараметрыСклонения.ЭтоФИО Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыСклонения.Пол = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
ПараметрыСтроки = Новый Массив;
|
||||
ПараметрыСтроки.Добавить("Л=ru_RU");
|
||||
|
||||
Если ПараметрыСклонения.ЭтоФИО Тогда
|
||||
Если ПараметрыСклонения.Пол = 1 Тогда
|
||||
ОписаниеСтроки = "ПЛ=Мужской";
|
||||
ПараметрыСтроки.Добавить("ПЛ=Мужской");
|
||||
КонецЕсли;
|
||||
Если ПараметрыСклонения.Пол = 2 Тогда
|
||||
ПараметрыСтроки.Добавить("ПЛ=Женский");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыСклонения.Пол = 2 Тогда
|
||||
ОписаниеСтроки = "ПЛ=Женский";
|
||||
КонецЕсли;
|
||||
ОписаниеСтроки = СтрСоединить(ПараметрыСтроки, ";");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -769,6 +767,11 @@
|
||||
ОписаниеСлова.ВариантРегистра = ВидРегистраСлова(Слово);
|
||||
ПредставленияСлов.Вставить(ЧастиФИО.ВГраница(), ОписаниеСлова);
|
||||
КонецЕсли;
|
||||
Если ОписаниеСлова = Неопределено Тогда
|
||||
ЧастиФИО.Добавить("");
|
||||
ОписаниеСлова = ПредставлениеСлова();
|
||||
ПредставленияСлов.Вставить(ЧастиФИО.ВГраница(), ОписаниеСлова);
|
||||
КонецЕсли;
|
||||
ОписаниеСлова.Разделители = ОписаниеСлова.Разделители + Символ(КодСимвола);
|
||||
НачалоСлова = Позиция + 1;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -276,11 +276,17 @@
|
||||
ИменаАвтогенерируемыхКоманд.Вставить("Форма" + СтрЗаменить(Элемент.Ключ, ".", "") + "СоздатьНаОсновании", Истина);
|
||||
КонецЦикла;
|
||||
|
||||
ПеремещаемыеЭлементы = Новый Массив;
|
||||
|
||||
Для Каждого Элемент Из ПодменюСоздатьНаОсновании.ПодчиненныеЭлементы Цикл
|
||||
Если ИменаАвтогенерируемыхКоманд[Элемент.Имя] = Неопределено Тогда
|
||||
ПеремещаемыеЭлементы.Добавить(Элемент);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Элемент Из ПеремещаемыеЭлементы Цикл
|
||||
Форма.Элементы.Переместить(Элемент, ДинамическоеПодменюСозданияНаОсновании.Группы.Обычное);
|
||||
ДинамическоеПодменюСозданияНаОсновании.ВыведеноКоманд = ДинамическоеПодменюСозданияНаОсновании.ВыведеноКоманд + 1;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1613,7 +1613,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ОграничиватьДоступНаУровнеЗаписейУниверсально()
|
||||
И ОбщегоНазначения.ЭтоПодчиненныйУзелРИБСФильтром() Тогда
|
||||
И (ОбщегоНазначения.ЭтоПодчиненныйУзелРИБСФильтром()
|
||||
Или ОбщегоНазначения.ЭтоАвтономноеРабочееМесто()) Тогда
|
||||
|
||||
ПараметрыПланирования = ПараметрыПланированияОбновленияДоступа();
|
||||
ПараметрыПланирования.Описание = "ПриНастройкеПодчиненногоУзлаРИБ";
|
||||
|
||||
@@ -3602,7 +3602,7 @@
|
||||
Иначе
|
||||
|
||||
Элемент.Вид = ВидПоляФормы.ПолеВвода;
|
||||
Если ИнформацияОВидеКИ.ВидРедактирования = "Диалог" Тогда
|
||||
Если ИнформацияОВидеКИ.ВидРедактирования = "Диалог" И ИнформацияОВидеКИ.Тип <> Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
|
||||
Элемент.РедактированиеТекста = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -3611,7 +3611,6 @@
|
||||
Если ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
|
||||
Элемент.УстановитьДействие("Автоподбор", "Подключаемый_КонтактнаяИнформацияАвтоподбор");
|
||||
Элемент.УстановитьДействие("ОбработкаВыбора", "Подключаемый_КонтактнаяИнформацияОбработкаВыбора");
|
||||
|
||||
КонецЕсли;
|
||||
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
|
||||
Элемент.МногострочныйРежим = Истина;
|
||||
|
||||
@@ -286,6 +286,10 @@
|
||||
СоответствиеИменПсевдонимам.Вставить("УправлениеКонтактнойИнформациейСлужебный.ИсправлениеУстаревшихАдресов");
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ЕстьЗаблокированныеПредыдущимиОчередямиДанные(Очередь) Экспорт
|
||||
Возврат ОбновлениеИнформационнойБазы.ЕстьЗаблокированныеПредыдущимиОчередямиДанные(Очередь, "Справочник.ВидыКонтактнойИнформации");
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
@@ -1595,12 +1595,6 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Шаблоны сообщений.
|
||||
|
||||
// Возвращает допустимые для сохранения форматы печатных форм для шаблонов сообщений.
|
||||
//
|
||||
Функция ФорматыСохраненияТабличногоДокумента() Экспорт
|
||||
Возврат НастройкиФорматовСохраненияТабличногоДокумента();
|
||||
КонецФункции
|
||||
|
||||
Функция КомандыПечатиОбъектаДоступныеДляВложений(ОбъектМетаданных) Экспорт
|
||||
|
||||
Если ИсточникиКомандПечати().Найти(ОбъектМетаданных) <> Неопределено Тогда
|
||||
@@ -2991,6 +2985,8 @@
|
||||
Если ТипЗнч(ТипФайла) = Тип("Строка") Тогда
|
||||
ТипФайла = ТипФайлаТабличногоДокумента[ТипФайла];
|
||||
КонецЕсли;
|
||||
ТипФайла = ИспользуемыйТипФайлаТабличногоДокумента(ТипФайла);
|
||||
|
||||
НастройкиФормата = ТаблицаФорматов.НайтиСтроки(Новый Структура("ТипФайлаТабличногоДокумента", ТипФайла))[0];
|
||||
|
||||
РасширениеФайла = НастройкиФормата.Расширение;
|
||||
@@ -3012,6 +3008,32 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ИспользуемыйТипФайлаТабличногоДокумента(ТипФайла)
|
||||
|
||||
Если ТипФайла = ТипФайлаТабличногоДокумента.PDF
|
||||
Или Строка(ТипФайла) = "PDF_A_1"
|
||||
Или Строка(ТипФайла) = "PDF_A_2"
|
||||
Или Строка(ТипФайла) = "PDF_A_3" Тогда
|
||||
Возврат СтандартныеПодсистемыСервер.ТипФайлаТабличногоДокументаPDF();
|
||||
КонецЕсли;
|
||||
|
||||
ЗаменяемыеТипы = Новый Соответствие;
|
||||
ЗаменяемыеТипы.Вставить(ТипФайлаТабличногоДокумента.HTML, ТипФайлаТабличногоДокумента.HTML5);
|
||||
ЗаменяемыеТипы.Вставить(ТипФайлаТабличногоДокумента.HTML3, ТипФайлаТабличногоДокумента.HTML5);
|
||||
ЗаменяемыеТипы.Вставить(ТипФайлаТабличногоДокумента.HTML4, ТипФайлаТабличногоДокумента.HTML5);
|
||||
ЗаменяемыеТипы.Вставить(ТипФайлаТабличногоДокумента.MXL7, ТипФайлаТабличногоДокумента.MXL);
|
||||
ЗаменяемыеТипы.Вставить(ТипФайлаТабличногоДокумента.XLS95, ТипФайлаТабличногоДокумента.XLS);
|
||||
ЗаменяемыеТипы.Вставить(ТипФайлаТабличногоДокумента.XLS97, ТипФайлаТабличногоДокумента.XLS);
|
||||
|
||||
Результат = ЗаменяемыеТипы[ТипФайла];
|
||||
Если Результат = Неопределено Тогда
|
||||
Результат = ТипФайла;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция МакетыПечатныхФорм() Экспорт
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
|
||||
@@ -319,10 +319,12 @@
|
||||
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
|
||||
Обработчик.Комментарий = НСтр("ru = 'Обновление шаблонов сообщений.
|
||||
|До завершения обработки формирование писем и сообщений SMS на основании шаблонов будет недоступно.'");
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
||||
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
|
||||
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
|
||||
Приоритет.Процедура = "Справочники.ВидыКонтактнойИнформации.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
Приоритет.Порядок = "После";
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2122,21 +2124,31 @@
|
||||
// * СписокРеквизитов
|
||||
// * СписокСодержитДанные
|
||||
//
|
||||
Процедура ДобавитьРеквизитПоМетаданнымОбъекта(Реквизиты, Реквизит, Префикс, СведенияОСпискеРеквизитов, СведенияОИсключаемыхРеквизитах);
|
||||
Процедура ДобавитьРеквизитПоМетаданнымОбъекта(Реквизиты, Реквизит, Префикс, СведенияОСпискеРеквизитов, СведенияОИсключаемыхРеквизитах)
|
||||
|
||||
ИмяРеквизита = Неопределено;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
|
||||
Если ТипЗнч(Реквизит) = Тип("ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения") Тогда
|
||||
ЗначенияСвойство = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Реквизит, "ИдентификаторДляФормул, ТипЗначения, ФорматСвойства");
|
||||
ИмяРеквизита = "~Свойство." + ЗначенияСвойство.ИдентификаторДляФормул;
|
||||
Представление = Строка(Реквизит);
|
||||
Тип = ЗначенияСвойство.ТипЗначения;
|
||||
Формат = ЗначенияСвойство.ФорматСвойства;
|
||||
ИначеЕсли ТипЗнч(Реквизит) = Тип("СправочникСсылка.ВидыКонтактнойИнформации") Тогда
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
||||
Если ТипЗнч(Реквизит) = Тип("СправочникСсылка.ВидыКонтактнойИнформации") Тогда
|
||||
ИдентификаторДляФормул = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Реквизит, "ИдентификаторДляФормул");
|
||||
ИмяРеквизита = "~КИ." + ИдентификаторДляФормул;
|
||||
Представление = Строка(Реквизит);
|
||||
Тип = Новый ОписаниеТипов("Строка");
|
||||
Формат = "";
|
||||
Иначе
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ИмяРеквизита = Неопределено Тогда
|
||||
ИмяРеквизита = Реквизит.Имя;
|
||||
Представление = Реквизит.Представление();
|
||||
Тип = Реквизит.Тип;
|
||||
|
||||
@@ -1530,14 +1530,20 @@
|
||||
// Возвращает общие настройки всех пользователей для работы с электронной подписью.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - общие настройки подсистемы для работы с электронной подписью:
|
||||
// ФиксированнаяСтруктура - общие настройки подсистемы для работы с электронной подписью:
|
||||
// * ИспользоватьЭлектронныеПодписи - Булево - если Истина, то электронный подписи используются.
|
||||
// * ИспользоватьШифрование - Булево - если Истина, то шифрование используются.
|
||||
// * ПроверятьЭлектронныеПодписиНаСервере - Булево - если Истина, то электронные подписи и
|
||||
// сертификаты проверяются на сервере.
|
||||
// * СоздаватьЭлектронныеПодписиНаСервере - Булево - если Истина, то электронные подписи создаются
|
||||
// сначала на сервере, а в случае неудачи на клиенте.
|
||||
// * ОписанияПрограмм - Массив из см. ОписаниеПрограмм - сведения о поддерживаемых программах криптографии.
|
||||
//
|
||||
// * ОписанияПрограмм - ФиксированныйМассив из см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы -
|
||||
// сведения о поддерживаемых программах криптографии.
|
||||
//
|
||||
// * ОписанияПрограммПоСсылке - ФиксированноеСоответствие:
|
||||
// ** Ключ - СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования
|
||||
// ** Значение - см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
//
|
||||
// См. также:
|
||||
// ОбщаяФорма.НастройкиЭлектроннойПодписиИШифрования - место определения данных параметров и
|
||||
|
||||
@@ -229,9 +229,9 @@
|
||||
Обработчик.РежимВыполнения = "Монопольно";
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "3.0.1.69";
|
||||
Обработчик.Версия = "3.1.3.241";
|
||||
Обработчик.Комментарий =
|
||||
НСтр("ru = 'Заполнение справочника Программы электронной подписи и шифрования.'");
|
||||
НСтр("ru = 'Обновление справочника Программы электронной подписи и шифрования.'");
|
||||
Обработчик.Идентификатор = Новый УникальныйИдентификатор("8e76369a-e16c-415d-bfeb-95e7e5f07a00");
|
||||
Обработчик.Процедура = "Справочники.ПрограммыЭлектроннойПодписиИШифрования.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.РежимВыполнения = "Отложенно";
|
||||
@@ -432,7 +432,8 @@
|
||||
|
||||
ИмяКомпьютера = ИмяКомпьютера();
|
||||
ОписаниеОшибок = ЭлектроннаяПодписьСлужебныйКлиентСервер.НовоеОписаниеОшибок(ИмяКомпьютера);
|
||||
Менеджер = НовыйМенеджерКриптографии(Программа, ОписаниеОшибок.Ошибки, ИмяКомпьютера, АлгоритмПодписи);
|
||||
Менеджер = НовыйМенеджерКриптографии(Программа,
|
||||
ОписаниеОшибок.Ошибки, АлгоритмПодписи, Операция);
|
||||
|
||||
Если Менеджер <> Неопределено Тогда
|
||||
Возврат Менеджер;
|
||||
@@ -1063,7 +1064,12 @@
|
||||
// Возвращаемое значение:
|
||||
// Булево
|
||||
//
|
||||
Функция ТребуетсяПутьКПрограмме() Экспорт
|
||||
Функция ТребуетсяПутьКПрограмме(НаКлиенте = Ложь) Экспорт
|
||||
|
||||
Если НаКлиенте Тогда
|
||||
Возврат ОбщегоНазначения.ЭтоLinuxКлиент()
|
||||
Или ОбщегоНазначения.ЭтоMacOSКлиент();
|
||||
КонецЕсли;
|
||||
|
||||
СистемнаяИнформация = Новый СистемнаяИнформация;
|
||||
|
||||
@@ -1123,7 +1129,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьСуществующиеСертификатыПользователя(Форма.СертификатСписокВыбора,
|
||||
Параметры.ОтпечаткиСертификатовНаКлиенте, Форма.ОтборСертификатов, Форма.ОтборОтпечатков);
|
||||
Параметры.ОтпечаткиСертификатовНаКлиенте, Форма.ОтборСертификатов, Форма.ОтборОтпечатков, Расшифровка);
|
||||
|
||||
Сертификат = Неопределено;
|
||||
|
||||
@@ -1176,26 +1182,10 @@
|
||||
|
||||
ЗаполнитьДополнительныеСвойстваСертификата(Форма);
|
||||
|
||||
АлгоритмПодписи = "";
|
||||
Если ЗначениеЗаполнено(Форма.Сертификат) Тогда
|
||||
|
||||
ХранилищеДанныхСертификата = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Форма.Сертификат, "ДанныеСертификата");
|
||||
Если ЗначениеЗаполнено(ХранилищеДанныхСертификата) Тогда
|
||||
|
||||
ДанныеСертификата = ХранилищеДанныхСертификата.Получить();
|
||||
Если ЗначениеЗаполнено(ДанныеСертификата) Тогда
|
||||
АлгоритмПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСертификата(ДанныеСертификата);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Форма.МенеджерКриптографииНаСервереОписаниеОшибки = Новый Структура;
|
||||
Если ЭлектроннаяПодпись.СоздаватьЭлектронныеПодписиНаСервере() Тогда
|
||||
|
||||
ПараметрыСоздания = ПараметрыСозданияМенеджераКриптографии();
|
||||
ПараметрыСоздания.АлгоритмПодписи = АлгоритмПодписи;
|
||||
ПараметрыСоздания.ОписаниеОшибки = Новый Структура;
|
||||
|
||||
МенеджерКриптографии("ПолучениеСертификатов", ПараметрыСоздания);
|
||||
@@ -1224,7 +1214,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьСуществующиеСертификатыПользователя(Форма.СертификатСписокВыбора,
|
||||
ОтпечаткиСертификатовНаКлиенте, Форма.ОтборСертификатов, Форма.ОтборОтпечатков);
|
||||
ОтпечаткиСертификатовНаКлиенте, Форма.ОтборСертификатов, Форма.ОтборОтпечатков, Расшифровка);
|
||||
|
||||
ЗаполнитьДополнительныеСвойстваСертификата(Форма);
|
||||
|
||||
@@ -1497,6 +1487,36 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения
|
||||
// Заголовок - Строка
|
||||
//
|
||||
Процедура УстановитьЗаголовокОшибки(Форма, Заголовок) Экспорт
|
||||
|
||||
Форма.Заголовок = Заголовок;
|
||||
|
||||
ШиринаЗаголовка = СтрДлина(Форма.Заголовок);
|
||||
Если ШиринаЗаголовка > 80 Тогда
|
||||
ШиринаЗаголовка = 80;
|
||||
КонецЕсли;
|
||||
Если ШиринаЗаголовка > Форма.Ширина Тогда
|
||||
Форма.Ширина = ШиринаЗаголовка;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СброситьРазмерыИПоложениеОкна(Форма) Экспорт
|
||||
|
||||
ИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
|
||||
|
||||
Если ПравоДоступа("СохранениеДанныхПользователя", Метаданные) Тогда
|
||||
ХранилищеСистемныхНастроек.Удалить(Форма.ИмяФормы, "", ИмяПользователя);
|
||||
КонецЕсли;
|
||||
|
||||
Форма.КлючСохраненияПоложенияОкна = Строка(Новый УникальныйИдентификатор);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обновление информационной базы.
|
||||
|
||||
@@ -1695,20 +1715,14 @@
|
||||
|
||||
ИмяКриптопровайдера = ИнформацияМодуляКриптографии.Имя;
|
||||
ОписаниеПрограммы = ЭлектроннаяПодписьСлужебныйКлиентСервер.ОписаниеПрограммыПоИмениКриптопровайдера(ИмяКриптопровайдера,
|
||||
ЭлектроннаяПодпись.ОбщиеНастройки().ОписанияПрограмм);// см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограмм
|
||||
ЭлектроннаяПодпись.ОбщиеНастройки().ОписанияПрограмм); // см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
|
||||
Если ОписаниеПрограммы = Неопределено Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не удалось определить тип криптопровайдера %1'"), ИмяКриптопровайдера);
|
||||
КонецЕсли;
|
||||
|
||||
Свойства = Новый Структура("Тип, Путь", ОписаниеПрограммы.ТипПрограммы, "");
|
||||
|
||||
Если ТребуетсяПутьКПрограмме() Тогда
|
||||
ПутиКПрограммамНаСерверахLinux = ПутиКПрограммамНаСерверахLinux(ИмяКомпьютера());
|
||||
Свойства.Путь = ПутиКПрограммамНаСерверахLinux.Получить(ОписаниеПрограммы.Ссылка);
|
||||
Иначе
|
||||
Свойства.Путь = "";
|
||||
КонецЕсли;
|
||||
Свойства.Путь = ПутьКПрограмме(ОписаниеПрограммы.Ссылка).ПутьКПрограмме;
|
||||
|
||||
Возврат Свойства;
|
||||
|
||||
@@ -2082,9 +2096,10 @@
|
||||
// Для процедур НастроитьФормуПодписанияШифрованияРасшифровки, СертификатПриИзмененииНаСервере.
|
||||
|
||||
Процедура ЗаполнитьСуществующиеСертификатыПользователя(СписокВыбора, ОтпечаткиСертификатовНаКлиенте,
|
||||
ОтборСертификатов, ОтборОтпечатков = Неопределено)
|
||||
ОтборСертификатов, ОтборОтпечатков, Расшифровка)
|
||||
|
||||
СписокВыбора.Очистить();
|
||||
ТекущаяДатаСеанса = ?(Расшифровка И ЗначениеЗаполнено(ОтборОтпечатков), Неопределено, ТекущаяДатаСеанса());
|
||||
|
||||
Если ЭлектроннаяПодпись.СоздаватьЭлектронныеПодписиНаСервере() Тогда
|
||||
|
||||
@@ -2094,8 +2109,8 @@
|
||||
ТипХранилища = ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты;
|
||||
МассивСертификатов = МенеджерКриптографии.ПолучитьХранилищеСертификатов(ТипХранилища).ПолучитьВсе();
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьОтпечаткиСертификатов(
|
||||
ОтпечаткиСертификатовНаКлиенте, МассивСертификатов, ДобавкаВремени(), ТекущаяДатаСеанса());
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьОтпечаткиСертификатов(ОтпечаткиСертификатовНаКлиенте,
|
||||
МассивСертификатов, ДобавкаВремени(), ТекущаяДатаСеанса);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -2105,7 +2120,7 @@
|
||||
МассивСертификатов = МодульХранилищеСертификатов.Получить("ПерсональныеСертификаты");
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьОтпечаткиСертификатов(
|
||||
ОтпечаткиСертификатовНаКлиенте, МассивСертификатов, ДобавкаВремени(), ТекущаяДатаСеанса());
|
||||
ОтпечаткиСертификатовНаКлиенте, МассивСертификатов, ДобавкаВремени(), ТекущаяДатаСеанса);
|
||||
КонецЕсли;
|
||||
|
||||
ОтборПоОрганизации = Ложь;
|
||||
@@ -2258,7 +2273,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
// Для функции МенеджерКриптографии.
|
||||
Функция НовыйМенеджерКриптографии(Программа, Ошибки, ИмяКомпьютера, АлгоритмПодписи = "")
|
||||
Функция НовыйМенеджерКриптографии(Программа, Ошибки, АлгоритмПодписи = "", Операция = "")
|
||||
|
||||
ОписанияПрограмм = ЭлектроннаяПодписьСлужебныйКлиентСервер.МенеджерКриптографииОписанияПрограмм(
|
||||
Программа, Ошибки, ЭлектроннаяПодпись.ОбщиеНастройки().ОписанияПрограмм);
|
||||
@@ -2269,17 +2284,22 @@
|
||||
|
||||
ЭтоLinux = ТребуетсяПутьКПрограмме();
|
||||
|
||||
Если ЭтоLinux Тогда
|
||||
ПутиКПрограммамНаСерверахLinux = ПутиКПрограммамНаСерверахLinux(ИмяКомпьютера);
|
||||
Иначе
|
||||
ПутиКПрограммамНаСерверахLinux = Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Менеджер = Неопределено;
|
||||
Для Каждого ОписаниеПрограммы Из ОписанияПрограмм Цикл
|
||||
|
||||
Если ЗначениеЗаполнено(АлгоритмПодписи) Тогда
|
||||
АлгоритмПодписиПоддерживается =
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.МенеджерКриптографииАлгоритмПодписиПоддерживается(ОписаниеПрограммы,
|
||||
Операция, АлгоритмПодписи, Ошибки, Истина, Программа <> Неопределено);
|
||||
|
||||
Если Не АлгоритмПодписиПоддерживается Тогда
|
||||
Менеджер = Неопределено;
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваПрограммы = ЭлектроннаяПодписьСлужебныйКлиентСервер.МенеджерКриптографииСвойстваПрограммы(
|
||||
ОписаниеПрограммы, ЭтоLinux, Ошибки, Истина, ПутиКПрограммамНаСерверахLinux);
|
||||
ОписаниеПрограммы, ЭтоLinux, Ошибки, Истина, ПутьКПрограмме(ОписаниеПрограммы.Ссылка));
|
||||
|
||||
Если СвойстваПрограммы = Неопределено Тогда
|
||||
Продолжить;
|
||||
@@ -2317,17 +2337,6 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(АлгоритмПодписи) Тогда
|
||||
АлгоритмПодписиПоддерживается =
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.МенеджерКриптографииАлгоритмПодписиПоддерживается(ОписаниеПрограммы,
|
||||
ИнформацияМодуля.АлгоритмыПодписи, АлгоритмПодписи, Ошибки, Истина, Программа <> Неопределено);
|
||||
|
||||
Если Не АлгоритмПодписиПоддерживается Тогда
|
||||
Менеджер = Неопределено;
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
Менеджер = Новый МенеджерКриптографии(
|
||||
СвойстваПрограммы.ИмяПрограммы,
|
||||
@@ -2367,26 +2376,22 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПутиКПрограммамНаСерверахLinux(ИмяКомпьютера)
|
||||
Функция ПутьКПрограмме(ПрограммаСсылка) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("ИмяКомпьютера", ИмяКомпьютера);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ПутиКПрограмме.Программа,
|
||||
| ПутиКПрограмме.ПутьКПрограмме
|
||||
|ИЗ
|
||||
| РегистрСведений.ПутиКПрограммамЭлектроннойПодписиИШифрованияНаСерверахLinux КАК ПутиКПрограмме
|
||||
|ГДЕ
|
||||
| ПутиКПрограмме.ИмяКомпьютера = &ИмяКомпьютера";
|
||||
Результат = Новый Структура("ПутьКПрограмме, Существует", "", Ложь);
|
||||
|
||||
ПутиКПрограммамНаСерверахLinux = Новый Соответствие;
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
ПутиКПрограммамНаСерверахLinux.Вставить(Выборка.Программа, Выборка.ПутьКПрограмме);
|
||||
КонецЦикла;
|
||||
Если Не ТребуетсяПутьКПрограмме() Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПутиКПрограммамНаСерверахLinux;
|
||||
ПутиКПрограммам = ЭлектроннаяПодписьСлужебныйПовтИсп.ПутиКПрограммамНаСерверахLinux(ИмяКомпьютера());
|
||||
ОписаниеПути = ПутиКПрограммам.Получить(ПрограммаСсылка);
|
||||
|
||||
Если ОписаниеПути <> Неопределено Тогда
|
||||
Результат = ОписаниеПути;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -2521,6 +2526,10 @@
|
||||
// * АлгоритмыПодписи - Массив
|
||||
// * АлгоритмыХеширования - Массив
|
||||
// * АлгоритмыШифрования - Массив
|
||||
// * АлгоритмыПроверкиПодписи - Массив
|
||||
// * НетВWindows - Булево
|
||||
// * НетВLinux - Булево
|
||||
// * НетВMacOS - Булево
|
||||
//
|
||||
Функция ПоставляемыеНастройкиПрограмм() Экспорт
|
||||
|
||||
@@ -2536,11 +2545,29 @@
|
||||
Настройки.Колонки.Добавить("АлгоритмыПодписи", Новый ОписаниеТипов("Массив"));
|
||||
Настройки.Колонки.Добавить("АлгоритмыХеширования", Новый ОписаниеТипов("Массив"));
|
||||
Настройки.Колонки.Добавить("АлгоритмыШифрования", Новый ОписаниеТипов("Массив"));
|
||||
Настройки.Колонки.Добавить("АлгоритмыПроверкиПодписи", Новый ОписаниеТипов("Массив"));
|
||||
Настройки.Колонки.Добавить("НетВWindows", Новый ОписаниеТипов("Булево"));
|
||||
Настройки.Колонки.Добавить("НетВLinux", Новый ОписаниеТипов("Булево"));
|
||||
Настройки.Колонки.Добавить("НетВMacOS", Новый ОписаниеТипов("Булево"));
|
||||
|
||||
Возврат Настройки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * Ключ - Строка - начало идентификатора программы, например, CryptoPro.
|
||||
// * Значение - ФиксированноеСоответствие:
|
||||
// * Ключ - ТипПлатформы
|
||||
// * Значение - ФиксированныйМассив из Строка - пути
|
||||
// с именами модулей, разделенные символом двоеточие.
|
||||
//
|
||||
Функция ПоставляемыеПутиКМодулямПрограмм() Экспорт
|
||||
|
||||
Возврат Новый Структура;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область КлассификаторОшибокКриптографии
|
||||
|
||||
Функция ОшибкаПоКлассификатору(ТекстДляПоискаВКлассификаторе) Экспорт
|
||||
@@ -2768,10 +2795,8 @@
|
||||
|
||||
#Область ДиагностикаЭлектроннойПодписи
|
||||
|
||||
Процедура ДополнитьТехническойИнформациейОСервере(ТехническаяИнформация) Экспорт
|
||||
|
||||
Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая()
|
||||
Или ОбщегоНазначения.КлиентПодключенЧерезВебСервер() Тогда
|
||||
Процедура ДополнитьТехническойИнформациейОСервере(ТехническаяИнформация,
|
||||
ПроверенныеПутиКМодулямПрограммНаКлиенте) Экспорт
|
||||
|
||||
Если Не ЭлектроннаяПодпись.СоздаватьЭлектронныеПодписиНаСервере()
|
||||
И Не ЭлектроннаяПодпись.ПроверятьЭлектронныеПодписиНаСервере() Тогда
|
||||
@@ -2784,7 +2809,8 @@
|
||||
+ Символы.ПС + ТехническаяИнформацияОПрограммах();
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
ТехническаяИнформация = ТехническаяИнформация + Символы.ПС
|
||||
+ ТехническаяИнформацияОНастройкахПрограммВСправочнике(ПроверенныеПутиКМодулямПрограммНаКлиенте);
|
||||
|
||||
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
|
||||
РежимРаботы = ?(ОбщегоНазначения.КлиентПодключенЧерезВебСервер(),
|
||||
@@ -2802,7 +2828,26 @@
|
||||
|
||||
Функция ТехническаяИнформацияОКомпьютере()
|
||||
|
||||
Возврат НСтр("ru = 'Сервер:'") + Символы.ПС
|
||||
ПараметрыЗапуска = ФайловаяСистема.ПараметрыЗапускаПрограммы();
|
||||
ПараметрыЗапуска.ДождатьсяЗавершения = Истина;
|
||||
ПараметрыЗапуска.ПолучитьПотокВывода = Истина;
|
||||
ПараметрыЗапуска.КодировкаПотоков = КодировкаТекста.UTF8;
|
||||
|
||||
Если ОбщегоНазначения.ЭтоWindowsСервер() Тогда
|
||||
Команда = "echo %username%";
|
||||
Иначе
|
||||
Команда = "whoami";
|
||||
КонецЕсли;
|
||||
|
||||
Результат = ФайловаяСистема.ЗапуститьПрограмму(Команда, ПараметрыЗапуска);
|
||||
Если Результат.КодВозврата = 0 Тогда
|
||||
ИмяПользователяОС = СокрЛП(Результат.ПотокВывода);
|
||||
Иначе
|
||||
ИмяПользователяОС = "";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Сервер (%1):'"), ИмяКомпьютера() + "\" + ИмяПользователяОС) + Символы.ПС
|
||||
+ ЭлектроннаяПодписьСлужебныйКлиентСервер.ДиагностическаяИнформацияОКомпьютере();
|
||||
|
||||
КонецФункции
|
||||
@@ -2810,24 +2855,86 @@
|
||||
Функция ТехническаяИнформацияОПрограммах()
|
||||
|
||||
ИспользуемыеПрограммы = ЭлектроннаяПодписьСлужебныйВызовСервера.ИспользуемыеПрограммы();
|
||||
ДиагностическаяИнформация = Символы.ПС + НСтр("ru = 'Программы на сервере'") + ":" + Символы.ПС;
|
||||
Если ИспользуемыеПрограммы.Количество() = 0 Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
ДиагностическаяИнформация = Символы.ПС + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Программы на сервере ""%1"":'"), ИмяКомпьютера()) + Символы.ПС;
|
||||
|
||||
Для Каждого Программа Из ИспользуемыеПрограммы Цикл
|
||||
|
||||
ОписаниеОшибки = "";
|
||||
МенеджерКриптографии = ЭлектроннаяПодпись.МенеджерКриптографии(
|
||||
"", Ложь, ОписаниеОшибки, Программа.Ссылка);
|
||||
ПараметрыСоздания = ПараметрыСозданияМенеджераКриптографии();
|
||||
ПараметрыСоздания.Программа = Программа.Ссылка;
|
||||
ПараметрыСоздания.ПоказатьОшибку = Ложь;
|
||||
ПараметрыСоздания.ОписаниеОшибки = Новый Структура;
|
||||
|
||||
МенеджерКриптографии = МенеджерКриптографии("", ПараметрыСоздания);
|
||||
|
||||
ДиагностическаяИнформация = ДиагностическаяИнформация
|
||||
+ Программа.Представление + " - "
|
||||
+ ?(ТипЗнч(МенеджерКриптографии) = Тип("МенеджерКриптографии"),
|
||||
"OK", НСтр("ru = 'Ошибка'") + " : " + ОписаниеОшибки) + Символы.ПС;
|
||||
|
||||
+ ЭлектроннаяПодписьСлужебныйКлиентСервер.ДиагностическаяИнформацияПоПрограмме(Программа,
|
||||
МенеджерКриптографии, ПараметрыСоздания.ОписаниеОшибки);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ДиагностическаяИнформация;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТехническаяИнформацияОНастройкахПрограммВСправочнике(ПроверенныеПутиКМодулямПрограммНаКлиенте)
|
||||
|
||||
ДиагностическаяИнформация = Символы.ПС
|
||||
+ НСтр("ru = 'Настройки программ в справочнике:'") + Символы.ПС;
|
||||
|
||||
ИспользуемыеПрограммы = ЭлектроннаяПодписьСлужебныйВызовСервера.ИспользуемыеПрограммы();
|
||||
Если ИспользуемыеПрограммы.Количество() = 0 Тогда
|
||||
ДиагностическаяИнформация = ДиагностическаяИнформация
|
||||
+ НСтр("ru = 'В справочник не добавлено ни одной программы.'");
|
||||
Возврат ДиагностическаяИнформация;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Программа Из ИспользуемыеПрограммы Цикл
|
||||
ДиагностическаяИнформация = ДиагностическаяИнформация + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1:
|
||||
| Имя программы: %2
|
||||
| Тип программы: %3
|
||||
| Алгоритм подписи: %4
|
||||
| Алгоритм хеширования: %5
|
||||
| Алгоритм шифрования: %6'"),
|
||||
Программа.Представление,
|
||||
Программа.ИмяПрограммы,
|
||||
Программа.ТипПрограммы,
|
||||
Программа.АлгоритмПодписи,
|
||||
Программа.АлгоритмХеширования,
|
||||
Программа.АлгоритмШифрования) + Символы.ПС;
|
||||
|
||||
Если ТребуетсяПутьКПрограмме(Истина) Тогда
|
||||
ДобавитьИнформациюОПутиКПрограмме(ДиагностическаяИнформация,
|
||||
НСтр("ru = 'Пути к модулям программы на клиенте:'"),
|
||||
ПроверенныеПутиКМодулямПрограммНаКлиенте.Получить(Программа.Ссылка).ПутьКПрограмме);
|
||||
КонецЕсли;
|
||||
Если ТребуетсяПутьКПрограмме() Тогда
|
||||
ДобавитьИнформациюОПутиКПрограмме(ДиагностическаяИнформация,
|
||||
НСтр("ru = 'Пути к модулям программы на сервере:'"),
|
||||
ПутьКПрограмме(Программа.Ссылка).ПутьКПрограмме);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ДиагностическаяИнформация;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ДобавитьИнформациюОПутиКПрограмме(ДиагностическаяИнформация, Заголовок, ПутьКПрограмме)
|
||||
|
||||
ПутиКМодулям = СтрРазделить(ПутьКПрограмме, ":", Ложь);
|
||||
|
||||
ДиагностическаяИнформация = ДиагностическаяИнформация
|
||||
+ Символы.Таб + Заголовок + Символы.ПС
|
||||
+ Символы.Таб + Символы.Таб + """" + СтрСоединить(ПутиКМодулям,
|
||||
"""" + Символы.ПС + Символы.Таб + Символы.Таб + """") + """"
|
||||
+ Символы.ПС;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ТехническаяИнформацияОВерсияхПодсистем()
|
||||
|
||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||
|
||||
@@ -224,8 +224,7 @@
|
||||
|
||||
Если Параметры.Операция <> "Подписание" Тогда
|
||||
ОшибкаНаСервере.Вставить("ОписаниеОшибки",
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Параметры.Операция)
|
||||
+ Символы.ПС + НСтр("ru = 'Внешняя компонента XMLDSig может использоваться только для подписания.'"));
|
||||
НСтр("ru = 'Внешняя компонента XMLDSig может использоваться только для подписания.'"));
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -244,8 +243,7 @@
|
||||
|
||||
Если Параметры.Операция <> "Подписание" Тогда
|
||||
ОшибкаНаСервере.Вставить("ОписаниеОшибки",
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Параметры.Операция)
|
||||
+ Символы.ПС + НСтр("ru = 'Внешняя компонента XMLDSig (включающая CMS) может использоваться только для подписания.'"));
|
||||
НСтр("ru = 'Внешняя компонента XMLDSig (включающая CMS) может использоваться только для подписания.'"));
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -426,14 +424,15 @@
|
||||
|
||||
Процедура СоздатьМенеджерКриптографииЦиклНачало(Контекст, ПараметрыВыполнения)
|
||||
|
||||
Контекст.Вставить("ОписаниеПрограммы", Контекст.ОписанияПрограмм[0]);
|
||||
ОписаниеПрограммы = Контекст.ОписанияПрограмм[0]; // см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
Контекст.Вставить("ОписаниеПрограммы", ОписаниеПрограммы);
|
||||
|
||||
СвойстваПрограммы = ЭлектроннаяПодписьСлужебныйКлиентСервер.МенеджерКриптографииСвойстваПрограммы(
|
||||
Контекст.ОписаниеПрограммы,
|
||||
Контекст.ЭтоLinux,
|
||||
Контекст.ОписаниеОшибок.Ошибки,
|
||||
Ложь,
|
||||
ЭлектроннаяПодпись.ПерсональныеНастройки().ПутиКПрограммамЭлектроннойПодписиИШифрования);
|
||||
ЭлектроннаяПодписьСлужебный.ПутьКПрограмме(Контекст.ОписаниеПрограммы.Ссылка));
|
||||
|
||||
Если СвойстваПрограммы = Неопределено Тогда
|
||||
НайтиУстановленныеПрограммыНаСервереЦиклНачало(ПараметрыВыполнения);
|
||||
@@ -549,7 +548,7 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ОписанияНастроенныхПрограмм = ЭлектроннаяПодпись.ОбщиеНастройки().ОписанияПрограмм; // Массив из см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограмм
|
||||
ОписанияНастроенныхПрограмм = ЭлектроннаяПодпись.ОбщиеНастройки().ОписанияПрограмм; // Массив из см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
|
||||
Для Каждого ПоставляемаяПрограмма Из ПоставляемыеНастройки Цикл
|
||||
ОписаниеПрограммы = РасширенноеОписаниеПрограммы();
|
||||
@@ -596,6 +595,163 @@
|
||||
|
||||
#Область ДиагностикаЭлектроннойПодписи
|
||||
|
||||
Процедура ДобавитьОписаниеДополнительныхДанных(ДополнительныеДанные, ОписаниеФайлов, Сведения) Экспорт
|
||||
|
||||
Текст = "";
|
||||
|
||||
Сертификаты = Неопределено;
|
||||
ДополнительныеДанные.Свойство("Сертификат", Сертификаты);
|
||||
Если ТипЗнч(Сертификаты) = Тип("Массив") Тогда
|
||||
Номер = 1;
|
||||
Для Каждого Сертификат Из Сертификаты Цикл
|
||||
ДобавитьОписаниеСертификата(Сертификат, ОписаниеФайлов, Текст, Номер);
|
||||
Номер = Номер + 1;
|
||||
КонецЦикла;
|
||||
ИначеЕсли Сертификаты <> Неопределено Тогда
|
||||
ДобавитьОписаниеСертификата(Сертификаты, ОписаниеФайлов, Текст, 1);
|
||||
КонецЕсли;
|
||||
|
||||
Подписи = Неопределено;
|
||||
ДополнительныеДанные.Свойство("Подпись", Подписи);
|
||||
Если ТипЗнч(Подписи) = Тип("Массив") Тогда
|
||||
Номер = 1;
|
||||
Для Каждого Подпись Из Подписи Цикл
|
||||
ДобавитьОписаниеПодписи(Подпись, ОписаниеФайлов, Текст, Номер);
|
||||
Номер = Номер + 1;
|
||||
КонецЦикла;
|
||||
ИначеЕсли Подписи <> Неопределено Тогда
|
||||
ДобавитьОписаниеПодписи(Подписи, ОписаниеФайлов, Текст, 1);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Текст) Тогда
|
||||
Сведения = Сведения + Текст + Символы.ПС;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Параметры:
|
||||
// Сертификат - ДвоичныеДанные
|
||||
// - Строка
|
||||
// ОписаниеФайлов - Массив
|
||||
// Сведения - Строка
|
||||
// Номер - Число
|
||||
//
|
||||
Процедура ДобавитьОписаниеСертификата(Сертификат, ОписаниеФайлов, Сведения, Номер)
|
||||
|
||||
Если ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда
|
||||
ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
|
||||
Сертификат, "Наименование, Программа, УсиленнаяЗащитаЗакрытогоКлюча, ДанныеСертификата");
|
||||
|
||||
Если ТипЗнч(ЗначенияРеквизитов.ДанныеСертификата) = Тип("ХранилищеЗначения") Тогда
|
||||
ДанныеСертификата = ЗначенияРеквизитов.ДанныеСертификата.Получить();
|
||||
Иначе
|
||||
ДанныеСертификата = Null;
|
||||
КонецЕсли;
|
||||
ПредставлениеСертификата = ЗначенияРеквизитов.Наименование;
|
||||
Иначе
|
||||
Если ТипЗнч(Сертификат) = Тип("Строка") И ЭтоАдресВременногоХранилища(Сертификат) Тогда
|
||||
ДанныеСертификата = ПолучитьИзВременногоХранилища(Сертификат);
|
||||
Иначе
|
||||
ДанныеСертификата = Сертификат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(ДанныеСертификата) = Тип("ДвоичныеДанные") Тогда
|
||||
Если Не ЗначениеЗаполнено(ПредставлениеСертификата) Тогда
|
||||
Попытка
|
||||
СертификатКриптографии = Новый СертификатКриптографии(ДанныеСертификата);
|
||||
ПредставлениеСертификата = ЭлектроннаяПодпись.ПредставлениеСертификата(СертификатКриптографии);
|
||||
Исключение
|
||||
ПредставлениеСертификата = "";
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
Расширение = ".cer";
|
||||
АлгоритмПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСертификата(
|
||||
ДанныеСертификата, Истина);
|
||||
Иначе
|
||||
Расширение = ".txt";
|
||||
XMLДанныеСертификата = XMLСтрока(Новый ХранилищеЗначения(ДанныеСертификата));
|
||||
ДанныеСертификата = ПолучитьДвоичныеДанныеИзСтроки(XMLДанныеСертификата, КодировкаТекста.ANSI, Ложь);
|
||||
АлгоритмПодписи = "";
|
||||
КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(ПредставлениеСертификата) Тогда
|
||||
ПредставлениеСертификата = НСтр("ru = 'Сертификат'") + Формат(Номер, "ЧГ=");
|
||||
КонецЕсли;
|
||||
|
||||
ИмяФайлаСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПодготовитьСтрокуДляИмениФайла(
|
||||
ПредставлениеСертификата) + Расширение;
|
||||
|
||||
ОписаниеФайла = Новый Структура;
|
||||
ОписаниеФайла.Вставить("Данные", ДанныеСертификата);
|
||||
ОписаниеФайла.Вставить("Имя", ИмяФайлаСертификата);
|
||||
|
||||
Сведения = Сведения + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Сертификат: ""%1""'"), ИмяФайлаСертификата) + Символы.ПС;
|
||||
|
||||
Сведения = Сведения + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
Символы.Таб + НСтр("ru = 'Алгоритм подписи: %1'"), АлгоритмПодписи) + Символы.ПС;
|
||||
|
||||
Если ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда
|
||||
Сведения = Сведения + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
Символы.Таб + НСтр("ru = 'Программа: %1'"), Строка(ЗначенияРеквизитов.Программа)) + Символы.ПС;
|
||||
|
||||
Сведения = Сведения + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
Символы.Таб + НСтр("ru = 'Вводить пароль в программе электронной подписи: %1'"),
|
||||
?(ЗначенияРеквизитов.УсиленнаяЗащитаЗакрытогоКлюча = Истина, НСтр("ru = 'Да'"), НСтр("ru = 'Нет'"))) + Символы.ПС;
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеФайлов.Добавить(ОписаниеФайла);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Параметры:
|
||||
// Подпись - ДвоичныеДанные
|
||||
// - Строка
|
||||
// ОписаниеФайлов - Массив
|
||||
// Номер - Число
|
||||
//
|
||||
Процедура ДобавитьОписаниеПодписи(Подпись, ОписаниеФайлов, Сведения, Номер)
|
||||
|
||||
Если ТипЗнч(Подпись) = Тип("Строка") И ЭтоАдресВременногоХранилища(Подпись) Тогда
|
||||
ДанныеПодписи = ПолучитьИзВременногоХранилища(Подпись);
|
||||
Иначе
|
||||
ДанныеПодписи = Подпись;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(ДанныеПодписи) = Тип("ДвоичныеДанные") Тогда
|
||||
Расширение = ".p7s";
|
||||
АлгоритмПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмСформированнойПодписи(
|
||||
ДанныеПодписи, Истина);
|
||||
АлгоритмХеширования = ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмХеширования(
|
||||
ДанныеПодписи, Истина);
|
||||
Иначе
|
||||
Расширение = ".txt";
|
||||
XMLДанныеПодписи = XMLСтрока(Новый ХранилищеЗначения(ДанныеПодписи));
|
||||
ДанныеПодписи = ПолучитьДвоичныеДанныеИзСтроки(XMLДанныеПодписи, КодировкаТекста.ANSI, Ложь);
|
||||
АлгоритмПодписи = "";
|
||||
АлгоритмХеширования = "";
|
||||
КонецЕсли;
|
||||
|
||||
ИмяФайлаПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПодготовитьСтрокуДляИмениФайла(
|
||||
НСтр("ru = 'Подпись'") + Формат(Номер, "ЧГ=")) + Расширение;
|
||||
|
||||
ОписаниеФайла = Новый Структура;
|
||||
ОписаниеФайла.Вставить("Данные", ДанныеПодписи);
|
||||
ОписаниеФайла.Вставить("Имя", ИмяФайлаПодписи);
|
||||
|
||||
Сведения = Сведения + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Подпись: ""%1""'"), ИмяФайлаПодписи) + Символы.ПС;
|
||||
|
||||
Сведения = Сведения + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
Символы.Таб + НСтр("ru = 'Алгоритм подписи: %1'"), АлгоритмПодписи) + Символы.ПС;
|
||||
|
||||
Сведения = Сведения + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
Символы.Таб + НСтр("ru = 'Алгоритм хеширования: %1'"), АлгоритмХеширования) + Символы.ПС;
|
||||
|
||||
ОписаниеФайлов.Добавить(ОписаниеФайла);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Массив Из Структура:
|
||||
// * Ссылка - СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования
|
||||
@@ -607,7 +763,12 @@
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ПрограммыЭлектроннойПодписиИШифрования.Ссылка КАК Ссылка,
|
||||
| ПрограммыЭлектроннойПодписиИШифрования.Представление КАК Представление
|
||||
| ПрограммыЭлектроннойПодписиИШифрования.Представление КАК Представление,
|
||||
| ПрограммыЭлектроннойПодписиИШифрования.ИмяПрограммы КАК ИмяПрограммы,
|
||||
| ПрограммыЭлектроннойПодписиИШифрования.ТипПрограммы КАК ТипПрограммы,
|
||||
| ПрограммыЭлектроннойПодписиИШифрования.АлгоритмПодписи КАК АлгоритмПодписи,
|
||||
| ПрограммыЭлектроннойПодписиИШифрования.АлгоритмХеширования КАК АлгоритмХеширования,
|
||||
| ПрограммыЭлектроннойПодписиИШифрования.АлгоритмШифрования КАК АлгоритмШифрования
|
||||
|ИЗ
|
||||
| Справочник.ПрограммыЭлектроннойПодписиИШифрования КАК ПрограммыЭлектроннойПодписиИШифрования
|
||||
|ГДЕ
|
||||
@@ -618,9 +779,11 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция АдресАрхиваТехническойИнформации(СопроводительныйТекст, ДополнительныеФайлы = Неопределено) Экспорт
|
||||
Функция АдресАрхиваТехническойИнформации(Знач СопроводительныйТекст,
|
||||
Знач ДополнительныеФайлы, Знач ПроверенныеПутиКМодулямПрограммНаКлиенте) Экспорт
|
||||
|
||||
ЭлектроннаяПодписьСлужебный.ДополнитьТехническойИнформациейОСервере(СопроводительныйТекст);
|
||||
ЭлектроннаяПодписьСлужебный.ДополнитьТехническойИнформациейОСервере(СопроводительныйТекст,
|
||||
ПроверенныеПутиКМодулямПрограммНаКлиенте);
|
||||
|
||||
АрхивИнформации = Новый ЗаписьZipФайла();
|
||||
|
||||
@@ -668,7 +831,6 @@
|
||||
+ ?(СтрЗаканчиваетсяНа(ВременныйКаталог, Разделитель), "", Разделитель)
|
||||
+ ИнформацияОФайле.Имя;
|
||||
|
||||
ВременныеФайлы.Добавить(ВременныйФайл);
|
||||
Если ТипЗнч(ИнформацияОФайле.Данные) = Тип("Строка") Тогда
|
||||
|
||||
Если ЭтоАдресВременногоХранилища(ИнформацияОФайле.Данные) Тогда
|
||||
@@ -684,9 +846,11 @@
|
||||
ДанныеФайла = ИнформацияОФайле.Данные;
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеДляЗаписи = ИнформацияОФайле.Данные; // ДвоичныеДанные
|
||||
ДанныеДляЗаписи.Записать(ВременныйФайл);
|
||||
Если ТипЗнч(ДанныеФайла) = Тип("ДвоичныеДанные") Тогда
|
||||
ВременныеФайлы.Добавить(ВременныйФайл);
|
||||
ДанныеФайла.Записать(ВременныйФайл);
|
||||
Архив.Добавить(ВременныйФайл);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -31,6 +31,244 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
Процедура ПолучитьПутьКПрограмме(ОбработкаЗавершения, ПрограммаСсылка) Экспорт
|
||||
|
||||
Результат = Новый Структура("ПутьКПрограмме, Существует", "", Ложь);
|
||||
|
||||
Если Не ТребуетсяПутьКПрограмме() Тогда
|
||||
ВыполнитьОбработкуОповещения(ОбработкаЗавершения, Результат);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("ОбработкаЗавершения", ОбработкаЗавершения);
|
||||
Контекст.Вставить("ПрограммаСсылка", ПрограммаСсылка);
|
||||
ПроверенныеПутиКМодулямПрограмм = ПроверенныеПутиКМодулямПрограмм();
|
||||
|
||||
ОписаниеПути = ПроверенныеПутиКМодулямПрограмм.Получить(ПрограммаСсылка);
|
||||
Если ОписаниеПути <> Неопределено Тогда
|
||||
ПолучитьПутьКПрограммеЗавершение(ОписаниеПути, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Контекст.Вставить("ПроверенныеПутиКМодулямПрограмм", ПроверенныеПутиКМодулямПрограмм);
|
||||
|
||||
ПерсональныеНастройки = ЭлектроннаяПодписьКлиент.ПерсональныеНастройки();
|
||||
ПутьКПрограмме = ПерсональныеНастройки.ПутиКПрограммамЭлектроннойПодписиИШифрования.Получить(
|
||||
ПрограммаСсылка);
|
||||
|
||||
Если ЗначениеЗаполнено(ПутьКПрограмме) Тогда
|
||||
Контекст.Вставить("Результат", Результат);
|
||||
Результат.ПутьКПрограмме = ПутьКПрограмме;
|
||||
ПроверитьПутьКПрограмме(Новый ОписаниеОповещения(
|
||||
"ПолучитьПутьКПрограммеПослеПроверкиПути", ЭтотОбъект, Контекст), ПутьКПрограмме);
|
||||
Иначе
|
||||
ПолучитьПутьКПрограммеПоУмолчанию(Новый ОписаниеОповещения(
|
||||
"ПолучитьПутьКПрограммеЗавершение", ЭтотОбъект, Контекст), ПрограммаСсылка);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПолучитьПутьКПрограмме.
|
||||
Процедура ПолучитьПутьКПрограммеПослеПроверкиПути(Существует, Контекст) Экспорт
|
||||
|
||||
Контекст.Результат.Существует = Существует;
|
||||
ПолучитьПутьКПрограммеЗавершение(Контекст.Результат, Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПолучитьПутьКПрограмме.
|
||||
Процедура ПолучитьПутьКПрограммеЗавершение(ОписаниеПути, Контекст) Экспорт
|
||||
|
||||
Если Контекст.Свойство("ПроверенныеПутиКМодулямПрограмм") Тогда
|
||||
Контекст.ПроверенныеПутиКМодулямПрограмм.Вставить(Контекст.ПрограммаСсылка, ОписаниеПути);
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Новый Структура("ПутьКПрограмме, Существует",
|
||||
ОписаниеПути.ПутьКПрограмме, ОписаниеПути.Существует <> Ложь);
|
||||
|
||||
ВыполнитьОбработкуОповещения(Контекст.ОбработкаЗавершения, Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПроверенныеПутиКМодулямПрограмм()
|
||||
|
||||
ОбщиеНастройки = ЭлектроннаяПодписьКлиент.ОбщиеНастройки();
|
||||
|
||||
ИмяПараметра = "СтандартныеПодсистемы.ЭлектроннаяПодпись.ОписаниеПутейКМодулямПрограмм";
|
||||
ОписаниеПутейКМодулямПрограмм = ПараметрыПриложения.Получить(ИмяПараметра);
|
||||
|
||||
Если ОписаниеПутейКМодулямПрограмм = Неопределено
|
||||
Или ОписаниеПутейКМодулямПрограмм.ВерсияНастроек <> ОбщиеНастройки.ВерсияНастроек Тогда
|
||||
|
||||
ОписаниеПутейКМодулямПрограмм = Новый Структура("ПутиКМодулямПрограмм, ВерсияНастроек",
|
||||
Новый Соответствие, ОбщиеНастройки.ВерсияНастроек);
|
||||
|
||||
ПараметрыПриложения.Вставить(ИмяПараметра, ОписаниеПутейКМодулямПрограмм);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОписаниеПутейКМодулямПрограмм.ПутиКМодулямПрограмм;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
Процедура ПроверитьПутьКПрограмме(ОбработкаЗавершения, ПутьКПрограмме)
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("ОбработкаЗавершения", ОбработкаЗавершения);
|
||||
Контекст.Вставить("ПутьКПрограмме", ПутьКПрограмме);
|
||||
|
||||
ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботыСФайлами(Новый ОписаниеОповещения(
|
||||
"ПроверитьПутьКПрограммеПослеПодключенияРасширенияРаботыСФайлами", ЭтотОбъект, Контекст));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПроверитьПутьКПрограмме.
|
||||
Процедура ПроверитьПутьКПрограммеПослеПодключенияРасширенияРаботыСФайлами(РасширениеПодключено, Контекст) Экспорт
|
||||
|
||||
Если Не РасширениеПодключено Тогда
|
||||
ВыполнитьОбработкуОповещения(Контекст.ОбработкаЗавершения, Неопределено);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Вставить("ПутиКМодулям", СтрРазделить(Контекст.ПутьКПрограмме, ":", Ложь));
|
||||
Контекст.Вставить("Индекс", -1);
|
||||
|
||||
ПроверитьПутьКПрограммеЦиклНачало(Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПроверитьПутьКПрограмме.
|
||||
//
|
||||
// Параметры:
|
||||
// Контекст - Структура
|
||||
//
|
||||
Процедура ПроверитьПутьКПрограммеЦиклНачало(Контекст)
|
||||
|
||||
Если Контекст.ПутиКМодулям.Количество() <= Контекст.Индекс + 1 Тогда
|
||||
// После цикла.
|
||||
ВыполнитьОбработкуОповещения(Контекст.ОбработкаЗавершения, Ложь);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Индекс = Контекст.Индекс + 1;
|
||||
|
||||
Файл = Новый Файл;
|
||||
Файл.НачатьИнициализацию(Новый ОписаниеОповещения(
|
||||
"ПроверитьПутьКПрограммеЦиклПослеИнициализацииФайла", ЭтотОбъект, Контекст),
|
||||
Контекст.ПутиКМодулям[Контекст.Индекс]);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПроверитьПутьКПрограмме.
|
||||
Процедура ПроверитьПутьКПрограммеЦиклПослеИнициализацииФайла(Файл, Контекст) Экспорт
|
||||
|
||||
Файл.НачатьПроверкуСуществования(Новый ОписаниеОповещения(
|
||||
"ПроверитьПутьКПрограммеЦиклПослеПроверкиСуществованияФайла", ЭтотОбъект, Контекст));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПроверитьПутьКПрограмме.
|
||||
Процедура ПроверитьПутьКПрограммеЦиклПослеПроверкиСуществованияФайла(Существует, Контекст) Экспорт
|
||||
|
||||
Если Существует Тогда
|
||||
ВыполнитьОбработкуОповещения(Контекст.ОбработкаЗавершения, Истина);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПроверитьПутьКПрограммеЦиклНачало(Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
Процедура ПолучитьПутьКПрограммеПоУмолчанию(ОбработкаЗавершения, ПрограммаСсылка) Экспорт
|
||||
|
||||
Результат = Новый Структура("ПутьКПрограмме, Существует", "", Ложь);
|
||||
|
||||
Если Не ТребуетсяПутьКПрограмме() Тогда
|
||||
ВыполнитьОбработкуОповещения(ОбработкаЗавершения, Результат);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбщиеНастройки = ЭлектроннаяПодписьКлиент.ОбщиеНастройки();
|
||||
ОписаниеПрограммы = ОбщиеНастройки.ОписанияПрограммПоСсылке.Получить(ПрограммаСсылка); // см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
Если ОписаниеПрограммы = Неопределено Тогда
|
||||
ВыполнитьОбработкуОповещения(ОбработкаЗавершения, Результат);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПутиНайдены = Ложь;
|
||||
Для Каждого ПутиКМодулямПрограмм Из ОбщиеНастройки.ПоставляемыеПутиКМодулямПрограмм Цикл
|
||||
Если СтрНачинаетсяС(ОписаниеПрограммы.Идентификатор, ПутиКМодулямПрограмм.Ключ) Тогда
|
||||
ПутиНайдены = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ПутиНайдены Тогда
|
||||
ВыполнитьОбработкуОповещения(ОбработкаЗавершения, Результат);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПутиКМодулямПрограммы = ПутиКМодулямПрограмм.Значение.Получить(
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ТипПлатформыСтрокой());
|
||||
|
||||
Если ПутиКМодулямПрограммы = Неопределено Тогда
|
||||
ВыполнитьОбработкуОповещения(ОбработкаЗавершения, Результат);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("ОбработкаЗавершения", ОбработкаЗавершения);
|
||||
Контекст.Вставить("ПутиКМодулямПрограммы", ПутиКМодулямПрограммы);
|
||||
Контекст.Вставить("Индекс", -1);
|
||||
|
||||
ПолучитьПутьКПрограммеПоУмолчаниюЦиклНачало(Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПолучитьПутьКПрограммеПоУмолчанию.
|
||||
Процедура ПолучитьПутьКПрограммеПоУмолчаниюЦиклНачало(Контекст)
|
||||
|
||||
Если Контекст.ПутиКМодулямПрограммы.Количество() <= Контекст.Индекс + 1 Тогда
|
||||
// После цикла.
|
||||
ПолучитьПутьКПрограммеПоУмолчаниюЦиклЗавершение(Контекст, Ложь);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Индекс = Контекст.Индекс + 1;
|
||||
|
||||
ПроверитьПутьКПрограмме(Новый ОписаниеОповещения(
|
||||
"ПолучитьПутьКПрограммеПоУмолчаниюЦиклПослеПроверкиПути", ЭтотОбъект, Контекст),
|
||||
Контекст.ПутиКМодулямПрограммы.Получить(Контекст.Индекс))
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПолучитьПутьКПрограммеПоУмолчанию.
|
||||
Процедура ПолучитьПутьКПрограммеПоУмолчаниюЦиклПослеПроверкиПути(Существует, Контекст) Экспорт
|
||||
|
||||
Если Существует <> Ложь Тогда
|
||||
ПолучитьПутьКПрограммеПоУмолчаниюЦиклЗавершение(Контекст, Существует);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПолучитьПутьКПрограммеПоУмолчаниюЦиклНачало(Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПолучитьПутьКПрограммеПоУмолчанию.
|
||||
Процедура ПолучитьПутьКПрограммеПоУмолчаниюЦиклЗавершение(Контекст, Существует)
|
||||
|
||||
ТекущийПуть = Контекст.ПутиКМодулямПрограммы.Получить(
|
||||
?(Существует <> Истина, 0, Контекст.Индекс));
|
||||
|
||||
Результат = Новый Структура("ПутьКПрограмме, Существует", ТекущийПуть, Существует);
|
||||
|
||||
ВыполнитьОбработкуОповещения(Контекст.ОбработкаЗавершения, Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
// Продолжение процедуры ДатаПодписания.
|
||||
Процедура ДатаПодписанияПослеЧтенияВБуферДвоичныхДанных(БуферДанныхПодписи, Контекст) Экспорт
|
||||
|
||||
@@ -415,7 +653,9 @@
|
||||
Контекст.ИмяФайлаБезРасширения = ЭлектроннаяПодписьСлужебныйВызовСервера.ПредставлениеСубъекта(Контекст.АдресСертификата);
|
||||
КонецЕсли;
|
||||
|
||||
ИмяФайла = ПодготовитьСтрокуДляИмениФайла(Контекст.ИмяФайлаБезРасширения) + ".cer";
|
||||
ИмяФайла = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПодготовитьСтрокуДляИмениФайла(
|
||||
Контекст.ИмяФайлаБезРасширения) + ".cer";
|
||||
|
||||
Оповещение = Новый ОписаниеОповещения("СохранитьСертификатПослеПолученияФайлов", ЭтотОбъект, Контекст);
|
||||
|
||||
ПараметрыСохранения = ФайловаяСистемаКлиент.ПараметрыСохраненияФайла();
|
||||
@@ -742,15 +982,22 @@
|
||||
Контекст.Подпись = ПолучитьИзВременногоХранилища(Подпись);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЭлектроннаяПодписьКлиент.ПроверятьЭлектронныеПодписиНаСервере()
|
||||
И ТипЗнч(Контекст.ИсходныеДанные) = Тип("Строка")
|
||||
И ЭтоАдресВременногоХранилища(Контекст.ИсходныеДанные) Тогда
|
||||
|
||||
Контекст.ИсходныеДанные = ПолучитьИзВременногоХранилища(Контекст.ИсходныеДанные);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Контекст.Подпись) = Тип("ДвоичныеДанные") Тогда
|
||||
Контекст.Вставить("АлгоритмПодписи",
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмСформированнойПодписи(Контекст.Подпись));
|
||||
|
||||
ИначеЕсли ТипЗнч(ИсходныеДанные) = Тип("Структура")
|
||||
И ИсходныеДанные.Свойство("ПараметрыXMLDSig") Тогда // ЭтоXMLDSig.
|
||||
ИначеЕсли ТипЗнч(Контекст.ИсходныеДанные) = Тип("Структура")
|
||||
И Контекст.ИсходныеДанные.Свойство("ПараметрыXMLDSig") Тогда // ЭтоXMLDSig.
|
||||
|
||||
ДанныеСертификата = ЭлектроннаяПодписьСлужебныйКлиентСервер.СертификатИзКонвертаSOAP(
|
||||
ИсходныеДанные.КонвертSOAP, Ложь);
|
||||
Контекст.ИсходныеДанные.КонвертSOAP, Ложь);
|
||||
Контекст.Вставить("АлгоритмПодписи",
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.АлгоритмПодписиСертификата(ДанныеСертификата));
|
||||
Иначе
|
||||
@@ -802,14 +1049,7 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(Контекст.ИсходныеДанные) = Тип("Строка")
|
||||
И ЭтоАдресВременногоХранилища(Контекст.ИсходныеДанные) Тогда
|
||||
|
||||
Контекст.ИсходныеДанные = ПолучитьИзВременногоХранилища(Контекст.ИсходныеДанные);
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Вставить("ПроверитьСертификатНаКлиенте");
|
||||
|
||||
ПроверитьПодписьНаКлиенте(Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -1362,7 +1602,7 @@
|
||||
// * Программа - СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования
|
||||
// * Оповещение - ОписаниеОповещения
|
||||
// * Операция - см. СоздатьМенеджерКриптографии.Операция
|
||||
// * ОписаниеПрограмм - Массив из см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограмм
|
||||
// * ОписаниеПрограмм - Массив из см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
// * СвойстваОшибки - Массив из Структура:
|
||||
// ** Описание - Строка
|
||||
//
|
||||
@@ -1487,14 +1727,39 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Контекст.Индекс = Контекст.Индекс + 1;
|
||||
Контекст.Вставить("ОписаниеПрограммы", Контекст.ОписанияПрограмм[Контекст.Индекс]);
|
||||
ОписаниеПрограммы = Контекст.ОписанияПрограмм[Контекст.Индекс]; // см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
Контекст.Вставить("ОписаниеПрограммы", ОписаниеПрограммы);
|
||||
|
||||
Если ЗначениеЗаполнено(Контекст.АлгоритмПодписи) Тогда
|
||||
АлгоритмПодписиПоддерживается =
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.МенеджерКриптографииАлгоритмПодписиПоддерживается(
|
||||
ОписаниеПрограммы,
|
||||
?(Контекст.Свойство("Операция"), Контекст.Операция, ""),
|
||||
Контекст.АлгоритмПодписи,
|
||||
Контекст.ОписаниеОшибок.Ошибки,
|
||||
Ложь,
|
||||
Контекст.Программа <> Неопределено);
|
||||
|
||||
Если Не АлгоритмПодписиПоддерживается Тогда
|
||||
Контекст.Менеджер = Неопределено;
|
||||
СоздатьМенеджерКриптографииЦиклНачало(Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ПолучитьПутьКПрограмме(Новый ОписаниеОповещения("СоздатьМенеджерКриптографииЦиклПослеПолученияПутиКПрограмме",
|
||||
ЭтотОбъект, Контекст), ОписаниеПрограммы.Ссылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоздатьМенеджерКриптографииЦиклПослеПолученияПутиКПрограмме(ОписаниеПути, Контекст) Экспорт
|
||||
|
||||
СвойстваПрограммы = ЭлектроннаяПодписьСлужебныйКлиентСервер.МенеджерКриптографииСвойстваПрограммы(
|
||||
Контекст.ОписаниеПрограммы,
|
||||
Контекст.ЭтоLinux,
|
||||
Контекст.ОписаниеОшибок.Ошибки,
|
||||
Ложь,
|
||||
ЭлектроннаяПодписьКлиент.ПерсональныеНастройки().ПутиКПрограммамЭлектроннойПодписиИШифрования);
|
||||
ОписаниеПути);
|
||||
|
||||
Если СвойстваПрограммы = Неопределено Тогда
|
||||
СоздатьМенеджерКриптографииЦиклНачало(Контекст);
|
||||
@@ -1549,23 +1814,6 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Контекст.АлгоритмПодписи) Тогда
|
||||
АлгоритмПодписиПоддерживается =
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.МенеджерКриптографииАлгоритмПодписиПоддерживается(
|
||||
Контекст.ОписаниеПрограммы,
|
||||
ИнформацияМодуля.АлгоритмыПодписи,
|
||||
Контекст.АлгоритмПодписи,
|
||||
Контекст.ОписаниеОшибок.Ошибки,
|
||||
Ложь,
|
||||
Контекст.Программа <> Неопределено);
|
||||
|
||||
Если Не АлгоритмПодписиПоддерживается Тогда
|
||||
Контекст.Менеджер = Неопределено;
|
||||
СоздатьМенеджерКриптографииЦиклНачало(Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Менеджер = Новый МенеджерКриптографии;
|
||||
|
||||
Если Не Контекст.ИнтерактивныйРежим Тогда
|
||||
@@ -1593,7 +1841,7 @@
|
||||
СтандартнаяОбработка = Ложь;
|
||||
Контекст.Менеджер = Неопределено;
|
||||
|
||||
ОписаниеПрограммы = Контекст.ОписаниеПрограммы; // см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограмм
|
||||
ОписаниеПрограммы = Контекст.ОписаниеПрограммы; // см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.МенеджерКриптографииДобавитьОшибку(
|
||||
Контекст.ОписаниеОшибок.Ошибки,
|
||||
ОписаниеПрограммы.Ссылка,
|
||||
@@ -1962,12 +2210,19 @@
|
||||
ПараметрыФормы.Вставить("ПоказатьИнструкцию", Ложь);
|
||||
ПараметрыФормы.Вставить("ПоказатьПереходКНастройкеПрограмм", Ложь);
|
||||
ПараметрыФормы.Вставить("ПоказатьУстановкуРасширения", Ложь);
|
||||
ПараметрыФормы.Вставить("НеподписанныеДанные");
|
||||
|
||||
ДополнительныеДанные = Новый Структура;
|
||||
ДополнительныеДанные.Вставить("НеподписанныеДанные");
|
||||
ДополнительныеДанные.Вставить("Сертификат");
|
||||
ДополнительныеДанные.Вставить("Подпись");
|
||||
|
||||
Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыФормы, ДополнительныеПараметры);
|
||||
ЗаполнитьЗначенияСвойств(ДополнительныеДанные, ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыФормы.Вставить("ДополнительныеДанные", ДополнительныеДанные);
|
||||
|
||||
ПараметрыФормы.Вставить("ЗаголовокФормы", ЗаголовокФормы);
|
||||
ПараметрыФормы.Вставить("ЗаголовокОшибки", ЗаголовокОшибки);
|
||||
|
||||
@@ -2033,7 +2288,7 @@
|
||||
Контекст.Вставить("ОбработкаЗавершения", ОбработкаЗавершения);
|
||||
|
||||
ПолучитьОтпечаткиСертификатовНаКлиенте(Новый ОписаниеОповещения(
|
||||
"ОткрытьНовуюФормуЗавершение", ЭтотОбъект, Контекст));
|
||||
"ОткрытьНовуюФормуЗавершение", ЭтотОбъект, Контекст), ВидФормы = "РасшифровкаДанных");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2923,10 +3178,11 @@
|
||||
|
||||
|
||||
// Только для внутреннего использования.
|
||||
Процедура ПолучитьОтпечаткиСертификатовНаКлиенте(Оповещение) Экспорт
|
||||
Процедура ПолучитьОтпечаткиСертификатовНаКлиенте(Оповещение, ВключаяПросроченные = Ложь) Экспорт
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("Оповещение", Оповещение);
|
||||
Контекст.Вставить("ВключаяПросроченные", ВключаяПросроченные);
|
||||
|
||||
ПараметрыСоздания = ПараметрыСозданияМенеджераКриптографии();
|
||||
ПараметрыСоздания.ПоказатьОшибку = Ложь;
|
||||
@@ -2966,7 +3222,9 @@
|
||||
ОтпечаткиСертификатовНаКлиенте = Новый Массив;
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьОтпечаткиСертификатов(ОтпечаткиСертификатовНаКлиенте,
|
||||
МассивСертификатов, ДобавкаВремени(), ОбщегоНазначенияКлиент.ДатаСеанса());
|
||||
МассивСертификатов,
|
||||
ДобавкаВремени(),
|
||||
?(Контекст.ВключаяПросроченные, Неопределено, ОбщегоНазначенияКлиент.ДатаСеанса()));
|
||||
|
||||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, ОтпечаткиСертификатовНаКлиенте);
|
||||
|
||||
@@ -3205,6 +3463,7 @@
|
||||
Контекст.Вставить("Оповещение", Оповещение);
|
||||
Контекст.Вставить("Операция", Операция); // Подписание, Шифрование, Расшифровка.
|
||||
Контекст.Вставить("НаСторонеКлиента", СторонаВыполнения = "НаСторонеКлиента");
|
||||
Контекст.Вставить("ОперацияНачалась", Ложь);
|
||||
|
||||
Если Контекст.НаСторонеКлиента Тогда
|
||||
Если Контекст.Операция = "Шифрование" И ИспользоватьЭлектроннуюПодписьВМоделиСервиса() Тогда
|
||||
@@ -3345,8 +3604,6 @@
|
||||
// Продолжение процедуры ВыполнитьНаСтороне.
|
||||
Процедура ВыполнитьНаСторонеЦиклЗапуск(Контекст)
|
||||
|
||||
Контекст.Вставить("ОперацияНачалась", Ложь);
|
||||
|
||||
Если Контекст.ОписаниеДанных.Свойство("Данные") Тогда
|
||||
ЭлементыДанных = Новый Массив;
|
||||
ЭлементыДанных.Добавить(Контекст.ОписаниеДанных);
|
||||
@@ -3458,8 +3715,7 @@
|
||||
|
||||
Если Контекст.Операция <> "Подписание" Тогда
|
||||
Ошибка = Новый Структура("ОписаниеОшибки",
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Контекст.Операция)
|
||||
+ Символы.ПС + НСтр("ru = 'Внешняя компонента XMLDSig может использоваться только для подписания.'"));
|
||||
НСтр("ru = 'Внешняя компонента XMLDSig может использоваться только для подписания.'"));
|
||||
ВыполнитьНаСторонеПослеЦикла(Ошибка, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -3484,8 +3740,7 @@
|
||||
ИначеЕсли ЭтоCMS Тогда
|
||||
Если Контекст.Операция <> "Подписание" Тогда
|
||||
Ошибка = Новый Структура("ОписаниеОшибки",
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Контекст.Операция)
|
||||
+ Символы.ПС + НСтр("ru = 'Внешняя компонента XMLDSig может использоваться только для подписания.'"));
|
||||
НСтр("ru = 'Внешняя компонента XMLDSig может использоваться только для подписания.'"));
|
||||
ВыполнитьНаСторонеПослеЦикла(Ошибка, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -4204,31 +4459,32 @@
|
||||
|
||||
ИмяКриптопровайдера = ИнформацияМодуляКриптографии.Имя;
|
||||
ОписаниеПрограммы = ЭлектроннаяПодписьСлужебныйКлиентСервер.ОписаниеПрограммыПоИмениКриптопровайдера(
|
||||
ИмяКриптопровайдера, ЭлектроннаяПодписьКлиент.ОбщиеНастройки().ОписанияПрограмм); // см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограмм
|
||||
ИмяКриптопровайдера, ЭлектроннаяПодписьКлиент.ОбщиеНастройки().ОписанияПрограмм); // см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
|
||||
Если ОписаниеПрограммы <> Неопределено Тогда
|
||||
Контекст.ТипКриптопровайдера = ОписаниеПрограммы.ТипПрограммы;
|
||||
Контекст.ИмяКриптопровайдера = ИмяКриптопровайдера;
|
||||
|
||||
Если Не ТребуетсяПутьКПрограмме() Тогда
|
||||
ПутьКПрограмме = "";
|
||||
Иначе
|
||||
ПерсональныеНастройки = ЭлектроннаяПодписьКлиент.ПерсональныеНастройки();
|
||||
ПутьКПрограмме = ПерсональныеНастройки.ПутиКПрограммамЭлектроннойПодписиИШифрования.Получить(
|
||||
ОписаниеПрограммы.Ссылка);
|
||||
КонецЕсли;
|
||||
Контекст.ПутьКриптопровайдера = ПутьКПрограмме;
|
||||
|
||||
Контекст.ОбъектКомпоненты.НачатьУстановкуПутьККриптопровайдеру(
|
||||
Новый ОписаниеОповещения("ПослеУстановкиСвойстваКомпонентыПутьККриптопровайдеру", ЭтотОбъект, Контекст),
|
||||
Контекст.ПутьКриптопровайдера);
|
||||
Иначе
|
||||
Если ОписаниеПрограммы = Неопределено Тогда
|
||||
ЗавершитьОперациюСОшибкой(Контекст,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось определить тип криптопровайдера %1'"),
|
||||
ИнформацияМодуляКриптографии.Имя));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.ТипКриптопровайдера = ОписаниеПрограммы.ТипПрограммы;
|
||||
Контекст.ИмяКриптопровайдера = ИмяКриптопровайдера;
|
||||
|
||||
ПолучитьПутьКПрограмме(Новый ОписаниеОповещения("ПослеПолученияПутиКПрограмме",
|
||||
ЭтотОбъект, Контекст), ОписаниеПрограммы.Ссылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеПолученияПутиКПрограмме(ОписаниеПути, Контекст) Экспорт
|
||||
|
||||
Контекст.ПутьКриптопровайдера = ОписаниеПути.ПутьКПрограмме;
|
||||
|
||||
Контекст.ОбъектКомпоненты.НачатьУстановкуПутьККриптопровайдеру(
|
||||
Новый ОписаниеОповещения("ПослеУстановкиСвойстваКомпонентыПутьККриптопровайдеру", ЭтотОбъект, Контекст),
|
||||
Контекст.ПутьКриптопровайдера);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеУстановкиСвойстваКомпонентыПутьККриптопровайдеру(Контекст) Экспорт
|
||||
@@ -5118,67 +5374,11 @@
|
||||
|
||||
// Для процедур СохранитьСертификатПродолжение, СохранитьЗапросНаСертификатПослеУстановкиРасширения.
|
||||
|
||||
// Готовит строку для использования в качестве имени файла.
|
||||
Функция ПодготовитьСтрокуДляИмениФайла(Строка, ЗаменаПробела = Неопределено)
|
||||
|
||||
ЗаменаСимволов = Новый Соответствие;
|
||||
ЗаменаСимволов.Вставить("\", " ");
|
||||
ЗаменаСимволов.Вставить("/", " ");
|
||||
ЗаменаСимволов.Вставить("*", " ");
|
||||
ЗаменаСимволов.Вставить("<", " ");
|
||||
ЗаменаСимволов.Вставить(">", " ");
|
||||
ЗаменаСимволов.Вставить("|", " ");
|
||||
ЗаменаСимволов.Вставить(":", "");
|
||||
ЗаменаСимволов.Вставить("""", "");
|
||||
ЗаменаСимволов.Вставить("?", "");
|
||||
ЗаменаСимволов.Вставить(Символы.ВК, "");
|
||||
ЗаменаСимволов.Вставить(Символы.ПС, " ");
|
||||
ЗаменаСимволов.Вставить(Символы.Таб, " ");
|
||||
ЗаменаСимволов.Вставить(Символы.НПП, " ");
|
||||
// замена символов кавычек
|
||||
ЗаменаСимволов.Вставить(Символ(171), "");
|
||||
ЗаменаСимволов.Вставить(Символ(187), "");
|
||||
ЗаменаСимволов.Вставить(Символ(8195), "");
|
||||
ЗаменаСимволов.Вставить(Символ(8194), "");
|
||||
ЗаменаСимволов.Вставить(Символ(8216), "");
|
||||
ЗаменаСимволов.Вставить(Символ(8218), "");
|
||||
ЗаменаСимволов.Вставить(Символ(8217), "");
|
||||
ЗаменаСимволов.Вставить(Символ(8220), "");
|
||||
ЗаменаСимволов.Вставить(Символ(8222), "");
|
||||
ЗаменаСимволов.Вставить(Символ(8221), "");
|
||||
|
||||
СтрокаПодготовленная = "";
|
||||
|
||||
КоличествоСимволов = СтрДлина(Строка);
|
||||
|
||||
Для НомерСимвола = 1 По КоличествоСимволов Цикл
|
||||
Символ = Сред(Строка, НомерСимвола, 1);
|
||||
Если ЗаменаСимволов[Символ] <> Неопределено Тогда
|
||||
Символ = ЗаменаСимволов[Символ];
|
||||
КонецЕсли;
|
||||
СтрокаПодготовленная = СтрокаПодготовленная + Символ;
|
||||
КонецЦикла;
|
||||
|
||||
Если ЗаменаПробела <> Неопределено Тогда
|
||||
СтрокаПодготовленная = СтрЗаменить(ЗаменаПробела, " ", ЗаменаПробела);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СокрЛП(СтрокаПодготовленная);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Продолжение процедуры ПроверитьПодпись.
|
||||
Процедура ПроверитьПодписьВМоделиСервиса(Контекст)
|
||||
|
||||
Если Не ЭлектроннаяПодписьКлиент.ПроверятьЭлектронныеПодписиНаСервере() Тогда
|
||||
|
||||
Если ТипЗнч(Контекст.ИсходныеДанные) = Тип("Строка")
|
||||
И ЭтоАдресВременногоХранилища(Контекст.ИсходныеДанные) Тогда
|
||||
Контекст.ИсходныеДанные = ПолучитьИзВременногоХранилища(Контекст.ИсходныеДанные);
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Вставить("ПроверитьСертификатНаКлиенте");
|
||||
|
||||
ПроверитьПодписьНаКлиентеВМоделиСервиса(Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -5260,8 +5460,8 @@
|
||||
Контекст.Вставить("СертификатКриптографии", Результат);
|
||||
|
||||
Если Контекст.Операция = "Подписание" Тогда
|
||||
СертификатПодписи = Контекст.ОписаниеДанных.ВыбранныйСертификат;
|
||||
СертификатПодписи.Отпечаток = Base64Значение(СертификатПодписи.Отпечаток);
|
||||
СертификатПодписи = Новый Структура("Отпечаток",
|
||||
Base64Значение(Контекст.ОписаниеДанных.ВыбранныйСертификат.Отпечаток));
|
||||
МодульХранилищеСертификатовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ХранилищеСертификатовКлиент");
|
||||
МодульХранилищеСертификатовКлиент.НайтиСертификат(Новый ОписаниеОповещения(
|
||||
"ВыполнитьНаСторонеПослеВыгрузкиСертификатаВМоделиСервиса", ЭтотОбъект, Контекст), СертификатПодписи);
|
||||
@@ -5315,16 +5515,15 @@
|
||||
Процедура ВыполнитьНаСторонеПослеВыгрузкиСертификатаВМоделиСервиса(РезультатПоиска, Контекст) Экспорт
|
||||
|
||||
Если Не РезультатПоиска.Выполнено Тогда
|
||||
Ошибка = Новый Структура("ОписаниеОшибки",
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Контекст.Операция) + Символы.ПС
|
||||
+ РезультатПоиска.ОписаниеОшибки.Описание);
|
||||
Ошибка = Новый Структура("ОписаниеОшибки", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось найти сертификат в облачном сервисе по причине:
|
||||
|%1'"), РезультатПоиска.ОписаниеОшибки.Описание));
|
||||
ВыполнитьНаСторонеПослеЦикла(Ошибка, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Если Не ЗначениеЗаполнено(РезультатПоиска.Сертификат) Тогда
|
||||
Ошибка = Новый Структура("ОписаниеОшибки",
|
||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Контекст.Операция) + Символы.ПС
|
||||
+ НСтр("ru = 'Сертификат отсутствует в облачном сервисе (возможно удален).'"));
|
||||
НСтр("ru = 'Сертификат отсутствует в облачном сервисе (возможно удален).'"));
|
||||
ВыполнитьНаСторонеПослеЦикла(Ошибка, Контекст);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -5408,7 +5607,7 @@
|
||||
// Контекст - Структура:
|
||||
// * ОшибкаНаКлиенте - Структура:
|
||||
// ** Ошибки - Массив - ИнформацияОбОшибке
|
||||
// * ОписаниеПрограмм - см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограмм
|
||||
// * ОписаниеПрограмм - см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
//
|
||||
Процедура ДобавитьСертификатЦиклНачало(Контекст)
|
||||
|
||||
@@ -5422,8 +5621,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Индекс = Контекст.Индекс + 1;
|
||||
Контекст.ОписаниеПрограммы = Контекст.ОписанияПрограмм[Контекст.Индекс];
|
||||
ОписаниеПрограммы = Контекст.ОписаниеПрограммы; // см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограмм
|
||||
ОписаниеПрограммы = Контекст.ОписанияПрограмм[Контекст.Индекс]; // см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
Контекст.ОписаниеПрограммы = ОписаниеПрограммы;
|
||||
|
||||
ПараметрыСоздания = ПараметрыСозданияМенеджераКриптографии();
|
||||
ПараметрыСоздания.ПоказатьОшибку = Неопределено;
|
||||
@@ -5496,7 +5695,7 @@
|
||||
// Контекст - Структура:
|
||||
// * ОшибкаНаКлиенте - Структура:
|
||||
// ** Ошибки - Массив
|
||||
// * ОписаниеПрограмм - см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограмм
|
||||
// * ОписаниеПрограмм - см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
//
|
||||
Процедура ДобавитьСертификатЦиклПослеОшибкиШифрования(ИнформацияОбОшибке, СтандартнаяОбработка, Контекст) Экспорт
|
||||
|
||||
@@ -5517,7 +5716,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// Контекст - Структура:
|
||||
// * ОписаниеОшибки - см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограмм
|
||||
// * ОписаниеОшибки - см. ЭлектроннаяПодписьСлужебныйПовтИсп.ОписаниеПрограммы
|
||||
//
|
||||
Процедура ДобавитьСертификатЦиклПослеПодписания(ДанныеПодписи, Контекст) Экспорт
|
||||
|
||||
@@ -5633,8 +5832,11 @@
|
||||
ОшибкаНаСервере = ?(КонтекстДобавления.Свойство("ОшибкаНаСервере"),
|
||||
КонтекстДобавления.ОшибкаНаСервере, Новый Структура);
|
||||
|
||||
ДополнительныеПараметры = Новый Структура("Сертификат",
|
||||
КонтекстДобавления.ДанныеСертификата);
|
||||
|
||||
ПоказатьОшибкуОбращенияКПрограмме(КонтекстДобавления.ЗаголовокФормы,
|
||||
"", ОшибкаНаКлиенте, ОшибкаНаСервере);
|
||||
"", ОшибкаНаКлиенте, ОшибкаНаСервере, ДополнительныеПараметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -5663,8 +5865,9 @@
|
||||
ОбработчикЗавершения = Неопределено,
|
||||
ДополнительныеФайлы = Неопределено) Экспорт
|
||||
|
||||
СопроводительныйТекст = Причина + Символы.ПС + НСтр("ru = 'Информация о компьютере:'")
|
||||
+ Символы.ПС + Символы.ПС + ДиагностическаяИнформацияОКомпьютере() + Символы.ПС;
|
||||
СопроводительныйТекст = СокрЛ(СокрП(Причина) + Символы.ПС + Символы.ПС)
|
||||
+ НСтр("ru = 'Информация о компьютере:'") + Символы.ПС + Символы.ПС
|
||||
+ ДиагностическаяИнформацияОКомпьютере() + Символы.ПС;
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("ДополнительныеФайлы", ДополнительныеФайлы);
|
||||
@@ -5685,11 +5888,11 @@
|
||||
|
||||
Функция ДиагностическаяИнформацияОПрограммах(Оповещение)
|
||||
|
||||
Заголовок = Символы.ПС + НСтр("ru = 'Программы на клиенте:'") + Символы.ПС;
|
||||
ИспользуемыеПрограммы = ЭлектроннаяПодписьСлужебныйВызовСервера.ИспользуемыеПрограммы();
|
||||
Если ИспользуемыеПрограммы.Количество() = 0 Тогда
|
||||
ВыполнитьОбработкуОповещения(Оповещение, Заголовок + НСтр("ru = 'Не используется'"));
|
||||
ВыполнитьОбработкуОповещения(Оповещение, "");
|
||||
КонецЕсли;
|
||||
Заголовок = Символы.ПС + НСтр("ru = 'Программы на клиенте:'") + Символы.ПС;
|
||||
|
||||
Контекст = Новый Структура;
|
||||
Контекст.Вставить("Индекс", 0);
|
||||
@@ -5703,14 +5906,14 @@
|
||||
|
||||
Функция ИнформацияОПрограммахЦиклНачало(Контекст)
|
||||
|
||||
ПараметрыСоздания = ПараметрыСозданияМенеджераКриптографии();
|
||||
ПараметрыСоздания.ПоказатьОшибку = Неопределено;
|
||||
ПараметрыСоздания.Программа = Контекст.ИспользуемыеПрограммы[Контекст.Индекс].Ссылка;
|
||||
|
||||
Оповещение = Новый ОписаниеОповещения(
|
||||
"ИнформацияОПрограммахПослеСозданияМенеджераКриптографии",
|
||||
ЭтотОбъект, Контекст);
|
||||
|
||||
ПараметрыСоздания = ПараметрыСозданияМенеджераКриптографии();
|
||||
ПараметрыСоздания.ПоказатьОшибку = Ложь;
|
||||
ПараметрыСоздания.Программа = Контекст.ИспользуемыеПрограммы[Контекст.Индекс].Ссылка;
|
||||
|
||||
СоздатьМенеджерКриптографии(Оповещение, "", ПараметрыСоздания);
|
||||
|
||||
КонецФункции
|
||||
@@ -5726,9 +5929,10 @@
|
||||
Процедура ИнформацияОПрограммахПослеСозданияМенеджераКриптографии(МенеджерКриптографии, Контекст) Экспорт
|
||||
|
||||
Контекст.ДиагностическаяИнформация = Контекст.ДиагностическаяИнформация
|
||||
+ Контекст.ИспользуемыеПрограммы[Контекст.Индекс].Представление + " - "
|
||||
+ ?(ТипЗнч(МенеджерКриптографии) = Тип("Строка"), МенеджерКриптографии, "OK")
|
||||
+ Символы.ПС;
|
||||
+ ЭлектроннаяПодписьСлужебныйКлиентСервер.ДиагностическаяИнформацияПоПрограмме(
|
||||
Контекст.ИспользуемыеПрограммы[Контекст.Индекс],
|
||||
МенеджерКриптографии,
|
||||
МенеджерКриптографии);
|
||||
|
||||
Если Контекст.Индекс = Контекст.ИспользуемыеПрограммы.Количество() - 1 Тогда
|
||||
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Контекст.ДиагностическаяИнформация);
|
||||
@@ -5744,7 +5948,7 @@
|
||||
|
||||
Контекст.СопроводительныйТекст = Контекст.СопроводительныйТекст + ИнформацияОПрограммах;
|
||||
Контекст.Вставить("АдресАрхива", ЭлектроннаяПодписьСлужебныйВызовСервера.АдресАрхиваТехническойИнформации(
|
||||
Контекст.СопроводительныйТекст, Контекст.ДополнительныеФайлы));
|
||||
Контекст.СопроводительныйТекст, Контекст.ДополнительныеФайлы, ПроверенныеПутиКМодулямПрограмм()));
|
||||
|
||||
ФайловаяСистемаКлиент.СохранитьФайл(Новый ОписаниеОповещения(
|
||||
"СформироватьТехническуюИнформациюПослеСохраненияФайла", ЭтотОбъект, Контекст),
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -17,7 +17,10 @@
|
||||
// * ПроверятьЭлектронныеПодписиНаСервере - Булево
|
||||
// * СоздаватьЭлектронныеПодписиНаСервере - Булево
|
||||
// * ЗаявлениеНаВыпускСертификатаДоступно - Булево
|
||||
// * ОписанияПрограмм - Массив из см. ОписаниеПрограмм
|
||||
// * ОписанияПрограмм - ФиксированныйМассив из см. ОписаниеПрограммы
|
||||
// * ОписанияПрограммПоСсылке - ФиксированноеСоответствие:
|
||||
// ** Ключ - СправочникСсылка.ПрограммыЭлектроннойПодписиИШифрования
|
||||
// ** Значение - см. ОписаниеПрограммы
|
||||
//
|
||||
Функция ОбщиеНастройки() Экспорт
|
||||
|
||||
@@ -73,20 +76,44 @@
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
ОписанияПрограмм = Новый Массив;
|
||||
ОписанияПрограммПоСсылке = Новый Соответствие;
|
||||
ПоставляемыеНастройки = Справочники.ПрограммыЭлектроннойПодписиИШифрования.ПоставляемыеНастройкиПрограмм();
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
Отбор = Новый Структура("ИмяПрограммы, ТипПрограммы", Выборка.ИмяПрограммы, Выборка.ТипПрограммы);
|
||||
Строки = ПоставляемыеНастройки.НайтиСтроки(Отбор);
|
||||
Идентификатор = ?(Строки.Количество() = 0, "", Строки[0].Идентификатор);
|
||||
Если Строки.Количество() = 0 Тогда
|
||||
Идентификатор = "";
|
||||
АлгоритмыПроверкиПодписи = Новый Массив;
|
||||
Иначе
|
||||
Идентификатор = Строки[0].Идентификатор;
|
||||
АлгоритмыПроверкиПодписи = Строки[0].АлгоритмыПроверкиПодписи;
|
||||
Если АлгоритмыПроверкиПодписи.Найти(Строки[0].АлгоритмПодписи) = Неопределено Тогда
|
||||
АлгоритмыПроверкиПодписи.Вставить(0, Строки[0].АлгоритмПодписи);
|
||||
КонецЕсли;
|
||||
Для Каждого АлгоритмПодписи Из Строки[0].АлгоритмыПодписи Цикл
|
||||
Если АлгоритмыПроверкиПодписи.Найти(АлгоритмПодписи) = Неопределено Тогда
|
||||
АлгоритмыПроверкиПодписи.Добавить(АлгоритмПодписи);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Описание = ОписаниеПрограмм();
|
||||
Описание = ОписаниеПрограммы();
|
||||
ЗаполнитьЗначенияСвойств(Описание, Выборка);
|
||||
Описание.Идентификатор = Идентификатор;
|
||||
ОписанияПрограмм.Добавить(Новый ФиксированнаяСтруктура(Описание));
|
||||
Описание.АлгоритмыПроверкиПодписи = АлгоритмыПроверкиПодписи;
|
||||
|
||||
ФиксированноеОписание = Новый ФиксированнаяСтруктура(Описание);
|
||||
ОписанияПрограмм.Добавить(ФиксированноеОписание);
|
||||
ОписанияПрограммПоСсылке.Вставить(Описание.Ссылка, ФиксированноеОписание);
|
||||
КонецЦикла;
|
||||
|
||||
ОбщиеНастройки.Вставить("ОписанияПрограмм", Новый ФиксированныйМассив(ОписанияПрограмм));
|
||||
ОбщиеНастройки.Вставить("ОписанияПрограммПоСсылке", Новый ФиксированноеСоответствие(ОписанияПрограммПоСсылке));
|
||||
ОбщиеНастройки.Вставить("ПоставляемыеПутиКМодулямПрограмм",
|
||||
Справочники.ПрограммыЭлектроннойПодписиИШифрования.ПоставляемыеПутиКМодулямПрограмм());
|
||||
|
||||
ОбщиеНастройки.Вставить("ВерсияНастроек", Строка(Новый УникальныйИдентификатор));
|
||||
|
||||
Возврат Новый ФиксированнаяСтруктура(ОбщиеНастройки);
|
||||
|
||||
@@ -103,7 +130,8 @@
|
||||
// * АлгоритмШифрования - Строка
|
||||
// * Идентификатор - Строка
|
||||
//
|
||||
Функция ОписаниеПрограмм() Экспорт
|
||||
Функция ОписаниеПрограммы() Экспорт
|
||||
|
||||
Описание = Новый Структура;
|
||||
Описание.Вставить("Ссылка");
|
||||
Описание.Вставить("Наименование");
|
||||
@@ -113,7 +141,10 @@
|
||||
Описание.Вставить("АлгоритмХеширования");
|
||||
Описание.Вставить("АлгоритмШифрования");
|
||||
Описание.Вставить("Идентификатор");
|
||||
Описание.Вставить("АлгоритмыПроверкиПодписи");
|
||||
|
||||
Возврат Описание;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТипыВладельцев(ТолькоСсылки = Ложь) Экспорт
|
||||
@@ -150,4 +181,74 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПутиКПрограммамНаСерверахLinux(ИмяКомпьютера) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("ИмяКомпьютера", ИмяКомпьютера);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ПутиКПрограмме.Программа,
|
||||
| ПутиКПрограмме.ПутьКПрограмме
|
||||
|ИЗ
|
||||
| РегистрСведений.ПутиКПрограммамЭлектроннойПодписиИШифрованияНаСерверахLinux КАК ПутиКПрограмме
|
||||
|ГДЕ
|
||||
| ПутиКПрограмме.ИмяКомпьютера = &ИмяКомпьютера";
|
||||
|
||||
ПутиКПрограммамНаСерверахLinux = Новый Соответствие;
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
ОписаниеПути = Новый Структура;
|
||||
ОписаниеПути.Вставить("ПутьКПрограмме", Выборка.ПутьКПрограмме);
|
||||
ОписаниеПути.Вставить("Существует", ОдинИзМодулейСуществует(Выборка.ПутьКПрограмме));
|
||||
ПутиКПрограммамНаСерверахLinux.Вставить(Выборка.Программа, ОписаниеПути);
|
||||
КонецЦикла;
|
||||
|
||||
ОбщиеНастройки = ЭлектроннаяПодпись.ОбщиеНастройки();
|
||||
ТипПлатформыСтрокой = ЭлектроннаяПодписьСлужебныйКлиентСервер.ТипПлатформыСтрокой();
|
||||
|
||||
Для Каждого ОписаниеПрограммы Из ОбщиеНастройки.ОписанияПрограмм Цикл
|
||||
Если ПутиКПрограммамНаСерверахLinux.Получить(ОписаниеПрограммы.Ссылка) <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Для Каждого ПутиКМодулямПрограмм Из ОбщиеНастройки.ПоставляемыеПутиКМодулямПрограмм Цикл
|
||||
Если Не СтрНачинаетсяС(ОписаниеПрограммы.Идентификатор, ПутиКМодулямПрограмм.Ключ) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ПутиКМодулямПрограммы = ПутиКМодулямПрограмм.Значение.Получить(ТипПлатформыСтрокой);
|
||||
Если ПутиКМодулямПрограммы = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ОписаниеПути = Новый Структура("ПутьКПрограмме, Существует", ПутиКМодулямПрограммы[0], Ложь);
|
||||
ПутиКПрограммамНаСерверахLinux.Вставить(ОписаниеПрограммы.Ссылка, ОписаниеПути);
|
||||
Для Каждого ПутиКМодулям Из ПутиКМодулямПрограммы Цикл
|
||||
Если Не ОдинИзМодулейСуществует(ПутиКМодулям) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ОписаниеПути.ПутьКПрограмме = ПутиКМодулям;
|
||||
ОписаниеПути.Существует = Истина;
|
||||
Прервать;
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Новый ФиксированноеСоответствие(ПутиКПрограммамНаСерверахLinux);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОдинИзМодулейСуществует(ПутиКМодулям)
|
||||
|
||||
МодулиПрограммы = СтрРазделить(ПутиКМодулям, ":");
|
||||
Результат = Ложь;
|
||||
Для Каждого МодульПрограммы Из МодулиПрограммы Цикл
|
||||
Файл = Новый Файл(МодульПрограммы);
|
||||
Если Файл.Существует() Тогда
|
||||
Результат = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="fcbdb199-c924-4fec-a654-1037a7a976c6">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1e2f928c-e6b6-11ea-9290-0242ac110002">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.1</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="53518cf9-bee2-4a7b-a4e2-12dae12b3cef"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="86ab0387-1c81-44a3-9a11-80b98df5e6a5"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="fc2f6f1a-c98f-4362-969e-de2fadec9f82"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="388272c4-c08c-413d-ade8-29533b57d595"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="0f9f6d5f-a18a-44b0-b3a1-64f2b9da72d2"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="5d57e676-4d3c-48b8-8af9-f55e3a4a0194"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="44bce8fe-b912-4c30-9aba-cd13dfe134d1"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="1e2f928d-e6b6-11ea-9290-0242ac110002"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="1e2f92be-e6b6-11ea-9290-0242ac110002"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="1e2f92bf-e6b6-11ea-9290-0242ac110002"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="1e2f92c8-e6b6-11ea-9290-0242ac110002"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="1e2f92c9-e6b6-11ea-9290-0242ac110002"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="1e2f92d2-e6b6-11ea-9290-0242ac110002"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="dbc9ff47-da7a-452c-a80b-54deba3778a9"/>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||
<vendor>Фирма "1С"</vendor>
|
||||
<version>3.1.3.229</version>
|
||||
<version>3.1.3.250</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
@@ -1423,9 +1423,9 @@
|
||||
<commonCommands>CommonCommand.СоздатьЗаметкуПоПредмету</commonCommands>
|
||||
<commonCommands>CommonCommand.СоставОтправляемыхДанных</commonCommands>
|
||||
<commonCommands>CommonCommand.СценарииСинхронизации</commonCommands>
|
||||
<commonCommands>CommonCommand.УдалитьНастройкуСинхронизации</commonCommands>
|
||||
<commonCommands>CommonCommand.УстановитьРасширениеДляРаботыС1СПредприятием</commonCommands>
|
||||
<commonCommands>CommonCommand.ФайлыВТоме</commonCommands>
|
||||
<commonCommands>CommonCommand.УдалитьНастройкуСинхронизации</commonCommands>
|
||||
<commandGroups>CommandGroup.Взаимодействия</commandGroups>
|
||||
<commandGroups>CommandGroup.Информация</commandGroups>
|
||||
<commandGroups>CommandGroup.Органайзер</commandGroups>
|
||||
@@ -1559,9 +1559,9 @@
|
||||
<constants>Constant.СписокРасширенийФайловOpenDocumentОбластиДанных</constants>
|
||||
<constants>Constant.СпособХраненияФайлов</constants>
|
||||
<constants>Constant.СтатусОбновленияКонфигурации</constants>
|
||||
<constants>Constant.УдалитьЛогинДоступаКСервисуMorpher</constants>
|
||||
<constants>Constant.ХранитьФайлыВТомахНаДиске</constants>
|
||||
<constants>Constant.ЭтоАвтономноеРабочееМесто</constants>
|
||||
<constants>Constant.УдалитьЛогинДоступаКСервисуMorpher</constants>
|
||||
<commonForms>CommonForm.АвтономнаяРабота</commonForms>
|
||||
<commonForms>CommonForm.АвтономнаяРаботаВМоделиСервиса</commonForms>
|
||||
<commonForms>CommonForm.АдреснаяКнига</commonForms>
|
||||
@@ -2034,15 +2034,15 @@
|
||||
<informationRegisters>InformationRegister.СубъектыДляСкрытияПерсональныхДанных</informationRegisters>
|
||||
<informationRegisters>InformationRegister.ТаблицыГруппДоступа</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УведомленияОПрочтении</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УдаляемыеОбъекты</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УровниСокращенийАдресныхСведений</informationRegisters>
|
||||
<informationRegisters>InformationRegister.ФайлыВРабочемКаталоге</informationRegisters>
|
||||
<informationRegisters>InformationRegister.ЭлектронныеПодписи</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УдалитьЗамерыВремени3</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УдалитьНастройкиТранспортаОбмена</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УдалитьОбластиПерсональныхДанных</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УдалитьРезультатыОбменаДанными</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УдалитьХранимыеФайлыВерсий</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УдаляемыеОбъекты</informationRegisters>
|
||||
<informationRegisters>InformationRegister.УровниСокращенийАдресныхСведений</informationRegisters>
|
||||
<informationRegisters>InformationRegister.ФайлыВРабочемКаталоге</informationRegisters>
|
||||
<informationRegisters>InformationRegister.ЭлектронныеПодписи</informationRegisters>
|
||||
<chartsOfCharacteristicTypes>ChartOfCharacteristicTypes.ВопросыДляАнкетирования</chartsOfCharacteristicTypes>
|
||||
<chartsOfCharacteristicTypes>ChartOfCharacteristicTypes.ДополнительныеРеквизитыИСведения</chartsOfCharacteristicTypes>
|
||||
<chartsOfCharacteristicTypes>ChartOfCharacteristicTypes.ОбъектыАдресацииЗадач</chartsOfCharacteristicTypes>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,bfa0f7e8-dcfc-445f-8593-f06d87d6cd0d,1,3e1eba82-8f41-433a-a8da-a871f48f3d7a,"3.1.3.229","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6172,1,0,fcbdb199-c924-4fec-a654-1037a7a976c6,fcbdb199-c924-4fec-a654-1037a7a976c6,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,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,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,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,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,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-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
|
||||
{6,1,1,634d1ef2-e6b6-11ea-7c96-0242ac110002,1,56a04cf6-e6b6-11ea-0686-0242ac110002,"3.1.3.250","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6172,1,0,1e2f928c-e6b6-11ea-9290-0242ac110002,1e2f928c-e6b6-11ea-9290-0242ac110002,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,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,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,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,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,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-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
|
||||
+1
-1
@@ -462,7 +462,7 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBar</locationInCommandBar>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</autoCommandBar>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
Функция ВерсияКалендарей() Экспорт
|
||||
|
||||
Возврат 12;
|
||||
Возврат 13;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
|
||||
|
||||
Возврат "3.1.3.195";
|
||||
Возврат "3.1.3.235";
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
+2
-1
@@ -453,7 +453,8 @@
|
||||
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200526" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Суббота" Date="20200527" SwapDate="20200523"/>
|
||||
<Item Calendar="20" Year="2020" DayType="Воскресенье" Date="20200528" SwapDate="20200524"/>
|
||||
<Item Calendar="20" Year="2020" DayType="Предпраздничный" Date="20200730" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Предпраздничный" Date="20200729" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200730" SwapDate=""/>
|
||||
<Item Calendar="20" Year="2020" DayType="Праздник" Date="20200731" SwapDate=""/>
|
||||
<Item Calendar="21" Year="2016" DayType="Предпраздничный" Date="20160623" SwapDate=""/>
|
||||
<Item Calendar="21" Year="2016" DayType="Праздник" Date="20160624" SwapDate=""/>
|
||||
|
||||
+40
-1
@@ -1,5 +1,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">
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ВсеЭлементы</name>
|
||||
<id>67</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаФИО</name>
|
||||
<id>10</id>
|
||||
@@ -932,6 +935,10 @@
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>ДокументДатаВыдачи</segments>
|
||||
</dataPath>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ДокументДатаВыдачиПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ДокументДатаВыдачиРасширеннаяПодсказка</name>
|
||||
<id>57</id>
|
||||
@@ -1107,6 +1114,35 @@
|
||||
<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>68</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>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<commandBarLocation>Bottom</commandBarLocation>
|
||||
<showCommandBar>true</showCommandBar>
|
||||
<autoCommandBar>
|
||||
@@ -1166,6 +1202,10 @@
|
||||
</items>
|
||||
<horizontalAlign>Right</horizontalAlign>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>NotificationProcessing</event>
|
||||
<name>ОбработкаОповещения</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>BeforeClose</event>
|
||||
<name>ПередЗакрытием</name>
|
||||
@@ -1588,7 +1628,6 @@
|
||||
<parameters>
|
||||
<name>СведенияОВладельце</name>
|
||||
<valueType/>
|
||||
<keyParameter>true</keyParameter>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
|
||||
+89
-77
@@ -11,21 +11,12 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
СведенияОВладельце = Параметры.СведенияОВладельце;
|
||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, СведенияОВладельце);
|
||||
ЗаполнитьСведенияОВладельце(ЭтотОбъект, Параметры.СведенияОВладельце);
|
||||
|
||||
Если СведенияОВладельце.Пол = "Мужской" Тогда
|
||||
Пол = 1;
|
||||
ИначеЕсли СведенияОВладельце.Пол = "Женский" Тогда
|
||||
Пол = 2;
|
||||
Если Параметры.ТолькоПросмотр Тогда
|
||||
Элементы.ВсеЭлементы.ТолькоПросмотр = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.Должность.Видимость = Не СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
|
||||
Элементы.Подразделение.Видимость = Не СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
|
||||
|
||||
ПриИзмененииВидаДокументаНаСервере();
|
||||
УстановитьТолькоПросмотр();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -41,6 +32,18 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
|
||||
|
||||
Если ИмяСобытия <> "ИзменениеВладельцаВЗаявленииНаВыпускСертификата" Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОчиститьСообщения();
|
||||
ЗаполнитьСведенияОВладельце(ЭтотОбъект, Параметр);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
@@ -58,6 +61,8 @@
|
||||
&НаКлиенте
|
||||
Процедура СтраховойНомерПФРПриИзменении(Элемент)
|
||||
|
||||
Модифицированность = Истина;
|
||||
|
||||
СтраховойНомерПФР = ТолькоЦифры(СтраховойНомерПФР);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -85,7 +90,7 @@
|
||||
Процедура ДокументВидПриИзменении(Элемент)
|
||||
|
||||
Модифицированность = Истина;
|
||||
ПриИзмененииВидаДокументаНаСервере();
|
||||
ПриИзмененииВидаДокумента(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -107,6 +112,13 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДокументДатаВыдачиПриИзменении(Элемент)
|
||||
|
||||
Модифицированность = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДокументКодПодразделенияПриИзменении(Элемент)
|
||||
|
||||
@@ -165,23 +177,50 @@
|
||||
&НаКлиенте
|
||||
Процедура СохранитьИзмененияИЗакрыть()
|
||||
|
||||
Если Не Модифицированность Тогда
|
||||
Закрыть(Новый Структура("СведенияОВладельце, Обновить", СведенияОВладельце, Ложь));
|
||||
ИначеЕсли СохранитьИзмененияНаСервере() Тогда
|
||||
Модифицированность = Ложь;
|
||||
Закрыть(Новый Структура("СведенияОВладельце, Обновить", СведенияОВладельце, Истина));
|
||||
ОчиститьСообщения();
|
||||
|
||||
Если Не ПроверитьСведенияОВладельце() Тогда
|
||||
Если Не Элементы.ВсеЭлементы.ТолькоПросмотр Тогда
|
||||
ПоказатьВопрос(Новый ОписаниеОповещения("СохранениеПослеОтветаНаВопрос", ЭтотОбъект),
|
||||
НСтр("ru = 'Есть ошибки. Все равно сохранить изменения?'"),
|
||||
РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
|
||||
КонецЕсли;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Модифицированность Тогда
|
||||
Закрыть(Неопределено);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СохранениеПослеОтветаНаВопрос(КодВозвратаДиалога.Да, Неопределено);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриИзмененииВидаДокументаНаСервере()
|
||||
&НаКлиенте
|
||||
Процедура СохранениеПослеОтветаНаВопрос(Ответ, Контекст) Экспорт
|
||||
|
||||
Если ДокументВид = "" Тогда
|
||||
ДокументВид = "21";
|
||||
Если Ответ <> КодВозвратаДиалога.Да Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ДокументВид = "21" Тогда
|
||||
ПодготовитьИзмененияНаСервере();
|
||||
|
||||
Модифицированность = Ложь;
|
||||
Закрыть(СведенияОВладельце);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура ПриИзмененииВидаДокумента(Форма)
|
||||
|
||||
Если Форма.ДокументВид = "" Тогда
|
||||
Форма.ДокументВид = "21";
|
||||
КонецЕсли;
|
||||
|
||||
Элементы = Форма.Элементы;
|
||||
|
||||
Если Форма.ДокументВид = "21" Тогда
|
||||
Элементы.ДокументНомер.Заголовок = НСтр("ru = 'Серия и номер'");
|
||||
Элементы.ДокументНомер.Маска = "99 99 999999";
|
||||
Элементы.ДокументКодПодразделения.Видимость = Истина;
|
||||
@@ -189,21 +228,17 @@
|
||||
Элементы.ДокументНомер.Заголовок = НСтр("ru = 'Номер'");
|
||||
Элементы.ДокументНомер.Маска = "";
|
||||
Элементы.ДокументКодПодразделения.Видимость = Ложь;
|
||||
ДокументКодПодразделения = "";
|
||||
Форма.ДокументКодПодразделения = "";
|
||||
КонецЕсли;
|
||||
|
||||
Если ДокументВид = 91 Тогда
|
||||
ДокументВид = "";
|
||||
Если Форма.ДокументВид = 91 Тогда
|
||||
Форма.ДокументВид = "";
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция СохранитьИзмененияНаСервере()
|
||||
|
||||
Если Не ПроверитьСведенияОВладельце() Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
Функция ПодготовитьИзмененияНаСервере()
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
||||
|
||||
@@ -230,60 +265,37 @@
|
||||
&НаСервере
|
||||
Функция ПроверитьСведенияОВладельце()
|
||||
|
||||
ИсключаемыеРеквизиты = Новый Массив;
|
||||
ИсключаемыеРеквизиты.Добавить("ЭтоИндивидуальныйПредприниматель");
|
||||
ИсключаемыеРеквизиты.Добавить("ГражданствоОКСМКодАльфа3");
|
||||
ИсключаемыеРеквизиты.Добавить("ГражданствоПредставление");
|
||||
ИсключаемыеРеквизиты.Добавить("Подразделение");
|
||||
ИсключаемыеРеквизиты.Добавить("Отчество");
|
||||
Если СведенияОВладельце.ЭтоИндивидуальныйПредприниматель Тогда
|
||||
ИсключаемыеРеквизиты.Добавить("Должность");
|
||||
КонецЕсли;
|
||||
|
||||
Если ДокументВид <> "21" Тогда
|
||||
ИсключаемыеРеквизиты.Добавить("ДокументНомер");
|
||||
ИсключаемыеРеквизиты.Добавить("ДокументКодПодразделения");
|
||||
КонецЕсли;
|
||||
ОбработкаМодуль = Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата;
|
||||
ЭтоИП = СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
|
||||
|
||||
ПроверяемыеРеквизиты = Новый Массив;
|
||||
Для Каждого Реквизит Из СведенияОВладельце Цикл
|
||||
|
||||
ИмяРеквизита = Реквизит.Ключ;
|
||||
Если ИсключаемыеРеквизиты.Найти(ИмяРеквизита) <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыРеквизитаДляПроверки = Новый Структура;
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("Имя", ИмяРеквизита);
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("Значение", ЭтотОбъект[ИмяРеквизита]);
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("ПолеСообщения", ИмяРеквизита);
|
||||
|
||||
Элемент = Элементы[ИмяРеквизита]; // ПолеФормы
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("ТекстНезаполненного",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Поле ""%1"" не заполнено'"),
|
||||
?(ИмяРеквизита = "Фамилия", "Фамилия", Элемент.Заголовок)));
|
||||
|
||||
ПроверяемыеРеквизиты.Добавить(ПараметрыРеквизитаДляПроверки);
|
||||
|
||||
КонецЦикла;
|
||||
ОбработкаМодуль.ДобавитьРеквизитыДляПроверки(ЭтотОбъект,
|
||||
ПроверяемыеРеквизиты, ОбработкаМодуль.РеквизитыВладельцаСертификата(ЭтотОбъект, ЭтоИП));
|
||||
|
||||
Возврат Не Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.ПроверитьЗаполнениеРеквизитов(
|
||||
ПроверяемыеРеквизиты);
|
||||
ПроверяемыеРеквизиты, ЭтоИП);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьТолькоПросмотр()
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура ЗаполнитьСведенияОВладельце(Форма, СведенияОВладельце)
|
||||
|
||||
Элементы.ГруппаФИО.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.ГруппаДатаРожденияПол.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.СтраховойНомерПФР.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.ГруппаГражданство.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.Должность.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.Подразделение.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.ГруппаУдостоверениеЛичности.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.ГруппаКонтактнаяИнформация.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
ЗаполнитьЗначенияСвойств(Форма, СведенияОВладельце);
|
||||
Форма.СведенияОВладельце = СведенияОВладельце;
|
||||
|
||||
Если Форма.СведенияОВладельце.Пол = "Мужской" Тогда
|
||||
Форма.Пол = 1;
|
||||
ИначеЕсли Форма.СведенияОВладельце.Пол = "Женский" Тогда
|
||||
Форма.Пол = 2;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы = Форма.Элементы;
|
||||
Элементы.Должность.Видимость = Не Форма.СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
|
||||
Элементы.Подразделение.Видимость = Не Форма.СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
|
||||
|
||||
ПриИзмененииВидаДокумента(Форма);
|
||||
|
||||
Форма.Модифицированность = Ложь;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
+36
-1
@@ -1,5 +1,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">
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ВсеЭлементы</name>
|
||||
<id>61</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ЭтоИндивидуальныйПредприниматель</name>
|
||||
<id>5</id>
|
||||
@@ -966,6 +969,35 @@
|
||||
<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>62</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>Auto</behavior>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<commandBarLocation>Bottom</commandBarLocation>
|
||||
<showCommandBar>true</showCommandBar>
|
||||
<autoCommandBar>
|
||||
@@ -1025,6 +1057,10 @@
|
||||
</items>
|
||||
<horizontalAlign>Right</horizontalAlign>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>NotificationProcessing</event>
|
||||
<name>ОбработкаОповещения</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnOpen</event>
|
||||
<name>ПриОткрытии</name>
|
||||
@@ -1401,7 +1437,6 @@
|
||||
<parameters>
|
||||
<name>СведенияОбОрганизации</name>
|
||||
<valueType/>
|
||||
<keyParameter>true</keyParameter>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
|
||||
+53
-49
@@ -18,10 +18,7 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
СведенияОбОрганизации = Параметры.СведенияОбОрганизации;
|
||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, СведенияОбОрганизации);
|
||||
|
||||
Элементы.КПП.Видимость = Не ЭтоИндивидуальныйПредприниматель;
|
||||
ЗаполнитьСведенияОбОрганизации(ЭтотОбъект, Параметры.СведенияОбОрганизации);
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
|
||||
|
||||
@@ -39,7 +36,9 @@
|
||||
ПроверитьАдрес("ЮридическийАдрес");
|
||||
ПроверитьАдрес("ФактическийАдрес");
|
||||
|
||||
УстановитьТолькоПросмотр();
|
||||
Если Параметры.ТолькоПросмотр Тогда
|
||||
Элементы.ВсеЭлементы.ТолькоПросмотр = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -65,6 +64,22 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
|
||||
|
||||
Если ИмяСобытия <> "ИзменениеОрганизацииВЗаявленииНаВыпускСертификата" Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОчиститьСообщения();
|
||||
ЗаполнитьСведенияОбОрганизации(ЭтотОбъект, Параметр);
|
||||
|
||||
РеквизитыПроверкиАдреса.ЮридическийАдрес = Истина;
|
||||
РеквизитыПроверкиАдреса.ФактическийАдрес = Истина;
|
||||
ПодключитьОбработчикОжидания("ПроверитьАдресОбработчикОжидания", 0.1, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
@@ -193,14 +208,14 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьТолькоПросмотр()
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура ЗаполнитьСведенияОбОрганизации(Форма, СведенияОбОрганизации)
|
||||
|
||||
Элементы.ЭтоИндивидуальныйПредприниматель.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.НаименованиеСокращенное.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.НаименованиеПолное.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.ГруппаНомеров.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.ГруппаКонтактнаяИнформацияОрганизации.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
ЗаполнитьЗначенияСвойств(Форма, СведенияОбОрганизации);
|
||||
Форма.СведенияОбОрганизации = СведенияОбОрганизации;
|
||||
|
||||
Форма.Элементы.КПП.Видимость = Не Форма.ЭтоИндивидуальныйПредприниматель;
|
||||
Форма.Модифицированность = Ложь;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -232,20 +247,40 @@
|
||||
&НаКлиенте
|
||||
Процедура СохранитьИзмененияИЗакрыть()
|
||||
|
||||
ОчиститьСообщения();
|
||||
|
||||
Если Не ПроверитьСведенияОбОрганизации() Тогда
|
||||
Если Не Элементы.ВсеЭлементы.ТолькоПросмотр Тогда
|
||||
ПоказатьВопрос(Новый ОписаниеОповещения("СохранениеПослеОтветаНаВопрос", ЭтотОбъект),
|
||||
НСтр("ru = 'Есть ошибки. Все равно сохранить изменения?'"),
|
||||
РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
|
||||
КонецЕсли;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Модифицированность Тогда
|
||||
Закрыть(Неопределено);
|
||||
Возврат;
|
||||
ИначеЕсли Не ПроверитьСведенияОбОрганизации() Тогда
|
||||
КонецЕсли;
|
||||
|
||||
СохранениеПослеОтветаНаВопрос(КодВозвратаДиалога.Да, Неопределено);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СохранениеПослеОтветаНаВопрос(Ответ, Контекст) Экспорт
|
||||
|
||||
Если Ответ <> КодВозвратаДиалога.Да Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Модифицированность = Ложь;
|
||||
ЗаполнитьЗначенияСвойств(СведенияОбОрганизации, ЭтотОбъект);
|
||||
|
||||
СведенияОбОрганизации.Телефон = ЭтотОбъект.ТелефонXML;
|
||||
СведенияОбОрганизации.ФактическийАдрес = ЭтотОбъект.ФактическийАдресXML;
|
||||
СведенияОбОрганизации.ЮридическийАдрес = ЭтотОбъект.ЮридическийАдресXML;
|
||||
|
||||
Модифицированность = Ложь;
|
||||
Закрыть(СведенияОбОрганизации);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -375,42 +410,11 @@
|
||||
&НаСервере
|
||||
Функция ПроверитьСведенияОбОрганизации()
|
||||
|
||||
ОбработкаМодуль = Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата;
|
||||
|
||||
ПроверяемыеРеквизиты = Новый Массив;
|
||||
НеобязательныеРеквизиты = Новый Структура(
|
||||
"ЭтоИндивидуальныйПредприниматель, Организация, БИК, РасчетныйСчет, КорреспондентскийСчет");
|
||||
|
||||
Для Каждого Реквизит Из СведенияОбОрганизации Цикл
|
||||
|
||||
ИмяРеквизита = Реквизит.Ключ;
|
||||
Если СтрНайти(ИмяРеквизита, "XML") > 0
|
||||
Или НеобязательныеРеквизиты.Свойство(ИмяРеквизита)
|
||||
Или (ЭтоИндивидуальныйПредприниматель
|
||||
И ИмяРеквизита = "КПП") Тогда
|
||||
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыРеквизитаДляПроверки = Новый Структура;
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("Имя", ИмяРеквизита);
|
||||
Если ИмяРеквизита = "Телефон"
|
||||
Или ИмяРеквизита = "ФактическийАдрес"
|
||||
Или ИмяРеквизита = "ЮридическийАдрес" Тогда
|
||||
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("Значение", ЭтотОбъект[ИмяРеквизита + "XML"]);
|
||||
Иначе
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("Значение", ЭтотОбъект[ИмяРеквизита]);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("ПолеСообщения", ИмяРеквизита);
|
||||
|
||||
Элемент = Элементы[ИмяРеквизита]; // ПолеФормы
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("ТекстНезаполненного",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Поле ""%1"" не заполнено'"), Элемент.Заголовок));
|
||||
|
||||
ПроверяемыеРеквизиты.Добавить(ПараметрыРеквизитаДляПроверки);
|
||||
|
||||
КонецЦикла;
|
||||
ОбработкаМодуль.ДобавитьРеквизитыДляПроверки(ЭтотОбъект,
|
||||
ПроверяемыеРеквизиты, ОбработкаМодуль.РеквизитыОрганизации(ЭтотОбъект));
|
||||
|
||||
Возврат Не Обработки.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.ПроверитьЗаполнениеРеквизитов(
|
||||
ПроверяемыеРеквизиты, ЭтоИндивидуальныйПредприниматель);
|
||||
|
||||
+67
-6
@@ -272,13 +272,53 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>СостояниеОбработкиЗаявленияАктуально</name>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ИдентификаторДокументооборота</name>
|
||||
<id>8</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ДатаОбновленияСостояния</name>
|
||||
<id>9</id>
|
||||
<valueType>
|
||||
<types>Date</types>
|
||||
<dateQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<parameters>
|
||||
<name>СостояниеОбработкиЗаявления</name>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<keyParameter>true</keyParameter>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>АдресЗапросаНаСертификат</name>
|
||||
@@ -286,7 +326,6 @@
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<keyParameter>true</keyParameter>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ИмяФайла</name>
|
||||
@@ -294,7 +333,6 @@
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<keyParameter>true</keyParameter>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>АдресСертификата</name>
|
||||
@@ -302,7 +340,6 @@
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<keyParameter>true</keyParameter>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>АдресКорневогоСертификата</name>
|
||||
@@ -310,7 +347,6 @@
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<keyParameter>true</keyParameter>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>АдресОтветаСервиса</name>
|
||||
@@ -318,7 +354,32 @@
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<keyParameter>true</keyParameter>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>СостояниеЗаявления</name>
|
||||
<valueType>
|
||||
<types>EnumRef.СостоянияЗаявленияНаВыпускСертификата</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>СостояниеОбработкиЗаявленияАктуально</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ИдентификаторДокументооборота</name>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ДатаОбновленияСостояния</name>
|
||||
<valueType>
|
||||
<types>Date</types>
|
||||
<dateQualifiers/>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
|
||||
+30
-21
@@ -12,16 +12,14 @@
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Параметры,
|
||||
"ИмяФайла, АдресЗапросаНаСертификат, АдресСертификата,"
|
||||
+ "АдресКорневогоСертификата, АдресОтветаСервиса, СостояниеОбработкиЗаявления");
|
||||
|
||||
Если ПустаяСтрока(АдресСертификата)
|
||||
Или ПустаяСтрока(АдресКорневогоСертификата) Тогда
|
||||
"ИмяФайла, ИдентификаторДокументооборота, АдресЗапросаНаСертификат, АдресСертификата,"
|
||||
+ "АдресКорневогоСертификата, АдресОтветаСервиса, СостояниеОбработкиЗаявления,"
|
||||
+ "ДатаОбновленияСостояния, СостояниеОбработкиЗаявленияАктуально");
|
||||
|
||||
Если Параметры.СостояниеЗаявления <> Перечисления.СостоянияЗаявленияНаВыпускСертификата.Исполнено Тогда
|
||||
Элементы.ДекорацияСертификаты.Видимость = Ложь;
|
||||
Элементы.ДекорацияИнформацияДляПоддержки.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(
|
||||
НСтр("ru = 'В случае ошибки обратитесь в службу поддержки фирмы ""1С"", предоставив <a href = ""ИнформацияДляПоддержки"">техническую информацию о возникшей проблеме</a>.'"));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -37,7 +35,7 @@
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.СохранитьСертификат(
|
||||
Неопределено,
|
||||
?(НавигационнаяСсылка = "Сертификат", АдресСертификата, АдресКорневогоСертификата),
|
||||
?(НавигационнаяСсылка = "Сертификат", ИмяФайла, НСтр("ru = 'Корневой сертификат ООО НПЦ 1С'")));
|
||||
?(НавигационнаяСсылка = "Сертификат", ИмяФайла, НСтр("ru = 'Корневой сертификат'")));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -45,6 +43,13 @@
|
||||
Процедура ДекорацияИнформацияДляПоддержкиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
Если Не СостояниеОбработкиЗаявленияАктуально Тогда
|
||||
ПоказатьПредупреждение(,
|
||||
НСтр("ru = 'Для сбора технической информации о возникшей проблеме необходимо обновить состояние заявления.'"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ФайловаяСистемаКлиент.СохранитьФайл(
|
||||
Неопределено, АдресАрхиваИнформацииДляПоддержки(), "service_info.zip");
|
||||
|
||||
@@ -63,10 +68,20 @@
|
||||
ВременныеФайлы.Добавить(ПолучитьИмяВременногоФайла("txt"));
|
||||
|
||||
ТекстСостояния = Новый ТекстовыйДокумент;
|
||||
ТекстСостояния.УстановитьТекст(СостояниеОбработкиЗаявления);
|
||||
ТекстСостояния.ДобавитьСтроку(НСтр("ru = 'Идентификатор документооборота'")
|
||||
+ ": " + Строка(ИдентификаторДокументооборота));
|
||||
ТекстСостояния.ДобавитьСтроку(НСтр("ru = 'Состояние обработки заявления'")
|
||||
+ " (" + Формат(ДатаОбновленияСостояния, "ДЛФ=DT") + ")"
|
||||
+ ":" + Символы.ПС + СостояниеОбработкиЗаявления + Символы.ПС);
|
||||
|
||||
ДобавитьДанныеВАрхив(АрхивИнформации, АдресЗапросаНаСертификат, "p10", ВременныеФайлы, ТекстСостояния);
|
||||
ДобавитьДанныеВАрхив(АрхивИнформации, АдресОтветаСервиса, "zip", ВременныеФайлы, ТекстСостояния);
|
||||
ДобавитьДанныеВАрхив(АрхивИнформации, АдресЗапросаНаСертификат, "p10", ВременныеФайлы, ТекстСостояния,
|
||||
НСтр("ru = 'Запрос на сертификат'"));
|
||||
ДобавитьДанныеВАрхив(АрхивИнформации, АдресОтветаСервиса, "zip", ВременныеФайлы, ТекстСостояния,
|
||||
НСтр("ru = 'Ответ сервиса 1С: Подпись'"));
|
||||
ДобавитьДанныеВАрхив(АрхивИнформации, АдресКорневогоСертификата, "cer", ВременныеФайлы, ТекстСостояния,
|
||||
НСтр("ru = 'Полученный корневой сертификат'"));
|
||||
ДобавитьДанныеВАрхив(АрхивИнформации, АдресСертификата, "cer", ВременныеФайлы, ТекстСостояния,
|
||||
НСтр("ru = 'Полученный сертификат'"));
|
||||
|
||||
ТекстСостояния.Записать(ВременныеФайлы[0]);
|
||||
АрхивИнформации.Добавить(ВременныеФайлы[0]);
|
||||
@@ -82,11 +97,11 @@
|
||||
КонецФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ДобавитьДанныеВАрхив(Архив, АдресДанных, Расширение, ВременныеФайлы, ТекстСостояния)
|
||||
Процедура ДобавитьДанныеВАрхив(Архив, АдресДанных, Расширение, ВременныеФайлы, ТекстСостояния, ПредставлениеДанных)
|
||||
|
||||
ТипФайла = ?(Расширение = "p10",
|
||||
НСтр("ru = 'Запрос на сертификат'"), НСтр("ru = 'Ответ сервиса 1С: Подпись'"));
|
||||
Если ЗначениеЗаполнено(АдресДанных) Тогда
|
||||
Если Не ЗначениеЗаполнено(АдресДанных) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Данные = ПолучитьИзВременногоХранилища(АдресДанных);
|
||||
Если ТипЗнч(Данные) = Тип("ДвоичныеДанные") Тогда
|
||||
@@ -101,13 +116,7 @@
|
||||
ТекстСостояния.ДобавитьСтроку(
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось добавить %1. Данные во временном хранилище содержат тип %2.'"),
|
||||
ТипФайла, Строка(ТипЗнч(Данные))));
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
ТекстСостояния.ДобавитьСтроку(
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось добавить %1. Не заполнен адрес файла во временном хранилище.'"), ТипФайла));
|
||||
ПредставлениеДанных, Строка(ТипЗнч(Данные))));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
+56
-18
@@ -176,6 +176,7 @@
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<markRequiredComplete>true</markRequiredComplete>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
@@ -185,6 +186,10 @@
|
||||
<event>StartChoice</event>
|
||||
<name>НаименованиеСокращенноеНачалоВыбора</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>Opening</event>
|
||||
<name>НаименованиеСокращенноеОткрытие</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>Clearing</event>
|
||||
<name>НаименованиеСокращенноеОчистка</name>
|
||||
@@ -197,6 +202,8 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<choiceButton>true</choiceButton>
|
||||
<openButton>true</openButton>
|
||||
<autoMarkIncomplete>true</autoMarkIncomplete>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textSize>Normal</textSize>
|
||||
@@ -216,7 +223,6 @@
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Организация</segments>
|
||||
</dataPath>
|
||||
<titleLocation>Left</titleLocation>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ОрганизацияПриИзменении</name>
|
||||
@@ -243,14 +249,19 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<handlers>
|
||||
<event>StartChoice</event>
|
||||
<name>ОрганизацияНачалоВыбора</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>Clearing</event>
|
||||
<name>ОрганизацияОчистка</name>
|
||||
</handlers>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<dropListButton>true</dropListButton>
|
||||
<choiceButtonRepresentation>ShowInDropList</choiceButtonRepresentation>
|
||||
<autoMarkIncomplete>true</autoMarkIncomplete>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
@@ -356,6 +367,7 @@
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<markRequiredComplete>true</markRequiredComplete>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
@@ -365,6 +377,10 @@
|
||||
<event>StartChoice</event>
|
||||
<name>ВладелецСертификатаСтрокойНачалоВыбора</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>Opening</event>
|
||||
<name>ВладелецСертификатаСтрокойОткрытие</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>Clearing</event>
|
||||
<name>ВладелецСертификатаСтрокойОчистка</name>
|
||||
@@ -376,9 +392,9 @@
|
||||
<width>18</width>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<dropListButton>true</dropListButton>
|
||||
<choiceButton>true</choiceButton>
|
||||
<choiceButtonRepresentation>ShowInDropList</choiceButtonRepresentation>
|
||||
<openButton>true</openButton>
|
||||
<autoMarkIncomplete>true</autoMarkIncomplete>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textSize>Normal</textSize>
|
||||
@@ -1597,7 +1613,7 @@
|
||||
</title>
|
||||
<id>5</id>
|
||||
<valueType>
|
||||
<types>DefinedType.Организация</types>
|
||||
<types>AnyRef</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
@@ -1616,7 +1632,7 @@
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>64</length>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
@@ -1738,7 +1754,7 @@
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>64</length>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
@@ -1754,7 +1770,7 @@
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>64</length>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
@@ -1770,7 +1786,7 @@
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>64</length>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
@@ -1802,7 +1818,7 @@
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>64</length>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
@@ -1818,7 +1834,7 @@
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>64</length>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
@@ -2453,7 +2469,7 @@
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>128</length>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
@@ -2869,9 +2885,7 @@
|
||||
<id>4</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>200</length>
|
||||
</stringQualifiers>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
@@ -2899,9 +2913,7 @@
|
||||
<attributes>
|
||||
<name>ПрограммаОблачногоСервиса</name>
|
||||
<id>27</id>
|
||||
<valueType>
|
||||
<types>CatalogRef.ПрограммыЭлектроннойПодписиИШифрования</types>
|
||||
</valueType>
|
||||
<valueType/>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
@@ -2951,6 +2963,32 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ЭтоОбработкаОповещения</name>
|
||||
<id>92</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>СостояниеОбработкиЗаявленияАктуально</name>
|
||||
<id>91</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>УказатьСведенияОбОрганизации</name>
|
||||
<title>
|
||||
|
||||
+732
-498
File diff suppressed because it is too large.
Load diff
+135
-16
@@ -173,7 +173,108 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПроверитьЗаполнениеРеквизитов(Реквизиты, ЭтоИП = Ложь) Экспорт
|
||||
Функция РеквизитыОрганизации(Форма) Экспорт
|
||||
|
||||
Реквизиты = Новый СписокЗначений;
|
||||
Реквизиты.Добавить("ЭтоИндивидуальныйПредприниматель", НСтр("ru = 'Вид'"), Истина);
|
||||
Реквизиты.Добавить("НаименованиеСокращенное", НСтр("ru = 'Наименование (сокращенное)'"));
|
||||
Реквизиты.Добавить("НаименованиеПолное", НСтр("ru = 'Наименование (полное)'"));
|
||||
Реквизиты.Добавить("ИНН", НСтр("ru = 'ИНН'"));
|
||||
Реквизиты.Добавить("КПП", НСтр("ru = 'КПП'"));
|
||||
Реквизиты.Добавить("ОГРН", НСтр("ru = 'ОГРН'"));
|
||||
Реквизиты.Добавить("РасчетныйСчет", НСтр("ru = 'Расчетный счет'"), Истина);
|
||||
Реквизиты.Добавить("БИК", НСтр("ru = 'БИК'"), Истина);
|
||||
Реквизиты.Добавить("КорреспондентскийСчет", НСтр("ru = 'Корреспондентский счет'"), Истина);
|
||||
Реквизиты.Добавить("ЮридическийАдрес", НСтр("ru = 'Юридический адрес'"));
|
||||
Реквизиты.Добавить("ФактическийАдрес", НСтр("ru = 'Фактический адрес'"));
|
||||
Реквизиты.Добавить("Телефон", НСтр("ru = 'Телефон'"));
|
||||
|
||||
Если Форма <> Неопределено И Форма.ЭтоИндивидуальныйПредприниматель Тогда
|
||||
Реквизиты.НайтиПоЗначению("КПП").Пометка = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Реквизиты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция РеквизитыВладельцаСертификата(Форма, ЭтоИП = Неопределено) Экспорт
|
||||
|
||||
Реквизиты = Новый СписокЗначений;
|
||||
Реквизиты.Добавить("Фамилия", НСтр("ru = 'Фамилия'"));
|
||||
Реквизиты.Добавить("Имя", НСтр("ru = 'Имя'"));
|
||||
Реквизиты.Добавить("Отчество", НСтр("ru = 'Отчество'"), Истина);
|
||||
Реквизиты.Добавить("ДатаРождения", НСтр("ru = 'Дата рождения'"));
|
||||
Реквизиты.Добавить("Пол", НСтр("ru = 'Пол'"));
|
||||
Реквизиты.Добавить("СтраховойНомерПФР", НСтр("ru = 'СНИЛС'"));
|
||||
Реквизиты.Добавить("Гражданство", НСтр("ru = 'Гражданство'"));
|
||||
Реквизиты.Добавить("МестоРождения", НСтр("ru = 'Место рождения'"));
|
||||
Реквизиты.Добавить("Должность", НСтр("ru = 'Должность'"));
|
||||
Реквизиты.Добавить("Подразделение", НСтр("ru = 'Подразделение'"), Истина);
|
||||
Реквизиты.Добавить("ДокументВид", НСтр("ru = 'Вид документа'"));
|
||||
Реквизиты.Добавить("ДокументНомер", НСтр("ru = 'Серия и номер'"));
|
||||
Реквизиты.Добавить("ДокументКемВыдан", НСтр("ru = 'Кем выдан'"));
|
||||
Реквизиты.Добавить("ДокументДатаВыдачи", НСтр("ru = 'Дата выдачи'"));
|
||||
Реквизиты.Добавить("ДокументКодПодразделения", НСтр("ru = 'Код подразделения'"));
|
||||
Реквизиты.Добавить("ЭлектроннаяПочта", НСтр("ru = 'Электронная почта'"));
|
||||
|
||||
Если Форма <> Неопределено Тогда
|
||||
Если ЭтоИП = Неопределено И Форма.ЭтоИндивидуальныйПредприниматель
|
||||
Или ЭтоИП <> Неопределено И ЭтоИП Тогда
|
||||
Реквизиты.НайтиПоЗначению("Должность").Пометка = Истина;
|
||||
КонецЕсли;
|
||||
Если Форма.ДокументВид <> "21" Тогда
|
||||
Реквизиты.НайтиПоЗначению("ДокументНомер").Пометка = Истина;
|
||||
Реквизиты.НайтиПоЗначению("ДокументКодПодразделения").Пометка = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Реквизиты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения
|
||||
// ПроверяемыеРеквизиты - Массив
|
||||
// РеквизитыДляПроверки - СписокЗначений
|
||||
// ПолеСообщения - Строка
|
||||
// ШаблонСообщения - Строка
|
||||
//
|
||||
Процедура ДобавитьРеквизитыДляПроверки(Форма, ПроверяемыеРеквизиты, РеквизитыДляПроверки,
|
||||
ПолеСообщения = "", ШаблонСообщения = "%1:") Экспорт
|
||||
|
||||
Для Каждого Реквизит Из РеквизитыДляПроверки Цикл
|
||||
|
||||
ИмяРеквизита = Реквизит.Значение;
|
||||
|
||||
ПараметрыРеквизитаДляПроверки = Новый Структура;
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("Имя", ИмяРеквизита);
|
||||
Если ИмяРеквизита = "Телефон"
|
||||
Или ИмяРеквизита = "ФактическийАдрес"
|
||||
Или ИмяРеквизита = "ЮридическийАдрес" Тогда
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("Значение", Форма[ИмяРеквизита + "XML"]);
|
||||
Иначе
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("Значение", Форма[ИмяРеквизита]);
|
||||
КонецЕсли;
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("ПолеСообщения",
|
||||
?(ЗначениеЗаполнено(ПолеСообщения), ПолеСообщения, ИмяРеквизита));
|
||||
|
||||
Если Реквизит.Пометка Тогда
|
||||
ТекстНезаполненного = "";
|
||||
Иначе
|
||||
ТекстНезаполненного = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ШаблонСообщения, Реквизит.Представление);
|
||||
КонецЕсли;
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("ТекстНезаполненного", ТекстНезаполненного);
|
||||
ПараметрыРеквизитаДляПроверки.Вставить("ТекстПроверкиЗначения",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, Реквизит.Представление));
|
||||
|
||||
ПроверяемыеРеквизиты.Добавить(ПараметрыРеквизитаДляПроверки);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПроверитьЗаполнениеРеквизитов(Реквизиты, ЭтоИП) Экспорт
|
||||
|
||||
Отказ = Ложь;
|
||||
ВидДокумента = "";
|
||||
@@ -199,10 +300,11 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если РасчетныйСчет <> Неопределено Тогда
|
||||
Если ЗначениеЗаполнено(РасчетныйСчет) И ЗначениеЗаполнено(РасчетныйСчет.Значение) Тогда
|
||||
|
||||
ТекстОшибки = ОшибкиПроверкиКонтрольногоЧислаРасчетногоСчета(РасчетныйСчет.Значение, БИК, КорреспондентскийСчет);
|
||||
Если Не ПустаяСтрока(ТекстОшибки) Тогда
|
||||
ТекстОшибки = РасчетныйСчет.ТекстПроверкиЗначения + " " + ТекстОшибки;
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , РасчетныйСчет.ПолеСообщения, , Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -212,11 +314,13 @@
|
||||
|
||||
ТекстОшибки = ОшибкиПроверкиКодаПодразделения(КодПодразделения.Значение);
|
||||
Если Не ПустаяСтрока(ТекстОшибки) Тогда
|
||||
ТекстОшибки = КодПодразделения.ТекстПроверкиЗначения + " " + ТекстОшибки;
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , КодПодразделения.ПолеСообщения, , Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибки = ОшибкиПроверкиНомераПаспорта(НомерДокумента.Значение);
|
||||
Если Не ПустаяСтрока(ТекстОшибки) Тогда
|
||||
ТекстОшибки = НомерДокумента.ТекстПроверкиЗначения + " " + ТекстОшибки;
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , НомерДокумента.ПолеСообщения, , Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -231,38 +335,43 @@
|
||||
ИмяРеквизита = Реквизит.Имя;
|
||||
ПолеСообщения = Реквизит.ПолеСообщения;
|
||||
ЗначениеРеквизита = Реквизит.Значение;
|
||||
ТекстНезаполненного = Реквизит.ТекстНезаполненного;
|
||||
ПродолжитьПриОшибке = Ложь;
|
||||
|
||||
Если Не ЗначениеЗаполнено(ЗначениеРеквизита) Тогда
|
||||
|
||||
Если СтрНайти(ТекстНезаполненного, "%1") > 0 Тогда
|
||||
ТекстНезаполненного = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ТекстНезаполненного, НСтр("ru = 'поле не заполнено.'"));
|
||||
Если ЗначениеЗаполнено(Реквизит.ТекстНезаполненного) Тогда
|
||||
ТекстОшибки = Реквизит.ТекстНезаполненного + " " + ТекстОшибкиПолеНеЗаполнено();
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , ПолеСообщения, , Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстНезаполненного, , ПолеСообщения, , Отказ);
|
||||
Возврат;
|
||||
|
||||
Иначе
|
||||
КонецЕсли;
|
||||
|
||||
ТекстСообщения = "";
|
||||
ПродолжитьПриОшибке = Ложь;
|
||||
|
||||
Если ИмяРеквизита = "ИНН"
|
||||
Или ИмяРеквизита = "ДокументыПартнерИНН" Тогда
|
||||
|
||||
РегламентированныеДанныеКлиентСервер.ИННСоответствуетТребованиям(ЗначениеРеквизита, Не ЭтоИП, ТекстСообщения);
|
||||
ИначеЕсли (ИмяРеквизита = "ДокументыПартнерКПП"
|
||||
Или ИмяРеквизита = "КПП")
|
||||
И Не ЭтоИП Тогда
|
||||
|
||||
ИначеЕсли ИмяРеквизита = "ДокументыПартнерКПП"
|
||||
Или ИмяРеквизита = "КПП" Тогда
|
||||
|
||||
РегламентированныеДанныеКлиентСервер.КППСоответствуетТребованиям(ЗначениеРеквизита, ТекстСообщения);
|
||||
|
||||
ИначеЕсли ИмяРеквизита = "ОГРН" Тогда
|
||||
РегламентированныеДанныеКлиентСервер.ОГРНСоответствуетТребованиям(ЗначениеРеквизита, Не ЭтоИП, ТекстСообщения);
|
||||
|
||||
ИначеЕсли ИмяРеквизита = "РасчетныйСчет" Тогда
|
||||
ТекстСообщения = ОшибкиПроверкиРасчетногоСчета(ЗначениеРеквизита);
|
||||
|
||||
ИначеЕсли ИмяРеквизита = "БИК" Тогда
|
||||
ТекстСообщения = ОшибкиПроверкиБИК(ЗначениеРеквизита);
|
||||
|
||||
ИначеЕсли ИмяРеквизита = "КорреспондентскийСчет" Тогда
|
||||
ТекстСообщения = ОшибкиПроверкиКорреспондентскогоСчета(ЗначениеРеквизита);
|
||||
|
||||
ИначеЕсли ИмяРеквизита = "ЮридическийАдрес"
|
||||
Или ИмяРеквизита = "ФактическийАдрес" Тогда
|
||||
|
||||
@@ -274,9 +383,11 @@
|
||||
|
||||
ИначеЕсли ИмяРеквизита = "Телефон" Тогда
|
||||
ТекстСообщения = ОшибкиПроверкиТелефона(ЗначениеРеквизита);
|
||||
|
||||
ИначеЕсли ИмяРеквизита = "СтраховойНомерПФР" Тогда
|
||||
РегламентированныеДанныеКлиентСервер.СтраховойНомерПФРСоответствуетТребованиям(
|
||||
ЗначениеРеквизита, ТекстСообщения);
|
||||
|
||||
ИначеЕсли ИмяРеквизита = "ЭлектроннаяПочта" Тогда
|
||||
|
||||
Попытка
|
||||
@@ -288,15 +399,23 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстСообщения) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, , ПолеСообщения, ,
|
||||
?(ПродолжитьПриОшибке, Неопределено, Отказ));
|
||||
Если Не ЗначениеЗаполнено(ТекстСообщения) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
ТекстыОшибок = СтрРазделить(ТекстСообщения, Символы.ПС + Символы.ВК, Ложь);
|
||||
Для Каждого ТекстОшибки Из ТекстыОшибок Цикл
|
||||
ТекстОшибки = Реквизит.ТекстПроверкиЗначения + " " + ТекстОшибки;
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , ПолеСообщения, ,
|
||||
?(ПродолжитьПриОшибке, Неопределено, Отказ));
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ТекстОшибкиПолеНеЗаполнено() Экспорт
|
||||
Возврат НСтр("ru = 'Поле не заполнено'");
|
||||
КонецФункции
|
||||
|
||||
Функция ОшибкиПроверкиРасчетногоСчета(РасчетныйСчет)
|
||||
|
||||
Значение = СокрЛП(РасчетныйСчет);
|
||||
|
||||
+2
-2
@@ -13,7 +13,7 @@
|
||||
13 Республика Мордовия
|
||||
14 Республика Саха (Якутия)
|
||||
15 Республика Северная Осетия – Алания
|
||||
16 Республика Татарстан
|
||||
16 Республика Татарстан (Татарстан)
|
||||
17 Республика Тыва
|
||||
18 Удмуртская Республика
|
||||
19 Республика Хакасия
|
||||
@@ -39,7 +39,7 @@
|
||||
39 Калининградская область
|
||||
40 Калужская область
|
||||
41 Камчатский край
|
||||
42 Кемеровская область
|
||||
42 Кемеровская область - Кузбасс
|
||||
43 Кировская область
|
||||
44 Костромская область
|
||||
45 Курганская область
|
||||
|
||||
BIN
Binary file not shown.
@@ -1475,8 +1475,10 @@
|
||||
|
||||
Если БросатьИсключение Тогда
|
||||
ИмяСобытия = НСтр("ru='Построение очереди обработчиков обновления'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||
СписокПроблемныхОбработчиков = "";
|
||||
Для Каждого Ошибка Из Ошибки Цикл
|
||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Ошибка.ОбъектМетаданных);
|
||||
СписокПроблемныхОбработчиков = СписокПроблемныхОбработчиков + Ошибка.Обработчик + Символы.ПС;
|
||||
ЗаписьЖурналаРегистрации(
|
||||
ИмяСобытия,
|
||||
УровеньЖурналаРегистрации.Ошибка,
|
||||
@@ -1487,7 +1489,9 @@
|
||||
ВызватьИсключение НСтр("ru = 'При построении очереди отложенных обработчиков обнаружены ошибки.
|
||||
|Необходимо их исправить с помощью встроенной обработки ""Описание обработчиков обновления"".
|
||||
|Для этого требуется запустить конфигурацию с параметром запуска ""ОтключитьЛогикуНачалаРаботыСистемы"".
|
||||
|Ошибки перечислены в журнале регистрации.'");
|
||||
|Ошибки перечислены в журнале регистрации.
|
||||
|
|
||||
|Список проблемных обработчиков обновления:'") + Символы.ПС + СписокПроблемныхОбработчиков;
|
||||
Иначе
|
||||
Для Каждого Ошибка Из Ошибки Цикл
|
||||
ОбщегоНазначения.СообщитьПользователю(Ошибка.Сообщение);
|
||||
|
||||
+1
-23
@@ -1112,7 +1112,7 @@
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Hyperlink</type>
|
||||
<commandName>Form.Command.ОткрытьСостоянияОригиналовПервичныхДокументов</commandName>
|
||||
<commandName>Catalog.СостоянияОригиналовПервичныхДокументов.StandardCommand.OpenList</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1260,28 +1260,6 @@
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</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>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
-11
@@ -83,17 +83,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОткрытьСостоянияОригиналовПервичныхДокументов(Команда)
|
||||
|
||||
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов") Тогда
|
||||
МодульУчетОригиналовПервичныхДокументовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УчетОригиналовПервичныхДокументовКлиент");
|
||||
МодульУчетОригиналовПервичныхДокументовКлиент.ОткрытьФормуНастройкиСостояний();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
|
||||
@@ -319,7 +319,11 @@
|
||||
Для Каждого ПолеТаблицы Из ПоляДляСравненияНаПодобие Цикл
|
||||
|
||||
ИмяПоля = ПолеТаблицы.Ключ;
|
||||
ИскомыеСтроки = СтрСоединить(КандидатыДублей.ВыгрузитьКолонку(ИмяПоля), "~");
|
||||
ЗначенияПоля = Новый Массив;
|
||||
Для каждого СтрокаТаблицы Из КандидатыДублей Цикл
|
||||
ЗначенияПоля.Добавить(СтрЗаменить(СтрокаТаблицы[ИмяПоля], "~", "\u126"));
|
||||
КонецЦикла;
|
||||
ИскомыеСтроки = СтрСоединить(ЗначенияПоля, "~");
|
||||
СтрокаДляПоиска = ЭталонныйЭлемент[ИмяПоля];
|
||||
ИндексыСтрок = НечеткийПоиск.StringSearch(НРег(СтрокаДляПоиска), НРег(ИскомыеСтроки), "~",
|
||||
СравнениеСтрокНаПодобие.ДлинаНебольшихСтрок, СравнениеСтрокНаПодобие.ПроцентСовпаденияНебольшихСтрок,
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
//
|
||||
Процедура ДобавитьПоставляемыеНастройкиПрограмм(Настройки) Экспорт
|
||||
|
||||
// ViPNet CSP (ГОСТ 2012)
|
||||
// ViPNet CSP (ГОСТ 2012/256).
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'ViPNet CSP (ГОСТ 2012)'");
|
||||
Настройка.Представление = НСтр("ru = 'ViPNet CSP (ГОСТ 2012/256)'");
|
||||
Настройка.ИмяПрограммы = "Infotecs GOST 2012/512 Cryptographic Service Provider";
|
||||
Настройка.ТипПрограммы = 77;
|
||||
// Варианты: GOST 34.10-2012 256, GOST R 34.10-2001, GOST 34.11-2012 512.
|
||||
@@ -35,9 +35,29 @@
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST 34.11-2012 512");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
|
||||
// КриптоПро CSP (ГОСТ 2012)
|
||||
// ViPNet CSP (ГОСТ 2012/512).
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро CSP (ГОСТ 2012)'");
|
||||
Настройка.Представление = НСтр("ru = 'ViPNet CSP (ГОСТ 2012/512)'");
|
||||
Настройка.ИмяПрограммы = "Infotecs GOST 2012/1024 Cryptographic Service Provider";
|
||||
Настройка.ТипПрограммы = 78;
|
||||
// Варианты: GOST 34.10-2012 512, GOST R 34.10-2001, GOST 34.11-2012 256.
|
||||
Настройка.АлгоритмПодписи = "GOST 34.10-2012 512";
|
||||
// Варианты: GOST 34.11-2012 512, GOST R 34.11-94, GOST 34.11-2012 256.
|
||||
Настройка.АлгоритмХеширования = "GOST 34.11-2012 512";
|
||||
Настройка.АлгоритмШифрования = "GOST 28147-89"; // Один вариант.
|
||||
Настройка.Идентификатор = "VipNet2012_512";
|
||||
|
||||
Настройка.АлгоритмыПодписи.Добавить("GOST 34.10-2012 512");
|
||||
Настройка.АлгоритмыПодписи.Добавить("GOST R 34.10-2001");
|
||||
Настройка.АлгоритмыПодписи.Добавить("GOST 34.10-2012 256");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST 34.11-2012 512");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST R 34.11-94");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST 34.11-2012 256");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
|
||||
// КриптоПро CSP (ГОСТ 2012/256).
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро CSP (ГОСТ 2012/256)'");
|
||||
Настройка.ИмяПрограммы = "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider";
|
||||
Настройка.ТипПрограммы = 80;
|
||||
Настройка.АлгоритмПодписи = "GR 34.10-2012 256";
|
||||
@@ -48,10 +68,110 @@
|
||||
Настройка.АлгоритмыПодписи.Добавить("GR 34.10-2012 256");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 256");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GOST R 34.10-2001");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 512");
|
||||
|
||||
// ЛИССИ CSP (ГОСТ 2012)
|
||||
// КриптоПро CSP (ГОСТ 2012/256) KC1.
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'ЛИССИ CSP (ГОСТ 2012)'");
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро CSP (ГОСТ 2012/256) KC1'");
|
||||
Настройка.ИмяПрограммы = "Crypto-Pro GOST R 34.10-2012 KC1 CSP";
|
||||
Настройка.ТипПрограммы = 80;
|
||||
Настройка.АлгоритмПодписи = "GR 34.10-2012 256";
|
||||
Настройка.АлгоритмХеширования = "GR 34.11-2012 256";
|
||||
Настройка.АлгоритмШифрования = "GOST 28147-89";
|
||||
Настройка.Идентификатор = "CryptoPro2012_KC1";
|
||||
|
||||
Настройка.АлгоритмыПодписи.Добавить("GR 34.10-2012 256");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 256");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GOST R 34.10-2001");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 512");
|
||||
Настройка.НетВWindows = Истина;
|
||||
|
||||
// КриптоПро CSP (ГОСТ 2012/256) KC2.
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро CSP (ГОСТ 2012/256) KC2'");
|
||||
Настройка.ИмяПрограммы = "Crypto-Pro GOST R 34.10-2012 KC2 CSP";
|
||||
Настройка.ТипПрограммы = 80;
|
||||
Настройка.АлгоритмПодписи = "GR 34.10-2012 256";
|
||||
Настройка.АлгоритмХеширования = "GR 34.11-2012 256";
|
||||
Настройка.АлгоритмШифрования = "GOST 28147-89";
|
||||
Настройка.Идентификатор = "CryptoPro2012_KC2";
|
||||
|
||||
Настройка.АлгоритмыПодписи.Добавить("GR 34.10-2012 256");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 256");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GOST R 34.10-2001");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 512");
|
||||
Настройка.НетВWindows = Истина;
|
||||
|
||||
// КриптоПро CSP (ГОСТ 2012/512).
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро CSP (ГОСТ 2012/512)'");
|
||||
Настройка.ИмяПрограммы = "Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider";
|
||||
Настройка.ТипПрограммы = 81;
|
||||
Настройка.АлгоритмПодписи = "GR 34.10-2012 512";
|
||||
Настройка.АлгоритмХеширования = "GR 34.11-2012 512";
|
||||
Настройка.АлгоритмШифрования = "GOST 28147-89";
|
||||
Настройка.Идентификатор = "CryptoPro2012_512";
|
||||
|
||||
Настройка.АлгоритмыПодписи.Добавить("GR 34.10-2012 512");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 512");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GOST R 34.10-2001");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 256");
|
||||
|
||||
|
||||
// КриптоПро CSP (ГОСТ 2012/512) KC1.
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро CSP (ГОСТ 2012/512) KC1'");
|
||||
Настройка.ИмяПрограммы = "Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP";
|
||||
Настройка.ТипПрограммы = 81;
|
||||
Настройка.АлгоритмПодписи = "GR 34.10-2012 512";
|
||||
Настройка.АлгоритмХеширования = "GR 34.11-2012 512";
|
||||
Настройка.АлгоритмШифрования = "GOST 28147-89";
|
||||
Настройка.Идентификатор = "CryptoPro2012_512_KC1";
|
||||
|
||||
Настройка.АлгоритмыПодписи.Добавить("GR 34.10-2012 512");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 512");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GOST R 34.10-2001");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 256");
|
||||
Настройка.НетВWindows = Истина;
|
||||
|
||||
// КриптоПро CSP (ГОСТ 2012/512) KC2.
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро CSP (ГОСТ 2012/512) KC2'");
|
||||
Настройка.ИмяПрограммы = "Crypto-Pro GOST R 34.10-2012 KC2 Strong CSP";
|
||||
Настройка.ТипПрограммы = 81;
|
||||
Настройка.АлгоритмПодписи = "GR 34.10-2012 512";
|
||||
Настройка.АлгоритмХеширования = "GR 34.11-2012 512";
|
||||
Настройка.АлгоритмШифрования = "GOST 28147-89";
|
||||
Настройка.Идентификатор = "CryptoPro2012_512_KC2";
|
||||
|
||||
Настройка.АлгоритмыПодписи.Добавить("GR 34.10-2012 512");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GR 34.11-2012 512");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GOST R 34.10-2001");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 256");
|
||||
Настройка.НетВWindows = Истина;
|
||||
|
||||
// КриптоПро eToken CSP.
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'eToken Base CSP'");
|
||||
Настройка.ИмяПрограммы = "eToken Base Cryptographic Provider";
|
||||
Настройка.ТипПрограммы = 1;
|
||||
Настройка.АлгоритмПодписи = "RSA_SIGN";
|
||||
Настройка.АлгоритмХеширования = "SHA-1";
|
||||
Настройка.АлгоритмШифрования = "DES";
|
||||
Настройка.Идентификатор = "eToken";
|
||||
|
||||
// Microsoft Enhanced CSP.
|
||||
Справочники.ПрограммыЭлектроннойПодписиИШифрования.ДобавитьНастройкиMicrosoftEnhancedCSP(Настройки);
|
||||
|
||||
// ЛИССИ CSP (ГОСТ 2012/256).
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'ЛИССИ CSP (ГОСТ 2012/256)'");
|
||||
Настройка.ИмяПрограммы = "LISSI GOST R 34.10-2012 (256) CSP";
|
||||
Настройка.ТипПрограммы = 80;
|
||||
Настройка.АлгоритмПодписи = "GOST R 34.10-12 256";
|
||||
@@ -63,9 +183,9 @@
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST R 34.11-12 256");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
|
||||
// Сигнал-КОМ CSP (RFC 4357, ГОСТ 2012)
|
||||
// Сигнал-КОМ CSP (RFC 4357, ГОСТ 2012/256).
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'Сигнал-КОМ CSP (ГОСТ 2012)'");
|
||||
Настройка.Представление = НСтр("ru = 'Сигнал-КОМ CSP (ГОСТ 2012/256)'");
|
||||
Настройка.ИмяПрограммы = "Signal-COM GOST R 34.10-2012 (256) Cryptographic Provider";
|
||||
Настройка.ТипПрограммы = 80;
|
||||
Настройка.АлгоритмПодписи = "GOST3410-12-256";
|
||||
@@ -77,10 +197,7 @@
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST3411-12-256");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST28147");
|
||||
|
||||
// Microsoft Enhanced CSP
|
||||
Справочники.ПрограммыЭлектроннойПодписиИШифрования.ДобавитьНастройкиMicrosoftEnhancedCSP(Настройки);
|
||||
|
||||
// ViPNet CSP (ГОСТ 2001)
|
||||
// ViPNet CSP (ГОСТ 2001).
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'ViPNet CSP (ГОСТ 2001)'");
|
||||
Настройка.ИмяПрограммы = "Infotecs Cryptographic Service Provider";
|
||||
@@ -100,7 +217,8 @@
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST 34.11-2012 512");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
|
||||
// КриптоПро CSP (ГОСТ 2001)
|
||||
|
||||
// КриптоПро CSP (ГОСТ 2001).
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро CSP (ГОСТ 2001)'");
|
||||
Настройка.ИмяПрограммы = "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider";
|
||||
@@ -113,8 +231,44 @@
|
||||
Настройка.АлгоритмыПодписи.Добавить("GOST R 34.10-2001");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST R 34.11-94");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 256");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 512");
|
||||
|
||||
// ЛИССИ CSP (ГОСТ 2001)
|
||||
// КриптоПро CSP (ГОСТ 2001) KC1.
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро CSP (ГОСТ 2001) KC1'");
|
||||
Настройка.ИмяПрограммы = "Crypto-Pro GOST R 34.10-2001 KC1 CSP";
|
||||
Настройка.ТипПрограммы = 75;
|
||||
Настройка.АлгоритмПодписи = "GOST R 34.10-2001";
|
||||
Настройка.АлгоритмХеширования = "GOST R 34.11-94";
|
||||
Настройка.АлгоритмШифрования = "GOST 28147-89";
|
||||
Настройка.Идентификатор = "CryptoPro2001";
|
||||
|
||||
Настройка.АлгоритмыПодписи.Добавить("GOST R 34.10-2001");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST R 34.11-94");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 256");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 512");
|
||||
Настройка.НетВWindows = Истина;
|
||||
|
||||
// КриптоПро CSP (ГОСТ 2001) KC2.
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро CSP (ГОСТ 2001) KC2'");
|
||||
Настройка.ИмяПрограммы = "Crypto-Pro GOST R 34.10-2001 KC2 CSP";
|
||||
Настройка.ТипПрограммы = 75;
|
||||
Настройка.АлгоритмПодписи = "GOST R 34.10-2001";
|
||||
Настройка.АлгоритмХеширования = "GOST R 34.11-94";
|
||||
Настройка.АлгоритмШифрования = "GOST 28147-89";
|
||||
Настройка.Идентификатор = "CryptoPro2001";
|
||||
|
||||
Настройка.АлгоритмыПодписи.Добавить("GOST R 34.10-2001");
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST R 34.11-94");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 256");
|
||||
Настройка.АлгоритмыПроверкиПодписи.Добавить("GR 34.10-2012 512");
|
||||
Настройка.НетВWindows = Истина;
|
||||
|
||||
// ЛИССИ CSP (ГОСТ 2001).
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'ЛИССИ CSP (ГОСТ 2001)'");
|
||||
Настройка.ИмяПрограммы = "LISSI-CSP";
|
||||
@@ -128,7 +282,7 @@
|
||||
Настройка.АлгоритмыХеширования.Добавить("GOST R 34.11-94");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST 28147-89");
|
||||
|
||||
// Сигнал-КОМ CSP (RFC 4357, ГОСТ 2001)
|
||||
// Сигнал-КОМ CSP (RFC 4357, ГОСТ 2001).
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'Сигнал-КОМ CSP (RFC 4357, ГОСТ 2001)'");
|
||||
Настройка.ИмяПрограммы = "Signal-COM CPGOST Cryptographic Provider";
|
||||
@@ -156,25 +310,67 @@
|
||||
Настройка.АлгоритмыХеширования.Добавить("RUS-HASH");
|
||||
Настройка.АлгоритмыШифрования.Добавить("GOST28147");
|
||||
|
||||
Настройка = Настройки.Добавить();
|
||||
Настройка.Представление = НСтр("ru = 'КриптоПро eToken CSP'");
|
||||
Настройка.ИмяПрограммы = "eToken Base Cryptographic Provider";
|
||||
Настройка.ТипПрограммы = 1;
|
||||
Настройка.АлгоритмПодписи = "RSA_SIGN";
|
||||
Настройка.АлгоритмХеширования = "SHA-1";
|
||||
Настройка.АлгоритмШифрования = "DES";
|
||||
Настройка.Идентификатор = "eToken";
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьПоставляемыеПутиКМодулямПрограмм(ПутиКМодулям) Экспорт
|
||||
|
||||
ПутиКриптоПро = Новый Соответствие;
|
||||
|
||||
ПутиКриптоПро.Вставить("Linux_x86", ПутиКМодулямПрограммыКриптоПроНаLinux32());
|
||||
ПутиКриптоПро.Вставить("Linux_x86_64", ПутиКМодулямПрограммыКриптоПроНаLinux64());
|
||||
ПутиКриптоПро.Вставить("MacOS_x86", ПутиКМодулямПрограммыКриптоПроНаMacOS());
|
||||
ПутиКриптоПро.Вставить("MacOS_x86_64", ПутиКМодулямПрограммыКриптоПроНаMacOS());
|
||||
|
||||
ПутиКМодулям.Вставить("CryptoPro", Новый ФиксированноеСоответствие(ПутиКриптоПро));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПутиКМодулямПрограммыКриптоПроНаLinux64()
|
||||
|
||||
МодулиПрограммы = Новый Массив;
|
||||
МодулиПрограммы.Добавить("/opt/cprocsp/lib/amd64/libcapilite.so");
|
||||
МодулиПрограммы.Добавить("/opt/cprocsp/lib/amd64/libcapi10.so");
|
||||
МодулиПрограммы.Добавить("/opt/cprocsp/lib/amd64/libcapi20.so");
|
||||
|
||||
ПутиКМодулям = Новый Массив;
|
||||
ПутиКМодулям.Добавить(СтрСоединить(МодулиПрограммы, ":"));
|
||||
Возврат Новый ФиксированныйМассив(ПутиКМодулям);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПутиКМодулямПрограммыКриптоПроНаLinux32()
|
||||
|
||||
МодулиПрограммы = Новый Массив;
|
||||
МодулиПрограммы.Добавить("/opt/cprocsp/lib/ia32/libcapilite.so");
|
||||
МодулиПрограммы.Добавить("/opt/cprocsp/lib/ia32/libcapi10.so");
|
||||
МодулиПрограммы.Добавить("/opt/cprocsp/lib/ia32/libcapi20.so");
|
||||
|
||||
ПутиКМодулям = Новый Массив;
|
||||
ПутиКМодулям.Добавить(СтрСоединить(МодулиПрограммы, ":"));
|
||||
Возврат Новый ФиксированныйМассив(ПутиКМодулям);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПутиКМодулямПрограммыКриптоПроНаMacOS()
|
||||
|
||||
МодулиПрограммы = Новый Массив;
|
||||
МодулиПрограммы.Добавить("/opt/cprocsp/lib/libcapi10.dylib");
|
||||
МодулиПрограммы.Добавить("/opt/cprocsp/lib/libcapi20.dylib");
|
||||
МодулиПрограммы.Добавить("/opt/cprocsp/lib/libcapi10.4.dylib");
|
||||
МодулиПрограммы.Добавить("/opt/cprocsp/lib/libcapi20.4.dylib");
|
||||
|
||||
ПутиКМодулям = Новый Массив;
|
||||
ПутиКМодулям.Добавить(СтрСоединить(МодулиПрограммы, ":"));
|
||||
Возврат Новый ФиксированныйМассив(ПутиКМодулям);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ОбновлениеИнформационнойБазы
|
||||
|
||||
Процедура ДобавитьПрограммыНачальногоЗаполнения(Программы) Экспорт
|
||||
|
||||
Программы.Вставить("Infotecs GOST 2012/512 Cryptographic Service Provider", 77);
|
||||
Программы.Вставить("Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider", 80);
|
||||
Программы.Вставить("Infotecs Cryptographic Service Provider", 2);
|
||||
Программы.Вставить("Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider", 75);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -1846,6 +1846,7 @@
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<readOnly>true</readOnly>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
|
||||
@@ -180,6 +180,7 @@
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Файлы", ИмяСправочникаХранилищаФайлов);
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекущаяВерсия", ИмяСправочникаХранилищаФайлов + ".Ссылка");
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВладелецФайла", "Родитель");
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПапкиФайлов", ИмяСправочникаХранилищаФайлов);
|
||||
|
||||
Иначе
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
<p>Ряд действий в программе может выполняться автоматически в фоновом режиме, по определенному расписанию. Такие действия называются регламентными заданиями, например, это ежедневная загрузка курсов валют, регулярная рассылка отчетов, отложенное проведение документов и т.п. Регламентные задания облегчают работу в программе, позволяя перенести выполнение рутинных задач в саму программу, и в то же время они снижают человеческий фактор (например, можно забыть загрузить курсы валют в один из перегруженных другими задачами дней).</p>
|
||||
<p>Открывается по команде <strong>Регламентные и фоновые задания</strong> в разделе <strong>Администрирование - Обслуживание - Регламентные операции</strong>.</p>
|
||||
<p>Список предоставляет следующие возможности: </p>
|
||||
<ul><li><a href="#Работа_с_РЗ">Регламентные задания</a>;
|
||||
</li><li><a href="#Работа_с_ФЗ">Фоновые задания</a>;
|
||||
</li><li><a href="#КонтрольРЗ">Контроль выполнения регламентных заданий</a>.</li></ul><h2><a name="#Работа_с_РЗ">Регламентные задания</a></h2>
|
||||
<ul><li><a href="#&#1056;&#1072;&#1073;&#1086;&#1090;&#1072;_&#1089;_&#1056;&#1047;">Регламентные задания</a>;
|
||||
</li><li><a href="#&#1056;&#1072;&#1073;&#1086;&#1090;&#1072;_&#1089;_&#1060;&#1047;">Фоновые задания</a>;
|
||||
</li><li><a href="#&#1050;&#1086;&#1085;&#1090;&#1088;&#1086;&#1083;&#1100;&#1056;&#1047;">Контроль выполнения регламентных заданий</a>.</li></ul><h2><a name="#Работа_с_РЗ">Регламентные задания</a></h2>
|
||||
<p>В списке можно включить (или отключить) то или иное <a href="DataProcessor.РегламентныеИФоновыеЗадания.Form.РегламентноеЗадание/Help">регламентное задание</a> и поменять расписание.</p>
|
||||
<p>В списке выводится:</p>
|
||||
<ul><li><img src="StdPicture.ScheduledJob"></img> - флажок в колонке означает, что регламентное задание <strong>Включено</strong> и выполняется в соответствии с заданным расписанием;
|
||||
@@ -65,7 +65,7 @@
|
||||
<h3>Просмотр информации о фоновом задании</h3>
|
||||
<ul><li>Для того чтобы просмотреть свойства фонового задания, дважды щелкните мышью по нужной строке. Также можно нажать <strong>Открыть</strong>.</li></ul><h3><a name="#КонтрольРЗ">Контроль выполнения регламентных заданий</a></h3>
|
||||
<ul><li>Контроль может быть либо простым, либо детальным.
|
||||
</li><li>Простой контроль - это анализ колонок <strong>Состояние</strong> и <strong>Дата окончания</strong> на вкладке <a href="#Работа_с_РЗ" name="#Работа_с_РЗ">Регламентные задания</a>, а также анализ текста поля <strong>Сообщения пользователю и описание информации об ошибке</strong> в окне редактирования регламентного задания.
|
||||
</li><li>Простой контроль - это анализ колонок <strong>Состояние</strong> и <strong>Дата окончания</strong> на вкладке <a href="#&#1056;&#1072;&#1073;&#1086;&#1090;&#1072;_&#1089;_&#1056;&#1047;" name="#Работа_с_РЗ">Регламентные задания</a>, а также анализ текста поля <strong>Сообщения пользователю и описание информации об ошибке</strong> в окне редактирования регламентного задания.
|
||||
</li><li>Детальный контроль - это анализ списка фоновых заданий (на вкладке <strong>Фоновые задания</strong>), которые были созданы и выполнены для выполнения регламентного задания.
|
||||
</li><li>Детальный контроль производится отбором фоновых заданий по интересующему регламентному заданию, и анализом реквизитов фоновых заданий. Следует учитывать, что сведения о выполнении регламентного задания получаются выборкой части сведений о выполнении последнего фонового задания.
|
||||
</li><li>Отбор фоновых заданий производится только по команде <strong>Обновить</strong>, поэтому после изменения настройки отбора нужно выполнить эту команду.
|
||||
|
||||
@@ -497,6 +497,19 @@
|
||||
ИначеЕсли СтрокаТаблицыВложений.Расположение = 3 Тогда
|
||||
// из файла на сервере
|
||||
|
||||
ИначеЕсли СтрокаТаблицыВложений.Расположение = 2 Тогда
|
||||
// из файла на компьютере
|
||||
|
||||
ДвоичныеДанные = Новый ДвоичныеДанные(СтрокаТаблицыВложений.ИмяФайлаНаКомпьютере);
|
||||
АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
|
||||
|
||||
ПараметрыВложения = Новый Структура;
|
||||
ПараметрыВложения.Вставить("ИмяФайла", ИмяФайла);
|
||||
ПараметрыВложения.Вставить("Размер", Размер);
|
||||
|
||||
УправлениеЭлектроннойПочтой.ЗаписатьВложениеЭлектронногоПисьмаИзВременногоХранилища(
|
||||
Письмо, АдресВременногоХранилищаФайла, ПараметрыВложения);
|
||||
|
||||
ИначеЕсли СтрокаТаблицыВложений.Расположение = 1 Тогда
|
||||
|
||||
УправлениеЭлектроннойПочтой.ЗаписатьВложениеЭлектронногоПисьмаСкопировавВложениеДругогоПисьма(
|
||||
@@ -1826,10 +1839,12 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьТекстПисьма();
|
||||
УстановитьТекстПисьмаПоПереданнымПараметрам(ПереданныеПараметры);
|
||||
|
||||
Если ПереданныеПараметры.Свойство("Вложения") И ПереданныеПараметры.Вложения <> Неопределено Тогда
|
||||
|
||||
Вложения.Очистить();
|
||||
|
||||
Если ТипЗнч(ПереданныеПараметры.Вложения) = Тип("СписокЗначений") Или ТипЗнч(ПереданныеПараметры.Вложения) = Тип("Массив") Тогда
|
||||
Для Каждого Вложение Из ПереданныеПараметры.Вложения Цикл
|
||||
ОписаниеВложения = Вложения.Добавить();
|
||||
@@ -1871,6 +1886,7 @@
|
||||
|
||||
// Если передан параметр "Получатель", то эта табличная часть очищается перед заполнением согласно данным параметра.
|
||||
Объект.ПолучателиПисьма.Очистить();
|
||||
СписокПолучателей.Очистить();
|
||||
|
||||
Если ТипЗнч(ПереданныеПараметры.Получатель) = Тип("Строка") И НЕ ПустаяСтрока(ПереданныеПараметры.Получатель) Тогда
|
||||
Объект.СписокПолучателейПисьма = ПереданныеПараметры.Получатель;
|
||||
@@ -1918,7 +1934,7 @@
|
||||
|
||||
ОчиститьДублиАдресатов(Объект.ПолучателиПисьма);
|
||||
|
||||
Если ПереданныеПараметры.Свойство("Отправитель") И НЕ ПереданныеПараметры.Отправитель.Пустая() Тогда
|
||||
Если ПереданныеПараметры.Свойство("Отправитель") И ЗначениеЗаполнено(ПереданныеПараметры.Отправитель) Тогда
|
||||
|
||||
Объект.УчетнаяЗапись = ПереданныеПараметры.Отправитель;
|
||||
РеквизитыОтправителя = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
|
||||
@@ -1941,13 +1957,13 @@
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьТекстПисьма()
|
||||
Процедура УстановитьТекстПисьмаПоПереданнымПараметрам(ПереданныеПараметры)
|
||||
|
||||
Если НЕ Параметры.Свойство("Текст") Тогда
|
||||
Если НЕ ПереданныеПараметры.Свойство("Текст") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Текст = Параметры.Текст;
|
||||
Текст = ПереданныеПараметры.Текст;
|
||||
|
||||
Если ТипЗнч(Текст) = Тип("Структура") Тогда
|
||||
|
||||
@@ -1959,13 +1975,13 @@
|
||||
|
||||
Если СтрЗаканчиваетсяНа(НРег(СокрП(Текст)), НРег("</html>")) Тогда
|
||||
Картинки = Новый Структура;
|
||||
Если ТипЗнч(Параметры.Вложения) = Тип("Массив") Тогда
|
||||
Для Индекс = -Параметры.Вложения.ВГраница() По 0 Цикл
|
||||
Вложение = Параметры.Вложения[-Индекс];
|
||||
Если ТипЗнч(ПереданныеПараметры.Вложения) = Тип("Массив") Тогда
|
||||
Для Индекс = -ПереданныеПараметры.Вложения.ВГраница() По 0 Цикл
|
||||
Вложение = ПереданныеПараметры.Вложения[-Индекс];
|
||||
Если Вложение.Свойство("Идентификатор") И ЗначениеЗаполнено(Вложение.Идентификатор) Тогда
|
||||
КартинкаВложение = Новый Картинка(ПолучитьИзВременногоХранилища(Вложение.АдресВоВременномХранилище));
|
||||
Картинки.Вставить(Вложение.Представление, КартинкаВложение);
|
||||
Параметры.Вложения.Удалить(-Индекс);
|
||||
ПереданныеПараметры.Вложения.Удалить(-Индекс);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
@@ -2900,32 +2916,28 @@
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьПоШаблонуПослеВыбораШаблона(Результат, ДополнительныеПараметры) Экспорт
|
||||
Если Результат <> Неопределено И ТипЗнч(Результат) = Тип("Структура") И Результат.Свойство("Шаблон") Тогда
|
||||
ЗаполнитьШаблонПослеВыбора(Результат.Шаблон);
|
||||
ЗаполнитьШаблонПослеВыбора(Результат);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьШаблонПослеВыбора(ШаблонСсылка)
|
||||
Процедура ЗаполнитьШаблонПослеВыбора(ПараметрыПисьма)
|
||||
|
||||
ОбъектПисьмо = РеквизитФормыВЗначение("Объект");
|
||||
ОбъектПисьмо.Заполнить(ШаблонСсылка);
|
||||
ЗначениеВРеквизитФормы(ОбъектПисьмо, "Объект");
|
||||
ПриСозданииИПриЧтенииНаСервере();
|
||||
ОбработатьПереданныеПараметры(ПараметрыПисьма);
|
||||
СформироватьСпискиПолучателейПисьма();
|
||||
ОпределитьВидимостьДоступностьЭлементовВЗависимостиОтСтатусаПисьма();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОпределитьВозможностьЗаполненияПисьмаПоШаблону()
|
||||
|
||||
ИспользуютсяШаблоныСообщений = Ложь;
|
||||
Если Объект.СтатусПисьма = Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Черновик
|
||||
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ШаблоныСообщений") Тогда
|
||||
Если Объект.СтатусПисьма = Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Черновик Тогда
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ШаблоныСообщений") Тогда
|
||||
МодульШаблоныСообщенийСлужебный = ОбщегоНазначения.ОбщийМодуль("ШаблоныСообщенийСлужебный");
|
||||
Если МодульШаблоныСообщенийСлужебный.ИспользуютсяШаблоныСообщений() Тогда
|
||||
ИспользуютсяШаблоныСообщений = МодульШаблоныСообщенийСлужебный.ЕстьДоступныеШаблоны("Письмо", Предмет);
|
||||
Элементы.ФормаСформироватьПоШаблону.Видимость = МодульШаблоныСообщенийСлужебный.ИспользуютсяШаблоныСообщений();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Элементы.ФормаСформироватьПоШаблону.Видимость = ИспользуютсяШаблоныСообщений;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -167,6 +167,9 @@
|
||||
<content>
|
||||
<mdObject>ChartOfCharacteristicTypes.РазделыДатЗапретаИзменения</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.НеудаленныеОбъекты</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>Constant.ПериодХраненияЗамеров</mdObject>
|
||||
</content>
|
||||
@@ -251,6 +254,9 @@
|
||||
<content>
|
||||
<mdObject>InformationRegister.УровниСокращенийАдресныхСведений</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.СостоянияОригиналовПервичныхДокументов</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.СоответствияОбъектовИнформационныхБаз</mdObject>
|
||||
</content>
|
||||
@@ -335,6 +341,9 @@
|
||||
<content>
|
||||
<mdObject>InformationRegister.ПутиКПрограммамЭлектроннойПодписиИШифрованияНаСерверахLinux</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.СостоянияПроверокВеденияУчета</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>Document.НазначениеОпросов</mdObject>
|
||||
</content>
|
||||
@@ -356,6 +365,9 @@
|
||||
<content>
|
||||
<mdObject>InformationRegister.ДанныеОбработанныеВЦентральномУзлеРИБ</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.ОбработчикиОбновления</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.ИсполнителиЗадач</mdObject>
|
||||
</content>
|
||||
@@ -608,6 +620,9 @@
|
||||
<content>
|
||||
<mdObject>InformationRegister.СоставыГруппПользователей</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.ПотокиОбновления</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.ПользовательскиеМакетыПечати</mdObject>
|
||||
</content>
|
||||
@@ -620,6 +635,9 @@
|
||||
<content>
|
||||
<mdObject>Catalog.ЗакладкиВзаимодействий</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>Catalog.СостоянияОригиналовПервичныхДокументов</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.ИзмененияОбщихДанныхУзлов</mdObject>
|
||||
</content>
|
||||
@@ -839,6 +857,9 @@
|
||||
<content>
|
||||
<mdObject>Constant.СписокЗапрещенныхРасширений</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.СвязиАдресныхОбъектов</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.СообщенияОбменаДаннымиОбластейДанных</mdObject>
|
||||
</content>
|
||||
@@ -917,6 +938,9 @@
|
||||
<content>
|
||||
<mdObject>Catalog.ГруппыДоступа</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.ОбщиеПоставляемыеМакетыПечати</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>Constant.КоличествоПотоковОбновленияИнформационнойБазы</mdObject>
|
||||
</content>
|
||||
@@ -929,6 +953,9 @@
|
||||
<content>
|
||||
<mdObject>InformationRegister.ДатыЗапретаИзменения</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.УдаляемыеОбъекты</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>Catalog.ВстречаПрисоединенныеФайлы</mdObject>
|
||||
</content>
|
||||
@@ -1028,6 +1055,9 @@
|
||||
<content>
|
||||
<mdObject>InformationRegister.ДвоичныеДанныеФайлов</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.ОбработчикиОбновленияОбщихДанных</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>Constant.ПовторитьЗагрузкуСообщенияОбменаДаннымиПередЗапуском</mdObject>
|
||||
</content>
|
||||
@@ -1058,6 +1088,9 @@
|
||||
<content>
|
||||
<mdObject>Constant.ИдентификаторИнформационнойБазы</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>InformationRegister.ПоставляемыеМакетыПечати</mdObject>
|
||||
</content>
|
||||
<content>
|
||||
<mdObject>Constant.ИзменятьЗаданияЗаднимЧислом</mdObject>
|
||||
</content>
|
||||
|
||||
+13
-4
@@ -229,6 +229,19 @@
|
||||
Процедура ЗаписатьНаборИсключивСтандартнуюРегистрациюИзменений(НаборДанных, УзлыРИБ)
|
||||
|
||||
// Записываем набор, заменяя стандартную логику регистрации собственной.
|
||||
Для Каждого Элемент Из НаборДанных Цикл
|
||||
ЗаписываемыйНабор = СоздатьНаборЗаписей();
|
||||
Для Каждого ЭлементОтбора Из НаборДанных.Отбор Цикл
|
||||
ЗаписываемыйНабор.Отбор[ЭлементОтбора.Имя].Установить(ЭлементОтбора.Значение);
|
||||
КонецЦикла;
|
||||
ЗаписываемыйНабор.Отбор.УзелПланаОбмена.Установить(Элемент.УзелПланаОбмена);
|
||||
|
||||
ЗаполнитьЗначенияСвойств(ЗаписываемыйНабор.Добавить(), Элемент);
|
||||
|
||||
ЗаписываемыйНабор.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
|
||||
ЗаписываемыйНабор.Записать();
|
||||
КонецЦикла;
|
||||
|
||||
РегистрируемыйНабор = СоздатьНаборЗаписей();
|
||||
Для Каждого ЭлементОтбора Из НаборДанных.Отбор Цикл
|
||||
РегистрируемыйНабор.Отбор[ЭлементОтбора.Имя].Установить(ЭлементОтбора.Значение);
|
||||
@@ -241,10 +254,6 @@
|
||||
ПланыОбмена.ЗарегистрироватьИзменения(УзелРИБ, РегистрируемыйНабор);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
НаборДанных.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
|
||||
НаборДанных.Записать();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
+2
-2
@@ -531,7 +531,7 @@
|
||||
<groupHorizontalAlign>Right</groupHorizontalAlign>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBar</locationInCommandBar>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ПоказатьВсе</name>
|
||||
@@ -561,7 +561,7 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<groupHorizontalAlign>Right</groupHorizontalAlign>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<locationInCommandBar>InCommandBar</locationInCommandBar>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
|
||||
-4
@@ -140,10 +140,6 @@
|
||||
<key>ru</key>
|
||||
<value>Ссылка</value>
|
||||
</synonym>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Reference</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>DefinedType.ОбъектСУчетомОригиналовПервичныхДокументов</types>
|
||||
</type>
|
||||
|
||||
@@ -683,6 +683,93 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.СпособХраненияФайлов</name>
|
||||
<right>
|
||||
@@ -5264,91 +5351,4 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>DataAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExclusiveMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ActiveUsers</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>EventLog</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThinClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>WebClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>SaveUserData</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
</Rights>
|
||||
@@ -14,6 +14,37 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
|
||||
<right>
|
||||
@@ -76,37 +107,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>MainWindowModeNormal</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeFullscreenWorkplace</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>MainWindowModeKiosk</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>AnalyticsSystemClient</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<restrictionTemplate>
|
||||
<name>ДляОбъекта(ПолеОбъекта)</name>
|
||||
<condition>// ДляОбъекта(ПолеОбъекта = "")
|
||||
|
||||
@@ -1057,6 +1057,45 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.СпособХраненияФайлов</name>
|
||||
<right>
|
||||
@@ -7071,43 +7110,4 @@
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
<name>Administration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>UpdateDataBaseConfiguration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ThickClient</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ExternalConnection</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Automation</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>TechnicalSpecialistMode</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>ConfigurationExtensionsAdministration</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtDataProcessors</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>InteractiveOpenExtReports</name>
|
||||
<value>false</value>
|
||||
</right>
|
||||
</object>
|
||||
</Rights>
|
||||
@@ -3,24 +3,6 @@
|
||||
<setForNewObjects>false</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>Use</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
@@ -52,4 +34,22 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>Use</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
</Rights>
|
||||
@@ -105,4 +105,5 @@
|
||||
<content>Catalog.ВнешниеКомпоненты</content>
|
||||
<content>Catalog.ШаблоныСообщений</content>
|
||||
<content>Report.АнализПравДоступа</content>
|
||||
<content>Catalog.СостоянияОригиналовПервичныхДокументов</content>
|
||||
</mdclass:Subsystem>
|
||||
@@ -86,8 +86,10 @@
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Истина, СтрокаСценария.ЗначениеРазделителяПервойИнформационнойБазы);
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ФоновыеЗадания.Выполнить("ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВПервойИнформационнойБазе",
|
||||
Параметры, Ключ);
|
||||
РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
|
||||
"ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВПервойИнформационнойБазе",
|
||||
Параметры,
|
||||
Ключ);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Ложь);
|
||||
@@ -152,8 +154,10 @@
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Истина, СтрокаСценария.ЗначениеРазделителяВторойИнформационнойБазы);
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ФоновыеЗадания.Выполнить("ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВоВторойИнформационнойБазе",
|
||||
Параметры, Ключ);
|
||||
РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
|
||||
"ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВоВторойИнформационнойБазе",
|
||||
Параметры,
|
||||
Ключ);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Ложь);
|
||||
|
||||
@@ -108,8 +108,10 @@
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Истина, СтрокаСценария.ЗначениеРазделителяПервойИнформационнойБазы);
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ФоновыеЗадания.Выполнить("ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВПервойИнформационнойБазе",
|
||||
Параметры, Ключ);
|
||||
РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
|
||||
"ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВПервойИнформационнойБазе",
|
||||
Параметры,
|
||||
Ключ);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Ложь);
|
||||
@@ -174,8 +176,10 @@
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Истина, СтрокаСценария.ЗначениеРазделителяВторойИнформационнойБазы);
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ФоновыеЗадания.Выполнить("ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВоВторойИнформационнойБазе",
|
||||
Параметры, Ключ);
|
||||
РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
|
||||
"ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВоВторойИнформационнойБазе",
|
||||
Параметры,
|
||||
Ключ);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Ложь);
|
||||
|
||||
@@ -138,8 +138,10 @@
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Истина, СтрокаСценария.ЗначениеРазделителяПервойИнформационнойБазы);
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ФоновыеЗадания.Выполнить("ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВПервойИнформационнойБазе",
|
||||
Параметры, Ключ);
|
||||
РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
|
||||
"ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВПервойИнформационнойБазе",
|
||||
Параметры,
|
||||
Ключ);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Ложь);
|
||||
@@ -204,8 +206,10 @@
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Истина, СтрокаСценария.ЗначениеРазделителяВторойИнформационнойБазы);
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
ФоновыеЗадания.Выполнить("ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВоВторойИнформационнойБазе",
|
||||
Параметры, Ключ);
|
||||
РасширенияКонфигурации.ВыполнитьФоновоеЗаданиеСРасширениямиБазыДанных(
|
||||
"ОбменДаннымиВМоделиСервиса.ВыполнитьДействиеСценарияОбменаДаннымиВоВторойИнформационнойБазе",
|
||||
Параметры,
|
||||
Ключ);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Ложь);
|
||||
|
||||
Reference in new issue
Block a user