diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Module.bsl b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Module.bsl
index 4c956f9d1..6dbc8ad65 100644
--- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Module.bsl
+++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Module.bsl
@@ -37,7 +37,7 @@
Иначе
Элементы.ГруппаРассылкиОтчетов.Видимость = Ложь;
КонецЕсли;
-
+
// Обновление состояния элементов.
УстановитьДоступность();
@@ -83,17 +83,6 @@
КонецПроцедуры
-&НаКлиенте
-Процедура ОткрытьСостоянияОригиналовПервичныхДокументов(Команда)
-
- Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов") Тогда
- МодульУчетОригиналовПервичныхДокументовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УчетОригиналовПервичныхДокументовКлиент");
- МодульУчетОригиналовПервичныхДокументовКлиент.ОткрытьФормуНастройкиСостояний();
- КонецЕсли;
-
-КонецПроцедуры
-
-
#КонецОбласти
diff --git a/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl b/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl
index 79854fd13..6f110724d 100644
--- a/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl
+++ b/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl
@@ -318,8 +318,12 @@
Для Каждого ПолеТаблицы Из ПоляДляСравненияНаПодобие Цикл
- ИмяПоля = ПолеТаблицы.Ключ;
- ИскомыеСтроки = СтрСоединить(КандидатыДублей.ВыгрузитьКолонку(ИмяПоля), "~");
+ ИмяПоля = ПолеТаблицы.Ключ;
+ ЗначенияПоля = Новый Массив;
+ Для каждого СтрокаТаблицы Из КандидатыДублей Цикл
+ ЗначенияПоля.Добавить(СтрЗаменить(СтрокаТаблицы[ИмяПоля], "~", "\u126"));
+ КонецЦикла;
+ ИскомыеСтроки = СтрСоединить(ЗначенияПоля, "~");
СтрокаДляПоиска = ЭталонныйЭлемент[ИмяПоля];
ИндексыСтрок = НечеткийПоиск.StringSearch(НРег(СтрокаДляПоиска), НРег(ИскомыеСтроки), "~",
СравнениеСтрокНаПодобие.ДлинаНебольшихСтрок, СравнениеСтрокНаПодобие.ПроцентСовпаденияНебольшихСтрок,
diff --git a/SSL/src/DataProcessors/ПрограммыЭлектроннойПодписиИШифрования/ManagerModule.bsl b/SSL/src/DataProcessors/ПрограммыЭлектроннойПодписиИШифрования/ManagerModule.bsl
index afc2bdaaa..16c914d32 100644
--- a/SSL/src/DataProcessors/ПрограммыЭлектроннойПодписиИШифрования/ManagerModule.bsl
+++ b/SSL/src/DataProcessors/ПрограммыЭлектроннойПодписиИШифрования/ManagerModule.bsl
@@ -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);
КонецПроцедуры
diff --git a/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныйФайл/Form.form b/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныйФайл/Form.form
index 71514241e..3c84b1190 100644
--- a/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныйФайл/Form.form
+++ b/SSL/src/DataProcessors/РаботаСФайлами/Forms/ПрисоединенныйФайл/Form.form
@@ -1846,6 +1846,7 @@
true
InputField
+ true
Enter
true
Left
diff --git a/SSL/src/DataProcessors/РаботаСФайлами/Forms/ФормаЭкспортаПапки/Module.bsl b/SSL/src/DataProcessors/РаботаСФайлами/Forms/ФормаЭкспортаПапки/Module.bsl
index 4a93766cf..97bef6432 100644
--- a/SSL/src/DataProcessors/РаботаСФайлами/Forms/ФормаЭкспортаПапки/Module.bsl
+++ b/SSL/src/DataProcessors/РаботаСФайлами/Forms/ФормаЭкспортаПапки/Module.bsl
@@ -180,6 +180,7 @@
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Файлы", ИмяСправочникаХранилищаФайлов);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекущаяВерсия", ИмяСправочникаХранилищаФайлов + ".Ссылка");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВладелецФайла", "Родитель");
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПапкиФайлов", ИмяСправочникаХранилищаФайлов);
Иначе
diff --git a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Help/ru.html b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Help/ru.html
index f56d5134a..695cbc9b5 100644
--- a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Help/ru.html
+++ b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Help/ru.html
@@ -3,9 +3,9 @@
Ряд действий в программе может выполняться автоматически в фоновом режиме, по определенному расписанию. Такие действия называются регламентными заданиями, например, это ежедневная загрузка курсов валют, регулярная рассылка отчетов, отложенное проведение документов и т.п. Регламентные задания облегчают работу в программе, позволяя перенести выполнение рутинных задач в саму программу, и в то же время они снижают человеческий фактор (например, можно забыть загрузить курсы валют в один из перегруженных другими задачами дней).
Открывается по команде Регламентные и фоновые задания в разделе Администрирование - Обслуживание - Регламентные операции.
Список предоставляет следующие возможности:
-
+
В списке можно включить (или отключить) то или иное регламентное задание и поменять расписание.
В списке выводится:
- флажок в колонке означает, что регламентное задание Включено и выполняется в соответствии с заданным расписанием;
@@ -65,7 +65,7 @@
Просмотр информации о фоновом задании
- Для того чтобы просмотреть свойства фонового задания, дважды щелкните мышью по нужной строке. Также можно нажать Открыть.
- Контроль может быть либо простым, либо детальным.
-
- Простой контроль - это анализ колонок Состояние и Дата окончания на вкладке Регламентные задания, а также анализ текста поля Сообщения пользователю и описание информации об ошибке в окне редактирования регламентного задания.
+
- Простой контроль - это анализ колонок Состояние и Дата окончания на вкладке Регламентные задания, а также анализ текста поля Сообщения пользователю и описание информации об ошибке в окне редактирования регламентного задания.
- Детальный контроль - это анализ списка фоновых заданий (на вкладке Фоновые задания), которые были созданы и выполнены для выполнения регламентного задания.
- Детальный контроль производится отбором фоновых заданий по интересующему регламентному заданию, и анализом реквизитов фоновых заданий. Следует учитывать, что сведения о выполнении регламентного задания получаются выборкой части сведений о выполнении последнего фонового задания.
- Отбор фоновых заданий производится только по команде Обновить, поэтому после изменения настройки отбора нужно выполнить эту команду.
diff --git a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Module.bsl b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Module.bsl
index 95ab5c8c3..71ada9b97 100644
--- a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Module.bsl
+++ b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Module.bsl
@@ -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 @@
Если СтрЗаканчиваетсяНа(НРег(СокрП(Текст)), НРег("