From 8b02fa2acb52ad88aa65edbba057edc8ab600470 Mon Sep 17 00:00:00 2001
From: 1c <1c@1c.ru>
Date: Thu, 28 Nov 2024 00:00:00 +0300
Subject: [PATCH] =?UTF-8?q?=EF=BB=BF=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?=
=?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8?=
=?UTF-8?q?=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=86?=
=?UTF-8?q?=D0=B8=D0=B8=20=D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D1=89=D0=B8?=
=?UTF-8?q?=D0=BA=D0=B0=20=D0=BD=D0=B0=203.1.10.383?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Страница релиза:
https://releases.1c.ru/version_files?nick=SSL31&ver=3.1.10.383
Версии для обновления:
---
description.json | 6 +-
.../Ext/Form.xml" | 19 ++
.../Ext/Form/Module.bsl" | 59 ++++++
.../Ext/Form.xml" | 17 ++
.../Ext/Form/Module.bsl" | 58 ++++++
.../Ext/Form.xml" | 17 ++
.../Ext/Form/Module.bsl" | 62 ++++++
.../Ext/Form.xml" | 15 ++
.../Ext/Form/Module.bsl" | 72 +++++++
.../Ext/ManagerModule.bsl" | 5 +
.../Ext/Form.xml" | 118 +++++++++++-
.../Ext/Form/Module.bsl" | 182 ++++++++++++++----
.../Ext/Form/Module.bsl" | 11 +-
.../Ext/ManagerModule.bsl" | 25 +++
.../Ext/Form/Module.bsl" | 21 +-
.../Ext/Form/Module.bsl" | 12 +-
.../Ext/Form/Module.bsl" | 2 +-
.../Ext/Form/Module.bsl" | 10 +-
.../Ext/Form/Module.bsl" | 74 +++++--
.../Ext/Form/Module.bsl" | 7 +-
.../Ext/Form/Module.bsl" | 7 +-
.../Ext/Module.bsl" | 3 +
.../Ext/Module.bsl" | 41 +++-
.../Ext/Module.bsl" | 110 ++++++++++-
.../Ext/Module.bsl" | 12 +-
.../Ext/Module.bsl" | 146 +++++++++-----
.../Ext/Module.bsl" | 46 +++--
.../Ext/Module.bsl" | 2 +-
.../Ext/Module.bsl" | 8 +-
.../Ext/Module.bsl" | 14 +-
.../Ext/Module.bsl" | 7 +
.../Ext/Module.bsl" | 2 +-
.../Ext/Module.bsl" | 33 +++-
.../Ext/Module.bsl" | 26 ++-
.../Ext/Module.bsl" | 18 +-
.../Ext/Module.bsl" | 7 +-
.../Ext/Module.bsl" | 2 +-
.../Ext/Module.bsl" | 2 +-
src/cf/Configuration.xml | 19 +-
.../Ext/ManagerModule.bsl" | 14 +-
.../Ext/Template.xml" | 4 +-
.../Ext/Form/Module.bsl" | 35 ++--
.../Ext/Form/Module.bsl" | 2 +-
.../Ext/Template.bin" | Bin 24049 -> 24046 bytes
.../Ext/Template.bin" | 30 ++-
.../Ext/Form/Module.bsl" | 3 +-
.../Ext/Form/Module.bsl" | 3 +-
.../Ext/Form/Module.bsl" | 11 +-
.../Ext/Form.xml" | 4 +-
src/cf/Ext/ParentConfigurations.bin | 2 +-
.../Ext/Template.txt" | 2 +-
.../Ext/ManagerModule.bsl" | 12 +-
.../Ext/Form/Module.bsl" | 10 +-
.../Ext/Rights.xml" | 126 ++++++------
.../Ext/Rights.xml" | 54 +++---
.../Ext/Rights.xml" | 54 +++---
.../Ext/Rights.xml" | 46 ++---
.../Ext/Rights.xml" | 54 +++---
.../Ext/Rights.xml" | 30 +--
.../Ext/Rights.xml" | 22 +--
.../Ext/Rights.xml" | 38 ++--
.../Ext/Rights.xml" | 32 +--
.../Ext/Rights.xml" | 30 +--
.../Ext/Rights.xml" | 26 +--
.../Ext/Rights.xml" | 14 +-
.../Ext/Rights.xml" | 28 +--
.../Ext/Rights.xml" | 38 ++--
.../Ext/Rights.xml" | 14 +-
.../Ext/Rights.xml" | 34 ++--
.../Ext/Rights.xml" | 126 ++++++------
.../Ext/Rights.xml" | 72 ++++---
.../Ext/Rights.xml" | 22 +--
.../Ext/Rights.xml" | 22 +--
.../Ext/Rights.xml" | 32 +--
.../Ext/Rights.xml" | 14 +-
.../Ext/Rights.xml" | 22 +--
.../Ext/Rights.xml" | 26 +--
...0\261\320\276\321\202\320\276\320\272.xml" | 18 ++
...0\261\320\276\321\202\320\272\320\270.xml" | 1 +
.../Ext/Form.xml" | 1 +
.../Ext/Form/Module.bsl" | 52 ++++-
81 files changed, 1726 insertions(+), 751 deletions(-)
create mode 100644 "src/cf/SessionParameters/\320\240\320\265\320\266\320\270\320\274\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\230\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.xml"
diff --git a/description.json b/description.json
index 9b42d0aae3..eb390ef878 100644
--- a/description.json
+++ b/description.json
@@ -1,7 +1,7 @@
{
- "Версия": "3.1.10.369",
- "Дата": "2024-11-15T00:00:00",
- "Путь": "/version_files?nick=SSL31&ver=3.1.10.369",
+ "Версия": "3.1.10.383",
+ "Дата": "2024-11-28T00:00:00",
+ "Путь": "/version_files?nick=SSL31&ver=3.1.10.383",
"ВерсииДляОбновления": [],
"Бета": false,
"Имя": "1С:Библиотека стандартных подсистем, редакция 3.1",
diff --git "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\222\321\201\320\265\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form.xml" "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\222\321\201\320\265\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form.xml"
index eb61d24d19..f84d070372 100644
--- "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\222\321\201\320\265\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form.xml"
+++ "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\222\321\201\320\265\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form.xml"
@@ -183,6 +183,22 @@
Form
+
+
+
+
+ ru
+ Органайзер
+
+
+
+ Picture
+
+
+
None
@@ -248,6 +264,9 @@
+
+ СписокПриАктивизацииСтроки
+
Список.Description
diff --git "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\222\321\201\320\265\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\222\321\201\320\265\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form/Module.bsl"
index 0a4eed7699..3b84cd0d26 100644
--- "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\222\321\201\320\265\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form/Module.bsl"
+++ "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\222\321\201\320\265\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form/Module.bsl"
@@ -19,6 +19,14 @@
Список.Параметры.УстановитьЗначениеПараметра("ПоказыватьУдаленные", Ложь);
ЗаполнитьСписокВыбораФильтраПоПредмету();
+
+ // СтандартныеПодсистемы.ПодключаемыеКоманды
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
+ МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
+ КонецЕсли;
+ // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
КонецПроцедуры
&НаКлиенте
@@ -54,6 +62,18 @@
Список.Параметры.УстановитьЗначениеПараметра("ПоказыватьУдаленные", ПоказыватьУдаленные);
КонецПроцедуры
+&НаКлиенте
+Процедура СписокПриАктивизацииСтроки(Элемент)
+
+ // СтандартныеПодсистемы.ПодключаемыеКоманды
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
+ МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
+ КонецЕсли;
+ // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
+КонецПроцедуры
+
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -109,4 +129,43 @@
КонецПроцедуры
+// СтандартныеПодсистемы.ПодключаемыеКоманды
+&НаКлиенте
+Процедура Подключаемый_ВыполнитьКоманду(Команда)
+
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
+ МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
+ КонецЕсли;
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
+
+ ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
+
+КонецПроцедуры
+
+&НаСервере
+Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
+
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
+ МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
+ КонецЕсли;
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура Подключаемый_ОбновитьКоманды()
+
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
+ МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
+ КонецЕсли;
+
+КонецПроцедуры
+// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
#КонецОбласти
diff --git "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\227\320\260\320\274\320\265\321\202\320\272\320\270\320\237\320\276\320\237\321\200\320\265\320\264\320\274\320\265\321\202\321\203/Ext/Form.xml" "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\227\320\260\320\274\320\265\321\202\320\272\320\270\320\237\320\276\320\237\321\200\320\265\320\264\320\274\320\265\321\202\321\203/Ext/Form.xml"
index 9c5a26df64..b920807a75 100644
--- "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\227\320\260\320\274\320\265\321\202\320\272\320\270\320\237\320\276\320\237\321\200\320\265\320\264\320\274\320\265\321\202\321\203/Ext/Form.xml"
+++ "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\227\320\260\320\274\320\265\321\202\320\272\320\270\320\237\320\276\320\237\321\200\320\265\320\264\320\274\320\265\321\202\321\203/Ext/Form.xml"
@@ -47,6 +47,22 @@
Form
+
+
+
+
+ ru
+ Органайзер
+
+
+
+ Picture
+
+
+
List
@@ -121,6 +137,7 @@
СписокПередНачаломДобавления
+ СписокПриАктивизацииСтроки
diff --git "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\227\320\260\320\274\320\265\321\202\320\272\320\270\320\237\320\276\320\237\321\200\320\265\320\264\320\274\320\265\321\202\321\203/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\227\320\260\320\274\320\265\321\202\320\272\320\270\320\237\320\276\320\237\321\200\320\265\320\264\320\274\320\265\321\202\321\203/Ext/Form/Module.bsl"
index 43c0d89cee..9eab76be85 100644
--- "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\227\320\260\320\274\320\265\321\202\320\272\320\270\320\237\320\276\320\237\321\200\320\265\320\264\320\274\320\265\321\202\321\203/Ext/Form/Module.bsl"
+++ "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\227\320\260\320\274\320\265\321\202\320\272\320\270\320\237\320\276\320\237\321\200\320\265\320\264\320\274\320\265\321\202\321\203/Ext/Form/Module.bsl"
@@ -27,6 +27,13 @@
Элементы.ПоказыватьЗаметкиДругихПользователей.Видимость = Ложь;
КонецЕсли;
+ // СтандартныеПодсистемы.ПодключаемыеКоманды
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
+ МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
+ КонецЕсли;
+ // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
КонецПроцедуры
&НаСервере
@@ -62,6 +69,18 @@
КонецЕсли;
КонецПроцедуры
+&НаКлиенте
+Процедура СписокПриАктивизацииСтроки(Элемент)
+
+ // СтандартныеПодсистемы.ПодключаемыеКоманды
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
+ МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
+ КонецЕсли;
+ // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
+КонецПроцедуры
+
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -86,5 +105,44 @@
КонецПроцедуры
+// СтандартныеПодсистемы.ПодключаемыеКоманды
+&НаКлиенте
+Процедура Подключаемый_ВыполнитьКоманду(Команда)
+
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
+ МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
+ КонецЕсли;
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
+
+ ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
+
+КонецПроцедуры
+
+&НаСервере
+Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
+
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
+ МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
+ КонецЕсли;
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура Подключаемый_ОбновитьКоманды()
+
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
+ МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
+ КонецЕсли;
+
+КонецПроцедуры
+// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
#КонецОбласти
diff --git "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\234\320\276\320\270\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form.xml" "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\234\320\276\320\270\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form.xml"
index 68899c9025..246a545bd8 100644
--- "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\234\320\276\320\270\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form.xml"
+++ "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\234\320\276\320\270\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form.xml"
@@ -50,6 +50,20 @@
InCommandBarAndInAdditionalSubmenu
+
+
+
+ ru
+ Органайзер
+
+
+
+ Picture
+
+
- Список
@@ -196,6 +210,9 @@
+
+ СписокПриАктивизацииСтроки
+
diff --git "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\234\320\276\320\270\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\234\320\276\320\270\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form/Module.bsl"
index e77b5cac36..5a6853d2ed 100644
--- "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\234\320\276\320\270\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form/Module.bsl"
+++ "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\234\320\276\320\270\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Ext/Form/Module.bsl"
@@ -15,6 +15,29 @@
Список.Параметры.УстановитьЗначениеПараметра("Пользователь", Пользователи.ТекущийПользователь());
+ // СтандартныеПодсистемы.ПодключаемыеКоманды
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
+ МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
+ КонецЕсли;
+ // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
+КонецПроцедуры
+
+#КонецОбласти
+
+#Область ОбработчикиСобытийЭлементовШапкиФормы
+
+&НаКлиенте
+Процедура СписокПриАктивизацииСтроки(Элемент)
+
+ // СтандартныеПодсистемы.ПодключаемыеКоманды
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
+ МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
+ КонецЕсли;
+ // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
КонецПроцедуры
#КонецОбласти
@@ -39,4 +62,43 @@
КонецПроцедуры
+// СтандартныеПодсистемы.ПодключаемыеКоманды
+&НаКлиенте
+Процедура Подключаемый_ВыполнитьКоманду(Команда)
+
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
+ МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
+ КонецЕсли;
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
+
+ ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
+
+КонецПроцедуры
+
+&НаСервере
+Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
+
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
+ МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
+ КонецЕсли;
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура Подключаемый_ОбновитьКоманды()
+
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
+ МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
+ КонецЕсли;
+
+КонецПроцедуры
+// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
#КонецОбласти
diff --git "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml"
index 1168204dcf..609c81fcec 100644
--- "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml"
+++ "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml"
@@ -4,6 +4,20 @@
Items
+
+
+
+ ru
+ Органайзер
+
+
+
+ Picture
+
+
@@ -20,6 +34,7 @@
ПослеЗаписи
ПослеЗаписиНаСервере
ПриЧтенииНаСервере
+ ПриОткрытии
ПриСозданииНаСервере
ПередЗаписьюНаСервере
diff --git "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
index 8f390ff75b..69407a8f27 100644
--- "a/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
+++ "b/src/cf/Catalogs/\320\227\320\260\320\274\320\265\321\202\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
@@ -28,6 +28,13 @@
Элементы.ДатаЗаметки.Заголовок = НСтр("ru = 'Записано'") + ": " + Формат(Объект.ДатаИзменения, "ДЛФ=DDT");
КонецЕсли;
+ // СтандартныеПодсистемы.ПодключаемыеКоманды
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
+ МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
+ КонецЕсли;
+ // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
УстановитьВидимость();
КонецПроцедуры
@@ -42,7 +49,26 @@
МодульУправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
+
+ // СтандартныеПодсистемы.ПодключаемыеКоманды
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
+ МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
+ КонецЕсли;
+ // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
+КонецПроцедуры
+&НаКлиенте
+Процедура ПриОткрытии(Отказ)
+
+ // СтандартныеПодсистемы.ПодключаемыеКоманды
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
+ МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
+ КонецЕсли;
+ // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
КонецПроцедуры
&НаСервере
@@ -73,10 +99,17 @@
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
+
ОповеститьОбИзменении(Объект.Ссылка);
Если ЗначениеЗаполнено(Объект.Предмет) Тогда
ОповеститьОбИзменении(Объект.Предмет);
КонецЕсли;
+
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
+ МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
+ КонецЕсли;
+
КонецПроцедуры
#КонецОбласти
@@ -109,4 +142,43 @@
Элементы.КоманднаяПанельРедактирования.Видимость = ОткрытаАвтором;
КонецПроцедуры
+// СтандартныеПодсистемы.ПодключаемыеКоманды
+&НаКлиенте
+Процедура Подключаемый_ВыполнитьКоманду(Команда)
+
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
+ МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
+ КонецЕсли;
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
+
+ ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
+
+КонецПроцедуры
+
+&НаСервере
+Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
+
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
+ МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
+ КонецЕсли;
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура Подключаемый_ОбновитьКоманды()
+
+ Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
+ МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
+ МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
+ КонецЕсли;
+
+КонецПроцедуры
+// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
+
#КонецОбласти
diff --git "a/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Ext/ManagerModule.bsl" "b/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Ext/ManagerModule.bsl"
index e949acee11..3b87334512 100644
--- "a/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Ext/ManagerModule.bsl"
+++ "b/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Ext/ManagerModule.bsl"
@@ -550,7 +550,12 @@
ИначеЕсли РеквизитыПредставителя.ЭтоФилиал Тогда
ТипПредставителя = "4";
СведенияОФилиалеЮридическогоЛица = СведенияОЮридическомЛице(РеквизитыПредставителя);
+ Для Каждого РеквизитыЛицаПредставителя Из РеквизитыЛицПредставителя Цикл
+ СведенияОФизическомЛице = СведенияОДолжностномЛице(РеквизитыЛицаПредставителя, ДляНалоговыхОрганов);
+ Прервать;
+ КонецЦикла;
Представитель.СведФилиал = СведенияОФилиалеЮридическогоЛица;
+ Представитель.СведФизЛ = СведенияОФизическомЛице;
Иначе
ТипПредставителя = "1";
СведенияОЮридическомЛице = СведенияОЮридическомЛице(РеквизитыПредставителя);
diff --git "a/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
index c4f361d387..ff63a8fbe2 100644
--- "a/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
+++ "b/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
@@ -1093,6 +1093,24 @@
Справочник.МашиночитаемыеДоверенности.Полномочия КАК МашиночитаемыеДоверенностиПолномочия
ГДЕ
МашиночитаемыеДоверенностиПолномочия.Код В (&Полномочия))),
+ (СправочникМашиночитаемыеДоверенности.Ссылка В
+ (ВЫБРАТЬ
+ МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
+ ИЗ
+ РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
+ ГДЕ
+ МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
+ И МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации = &ДоверительНаименованиеОрганизации)),
+
+ (СправочникМашиночитаемыеДоверенности.Ссылка В
+ (ВЫБРАТЬ
+ МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
+ ИЗ
+ РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
+ ГДЕ
+ МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
+ И МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО = &ДоверительФИО)),
+
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
@@ -1133,7 +1151,24 @@
ГДЕ
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
И МашиночитаемыеДоверенностиПредставителиИДоверители.КПП = &ДоверительКПП)),
-
+ (СправочникМашиночитаемыеДоверенности.Ссылка В
+ (ВЫБРАТЬ
+ МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
+ ИЗ
+ РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
+ ГДЕ
+ МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
+ И МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации = &ПредставительНаименованиеОрганизации)),
+
+ (СправочникМашиночитаемыеДоверенности.Ссылка В
+ (ВЫБРАТЬ
+ МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
+ ИЗ
+ РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
+ ГДЕ
+ МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
+ И МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО = &ПредставительФИО)),
+
(СправочникМашиночитаемыеДоверенности.Ссылка В
(ВЫБРАТЬ
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
@@ -1696,6 +1731,78 @@
false
true
+
+ ДоверительНаименованиеОрганизации
+
+
+ ru
+ Доверитель наименование организации
+
+
+
+ xs:string
+
+ 0
+ Variable
+
+
+
+ false
+
+
+ ДоверительФИО
+
+
+ ru
+ Доверитель ФИО
+
+
+
+ xs:string
+
+ 0
+ Variable
+
+
+
+ false
+
+
+ ПредставительНаименованиеОрганизации
+
+
+ ru
+ Представитель наименование организации
+
+
+
+ xs:string
+
+ 0
+ Variable
+
+
+
+ false
+
+
+ ПредставительФИО
+
+
+ ru
+ Представитель ФИО
+
+
+
+ xs:string
+
+ 0
+ Variable
+
+
+
+ false
+
Catalog.МашиночитаемыеДоверенности
@@ -1771,9 +1878,6 @@
cfg:CatalogRef.Пользователи
-
-
-
xs:string
@@ -1844,6 +1948,12 @@
+
+
+
+
+
+
diff --git "a/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl"
index 40e3ee52a6..be977a9d6f 100644
--- "a/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl"
+++ "b/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl"
@@ -124,11 +124,13 @@
&НаКлиенте
Процедура ПредставительПриИзменении(Элемент)
+ ОтборПоПредставителю = Неопределено;
УстановитьОтбор();
КонецПроцедуры
&НаКлиенте
Процедура ДоверительПриИзменении(Элемент)
+ ОтборПоДоверителю = Неопределено;
УстановитьОтбор();
КонецПроцедуры
@@ -226,23 +228,8 @@
Запрос = СокрЛП(Текст);
- ПодходящиеЗначения = ПодходящиеЗначенияУниверсальногоПоиска(Запрос);
-
- ТолькоЦифры = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.ТолькоЦифры(Текст);
- Если Не ПустаяСтрока(ТолькоЦифры) И ТолькоЦифры <> Текст Тогда
- ПодходящиеЗначения.Вставить(0, ТолькоЦифры,
- СтроковыеФункцииКлиент.ФорматированнаяСтрока(
- НСтр("ru = 'Поля доверенности содержат %3'"),
- "РезультатУспехЦвет", "ВажнаяНадписьШрифт",
- ТолькоЦифры));
- КонецЕсли;
-
- ПодходящиеЗначения.Вставить(0, Текст,
- СтроковыеФункцииКлиент.ФорматированнаяСтрока(
- НСтр("ru = 'Поля доверенности содержат %3'"),
- "РезультатУспехЦвет", "ВажнаяНадписьШрифт",
- Текст));
-
+ ПодходящиеЗначения = ПодходящиеЗначенияУниверсальногоПоиска(Запрос, Элемент.Имя);
+
ДанныеВыбора = ПодходящиеЗначения;
СтандартнаяОбработка = Ложь;
@@ -257,6 +244,12 @@
СтандартнаяОбработка = Ложь;
ЭтотОбъект[Элемент.Имя] = ВыбранноеЗначение[0].ПравоеЗначение;
+ Если Элемент.Имя = "Доверитель" Тогда
+ ОтборПоДоверителю = ВыбранноеЗначение[0];
+ Иначе
+ ОтборПоПредставителю = ВыбранноеЗначение[0];
+ КонецЕсли;
+
УстановитьОтбор();
КонецПроцедуры
@@ -564,8 +557,8 @@
ВсеОтборыПоПолям = ВсеОтборыПоПолям();
- НастроитьОтборыДляУчастника(ВсеОтборыПоПолям, Доверитель, "Доверитель");
- НастроитьОтборыДляУчастника(ВсеОтборыПоПолям, Представитель, "Представитель");
+ НастроитьОтборыДляУчастника(ВсеОтборыПоПолям, Доверитель, "Доверитель", ОтборПоДоверителю);
+ НастроитьОтборыДляУчастника(ВсеОтборыПоПолям, Представитель, "Представитель", ОтборПоПредставителю);
НастроитьОтборыСертификата(ВсеОтборыПоПолям, СертификатПредставителя, Истина);
НастроитьОтборыСертификата(ВсеОтборыПоПолям, СертификатДоверителя, Ложь);
@@ -625,16 +618,20 @@
КонецПроцедуры
&НаКлиенте
-Процедура НастроитьОтборыДляУчастника(ВсеОтборыПоПолям, Значение, ИмяПоля)
+Процедура НастроитьОтборыДляУчастника(ВсеОтборыПоПолям, Значение, ИмяПоля, ОтборПоУчастнику)
Если ЗначениеЗаполнено(Значение) Тогда
Если ТипЗнч(Значение) = Тип("Строка") Тогда
- Отбор = Новый Структура(ИмяПоля + "СтрокаПоиска", "%"+СформироватьСтрокуДляПоискаВЗапросе(Значение)+"%");
+ Если ЗначениеЗаполнено(ОтборПоУчастнику) Тогда
+ Отбор = Новый Структура(ИмяПоля + ОтборПоУчастнику.ЛевоеЗначение, ОтборПоУчастнику.ПравоеЗначение);
+ Иначе
+ Отбор = Новый Структура(ИмяПоля + "СтрокаПоиска", "%"+СформироватьСтрокуДляПоискаВЗапросе(Значение)+"%");
+ КонецЕсли;
Иначе
Отбор = ОтборДляСправочника(ИмяПоля, Значение);
КонецЕсли;
Иначе
- Отбор = Новый Структура(ИмяПоля + "СтрокаПоиска," + ИмяПоля + "ИНН," + ИмяПоля + "ИННФЛ," + ИмяПоля + "СНИЛС," + ИмяПоля +"ОГРН," + ИмяПоля +"КПП");
+ Отбор = Новый Структура(ИмяПоля + "СтрокаПоиска," + ИмяПоля + "НаименованиеОрганизации," + ИмяПоля + "ФИО," + ИмяПоля + "ИНН," + ИмяПоля + "ИННФЛ," + ИмяПоля + "СНИЛС," + ИмяПоля +"ОГРН," + ИмяПоля +"КПП");
КонецЕсли;
Для Каждого ЭлементОтбора Из Отбор Цикл
@@ -902,7 +899,7 @@
Функция ВсеОтборыПоПолям()
Отбор = Новый Структура;
КорниОтбора = СтрРазделить("Представитель,Доверитель", ",");
- СуффиксыОтбора = СтрРазделить("ОГРН,ИННФЛ,ИНН,СНИЛС,КПП,СтрокаПоиска", ",");
+ СуффиксыОтбора = СтрРазделить("ОГРН,ИННФЛ,ИНН,СНИЛС,КПП,СтрокаПоиска,ФИО,НаименованиеОрганизации", ",");
Для Каждого КореньОтбора Из КорниОтбора Цикл
Для Каждого СуффиксОтбора Из СуффиксыОтбора Цикл
Отбор.Вставить(КореньОтбора + СуффиксОтбора);
@@ -956,7 +953,7 @@
КонецПроцедуры
&НаКлиенте
-Функция ПодходящиеЗначенияУниверсальногоПоиска(Запрос)
+Функция ПодходящиеЗначенияУниверсальногоПоиска(Запрос, ИмяЭлемента)
ПодходящиеЗначения = Новый СписокЗначений;
МаксимальноеКоличествоПодходящихЗначений = 48;
@@ -967,12 +964,7 @@
КонецЕсли;
ПоляПоискаПоТипам = ПоляУниверсальногоПоискаПоТипам();
-
- Если ПоляПоискаПоТипам.Количество() = 0 Тогда
- Возврат ПодходящиеЗначения;
- КонецЕсли;
-
- НайтиПодходящиеЗначенияУниверсальногоПоиска(ПодходящиеЗначения, ПоляПоискаПоТипам, ПараметрыПоиска);
+ НайтиПодходящиеЗначенияУниверсальногоПоиска(ПодходящиеЗначения, ПоляПоискаПоТипам, ПараметрыПоиска, ИмяЭлемента);
Если ПодходящиеЗначения.Количество() = 0 Тогда
@@ -1040,7 +1032,7 @@
КонецФункции
&НаСервереБезКонтекста
-Процедура НайтиПодходящиеЗначенияУниверсальногоПоиска(ПодходящиеЗначения, ПоляПоискаПоТипам, ПараметрыПоиска)
+Процедура НайтиПодходящиеЗначенияУниверсальногоПоиска(ПодходящиеЗначения, ПоляПоискаПоТипам, ПараметрыПоиска, ИмяЭлемента)
Если Не ЗначениеЗаполнено(ПараметрыПоиска.СтрокаПоиска) Тогда
Возврат;
@@ -1068,6 +1060,7 @@
КонецЦикла;
Если ТекстыЗапросов.Количество() = 0 Тогда
+ ДополнитьСписокПолямиДоверенности(ПодходящиеЗначения, ПараметрыПоиска, ИмяЭлемента);
Возврат;
КонецЕсли;
@@ -1079,9 +1072,6 @@
ИндексВариантовПоиска = Новый Соответствие;
ИндексПредставленийПоиска = Новый Соответствие;
- ИндексДополнительныхЗначений = Новый Соответствие;
- ДополнительныеЗначения = Новый СписокЗначений;
-
Пока Выборка.Следующий() Цикл
ПоляПоиска = ПоляПоискаПоТипам[ТипЗнч(Выборка.Ссылка)];
@@ -1111,12 +1101,104 @@
КонецЦикла;
ПодходящиеЗначения.СортироватьПоПредставлению();
- ДополнительныеЗначения.СортироватьПоПредставлению();
+ ДополнитьСписокПолямиДоверенности(ПодходящиеЗначения, ПараметрыПоиска, ИмяЭлемента);
+
+КонецПроцедуры
+
+&НаСервереБезКонтекста
+Процедура ДополнитьСписокПолямиДоверенности(ПодходящиеЗначения, ПараметрыПоиска, ИмяЭлемента)
+
+ ПоляДоверенности = СтрРазделить("ИНН,ИННФЛ,ОГРН,СНИЛС,КПП,НаименованиеОрганизации,ФИО", ",");
+ ПараметрыПоискаТолькоЦифры = Неопределено;
+ ТолькоЦифры = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.ТолькоЦифры(ПараметрыПоиска.СтрокаПоискаНормализованная);
+ Если Не ПустаяСтрока(ТолькоЦифры) И ТолькоЦифры <> ПараметрыПоиска.СтрокаПоискаНормализованная Тогда
+ ПараметрыПоискаТолькоЦифры = ОбщегоНазначения.СкопироватьРекурсивно(ПараметрыПоиска);
+ ПараметрыПоискаТолькоЦифры.СтрокаПоискаНормализованная = ТолькоЦифры;
+ КонецЕсли;
+
+ ТекстыЗапросов = Новый Массив;
+
+ Для Каждого Поле Из ПоляДоверенности Цикл
+
+ ТекстЗапроса = ТекстЗапросаПоПолюПоиска(Поле, ПараметрыПоиска, ИмяЭлемента);
+ Если ТекстыЗапросов.Количество() > 0 Тогда
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВЫБРАТЬ РАЗРЕШЕННЫЕ", "ВЫБРАТЬ"); // @query-part-1, @query-part-2
+ КонецЕсли;
+ ТекстыЗапросов.Добавить(ТекстЗапроса);
+
+ Если ПараметрыПоискаТолькоЦифры <> Неопределено Тогда
+ ТекстЗапроса = ТекстЗапросаПоПолюПоиска(Поле, ПараметрыПоискаТолькоЦифры, ИмяЭлемента);
+ Если ТекстыЗапросов.Количество() > 0 Тогда
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВЫБРАТЬ РАЗРЕШЕННЫЕ", "ВЫБРАТЬ"); // @query-part-1, @query-part-2
+ КонецЕсли;
+ ТекстыЗапросов.Добавить(ТекстЗапроса);
+ КонецЕсли;
+
+ КонецЦикла;
+
+ ТекстЗапроса = СтрСоединить(ТекстыЗапросов, Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС); // @query-part
+ Запрос = Новый Запрос(ТекстЗапроса);
+
+ Выборка = Запрос.Выполнить().Выбрать();
+
+ ИндексВариантовПоиска = Новый Соответствие;
+ ИндексПредставленийПоиска = Новый Соответствие;
+
+ Пока Выборка.Следующий() Цикл
+
+ СвойстваПоиска = СвойстваУниверсальногоПоиска(Выборка.Поле, Выборка.ЗначениеПоля);
+ ВариантыПоиска = ИндексВариантовПоиска[СвойстваПоиска.ПравоеЗначение];
+ Если ВариантыПоиска = Неопределено Тогда
+
+ ПредставлениеПоиска = ПредставлениеУниверсальногоПоискаПоля(
+ Выборка.ЗначениеПоля, Выборка.Поле, СвойстваПоиска.ВидСравнения, ПараметрыПоиска.СтрокаПоиска, ТолькоЦифры);
+
+ ИндексПредставленийПоиска.Вставить(СвойстваПоиска.ПравоеЗначение, ПредставлениеПоиска);
+
+ ВариантыПоиска = Новый Массив;
+
+ КонецЕсли;
+
+ ВариантыПоиска.Добавить(СвойстваПоиска);
+ ИндексВариантовПоиска.Вставить(СвойстваПоиска.ПравоеЗначение, ВариантыПоиска);
+
+ КонецЦикла;
+
+ Для Каждого ИндексЗначения Из ИндексВариантовПоиска Цикл
+ ПодходящиеЗначения.Добавить(ИндексЗначения.Значение, ИндексПредставленийПоиска[ИндексЗначения.Ключ]);
+ КонецЦикла;
- ОбщегоНазначенияКлиентСервер.ДополнитьСписок(ПодходящиеЗначения, ДополнительныеЗначения);
+ ПодходящиеЗначения.СортироватьПоПредставлению();
КонецПроцедуры
+&НаСервереБезКонтекста
+Функция ТекстЗапросаПоПолюПоиска(Поле, ПараметрыПоиска, ИмяЭлемента)
+
+ ШаблонТекстаЗапроса =
+ "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ ПЕРВЫЕ 5
+ | ""&ИмяПоля"" КАК Поле,
+ | &ЗначениеПоля КАК ЗначениеПоля
+ |ИЗ
+ | РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
+ |ГДЕ
+ | &Условие
+ | И МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = &ТипУчастника";
+
+ ТекстЗапроса = СтрЗаменить(ШаблонТекстаЗапроса, "&ИмяПоля", Поле);
+ ИмяПоля = "МашиночитаемыеДоверенностиПредставителиИДоверители." + Поле;
+ Условие = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
+ "ВЫРАЗИТЬ(%1 КАК СТРОКА(150)) ПОДОБНО %2 СПЕЦСИМВОЛ ""~""", ИмяПоля, """%"
+ + ОбщегоНазначения.СформироватьСтрокуДляПоискаВЗапросе(ПараметрыПоиска.СтрокаПоискаНормализованная)
+ + "%""");
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Условие", Условие);
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ЗначениеПоля", ИмяПоля);
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТипУчастника", "Значение(Перечисление.ТипыУчастниковМЧД." + ИмяЭлемента + ")");
+
+ Возврат ТекстЗапроса;
+
+КонецФункции
+
&НаСервереБезКонтекста
Функция ПоляУниверсальногоПоискаПоТипам()
@@ -1313,6 +1395,34 @@
ФрагментПослеСтрокиПоиска);
КонецФункции
+
+&НаСервереБезКонтекста
+Функция ПредставлениеУниверсальногоПоискаПоля(ПредставлениеЗначения, Знач ПолеПоиска, Условие, СтрокаПоиска, ТолькоЦифры)
+
+ ФрагментУсловия = СтроковыеФункции.ФорматированнаяСтрока(ШаблонФрагментаУсловия(Условие));
+
+ НачалоСтрокиПоиска = СтрНайти(ВРег(ПредставлениеЗначения), ВРег(СтрокаПоиска));
+ Если НачалоСтрокиПоиска = 0 Тогда
+ НачалоСтрокиПоиска = СтрНайти(ВРег(ПредставлениеЗначения), ТолькоЦифры);
+ КонецЕсли;
+ КонецСтрокиПоиска = НачалоСтрокиПоиска + СтрДлина(СтрокаПоиска);
+ ДлинаНайденногоФрагмента = ?(НачалоСтрокиПоиска = 0, 0, СтрДлина(СтрокаПоиска));
+
+ ФрагментДоСтрокиПоиска = Лев(ПредставлениеЗначения, НачалоСтрокиПоиска - 1);
+ ФрагментСтрокиПоиска = СтроковыеФункции.ФорматированнаяСтрока(ШаблонФрагментаСтрокиПоиска(
+ Сред(ПредставлениеЗначения, НачалоСтрокиПоиска, ДлинаНайденногоФрагмента)));
+ ФрагментПослеСтрокиПоиска = Сред(ПредставлениеЗначения, КонецСтрокиПоиска);
+
+ Если ПолеПоиска = "ИННФЛ" Тогда
+ ПолеПоиска = НСтр("ru='ИНН ФЛ'");
+ ИначеЕсли ПолеПоиска = "НаименованиеОрганизации" Тогда
+ ПолеПоиска = НСтр("ru='Наименование'");
+ КонецЕсли;
+
+ Возврат Новый ФорматированнаяСтрока(ПолеПоиска, ФрагментУсловия, ФрагментДоСтрокиПоиска, ФрагментСтрокиПоиска,
+ ФрагментПослеСтрокиПоиска);
+
+КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ШаблонФрагментаУсловия(Условие)
diff --git "a/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
index 1a727cde0c..e01c170f80 100644
--- "a/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
+++ "b/src/cf/Catalogs/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
@@ -238,14 +238,14 @@
&НаКлиенте
Процедура ЭлементОрганизацияОчистка(Элемент, СтандартнаяОбработка)
- ОрганизацияОчистка(Элемент.Имя, Элемент, СтандартнаяОбработка);
+ ОрганизацияОчистка(Элемент.Имя, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура ЭлементОрганизацияНаименованиеОчистка(Элемент, СтандартнаяОбработка)
- ОрганизацияОчистка(СтрЗаменить(Элемент.Имя, "Наименование", ""), Элемент, СтандартнаяОбработка);
+ ОрганизацияОчистка(СтрЗаменить(Элемент.Имя, "Наименование", ""), СтандартнаяОбработка);
КонецПроцедуры
@@ -2314,7 +2314,7 @@
Если ИмяЭлементаОрганизация = "Представитель" Тогда
Если ВыбранныйЭлемент.Значение = "ФизическоеЛицо" Тогда
- ОчиститьРеквизитыОрганизации("ЛицоПредставителя");
+ ОчиститьРеквизитыОрганизации("ЛицоПредставителя", Истина);
Иначе
ЗаполнитьТипИРеквизитыОрганизации("ЛицоПредставителя", "ФизическоеЛицо");
КонецЕсли;
@@ -3110,14 +3110,13 @@
Если ЗначениеЗаполнено(ЭтотОбъект[ИмяЭлементаОрганизация]) Тогда
ПриИзмененииОрганизацииНаСервере(ИмяЭлементаОрганизация, РеквизитыНедоступныДляРедактирования);
Иначе
- ОчиститьЭлементыФормы(ИмяЭлементаОрганизация, Ложь);
- ОбновитьСтрокуДоверителейПредставителей(ИмяЭлементаОрганизация);
+ ОрганизацияОчистка(ИмяЭлементаОрганизация, Ложь);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
-Процедура ОрганизацияОчистка(ИмяЭлементаОрганизация, Элемент, СтандартнаяОбработка)
+Процедура ОрганизацияОчистка(ИмяЭлементаОрганизация, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПриПотереГотовности(ЭтотОбъект);
diff --git "a/src/cf/Catalogs/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Ext/ManagerModule.bsl" "b/src/cf/Catalogs/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Ext/ManagerModule.bsl"
index eec3e86c9d..0025d6dfb8 100644
--- "a/src/cf/Catalogs/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Ext/ManagerModule.bsl"
+++ "b/src/cf/Catalogs/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Ext/ManagerModule.bsl"
@@ -127,6 +127,31 @@
Настройка.НетВLinux = Истина;
Настройка.НетВMacOS = Истина;
+ // Microsoft Base Smart Card Crypto Provider
+ Настройка = Настройки.Добавить();
+ Настройка.Представление = НСтр("ru = 'Microsoft Base Smart Card CSP'");
+ Настройка.ИмяПрограммы = "Microsoft Base Smart Card Crypto Provider";
+ Настройка.ТипПрограммы = 1;
+ Настройка.АлгоритмПодписи = "RSA_SIGN"; // Один вариант.
+ Настройка.АлгоритмХеширования = "SHA-256"; // Варианты: SHA-256, SHA-1, SHA-384, SHA-512, MD2, MD4, MD5.
+ Настройка.АлгоритмШифрования = "3DES"; // Варианты: RC2, RC4, DES, 3DES.
+ Настройка.Идентификатор = "MicrosoftBaseSmartCard";
+
+ Настройка.АлгоритмыПодписи.Добавить("RSA_SIGN");
+ Настройка.АлгоритмыХеширования.Добавить("SHA-256");
+ Настройка.АлгоритмыХеширования.Добавить("SHA-384");
+ Настройка.АлгоритмыХеширования.Добавить("SHA-512");
+ Настройка.АлгоритмыХеширования.Добавить("SHA-1");
+ Настройка.АлгоритмыХеширования.Добавить("MD2");
+ Настройка.АлгоритмыХеширования.Добавить("MD4");
+ Настройка.АлгоритмыХеширования.Добавить("MD5");
+ Настройка.АлгоритмыШифрования.Добавить("RC2");
+ Настройка.АлгоритмыШифрования.Добавить("RC4");
+ Настройка.АлгоритмыШифрования.Добавить("DES");
+ Настройка.АлгоритмыШифрования.Добавить("3DES");
+ Настройка.НетВLinux = Истина;
+ Настройка.НетВMacOS = Истина;
+
КонецПроцедуры
Функция ПоставляемыеПутиКМодулямПрограмм() Экспорт
diff --git "a/src/cf/Catalogs/\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\321\213\320\232\320\273\321\216\321\207\320\265\320\271\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\321\213\320\232\320\273\321\216\321\207\320\265\320\271\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\260/Ext/Form/Module.bsl"
index 950a367a33..90dffbacb0 100644
--- "a/src/cf/Catalogs/\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\321\213\320\232\320\273\321\216\321\207\320\265\320\271\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\260/Ext/Form/Module.bsl"
+++ "b/src/cf/Catalogs/\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\321\213\320\232\320\273\321\216\321\207\320\265\320\271\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\260/Ext/Form/Module.bsl"
@@ -78,7 +78,7 @@
КонецЕсли;
Элементы.ГруппаСтраницы.Видимость = ПроверкиНаКлиенте <> Неопределено Или ПроверкиНаСервере <> Неопределено;
- Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаПроверкиУспешны;
+ ПроверкиУспешны = Истина;
Для каждого Проверка Из Проверки Цикл
@@ -143,6 +143,8 @@
КонецЕсли;
+ ВидимостьСтраниц(ЭтотОбъект);
+
СвойстваСертификата = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Сертификат,
"ДанныеСертификата, Программа, ВводитьПарольВПрограммеЭлектроннойПодписи, Отпечаток, Отозван");
@@ -470,12 +472,7 @@
Элементы.ФормаПроверить.Доступность = Истина;
- Если ПроверкиУспешны = Истина Тогда
- Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаПроверкиУспешны;
- Элементы.ФормаЗакрыть.КнопкаПоУмолчанию = Истина;
- Иначе
- Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.СтраницаПроверки;
- КонецЕсли;
+ ВидимостьСтраниц(ЭтотОбъект);
Если СертификатыМетокВремени.Количество() = 0 Тогда
Элементы.ДекорацияСертификатМеткиВремени.Видимость = Ложь;
@@ -512,6 +509,16 @@
КонецПроцедуры
+&НаКлиентеНаСервереБезКонтекста
+Процедура ВидимостьСтраниц(Форма)
+ Если Форма.ПроверкиУспешны = Истина Тогда
+ Форма.Элементы.ГруппаСтраницы.ТекущаяСтраница = Форма.Элементы.СтраницаПроверкиУспешны;
+ Форма.Элементы.ФормаЗакрыть.КнопкаПоУмолчанию = Истина;
+ Иначе
+ Форма.Элементы.ГруппаСтраницы.ТекущаяСтраница = Форма.Элементы.СтраницаПроверки;
+ КонецЕсли;
+КонецПроцедуры
+
// АПК:78-выкл: для безопасной передачи данных на клиенте между формами, не отправляя их на сервер.
&НаКлиенте
Процедура ПродолжитьОткрытие(Оповещение, ОбщиеВнутренниеДанные, ВходящиеКлиентскиеПараметры) Экспорт
diff --git "a/src/cf/Catalogs/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/Catalogs/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
index bee6138a97..919f5b38a6 100644
--- "a/src/cf/Catalogs/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
+++ "b/src/cf/Catalogs/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
@@ -1665,33 +1665,25 @@
Процедура ОбновитьПояснениеОблачногоСервиса(ПрисоединенныйФайл)
ВидимостьПояснения = Ложь;
-
Если ПолучитьФункциональнуюОпцию("ИспользоватьСинхронизациюФайлов") Тогда
СведенияОСинхронизации = РаботаСФайламиСлужебный.СведенияОСинхронизации(Объект.ВладелецФайла);
-
- Если СведенияОСинхронизации.Количество() > 0 Тогда
-
+ Если СведенияОСинхронизации <> Неопределено Тогда
УчетнаяЗапись = СведенияОСинхронизации.УчетнаяЗапись;
ВидимостьПояснения = Истина;
АдресПапкиВОблачномСервисе = РаботаСФайламиСлужебныйКлиентСервер.АдресВОблачномСервисе(
СведенияОСинхронизации.Сервис, СведенияОСинхронизации.Href);
-
+
Элементы.ДекорацияПояснение.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(
НСтр("ru = 'Файл доступен только для просмотра, работа с ним ведется в облачном сервисе %2.'"),
АдресПапкиВОблачномСервисе, СведенияОСинхронизации.УчетнаяЗаписьНаименование);
-
Элементы.ДекорацияКартинкаСтатусСинхронизации.Видимость = НЕ СведенияОСинхронизации.Синхронизирован;
-
Элементы.ДекорацияДатаСинхронизации.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(
НСтр("ru = 'Синхронизирован: %2'"),
"OpenJournal", Формат(СведенияОСинхронизации.ДатаСинхронизации, "ДЛФ=DD"));
-
КонецЕсли;
-
КонецЕсли;
-
Элементы.ГруппаПояснениеОблачногоСервиса.Видимость = ВидимостьПояснения;
КонецПроцедуры
diff --git "a/src/cf/CommonForms/\320\237\320\265\321\207\320\260\321\202\321\214\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" "b/src/cf/CommonForms/\320\237\320\265\321\207\320\260\321\202\321\214\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl"
index 952aa68ea1..81029b2a55 100644
--- "a/src/cf/CommonForms/\320\237\320\265\321\207\320\260\321\202\321\214\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl"
+++ "b/src/cf/CommonForms/\320\237\320\265\321\207\320\260\321\202\321\214\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl"
@@ -2161,7 +2161,7 @@
ПечатнаяФорма = ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита];
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.Вывести(ПечатнаяФорма);
- ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, УправлениеПечатью.КопируемыеСвойстваТабличногоДокумента());
+ УправлениеПечатью.СкопироватьСвойстваТабличногоДокумента(ТабличныйДокумент, ПечатнаяФорма);
ТабличныйДокумент.КоличествоЭкземпляров = НастройкаПечатнойФормы.Количество;
ТабличныеДокументы.Добавить(ТабличныйДокумент, НастройкаПечатнойФормы.Представление);
КонецЕсли;
diff --git "a/src/cf/CommonForms/\320\237\321\200\320\260\320\262\320\260\320\224\320\276\321\201\321\202\321\203\320\277\320\260/Ext/Form/Module.bsl" "b/src/cf/CommonForms/\320\237\321\200\320\260\320\262\320\260\320\224\320\276\321\201\321\202\321\203\320\277\320\260/Ext/Form/Module.bsl"
index 0b11595fd9..7dd0e5c16f 100644
--- "a/src/cf/CommonForms/\320\237\321\200\320\260\320\262\320\260\320\224\320\276\321\201\321\202\321\203\320\277\320\260/Ext/Form/Module.bsl"
+++ "b/src/cf/CommonForms/\320\237\321\200\320\260\320\262\320\260\320\224\320\276\321\201\321\202\321\203\320\277\320\260/Ext/Form/Module.bsl"
@@ -460,11 +460,15 @@
УстановитьПривилегированныйРежим(Истина);
+ Блокировка = Новый БлокировкаДанных;
+ ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыДоступа");
+ ЭлементБлокировки.УстановитьЗначение("Ссылка", ГруппаДоступа);
+
НачатьТранзакцию();
Попытка
- Блокировка = Новый БлокировкаДанных;
- ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыДоступа");
- ЭлементБлокировки.УстановитьЗначение("Ссылка", ГруппаДоступа);
+ Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
+ УправлениеДоступомСлужебный.ЗаблокироватьРегистрыПередЗаписьюОбъектаНастройкиДоступаВФайловойИБ();
+ КонецЕсли;
Блокировка.Заблокировать();
ГруппаДоступаОбъект = ГруппаДоступа.ПолучитьОбъект();
diff --git "a/src/cf/CommonForms/\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\263\320\276\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/CommonForms/\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\263\320\276\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
index a275fa59fd..8cf1265de8 100644
--- "a/src/cf/CommonForms/\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\263\320\276\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
+++ "b/src/cf/CommonForms/\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\263\320\276\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
@@ -1334,7 +1334,7 @@
СтандартнаяОбработка = Ложь;
Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
- Рисунок.Имя = ПодобратьИмяОбласти(ВыбранноеПоле.Имя);
+ Рисунок.Имя = ПодобратьИмяОбласти(ТабличныйДокумент, ВыбранноеПоле.Имя);
Рисунок.ПараметрРасшифровки = "[" + ВыбранноеПоле.ПутьКДанным + "]";
Рисунок.Картинка = БиблиотекаКартинок["ПечатьОрганизации"];
Рисунок.Расположить(Область);
@@ -1351,7 +1351,7 @@
Если СтрНачинаетсяС(ВыбранноеПоле.Имя, "Подпись") Тогда
СтандартнаяОбработка = Ложь;
Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
- Рисунок.Имя = ПодобратьИмяОбласти(ВыбранноеПоле.Имя);
+ Рисунок.Имя = ПодобратьИмяОбласти(ТабличныйДокумент, ВыбранноеПоле.Имя);
Рисунок.ПараметрРасшифровки = "[" + ВыбранноеПоле.ПутьКДанным + "]";
Рисунок.Картинка = БиблиотекаКартинок["Подпись"];
Рисунок.Расположить(Область);
@@ -1372,7 +1372,7 @@
ОбластьСтрок.СоздатьФорматСтрок();
ОбластьШтампа = ТабличныйДокумент.Область(Область.Верх, Область.Лево, Область.Верх + 6, Область.Лево + 1);
- ОбластьШтампа.Имя = ПодобратьИмяОбласти("ШтампЭП");
+ ОбластьШтампа.Имя = ПодобратьИмяОбласти(ТабличныйДокумент, "ШтампЭП");
ОбластьШтампа = ТабличныйДокумент.Область(Область.Верх, Область.Лево, Область.Верх + 6, Область.Лево);
ОбластьШтампа.ШиринаКолонки = 10;
@@ -1387,7 +1387,7 @@
СтандартнаяОбработка = Ложь;
Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
- Рисунок.Имя = ПодобратьИмяОбласти(ВыбранноеПоле.Имя);
+ Рисунок.Имя = ПодобратьИмяОбласти(ТабличныйДокумент, ВыбранноеПоле.Имя);
Рисунок.ПараметрРасшифровки = "[" + ВыбранноеПоле.ПутьКДанным + "]";
Рисунок.Расположить(Область);
Рисунок.Высота = 40;
@@ -1405,7 +1405,7 @@
СтандартнаяОбработка = Ложь;
Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
- Рисунок.Имя = ПодобратьИмяОбласти(ВыбранноеПоле.Имя);
+ Рисунок.Имя = ПодобратьИмяОбласти(ТабличныйДокумент, ВыбранноеПоле.Имя);
Рисунок.ПараметрРасшифровки = "[" + ВыбранноеПоле.ПутьКДанным + "]";
Рисунок.Расположить(Область);
Рисунок.Высота = 25.93;
@@ -1426,7 +1426,7 @@
СтандартнаяОбработка = Ложь;
Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
- Рисунок.Имя = ПодобратьИмяОбласти("Рисунок");
+ Рисунок.Имя = ПодобратьИмяОбласти(ТабличныйДокумент, "Рисунок");
Рисунок.ПараметрРасшифровки = "[" + ВыбранноеПоле.ПутьКДанным + "]";
Рисунок.Картинка = БиблиотекаКартинок["МестоДляКартинки"];
Рисунок.Расположить(Область);
@@ -2215,6 +2215,8 @@
КонецЕсли;
КонецЦикла;
+ ПереименоватьУсловныеОбласти(Макет, ПрефиксУсловнойОбласти());
+
Возврат Макет;
КонецФункции
@@ -2383,6 +2385,8 @@
КонецЕсли;
КонецЦикла;
+ ПереименоватьУсловныеОбласти(Макет, ЛокализованныйПрефиксУсловнойОбласти());
+
Возврат Макет;
КонецФункции
@@ -2764,28 +2768,54 @@
КонецПроцедуры
-&НаСервере
-Функция ПодобратьИмяОбласти(ИмяОбласти)
+&НаКлиентеНаСервереБезКонтекста
+Процедура ПереименоватьУсловныеОбласти(Макет, Префикс)
+
+ Области = Новый Массив;
+
+ Для Каждого Область Из Макет.Области Цикл
+ Если ТипЗнч(Область) = Тип("ОбластьЯчеекТабличногоДокумента")
+ И Область.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Строки Тогда
+ Области.Добавить(Область);
+ КонецЕсли;
+ КонецЦикла;
+
+ Для Каждого Область Из Области Цикл
+ ПодобратьИмяОбласти(Макет, Префикс, Область);
+ КонецЦикла;
+
+КонецПроцедуры
+
+&НаКлиентеНаСервереБезКонтекста
+Функция ПодобратьИмяОбласти(ТабличныйДокумент, Знач Префикс, Область = Неопределено)
ИспользованныеИмена = Новый Соответствие;
- Для Каждого Область Из ТабличныйДокумент.Области Цикл
- ИспользованныеИмена.Вставить(Область.Имя, Истина);
+ Для Каждого Элемент Из ТабличныйДокумент.Области Цикл
+ Если Область = Неопределено Или Элемент.Имя <> Область.Имя Тогда
+ ИспользованныеИмена.Вставить(Элемент.Имя, Истина);
+ КонецЕсли;
КонецЦикла;
Индекс = 1;
- Пока ИспользованныеИмена[ИмяОбласти(ИмяОбласти, Индекс)] <> Неопределено Цикл
+ Пока ИспользованныеИмена[ИмяОбласти(Префикс, Индекс)] <> Неопределено Цикл
Индекс = Индекс + 1;
КонецЦикла;
- Возврат ИмяОбласти(ИмяОбласти, Индекс);
+ НовоеИмяОбласти = ИмяОбласти(Префикс, Индекс);
+
+ Если Область <> Неопределено И Область.Имя <> НовоеИмяОбласти Тогда
+ Область.Имя = НовоеИмяОбласти;
+ КонецЕсли;
+
+ Возврат НовоеИмяОбласти;
КонецФункции
-&НаСервере
+&НаКлиентеНаСервереБезКонтекста
Функция ИмяОбласти(ИмяОбласти, Индекс)
- Возврат ИмяОбласти + Формат(Индекс, "ЧГ=0");
+ Возврат ИмяОбласти + Формат(Индекс, "ЧГ=0;");
КонецФункции
@@ -2989,12 +3019,26 @@
ТекущаяОбласть.ПараметрРасшифровки = ТекущееЗначение;
Если ЗначениеЗаполнено(ТекущееЗначение) Тогда
- ТекущаяОбласть.Имя = ПодобратьИмяОбласти("Условие_");
+ ПодобратьИмяОбласти(ТабличныйДокумент, ЛокализованныйПрефиксУсловнойОбласти(), ТекущаяОбласть);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
+&НаСервереБезКонтекста
+Функция ПрефиксУсловнойОбласти()
+
+ Возврат "Условие" + "_";
+
+КонецФункции
+
+&НаКлиентеНаСервереБезКонтекста
+Функция ЛокализованныйПрефиксУсловнойОбласти()
+
+ Возврат НСтр("ru = 'Условие'") + "_";
+
+КонецФункции
+
&НаКлиенте
Процедура ПриВыбореИмениМакета(НовоеИмяМакета, ДополнительныеПараметры) Экспорт
diff --git "a/src/cf/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\236\321\202\321\207\320\265\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\236\321\202\321\207\320\265\321\202\320\260/Ext/Form/Module.bsl"
index 8dfcb6a76c..f13dfdb569 100644
--- "a/src/cf/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\236\321\202\321\207\320\265\321\202\320\260/Ext/Form/Module.bsl"
+++ "b/src/cf/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\236\321\202\321\207\320\265\321\202\320\260/Ext/Form/Module.bsl"
@@ -115,8 +115,11 @@
НеобходимоОбновитьНастройки = Истина;
- Элементы.ОтборыЗначение.РасширенноеРедактированиеМножественныхЗначений = Истина;
- Элементы.ОтборыПравоеЗначение.РасширенноеРедактированиеМножественныхЗначений = Истина;
+ СистемнаяИнформация = Новый СистемнаяИнформация;
+ Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.23.1688") >= 0 Тогда
+ Элементы.ОтборыЗначение.РасширенноеРедактированиеМножественныхЗначений = Истина;
+ Элементы.ОтборыПравоеЗначение.РасширенноеРедактированиеМножественныхЗначений = Истина;
+ КонецЕсли;
КонецПроцедуры
&НаСервере
diff --git "a/src/cf/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Ext/Form/Module.bsl" "b/src/cf/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Ext/Form/Module.bsl"
index 17e43e9865..fcd2225ca2 100644
--- "a/src/cf/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Ext/Form/Module.bsl"
+++ "b/src/cf/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Ext/Form/Module.bsl"
@@ -1674,6 +1674,7 @@
ПараметрыФормированияОтчета.ИспользуемыеТаблицы = НастройкиОтчета.ИспользуемыеТаблицы;
ПараметрыФормированияОтчета.ДвоичныеДанныеВнешнегоОтчета = ?(ЗначениеЗаполнено(АдресДвоичныхДанныхВнешнегоОтчета),
ПолучитьИзВременногоХранилища(АдресДвоичныхДанныхВнешнегоОтчета), Неопределено);
+ ПараметрыФормированияОтчета.ПолноеИмяФайлаВнешнегоОтчета = ПутьКФайлуВнешнегоОтчетаНаКлиенте;
ПараметрыФормированияОтчета.ПараметрыИзменены = ПараметрыИзменены;
ПараметрыФормированияОтчета.СхемаМодифицирована = НастройкиОтчета.СхемаМодифицирована;
ПараметрыФормированияОтчета.НастройкиКД = Отчет.КомпоновщикНастроек.Настройки;
@@ -1775,8 +1776,12 @@
&НаКлиенте
Процедура ПоказатьДиалогОтправкиПоПочте()
+
+ СвойстваРезультата = НастройкиОтчета.СвойстваРезультата; // см. ВариантыОтчетовСлужебный.СвойстваРезультатаОтчета
+ РезультатОтчета = РезультатОтчетаДляСохранения(ОтчетТабличныйДокумент, СвойстваРезультата.Заголовки);
+
Вложение = Новый Структура;
- Вложение.Вставить("АдресВоВременномХранилище", ПоместитьВоВременноеХранилище(ОтчетТабличныйДокумент,
+ Вложение.Вставить("АдресВоВременномХранилище", ПоместитьВоВременноеХранилище(РезультатОтчета,
УникальныйИдентификатор));
Вложение.Вставить("Представление", ОтчетНаименованиеТекущегоВарианта);
diff --git "a/src/cf/CommonModules/\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/Module.bsl" "b/src/cf/CommonModules/\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/Module.bsl"
index d3bed5d33a..26bdd98295 100644
--- "a/src/cf/CommonModules/\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/Module.bsl"
@@ -1887,6 +1887,7 @@
// * ПользовательскиеНастройкиКД - ПользовательскиеНастройкиКомпоновкиДанных
// * ИдентификаторФормы - УникальныйИдентификатор - идентификатор формы, из которой подключается отчет.
// * ДвоичныеДанныеВнешнегоОтчета - Неопределено, ДвоичныеДанные - для выполнения в длительной операции.
+// * ПолноеИмяФайлаВнешнегоОтчета - Строка - для выполнения в длительной операции.
// * ИмяКлючевойОперации - Строка
// * КомментарийКлючевойОперации - Строка, Соответствие
// * ИспользуемыеТаблицы - Массив
@@ -1913,6 +1914,7 @@
Результат.Вставить("ИдентификаторФормы", Неопределено);
Результат.Вставить("ДвоичныеДанныеВнешнегоОтчета", Неопределено);
+ Результат.Вставить("ПолноеИмяФайлаВнешнегоОтчета", "");
Результат.Вставить("ИмяКлючевойОперации", "");
Результат.Вставить("КомментарийКлючевойОперации", "");
@@ -3340,6 +3342,7 @@
ДвоичныеДанныеСтруктура = Новый Структура;
ДвоичныеДанныеСтруктура.Вставить("ДвоичныеДанныеВнешнегоОтчета", Параметры.ДвоичныеДанныеВнешнегоОтчета);
+ ДвоичныеДанныеСтруктура.Вставить("ПолноеИмяФайлаВнешнегоОтчета", Параметры.ПолноеИмяФайлаВнешнегоОтчета);
ЗаполнитьЗначенияСвойств(ОтчетОбъект, ДвоичныеДанныеСтруктура);
КонецПроцедуры
diff --git "a/src/cf/CommonModules/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270/Ext/Module.bsl"
index 66edca5278..c6f39c32ed 100644
--- "a/src/cf/CommonModules/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270/Ext/Module.bsl"
@@ -1858,7 +1858,7 @@
МенеджерОбъекта = ?(ЭтоВнешнийОтчет, ВнешниеОтчеты, ВнешниеОбработки);
- Если ТипЗнч(ПараметрыВыполнения.ВнешнийОтчетОбработка) <> Тип("ДвоичныеДанные") Тогда
+ Если ПараметрыВыполнения.ВнешнийОтчетОбработка = Неопределено Тогда
Если ПараметрыВыполнения.ЗапуститьНеВФоне Тогда
Возврат МенеджерОбъекта.Создать(ИмяПодключеннойОбработкиОтчета, БезопасныйРежим());
Иначе
@@ -1881,19 +1881,48 @@
УстановитьОтключениеБезопасногоРежима(Истина);
КонецЕсли;
- ИмяВременногоФайлаОбработкиОтчета = ПолучитьИмяВременногоФайла();
- ПараметрыВыполнения.ВнешнийОтчетОбработка.Записать(ИмяВременногоФайлаОбработкиОтчета);
+ Если ТипЗнч(ПараметрыВыполнения.ВнешнийОтчетОбработка) = Тип("ДвоичныеДанные") Тогда
+ ДвоичныеДанные = ПараметрыВыполнения.ВнешнийОтчетОбработка;
+ ПолноеИмяФайла = "";
+ СоздатьВременныйФайл = Истина;
+ Иначе
+ ДвоичныеДанные = ПараметрыВыполнения.ВнешнийОтчетОбработка.ДвоичныеДанные;
+ ПолноеИмяФайла = ПараметрыВыполнения.ВнешнийОтчетОбработка.ПолноеИмяФайла;
+ Если Не ЗначениеЗаполнено(ПолноеИмяФайла) Тогда
+ СоздатьВременныйФайл = Истина;
+ Иначе
+ СоздатьВременныйФайл = Ложь;
+ Попытка
+ ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ПолноеИмяФайла);
+ Исключение
+ СоздатьВременныйФайл = Истина;
+ КонецПопытки;
+ Если Не СоздатьВременныйФайл Тогда
+ СоздатьВременныйФайл = ДвоичныеДанныеФайла <>
+ ПараметрыВыполнения.ВнешнийОтчетОбработка.ДвоичныеДанные;
+ КонецЕсли;
+ КонецЕсли;
+ КонецЕсли;
+
+ Если СоздатьВременныйФайл Тогда
+ ПолноеИмяФайла = ПолучитьИмяВременногоФайла();
+ ДвоичныеДанные.Записать(ПолноеИмяФайла);
+ КонецЕсли;
Попытка
- ОбработкаОтчетОбъект = МенеджерОбъекта.Создать(ИмяВременногоФайлаОбработкиОтчета, БезопасныйРежим);
+ ОбработкаОтчетОбъект = МенеджерОбъекта.Создать(ПолноеИмяФайла, БезопасныйРежим);
Исключение
- УдалитьФайлы(ИмяВременногоФайлаОбработкиОтчета);
+ Если СоздатьВременныйФайл Тогда
+ УдалитьФайлы(ПолноеИмяФайла);
+ КонецЕсли;
Если БезопасныйРежим <> Ложь Тогда
УстановитьОтключениеБезопасногоРежима(Ложь);
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
- УдалитьФайлы(ИмяВременногоФайлаОбработкиОтчета);
+ Если СоздатьВременныйФайл Тогда
+ УдалитьФайлы(ПолноеИмяФайла);
+ КонецЕсли;
Если БезопасныйРежим <> Ложь Тогда
УстановитьОтключениеБезопасногоРежима(Ложь);
КонецЕсли;
diff --git "a/src/cf/CommonModules/\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\265\320\236\321\202\321\207\320\265\321\202\321\213\320\230\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\265\320\236\321\202\321\207\320\265\321\202\321\213\320\230\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/Ext/Module.bsl"
index c49e329980..d4a742fc70 100644
--- "a/src/cf/CommonModules/\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\265\320\236\321\202\321\207\320\265\321\202\321\213\320\230\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\265\320\236\321\202\321\207\320\265\321\202\321\213\320\230\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270/Ext/Module.bsl"
@@ -56,7 +56,8 @@
КонецЕсли;
ПараметрыЗапуска = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "БезопасныйРежим, ХранилищеОбработки");
- АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ПараметрыЗапуска.ХранилищеОбработки.Получить());
+ ДвоичныеДанные = ПараметрыЗапуска.ХранилищеОбработки.Получить();
+ АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда
МодульРаботаВБезопасномРежиме = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежиме");
@@ -101,20 +102,33 @@
КонецЕсли;
- ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , Истина,
- ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());
- ВнешнийОбъект = Менеджер.Создать(ИмяОбработки);
- СведенияОВнешнейОбработке = ВнешнийОбъект.СведенияОВнешнейОбработке();
- Если (Не СведенияОВнешнейОбработке.БезопасныйРежим Или ЕстьРазрешения)
- И Не БезопасныйРежим Тогда
- // Повторное подключение в небезопасном режиме, если разрешено.
- ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим,
+ РежимПодключения = РежимПодключенияОтчетаОбработки(Ссылка, ДвоичныеДанные);
+ Если РежимПодключения = Неопределено Тогда
+ БезопасныйРежимПервогоПодключения = ?(БезопасныйРежим <> Ложь, БезопасныйРежим, Истина);
+ РежимПодключения = БезопасныйРежимПервогоПодключения;
+
+ ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежимПервогоПодключения,
+ ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());
+ ВнешнийОбъект = Менеджер.Создать(ИмяОбработки);
+
+ СведенияОВнешнейОбработке = ВнешнийОбъект.СведенияОВнешнейОбработке();
+ Если (Не СведенияОВнешнейОбработке.БезопасныйРежим Или ЕстьРазрешения)
+ И БезопасныйРежим = Ложь Тогда
+ // Повторное подключение в небезопасном режиме, если разрешено.
+ ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим,
+ ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());
+
+ РежимПодключения = БезопасныйРежим;
+ СохранитьРежимПодключенияОтчетаОбработки(Ссылка, ДвоичныеДанные, БезопасныйРежим);
+ КонецЕсли;
+ Иначе
+ ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , РежимПодключения,
ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());
КонецЕсли;
ЗаписатьПримечание(Ссылка,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Подключение, %1 = ""%2"".'"), "БезопасныйРежим",
- СведенияОВнешнейОбработке.БезопасныйРежим Или БезопасныйРежим));
+ РежимПодключения));
Возврат ИмяОбработки;
@@ -942,6 +956,11 @@
КонецПроцедуры
+// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииОбработчиковУстановкиПараметровСеанса.
+Процедура ПриДобавленииОбработчиковУстановкиПараметровСеанса(Обработчики) Экспорт
+ Обработчики.Вставить("РежимыЗапускаВнешнихОтчетовИОбработок", "ДополнительныеОтчетыИОбработки.УстановкаПараметровСеанса");
+КонецПроцедуры
+
// См. СтандартныеПодсистемыСервер.ПриПолученииДанныхОтПодчиненного.
Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель) Экспорт
@@ -1789,6 +1808,77 @@
#Область СлужебныеПроцедурыИФункции
+// Параметры:
+// ИмяПараметра - Строка
+// УстановленныеПараметры - Массив из Строка
+//
+Процедура УстановкаПараметровСеанса(Знач ИмяПараметра, УстановленныеПараметры) Экспорт
+ Если ИмяПараметра = "РежимыЗапускаВнешнихОтчетовИОбработок" Тогда
+ ПараметрыСеанса.РежимыЗапускаВнешнихОтчетовИОбработок = Новый ФиксированноеСоответствие(Новый Соответствие);
+ УстановленныеПараметры.Добавить("РежимыЗапускаВнешнихОтчетовИОбработок");
+ КонецЕсли;
+КонецПроцедуры
+
+// Возвращаемое значение:
+// Булево, Неопределено
+//
+Функция РежимПодключенияОтчетаОбработки(Ссылка, ДвоичныеДанные)
+
+ УстановитьПривилегированныйРежим(Истина);
+ ПараметрыОбработки = ПараметрыСеанса.РежимыЗапускаВнешнихОтчетовИОбработок.Получить(Ссылка);
+ УстановитьПривилегированныйРежим(Ложь);
+ Если ПараметрыОбработки = Неопределено Тогда
+ Возврат ПараметрыОбработки;
+ КонецЕсли;
+
+ Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256);
+ Хеширование.Добавить(ДвоичныеДанные);
+
+ Если Base64Строка(Хеширование.ХешСумма) <> ПараметрыОбработки.ХешСумма Тогда
+ Возврат Неопределено;
+ КонецЕсли;
+
+ Возврат ПараметрыОбработки.БезопасныйРежим;
+
+КонецФункции
+
+Процедура СохранитьРежимПодключенияОтчетаОбработки(Ссылка, ДвоичныеДанные, БезопасныйРежим)
+
+ Хеширование = Новый ХешированиеДанных(ХешФункция.SHA256);
+ Хеширование.Добавить(ДвоичныеДанные);
+
+ ПараметрыПодключения = НовыеПараметрыПодключенияВнешнихОтчетовИОбработок();
+ ПараметрыПодключения.ХешСумма = Base64Строка(Хеширование.ХешСумма);
+ ПараметрыПодключения.БезопасныйРежим = БезопасныйРежим;
+
+ УстановитьПривилегированныйРежим(Истина);
+ ТекущиеПараметры = Новый Соответствие(ПараметрыСеанса.РежимыЗапускаВнешнихОтчетовИОбработок);
+ УстановитьПривилегированныйРежим(Ложь);
+
+ ТекущиеПараметры.Вставить(Ссылка, Новый ФиксированнаяСтруктура(ПараметрыПодключения));
+
+ УстановитьПривилегированныйРежим(Истина);
+ ПараметрыСеанса.РежимыЗапускаВнешнихОтчетовИОбработок = Новый ФиксированноеСоответствие(ТекущиеПараметры);
+ УстановитьПривилегированныйРежим(Ложь);
+
+КонецПроцедуры
+
+// Возвращаемое значение:
+// Структура:
+// * ХешСумма - Строка
+// * БезопасныйРежим - Булево, Строка
+//
+Функция НовыеПараметрыПодключенияВнешнихОтчетовИОбработок()
+
+ Параметры = Новый Структура;
+ Параметры.Вставить("ХешСумма");
+ Параметры.Вставить("БезопасныйРежим");
+
+ Возврат Параметры;
+
+КонецФункции
+
+
////////////////////////////////////////////////////////////////////////////////
// Регламентные задания
diff --git "a/src/cf/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\221\320\241\320\237/Ext/Module.bsl" "b/src/cf/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\221\320\241\320\237/Ext/Module.bsl"
index 46b42c0d48..17c8757ec1 100644
--- "a/src/cf/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\221\320\241\320\237/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\221\320\241\320\237/Ext/Module.bsl"
@@ -354,7 +354,12 @@
"ОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса");
МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса.ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки(Типы);
КонецЕсли;
-
+
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСПочтовымиСообщениями") Тогда
+ МодульРаботаСПочтовымиСообщениямиСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаСПочтовымиСообщениямиСлужебный");
+ МодульРаботаСПочтовымиСообщениямиСлужебный.ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки(Типы);
+ КонецЕсли;
+
Если ОбщегоНазначения.ПодсистемаСуществует(
"СтандартныеПодсистемы.РаботаВМоделиСервиса.РаботаСФайламиВМоделиСервиса") Тогда
МодульРаботаСФайламиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаСФайламиСлужебныйВМоделиСервиса");
@@ -1054,6 +1059,11 @@
МодульДатыЗапретаИзмененияСлужебный = ОбщегоНазначения.ОбщийМодуль("ДатыЗапретаИзмененияСлужебный");
МодульДатыЗапретаИзмененияСлужебный.ПриДобавленииОбработчиковУстановкиПараметровСеанса(Обработчики);
КонецЕсли;
+
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда
+ МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки");
+ МодульДополнительныеОтчетыИОбработки.ПриДобавленииОбработчиковУстановкиПараметровСеанса(Обработчики);
+ КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульУправлениеКонтактнойИнформациейСлужебный = ОбщегоНазначения.ОбщийМодуль(
diff --git "a/src/cf/CommonModules/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270\320\244\320\235\320\241\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270\320\244\320\235\320\241\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
index 35322da8f4..99beaebd6e 100644
--- "a/src/cf/CommonModules/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270\320\244\320\235\320\241\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\234\320\260\321\210\320\270\320\275\320\276\321\207\320\270\321\202\320\260\320\265\320\274\321\213\320\265\320\224\320\276\320\262\320\265\321\200\320\265\320\275\320\275\320\276\321\201\321\202\320\270\320\244\320\235\320\241\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
@@ -3453,6 +3453,8 @@
Функция РассчитатьТехническийСтатус(Доверенность, Знач Подписана = Неопределено, ЗаписыватьСтатус = Истина) Экспорт
+ УстановитьПривилегированныйРежим(Истина);
+
Если ТипЗнч(Доверенность) = Тип("СправочникОбъект.МашиночитаемыеДоверенности") Тогда
ДоверенностьСсылка = Доверенность.Ссылка;
РегистрироватьВРеестре = Доверенность.РегистрироватьВРеестре;
@@ -3461,51 +3463,71 @@
РегистрироватьВРеестре = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Доверенность, "РегистрироватьВРеестре");
КонецЕсли;
- УстановитьПривилегированныйРежим(Истина);
-
ВнешниеСтатусы = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.ВнешниеСтатусы();
- Запись = РегистрыСведений.МашиночитаемыеДоверенностиСтатусы.СоздатьМенеджерЗаписи();
- Запись.МашиночитаемаяДоверенность = ДоверенностьСсылка;
- Запись.Прочитать();
-
- ЭтоВнешнийСтатус = ВнешниеСтатусы[Запись.ТехническийСтатус] = Истина;
+ Блокировка = Новый БлокировкаДанных;
+ ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.МашиночитаемыеДоверенностиСтатусы");
+ ЭлементБлокировки.УстановитьЗначение("МашиночитаемаяДоверенность", ДоверенностьСсылка);
+
+ НачатьТранзакцию();
+ Попытка
+
+ Блокировка.Заблокировать();
- Если ЭтоВнешнийСтатус Тогда
- Если ТипЗнч(Доверенность) = Тип("СправочникОбъект.МашиночитаемыеДоверенности") И Не РегистрироватьВРеестре Тогда
- Доверенность.РегистрироватьВРеестре = Истина;
+ НаборЗаписей = РегистрыСведений.МашиночитаемыеДоверенностиСтатусы.СоздатьНаборЗаписей();
+ НаборЗаписей.Отбор.МашиночитаемаяДоверенность.Установить(ДоверенностьСсылка);
+ НаборЗаписей.Прочитать();
+
+ Если НаборЗаписей.Количество() = 0 Тогда
+ Запись = НаборЗаписей.Добавить();
+ Иначе
+ Запись = НаборЗаписей[0]
+ КонецЕсли;
+
+ ЭтоВнешнийСтатус = ВнешниеСтатусы[Запись.ТехническийСтатус] = Истина;
+
+ Если ЭтоВнешнийСтатус Тогда
+ Если ТипЗнч(Доверенность) = Тип("СправочникОбъект.МашиночитаемыеДоверенности") И Не РегистрироватьВРеестре Тогда
+ Доверенность.РегистрироватьВРеестре = Истина;
+ КонецЕсли;
+ Если Запись.Подписана И Подписана <> Истина Или Подписана = Неопределено Тогда
+ ЗафиксироватьТранзакцию();
+ Возврат Запись.ТехническийСтатус;
+ КонецЕсли;
КонецЕсли;
- Если Запись.Подписана И Подписана <> Истина Или Подписана = Неопределено Тогда
- Возврат Запись.ТехническийСтатус;
+
+ ЗаписатьСтатус = Ложь;
+ Если Подписана <> Неопределено И Запись.Подписана <> Подписана Тогда
+ Запись.Подписана = Подписана;
+ ЗаписатьСтатус = Истина;
КонецЕсли;
- КонецЕсли;
-
- ЗаписатьСтатус = Ложь;
- Если Подписана <> Неопределено И Запись.Подписана <> Подписана Тогда
- Запись.Подписана = Подписана;
- ЗаписатьСтатус = Истина;
- КонецЕсли;
- Если Не ЭтоВнешнийСтатус Тогда
- Если Запись.Подписана Тогда
- Если РегистрироватьВРеестре Тогда
- ТехническийСтатус = Перечисления.ТехническиеСтатусыМЧД.Подписана;
+ Если Не ЭтоВнешнийСтатус Тогда
+ Если Запись.Подписана Тогда
+ Если РегистрироватьВРеестре Тогда
+ ТехническийСтатус = Перечисления.ТехническиеСтатусыМЧД.Подписана;
+ Иначе
+ ТехническийСтатус = Перечисления.ТехническиеСтатусыМЧД.Активна;
+ КонецЕсли;
Иначе
- ТехническийСтатус = Перечисления.ТехническиеСтатусыМЧД.Активна;
+ ТехническийСтатус = Перечисления.ТехническиеСтатусыМЧД.Создание;
+ КонецЕсли;
+ Если Запись.ТехническийСтатус <> ТехническийСтатус Тогда
+ Запись.ТехническийСтатус = ТехническийСтатус;
+ ЗаписатьСтатус = Истина;
КонецЕсли;
- Иначе
- ТехническийСтатус = Перечисления.ТехническиеСтатусыМЧД.Создание;
КонецЕсли;
- Если Запись.ТехническийСтатус <> ТехническийСтатус Тогда
- Запись.ТехническийСтатус = ТехническийСтатус;
- ЗаписатьСтатус = Истина;
+
+ Если ЗаписатьСтатус И ЗаписыватьСтатус Тогда
+ Запись.МашиночитаемаяДоверенность = ДоверенностьСсылка;
+ НаборЗаписей.Записать();
КонецЕсли;
- КонецЕсли;
-
- Если ЗаписатьСтатус И ЗаписыватьСтатус Тогда
- Запись.МашиночитаемаяДоверенность = ДоверенностьСсылка;
- Запись.Записать();
- КонецЕсли;
+
+ ЗафиксироватьТранзакцию();
+ Исключение
+ ОтменитьТранзакцию();
+ ВызватьИсключение;
+ КонецПопытки;
Возврат ТехническийСтатус;
@@ -4813,21 +4835,47 @@
КонецПроцедуры
Процедура УстановитьСтатусРегистрации(Доверенность, ИдентификаторТранзакции = Неопределено, ЭтоОтмена = Ложь) Экспорт
- ЗаписьСтатуса = РегистрыСведений.МашиночитаемыеДоверенностиСтатусы.СоздатьМенеджерЗаписи();
- ЗаписьСтатуса.МашиночитаемаяДоверенность = Доверенность;
- ЗаписьСтатуса.Прочитать();
- ЗаписьСтатуса.МашиночитаемаяДоверенность = Доверенность;
- ЗаписьСтатуса.ДатаТранзакции = ТекущаяДатаСеанса();
- ЗаписьСтатуса.ИдентификаторТранзакции = ИдентификаторТранзакции;
- Если ЭтоОтмена Тогда
- ЗаписьСтатуса.ТехническийСтатус = Перечисления.ТехническиеСтатусыМЧД.РегистрацияОтмены;
- ЗаписьСтатуса.ТипТранзакции = Перечисления.ТипыТранзакцийСРеестромМЧД.Отмена;
- Иначе
- ЗаписьСтатуса.ТехническийСтатус = Перечисления.ТехническиеСтатусыМЧД.Регистрация;
- ЗаписьСтатуса.ТипТранзакции = Перечисления.ТипыТранзакцийСРеестромМЧД.Регистрация;
- КонецЕсли;
+
УстановитьПривилегированныйРежим(Истина);
- ЗаписьСтатуса.Записать();
+
+ Блокировка = Новый БлокировкаДанных;
+ ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.МашиночитаемыеДоверенностиСтатусы");
+ ЭлементБлокировки.УстановитьЗначение("МашиночитаемаяДоверенность", Доверенность);
+
+ НачатьТранзакцию();
+ Попытка
+
+ Блокировка.Заблокировать();
+
+ НаборЗаписей = РегистрыСведений.МашиночитаемыеДоверенностиСтатусы.СоздатьНаборЗаписей();
+ НаборЗаписей.Отбор.МашиночитаемаяДоверенность.Установить(Доверенность);
+ НаборЗаписей.Прочитать();
+
+ Если НаборЗаписей.Количество() > 0 Тогда
+ ЗаписьСтатуса = НаборЗаписей[0];
+ Иначе
+ ЗаписьСтатуса = НаборЗаписей.Добавить();
+ КонецЕсли;
+
+ ЗаписьСтатуса.МашиночитаемаяДоверенность = Доверенность;
+ ЗаписьСтатуса.ДатаТранзакции = ТекущаяДатаСеанса();
+ ЗаписьСтатуса.ИдентификаторТранзакции = ИдентификаторТранзакции;
+ Если ЭтоОтмена Тогда
+ ЗаписьСтатуса.ТехническийСтатус = Перечисления.ТехническиеСтатусыМЧД.РегистрацияОтмены;
+ ЗаписьСтатуса.ТипТранзакции = Перечисления.ТипыТранзакцийСРеестромМЧД.Отмена;
+ Иначе
+ ЗаписьСтатуса.ТехническийСтатус = Перечисления.ТехническиеСтатусыМЧД.Регистрация;
+ ЗаписьСтатуса.ТипТранзакции = Перечисления.ТипыТранзакцийСРеестромМЧД.Регистрация;
+ КонецЕсли;
+
+ НаборЗаписей.Записать();
+
+ ЗафиксироватьТранзакцию();
+ Исключение
+ ОтменитьТранзакцию();
+ ВызватьИсключение;
+ КонецПопытки;
+
КонецПроцедуры
Процедура ПриИзмененииСтатусаДоверенности(ИзменившиесяСтатусы) Экспорт
diff --git "a/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213/Ext/Module.bsl" "b/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213/Ext/Module.bsl"
index 7415d7c4f4..6268e6835d 100644
--- "a/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213/Ext/Module.bsl"
@@ -1958,8 +1958,8 @@
ТекстыЗапроса = Новый Массив;
ТекстыЗапросаРегистров = Новый Массив;
+ ТекстыЗапросаПромежуточный = Новый Массив;
ОтборУстановлен = Ложь;
-
Для Каждого ОбрабатываемыйТип Из ПолныеИменаОбрабатываемыхОбъектов Цикл
Если ТипЗнч(ОбрабатываемыйТип) = Тип("ОбъектМетаданных") Тогда
@@ -2064,7 +2064,8 @@
|ГДЕ
| ТаблицаИзменений.Регистратор = ПроверяемаяТаблица.Ссылка)";
- КоллекцияЗапросов = Новый Массив;
+ ЗапросыСуществования = Новый Массив;
+ ЗапросыСуществованияИтоговый = Новый Массив;
ТипыРегистратора = МетаданныеОбъекта.СтандартныеРеквизиты.Регистратор.Тип;
ТипыРегистратора = ТипыРегистратора.Типы();
Для Каждого ТипРегистратора Из ТипыРегистратора Цикл
@@ -2074,10 +2075,17 @@
КонецЕсли;
ПолноеИмяРегистратора = МетаданныеРегистратора.ПолноеИмя();
ТекстЗапросаПроверки = СтрЗаменить(ШаблонЗапросаПроверки, "#ИмяТаблицы", ПолноеИмяРегистратора);
- КоллекцияЗапросов.Добавить(ТекстЗапросаПроверки);
+ ЗапросыСуществования.Добавить(ТекстЗапросаПроверки);
+
+ Если ЗапросыСуществования.Количество() >= 200 Тогда
+ ЗапросыСуществованияИтоговый.Добавить(СтрСоединить(ЗапросыСуществования, Символы.ПС + "ИЛИ "));
+ ЗапросыСуществования.Очистить();
+ КонецЕсли;
КонецЦикла;
- УсловиеПроверкиРегистратора = СтрСоединить(КоллекцияЗапросов, Символы.ПС + "ИЛИ ");
+ Если ЗапросыСуществования.Количество() > 0 Тогда
+ ЗапросыСуществованияИтоговый.Добавить(СтрСоединить(ЗапросыСуществования, Символы.ПС + "ИЛИ "));
+ КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1
@@ -2093,6 +2101,10 @@
УсловиеОтбораДанных = "ТаблицаИзменений.Регистратор В (&Отбор)";
КонецЕсли;
+ Для Каждого ЗапросСуществования Из ЗапросыСуществованияИтоговый Цикл
+ ПромежуточныйТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеПоРегистраторам", ЗапросСуществования);
+ ТекстыЗапросаПромежуточный.Добавить(ПромежуточныйТекстЗапроса);
+ КонецЦикла;
Иначе
ТекстИсключения = НСтр("ru = 'Для типа метаданных ""%1"" не поддерживается проверка в функции %2'");
ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстИсключения,
@@ -2100,18 +2112,24 @@
ВызватьИсключение ТекстИсключения;
КонецЕсли;
- ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ТаблицаИзменений", ПолноеИмяОбъекта + ".Изменения");
- ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ТаблицаОбъекта", ПолноеИмяОбъекта);
- ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ИмяОбъекта", ИмяОбъекта);
- ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеОтбораДанных", УсловиеОтбораДанных);
- ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеПоРегистраторам", УсловиеПроверкиРегистратора);
-
- Если ПроверкаРегистра Тогда
- ТекстыЗапросаРегистров.Добавить(ТекстЗапроса);
- Иначе
- ТекстыЗапроса.Добавить(ТекстЗапроса);
+ Если ТекстыЗапросаПромежуточный.Количество() = 0 Тогда
+ ТекстыЗапросаПромежуточный.Добавить(ТекстЗапроса);
КонецЕсли;
+ Для Каждого ТекстЗапроса Из ТекстыЗапросаПромежуточный Цикл
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ТаблицаИзменений", ПолноеИмяОбъекта + ".Изменения");
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ТаблицаОбъекта", ПолноеИмяОбъекта);
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ИмяОбъекта", ИмяОбъекта);
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеОтбораДанных", УсловиеОтбораДанных);
+ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеПоРегистраторам", УсловиеПроверкиРегистратора);
+
+ Если ПроверкаРегистра Тогда
+ ТекстыЗапросаРегистров.Добавить(ТекстЗапроса);
+ Иначе
+ ТекстыЗапроса.Добавить(ТекстЗапроса);
+ КонецЕсли;
+ КонецЦикла;
+
КонецЦикла;
Соединитель = "
diff --git "a/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\221\320\241\320\237/Ext/Module.bsl" "b/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\221\320\241\320\237/Ext/Module.bsl"
index 3a9da3f413..7221ca8108 100644
--- "a/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\221\320\241\320\237/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\221\320\241\320\237/Ext/Module.bsl"
@@ -45,7 +45,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
- Описание.Версия = "3.1.10.369";
+ Описание.Версия = "3.1.10.383";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
diff --git "a/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
index 809c520379..067575dfcf 100644
--- "a/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
@@ -7932,7 +7932,7 @@
НайденныеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
Для Каждого НайденноеЗадание Из НайденныеЗадания Цикл
НайденноеЗадание.Отменить();
- НайденноеЗадание.ОжидатьЗавершенияВыполнения(7);
+ НайденноеЗадание.ОжидатьЗавершенияВыполнения(60);
КонецЦикла;
Если Не ОтменитьУправляющееЗадание Тогда
@@ -7945,7 +7945,7 @@
НайденныеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
Для Каждого НайденноеЗадание Из НайденныеЗадания Цикл
НайденноеЗадание.Отменить();
- НайденноеЗадание.ОжидатьЗавершенияВыполнения(7);
+ НайденноеЗадание.ОжидатьЗавершенияВыполнения(60);
КонецЦикла;
КонецПроцедуры
@@ -7962,7 +7962,7 @@
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Процедура %1 не может вызываться в неразделенном режиме.'"),
- "ОчиститьПолностьюПослеУспешногоОтложенногоОбновления");
+ "ОчиститьУстаревшиеДанныеПолностью");
ВызватьИсключение(ЗаголовокОшибки + ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
КонецЕсли;
@@ -8016,7 +8016,7 @@
КонецПроцедуры
-// Для вызова из формы и процедуры ОчиститьПолностьюПослеУспешногоОтложенногоОбновления.
+// Для вызова из формы и процедуры ОчиститьУстаревшиеДанныеПолностью.
Функция ТекстОшибкиОчисткиУстаревшихДанных(Результаты) Экспорт
Если ТипЗнч(Результаты) <> Тип("Соответствие") Тогда
diff --git "a/src/cf/CommonModules/\320\236\321\202\321\207\320\265\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" "b/src/cf/CommonModules/\320\236\321\202\321\207\320\265\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl"
index 1a237c6f19..504726f0ea 100644
--- "a/src/cf/CommonModules/\320\236\321\202\321\207\320\265\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\236\321\202\321\207\320\265\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl"
@@ -740,10 +740,16 @@
КонецЦикла;
СписокТиповПользователей.СортироватьПоПредставлению();
КонецЕсли;
- Форма.ПоказатьВыборИзМеню(
- Новый ОписаниеОповещения("ВыбратьПользователейПослеВыбораТипа", ЭтотОбъект, Контекст),
- СписокТиповПользователей,
- ЭлементФормы);
+ Если СписокТиповПользователей.Количество() > 10 Тогда
+ ОткрытьФорму("ОбщаяФорма.ВводЗначенийСпискомСФлажками",
+ ОбработчикПродолжения.ДополнительныеПараметры.ПараметрыОткрытия,
+ Форма,,,, ОбработчикВыбора);
+ Иначе
+ Форма.ПоказатьВыборИзМеню(
+ Новый ОписаниеОповещения("ВыбратьПользователейПослеВыбораТипа", ЭтотОбъект, Контекст),
+ СписокТиповПользователей,
+ ЭлементФормы);
+ КонецЕсли;
КонецЕсли;
КонецПроцедуры
diff --git "a/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\262\321\213\320\274\320\270\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\274\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\262\321\213\320\274\320\270\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\274\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
index fad0f9d289..7a2b1c28db 100644
--- "a/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\262\321\213\320\274\320\270\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\274\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\262\321\213\320\274\320\270\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\274\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
@@ -451,6 +451,13 @@
КонецПроцедуры
+// См. ВыгрузкаЗагрузкаДанныхПереопределяемый.ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки.
+Процедура ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки(Типы) Экспорт
+
+ Типы.Добавить(Метаданные.Константы.УчетнаяЗаписьДляВосстановленияПароля);
+
+КонецПроцедуры
+
// См. УправлениеДоступомПереопределяемый.ПриЗаполненииВидовОграниченийПравОбъектовМетаданных.
Процедура ПриЗаполненииВидовОграниченийПравОбъектовМетаданных(Описание) Экспорт
diff --git "a/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270/Ext/Module.bsl" "b/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270/Ext/Module.bsl"
index 2aa764854f..7e9005468d 100644
--- "a/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270/Ext/Module.bsl"
@@ -1425,7 +1425,7 @@
КонецЕсли;
СведенияОСинхронизации = РаботаСФайламиСлужебный.СведенияОСинхронизации(ВладелецПрисоединенныхФайлов);
- ФайлыРедактируютсяВОблачномСервисе = СведенияОСинхронизации.Количество() > 0;
+ ФайлыРедактируютсяВОблачномСервисе = СведенияОСинхронизации <> Неопределено;
ДоступноДобавление = Не ФайлыРедактируютсяВОблачномСервисе
И ПравоДоступа("ИнтерактивноеДобавление", МетаданныеСправочникаСФайлами);
diff --git "a/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
index 747f3c3990..47c4154d71 100644
--- "a/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl"
@@ -9222,7 +9222,27 @@
КонецФункции
-Функция СведенияОСинхронизации(Знач ВладелецФайла = Неопределено) Экспорт
+// Параметры:
+// ВладелецФайла - ОпределяемыйТип.ВладелецФайлов
+//
+// Возвращаемое значение:
+// Неопределено
+// Структура:
+// * УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиСинхронизацииФайлов
+// * ДатаСинхронизации - Дата
+// * НомерСеанса - Число
+// * Синхронизирован - Булево
+// * ДатаСинхронизацииЗавершение - Дата
+// * Href - Строка
+// * УчетнаяЗаписьНаименование - Строка
+// * Сервис - Строка
+// * АдресПапкиВОблачномСервисе - Строка
+//
+Функция СведенияОСинхронизации(Знач ВладелецФайла) Экспорт
+
+ Если ВладелецФайла = Неопределено Или ВладелецФайла.Пустая() Тогда // если файл новый
+ Возврат Неопределено;
+ КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
@@ -9243,14 +9263,13 @@
| СтатусыСинхронизацииФайловСОблачнымСервисом.Файл = &Файл";
Запрос.УстановитьПараметр("Файл", ВладелецФайла);
+
Таблица = Запрос.Выполнить().Выгрузить();
+ Если Таблица.Количество() > 0 Тогда
+ Возврат ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(Таблица[0]);
+ КонецЕсли;
- Пока Таблица.Количество() > 0 Цикл
- Результат = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(Таблица[0]);
- Возврат Результат;
- КонецЦикла;
-
- Возврат Новый Структура();
+ Возврат Неопределено;
КонецФункции
diff --git "a/src/cf/CommonModules/\320\240\320\260\321\201\321\201\321\213\320\273\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/Module.bsl" "b/src/cf/CommonModules/\320\240\320\260\321\201\321\201\321\213\320\273\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/Module.bsl"
index 4923c1288d..8ea1999479 100644
--- "a/src/cf/CommonModules/\320\240\320\260\321\201\321\201\321\213\320\273\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\240\320\260\321\201\321\201\321\213\320\273\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/Module.bsl"
@@ -2237,13 +2237,27 @@
КонецЦикла;
КонецЕсли;
Исключение
- ЗаписьЖурнала(ПараметрыЖурнала, , ШаблонСообщенияОбОшибке, ИнформацияОбОшибке());
+ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернета") Тогда
+ МодульПолучениеФайловИзИнтернета = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернета");
+ РезультатДиагностики = МодульПолучениеФайловИзИнтернета.ДиагностикаСоединения(ПараметрыДоставки.Сервер);
+ ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
+ НСтр("ru = '%1
+ |
+ |Результат диагностики:
+ |%2'"),
+ ШаблонСообщенияОбОшибке,
+ РезультатДиагностики.ОписаниеОшибки);
+ Иначе
+ ТекстОшибки = ШаблонСообщенияОбОшибке;
+ КонецЕсли;
+
+ ЗаписьЖурнала(ПараметрыЖурнала, , ТекстОшибки, ИнформацияОбОшибке());
Если ПолучитьФункциональнуюОпцию("ХранитьИсториюРассылкиОтчетов")
И ТипЗнч(ПараметрыЖурнала.Данные) = Тип("СправочникСсылка.РассылкиОтчетов") Тогда
Для Каждого Получатель Из ВсеПолучатели Цикл
ПоляИстории = ПоляИсторииРассылкиОтчетов(ПараметрыЖурнала.Данные, Получатель, ПараметрыДоставки.ДатаВыполнения);
ПоляИстории.УчетнаяЗапись = ПараметрыДоставки.УчетнаяЗапись;
- ПоляИстории.Комментарий = ШаблонСообщенияОбОшибке;
+ ПоляИстории.Комментарий = ТекстОшибки;
ПоляИстории.Выполнена = Ложь;
ПоляИстории.СпособПолучения = СпособПолученияРассылки(ПараметрыДоставки, Получатель);
ПоляИстории.ИдентификаторПисьма = "";
@@ -2428,14 +2442,14 @@
ТекстДляПользователя = Текст;
Если ТипЗнч(ОписаниеПроблемы) = Тип("ИнформацияОбОшибке") Тогда
Если ЗаписатьВЖурнал Тогда
- ТекстДляЖурнала = ТекстДляЖурнала + Символы.ПС + ОбработкаОшибок.ПодробноеПредставлениеОшибки(ОписаниеПроблемы);
+ ТекстДляЖурнала = ТекстДляЖурнала + Символы.ПС + Символы.ПС + ОбработкаОшибок.ПодробноеПредставлениеОшибки(ОписаниеПроблемы);
КонецЕсли;
- ТекстДляПользователя = ТекстДляПользователя + Символы.ПС + ОбработкаОшибок.КраткоеПредставлениеОшибки(ОписаниеПроблемы);
+ ТекстДляПользователя = ТекстДляПользователя + Символы.ПС + Символы.ПС + ОбработкаОшибок.КраткоеПредставлениеОшибки(ОписаниеПроблемы);
ИначеЕсли ТипЗнч(ОписаниеПроблемы) = Тип("Строка") Тогда
Если ЗаписатьВЖурнал Тогда
- ТекстДляЖурнала = ТекстДляЖурнала + Символы.ПС + ОписаниеПроблемы;
+ ТекстДляЖурнала = ТекстДляЖурнала + Символы.ПС + Символы.ПС + ОписаниеПроблемы;
КонецЕсли;
- ТекстДляПользователя = ТекстДляПользователя + Символы.ПС + ОписаниеПроблемы;
+ ТекстДляПользователя = ТекстДляПользователя + Символы.ПС + Символы.ПС + ОписаниеПроблемы;
КонецЕсли;
// Журнал регистрации.
diff --git "a/src/cf/CommonModules/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\265\321\207\320\260\321\202\321\214\321\216/Ext/Module.bsl" "b/src/cf/CommonModules/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\265\321\207\320\260\321\202\321\214\321\216/Ext/Module.bsl"
index 7b589dce2c..90f7633cf2 100644
--- "a/src/cf/CommonModules/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\265\321\207\320\260\321\202\321\214\321\216/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\265\321\207\320\260\321\202\321\214\321\216/Ext/Module.bsl"
@@ -3597,7 +3597,7 @@
КонецЕсли;
ТабличныйДокумент = ПечатнаяФорма.ПолучитьОбласть(Область.Верх, , Область.Низ);
- ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, КопируемыеСвойстваТабличногоДокумента());
+ СкопироватьСвойстваТабличногоДокумента(ТабличныйДокумент, ПечатнаяФорма);
ПакетОтображаемыхДокументов.Состав.Добавить().Данные = ПакетСОднимТабличнымДокументом(ТабличныйДокумент);
КонецЦикла;
@@ -3606,7 +3606,7 @@
Для Каждого ПечатнаяФорма Из КоллекцияПечатныхФорм Цикл
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.Вывести(ПечатнаяФорма);
- ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, КопируемыеСвойстваТабличногоДокумента());
+ СкопироватьСвойстваТабличногоДокумента(ТабличныйДокумент, ПечатнаяФорма);
ПакетОтображаемыхДокументов.Состав.Добавить().Данные = ПакетСОднимТабличнымДокументом(ТабличныйДокумент);
КонецЦикла;
КонецЕсли;
@@ -3893,12 +3893,18 @@
Возврат Результат;
КонецФункции
-Функция КопируемыеСвойстваТабличногоДокумента() Экспорт
- Возврат "КлючПараметровПечати,АвтоМасштаб,Вывод,ВысотаСтраницы,ДвусторонняяПечать,Защита,ИмяПринтера,КодЯзыка,
+Процедура СкопироватьСвойстваТабличногоДокумента(Приемник, Знач Источник) Экспорт
+
+ Приемник.КлючПараметровПечати = Источник.КлючПараметровПечати;
+
+ КопируемыеСвойства = "АвтоМасштаб,Вывод,ВысотаСтраницы,ДвусторонняяПечать,Защита,ИмяПринтера,КодЯзыка,
|КоличествоЭкземпляров,МасштабПечати,НомерПервойСтраницы,ОриентацияСтраницы,ПолеСверху,ПолеСлева,
|ПолеСнизу,ПолеСправа,РазборПоКопиям,РазмерКолонтитулаСверху,РазмерКолонтитулаСнизу,РазмерСтраницы,
|ТочностьПечати,ФоноваяКартинка,ЧерноБелаяПечать,ШиринаСтраницы,ЭкземпляровНаСтранице";
-КонецФункции
+
+ ЗаполнитьЗначенияСвойств(Приемник, Источник, КопируемыеСвойства);
+
+КонецПроцедуры
Функция МакетыРазличаются(Знач ИсходныйМакет, ИзмененныйМакет) Экспорт
Возврат ОбщегоНазначения.КонтрольнаяСуммаСтрокой(НормализоватьМакет(ИсходныйМакет)) <> ОбщегоНазначения.КонтрольнаяСуммаСтрокой(НормализоватьМакет(ИзмененныйМакет));
@@ -4205,7 +4211,7 @@
ТабличныйДокумент = ПечатнаяФорма.ПолучитьОбласть(Область.Верх, , Область.Низ);
ПоследняяСтрока = ТабличныйДокумент.Область(ТабличныйДокумент.ВысотаТаблицы, , ТабличныйДокумент.ВысотаТаблицы, );
ПоследняяСтрока.КонецСтраницы = Ложь;
- ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, КопируемыеСвойстваТабличногоДокумента());
+ СкопироватьСвойстваТабличногоДокумента(ТабличныйДокумент, ПечатнаяФорма);
КонецЕсли;
Результат.Вставить(ОбъектПечати.Значение, ТабличныйДокумент);
diff --git "a/src/cf/CommonModules/\320\243\321\207\320\265\321\202\320\236\321\200\320\270\320\263\320\270\320\275\320\260\320\273\320\276\320\262\320\237\320\265\321\200\320\262\320\270\321\207\320\275\321\213\321\205\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Module.bsl" "b/src/cf/CommonModules/\320\243\321\207\320\265\321\202\320\236\321\200\320\270\320\263\320\270\320\275\320\260\320\273\320\276\320\262\320\237\320\265\321\200\320\262\320\270\321\207\320\275\321\213\321\205\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Module.bsl"
index 058aab0b7c..213dfac1d9 100644
--- "a/src/cf/CommonModules/\320\243\321\207\320\265\321\202\320\236\321\200\320\270\320\263\320\270\320\275\320\260\320\273\320\276\320\262\320\237\320\265\321\200\320\262\320\270\321\207\320\275\321\213\321\205\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\243\321\207\320\265\321\202\320\236\321\200\320\270\320\263\320\270\320\275\320\260\320\273\320\276\320\262\320\237\320\265\321\200\320\262\320\270\321\207\320\275\321\213\321\205\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Module.bsl"
@@ -167,6 +167,9 @@
Запрос.УстановитьПараметр("Ссылка", Ссылки);
+ ЦветГиперссылки = ЦветаСтиля.ГиперссылкаЦвет;
+ ЦветНеактивнойГиперссылки = ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет;
+
Выборка = Запрос.Выполнить().Выбрать();
Если Не СтрокаСписка.Оформление.Получить("СостояниеОригиналаПервичногоДокумента") = Неопределено Тогда
Для Каждого Строка Из СтрокиСписка Цикл
@@ -175,10 +178,10 @@
Если Выборка.НайтиСледующий(Строка.Данные["Ссылка"], "Ссылка") Тогда
Строка.Данные["СостояниеОригиналаПервичногоДокумента"] = Выборка.СостояниеОригиналаПервичногоДокумента;
- Строка.Оформление["СостояниеОригиналаПервичногоДокумента"].УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ГиперссылкаЦвет);
+ Строка.Оформление["СостояниеОригиналаПервичногоДокумента"].УстановитьЗначениеПараметра("ЦветТекста", ЦветГиперссылки);
Иначе
Строка.Данные["СостояниеОригиналаПервичногоДокумента"] = НСтр("ru = '<Неизвестно>'");
- Строка.Оформление["СостояниеОригиналаПервичногоДокумента"].УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
+ Строка.Оформление["СостояниеОригиналаПервичногоДокумента"].УстановитьЗначениеПараметра("ЦветТекста", ЦветНеактивнойГиперссылки);
КонецЕсли;
КонецЦикла;
КонецЕсли;
diff --git "a/src/cf/CommonModules/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\320\264\320\277\320\270\321\201\321\214/Ext/Module.bsl" "b/src/cf/CommonModules/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\320\264\320\277\320\270\321\201\321\214/Ext/Module.bsl"
index 2006eefad6..f46e73dfb1 100644
--- "a/src/cf/CommonModules/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\320\264\320\277\320\270\321\201\321\214/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\320\264\320\277\320\270\321\201\321\214/Ext/Module.bsl"
@@ -941,7 +941,7 @@
ПараметрыШтампа = Новый Структура;
ПараметрыШтампа.Вставить("ДатаПодписи", ДатаПодписи);
- ПараметрыШтампа.Вставить("НомерСертификата", СвойстваСертификата.СерийныйНомер);
+ ПараметрыШтампа.Вставить("НомерСертификата", СтрЗаменить(СвойстваСертификата.СерийныйНомер, " ", ""));
ПараметрыШтампа.Вставить("ВыдалСертификат", СвойстваСертификата.КемВыдан);
ПараметрыШтампа.Вставить("ВладелецСертификата", СвойстваСертификата.КомуВыдан);
ПараметрыШтампа.Вставить("СрокДействия", ПериодДействия);
diff --git "a/src/cf/CommonModules/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\320\264\320\277\320\270\321\201\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\233\320\276\320\272\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/Ext/Module.bsl" "b/src/cf/CommonModules/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\320\264\320\277\320\270\321\201\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\233\320\276\320\272\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/Ext/Module.bsl"
index 1b84fb8def..2d7b9d994a 100644
--- "a/src/cf/CommonModules/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\320\264\320\277\320\270\321\201\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\233\320\276\320\272\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\320\264\320\277\320\270\321\201\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\233\320\276\320\272\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/Ext/Module.bsl"
@@ -474,7 +474,7 @@
//
Функция ВерсияКлассификатора() Экспорт
- Возврат "3.0.1.45";
+ Возврат "3.0.1.47";
КонецФункции
diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml
index 807f57f673..97645fccd3 100644
--- a/src/cf/Configuration.xml
+++ b/src/cf/Configuration.xml
@@ -1,34 +1,34 @@
-
+
9cd510cd-abfc-11d4-9434-004095e12fc7
- 6a5e74d8-ec2c-47db-bec1-72c6d22fccc5
+ 2e67ee47-fef2-42d3-9565-b925270b9138
9fcd25a0-4822-11d4-9414-008048da11f9
- b7d01d72-f7b2-40c8-b14a-cb14d8057f1d
+ 4557b9ee-7f32-41d2-a439-895aa43a62a3
e3687481-0a87-462c-a166-9f34594f9bba
- 39a87057-3d0c-42f1-b4c0-9627d8c356bd
+ b20de7be-bf36-407b-a152-d8f93648f7df
9de14907-ec23-4a07-96f0-85521cb6b53b
- 5d03ef20-7752-4f2c-bdbb-5d5ef4a1bddc
+ 567baecd-b9e0-4d3f-86b6-5ca74aa42323
51f2d5d8-ea4d-4064-8892-82951750031e
- 7d71ea58-e1b5-4064-830b-cf7c34b3ee7f
+ 3b8d6b23-2a2b-413c-bcba-a4564482f0ec
e68182ea-4237-4383-967f-90c1e3370bc7
- e7afb221-639c-4629-a998-f973679ade86
+ 37bdf0b6-1a36-4c4c-984a-4b90af7b74ef
fb282519-d103-4dd3-bc12-cb271d631dfc
- 5ae32125-9e56-45fe-9239-22f034261187
+ 8acfb27c-3e02-4cd1-9ba7-cbfad03dc758
@@ -53,7 +53,7 @@
Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок
Фирма "1С"
- 3.1.10.369
+ 3.1.10.383
http://downloads.v8.1c.ru/tmplts/
true
false
@@ -930,6 +930,7 @@
РазрешенныйПользователь
РазрешенныйПустойНаборГруппДоступа
РежимЗагрузкиСообщенияОбменаДаннымиПередЗапуском
+ РежимыЗапускаВнешнихОтчетовИОбработок
СпискиСОграничениемПоПолям
СпискиСОграничениемЧерезКлючиДоступаГруппДоступа
СпискиСОграничениемЧерезКлючиДоступаПользователей
diff --git "a/src/cf/DataProcessors/\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260\320\224\320\260\320\275\320\275\321\213\321\205\320\230\320\267\320\244\320\260\320\271\320\273\320\260/Ext/ManagerModule.bsl" "b/src/cf/DataProcessors/\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260\320\224\320\260\320\275\320\275\321\213\321\205\320\230\320\267\320\244\320\260\320\271\320\273\320\260/Ext/ManagerModule.bsl"
index b1c97778c7..3323b7c3fd 100644
--- "a/src/cf/DataProcessors/\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260\320\224\320\260\320\275\320\275\321\213\321\205\320\230\320\267\320\244\320\260\320\271\320\273\320\260/Ext/ManagerModule.bsl"
+++ "b/src/cf/DataProcessors/\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260\320\224\320\260\320\275\320\275\321\213\321\205\320\230\320\267\320\244\320\260\320\271\320\273\320\260/Ext/ManagerModule.bsl"
@@ -430,6 +430,9 @@
Если ВРег(СтруктураИмениОбъекта.ТипОбъекта) <> ВРег("Документ") Тогда
Продолжить;
КонецЕсли;
+ Если ОбъектМетаданных.ДлинаНомера = 0 Тогда
+ Продолжить;
+ КонецЕсли;
ПредставлениеЭлемента = ОбщегоНазначения.ПредставлениеОбъекта(ОбъектМетаданных);
@@ -445,11 +448,14 @@
ДатаДокумента = СтроковыеФункцииКлиентСервер.СтрокаВДату(ДатаОкругленнаяДоДня);
КонецЕсли;
- УстановитьПривилегированныйРежим(Истина);
- Документ = Документы[ОбъектМетаданных.Имя].НайтиПоНомеру(НомерДокумент, ДатаДокумента); // ОбъектМетаданныхДокумент
- УстановитьПривилегированныйРежим(Ложь);
+ Документ = Неопределено;
+ Если ЗначениеЗаполнено(НомерДокумент) Тогда
+ УстановитьПривилегированныйРежим(Истина);
+ Документ = Документы[ОбъектМетаданных.Имя].НайтиПоНомеру(НомерДокумент, ДатаДокумента); // ОбъектМетаданныхДокумент
+ УстановитьПривилегированныйРежим(Ложь);
+ КонецЕсли;
- Если Документ = Неопределено ИЛИ Документ = Документы[ОбъектМетаданных.Имя].ПустаяСсылка() Тогда
+ Если Документ = Неопределено Или Документ = Документы[ОбъектМетаданных.Имя].ПустаяСсылка() Тогда
Продолжить;
КонецЕсли;
diff --git "a/src/cf/DataProcessors/\320\227\320\260\321\217\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\320\222\321\213\320\277\321\203\321\201\320\272\320\235\320\276\320\262\320\276\320\263\320\276\320\232\320\262\320\260\320\273\320\270\321\204\320\270\321\206\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\260/Templates/\320\230\320\275\320\264\320\270\320\262\320\270\320\264\321\203\320\260\320\273\321\214\320\275\321\213\320\271\320\237\321\200\320\265\320\264\320\277\321\200\320\270\320\275\320\270\320\274\320\260\321\202\320\265\320\273\321\214/Ext/Template.xml" "b/src/cf/DataProcessors/\320\227\320\260\321\217\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\320\222\321\213\320\277\321\203\321\201\320\272\320\235\320\276\320\262\320\276\320\263\320\276\320\232\320\262\320\260\320\273\320\270\321\204\320\270\321\206\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\260/Templates/\320\230\320\275\320\264\320\270\320\262\320\270\320\264\321\203\320\260\320\273\321\214\320\275\321\213\320\271\320\237\321\200\320\265\320\264\320\277\321\200\320\270\320\275\320\270\320\274\320\260\321\202\320\265\320\273\321\214/Ext/Template.xml"
index cef1b8bfe3..f0735a5e04 100644
--- "a/src/cf/DataProcessors/\320\227\320\260\321\217\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\320\222\321\213\320\277\321\203\321\201\320\272\320\235\320\276\320\262\320\276\320\263\320\276\320\232\320\262\320\260\320\273\320\270\321\204\320\270\321\206\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\260/Templates/\320\230\320\275\320\264\320\270\320\262\320\270\320\264\321\203\320\260\320\273\321\214\320\275\321\213\320\271\320\237\321\200\320\265\320\264\320\277\321\200\320\270\320\275\320\270\320\274\320\260\321\202\320\265\320\273\321\214/Ext/Template.xml"
+++ "b/src/cf/DataProcessors/\320\227\320\260\321\217\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\320\222\321\213\320\277\321\203\321\201\320\272\320\235\320\276\320\262\320\276\320\263\320\276\320\232\320\262\320\260\320\273\320\270\321\204\320\270\321\206\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\260/Templates/\320\230\320\275\320\264\320\270\320\262\320\270\320\264\321\203\320\260\320\273\321\214\320\275\321\213\320\271\320\237\321\200\320\265\320\264\320\277\321\200\320\270\320\275\320\270\320\274\320\260\321\202\320\265\320\273\321\214/Ext/Template.xml"
@@ -1165,7 +1165,7 @@
ru
Ознакомлен(а) с Порядком УЦ и Пользовательским соглашением, в соответствии со статьёй 428 ГК Российской Федерации полностью и безусловно присоединяюсь к Порядку УЦ [КраткоеНаименованиеУЦ] и принимаю Пользовательское соглашение, условия которых опубликованы на сайте Удостоверяющего центра по адресу [АдресПорядкаУЦ] и на Портале информационно-технологического сопровождения по адресу https://portal.1c.ru/applications/31/licenseAgreement.
- Я, [Фамилия] [Имя] [Отчество], [УдостоверениеЛичности] в соответствии со статьей 9 Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных», даю согласие [КраткоеНаименованиеУЦ] (Фактический адрес: [ФактическийАдресУЦ]) на обработку своих персональных данных: фамилия, имя, отчество (при наличии), ИНН, СНИЛС, место работы (организация), подразделение, должность, адрес регистрации, адрес электронной почты, пол, телефон, паспортные данные (серия и номер, код подразделения, место и дата рождения, дата выдачи паспорта, адрес регистрации), моего фотоизображения с паспортом, включая сбор, запись, систематизацию, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передачу (распространение, предоставление, доступ), обезличивание, блокирование, удаление, уничтожение) с использованием средств автоматизации и без использования таких средств.
+ Я, [Фамилия] [Имя] [Отчество], [УдостоверениеЛичности] в соответствии со статьей 9 Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных», даю согласие [КраткоеНаименованиеУЦ] (Фактический адрес: [ФактическийАдресУЦ]) на обработку своих персональных данных: фамилия, имя, отчество (при наличии), ИНН, СНИЛС, адрес электронной почты, пол, телефон, паспортные данные (серия и номер, код подразделения, место и дата рождения, дата выдачи паспорта), моего фотоизображения с паспортом, включая сбор, запись, систематизацию, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передачу (предоставление, доступ), обезличивание, блокирование, удаление, уничтожение с использованием средств автоматизации и без использования таких средств.
Настоящее согласие на обработку персональных данных дается в целях исполнения договора на оказание услуг аккредитованного УЦ [КраткоеНаименованиеУЦ] по изготовлению квалифицированных сертификатов ключей проверки электронной подписи в соответствии с Федеральным законом от 06.04.2011 № 63-ФЗ «Об электронной подписи». Согласие на обработку персональных данных действует до истечения срока хранения информации УЦ [КраткоеНаименованиеУЦ] установленного п. 2 ст.15 Федерального закона от 06.04.2011 № 63-ФЗ «Об электронной подписи». Согласие на обработку персональных данных может быть отозвано мной в письменной форме.
@@ -1392,7 +1392,7 @@
ru
- Я, [Фамилия] [Имя] [Отчество], телефон: [Телефон], email: [E], руководствуясь статьей 10.1 152-ФЗ «О персональных данных», заявляю согласие на распространение [КраткоеНаименованиеУЦ] ИНН [ИНН_УЦ] ([ЮридическиеКодыУЦ], Фактический адрес: [ФактическийАдресУЦ]) моих персональных данных с целью включения общих персональных данных (фамилия, имя, отчество (при наличии), СНИЛС, ИНН, адрес регистрации, адрес электронной почты) в реестр квалифицированных сертификатов в соответствии с ч. 3 ст. 15 федерального закона от 06.04.2011 № 63-ФЗ «Об электронной подписи».
+ Я, [Фамилия] [Имя] [Отчество], телефон: [Телефон], email: [E], руководствуясь статьей 10.1 152-ФЗ «О персональных данных», заявляю согласие на распространение [КраткоеНаименованиеУЦ] ИНН [ИНН_УЦ] ([ЮридическиеКодыУЦ], Фактический адрес: [ФактическийАдресУЦ]) моих персональных данных с целью включения общих персональных данных (фамилия, имя, отчество (при наличии), СНИЛС, ИНН, адрес электронной почты) в реестр квалифицированных сертификатов в соответствии с ч. 3 ст. 15 федерального закона от 06.04.2011 № 63-ФЗ «Об электронной подписи».
Условия и запреты на распространение персональных данных: _______________________________________ Согласие на распространение [КраткоеНаименованиеУЦ] персональных данных действует до истечения срока хранения информации удостоверяющим центром [КраткоеНаименованиеУЦ] установленного п. 6 ст.13 Федерального закона от 06.04.2011 № 63-ФЗ «Об электронной подписи». Информация из реестра квалифицированных сертификатов предоставляется путем направления запроса по email УЦ [ЭлектроннаяПочтаУЦ]
diff --git "a/src/cf/DataProcessors/\320\237\320\260\320\275\320\265\320\273\321\214\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\221\320\241\320\237/Forms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\237\321\200\320\260\320\262/Ext/Form/Module.bsl" "b/src/cf/DataProcessors/\320\237\320\260\320\275\320\265\320\273\321\214\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\221\320\241\320\237/Forms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\237\321\200\320\260\320\262/Ext/Form/Module.bsl"
index 03e75bc6c7..56de5e38b0 100644
--- "a/src/cf/DataProcessors/\320\237\320\260\320\275\320\265\320\273\321\214\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\221\320\241\320\237/Forms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\237\321\200\320\260\320\262/Ext/Form/Module.bsl"
+++ "b/src/cf/DataProcessors/\320\237\320\260\320\275\320\265\320\273\321\214\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\221\320\241\320\237/Forms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271\320\230\320\237\321\200\320\260\320\262/Ext/Form/Module.bsl"
@@ -48,7 +48,7 @@
Элементы.ИспользоватьГруппыПользователей.Видимость = Не УпрощенныйИнтерфейс;
Элементы.ОграничиватьДоступНаУровнеЗаписейУниверсально.Видимость
= МодульУправлениеДоступомСлужебный.ВариантВстроенногоЯзыкаРусский()
- И Пользователи.ЭтоПолноправныйПользователь(, Истина);
+ И Пользователи.ЭтоПолноправныйПользователь();
Элементы.ОбновлениеДоступаНаУровнеЗаписей.Видимость =
МодульУправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально(Истина);
@@ -201,22 +201,14 @@
ТекстВопроса =
НСтр("ru = 'Включить производительный вариант ограничения доступа?
|
- |Включение произойдет после окончания первого обновления
- |(см. ход по ссылке ""Обновление доступа на уровне записей"").'");
- ИначеЕсли НаборКонстант.ОграничиватьДоступНаУровнеЗаписей Тогда
- ТекстВопроса =
- НСтр("ru = 'Выключить производительный вариант ограничения доступа?
- |
- |Потребуется заполнение данных, которое будет выполняться частями
- |регламентным заданием ""Заполнение данных для ограничения доступа""
- |(ход выполнения в журнале регистрации).'");
+ |Включение займет некоторое время для перезаполнения настроек прав в приложении,
+ |см. ход выполнения по ссылке ""Обновление доступа на уровне записей"".'");
Иначе
ТекстВопроса =
НСтр("ru = 'Выключить производительный вариант ограничения доступа?
|
- |Потребуется частичное заполнение данных, которое будет выполняться частями
- |регламентным заданием ""Заполнение данных для ограничения доступа""
- |(ход выполнения в журнале регистрации).'");
+ |Включение займет некоторое время для перезаполнения настроек прав в приложении,
+ |см. ход выполнения регламентного задания ""Заполнение данных для ограничения доступа"" в журнале регистрации.'");
КонецЕсли;
Если ЗначениеЗаполнено(ТекстВопроса) Тогда
@@ -236,11 +228,11 @@
Если НаборКонстант.ОграничиватьДоступНаУровнеЗаписейУниверсально Тогда
ТекстВопроса =
- НСтр("ru = 'Настройки групп доступа вступят в силу постепенно
- |(см. ход по ссылке ""Обновление доступа на уровне записей"").
+ НСтр("ru = 'Настройки групп доступа вступят в силу через некоторое время,
+ |см. ход выполнения по ссылке ""Обновление доступа на уровне записей"".
|
- |Обновление доступа может замедлить работу приложения и выполняться
- |от нескольких секунд до часов (в зависимости от объема данных).'");
+ |Заполнение настроек прав доступа может временно замедлить работу приложения
+ |и занять от нескольких секунд до часов (в зависимости от объема данных).'");
Если НаборКонстант.ОграничиватьДоступНаУровнеЗаписей Тогда
ТекстВопроса = НСтр("ru = 'Включить ограничение доступа на уровне записей?'")
+ Символы.ПС + Символы.ПС + ТекстВопроса;
@@ -253,12 +245,9 @@
ТекстВопроса =
НСтр("ru = 'Включить ограничение доступа на уровне записей?
|
- |Потребуется заполнение данных, которое будет выполняться частями
- |регламентным заданием ""Заполнение данных для ограничения доступа""
- |(ход выполнения в журнале регистрации).
- |
- |Выполнение может сильно замедлить работу приложения и выполняться
- |от нескольких секунд до многих часов (в зависимости от объема данных).'");
+ |Заполнение настроек прав доступа может временно замедлить работу приложения
+ |и занять от нескольких секунд до часов (в зависимости от объема данных).
+ |См. ход выполнения регламентного задания ""Заполнение данных для ограничения доступа"" в журнале регистрации.'");
Иначе
ТекстВопроса = "";
КонецЕсли;
diff --git "a/src/cf/DataProcessors/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260CryptoProCSP\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Ext/Form/Module.bsl" "b/src/cf/DataProcessors/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260CryptoProCSP\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Ext/Form/Module.bsl"
index 48a0bf9640..c1871da407 100644
--- "a/src/cf/DataProcessors/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260CryptoProCSP\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Ext/Form/Module.bsl"
+++ "b/src/cf/DataProcessors/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260CryptoProCSP\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Ext/Form/Module.bsl"
@@ -141,7 +141,7 @@
Или СтрНайти(СистемнаяИнформация.ВерсияОС, "Windows 2000") <> 0 Тогда
Продукт = "csp40";
Иначе
- Продукт = "csp50r2_win";
+ Продукт = "csp50r3_win";
КонецЕсли;
КонецПроцедуры
diff --git "a/src/cf/DataProcessors/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Templates/\320\232\320\273\320\260\321\201\321\201\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\220\320\243\320\246_1_0_0_1/Ext/Template.bin" "b/src/cf/DataProcessors/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\321\213\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\276\320\271\320\237\320\276\320\264\320\277\320\270\321\201\320\270\320\230\320\250\320\270\321\204\321\200\320\276\320\262\320\260\320\275\320\270\321\217/Templates/\320\232\320\273\320\260\321\201\321\201\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\220\320\243\320\246_1_0_0_1/Ext/Template.bin"
index df799a08b3d36758857a89ccfee2be935d775086..db8257082bdc8ca4f0232d9ef01592c24d8b8160 100644
GIT binary patch
literal 24046
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ℜZuaO`$D5t>;zg({j
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
w8Gn4v6kUSgA
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