3_1_10_174
This commit is contained in:
1 parent
7fa6f0ae7f
commit
44a10b9181
256 files changed
+12143
-5944
No files matched your search
@@ -239,22 +239,23 @@
|
||||
//
|
||||
Процедура ИзменитьРеквизитыНевыполненныхЗадач() Экспорт
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("Задача.ЗадачаИсполнителя");
|
||||
ЭлементБлокировки.УстановитьЗначение("БизнесПроцесс", Ссылка);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Запрос = Новый Запрос("ВЫБРАТЬ
|
||||
| Задачи.Ссылка КАК Ссылка
|
||||
| ЗадачиИсполнителя.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| Задача.ЗадачаИсполнителя КАК Задачи
|
||||
| Задача.ЗадачаИсполнителя КАК ЗадачиИсполнителя
|
||||
|ГДЕ
|
||||
| Задачи.БизнесПроцесс = &БизнесПроцесс
|
||||
| И Задачи.ПометкаУдаления = ЛОЖЬ
|
||||
| И Задачи.Выполнена = ЛОЖЬ");
|
||||
| ЗадачиИсполнителя.БизнесПроцесс = &БизнесПроцесс
|
||||
| И ЗадачиИсполнителя.ПометкаУдаления = ЛОЖЬ
|
||||
| И ЗадачиИсполнителя.Выполнена = ЛОЖЬ");
|
||||
Запрос.УстановитьПараметр("БизнесПроцесс", Ссылка);
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка.Заблокировать();
|
||||
ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
@@ -280,22 +281,23 @@
|
||||
|
||||
Процедура ИзменитьПредметЗадач()
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("Задача.ЗадачаИсполнителя");
|
||||
ЭлементБлокировки.УстановитьЗначение("БизнесПроцесс", Ссылка);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Запрос = Новый Запрос("ВЫБРАТЬ
|
||||
| Задачи.Ссылка КАК Ссылка
|
||||
| ЗадачиИсполнителя.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| Задача.ЗадачаИсполнителя КАК Задачи
|
||||
| Задача.ЗадачаИсполнителя КАК ЗадачиИсполнителя
|
||||
|ГДЕ
|
||||
| Задачи.БизнесПроцесс = &БизнесПроцесс");
|
||||
| ЗадачиИсполнителя.БизнесПроцесс = &БизнесПроцесс");
|
||||
|
||||
Запрос.УстановитьПараметр("БизнесПроцесс", Ссылка);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка.Заблокировать();
|
||||
ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
|
||||
@@ -44,18 +44,18 @@
|
||||
|
||||
СформироватьПоляВводаНаРазныхЯзыках(Ложь, Параметры.ТолькоПросмотр);
|
||||
|
||||
ОписаниеЯзыка = ОписаниеЯзыка(ТекущийЯзык().КодЯзыка);
|
||||
ОсновнойЯзык = ОбщегоНазначения.КодОсновногоЯзыка();
|
||||
ОписаниеЯзыка = ОписаниеЯзыка(ОсновнойЯзык);
|
||||
|
||||
Если ОписаниеЯзыка <> Неопределено Тогда
|
||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = Параметры.ТекущееЗначение;
|
||||
КонецЕсли;
|
||||
|
||||
ОсновнойЯзык = ОбщегоНазначения.КодОсновногоЯзыка();
|
||||
|
||||
Для Каждого Представление Из Параметры.Представления Цикл
|
||||
|
||||
ОписаниеЯзыка = ОписаниеЯзыка(Представление.КодЯзыка);
|
||||
Если ОписаниеЯзыка <> Неопределено Тогда
|
||||
Если СтрСравнить(ОписаниеЯзыка.КодЯзыка, ТекущийЯзык().КодЯзыка) = 0 Тогда
|
||||
Если СтрСравнить(ОписаниеЯзыка.КодЯзыка, ОсновнойЯзык) = 0 Тогда
|
||||
ЭтотОбъект[ОписаниеЯзыка.Имя] = ?(ЗначениеЗаполнено(Параметры.ТекущееЗначение),
|
||||
Параметры.ТекущееЗначение, Представление[Параметры.ИмяРеквизита]);
|
||||
Иначе
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<div><strong>Наименование валюты</strong> - полное наименование валюты.</div>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Цифровой код</strong> - уникальный числовой код, служит для идентификации валюты при загрузке курсов из сети Интернет (с портала 1С:ИТС).</div>
|
||||
<div><strong>Цифровой код</strong> - числовой код, служит для идентификации валюты при загрузке курсов из сети Интернет (с портала 1С:ИТС).</div>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Символьный код</strong> - используется как краткое наименование и основное представление валюты.</div>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<div><strong>Цифр. код</strong> - уникальный цифровой код, служит для идентификации валюты при загрузке курсов из сети Интернет. Например, 840 для доллара США.</div></div>
|
||||
<div><strong>Цифр. код</strong> - цифровой код, служит для идентификации валюты при загрузке курсов из сети Интернет. Например, 840 для доллара США.</div></div>
|
||||
</li>
|
||||
<li>
|
||||
<div><strong>Симв. код</strong> - символьный код валюты, используется в качестве представления в полях ввода. Например, EUR (Евро).</div>
|
||||
|
||||
@@ -179,7 +179,8 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
|
||||
Если ИмяСобытия = ВариантыОтчетовКлиент.ИмяСобытияИзменениеВарианта() Или ИмяСобытия = "Запись_НаборКонстант" Тогда
|
||||
Если ИмяСобытия = ВариантыОтчетовКлиент.ИмяСобытияИзменениеВарианта() Или ИмяСобытия = "Запись_НаборКонстант"
|
||||
Или ИмяСобытия = "Запись_ВариантыОтчетов" Тогда
|
||||
|
||||
ДеревоПодсистемТекущаяСтрока = -1;
|
||||
ПодключитьОбработчикОжидания("ДеревоПодсистемОбработчикАктивизацииСтроки", 0.1, Истина);
|
||||
|
||||
@@ -315,7 +315,6 @@
|
||||
Процедура ЗаполнитьРазмещениеПоРодителю()
|
||||
|
||||
Если Размещение.Количество() > 0 Или Не ЗначениеЗаполнено(Родитель) Тогда
|
||||
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -323,9 +322,7 @@
|
||||
Родитель, "ПредопределенныйВариант, Размещение");
|
||||
|
||||
Размещение.Загрузить(СвойстваРодителя.Размещение.Выгрузить());
|
||||
|
||||
Если Размещение.Количество() > 0 Или Не ЗначениеЗаполнено(СвойстваРодителя.ПредопределенныйВариант) Тогда
|
||||
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -333,9 +330,8 @@
|
||||
СвойстваРодителя.ПредопределенныйВариант, "Размещение");
|
||||
|
||||
Размещение.Загрузить(РазмещениеПредопределенногоВарианта.Выгрузить());
|
||||
|
||||
Для Каждого Строка Из Размещение Цикл
|
||||
Строка.Использование = Истина;
|
||||
Для Каждого СтрокаТаблицы Из Размещение Цикл
|
||||
СтрокаТаблицы.Использование = Истина;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -560,25 +560,25 @@
|
||||
Если Не Элементы.Роли.ТолькоПросмотр Тогда
|
||||
Ошибки = Неопределено;
|
||||
ЭлементыДерева = Роли.ПолучитьЭлементы();
|
||||
Для Каждого Строка Из ЭлементыДерева Цикл
|
||||
Если Не Строка.Пометка Тогда
|
||||
Для Каждого Элемент Из ЭлементыДерева Цикл
|
||||
Если Не Элемент.Пометка Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Строка.ЭтоНесуществующаяРоль Тогда
|
||||
Если Элемент.ЭтоНесуществующаяРоль Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки,
|
||||
"Роли[%1].РолиСиноним",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Несуществующая роль ""%1"".'"), Строка.Синоним),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Несуществующая роль ""%1"".'"), Элемент.Синоним),
|
||||
"Роли",
|
||||
ЭлементыДерева.Индекс(Строка),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Несуществующая роль ""%1"" в строке %2.'"), Строка.Синоним, "%1"));
|
||||
ЭлементыДерева.Индекс(Элемент),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Несуществующая роль ""%1"" в строке %2.'"), Элемент.Синоним, "%1"));
|
||||
КонецЕсли;
|
||||
Если Строка.ЭтоНедоступнаяРоль Тогда
|
||||
Если Элемент.ЭтоНедоступнаяРоль Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки,
|
||||
"Роли[%1].РолиСиноним",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" недоступна для внешних пользователей.'"), Строка.Синоним),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" недоступна для внешних пользователей.'"), Элемент.Синоним),
|
||||
"Роли",
|
||||
ЭлементыДерева.Индекс(Строка),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %2 недоступна для внешних пользователей.'"), Строка.Синоним, "%1"));
|
||||
ЭлементыДерева.Индекс(Элемент),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %2 недоступна для внешних пользователей.'"), Элемент.Синоним, "%1"));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Ошибки, Отказ);
|
||||
|
||||
@@ -132,9 +132,9 @@
|
||||
|
||||
// Заполнение ролей объекта из коллекции.
|
||||
ТекущийОбъект.Роли.Очистить();
|
||||
Для каждого Строка Из КоллекцияРолей Цикл
|
||||
Для каждого Роль Из КоллекцияРолей Цикл
|
||||
ТекущийОбъект.Роли.Добавить().Роль = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(
|
||||
"Роль." + Строка.Роль);
|
||||
"Роль." + Роль.Роль);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -169,25 +169,33 @@
|
||||
ПроверенныеРеквизитыОбъекта.Добавить("Роли.Роль");
|
||||
Если Не Элементы.Роли.ТолькоПросмотр Тогда
|
||||
ЭлементыДерева = Роли.ПолучитьЭлементы();
|
||||
Для Каждого Строка Из ЭлементыДерева Цикл
|
||||
Если Не Строка.Пометка Тогда
|
||||
Для Каждого Элемент Из ЭлементыДерева Цикл
|
||||
Если Не Элемент.Пометка Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Строка.ЭтоНесуществующаяРоль Тогда
|
||||
Если Элемент.ЭтоНесуществующаяРоль Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки,
|
||||
"Роли[%1].РолиСиноним",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Несуществующая роль ""%1"".'"), Строка.Синоним),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Несуществующая роль ""%1"".'"),
|
||||
Элемент.Синоним),
|
||||
"Роли",
|
||||
ЭлементыДерева.Индекс(Строка),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Несуществующая роль ""%1"" в строке %2.'"), Строка.Синоним, "%1"));
|
||||
ЭлементыДерева.Индекс(Элемент),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Несуществующая роль ""%1"" в строке %2.'"),
|
||||
Элемент.Синоним, "%1"));
|
||||
КонецЕсли;
|
||||
Если Строка.ЭтоНедоступнаяРоль Тогда
|
||||
Если Элемент.ЭтоНедоступнаяРоль Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки,
|
||||
"Роли[%1].РолиСиноним",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" недоступна для внешних пользователей.'"), Строка.Синоним),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Роль ""%1"" недоступна для внешних пользователей.'"),
|
||||
Элемент.Синоним),
|
||||
"Роли",
|
||||
ЭлементыДерева.Индекс(Строка),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %2 недоступна для внешних пользователей.'"), Строка.Синоним, "%1"));
|
||||
ЭлементыДерева.Индекс(Элемент),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Роль ""%1"" в строке %2 недоступна для внешних пользователей.'"),
|
||||
Элемент.Синоним, "%1"));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -193,11 +193,11 @@
|
||||
&НаСервереБезКонтекста
|
||||
Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
|
||||
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
Если ТипЗнч(Строка.Ключ) <> Тип("СправочникСсылка.ГруппыДоступа") Тогда
|
||||
Для Каждого СтрокаСписка Из Строки Цикл
|
||||
Если ТипЗнч(СтрокаСписка.Ключ) <> Тип("СправочникСсылка.ГруппыДоступа") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Данные = Строка.Значение.Данные;
|
||||
Данные = СтрокаСписка.Значение.Данные;
|
||||
|
||||
Если Данные.ЭтоГруппа
|
||||
Или Не ЗначениеЗаполнено(Данные.Пользователь) Тогда
|
||||
|
||||
@@ -1432,9 +1432,9 @@
|
||||
|
||||
МодульРаботаВБезопасномРежимеСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежимеСлужебный");
|
||||
|
||||
Для Каждого Строка Из ТаблицаРазрешений Цикл
|
||||
Разрешение = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(МодульРаботаВБезопасномРежимеСлужебный.Пакет(), Строка.ВидРазрешения));
|
||||
ЗаполнитьЗначенияСвойств(Разрешение, Строка.Параметры.Получить());
|
||||
Для Каждого СтрокаТаблицы Из ТаблицаРазрешений Цикл
|
||||
Разрешение = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип(МодульРаботаВБезопасномРежимеСлужебный.Пакет(), СтрокаТаблицы.ВидРазрешения));
|
||||
ЗаполнитьЗначенияСвойств(Разрешение, СтрокаТаблицы.Параметры.Получить());
|
||||
Разрешения.Добавить(Разрешение);
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеОтмены = ПолучитьФайлОтменыДоверенности(Доверенность, ПричинаОтмены);
|
||||
ДанныеОтмены = ФайлОтменыДоверенности(Доверенность, ПричинаОтмены);
|
||||
ОписаниеДанных = Новый Структура;
|
||||
ОписаниеДанных.Вставить("Операция", НСтр("ru='Отмена доверенности'"));
|
||||
ОписаниеДанных.Вставить("ЗаголовокДанных", НСтр("ru='Доверенность'"));
|
||||
@@ -39,8 +39,8 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ПолучитьФайлОтменыДоверенности(Доверенность, ПричинаОтмены)
|
||||
Возврат МашиночитаемыеДоверенностиФНССлужебный.ПолучитьФайлОтменыДоверенности(Доверенность, ПричинаОтмены);
|
||||
Функция ФайлОтменыДоверенности(Доверенность, ПричинаОтмены)
|
||||
Возврат МашиночитаемыеДоверенностиФНССлужебный.ФайлОтменыДоверенности(Доверенность, ПричинаОтмены);
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
|
||||
@@ -1479,6 +1479,10 @@
|
||||
<event>BeforeAddRow</event>
|
||||
<name>ВыбранныеПолномочияТаблицаПередНачаломДобавления</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>BeforeDeleteRow</event>
|
||||
<name>ВыбранныеПолномочияТаблицаПередУдалением</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnActivateRow</event>
|
||||
<name>ВыбранныеПолномочияТаблицаПриАктивизацииСтроки</name>
|
||||
@@ -1578,7 +1582,6 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<header>true</header>
|
||||
<headerHeight>1</headerHeight>
|
||||
<footerHeight>1</footerHeight>
|
||||
@@ -1586,7 +1589,6 @@
|
||||
<verticalScrollBar>AutoUse</verticalScrollBar>
|
||||
<horizontalLines>true</horizontalLines>
|
||||
<verticalLines>true</verticalLines>
|
||||
<useAlternationRowColorBWA>false</useAlternationRowColorBWA>
|
||||
<autoInsertNewRow>true</autoInsertNewRow>
|
||||
<searchOnInput>Auto</searchOnInput>
|
||||
<initialListView>Auto</initialListView>
|
||||
@@ -1957,6 +1959,10 @@
|
||||
<event>BeforeAddRow</event>
|
||||
<name>ОграниченияПолномочийПередНачаломДобавления</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>BeforeDeleteRow</event>
|
||||
<name>ОграниченияПолномочийПередУдалением</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>AfterDeleteRow</event>
|
||||
<name>ОграниченияПолномочийПослеУдаления</name>
|
||||
@@ -3025,6 +3031,161 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ОграниченияПолномочийРодительскойДоверенности</name>
|
||||
<id>7</id>
|
||||
<valueType>
|
||||
<types>ValueTable</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<savedData>true</savedData>
|
||||
<columns>
|
||||
<name>ИдентификаторПолномочия</name>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>UUID</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>Код</name>
|
||||
<id>2</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>Наименование</name>
|
||||
<id>3</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>НаименованиеЗначения</name>
|
||||
<id>4</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>КодЗначения</name>
|
||||
<id>5</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>255</length>
|
||||
</stringQualifiers>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>ЭтоТекстовоеЗначение</name>
|
||||
<id>7</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>ОписаниеТипа</name>
|
||||
<id>8</id>
|
||||
<valueType/>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>Описание</name>
|
||||
<id>6</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>НетВКлассификаторе</name>
|
||||
<id>9</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
<columns>
|
||||
<name>НетВКлассификатореКодаЗначения</name>
|
||||
<id>10</id>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</columns>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>УстановитьФлажки</name>
|
||||
<title>
|
||||
@@ -3299,6 +3460,14 @@
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ПолномочияРодительскойДоверенности</name>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<keyParameter>true</keyParameter>
|
||||
</parameters>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
+141
-32
@@ -5,7 +5,6 @@
|
||||
// Текст лицензии доступен по ссылке:
|
||||
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
@@ -13,11 +12,10 @@
|
||||
|
||||
УстановитьУсловноеОформление();
|
||||
|
||||
ЭтоПередоверие = ЗначениеЗаполнено(Параметры.ПолномочияРодительскойДоверенности);
|
||||
ЭтоВыборИзКлассификатора = Параметры.РежимКлассификатора;
|
||||
Элементы.ГруппаВидПолномочий.ТолькоПросмотр = Параметры.ТолькоПросмотр;
|
||||
Элементы.ВыбратьИзКлассификатора.Видимость = Не Параметры.ТолькоПросмотр;
|
||||
Элементы.ОбновитьКлассификаторыПолномочий.Видимость = Не ОбщегоНазначения.РазделениеВключено();
|
||||
|
||||
РежимКлассификатора = Параметры.РежимКлассификатора;
|
||||
|
||||
Если Параметры.ВыбранныеПолномочия = Неопределено Тогда
|
||||
ВидПолномочий = "0";
|
||||
@@ -36,14 +34,24 @@
|
||||
КонецЕсли;
|
||||
|
||||
СформироватьДеревоПолномочий(Параметры.ВыбранныеПолномочия.Полномочия);
|
||||
Элементы.ПоказатьВыбранные.Пометка = Элементы.ПоказатьВыбранные.Пометка
|
||||
И Не РежимКлассификатора;
|
||||
Элементы.ПоказатьВыбранные.Видимость = Не Параметры.РежимКлассификатора;
|
||||
Элементы.ГруппаКнопокВидПолномочий.Видимость = Не Параметры.РежимКлассификатора;
|
||||
Элементы.ГруппаСохранение.Видимость = Не Параметры.РежимКлассификатора;
|
||||
Элементы.ГруппаОграниченияПолномочий.Видимость = Не Параметры.РежимКлассификатора;
|
||||
|
||||
ЭтоВыборИзКлассификатора = Параметры.РежимКлассификатора;
|
||||
|
||||
Элементы.ПоказатьВыбранные.Пометка = Не ЭтоВыборИзКлассификатора И Не ЭтоПередоверие И ВыбранныеПолномочияТаблица.Количество() > 0;
|
||||
Элементы.ПоказатьВыбранные.Видимость = Не ЭтоВыборИзКлассификатора И Не ЭтоПередоверие;
|
||||
Элементы.ГруппаСохранение.Видимость = Не ЭтоВыборИзКлассификатора;
|
||||
Элементы.ГруппаОграниченияПолномочий.Видимость = Не ЭтоВыборИзКлассификатора;
|
||||
Элементы.ВыбранныеПолномочияТаблицаЗагрузитьНастройкуПолномочий.Видимость = Не ЭтоПередоверие;
|
||||
Элементы.ЗагрузитьНастройкуПолномочий.Видимость = Не ЭтоПередоверие;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ТекстПолномочий.ТолькоПросмотр = Параметры.ТолькоПросмотр Или ЭтоПередоверие;
|
||||
Элементы.ГруппаКнопокВидПолномочий.Видимость = Не ЭтоВыборИзКлассификатора И Не Параметры.ТолькоПросмотр И Не ЭтоПередоверие;
|
||||
Элементы.ГруппаКнопокВидПолномочий1.Видимость = Элементы.ГруппаКнопокВидПолномочий.Видимость;
|
||||
Элементы.ГруппаКнопокВидПолномочий2.Видимость = Элементы.ГруппаКнопокВидПолномочий.Видимость;
|
||||
Элементы.ОбновитьКлассификаторыПолномочий.Видимость = Не ОбщегоНазначения.РазделениеВключено() И Не ЭтоПередоверие;
|
||||
|
||||
УправлениеФормой(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -156,6 +164,13 @@
|
||||
&НаКлиенте
|
||||
Процедура ВыбранныеПолномочияТаблицаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
|
||||
|
||||
Если ЗначениеЗаполнено(Параметры.ПолномочияРодительскойДоверенности) Тогда
|
||||
|
||||
ОбщегоНазначенияКлиент.СообщитьПользователю(
|
||||
НСтр("ru = 'Нельзя добавлять полномочия у передоверия вручную.'"), , , , Отказ);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Отказ = Истина;
|
||||
|
||||
НоваяСтрока = ВыбранныеПолномочияТаблица.Добавить();
|
||||
@@ -196,6 +211,25 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОграниченияПолномочийПередУдалением(Элемент, Отказ)
|
||||
|
||||
Если ЗначениеЗаполнено(Параметры.ПолномочияРодительскойДоверенности) Тогда
|
||||
|
||||
ОбщегоНазначенияКлиент.СообщитьПользователю(
|
||||
НСтр("ru = 'Нельзя удалять ограничения у передоверия.'"), , , , Отказ);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВыбранныеПолномочияТаблицаПередУдалением(Элемент, Отказ)
|
||||
|
||||
СнятьОтметкуСтроки(Элементы.ВыбранныеПолномочияТаблица.ТекущиеДанные.ИдентификаторПолномочия);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
@@ -349,6 +383,9 @@
|
||||
ВидимостьПоказатьВыбранные(Форма);
|
||||
КонецЕсли;
|
||||
|
||||
Форма.КлючСохраненияПоложенияОкна = Форма.ВидПолномочий;
|
||||
Форма.КлючНазначенияИспользования = Форма.ВидПолномочий;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
@@ -458,15 +495,37 @@
|
||||
&НаСервере
|
||||
Процедура СформироватьДеревоПолномочий(АдресПолномочий)
|
||||
|
||||
Если Не ЗначениеЗаполнено(Параметры.ПолномочияРодительскойДоверенности) Тогда
|
||||
КлассификаторПолномочий = МашиночитаемыеДоверенностиФНСПовтИсп.КлассификаторПолномочий();
|
||||
|
||||
ДеревоЗначений = ОбщегоНазначения.СкопироватьРекурсивно(КлассификаторПолномочий);
|
||||
Иначе
|
||||
ДеревоЗначений = Новый ДеревоЗначений;
|
||||
ДеревоЗначений.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
|
||||
ДеревоЗначений.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
|
||||
КонецЕсли;
|
||||
|
||||
ДеревоЗначений.Колонки.Добавить("Мнемокод", ОбщегоНазначения.ОписаниеТипаСтрока(255));
|
||||
ДеревоЗначений.Колонки.Добавить("НетВКлассификаторе", Новый ОписаниеТипов("Булево"));
|
||||
ДеревоЗначений.Колонки.Добавить("Пометка", ОбщегоНазначения.ОписаниеТипаЧисло(1));
|
||||
ДеревоЗначений.Колонки.Добавить("Флажок", Новый ОписаниеТипов("Булево"));
|
||||
ДеревоЗначений.Колонки.Добавить("ИдентификаторПолномочия", Новый ОписаниеТипов("УникальныйИдентификатор"));
|
||||
|
||||
Если ЗначениеЗаполнено(Параметры.ПолномочияРодительскойДоверенности) Тогда
|
||||
ПолномочияРодительскойДоверенности = ПолучитьИзВременногоХранилища(Параметры.ПолномочияРодительскойДоверенности);
|
||||
Для Каждого Полномочие Из ПолномочияРодительскойДоверенности.Полномочия Цикл
|
||||
НоваяСтрока = ДеревоЗначений.Строки.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Полномочие);
|
||||
КонецЦикла;
|
||||
Для Каждого Ограничение Из ПолномочияРодительскойДоверенности.Ограничения Цикл
|
||||
НоваяСтрока = ОграниченияПолномочийРодительскойДоверенности.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Ограничение);
|
||||
Если Не ЗначениеЗаполнено(НоваяСтрока.КодЗначения) Тогда
|
||||
НоваяСтрока.ЭтоТекстовоеЗначение = Истина;
|
||||
НоваяСтрока.НаименованиеЗначения = Ограничение.ТекстовоеЗначение;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если АдресПолномочий <> Неопределено Тогда
|
||||
|
||||
ВыбранныеПолномочия = ПолучитьИзВременногоХранилища(АдресПолномочий);
|
||||
@@ -478,7 +537,6 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ПоказатьВыбранные.Пометка = ВыбранныеПолномочияТаблица.Количество() > 0;
|
||||
ЗначениеВРеквизитФормы(ДеревоЗначений, "Полномочия");
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -511,6 +569,53 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура СнятьОтметкуСтроки(Знач ИдентификаторПолномочия)
|
||||
|
||||
ДеревоЗначений = РеквизитФормыВЗначение("Полномочия");
|
||||
|
||||
Найдено = ДеревоЗначений.Строки.Найти(ИдентификаторПолномочия, "ИдентификаторПолномочия", Истина);
|
||||
Если Найдено <> Неопределено Тогда
|
||||
Найдено.Пометка = Ложь;
|
||||
|
||||
Если ЗначениеЗаполнено(Найдено.Родитель) Тогда
|
||||
СтрокиСПометками = Новый Соответствие;
|
||||
СтрокиСПометками.Вставить(Найдено.Родитель, Истина);
|
||||
ОбновитьФлажки(СтрокиСПометками);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеВРеквизитФормы(ДеревоЗначений, "Полномочия");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьФлажки(СтрокиСПометками)
|
||||
|
||||
Для Каждого КлючИЗначение Из СтрокиСПометками Цикл
|
||||
Родитель = КлючИЗначение.Ключ;
|
||||
РазныеСтроки = Ложь;
|
||||
Флажок = Неопределено;
|
||||
Для Каждого Строка Из Родитель.Строки Цикл
|
||||
Если Флажок = Неопределено Тогда
|
||||
Флажок = Строка.Пометка;
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Флажок <> Строка.Пометка Тогда
|
||||
РазныеСтроки = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Если РазныеСтроки Тогда
|
||||
Родитель.Пометка = 2;
|
||||
Иначе
|
||||
Родитель.Пометка = Флажок;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗагрузитьВыбранныеПолномочия(ВыбранныеПолномочия, ДеревоЗначений)
|
||||
|
||||
@@ -540,26 +645,7 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого КлючИЗначение Из СтрокиСПометками Цикл
|
||||
Родитель = КлючИЗначение.Ключ;
|
||||
РазныеСтроки = Ложь;
|
||||
Флажок = Неопределено;
|
||||
Для Каждого Строка Из Родитель.Строки Цикл
|
||||
Если Флажок = Неопределено Тогда
|
||||
Флажок = Строка.Пометка;
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Флажок <> Строка.Пометка Тогда
|
||||
РазныеСтроки = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Если РазныеСтроки Тогда
|
||||
Родитель.Пометка = 2;
|
||||
Иначе
|
||||
Родитель.Пометка = Флажок;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ОбновитьФлажки(СтрокиСПометками);
|
||||
|
||||
ИдентификаторыПолномочийСОграничениями = Новый Соответствие;
|
||||
|
||||
@@ -678,12 +764,35 @@
|
||||
|
||||
Если Флажок = 1 Тогда
|
||||
Если Найдено.Количество() = 0 Тогда
|
||||
|
||||
НоваяСтрока = ВыбранныеПолномочияТаблица.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
|
||||
|
||||
Если ЗначениеЗаполнено(Параметры.ПолномочияРодительскойДоверенности) Тогда
|
||||
НайденыОграничения = ОграниченияПолномочийРодительскойДоверенности.НайтиСтроки(
|
||||
Новый Структура("ИдентификаторПолномочия", НоваяСтрока.ИдентификаторПолномочия));
|
||||
НоваяСтрока.ЕстьОграничения = НайденыОграничения.Количество() > 0;
|
||||
Для Каждого НайденнаяСтрока Из НайденыОграничения Цикл
|
||||
НоваяСтрокаОграничений = ОграниченияПолномочий.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрокаОграничений, НайденнаяСтрока);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли Найдено.Количество() > 0 Тогда
|
||||
Для Каждого НайденнаяСтрока Из Найдено Цикл
|
||||
|
||||
Если ЗначениеЗаполнено(Параметры.ПолномочияРодительскойДоверенности) Тогда
|
||||
НайденыОграничения = ОграниченияПолномочий.НайтиСтроки(
|
||||
Новый Структура("ИдентификаторПолномочия", НайденнаяСтрока.ИдентификаторПолномочия));
|
||||
Для Каждого Ограничение Из НайденыОграничения Цикл
|
||||
ОграниченияПолномочий.Удалить(ОграниченияПолномочий.Индекс(Ограничение));
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
ВыбранныеПолномочияТаблица.Удалить(ВыбранныеПолномочияТаблица.Индекс(НайденнаяСтрока));
|
||||
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -1062,6 +1062,125 @@
|
||||
<showInCard>true</showInCard>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаПередоверие</name>
|
||||
<id>239</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ВозможностьПередоверия</name>
|
||||
<id>236</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Возможность передоверия</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.ВозможностьПередоверия</segments>
|
||||
</dataPath>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Возможность передоверия</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>ВозможностьПередоверияРасширеннаяПодсказка</name>
|
||||
<id>238</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ВозможностьПередоверияКонтекстноеМеню</name>
|
||||
<id>237</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>PictureField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:ImageFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>true</horizontalStretch>
|
||||
<verticalStretch>true</verticalStretch>
|
||||
<border xsi:type="core:BorderDef">
|
||||
<style>Single</style>
|
||||
<width>1</width>
|
||||
</border>
|
||||
<fileDragMode>AsFileRef</fileDragMode>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Передоверие</name>
|
||||
<id>241</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Это передоверие</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Передоверие</segments>
|
||||
</dataPath>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Это передоверие</value>
|
||||
</toolTip>
|
||||
<extendedTooltip>
|
||||
<name>ПередовериеРасширеннаяПодсказка</name>
|
||||
<id>243</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПередовериеКонтекстноеМеню</name>
|
||||
<id>242</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Передоверие</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаПередовериеРасширеннаяПодсказка</name>
|
||||
<id>240</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>ColumnGroup</type>
|
||||
<extInfo xsi:type="form:ColumnGroupExtInfo">
|
||||
<showInCard>true</showInCard>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Код</name>
|
||||
<id>128</id>
|
||||
@@ -1343,6 +1462,37 @@
|
||||
<importance>Normal</importance>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ПодменюСоздатьНаОсновании</name>
|
||||
<id>234</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Создать на основании</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ПодменюСоздатьНаОснованииРасширеннаяПодсказка</name>
|
||||
<id>235</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>Popup</type>
|
||||
<extInfo xsi:type="form:PopupGroupExtInfo">
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>StdPicture.InputOnBasis</picture>
|
||||
</picture>
|
||||
<representation>Picture</representation>
|
||||
<importance>Normal</importance>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>СписокЗагрузитьИзРеестраФНС</name>
|
||||
<id>98</id>
|
||||
@@ -2206,9 +2356,15 @@
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Список.ВозможностьПередоверия</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Список.Ссылка</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>Список.ФайлДоверенности</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<main>true</main>
|
||||
<extInfo xsi:type="form:DynamicListExtInfo">
|
||||
<queryText>ВЫБРАТЬ
|
||||
@@ -2217,18 +2373,23 @@
|
||||
СправочникМашиночитаемыеДоверенности.Код КАК Код,
|
||||
СправочникМашиночитаемыеДоверенности.Наименование КАК Наименование,
|
||||
СправочникМашиночитаемыеДоверенности.ДатаВыдачи КАК ДатаВыдачи,
|
||||
СправочникМашиночитаемыеДоверенности.ФайлДоверенности КАК ФайлДоверенности,
|
||||
КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ) КАК ДатаОкончания,
|
||||
СправочникМашиночитаемыеДоверенности.ДляНалоговыхОрганов КАК ДляНалоговыхОрганов,
|
||||
СправочникМашиночитаемыеДоверенности.РегистрироватьВРеестре КАК РегистрироватьВРеестре,
|
||||
ВЫБОР
|
||||
КОГДА СправочникМашиночитаемыеДоверенности.РодительскаяДоверенностьНомер = ""
|
||||
ТОГДА Ложь
|
||||
ИНАЧЕ Истина
|
||||
КОНЕЦ КАК Передоверие,
|
||||
СправочникМашиночитаемыеДоверенности.ВозможностьПередоверия КАК ВозможностьПередоверия,
|
||||
СправочникМашиночитаемыеДоверенности.Статус КАК Статус,
|
||||
&СтатусВДругомРеестре КАК СтатусВДругомРеестре,
|
||||
99 КАК ИндексСтатусаВДругомРеестре,
|
||||
МашиночитаемыеДоверенностиСтатусы.ТехническийСтатус КАК ТехническийСтатус,
|
||||
СправочникМашиночитаемыеДоверенности.Верна КАК Верна,
|
||||
ВЫБОР
|
||||
КОГДА &ТекущаяДата
|
||||
МЕЖДУ СправочникМашиночитаемыеДоверенности.ДатаВыдачи И КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания,
|
||||
ДЕНЬ)
|
||||
КОГДА &ТекущаяДата МЕЖДУ СправочникМашиночитаемыеДоверенности.ДатаВыдачи И КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ)
|
||||
И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
|
||||
ТОГДА ИСТИНА
|
||||
ИНАЧЕ ЛОЖЬ
|
||||
@@ -2236,8 +2397,7 @@
|
||||
ВЫБОР
|
||||
КОГДА СправочникМашиночитаемыеДоверенности.ПометкаУдаления
|
||||
ТОГДА 1
|
||||
КОГДА КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ)
|
||||
МЕЖДУ &ТекущаяДата И &СрокИстекающихДоверенностей
|
||||
КОГДА КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ) МЕЖДУ &ТекущаяДата И &СрокИстекающихДоверенностей
|
||||
И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
|
||||
ТОГДА 3
|
||||
КОГДА &ТекущаяДата > КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ)
|
||||
@@ -2245,9 +2405,7 @@
|
||||
ТОГДА 4
|
||||
КОГДА СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Черновик)
|
||||
ТОГДА 5
|
||||
КОГДА &ТекущаяДата
|
||||
МЕЖДУ СправочникМашиночитаемыеДоверенности.ДатаВыдачи И КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания,
|
||||
ДЕНЬ)
|
||||
КОГДА &ТекущаяДата МЕЖДУ СправочникМашиночитаемыеДоверенности.ДатаВыдачи И КОНЕЦПЕРИОДА(СправочникМашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ)
|
||||
И СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
|
||||
ТОГДА 2
|
||||
КОГДА СправочникМашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.НеДействует)
|
||||
@@ -2256,36 +2414,28 @@
|
||||
КОНЕЦ КАК ИндексСтатуса,
|
||||
СправочникМашиночитаемыеДоверенности.НомерДоверенности КАК НомерДоверенности,
|
||||
СправочникМашиночитаемыеДоверенности.КодНалоговогоОрганаПредставления КАК КодНалоговогоОрганаПредставления,
|
||||
МашиночитаемыеДоверенностиСтатусы.Подписана
|
||||
МашиночитаемыеДоверенностиСтатусы.Подписана КАК Подписана
|
||||
ИЗ
|
||||
Справочник.МашиночитаемыеДоверенности КАК СправочникМашиночитаемыеДоверенности
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МашиночитаемыеДоверенностиСтатусы КАК МашиночитаемыеДоверенностиСтатусы
|
||||
ПО СправочникМашиночитаемыеДоверенности.Ссылка = МашиночитаемыеДоверенностиСтатусы.МашиночитаемаяДоверенность
|
||||
{ГДЕ
|
||||
(СправочникМашиночитаемыеДоверенности.Ссылка В
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
|
||||
ИЗ
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН + "|" +
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ + "|" +
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС + "|" +
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО + "|" +
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации
|
||||
ПОДОБНО &ДоверительСтрокаПоиска СПЕЦСИМВОЛ "~")),
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН + "|" + МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ + "|" + МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС + "|" + МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО + "|" + МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации ПОДОБНО &ДоверительСтрокаПоиска СПЕЦСИМВОЛ "~")),
|
||||
(СправочникМашиночитаемыеДоверенности.Ссылка В
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
|
||||
ИЗ
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН + "|" +
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ + "|" +
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС + "|" +
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО + "|" +
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации
|
||||
ПОДОБНО &ПредставительСтрокаПоиска СПЕЦСИМВОЛ "~")),
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН + "|" + МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ + "|" + МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС + "|" + МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО + "|" + МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации ПОДОБНО &ПредставительСтрокаПоиска СПЕЦСИМВОЛ "~")),
|
||||
(СправочникМашиночитаемыеДоверенности.Ссылка В
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиДоверители.Ссылка КАК Ссылка
|
||||
@@ -2306,7 +2456,8 @@
|
||||
ИЗ
|
||||
Справочник.МашиночитаемыеДоверенности.Доверители КАК МашиночитаемыеДоверенностиДоверители
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
|
||||
ПО МашиночитаемыеДоверенностиДоверители.Доверитель = Пользователи.ФизическоеЛицо
|
||||
ПО
|
||||
МашиночитаемыеДоверенностиДоверители.Доверитель = Пользователи.ФизическоеЛицо
|
||||
ГДЕ
|
||||
Пользователи.Ссылка = &ДоверительПользователь)),
|
||||
(СправочникМашиночитаемыеДоверенности.Ссылка В
|
||||
@@ -2315,7 +2466,8 @@
|
||||
ИЗ
|
||||
Справочник.МашиночитаемыеДоверенности.Представители КАК МашиночитаемыеДоверенностиПредставители
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
|
||||
ПО МашиночитаемыеДоверенностиПредставители.Представитель = Пользователи.ФизическоеЛицо
|
||||
ПО
|
||||
МашиночитаемыеДоверенностиПредставители.Представитель = Пользователи.ФизическоеЛицо
|
||||
ГДЕ
|
||||
Пользователи.Ссылка = &ПредставительПользователь)),
|
||||
(СправочникМашиночитаемыеДоверенности.Ссылка В
|
||||
@@ -2324,8 +2476,7 @@
|
||||
ИЗ
|
||||
Справочник.МашиночитаемыеДоверенности.Полномочия КАК МашиночитаемыеДоверенностиПолномочия
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПолномочия.Код + "|" + МашиночитаемыеДоверенностиПолномочия.Мнемокод + "|" +
|
||||
МашиночитаемыеДоверенностиПолномочия.Наименование ПОДОБНО &ПолномочияСтрокаПоиска)),
|
||||
МашиночитаемыеДоверенностиПолномочия.Код + "|" + МашиночитаемыеДоверенностиПолномочия.Мнемокод + "|" + МашиночитаемыеДоверенностиПолномочия.Наименование ПОДОБНО &ПолномочияСтрокаПоиска)),
|
||||
(СправочникМашиночитаемыеДоверенности.Ссылка В
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПолномочия.Ссылка КАК Ссылка
|
||||
@@ -2337,8 +2488,7 @@
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
|
||||
ИЗ
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН = &ДоверительИНН)),
|
||||
@@ -2346,8 +2496,7 @@
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
|
||||
ИЗ
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.ОГРН = &ДоверительОГРН)),
|
||||
@@ -2355,8 +2504,7 @@
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
|
||||
ИЗ
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ = &ДоверительИННФЛ)),
|
||||
@@ -2364,8 +2512,7 @@
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
|
||||
ИЗ
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС = &ДоверительСНИЛС)),
|
||||
@@ -2373,8 +2520,7 @@
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
|
||||
ИЗ
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН = &ПредставительИНН)),
|
||||
@@ -2382,8 +2528,7 @@
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
|
||||
ИЗ
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.ОГРН = &ПредставительОГРН)),
|
||||
@@ -2391,8 +2536,7 @@
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
|
||||
ИЗ
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ = &ПредставительИННФЛ)),
|
||||
@@ -2400,15 +2544,10 @@
|
||||
(ВЫБРАТЬ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность КАК МашиночитаемаяДоверенность
|
||||
ИЗ
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
ГДЕ
|
||||
МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Представитель)
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС = &ПредставительСНИЛС))}
|
||||
ИЗ
|
||||
Справочник.МашиночитаемыеДоверенности КАК СправочникМашиночитаемыеДоверенности
|
||||
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МашиночитаемыеДоверенностиСтатусы КАК МашиночитаемыеДоверенностиСтатусы
|
||||
ПО СправочникМашиночитаемыеДоверенности.Ссылка = МашиночитаемыеДоверенностиСтатусы.МашиночитаемаяДоверенность</queryText>
|
||||
И МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС = &ПредставительСНИЛС))}</queryText>
|
||||
<mainTable>Catalog.МашиночитаемыеДоверенности</mainTable>
|
||||
<dynamicDataRead>true</dynamicDataRead>
|
||||
<autoFillAvailableFields>true</autoFillAvailableFields>
|
||||
@@ -2500,13 +2639,41 @@
|
||||
<field>Подписана</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>ФайлДоверенности</dataPath>
|
||||
<field>ФайлДоверенности</field>
|
||||
<dataPath>СтатусВДругомРеестре</dataPath>
|
||||
<field>СтатусВДругомРеестре</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>ИндексСтатусаВДругомРеестре</dataPath>
|
||||
<field>ИндексСтатусаВДругомРеестре</field>
|
||||
<title>
|
||||
<localValue>
|
||||
<content>
|
||||
<key>ru</key>
|
||||
<value>Индекс статуса в другом реестре</value>
|
||||
</content>
|
||||
</localValue>
|
||||
</title>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>ТехническийСтатус</dataPath>
|
||||
<field>ТехническийСтатус</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>ВозможностьПередоверия</dataPath>
|
||||
<field>ВозможностьПередоверия</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>Передоверие</dataPath>
|
||||
<field>Передоверие</field>
|
||||
<title>
|
||||
<localValue>
|
||||
<content>
|
||||
<key>ru</key>
|
||||
<value>Передоверие</value>
|
||||
</content>
|
||||
</localValue>
|
||||
</title>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>РодительскаяДоверенность</dataPath>
|
||||
<field>РодительскаяДоверенность</field>
|
||||
@@ -2563,6 +2730,18 @@
|
||||
<dataPath>ФайлЗаявленияНаОтмену</dataPath>
|
||||
<field>ФайлЗаявленияНаОтмену</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>Нотариальная</dataPath>
|
||||
<field>Нотариальная</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>РеквизитыНотариальнойДоверенности</dataPath>
|
||||
<field>РеквизитыНотариальнойДоверенности</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>НомерВРеестреНотариальныхДействий</dataPath>
|
||||
<field>НомерВРеестреНотариальныхДействий</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>Доверители</dataPath>
|
||||
<field>Доверители</field>
|
||||
@@ -2592,24 +2771,8 @@
|
||||
<field>ИмяПредопределенныхДанных</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>СтатусВДругомРеестре</dataPath>
|
||||
<field>СтатусВДругомРеестре</field>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>ИндексСтатусаВДругомРеестре</dataPath>
|
||||
<field>ИндексСтатусаВДругомРеестре</field>
|
||||
<title>
|
||||
<localValue>
|
||||
<content>
|
||||
<key>ru</key>
|
||||
<value>Индекс статуса в другом реестре</value>
|
||||
</content>
|
||||
</localValue>
|
||||
</title>
|
||||
</fields>
|
||||
<fields xsi:type="schema:DataCompositionSchemaDataSetField">
|
||||
<dataPath>ТехническийСтатус</dataPath>
|
||||
<field>ТехническийСтатус</field>
|
||||
<dataPath>ФайлДоверенности</dataPath>
|
||||
<field>ФайлДоверенности</field>
|
||||
</fields>
|
||||
<parameters>
|
||||
<name>Доверитель</name>
|
||||
@@ -3163,6 +3326,17 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПараметрыПодключаемыхКоманд</name>
|
||||
<id>17</id>
|
||||
<valueType/>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>ЗагрузитьИзФайла</name>
|
||||
<title>
|
||||
|
||||
@@ -196,6 +196,19 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЕстьКолонкаСтатус = Ложь;
|
||||
ЕстьКолонкаИндекс = Ложь;
|
||||
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
ЕстьКолонкаСтатус = Строка.Значение.Данные.Свойство("СтатусВДругомРеестре");
|
||||
ЕстьКолонкаИндекс = Строка.Значение.Данные.Свойство("ИндексСтатусаВДругомРеестре");
|
||||
Прервать;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ЕстьКолонкаСтатус И Не ЕстьКолонкаИндекс Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Доверенности = Новый Соответствие;
|
||||
МассивДоверенностей = Строки.ПолучитьКлючи();
|
||||
|
||||
@@ -211,9 +224,12 @@
|
||||
Если Статус = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЕстьКолонкаСтатус Тогда
|
||||
Строка.Значение.Данные.СтатусВДругомРеестре = Статус.Статус;
|
||||
КонецЕсли;
|
||||
Если ЕстьКолонкаИндекс Тогда
|
||||
Строка.Значение.Данные.ИндексСтатусаВДругомРеестре = Статус.ИндексКартинки;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -11,6 +11,8 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Элементы.НомерВРеестреНотариальныхДействий.Видимость = Объект.Нотариальная;
|
||||
|
||||
Просрочена = ЗначениеЗаполнено(Объект.ДатаОкончания) И КонецДня(Объект.ДатаОкончания) < ТекущаяДатаСеанса();
|
||||
|
||||
ПериодОпросаСтатусов = 300;
|
||||
@@ -23,6 +25,8 @@
|
||||
|
||||
Если ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда
|
||||
ПрочитатьРеквизиты(Параметры.ЗначениеКопирования.ПолучитьОбъект());
|
||||
ИначеЕсли ЗначениеЗаполнено(Параметры.Основание) Тогда
|
||||
ПрочитатьРеквизитыОснования(Параметры.Основание);
|
||||
ИначеЕсли ЗначениеЗаполнено(Параметры.Доверитель) Или ЗначениеЗаполнено(Параметры.Представитель) Тогда
|
||||
Если ЗначениеЗаполнено(Параметры.Доверитель) Тогда
|
||||
ДобавитьУчастника(Параметры.Доверитель, "Доверитель");
|
||||
@@ -40,6 +44,8 @@
|
||||
ЗаполнитьПолномочияПоКодам(Параметры.Полномочия);
|
||||
КонецЕсли;
|
||||
|
||||
ЗаголовокФормы();
|
||||
|
||||
Иначе
|
||||
ДанныеСостояния = МашиночитаемыеДоверенностиФНССлужебный.ПрочитатьСостояниеМЧД(Объект.Ссылка);
|
||||
ТехническийСтатус = ДанныеСостояния.ТехническийСтатус;
|
||||
@@ -51,10 +57,12 @@
|
||||
|
||||
ПоказыватьПерсональныеДанные = ПоказыватьПерсональныеДанные();
|
||||
|
||||
ЗагрузитьЗначенияВФорму();
|
||||
МашиночитаемыеДоверенностиФНССлужебный.УстановитьУсловноеОформление(ЭтотОбъект);
|
||||
ПрочитатьСостояние(ЭтотОбъект);
|
||||
ПостроитьЦепочкуПередоверия();
|
||||
ОтобразитьДанныеПервоначальнойДоверенности();
|
||||
|
||||
ЗагрузитьЗначенияВФорму();
|
||||
УстановитьУсловноеОформление();
|
||||
ПрочитатьСостояние(ЭтотОбъект);
|
||||
ПрочитатьСостояниеВДругомРеестре();
|
||||
|
||||
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||
@@ -81,7 +89,7 @@
|
||||
|
||||
Если Модифицированность Или Параметры.Ключ.Пустая() Тогда
|
||||
ОбновитьОбъект(ТекущийОбъект);
|
||||
Если Не ПроверитьДублированиеСтрок() Тогда
|
||||
Если Не РеквизитыНедоступныДляРедактирования И Не ПроверитьДублированиеСтрокИДанныеПервоначальнойДоверенности() Тогда
|
||||
Отказ = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
@@ -98,6 +106,14 @@
|
||||
&НаКлиенте
|
||||
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
|
||||
|
||||
Если Модифицированность И Не РеквизитыНедоступныДляРедактирования И ЗначениеЗаполнено(Объект.ФайлДоверенности) Тогда
|
||||
|
||||
Если Не ОбновитьСформироватьФайлДоверенности() Тогда
|
||||
Отказ = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ИспользуетсяАвтоНаименование Тогда
|
||||
Объект.Наименование = "";
|
||||
КонецЕсли;
|
||||
@@ -107,10 +123,6 @@
|
||||
&НаСервере
|
||||
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
||||
|
||||
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
|
||||
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||
|
||||
ПрочитатьСостояниеВДругомРеестре();
|
||||
|
||||
ПрочитатьРеквизиты(ТекущийОбъект);
|
||||
@@ -120,6 +132,11 @@
|
||||
РазрешитьПередоверие = ТекущийОбъект.ВозможностьПередоверия = ПредопределенноеЗначение("Перечисление.ВозможностьПередоверияМЧД.ОднократноеПередоверие")
|
||||
Или ТекущийОбъект.ВозможностьПередоверия = ПредопределенноеЗначение("Перечисление.ВозможностьПередоверияМЧД.МногократноеПередоверие");
|
||||
|
||||
ЗаголовокФормы();
|
||||
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
|
||||
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@@ -397,32 +414,30 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДекорацияПолномочияПредставителяНажатие(Элемент)
|
||||
Процедура ПервоначальныйДоверительОткрытие(Элемент, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Истина;
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("ПослеВводаПолномочий", ЭтотОбъект);
|
||||
СтандартнаяОбработка = Ложь;
|
||||
Назначение = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.НазначениеДоверенностиДляПроверкиРеквизитов();
|
||||
Назначение.ТипУчастника = ПредопределенноеЗначение("Перечисление.ТипыУчастниковМЧД.Доверитель");
|
||||
ПараметрыФормы = МашиночитаемыеДоверенностиФНССлужебныйКлиент.ПараметрыФормыВводаРеквизитов(ДоверительПервоначальнойДоверенности,
|
||||
ДоверительПервоначальнойДоверенностиРеквизиты, Истина, Назначение);
|
||||
|
||||
МашиночитаемыеДоверенностиФНСКлиентПереопределяемый.ПриНачалеВыбораПолномочий(
|
||||
ОписаниеОповещения, СтандартнаяОбработка);
|
||||
ПараметрыФормы.ПоказыватьПерсональныеДанные = ПоказыватьПерсональныеДанные Или Не ТолькоПросмотр;
|
||||
|
||||
Если СтандартнаяОбработка = Истина Тогда
|
||||
МашиночитаемыеДоверенностиФНССлужебныйКлиент.ОткрытьФормуВводаРеквизитов(ЭтотОбъект, ПараметрыФормы);
|
||||
|
||||
СтруктураДанных = Новый Структура;
|
||||
СтруктураДанных.Вставить("ТекстПолномочий", Объект.ТекстПолномочий);
|
||||
СтруктураДанных.Вставить("ПолномочияВТекстовомВиде", Объект.ПолномочияВТекстовомВиде);
|
||||
СтруктураДанных.Вставить("Полномочия");
|
||||
Если Объект.Полномочия.Количество() > 0 Тогда
|
||||
СтруктураДанных.Полномочия = АдресПолномочий();
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
ОткрытьФорму(
|
||||
"Справочник.МашиночитаемыеДоверенности.Форма.ФормаВводаПолномочий",
|
||||
Новый Структура("ТолькоПросмотр, ВыбранныеПолномочия", РеквизитыНедоступныДляРедактирования, СтруктураДанных),
|
||||
ЭтотОбъект,,,,
|
||||
ОписаниеОповещения,
|
||||
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
|
||||
КонецЕсли;
|
||||
&НаКлиенте
|
||||
Процедура ТекстПолномочийОткрытие(Элемент, СтандартнаяОбработка)
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ОткрытиеФормыВводаПолномочий();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ТекстПолномочийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||||
СтандартнаяОбработка = Ложь;
|
||||
ОткрытиеФормыВводаПолномочий();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -544,6 +559,15 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыПередоверие
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПередовериеВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
|
||||
ПоказатьЗначение(, Элементы.ЦепочкаПередоверия.ТекущиеДанные.Ссылка);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
@@ -772,6 +796,11 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВыбратьПолномочия(Команда)
|
||||
ОткрытиеФормыВводаПолномочий();
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -855,7 +884,7 @@
|
||||
|
||||
РезультатПроверкиПодписиВФорме = ЭлектроннаяПодписьКлиентСервер.РезультатПроверкиПодписиВФорме();
|
||||
ЗаполнитьЗначенияСвойств(РезультатПроверкиПодписиВФорме, РезультатПроверкиПодписи,,"РезультатПроверки");
|
||||
ЗаполнитьЗначенияСвойств(РезультатПроверкиПодписиВФорме.РезультатПроверки, РезультатПроверкиПодписи);
|
||||
ЗаполнитьЗначенияСвойств(РезультатПроверкиПодписиВФорме.РезультатПроверки, РезультатПроверкиПодписи.РезультатПроверки);
|
||||
РезультатПроверкиПодписиВФорме.РезультатПроверки.ДополнительныеАтрибутыПровереныВручную = Ложь;
|
||||
РезультатПроверкиПодписиВФорме.РезультатПроверки.АвторРучнойПроверкиДополнительныхАтрибутов = Неопределено;
|
||||
РезультатПроверкиПодписиВФорме.РезультатПроверки.ОбоснованиеРучнойПроверкиДополнительныхАтрибутов = "";
|
||||
@@ -999,6 +1028,7 @@
|
||||
Объект.Полномочия.Очистить();
|
||||
Объект.Ограничения.Очистить();
|
||||
КонецЕсли;
|
||||
|
||||
ЕстьПолномочияДляНалоговыхОрганов = Ложь;
|
||||
|
||||
Если Не Объект.ПолномочияВТекстовомВиде Тогда
|
||||
@@ -1057,8 +1087,15 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КоличествоПолномочий = Объект.Полномочия.Количество();
|
||||
Если КоличествоПолномочий > 500 Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Количество машиночитаемых полномочий не должно превышать 500 (выбрано %1). Рекомендуется создать вторую доверенность.'"), КоличествоПолномочий),,,"ТекстПолномочий", Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
Если Объект.ПолномочияВТекстовомВиде И ПустаяСтрока(Объект.ТекстПолномочий)
|
||||
Или Не Объект.ПолномочияВТекстовомВиде И Объект.Полномочия.Количество() = 0 Тогда
|
||||
Или Не Объект.ПолномочияВТекстовомВиде И КоличествоПолномочий = 0 Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Не заполнены полномочия.'"),,,,Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1132,7 +1169,7 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ПроверитьДублированиеСтрок() Тогда
|
||||
Если Не ПроверитьДублированиеСтрокИДанныеПервоначальнойДоверенности() Тогда
|
||||
Отказ = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1141,7 +1178,7 @@
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПроверитьДублированиеСтрок()
|
||||
Функция ПроверитьДублированиеСтрокИДанныеПервоначальнойДоверенности()
|
||||
|
||||
Отказ = Ложь;
|
||||
|
||||
@@ -1150,6 +1187,60 @@
|
||||
ТаблицаДляПроверкиДублей.Колонки.Добавить("КПП");
|
||||
ТаблицаДляПроверкиДублей.Колонки.Добавить("ТабличнаяЧасть");
|
||||
|
||||
ТаблицаДляПроверкиПервоначальнойДоверенности = Новый ТаблицаЗначений;
|
||||
ТаблицаДляПроверкиПервоначальнойДоверенности.Колонки.Добавить("Ссылка");
|
||||
ТаблицаДляПроверкиПервоначальнойДоверенности.Колонки.Добавить("ИНН");
|
||||
ТаблицаДляПроверкиПервоначальнойДоверенности.Колонки.Добавить("КПП");
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.РодительскаяДоверенность) Тогда
|
||||
|
||||
РеквизитыРодительскойДоверенности = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.РодительскаяДоверенность, "Представители, ДатаОкончания");
|
||||
ПредставителиРодительскойДоверенности = РеквизитыРодительскойДоверенности.Представители.Выгрузить();
|
||||
|
||||
Если Объект.ДатаОкончания > РеквизитыРодительскойДоверенности.ДатаОкончания Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Дата окончания действия не должна быть больше, чем у родительской доверенности (%1)'"),
|
||||
Формат(РеквизитыРодительскойДоверенности.ДатаОкончания, "ДЛФ=D")),, "ДатаОкончания",, Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Строка Из ПредставителиРодительскойДоверенности Цикл
|
||||
|
||||
РеквизитыОрганизации = Строка.ПредставительРеквизиты.Получить();
|
||||
|
||||
ИНН = "";
|
||||
КПП = "";
|
||||
|
||||
Если Не РеквизитыОрганизации.ЭтоФизическоеЛицо Тогда
|
||||
ШаблонОшибки = НСтр("ru = 'Организация %1 - %2'");
|
||||
|
||||
ИНН = РеквизитыОрганизации.ИНН;
|
||||
|
||||
Если Не РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
|
||||
КПП = РеквизитыОрганизации.КПП;
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
ШаблонОшибки = НСтр("ru = 'Физическое лицо %1 - %2'");
|
||||
|
||||
Если Не РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
|
||||
ИНН = РеквизитыОрганизации.ИННФЛ;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
НоваяСтрока = ТаблицаДляПроверкиПервоначальнойДоверенности.Добавить();
|
||||
НоваяСтрока.Ссылка = Строка.Представитель;
|
||||
НоваяСтрока.ИНН = ИНН;
|
||||
НоваяСтрока.КПП = КПП;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(Объект.РодительскаяДоверенностьНомер) Тогда
|
||||
|
||||
ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Не указана ссылка на первоначальную доверенность'"),, "РодительскаяДоверенностьНомер",, Отказ);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Строка Из Объект.Доверители Цикл
|
||||
|
||||
РеквизитыОрганизации = ПолучитьИзВременногоХранилища(Строка.АдресРеквизитов);
|
||||
@@ -1173,8 +1264,23 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ПредставлениеДоверителя = ПредставлениеДоверителяПредставителяДляОшибки(Строка.Доверитель, ИНН, КПП);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Строка.ИдентификаторРодителя) Тогда
|
||||
Поле = "Доверитель";
|
||||
|
||||
Если ЗначениеЗаполнено(ИНН) И ТаблицаДляПроверкиПервоначальнойДоверенности.Количество() > 0 Тогда
|
||||
|
||||
Если ТаблицаДляПроверкиПервоначальнойДоверенности.НайтиСтроки(
|
||||
Новый Структура("ИНН, КПП", ИНН, КПП)).Количество() = 0 Тогда
|
||||
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, ПредставлениеДоверителя, НСтр(
|
||||
"ru = 'отсутствует в представителях первоначальной доверенности.'"));
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки,, Поле,, Отказ);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Поле = "ЛицоДоверителя";
|
||||
КонецЕсли;
|
||||
@@ -1187,8 +1293,7 @@
|
||||
СтруктураОтбора.Вставить("ТабличнаяЧасть", "Доверители");
|
||||
|
||||
Если ТаблицаДляПроверкиДублей.НайтиСтроки(СтруктураОтбора).Количество() > 0 Тогда
|
||||
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, Строка.Доверитель, НСтр(
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, ПредставлениеДоверителя, НСтр(
|
||||
"ru = 'указано несколько доверителей с одним ИНН.'"));
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки,, Поле,, Отказ);
|
||||
Иначе
|
||||
@@ -1230,6 +1335,8 @@
|
||||
Поле = "ЛицоПредставителя";
|
||||
КонецЕсли;
|
||||
|
||||
ПредставлениеПредставителя = ПредставлениеДоверителяПредставителяДляОшибки(Строка.Представитель, ИНН, КПП);
|
||||
|
||||
Если ЗначениеЗаполнено(ИНН) Тогда
|
||||
СтруктураОтбора = Новый Структура;
|
||||
СтруктураОтбора.Вставить("ИНН", ИНН);
|
||||
@@ -1239,7 +1346,7 @@
|
||||
Если ТаблицаДляПроверкиДублей.НайтиСтроки(СтруктураОтбора).Количество() > 0 Тогда
|
||||
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
|
||||
Строка.Представитель, НСтр(
|
||||
ПредставлениеПредставителя, НСтр(
|
||||
"ru = 'указано несколько представителей с одним ИНН.'"));
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки,, Поле,, Отказ);
|
||||
Иначе
|
||||
@@ -1253,7 +1360,7 @@
|
||||
Если ТаблицаДляПроверкиДублей.НайтиСтроки(СтруктураОтбора).Количество() > 0 Тогда
|
||||
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки,
|
||||
Строка.Представитель, НСтр(
|
||||
ПредставлениеПредставителя, НСтр(
|
||||
"ru = 'указан представитель и доверитель с одним и тем же ИНН.'"));
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки,, Поле,, Отказ);
|
||||
|
||||
@@ -1265,6 +1372,29 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПредставлениеДоверителяПредставителяДляОшибки(Ссылка, ИНН, КПП)
|
||||
Если ЗначениеЗаполнено(Ссылка) Тогда
|
||||
|
||||
Если ЗначениеЗаполнено(КПП) Тогда
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 (ИНН: %2, КПП %3)'"), Ссылка, ИНН, КПП);
|
||||
Иначе
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '%1 (ИНН: %2)'"), Ссылка, ИНН);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
|
||||
Если ЗначениеЗаполнено(КПП) Тогда
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'с ИНН: %1, КПП %2'"), ИНН, КПП);
|
||||
Иначе
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'с ИНН: %1'"), ИНН);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДекорацияНалоговыеОрганыДействияНажатиеПослеВвода(
|
||||
СтруктураДанных,
|
||||
@@ -1628,6 +1758,11 @@
|
||||
ВидимостьДляНалоговыхОрганов(Форма);
|
||||
КонецЕсли;
|
||||
|
||||
Если Условие = Неопределено Тогда
|
||||
Форма.Элементы.ВыбратьПолномочия.Видимость = Не Форма.РеквизитыНедоступныДляРедактирования;
|
||||
Форма.Элементы.ТекстПолномочий.КнопкаОткрытия = Форма.РеквизитыНедоступныДляРедактирования;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
@@ -1652,7 +1787,9 @@
|
||||
|
||||
Форма.Элементы.ГруппаЭлектронныеПодписи.Видимость = Форма.ЭлектронныеПодписи.Количество() > 0;
|
||||
|
||||
Если Форма.ЭлектронныеПодписи.Количество() = 1 Тогда
|
||||
Если Форма.Объект.Нотариальная Тогда
|
||||
Форма.Элементы.ГруппаЭлектронныеПодписи.Заголовок = НСтр("ru = 'Подпись нотариуса'");
|
||||
ИначеЕсли Форма.ЭлектронныеПодписи.Количество() = 1 Тогда
|
||||
Форма.Элементы.ГруппаЭлектронныеПодписи.Заголовок = НСтр("ru = 'Подпись доверителя'");
|
||||
Иначе
|
||||
Форма.Элементы.ГруппаЭлектронныеПодписи.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
@@ -2309,9 +2446,10 @@
|
||||
Назначение.ТипУчастника = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.ТипУчастникаМЧД(ИмяЭлементаОрганизация);
|
||||
Назначение.ДляНалоговыхОрганов = Объект.ДляНалоговыхОрганов;
|
||||
|
||||
ТолькоОсновные = Подписана Или ВнешнийСтатус(ЭтотОбъект);
|
||||
|
||||
Возврат МашиночитаемыеДоверенностиФНССлужебный.ЗаголовокДекорации(Назначение, Реквизиты, ИмяЭлементаОрганизация,
|
||||
Подписана Или ВнешнийСтатус(ЭтотОбъект), ТолькоОбязательные,
|
||||
ПоказыватьПерсональныеДанные Или Не ТолькоПросмотр);
|
||||
ТолькоОсновные, ТолькоОбязательные, ПоказыватьПерсональныеДанные Или Не ТолькоПросмотр);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -2332,58 +2470,50 @@
|
||||
Процедура СформироватьЗаголовокПолномочий(Форма)
|
||||
|
||||
Если Не Форма.Объект.ПолномочияВТекстовомВиде И Форма.Объект.Полномочия.Количество() = 0 Тогда
|
||||
Форма.Элементы.ДекорацияПолномочияПредставителя.Заголовок = НСтр("ru = '<Не выбраны>'");
|
||||
ИначеЕсли Форма.Объект.ПолномочияВТекстовомВиде
|
||||
И Форма.Объект.ТекстПолномочий = МашиночитаемыеДоверенностиФНССлужебныйКлиентСервер.ПредставлениеНеограниченныхПолномочий() Тогда
|
||||
Форма.Элементы.ДекорацияПолномочияПредставителя.Заголовок = Форма.Объект.ТекстПолномочий;
|
||||
Форма.ТекстПолномочий = НСтр("ru = '<Не выбраны>'");
|
||||
ИначеЕсли Форма.Объект.ПолномочияВТекстовомВиде Тогда
|
||||
Если СтрДлина(Форма.Объект.ТекстПолномочий) > 255 Тогда
|
||||
Форма.Элементы.ДекорацияПолномочияПредставителя.Заголовок = Лев(Форма.Объект.ТекстПолномочий, 255) + " ...";
|
||||
Иначе
|
||||
Форма.Элементы.ДекорацияПолномочияПредставителя.Заголовок = Форма.Объект.ТекстПолномочий;
|
||||
КонецЕсли;
|
||||
Форма.ТекстПолномочий = Форма.Объект.ТекстПолномочий;
|
||||
Иначе
|
||||
ПредставлениеПолномочий = Новый Массив;
|
||||
Для Каждого СтрокаПолномочия Из Форма.Объект.Полномочия Цикл
|
||||
|
||||
ПредставлениеПолномочия = ?(ЗначениеЗаполнено(СтрокаПолномочия.Наименование),
|
||||
СтрокаПолномочия.Наименование, СтрокаПолномочия.Код);
|
||||
|
||||
ЕстьОграничения = "";
|
||||
Если Форма.Объект.Ограничения.НайтиСтроки(
|
||||
Новый Структура("ИдентификаторПолномочия", СтрокаПолномочия.ИдентификаторПолномочия)).Количество() > 0 Тогда
|
||||
ЕстьОграничения = " " + НСтр("ru = '(с ограничениями)'");
|
||||
КонецЕсли;
|
||||
МассивОграничений = Новый Массив;
|
||||
Найдено = Форма.Объект.Ограничения.НайтиСтроки(
|
||||
Новый Структура("ИдентификаторПолномочия", СтрокаПолномочия.ИдентификаторПолномочия));
|
||||
|
||||
Если ПустаяСтрока(ПредставлениеПолномочия) Тогда
|
||||
ПредставлениеПолномочия = НСтр("ru = '<Не заполнено>'") + ЕстьОграничения;
|
||||
ИначеЕсли СтрДлина(ПредставлениеПолномочия) > 255 Тогда
|
||||
ПредставлениеПолномочия = Лев(ПредставлениеПолномочия, 255) + ЕстьОграничения + " ...";
|
||||
Иначе
|
||||
ПредставлениеПолномочия = ПредставлениеПолномочия + ЕстьОграничения;
|
||||
Для Каждого СтрокаОграничение Из Найдено Цикл
|
||||
Массив = Новый Массив;
|
||||
Если ЗначениеЗаполнено(СтрокаОграничение.Наименование) Тогда
|
||||
Массив.Добавить(СтрокаОграничение.Наименование + ":");
|
||||
ИначеЕсли ЗначениеЗаполнено(СтрокаОграничение.Код) Тогда
|
||||
Массив.Добавить(СтрокаОграничение.Код + ":");
|
||||
КонецЕсли;
|
||||
|
||||
ПредставлениеПолномочий.Добавить(ПредставлениеПолномочия);
|
||||
Если ПредставлениеПолномочий.Количество() > 5 Тогда
|
||||
Прервать;
|
||||
Если ЗначениеЗаполнено(СтрокаОграничение.НаименованиеЗначения) Тогда
|
||||
Массив.Добавить(СтрокаОграничение.НаименованиеЗначения);
|
||||
ИначеЕсли ЗначениеЗаполнено(СтрокаОграничение.КодЗначения) Тогда
|
||||
Массив.Добавить(СтрокаОграничение.КодЗначения);
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(СтрокаОграничение.ТекстовоеЗначение) Тогда
|
||||
Массив.Добавить(СтрокаОграничение.ТекстовоеЗначение);
|
||||
КонецЕсли;
|
||||
МассивОграничений.Добавить(СтрСоединить(Массив, " "));
|
||||
КонецЦикла;
|
||||
|
||||
КоличествоПолномочийВЗаголовке = ПредставлениеПолномочий.Количество();
|
||||
Если ПустаяСтрока(ПредставлениеПолномочия) Тогда
|
||||
ПредставлениеПолномочия = НСтр("ru = '<Не заполнено>'");
|
||||
КонецЕсли;
|
||||
|
||||
Если КоличествоПолномочийВЗаголовке = 0 Тогда
|
||||
Форма.Элементы.ДекорацияПолномочияПредставителя.Заголовок =
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Машиночитаемые полномочия (%1)...'"), Форма.Объект.Полномочия.Количество());
|
||||
Иначе
|
||||
КоличествоПолномочийВЗаголовке = Форма.Объект.Полномочия.Количество() - КоличествоПолномочийВЗаголовке;
|
||||
Если КоличествоПолномочийВЗаголовке > 0 Тогда
|
||||
Форма.Элементы.ДекорацияПолномочияПредставителя.Заголовок =
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 и еще %2...'"),
|
||||
СтрСоединить(ПредставлениеПолномочий, ";" + Символы.ПС), КоличествоПолномочийВЗаголовке);
|
||||
Иначе
|
||||
Форма.Элементы.ДекорацияПолномочияПредставителя.Заголовок = СтрСоединить(ПредставлениеПолномочий, ";" + Символы.ПС);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ПредставлениеПолномочия = ПредставлениеПолномочия + ?(МассивОграничений.Количество()>0,
|
||||
Символы.ПС + Символы.Таб + СтрСоединить(МассивОграничений, Символы.ПС + Символы.Таб), "");
|
||||
|
||||
ПредставлениеПолномочий.Добавить(ПредставлениеПолномочия);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Форма.ТекстПолномочий = СтрСоединить(ПредставлениеПолномочий, ";" + Символы.ПС);
|
||||
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
@@ -2505,16 +2635,14 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Форма.ДоверительРеквизиты <> Неопределено И
|
||||
(Форма.ДоверительРеквизиты.ЭтоФизическоеЛицо Или
|
||||
Форма.ДоверительРеквизиты.ЭтоИндивидуальныйПредприниматель
|
||||
Или Форма.ДоверительРеквизиты.ЭтоИностраннаяОрганизация
|
||||
Если Форма.ДоверительРеквизиты <> Неопределено И (Форма.ДоверительРеквизиты.ЭтоФизическоеЛицо
|
||||
Или Форма.ДоверительРеквизиты.ЭтоИндивидуальныйПредприниматель Или Форма.ДоверительРеквизиты.ЭтоИностраннаяОрганизация
|
||||
Или Форма.ДоверительРеквизиты.ЭтоФилиал) Тогда
|
||||
Форма.Элементы.ДекорацияЛицоДоверителяЗаголовок.Видимость = Ложь;
|
||||
Форма.Элементы.ЛицоДоверителяВыборТипа.Видимость = Ложь;
|
||||
Форма.Элементы.ЛицоДоверителяТипДекорация.Видимость = Истина;
|
||||
Иначе
|
||||
Форма.Элементы.ДекорацияЛицоДоверителяЗаголовок.Видимость = Истина;
|
||||
Форма.Элементы.ДекорацияЛицоДоверителяЗаголовок.Видимость = Не ЗначениеЗаполнено(Форма.Объект.РодительскаяДоверенностьНомер);
|
||||
Форма.Элементы.ЛицоДоверителяВыборТипа.Видимость = Не Форма.РеквизитыНедоступныДляРедактирования;
|
||||
Форма.Элементы.ЛицоДоверителяТипДекорация.Видимость = Форма.РеквизитыНедоступныДляРедактирования;
|
||||
КонецЕсли;
|
||||
@@ -3051,6 +3179,14 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПрочитатьРеквизитыОснования(Основание)
|
||||
|
||||
Представители = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Основание, "Представители").Выгрузить();
|
||||
ПрочитатьРеквизитыТабличнойЧасти(Представители, Объект.Доверители, "ПредставительРеквизиты");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПрочитатьРеквизитыТабличнойЧасти(ТабличнаяЧастьОбъекта, ТабличнаяЧастьФормы, ИмяРеквизита)
|
||||
|
||||
@@ -3126,6 +3262,16 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция АдресПолномочийРодительскойДоверенности()
|
||||
|
||||
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.РодительскаяДоверенность,"Полномочия, Ограничения");
|
||||
|
||||
Структура = Новый Структура("Полномочия, Ограничения", Реквизиты.Полномочия.Выгрузить(), Реквизиты.Ограничения.Выгрузить());
|
||||
Возврат ПоместитьВоВременноеХранилище(Структура, УникальныйИдентификатор);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// СтандартныеПодсистемы.ПодключаемыеКоманды
|
||||
&НаКлиенте
|
||||
Процедура Подключаемый_ВыполнитьКоманду(Команда)
|
||||
@@ -3496,4 +3642,350 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаголовокФормы()
|
||||
Если ЗначениеЗаполнено(Объект.РодительскаяДоверенностьНомер) Тогда
|
||||
Автозаголовок = Ложь;
|
||||
Если Параметры.Ключ.Пустая() Тогда
|
||||
Заголовок = НСтр("ru = 'Передоверие (создание)'");
|
||||
Иначе
|
||||
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 (Передоверие)'"), Объект.Наименование);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Автозаголовок = Истина;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОтобразитьДанныеПервоначальнойДоверенности()
|
||||
|
||||
Если Не ЗначениеЗаполнено(Объект.РодительскаяДоверенностьНомер) Тогда
|
||||
Элементы.ГруппаДоверительПервоначальнойДоверенности.Видимость = Ложь;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ГруппаДоверительПервоначальнойДоверенности.Видимость = Истина;
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.ФайлДоверенности) Тогда
|
||||
|
||||
Доверители = Справочники.МашиночитаемыеДоверенности.ДоверителиПервоначальнойДоверенностиПоФайлу(Объект.ФайлДоверенности);
|
||||
РеквизитыДоверителя = Доверители[0];
|
||||
|
||||
Если Не РеквизитыДоверителя.ЭтоФизическоеЛицо Тогда
|
||||
Элементы.ДоверительПервоначальнойДоверенностиТипДекорация.Заголовок = НСтр("ru = 'Организация'");
|
||||
ДоверительПервоначальнойДоверенностиНаименование = РеквизитыДоверителя.НаименованиеПолное;
|
||||
Иначе
|
||||
Элементы.ДоверительПервоначальнойДоверенностиТипДекорация.Заголовок = НСтр("ru = 'Физическое лицо'");
|
||||
|
||||
Массив = Новый Массив;
|
||||
Массив.Добавить(РеквизитыДоверителя.Фамилия);
|
||||
Массив.Добавить(РеквизитыДоверителя.Имя);
|
||||
Если ЗначениеЗаполнено(РеквизитыДоверителя.Отчество) Тогда
|
||||
Массив.Добавить(РеквизитыДоверителя.Отчество);
|
||||
КонецЕсли;
|
||||
ДоверительПервоначальнойДоверенностиНаименование = СтрСоединить(Массив, " ");
|
||||
КонецЕсли;
|
||||
|
||||
ДоверительПервоначальнойДоверенностиРеквизиты = РеквизитыДоверителя;
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(Объект.РодительскаяДоверенность) Тогда
|
||||
|
||||
Доверители = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.РодительскаяДоверенность,
|
||||
"Доверители").Выгрузить();
|
||||
Найдено = Доверители.НайтиСтроки(Новый Структура("ИдентификаторРодителя",
|
||||
Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000")));
|
||||
Доверители = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
|
||||
Объект.РодительскаяДоверенность, "Доверители").Выгрузить();
|
||||
|
||||
Если Доверители.Количество() > 0 Тогда
|
||||
|
||||
РеквизитыДоверителя = Доверители[0].ДоверительРеквизиты.Получить();
|
||||
Если Не РеквизитыДоверителя.ЭтоФизическоеЛицо Тогда
|
||||
ДоверительПервоначальнойДоверенностиНаименование = ?(ЗначениеЗаполнено(РеквизитыДоверителя.НаименованиеСокращенное),
|
||||
РеквизитыДоверителя.НаименованиеСокращенное, РеквизитыДоверителя.НаименованиеПолное);
|
||||
Иначе
|
||||
ДоверительПервоначальнойДоверенностиНаименование = СтрШаблон("%1 %2 %3", РеквизитыДоверителя.Фамилия,
|
||||
РеквизитыДоверителя.Имя, РеквизитыДоверителя.Отчество);
|
||||
КонецЕсли;
|
||||
|
||||
ДоверительПервоначальнойДоверенностиРеквизиты = РеквизитыДоверителя;
|
||||
ДоверительПервоначальнойДоверенности = Доверители[0].Доверитель;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
Элементы.ДоверительПервоначальнойДоверенностиНаименование.Заголовок =
|
||||
НСтр("ru = 'Отсутствует файл доверенности, нет данных о первоначальном доверителе'");
|
||||
Элементы.ДоверительПервоначальнойДоверенностиНаименование.КнопкаОткрытия = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПостроитьЦепочкуПередоверия()
|
||||
|
||||
ТаблицаЗначений = Новый ТаблицаЗначений;
|
||||
ТаблицаЗначений.Колонки.Добавить("Ссылка");
|
||||
ТаблицаЗначений.Колонки.Добавить("Наименование");
|
||||
ТаблицаЗначений.Колонки.Добавить("Уровень");
|
||||
ТаблицаЗначений.Колонки.Добавить("ИндексСтатуса");
|
||||
ТаблицаЗначений.Колонки.Добавить("ФайлДоверенности");
|
||||
ТаблицаЗначений.Колонки.Добавить("НомерДоверенности");
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.НомерДоверенности) Тогда
|
||||
Уровень = 0 ;
|
||||
ДочерняяДоверенность = ДочерняяДоверенность(Объект.НомерДоверенности);
|
||||
Пока ДочерняяДоверенность <> Неопределено Цикл
|
||||
НоваяСтрока = ТаблицаЗначений.Добавить();
|
||||
НоваяСтрока.Наименование = ДочерняяДоверенность.Наименование;
|
||||
НоваяСтрока.Ссылка = ДочерняяДоверенность.Ссылка;
|
||||
НоваяСтрока.ИндексСтатуса = ДочерняяДоверенность.ИндексСтатуса;
|
||||
НоваяСтрока.ФайлДоверенности = ДочерняяДоверенность.ФайлДоверенности;
|
||||
НоваяСтрока.НомерДоверенности = ДочерняяДоверенность.НомерДоверенности;
|
||||
Уровень = Уровень - 1;
|
||||
НоваяСтрока.Уровень = Уровень;
|
||||
// @skip-check query-in-loop - обычно не более 2 запросов, проектное решение.
|
||||
ДочерняяДоверенность = ДочерняяДоверенность(ДочерняяДоверенность.НомерДоверенности);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.РодительскаяДоверенностьНомер) Тогда
|
||||
Уровень = 0 ;
|
||||
РодительскаяДоверенность = РодительскаяДоверенность(Объект.РодительскаяДоверенностьНомер);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Объект.РодительскаяДоверенность) И ЗначениеЗаполнено(РодительскаяДоверенность) Тогда
|
||||
Объект.РодительскаяДоверенность = РодительскаяДоверенность.Ссылка;
|
||||
Модифицированность = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Пока РодительскаяДоверенность <> Неопределено Цикл
|
||||
НоваяСтрока = ТаблицаЗначений.Добавить();
|
||||
НоваяСтрока.Наименование = РодительскаяДоверенность.Наименование;
|
||||
НоваяСтрока.Ссылка = РодительскаяДоверенность.Ссылка;
|
||||
НоваяСтрока.ИндексСтатуса = РодительскаяДоверенность.ИндексСтатуса;
|
||||
НоваяСтрока.ФайлДоверенности = РодительскаяДоверенность.ФайлДоверенности;
|
||||
НоваяСтрока.НомерДоверенности = РодительскаяДоверенность.НомерДоверенности;
|
||||
Уровень = Уровень + 1;
|
||||
НоваяСтрока.Уровень = Уровень;
|
||||
// @skip-check query-in-loop - обычно не более 2 запросов, проектное решение.
|
||||
РодительскаяДоверенность = РодительскаяДоверенность(РодительскаяДоверенность.РодительскаяДоверенностьНомер);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТаблицаЗначений.Количество() > 0 Тогда
|
||||
|
||||
НоваяСтрока = ТаблицаЗначений.Добавить();
|
||||
НоваяСтрока.Уровень = 0;
|
||||
НоваяСтрока.НомерДоверенности = Объект.НомерДоверенности;
|
||||
НоваяСтрока.Ссылка = Объект.Ссылка;
|
||||
Если Объект.Статус = Перечисления.СтатусыМЧД.Действует Тогда
|
||||
Если КонецДня(Объект.ДатаОкончания) >= ТекущаяДатаСеанса()
|
||||
И КонецДня(Объект.ДатаОкончания) <= ТекущаяДатаСеанса() + 3*24*60*60 Тогда
|
||||
НоваяСтрока.ИндексСтатуса = 3;
|
||||
ИначеЕсли Объект.ДатаВыдачи > ТекущаяДатаСеанса() Тогда
|
||||
НоваяСтрока.ИндексСтатуса = 5;
|
||||
ИначеЕсли КонецДня(Объект.ДатаОкончания) >= ТекущаяДатаСеанса() Тогда
|
||||
НоваяСтрока.ИндексСтатуса = 2;
|
||||
Иначе
|
||||
НоваяСтрока.ИндексСтатуса = 4;
|
||||
КонецЕсли;
|
||||
ИначеЕсли Объект.Статус = Перечисления.СтатусыМЧД.Черновик Тогда
|
||||
НоваяСтрока.ИндексСтатуса = 5;
|
||||
ИначеЕсли Объект.Статус = Перечисления.СтатусыМЧД.НеДействует Тогда
|
||||
НоваяСтрока.ИндексСтатуса = 4;
|
||||
Иначе
|
||||
НоваяСтрока.ИндексСтатуса = 5;
|
||||
КонецЕсли;
|
||||
|
||||
НоваяСтрока.Наименование =?(ЗначениеЗаполнено(Объект.Наименование), Объект.Наименование, НСтр("ru = 'Текущая доверенность'"));
|
||||
ТаблицаЗначений.Сортировать("Уровень Убыв");
|
||||
|
||||
Родитель = ЦепочкаПередоверия.ПолучитьЭлементы();
|
||||
Для Каждого Строка Из ТаблицаЗначений Цикл
|
||||
НоваяСтрока = Родитель.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
|
||||
Родитель = НоваяСтрока.ПолучитьЭлементы();
|
||||
КонецЦикла;
|
||||
|
||||
Элементы.ГруппаПередоверие.Видимость = Истина;
|
||||
|
||||
Иначе
|
||||
Элементы.ГруппаПередоверие.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ДочерняяДоверенность(НомерДоверенности)
|
||||
|
||||
Если Не ЗначениеЗаполнено(НомерДоверенности) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| МашиночитаемыеДоверенности.Ссылка КАК Ссылка,
|
||||
| МашиночитаемыеДоверенности.НомерДоверенности КАК НомерДоверенности,
|
||||
| МашиночитаемыеДоверенности.ФайлДоверенности КАК ФайлДоверенности,
|
||||
| ВЫБОР
|
||||
| КОГДА КОНЕЦПЕРИОДА(МашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ) МЕЖДУ &ТекущаяДата И &СрокИстекающихДоверенностей
|
||||
| И МашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
|
||||
| ТОГДА 3
|
||||
| КОГДА &ТекущаяДата > КОНЕЦПЕРИОДА(МашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ)
|
||||
| И МашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
|
||||
| ТОГДА 4
|
||||
| КОГДА МашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Черновик)
|
||||
| ТОГДА 5
|
||||
| КОГДА &ТекущаяДата
|
||||
| МЕЖДУ МашиночитаемыеДоверенности.ДатаВыдачи И КОНЕЦПЕРИОДА(МашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ)
|
||||
| И МашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
|
||||
| ТОГДА 2
|
||||
| КОГДА МашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.НеДействует)
|
||||
| ТОГДА 4
|
||||
| ИНАЧЕ 5
|
||||
| КОНЕЦ КАК ИндексСтатуса,
|
||||
| МашиночитаемыеДоверенности.Наименование КАК Наименование
|
||||
|ИЗ
|
||||
| Справочник.МашиночитаемыеДоверенности КАК МашиночитаемыеДоверенности
|
||||
|ГДЕ
|
||||
| МашиночитаемыеДоверенности.РодительскаяДоверенностьНомер = &НомерДоверенности
|
||||
| И НЕ МашиночитаемыеДоверенности.ПометкаУдаления";
|
||||
|
||||
Запрос.УстановитьПараметр("НомерДоверенности", НомерДоверенности);
|
||||
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса());
|
||||
Запрос.УстановитьПараметр("СрокИстекающихДоверенностей", ТекущаяДатаСеанса() + 3*24*60*60);
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
Если РезультатЗапроса.Пустой() Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
Выборка.Следующий();
|
||||
Возврат Выборка;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция РодительскаяДоверенность(РодительскаяДоверенностьНомер)
|
||||
|
||||
Если Не ЗначениеЗаполнено(РодительскаяДоверенностьНомер) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| МашиночитаемыеДоверенности.Ссылка КАК Ссылка,
|
||||
| МашиночитаемыеДоверенности.НомерДоверенности КАК НомерДоверенности,
|
||||
| МашиночитаемыеДоверенности.РодительскаяДоверенностьНомер КАК РодительскаяДоверенностьНомер,
|
||||
| МашиночитаемыеДоверенности.ФайлДоверенности КАК ФайлДоверенности,
|
||||
| ВЫБОР
|
||||
| КОГДА КОНЕЦПЕРИОДА(МашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ) МЕЖДУ &ТекущаяДата И &СрокИстекающихДоверенностей
|
||||
| И МашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
|
||||
| ТОГДА 3
|
||||
| КОГДА &ТекущаяДата > КОНЕЦПЕРИОДА(МашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ)
|
||||
| И МашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
|
||||
| ТОГДА 4
|
||||
| КОГДА МашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Черновик)
|
||||
| ТОГДА 5
|
||||
| КОГДА &ТекущаяДата МЕЖДУ МашиночитаемыеДоверенности.ДатаВыдачи И КОНЕЦПЕРИОДА(МашиночитаемыеДоверенности.ДатаОкончания, ДЕНЬ)
|
||||
| И МашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.Действует)
|
||||
| ТОГДА 2
|
||||
| КОГДА МашиночитаемыеДоверенности.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыМЧД.НеДействует)
|
||||
| ТОГДА 4
|
||||
| ИНАЧЕ 5
|
||||
| КОНЕЦ КАК ИндексСтатуса,
|
||||
| МашиночитаемыеДоверенности.Наименование КАК Наименование
|
||||
|ИЗ
|
||||
| Справочник.МашиночитаемыеДоверенности КАК МашиночитаемыеДоверенности
|
||||
|ГДЕ
|
||||
| МашиночитаемыеДоверенности.НомерДоверенности = &РодительскаяДоверенностьНомер
|
||||
| И НЕ МашиночитаемыеДоверенности.ПометкаУдаления";
|
||||
|
||||
Запрос.УстановитьПараметр("РодительскаяДоверенностьНомер", РодительскаяДоверенностьНомер);
|
||||
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса());
|
||||
Запрос.УстановитьПараметр("СрокИстекающихДоверенностей", ТекущаяДатаСеанса() + 3*24*60*60);
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
Если РезультатЗапроса.Пустой() Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
Выборка.Следующий();
|
||||
Возврат Выборка;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьУсловноеОформление()
|
||||
|
||||
МашиночитаемыеДоверенностиФНССлужебный.УстановитьУсловноеОформление(ЭтотОбъект);
|
||||
|
||||
Если Элементы.ГруппаПередоверие.Видимость Тогда
|
||||
|
||||
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
|
||||
|
||||
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(
|
||||
Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЦепочкаПередоверия.НомерДоверенности");
|
||||
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||
ЭлементОтбора.ПравоеЗначение = Объект.НомерДоверенности;
|
||||
ЭлементОтбора.Использование = Истина;
|
||||
|
||||
ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
|
||||
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ЦепочкаПередоверия");
|
||||
|
||||
ЭлементШрифтаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("Шрифт");
|
||||
|
||||
Шрифт = Новый Шрифт(Элементы.ЦепочкаПередоверия.Шрифт,,,Истина);
|
||||
|
||||
ЭлементШрифтаОформления.Значение = Шрифт;
|
||||
ЭлементШрифтаОформления.Использование = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОткрытиеФормыВводаПолномочий()
|
||||
|
||||
СтандартнаяОбработкаВыбора = Истина;
|
||||
ОписаниеОповещения = Новый ОписаниеОповещения("ПослеВводаПолномочий", ЭтотОбъект);
|
||||
|
||||
МашиночитаемыеДоверенностиФНСКлиентПереопределяемый.ПриНачалеВыбораПолномочий(
|
||||
ОписаниеОповещения, СтандартнаяОбработкаВыбора);
|
||||
|
||||
Если СтандартнаяОбработкаВыбора = Истина Тогда
|
||||
|
||||
СтруктураДанных = Новый Структура;
|
||||
СтруктураДанных.Вставить("ТекстПолномочий", Объект.ТекстПолномочий);
|
||||
СтруктураДанных.Вставить("ПолномочияВТекстовомВиде", Объект.ПолномочияВТекстовомВиде);
|
||||
СтруктураДанных.Вставить("Полномочия");
|
||||
|
||||
Если Объект.Полномочия.Количество() > 0 Тогда
|
||||
СтруктураДанных.Полномочия = АдресПолномочий();
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
Если Не РеквизитыНедоступныДляРедактирования И ЗначениеЗаполнено(Объект.РодительскаяДоверенность) Тогда
|
||||
ПараметрыФормы.Вставить("ПолномочияРодительскойДоверенности", АдресПолномочийРодительскойДоверенности());
|
||||
КонецЕсли;
|
||||
ПараметрыФормы.Вставить("ТолькоПросмотр", РеквизитыНедоступныДляРедактирования);
|
||||
ПараметрыФормы.Вставить("ВыбранныеПолномочия", СтруктураДанных);
|
||||
|
||||
ОткрытьФорму(
|
||||
"Справочник.МашиночитаемыеДоверенности.Форма.ФормаВводаПолномочий",
|
||||
ПараметрыФормы,
|
||||
ЭтотОбъект,,,,
|
||||
ОписаниеОповещения,
|
||||
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры;
|
||||
|
||||
#КонецОбласти
|
||||
File diff suppressed because it is too large.
Load diff
@@ -17,12 +17,20 @@
|
||||
СтатусУстановленВручную = Ложь;
|
||||
НомерДоверенности = Неопределено;
|
||||
ФайлДоверенности = Неопределено;
|
||||
ФайлЗаявленияНаОтмену = Неопределено;
|
||||
ДатаОтмены = Неопределено;
|
||||
Ответственный = Неопределено;
|
||||
Верна = Ложь;
|
||||
СтатусВернаУстановленВручную = Ложь;
|
||||
УстановившийСтатусВерна = Неопределено;
|
||||
Подписана = Ложь;
|
||||
Наименование = Неопределено;
|
||||
ДатаПроверки = Неопределено;
|
||||
РодительскаяДоверенностьНомер = Неопределено;
|
||||
РодительскаяДоверенность = Неопределено;
|
||||
РеквизитыНотариальнойДоверенности = Неопределено;
|
||||
НомерВРеестреНотариальныхДействий = Неопределено;
|
||||
Нотариальная = Неопределено;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -32,6 +40,10 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(ВозможностьПередоверия) Тогда
|
||||
ВозможностьПередоверия = ПредопределенноеЗначение("Перечисление.ВозможностьПередоверияМЧД.БезПередоверия");
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(Наименование) Тогда
|
||||
Наименование = Справочники.МашиночитаемыеДоверенности.АвтоНаименование(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
@@ -118,6 +130,21 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Нотариальная Тогда
|
||||
РеквизитыНотариуса = РеквизитыНотариальнойДоверенности.Получить();
|
||||
|
||||
НоваяЗапись = НаборЗаписей.Добавить();
|
||||
Если ЗначениеЗаполнено(РеквизитыНотариуса.ИсполняющийОбязанностиНотариуса) Тогда
|
||||
НоваяЗапись.ФИО = ФИО(РеквизитыНотариуса.ИсполняющийОбязанностиНотариуса);
|
||||
Иначе
|
||||
НоваяЗапись.ФИО = ФИО(РеквизитыНотариуса.Нотариус);
|
||||
КонецЕсли;
|
||||
|
||||
НоваяЗапись.МашиночитаемаяДоверенность = Ссылка;
|
||||
НоваяЗапись.ТипУчастника = Перечисления.ТипыУчастниковМЧД.Нотариус;
|
||||
НоваяЗапись.ЭтоФизическоеЛицо = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
НаборЗаписей.Записать();
|
||||
|
||||
Если ДополнительныеСвойства.Свойство("ОбновитьСтатус") Тогда
|
||||
@@ -126,6 +153,94 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
|
||||
|
||||
Если ТипЗнч(ДанныеЗаполнения) <> Тип("СправочникСсылка.МашиночитаемыеДоверенности") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РодительскаяДоверенность = ДанныеЗаполнения;
|
||||
РеквизитыРодительскойДоверенности = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(РодительскаяДоверенность,
|
||||
"Представители, Полномочия, Ограничения, НомерДоверенности, РегистрироватьВРеестре, ВозможностьПередоверия, ФайлДоверенности, ТекстПолномочий, ПолномочияВТекстовомВиде");
|
||||
|
||||
Если Не ЗначениеЗаполнено(РеквизитыРодительскойДоверенности.ВозможностьПередоверия)
|
||||
Или РеквизитыРодительскойДоверенности.ВозможностьПередоверия = Перечисления.ВозможностьПередоверияМЧД.БезПередоверия Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Доверенность %1 не поддерживает возможность передоверия.'"), РодительскаяДоверенность);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(РеквизитыРодительскойДоверенности.НомерДоверенности) Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не заполнен единый регистрационный номер доверенности %1.'"), РодительскаяДоверенность);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(РеквизитыРодительскойДоверенности.ФайлДоверенности) Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не найден файл доверенности %1.'"), РодительскаяДоверенность);
|
||||
КонецЕсли;
|
||||
|
||||
РодительскаяДоверенностьНомер = РеквизитыРодительскойДоверенности.НомерДоверенности;
|
||||
РегистрироватьВРеестре = РеквизитыРодительскойДоверенности.РегистрироватьВРеестре;
|
||||
|
||||
ТЧПредставители = РеквизитыРодительскойДоверенности.Представители.Выгрузить();
|
||||
Найдено = ТЧПредставители.НайтиСтроки(Новый Структура("ИдентификаторРодителя",
|
||||
Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000")));
|
||||
|
||||
ТолькоФизлица = Неопределено; ТолькоИП = Неопределено;
|
||||
Для каждого СтрокаОрганизация Из Найдено Цикл
|
||||
|
||||
РеквизитыОрганизации = СтрокаОрганизация.ПредставительРеквизиты.Получить();
|
||||
|
||||
Если РеквизитыОрганизации.ЭтоФизическоеЛицо Тогда
|
||||
ТолькоФизлица = Истина;
|
||||
Продолжить;
|
||||
ИначеЕсли РеквизитыОрганизации.ЭтоИндивидуальныйПредприниматель Тогда
|
||||
ТолькоИП = Истина;
|
||||
Продолжить;
|
||||
Иначе
|
||||
ТолькоФизлица = Ложь; ТолькоИП = Ложь;
|
||||
|
||||
НоваяСтрока = Доверители.Добавить();
|
||||
НоваяСтрока.Доверитель = СтрокаОрганизация.Представитель;
|
||||
НоваяСтрока.ДоверительРеквизиты = Новый ХранилищеЗначения(РеквизитыОрганизации);
|
||||
НоваяСтрока.ЭтоФизЛицо = РеквизитыОрганизации.ЭтоФизическоеЛицо;
|
||||
НоваяСтрока.Идентификатор = СтрокаОрганизация.Идентификатор;
|
||||
|
||||
НайденоФизическиеЛица = ТЧПредставители.НайтиСтроки(Новый Структура("ИдентификаторРодителя",
|
||||
СтрокаОрганизация.Идентификатор));
|
||||
|
||||
Если НайденоФизическиеЛица.Количество() > 0 Тогда
|
||||
СтрокаФизическоеЛицо = НайденоФизическиеЛица[0];
|
||||
НоваяСтрокаФизЛицо = Доверители.Добавить();
|
||||
НоваяСтрокаФизЛицо.Доверитель = СтрокаФизическоеЛицо.Представитель;
|
||||
ДоверительРеквизиты = СтрокаФизическоеЛицо.ПредставительРеквизиты.Получить();
|
||||
НоваяСтрокаФизЛицо.Идентификатор = СтрокаФизическоеЛицо.Идентификатор;
|
||||
НоваяСтрокаФизЛицо.ДоверительРеквизиты = Новый ХранилищеЗначения(ДоверительРеквизиты);
|
||||
НоваяСтрокаФизЛицо.ЭтоФизЛицо = ДоверительРеквизиты.ЭтоФизическоеЛицо;
|
||||
НоваяСтрокаФизЛицо.ИдентификаторРодителя = НоваяСтрока.Идентификатор;
|
||||
КонецЕсли;
|
||||
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ТолькоФизлица = Истина Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Передоверие полномочий доверенности %1 от физического лица может быть создано только нотариусом.'"), РодительскаяДоверенность);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТолькоИП = Истина Тогда
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Передоверие полномочий доверенности %1 от индивидуального предпринимателя может быть создано только нотариусом.'"), РодительскаяДоверенность);
|
||||
КонецЕсли;
|
||||
|
||||
ПолномочияВТекстовомВиде = РеквизитыРодительскойДоверенности.ПолномочияВТекстовомВиде;
|
||||
ТекстПолномочий = РеквизитыРодительскойДоверенности.ТекстПолномочий;
|
||||
Полномочия.Загрузить(РеквизитыРодительскойДоверенности.Полномочия.Выгрузить());
|
||||
Ограничения.Загрузить(РеквизитыРодительскойДоверенности.Ограничения.Выгрузить());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
+4289
-1921
File diff suppressed because it is too large.
Load diff
@@ -516,6 +516,54 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="93873fe8-10c0-4f7b-ad20-278e887f69e9">
|
||||
<name>Нотариальная</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Нотариальная</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Boolean</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="13b4aa30-d586-4b26-af0e-32f0d691fec9">
|
||||
<name>РеквизитыНотариальнойДоверенности</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Реквизиты нотариальной доверенности</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>ValueStorage</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="d6d67cc5-e003-4aaa-88ae-d084dae2dc26">
|
||||
<name>НомерВРеестреНотариальныхДействий</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Номер в реестре нотариальных действий</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>28</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<tabularSections uuid="60f2c9f3-3090-442c-8991-0396b8f8b195">
|
||||
<producedTypes>
|
||||
<objectType typeId="f194327c-51ff-4fff-9c2c-df35946c1fa2" valueTypeId="8b5cd3d9-5cac-488d-89dd-ab98b9656a3e"/>
|
||||
|
||||
+18
-31
@@ -322,9 +322,9 @@
|
||||
ПараметрыФормы = Новый Структура;
|
||||
|
||||
ВыбранныеЗначения = Новый Массив;
|
||||
НайденныеСтроки = Свойства.НайтиСтроки(Новый Структура("Общее", Истина));
|
||||
Для каждого Строка Из НайденныеСтроки Цикл
|
||||
ВыбранныеЗначения.Добавить(Строка.Свойство);
|
||||
ОбщиеСвойства = Свойства.НайтиСтроки(Новый Структура("Общее", Истина));
|
||||
Для каждого Свойство Из ОбщиеСвойства Цикл
|
||||
ВыбранныеЗначения.Добавить(Свойство.Свойство);
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ЗначениеЗаполнено(ВидСвойств) Тогда
|
||||
@@ -741,20 +741,20 @@
|
||||
СвойстваНабора.Вставить("ИмяПредопределенныхДанных");
|
||||
СвойстваНабора.Вставить("ИмяПредопределенногоНабора");
|
||||
|
||||
Для Каждого Строка Из Наборы Цикл
|
||||
Если СтрНачинаетсяС(Строка.ИмяПредопределенныхДанных, "Удалить") Тогда
|
||||
Для Каждого СтрокаТаблицы Из Наборы Цикл
|
||||
Если СтрНачинаетсяС(СтрокаТаблицы.ИмяПредопределенныхДанных, "Удалить") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьЗначенияСвойств(СвойстваНабора, Строка);
|
||||
ЗаполнитьЗначенияСвойств(СвойстваНабора, СтрокаТаблицы);
|
||||
|
||||
ВидыСвойствНабора = УправлениеСвойствамиСлужебный.ВидыСвойствНабора(СвойстваНабора, Ложь);
|
||||
|
||||
Если ВидСвойств = Перечисления.ВидыСвойств.ДополнительныеСведения И ВидыСвойствНабора.ДополнительныеСведения
|
||||
ИЛИ ВидСвойств = Перечисления.ВидыСвойств.ДополнительныеРеквизиты И ВидыСвойствНабора.ДополнительныеРеквизиты
|
||||
ИЛИ ВидСвойств = Перечисления.ВидыСвойств.Метки И ВидыСвойствНабора.Метки Тогда
|
||||
ДоступныеНаборы.Добавить(Строка.Ссылка);
|
||||
ДоступныеНаборыСписок.Добавить(Строка.Ссылка);
|
||||
ДоступныеНаборы.Добавить(СтрокаТаблицы.Ссылка);
|
||||
ДоступныеНаборыСписок.Добавить(СтрокаТаблицы.Ссылка);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -1160,8 +1160,8 @@
|
||||
Если НайденнаяСтрока <> Неопределено Тогда
|
||||
НовыйВладелецЗначений = НайденнаяСтрока.Ссылка;
|
||||
СвойствоОбъект.ВладелецДополнительныхЗначений = НовыйВладелецЗначений;
|
||||
Для каждого Строка Из Выгрузка Цикл
|
||||
ТекущийОбъект = Строка.Ссылка.ПолучитьОбъект();
|
||||
Для каждого СтрокаТаблицы Из Выгрузка Цикл
|
||||
ТекущийОбъект = СтрокаТаблицы.Ссылка.ПолучитьОбъект();
|
||||
Если ТекущийОбъект.Ссылка = НовыйВладелецЗначений Тогда
|
||||
ТекущийОбъект.ВладелецДополнительныхЗначений = Неопределено;
|
||||
Иначе
|
||||
@@ -1219,8 +1219,7 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если НоваяПометкаЗначений = Неопределено
|
||||
И НовыйВладелецЗначений = Неопределено Тогда
|
||||
Если НоваяПометкаЗначений = Неопределено И НовыйВладелецЗначений = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1247,34 +1246,22 @@
|
||||
|
||||
Выгрузка = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
Если НовыйВладелецЗначений <> Неопределено Тогда
|
||||
Для каждого Строка Из Выгрузка Цикл
|
||||
ТекущийОбъект = Строка.Ссылка.ПолучитьОбъект();
|
||||
Для каждого СтрокаТаблицы Из Выгрузка Цикл
|
||||
ТекущийОбъект = СтрокаТаблицы.Ссылка.ПолучитьОбъект();
|
||||
|
||||
Если ТекущийОбъект.Владелец <> НовыйВладелецЗначений Тогда
|
||||
Если НовыйВладелецЗначений <> Неопределено И ТекущийОбъект.Владелец <> НовыйВладелецЗначений Тогда
|
||||
ТекущийОбъект.Владелец = НовыйВладелецЗначений;
|
||||
КонецЕсли;
|
||||
|
||||
Если НоваяПометкаЗначений <> Неопределено И ТекущийОбъект.ПометкаУдаления <> НоваяПометкаЗначений Тогда
|
||||
ТекущийОбъект.ПометкаУдаления = НоваяПометкаЗначений;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТекущийОбъект.Модифицированность() Тогда
|
||||
ТекущийОбъект.ОбменДанными.Загрузка = Истина;
|
||||
ТекущийОбъект.Записать();
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если НоваяПометкаЗначений <> Неопределено Тогда
|
||||
Для каждого Строка Из Выгрузка Цикл
|
||||
ТекущийОбъект = Строка.Ссылка.ПолучитьОбъект();
|
||||
|
||||
Если ТекущийОбъект.ПометкаУдаления <> НоваяПометкаЗначений Тогда
|
||||
ТекущийОбъект.ПометкаУдаления = НоваяПометкаЗначений;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТекущийОбъект.Модифицированность() Тогда
|
||||
ТекущийОбъект.Записать();
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -373,44 +373,44 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
НоваяСтрока = ПользователиИБ.Добавить();
|
||||
НоваяСтрока.ПолноеИмя = СвойстваПользовательИБ.ПолноеИмя;
|
||||
НоваяСтрока.Имя = СвойстваПользовательИБ.Имя;
|
||||
НоваяСтрока.ИдентификаторПользователяИБ = СвойстваПользовательИБ.УникальныйИдентификатор;
|
||||
НоваяСтрока.АутентификацияСтандартная = СвойстваПользовательИБ.АутентификацияСтандартная;
|
||||
НоваяСтрока.АутентификацияOpenID = СвойстваПользовательИБ.АутентификацияOpenID;
|
||||
НоваяСтрока.АутентификацияOpenIDConnect = СвойстваПользовательИБ.АутентификацияOpenIDConnect;
|
||||
НоваяСтрока.АутентификацияТокеномДоступа = СвойстваПользовательИБ.АутентификацияТокеномДоступа;
|
||||
НоваяСтрока.АутентификацияОС = СвойстваПользовательИБ.АутентификацияОС;
|
||||
НоваяСтрока.ПользовательОС = СвойстваПользовательИБ.ПользовательОС;
|
||||
ПользовательИБ = ПользователиИБ.Добавить();
|
||||
ПользовательИБ.ПолноеИмя = СвойстваПользовательИБ.ПолноеИмя;
|
||||
ПользовательИБ.Имя = СвойстваПользовательИБ.Имя;
|
||||
ПользовательИБ.ИдентификаторПользователяИБ = СвойстваПользовательИБ.УникальныйИдентификатор;
|
||||
ПользовательИБ.АутентификацияСтандартная = СвойстваПользовательИБ.АутентификацияСтандартная;
|
||||
ПользовательИБ.АутентификацияOpenID = СвойстваПользовательИБ.АутентификацияOpenID;
|
||||
ПользовательИБ.АутентификацияOpenIDConnect = СвойстваПользовательИБ.АутентификацияOpenIDConnect;
|
||||
ПользовательИБ.АутентификацияТокеномДоступа = СвойстваПользовательИБ.АутентификацияТокеномДоступа;
|
||||
ПользовательИБ.АутентификацияОС = СвойстваПользовательИБ.АутентификацияОС;
|
||||
ПользовательИБ.ПользовательОС = СвойстваПользовательИБ.ПользовательОС;
|
||||
|
||||
Если Строка = Неопределено Тогда
|
||||
// Пользователя ИБ нет в справочнике.
|
||||
НоваяСтрока.ДобавленВКонфигураторе = Истина;
|
||||
ПользовательИБ.ДобавленВКонфигураторе = Истина;
|
||||
Иначе
|
||||
НоваяСтрока.Ссылка = Строка.Ссылка;
|
||||
НоваяСтрока.СопоставленСВнешнимПользователем = Строка.ЭтоВнешнийПользователь;
|
||||
ПользовательИБ.Ссылка = Строка.Ссылка;
|
||||
ПользовательИБ.СопоставленСВнешнимПользователем = Строка.ЭтоВнешнийПользователь;
|
||||
|
||||
НоваяСтрока.ИзмененВКонфигураторе = ИзмененВКонфигураторе;
|
||||
ПользовательИБ.ИзмененВКонфигураторе = ИзмененВКонфигураторе;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Отбор = Новый Структура("Сопоставлен", Ложь);
|
||||
Строки = Выгрузка.НайтиСтроки(Отбор);
|
||||
Для каждого Строка Из Строки Цикл
|
||||
НоваяСтрока = ПользователиИБ.Добавить();
|
||||
НоваяСтрока.ПолноеИмя = Строка.ПолноеИмя;
|
||||
НоваяСтрока.Ссылка = Строка.Ссылка;
|
||||
НоваяСтрока.СопоставленСВнешнимПользователем = Строка.ЭтоВнешнийПользователь;
|
||||
НоваяСтрока.УдаленВКонфигураторе = Истина;
|
||||
ИдентификаторыНесуществующихПользователейИБ.Добавить(Строка.ИдентификаторПользователяИБ);
|
||||
НесопоставленныеПользователи = Выгрузка.НайтиСтроки(Отбор);
|
||||
Для каждого СтрокаТаблицы Из НесопоставленныеПользователи Цикл
|
||||
ПользовательИБ = ПользователиИБ.Добавить();
|
||||
ПользовательИБ.ПолноеИмя = СтрокаТаблицы.ПолноеИмя;
|
||||
ПользовательИБ.Ссылка = СтрокаТаблицы.Ссылка;
|
||||
ПользовательИБ.СопоставленСВнешнимПользователем = СтрокаТаблицы.ЭтоВнешнийПользователь;
|
||||
ПользовательИБ.УдаленВКонфигураторе = Истина;
|
||||
ИдентификаторыНесуществующихПользователейИБ.Добавить(СтрокаТаблицы.ИдентификаторПользователяИБ);
|
||||
КонецЦикла;
|
||||
|
||||
Отбор = Новый Структура("ИдентификаторПользователяИБ", ТекущийИдентификаторПользователяИБ);
|
||||
Строки = ПользователиИБ.НайтиСтроки(Отбор);
|
||||
Если Строки.Количество() > 0 Тогда
|
||||
Элементы.ПользователиИБ.ТекущаяСтрока = Строки[0].ПолучитьИдентификатор();
|
||||
ТекущийПользователь = ПользователиИБ.НайтиСтроки(Отбор);
|
||||
Если ТекущийПользователь.Количество() > 0 Тогда
|
||||
Элементы.ПользователиИБ.ТекущаяСтрока = ТекущийПользователь[0].ПолучитьИдентификатор();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -637,25 +637,25 @@
|
||||
Если Не Элементы.Роли.ТолькоПросмотр Тогда
|
||||
Ошибки = Неопределено;
|
||||
ЭлементыДерева = Роли.ПолучитьЭлементы();
|
||||
Для Каждого Строка Из ЭлементыДерева Цикл
|
||||
Если Не Строка.Пометка Тогда
|
||||
Для Каждого Элемент Из ЭлементыДерева Цикл
|
||||
Если Не Элемент.Пометка Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Строка.ЭтоНесуществующаяРоль Тогда
|
||||
Если Элемент.ЭтоНесуществующаяРоль Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки,
|
||||
"Роли[%1].РолиСиноним",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Несуществующая роль ""%1"".'"), Строка.Синоним),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Несуществующая роль ""%1"".'"), Элемент.Синоним),
|
||||
"Роли",
|
||||
ЭлементыДерева.Индекс(Строка),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Несуществующая роль ""%1"" в строке %2.'"), Строка.Синоним, "%1"));
|
||||
ЭлементыДерева.Индекс(Элемент),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Несуществующая роль ""%1"" в строке %2.'"), Элемент.Синоним, "%1"));
|
||||
КонецЕсли;
|
||||
Если Строка.ЭтоНедоступнаяРоль Тогда
|
||||
Если Элемент.ЭтоНедоступнаяРоль Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки,
|
||||
"Роли[%1].РолиСиноним",
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" недоступна для пользователей.'"), Строка.Синоним),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" недоступна для пользователей.'"), Элемент.Синоним),
|
||||
"Роли",
|
||||
ЭлементыДерева.Индекс(Строка),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %2 недоступна для пользователей.'"), Строка.Синоним, "%1"));
|
||||
ЭлементыДерева.Индекс(Элемент),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Роль ""%1"" в строке %2 недоступна для пользователей.'"), Элемент.Синоним, "%1"));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Ошибки, Отказ);
|
||||
|
||||
@@ -114,8 +114,8 @@
|
||||
&НаКлиенте
|
||||
Процедура ПрименитьВсеПравила(Команда)
|
||||
|
||||
Для каждого Строка Из ПрименяемыеПравила Цикл
|
||||
Строка.Применять = Истина;
|
||||
Для каждого ПравилоОбработки Из ПрименяемыеПравила Цикл
|
||||
ПравилоОбработки.Применять = Истина;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -123,8 +123,8 @@
|
||||
&НаКлиенте
|
||||
Процедура НеПрименятьВсеПравила(Команда)
|
||||
|
||||
Для каждого Строка Из ПрименяемыеПравила Цикл
|
||||
Строка.Применять = Ложь;
|
||||
Для каждого ПравилоОбработки Из ПрименяемыеПравила Цикл
|
||||
ПравилоОбработки.Применять = Ложь;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
СоздатьРеквизитЭлементСертификатДляШифрования();
|
||||
ВидимостьДоступностьПаролейСертификатов(ЭтотОбъект);
|
||||
УстановитьВидимостьДоступностьПаролейСертификатов(ЭтотОбъект);
|
||||
|
||||
Если ПолучитьФункциональнуюОпцию("ХранитьИсториюРассылкиОтчетов") И НЕ Объект.Личная И Объект.ИспользоватьЭлектроннуюПочту Тогда
|
||||
СостояниеРассылки = РассылкаОтчетов.ПолучитьСостояниеРассылкиОтчетов(Объект.Ссылка);
|
||||
@@ -295,7 +295,7 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект);
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект);
|
||||
ДобавитьКомандыДобавленияДополнительныхПараметровТекста();
|
||||
|
||||
ЗафиксироватьЗначенияРеквизитовДоИзменения();
|
||||
@@ -711,7 +711,7 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПодготовленаПриИзменении(Элемент)
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "Подготовлена");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "Подготовлена");
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -719,7 +719,7 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВыполнятьПоРасписаниюПриИзменении(Элемент)
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ВыполнятьПоРасписанию");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ВыполнятьПоРасписанию");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -727,7 +727,7 @@
|
||||
Если Элемент <> Неопределено Тогда
|
||||
Расписание.Месяцы = ИзменитьСоставМассива(ЭтотОбъект[Элемент.Имя], Кэш.Соответствия.Месяцы[Элемент.Имя], Расписание.Месяцы);
|
||||
КонецЕсли;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "Месяцы");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "Месяцы");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -735,7 +735,7 @@
|
||||
Если Элемент <> Неопределено Тогда
|
||||
Расписание.ДниНедели = ИзменитьСоставМассива(ЭтотОбъект[Элемент.Имя], Кэш.Соответствия.ДниНедели[Элемент.Имя], Расписание.ДниНедели);
|
||||
КонецЕсли;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ДниНедели");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ДниНедели");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -753,7 +753,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ПериодичностьРасписанияПриИзменении(Элемент)
|
||||
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПериодичностьРасписания");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПериодичностьРасписания");
|
||||
Если Объект.ПериодичностьРасписания = ПредопределенноеЗначение("Перечисление.ПериодичностиРасписанийРассылокОтчетов.Произвольное")
|
||||
И НЕ ОбщегоНазначенияКлиент.РазделениеВключено() Тогда
|
||||
ИзменитьРасписаниеВДиалоге();
|
||||
@@ -769,13 +769,13 @@
|
||||
Расписание.ДеньВМесяце = -Расписание.ДеньВМесяце;
|
||||
КонецЕсли;
|
||||
Модифицированность = Истина;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "НачалоКонецМесяца");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "НачалоКонецМесяца");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВремяНачалаПриИзменении(Элемент)
|
||||
Расписание.ВремяНачала = ВремяНачала;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ВремяНачала");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ВремяНачала");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -784,31 +784,31 @@
|
||||
ВремяОкончания = ?(ИспользоватьПериодПовтораВТечениеДня, ВремяНачала + ЧасыВСекунды(4), '00010101');
|
||||
Расписание.ВремяКонца = ВремяОкончания;
|
||||
Расписание.ПериодПовтораВТечениеДня = ЧасыВСекунды(ПериодПовтораВТечениеДня);
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПериодПовтораВТечениеДня");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПериодПовтораВТечениеДня");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПериодПовтораВТечениеДняПриИзменении(Элемент)
|
||||
Расписание.ПериодПовтораВТечениеДня = ЧасыВСекунды(ПериодПовтораВТечениеДня);
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПериодПовтораВТечениеДня");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПериодПовтораВТечениеДня");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ВремяОкончанияПриИзменении(Элемент)
|
||||
Расписание.ВремяКонца = ВремяОкончания;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ВремяОкончания");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ВремяОкончания");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПериодПовтораДнейПриИзменении(Элемент)
|
||||
Расписание.ПериодПовтораДней = ПериодПовтораДней;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПериодПовтораДней");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПериодПовтораДней");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДеньМесяцаПриИзменении(Элемент)
|
||||
Расписание.ДеньВМесяце = ?(Расписание.ДеньВМесяце >= 0, ДеньВМесяце, -ДеньВМесяце);
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ДеньВМесяце");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ДеньВМесяце");
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -843,6 +843,9 @@
|
||||
|
||||
ПоказатьВопрос(Обработчик, СтрокаВопроса, Кнопки, 60, КодВозвратаДиалога.Да);
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПолучателиРассылки");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -902,7 +905,7 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "FTPСерверИКаталог");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "FTPСерверИКаталог");
|
||||
Модифицированность = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -930,19 +933,28 @@
|
||||
Объект.ПрикреплятьОтчетыВоВложения = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ВидРассылки");
|
||||
Если Объект.Личная Тогда
|
||||
Объект.Получатели.Очистить();
|
||||
ИначеЕсли Не ЗначениеЗаполнено(ТипПолучателейРассылки) Тогда
|
||||
Если Элементы.ТипПолучателейРассылки.СписокВыбора.Количество() > 0 Тогда
|
||||
ТипПолучателейРассылки = Элементы.ТипПолучателейРассылки.СписокВыбора[0].Значение;
|
||||
ТипПолучателейРассылкиПриИзменении(Элементы.ТипПолучателейРассылки);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ВидРассылки");
|
||||
ДобавитьКомандыДобавленияДополнительныхПараметровТекста();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ИспользоватьЭлектроннуюПочтуПриИзменении(Элемент)
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ИспользоватьЭлектроннуюПочту");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ИспользоватьЭлектроннуюПочту");
|
||||
|
||||
Если Не Публиковать И Не Объект.ИспользоватьЭлектроннуюПочту Тогда
|
||||
Публиковать = Истина;
|
||||
ВычислитьФлажкиДополнительныхСпособовДоставки();
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "Публиковать");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "Публиковать");
|
||||
ИначеЕсли Объект.ИспользоватьЭлектроннуюПочту И НЕ Объект.ВставлятьОтчетыВТекстПисьма И НЕ Объект.ТолькоУведомить Тогда
|
||||
Объект.ПрикреплятьОтчетыВоВложения = Истина;
|
||||
КонецЕсли;
|
||||
@@ -959,13 +971,13 @@
|
||||
Объект.ПрикреплятьОтчетыВоВложения = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ТолькоУведомить");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ТолькоУведомить");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДругойСпособДоставкиПриИзменении(Элемент)
|
||||
ВычислитьФлажкиДополнительныхСпособовДоставки();
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ДругойСпособДоставки");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ДругойСпособДоставки");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -978,12 +990,12 @@
|
||||
&НаКлиенте
|
||||
Процедура ПубликоватьПриИзменении(Элемент)
|
||||
ВычислитьФлажкиДополнительныхСпособовДоставки();
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "Публиковать");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "Публиковать");
|
||||
|
||||
Если Не Публиковать И Не Объект.ИспользоватьЭлектроннуюПочту Тогда
|
||||
Объект.ИспользоватьЭлектроннуюПочту = Истина;
|
||||
Объект.ПрикреплятьОтчетыВоВложения = Истина;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ИспользоватьЭлектроннуюПочту");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ИспользоватьЭлектроннуюПочту");
|
||||
ИначеЕсли Объект.ИспользоватьЭлектроннуюПочту И НЕ Объект.ВставлятьОтчетыВТекстПисьма И НЕ Объект.ТолькоУведомить Тогда
|
||||
Объект.ПрикреплятьОтчетыВоВложения = Истина;
|
||||
КонецЕсли;
|
||||
@@ -1036,7 +1048,7 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура АрхивироватьПриИзменении(Элемент)
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "Архивировать");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "Архивировать");
|
||||
ПроверкаПриУстановкеПароляАрхиваВставлятьОтчетыВТекстПисьма();
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1124,7 +1136,7 @@
|
||||
&НаКлиенте
|
||||
Процедура УстановитьПаролиЗашифроватьПриИзменении(Элемент)
|
||||
|
||||
ВидимостьДоступностьПаролейСертификатов(ЭтотОбъект);
|
||||
УстановитьВидимостьДоступностьПаролейСертификатов(ЭтотОбъект);
|
||||
|
||||
Если НЕ Объект.ВставлятьОтчетыВТекстПисьма И Объект.УстановитьПаролиЗашифровать Тогда
|
||||
ОткрытьФормуПаролиШифрование();
|
||||
@@ -1238,7 +1250,7 @@
|
||||
|
||||
КонецЕсли;
|
||||
ПроверитьНаличиеПериодовВОтчетах(СтруктураВыбора.Успешно.МассивСтрок);
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "Отчеты");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "Отчеты");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -1279,7 +1291,7 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОтчетыПослеУдаления(Элемент)
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "Отчеты");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "Отчеты");
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1879,7 +1891,7 @@
|
||||
ВсеМесяцы.Добавить(КлючИЗначение.Значение);
|
||||
КонецЦикла;
|
||||
Расписание.Месяцы = ВсеМесяцы;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "Месяцы");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "Месяцы");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -1889,7 +1901,7 @@
|
||||
ЭтотОбъект[КлючИЗначение.Ключ] = Ложь;
|
||||
КонецЦикла;
|
||||
Расписание.Месяцы = ВсеМесяцы;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "Месяцы");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "Месяцы");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -2063,7 +2075,7 @@
|
||||
ТекстПисьмаФорматированныйДокумент.Добавить(Объект.ТекстПисьма, ТипЭлементаФорматированногоДокумента.Текст);
|
||||
КонецЕсли;
|
||||
ТекущийЭлемент = Элементы.ТекстПисьмаФорматированныйДокумент;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПисьмоВФорматеHTML");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПисьмоВФорматеHTML");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -2075,7 +2087,7 @@
|
||||
Объект.ТекстПисьма = ТекстПисьмаИзHTML;
|
||||
КонецЕсли;
|
||||
ТекущийЭлемент = Элементы.ТекстПисьма;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПисьмоВФорматеHTML");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПисьмоВФорматеHTML");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -2128,7 +2140,7 @@
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Объект.ПрикреплятьОтчетыВоВложения = Истина;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПрикреплятьОтчетыВоВложения");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПрикреплятьОтчетыВоВложения");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -2145,7 +2157,7 @@
|
||||
Объект.ВставлятьОтчетыВТекстПисьма = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПрикреплятьОтчетыВоВложения");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПрикреплятьОтчетыВоВложения");
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -2157,7 +2169,7 @@
|
||||
Процедура СброситьФорматПоУмолчанию(Команда)
|
||||
ОчиститьФормат(Кэш.ПустоеЗначениеОтчета);
|
||||
ФорматыПоУмолчанию = СписокФорматовПоУмолчаниюПредставление;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ФорматыПоУмолчанию");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ФорматыПоУмолчанию");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -2316,7 +2328,7 @@
|
||||
НоваяСтрока.Исключен = Элемент.Исключен;
|
||||
КонецЦикла;
|
||||
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПолучателиРассылки");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПолучателиРассылки");
|
||||
Модифицированность = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2327,7 +2339,7 @@
|
||||
ТипПолучателейРассылки = ДополнительныеПараметры.ВыбранноеЗначение;
|
||||
Модифицированность = Истина;
|
||||
ТипПолучателейРассылкиПриИзменении(Неопределено);
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ПолучателиРассылки");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ПолучателиРассылки");
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2556,7 +2568,7 @@
|
||||
Если ПредставлениеФормата <> Неопределено Тогда
|
||||
ФорматыПоУмолчанию = ПредставлениеФормата;
|
||||
КонецЕсли;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "ФорматыПоУмолчанию");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "ФорматыПоУмолчанию");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -2564,7 +2576,7 @@
|
||||
Если РасписаниеРезультат <> Неопределено Тогда
|
||||
Модифицированность = Истина;
|
||||
Расписание = РасписаниеРезультат;
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект, "Расписание");
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект, "Расписание");
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -3119,7 +3131,7 @@
|
||||
// Изменения - Строка
|
||||
//
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура ВидимостьДоступностьКорректность(Форма, Изменения = "")
|
||||
Процедура УстановитьВидимостьДоступностьКорректность(Форма, Изменения = "")
|
||||
|
||||
Объект = Форма.Объект;
|
||||
Элементы = Форма.Элементы;
|
||||
@@ -3198,7 +3210,7 @@
|
||||
Если Объект.Личная Тогда
|
||||
Элементы.ПолучателиРассылки.Видимость = Ложь;
|
||||
Иначе
|
||||
Элементы.ПолучателиРассылки.Видимость = Истина;
|
||||
Элементы.ПолучателиРассылки.Видимость = ЗначениеЗаполнено(Форма.ТипПолучателейРассылки);
|
||||
Если Не РассылкаОбщая Тогда
|
||||
Элементы.ПолучателиРассылки.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Авто;
|
||||
Иначе
|
||||
@@ -3226,7 +3238,7 @@
|
||||
Элементы.ИспользоватьПолучателяРассылкиВНастройкеОтчета3.Видимость = Объект.Персонализирована;
|
||||
Элементы.ИспользоватьПолучателяРассылкиВНастройкеОтчета4.Видимость = Объект.Персонализирована;
|
||||
|
||||
ВидимостьДоступностьПаролейСертификатов(Форма);
|
||||
УстановитьВидимостьДоступностьПаролейСертификатов(Форма);
|
||||
КонецЕсли;
|
||||
|
||||
Если Изменения = "" Или Изменения = "Отчеты" Тогда
|
||||
@@ -3264,8 +3276,9 @@
|
||||
Элементы.НастройкиФайловОтчетов.Доступность = Объект.ПрикреплятьОтчетыВоВложения Или Форма.Публиковать;
|
||||
КонецЕсли;
|
||||
|
||||
Если Изменения = "" Или Изменения = "ПолучателиРассылки" Тогда
|
||||
Если Изменения = "" Или Изменения = "ПолучателиРассылки" Или Изменения = "ВидРассылки" Тогда
|
||||
Если Форма.ВидРассылки <> "Личная" Тогда
|
||||
Элементы.ПолучателиРассылки.Видимость = Истина;
|
||||
ПредставлениеПолучателей = ПредставлениеПолучателей(Форма);
|
||||
Форма.ПолучателиРассылки = ПредставлениеПолучателей.Краткое;
|
||||
КонецЕсли;
|
||||
@@ -3311,7 +3324,7 @@
|
||||
Элементы.ИмяАрхива.Доступность = Объект.Архивировать;
|
||||
Элементы.ПарольАрхива.Доступность = Объект.Архивировать;
|
||||
Элементы.СоздатьПарольАрхива.Доступность = Объект.Архивировать;
|
||||
ВидимостьДоступностьПаролейСертификатов(Форма);
|
||||
УстановитьВидимостьДоступностьПаролейСертификатов(Форма);
|
||||
КонецЕсли;
|
||||
|
||||
Если Изменения = "" Или Изменения = "ВыполнятьПоРасписанию" Тогда
|
||||
@@ -3444,7 +3457,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура ВидимостьДоступностьПаролейСертификатов(Форма)
|
||||
Процедура УстановитьВидимостьДоступностьПаролейСертификатов(Форма)
|
||||
Объект = Форма.Объект;
|
||||
Элементы = Форма.Элементы;
|
||||
|
||||
@@ -3934,7 +3947,7 @@
|
||||
Расписание.ДниНедели = ВыбранныеДниНедели;
|
||||
|
||||
Если ОбновитьВидимость Тогда
|
||||
ВидимостьДоступностьКорректность(ЭтотОбъект);
|
||||
УстановитьВидимостьДоступностьКорректность(ЭтотОбъект);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
+14
@@ -5154,6 +5154,20 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПроверитьСертификатВЛокальномХранилищеКлиента</name>
|
||||
<id>33</id>
|
||||
<valueType>
|
||||
<types>String</types>
|
||||
<stringQualifiers/>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>Проверить</name>
|
||||
<title>
|
||||
|
||||
+168
-120
@@ -60,21 +60,25 @@
|
||||
ЭлектроннаяПодписьПереопределяемый.ПриСозданииФормыПроверкаСертификата(
|
||||
Параметры.Сертификат, Проверки, Параметры.ПараметрыДополнительныхПроверок,
|
||||
СтандартныеПроверки, ВводитьПароль);
|
||||
Если Не СтандартныеПроверки И ДополнительныеПроверки.Количество() = 0 Тогда
|
||||
ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для проверки сертификата отключены стандартные проверки,
|
||||
|при этом дополнительных проверок не указано в %1.'"),
|
||||
"ЭлектроннаяПодписьПереопределяемый.ПриСозданииФормыПроверкаСертификата"),
|
||||
КатегорияОшибки.ОшибкаКонфигурации);
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого Проверка Из Проверки Цикл
|
||||
|
||||
Группа = ГруппаФормыБезОтображения(
|
||||
"Группа" + Проверка.Имя, Элементы.ГруппаДополнительныеПроверки);
|
||||
Группа = ГруппаФормыБезОтображения("Группа" + Проверка.Имя, Элементы.ГруппаДополнительныеПроверки);
|
||||
|
||||
ДобавитьКартинку(Проверка.Имя + "НаКлиентеКартинка", Группа);
|
||||
ДобавитьКартинку(Проверка.Имя + "НаСервереКартинка", Группа);
|
||||
|
||||
ГруппаРезультатИРешение = ГруппаФормыБезОтображения(
|
||||
Проверка.Имя + "РезультатИРешение", Группа,
|
||||
ГруппаРезультатИРешение = ГруппаФормыБезОтображения(Проверка.Имя + "РезультатИРешение", Группа,
|
||||
ГруппировкаПодчиненныхЭлементовФормы.Вертикальная);
|
||||
|
||||
Надпись = Элементы.Добавить(Проверка.Имя + "Надпись",
|
||||
Тип("ДекорацияФормы"), ГруппаРезультатИРешение);
|
||||
Надпись = Элементы.Добавить(Проверка.Имя + "Надпись", Тип("ДекорацияФормы"), ГруппаРезультатИРешение);
|
||||
Надпись.Заголовок = Проверка.Представление;
|
||||
Надпись.РасширеннаяПодсказка.Заголовок = Проверка.Подсказка;
|
||||
Надпись.УстановитьДействие("Нажатие", "Подключаемый_НадписьНажатие");
|
||||
@@ -96,12 +100,6 @@
|
||||
|
||||
Если Не СтандартныеПроверки Тогда
|
||||
|
||||
Если ДополнительныеПроверки.Количество() = 0 Тогда
|
||||
ВызватьИсключение
|
||||
НСтр("ru = 'Для проверки сертификата отключены стандартные проверки,
|
||||
|при этом дополнительных проверок не указано.'");
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ГруппаОбщиеПроверки.Видимость = Ложь;
|
||||
Элементы.ГруппаПроверкиОпераций.Видимость = Ложь;
|
||||
СтандартныеПодсистемыСервер.УстановитьКлючНазначенияФормы(ЭтотОбъект, "НестандартныеПроверки");
|
||||
@@ -113,8 +111,7 @@
|
||||
Элементы[Проверка + "РешениеКлиентНадпись"].Видимость = Ложь;
|
||||
Элементы[Проверка + "ОшибкаСервер"].Видимость = Ложь;
|
||||
Элементы[Проверка + "РешениеСерверНадпись"].Видимость = Ложь;
|
||||
Элементы[Проверка + "Надпись"].Заголовок =
|
||||
СтандартныйЗаголовокЭлемента(Проверка + "Надпись");
|
||||
Элементы[Проверка + "Надпись"].Заголовок = СтандартныйЗаголовокЭлемента(Проверка + "Надпись");
|
||||
|
||||
Если ПроверкиНаКлиенте <> Неопределено Тогда
|
||||
ВывестиРезультатПроверки(Проверка);
|
||||
@@ -159,10 +156,8 @@
|
||||
МодульСервисКриптографииDSSПодтверждениеСервер.ПодготовитьГруппуПодтверждения(ЭтотОбъект, "Проверка", "", "");
|
||||
МодульСервисКриптографииDSSПодтверждениеСервер.ПодтверждениеПриИзмененииСертификата(ЭтотОбъект, Сертификат);
|
||||
|
||||
ИначеЕсли ЭтоВстроенныйКриптопровайдер
|
||||
Или (Не СтандартныеПроверки И Не ВводитьПароль) Тогда
|
||||
ИначеЕсли ЭтоВстроенныйКриптопровайдер Или (Не СтандартныеПроверки И Не ВводитьПароль) Тогда
|
||||
Элементы.ГруппаВводаПароля.Видимость = Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьВидимостьНаСервере();
|
||||
@@ -239,18 +234,14 @@
|
||||
ИмяОшибки = ИмяЭлемента + "Ошибка";
|
||||
|
||||
ПараметрыПредупреждения = Новый Структура;
|
||||
ПараметрыПредупреждения.Вставить("ЗаголовокПредупреждения",
|
||||
СтандартныйЗаголовокЭлемента(Элемент.Имя));
|
||||
ПараметрыПредупреждения.Вставить("ТекстОшибкиКлиент",
|
||||
ПроверкиНаКлиенте[ИмяОшибки]);
|
||||
ПараметрыПредупреждения.Вставить("ЗаголовокПредупреждения", СтандартныйЗаголовокЭлемента(Элемент.Имя));
|
||||
ПараметрыПредупреждения.Вставить("ТекстОшибкиКлиент", ПроверкиНаКлиенте[ИмяОшибки]);
|
||||
ПараметрыПредупреждения.Вставить("ТекстОшибкиСервер",
|
||||
?(ОперацииНаСервере Или ЕстьВстроенныйКриптопровайдер Или ЕстьУчетнаяЗаписьСервиса,
|
||||
ПроверкиНаСервере[ИмяОшибки], ""));
|
||||
|
||||
ПараметрыПредупреждения.Вставить("ДополнительныеДанные", ДополнительныеДанные(ИмяЭлемента));
|
||||
|
||||
ОткрытьФорму("ОбщаяФорма.РасширенноеПредставлениеОшибки",
|
||||
ПараметрыПредупреждения, ЭтотОбъект);
|
||||
ОткрытьФорму("ОбщаяФорма.РасширенноеПредставлениеОшибки", ПараметрыПредупреждения, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -507,6 +498,50 @@
|
||||
&НаКлиенте
|
||||
Процедура ПроверитьСертификатПослеПроверкиНаКлиенте(Результат, Контекст) Экспорт
|
||||
|
||||
Если ЗначениеЗаполнено(ПроверитьСертификатВЛокальномХранилищеКлиента) Тогда
|
||||
|
||||
ОшибкаПоКлассификатору = Новый Структура;
|
||||
ОшибкаПоКлассификатору.Вставить("ТекстОшибки", Элементы[ПроверитьСертификатВЛокальномХранилищеКлиента + "ОшибкаКлиентНадпись"].Заголовок);
|
||||
ОшибкаПоКлассификатору.Вставить("Причина", "");
|
||||
ОшибкаПоКлассификатору.Вставить("Решение", Элементы[ПроверитьСертификатВЛокальномХранилищеКлиента + "РешениеКлиентНадпись"].Заголовок);
|
||||
|
||||
ДанныеДляДополнения = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДанныеДляДополненияОшибкиИзКлассификатора(Неопределено);
|
||||
ДанныеДляДополнения.ДанныеСертификата = ПолучитьИзВременногоХранилища(АдресСертификата);
|
||||
|
||||
ПараметрыДополнения = Новый Структура("Результат, Контекст, Элемент",
|
||||
Результат, Контекст, ПроверитьСертификатВЛокальномХранилищеКлиента);
|
||||
|
||||
ПараметрыДополненияТекстаРешения = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыДополненияТекстаРешенияОшибкиКлассификатора();
|
||||
ПараметрыДополненияТекстаРешения.ПроверитьСертификатВЛокальномХранилищеКлиента = Истина;
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ДополнитьРешениеКлассификатораОшибокПодробностями(
|
||||
Новый ОписаниеОповещения("ПослеДополненияРешенияКлассификатораОшибок", ЭтотОбъект, ПараметрыДополнения),
|
||||
ОшибкаПоКлассификатору, ПараметрыДополненияТекстаРешения, ДанныеДляДополнения);
|
||||
ПроверитьСертификатВЛокальномХранилищеКлиента = "";
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ПроверитьСертификатПослеПроверкиНаКлиентеИДополнений(Результат, Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПроверитьСертификат.
|
||||
&НаКлиенте
|
||||
Процедура ПослеДополненияРешенияКлассификатораОшибок(ОшибкаПоКлассификатору, ПараметрыДополнения) Экспорт
|
||||
|
||||
Если Элементы[ПараметрыДополнения.Элемент + "РешениеКлиентНадпись"].Заголовок <> ОшибкаПоКлассификатору.Решение Тогда
|
||||
Элементы[ПараметрыДополнения.Элемент + "РешениеКлиентНадпись"].Заголовок = ОшибкаПоКлассификатору.Решение;
|
||||
КонецЕсли;
|
||||
|
||||
ПроверитьСертификатПослеПроверкиНаКлиентеИДополнений(ПараметрыДополнения.Результат, ПараметрыДополнения.Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ПроверитьСертификат.
|
||||
&НаКлиенте
|
||||
Процедура ПроверитьСертификатПослеПроверкиНаКлиентеИДополнений(Результат, Контекст)
|
||||
|
||||
Если ЭтоВстроенныйКриптопровайдер Или ЭтоУчетнаяЗаписьСервиса Тогда
|
||||
|
||||
Если ОперацииНаСервере Тогда
|
||||
@@ -1930,12 +1965,15 @@
|
||||
РезультатыПроверок = ЭтотОбъект[?(НаСервере, "ПроверкиНаСервере", "ПроверкиНаКлиенте")];
|
||||
ДополнительныеДанныеПроверок = ЭтотОбъект[?(НаСервере, "ДополнительныеДанныеПроверокНаСервере", "ДополнительныеДанныеПроверокНаКлиенте")];
|
||||
|
||||
Если РезультатыПроверок <> Неопределено Тогда
|
||||
Если РезультатыПроверок = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
РезультатПроверки = РезультатыПроверок[Проверка];
|
||||
Если РезультатПроверки = Неопределено Тогда
|
||||
УстановитьЭлемент(ЭтотОбъект, Проверка, НаСервере, , , ОбъединятьРезультаты);
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОшибкиПриПроверке = ?(РезультатыПроверок.Свойство(Проверка + "Ошибка"),
|
||||
РезультатыПроверок[Проверка + "Ошибка"], "");
|
||||
@@ -1950,60 +1988,76 @@
|
||||
ОшибкиПриПроверке, Не РезультатПроверки, ОбъединятьРезультаты);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура УстановитьЭлемент(Форма, НачалоЭлемента, НаСервере,
|
||||
Процедура УстановитьЭлемент(Форма, Действие, НаСервере,
|
||||
ОписаниеОшибки = Неопределено, ЭтоОшибка = Ложь, ОбъединятьРезультаты = "НеОбъединять")
|
||||
|
||||
ЭлементНадпись = Форма.Элементы[НачалоЭлемента + "Надпись"]; // ДекорацияФормы, РасширениеДекорацииФормыДляНадписи
|
||||
|
||||
Если ОбъединятьРезультаты = "ОбъединятьПоИ"
|
||||
Или ОбъединятьРезультаты = "ОбъединятьПоИли" Тогда
|
||||
|
||||
ЭлементКартинка = Форма.Элементы[НачалоЭлемента + "НаКлиентеКартинка"]; // ДекорацияФормы
|
||||
ИмяЭлементаНадпись = Действие + "Надпись";
|
||||
ИмяЭлементаНаКлиентеКартинка = Действие + "НаКлиентеКартинка";
|
||||
ИмяЭлементаНаСервереКартинка = Действие + "НаСервереКартинка";
|
||||
ИмяСвойстваОшибка = Действие + "Ошибка";
|
||||
|
||||
ЭлементНадпись = Форма.Элементы[ИмяЭлементаНадпись]; // ДекорацияФормы, РасширениеДекорацииФормыДляНадписи
|
||||
ТребуетсяОбъединятьРезультаты = (ОбъединятьРезультаты = "ОбъединятьПоИ" Или ОбъединятьРезультаты = "ОбъединятьПоИли");
|
||||
Если ТребуетсяОбъединятьРезультаты Тогда
|
||||
ЭлементКартинка = Форма.Элементы[ИмяЭлементаНаКлиентеКартинка]; // ДекорацияФормы
|
||||
Иначе
|
||||
ЭлементКартинка = Форма.Элементы[НачалоЭлемента
|
||||
+ ?(НаСервере, "НаСервереКартинка", "НаКлиентеКартинка")]; // ДекорацияФормы
|
||||
ЭлементКартинка = Форма.Элементы[?(НаСервере, ИмяЭлементаНаСервереКартинка, ИмяЭлементаНаКлиентеКартинка)]; // ДекорацияФормы
|
||||
КонецЕсли;
|
||||
|
||||
Проверки = Форма[?(НаСервере, "ПроверкиНаСервере", "ПроверкиНаКлиенте")];
|
||||
ПроверкиВторогоКонтекста = Форма[?(НаСервере, "ПроверкиНаКлиенте", "ПроверкиНаСервере")];
|
||||
|
||||
ЗначениеПроверкиВторогоКонтекста = Неопределено;
|
||||
Если ТипЗнч(ПроверкиВторогоКонтекста) = Тип("Структура")
|
||||
И ПроверкиВторогоКонтекста.Свойство(НачалоЭлемента) Тогда
|
||||
|
||||
ЗначениеПроверкиВторогоКонтекста = ПроверкиВторогоКонтекста[НачалоЭлемента];
|
||||
Если ТипЗнч(ПроверкиВторогоКонтекста) = Тип("Структура") И ПроверкиВторогоКонтекста.Свойство(Действие) Тогда
|
||||
ЗначениеПроверкиВторогоКонтекста = ПроверкиВторогоКонтекста[Действие];
|
||||
КонецЕсли;
|
||||
|
||||
ПредупреждениеПослеПроверкиУЦ = Неопределено;
|
||||
Если ТипЗнч(ОписаниеОшибки) = Тип("Структура") Тогда
|
||||
ПредупреждениеПослеПроверкиУЦ = ОписаниеОшибки;
|
||||
ОписаниеОшибки = ПредупреждениеПослеПроверкиУЦ.ТекстОшибки;
|
||||
ДополнительныеДанныеПроверок = Форма[?(НаСервере, "ДополнительныеДанныеПроверокНаСервере", "ДополнительныеДанныеПроверокНаКлиенте")];
|
||||
ДополнительныеДанныеПроверок.Вставить(НачалоЭлемента,
|
||||
ИмяРеквизитаФормы = ?(НаСервере, "ДополнительныеДанныеПроверокНаСервере", "ДополнительныеДанныеПроверокНаКлиенте");
|
||||
ДополнительныеДанныеПроверок = Форма[ИмяРеквизитаФормы];
|
||||
ДополнительныеДанныеПроверок.Вставить(Действие,
|
||||
Новый Структура("Причина, Решение", ПредупреждениеПослеПроверкиУЦ.Причина, ПредупреждениеПослеПроверкиУЦ.Решение));
|
||||
Форма[?(НаСервере, "ДополнительныеДанныеПроверокНаСервере", "ДополнительныеДанныеПроверокНаКлиенте")] = ДополнительныеДанныеПроверок;
|
||||
Форма[ИмяРеквизитаФормы] = ДополнительныеДанныеПроверок;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
|
||||
|
||||
ЗначениеПроверки = Ложь;
|
||||
РезультатПроверки = ЗначениеПроверки;
|
||||
Если ОбъединятьРезультаты = "ОбъединятьПоИли"
|
||||
И ЗначениеПроверкиВторогоКонтекста <> Неопределено Тогда
|
||||
|
||||
Если ОбъединятьРезультаты = "ОбъединятьПоИли" И ЗначениеПроверкиВторогоКонтекста <> Неопределено Тогда
|
||||
РезультатПроверки = Ложь Или ЗначениеПроверкиВторогоКонтекста;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ЗначениеПроверки = ?(ОписаниеОшибки = Неопределено, Неопределено, Истина);
|
||||
Если ЗначениеПроверки <> Неопределено И ЗначениеПроверкиВторогоКонтекста <> Неопределено
|
||||
И ТребуетсяОбъединятьРезультаты Тогда
|
||||
РезультатПроверки = ?(ОбъединятьРезультаты = "ОбъединятьПоИ",
|
||||
ЗначениеПроверки И ЗначениеПроверкиВторогоКонтекста,
|
||||
ЗначениеПроверки Или ЗначениеПроверкиВторогоКонтекста);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Проверки.Вставить(Действие, ЗначениеПроверки);
|
||||
Проверки.Вставить(ИмяСвойстваОшибка, ?(ОписаниеОшибки = Неопределено, "", ОписаниеОшибки));
|
||||
|
||||
Если Не РезультатПроверки Тогда
|
||||
ГруппаОшибка = Форма.Элементы[НачалоЭлемента + ?(НаСервере, "ОшибкаСервер", "ОшибкаКлиент")];
|
||||
ИмяГруппыОшибкаСервер = Действие + "ОшибкаСервер";
|
||||
ИмяГруппыОшибкаКлиент = Действие + "ОшибкаКлиент";
|
||||
ИмяЭлементаНадписьОшибкаСервер = Действие + "ОшибкаСерверНадпись";
|
||||
ИмяЭлементаНадписьОшибкаКлиент = Действие + "ОшибкаКлиентНадпись";
|
||||
ИмяЭлементаНадписьРешениеСервер = Действие + "РешениеСерверНадпись";
|
||||
ИмяЭлементаНадписьРешениеКлиент = Действие + "РешениеКлиентНадпись";
|
||||
|
||||
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
|
||||
|
||||
Если РезультатПроверки Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ГруппаОшибка = Форма.Элементы[?(НаСервере, ИмяГруппыОшибкаСервер, ИмяГруппыОшибкаКлиент)];
|
||||
ГруппаОшибка.Видимость = Истина;
|
||||
ЭлементКартинка.Картинка = ?(ЭтоОшибка,
|
||||
БиблиотекаКартинок.ПроверкаСертификатаОшибка,
|
||||
@@ -2012,80 +2066,84 @@
|
||||
ЭлементКартинка.Подсказка = ОписаниеОшибки;
|
||||
ЭлементНадпись.Гиперссылка = Истина;
|
||||
|
||||
ЭлементНадписьОшибка = Форма.Элементы[НачалоЭлемента + ?(НаСервере, "ОшибкаСервер", "ОшибкаКлиент") + "Надпись"]; // ДекорацияФормы, РасширениеДекорацииФормыДляНадписи
|
||||
ЭлементНадписьОшибка = Форма.Элементы[?(НаСервере, ИмяЭлементаНадписьОшибкаСервер, ИмяЭлементаНадписьОшибкаКлиент)]; // ДекорацияФормы, РасширениеДекорацииФормыДляНадписи
|
||||
ЭлементНадписьОшибка.Заголовок = ОписаниеОшибки;
|
||||
|
||||
Если ПредупреждениеПослеПроверкиУЦ = Неопределено Тогда
|
||||
ИмяНадписиРешение = ?(НаСервере, ИмяЭлементаНадписьРешениеСервер, ИмяЭлементаНадписьРешениеКлиент);
|
||||
ЭлементФормыНадписьРешение = Форма.Элементы[ИмяНадписиРешение];
|
||||
|
||||
Если ПредупреждениеПослеПроверкиУЦ <> Неопределено Тогда
|
||||
ЭлементФормыНадписьРешение.Видимость = Истина;
|
||||
ЭлементФормыНадписьРешение.Заголовок = ПредупреждениеПослеПроверкиУЦ.Решение;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяЭлементаНадписьРешениеПодписание = "Подписание" + ?(НаСервере, "ОшибкаСерверНадпись", "ОшибкаКлиентНадпись");
|
||||
ЭлементФормыНадписьРешениеПодписание = Форма.Элементы[ИмяЭлементаНадписьРешениеПодписание];
|
||||
|
||||
Если Действие = "Расшифровка" И ЭлементНадписьОшибка.Заголовок = ЭлементФормыНадписьРешениеПодписание.Заголовок Тогда
|
||||
ЭлементФормыНадписьРешение.Видимость = ЭлементФормыНадписьРешениеПодписание.Видимость;
|
||||
ЭлементФормыНадписьРешение.Заголовок = НСтр("ru = 'См. пункт Подписание данных.'");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
ОписаниеИзвестнойОшибки = ОшибкаПоКлассификатору(ОписаниеОшибки, НаСервере);
|
||||
ЭтоИзвестнаяОшибка = ОписаниеИзвестнойОшибки <> Неопределено;
|
||||
|
||||
ИмяНадписиРешение = НачалоЭлемента + ?(НаСервере, "РешениеСерверНадпись", "РешениеКлиентНадпись");
|
||||
Форма.Элементы[ИмяНадписиРешение].Видимость = ЭтоИзвестнаяОшибка;
|
||||
Если ЭтоИзвестнаяОшибка Тогда
|
||||
Если Не ЭтоИзвестнаяОшибка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ОписаниеИзвестнойОшибки.ДействияДляУстранения) Тогда
|
||||
ДанныеДляДополнения = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДанныеДляДополненияОшибкиИзКлассификатора(Неопределено);
|
||||
ДанныеДляДополнения.ДанныеСертификата = ПолучитьИзВременногоХранилища(Форма.АдресСертификата);
|
||||
|
||||
ПараметрыДополненияТекстаРешенияОшибкиКлассификатора = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыДополненияТекстаРешенияОшибкиКлассификатора();
|
||||
|
||||
Дополнение = ЭлектроннаяПодписьСлужебныйВызовСервера.ДополнитьРешениеКлассификатораОшибокПодробностями(
|
||||
ОписаниеИзвестнойОшибки, ДанныеДляДополнения,
|
||||
ПараметрыДополненияТекстаРешенияОшибкиКлассификатора, ?(НаСервере, "Сервер", "Клиент"));
|
||||
ОписаниеИзвестнойОшибки = Дополнение.ОшибкаПоКлассификатору;
|
||||
ПараметрыДополненияТекстаРешенияОшибкиКлассификатора = Дополнение.ПараметрыДополненияТекстаРешенияОшибкиКлассификатораНаКлиенте;
|
||||
Если ПараметрыДополненияТекстаРешенияОшибкиКлассификатора.ПроверитьСертификатВЛокальномХранилищеКлиента Тогда
|
||||
Форма.ПроверитьСертификатВЛокальномХранилищеКлиента = Действие;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Форма.Элементы[ИмяНадписиРешение].Заголовок = ОписаниеИзвестнойОшибки.Решение;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ИмяНадписиРешение = НачалоЭлемента + ?(НаСервере, "РешениеСерверНадпись", "РешениеКлиентНадпись");
|
||||
Форма.Элементы[ИмяНадписиРешение].Видимость = Истина;
|
||||
Форма.Элементы[ИмяНадписиРешение].Заголовок = ПредупреждениеПослеПроверкиУЦ.Решение;
|
||||
КонецЕсли;
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
ГруппаОшибка = Форма.Элементы[?(НаСервере, ИмяГруппыОшибкаСервер, ИмяГруппыОшибкаКлиент)];
|
||||
ЭлементРешение = Форма.Элементы[?(НаСервере, ИмяЭлементаНадписьРешениеСервер, ИмяЭлементаНадписьРешениеКлиент)];
|
||||
|
||||
ГруппаОшибка = Форма.Элементы[НачалоЭлемента + ?(НаСервере, "ОшибкаСервер", "ОшибкаКлиент")];
|
||||
ЭлементРешение = Форма.Элементы[НачалоЭлемента
|
||||
+ ?(НаСервере, "РешениеСерверНадпись", "РешениеКлиентНадпись")];
|
||||
ЗначениеПроверки = ?(ОписаниеОшибки = Неопределено, Неопределено, Истина);
|
||||
|
||||
Если (ОбъединятьРезультаты = "ОбъединятьПоИ"
|
||||
Или ОбъединятьРезультаты = "ОбъединятьПоИли") Тогда
|
||||
|
||||
Если ЗначениеПроверки = Неопределено
|
||||
И ЗначениеПроверкиВторогоКонтекста = Неопределено Тогда
|
||||
Если ТребуетсяОбъединятьРезультаты Тогда
|
||||
|
||||
Если ЗначениеПроверки = Неопределено И ЗначениеПроверкиВторогоКонтекста = Неопределено Тогда
|
||||
ГруппаОшибка.Видимость = Ложь;
|
||||
ЭлементРешение.Видимость = Ложь;
|
||||
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаНеВыполнялась;
|
||||
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка не выполнялась.'");
|
||||
ЭлементНадпись.Гиперссылка = Ложь;
|
||||
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
|
||||
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
|
||||
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
|
||||
ИначеЕсли ЗначениеПроверки <> Неопределено И ЗначениеПроверкиВторогоКонтекста = Неопределено Тогда
|
||||
ГруппаОшибка.Видимость = Ложь;
|
||||
ЭлементРешение.Видимость = Ложь;
|
||||
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаУспех;
|
||||
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка выполнена успешно.'");
|
||||
ЭлементНадпись.Гиперссылка = Ложь;
|
||||
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
|
||||
ИначеЕсли ЗначениеПроверки <> Неопределено И РезультатПроверки Тогда
|
||||
ГруппаОшибка.Видимость = Ложь;
|
||||
ЭлементРешение.Видимость = Ложь;
|
||||
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаУспех;
|
||||
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка выполнена успешно.'");
|
||||
ЭлементНадпись.Гиперссылка = Ложь;
|
||||
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли ЗначениеПроверки = Неопределено
|
||||
И ЗначениеПроверкиВторогоКонтекста <> Неопределено Тогда
|
||||
|
||||
Проверки.Вставить(НачалоЭлемента, ЗначениеПроверки);
|
||||
Проверки.Вставить(НачалоЭлемента + "Ошибка",
|
||||
?(ОписаниеОшибки = Неопределено, "", ОписаниеОшибки));
|
||||
Возврат;
|
||||
|
||||
ИначеЕсли ЗначениеПроверки <> Неопределено
|
||||
И ЗначениеПроверкиВторогоКонтекста = Неопределено Тогда
|
||||
|
||||
ГруппаОшибка.Видимость = Ложь;
|
||||
ЭлементРешение.Видимость = Ложь;
|
||||
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаУспех;
|
||||
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка выполнена успешно.'");
|
||||
ЭлементНадпись.Гиперссылка = Ложь;
|
||||
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
|
||||
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
|
||||
Иначе
|
||||
РезультатПроверки = ?(ОбъединятьРезультаты = "ОбъединятьПоИ",
|
||||
ЗначениеПроверки И ЗначениеПроверкиВторогоКонтекста,
|
||||
ЗначениеПроверки Или ЗначениеПроверкиВторогоКонтекста);
|
||||
|
||||
Если РезультатПроверки Тогда
|
||||
ГруппаОшибка.Видимость = Ложь;
|
||||
ЭлементРешение.Видимость = Ложь;
|
||||
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаУспех;
|
||||
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка выполнена успешно.'");
|
||||
ЭлементНадпись.Гиперссылка = Ложь;
|
||||
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
|
||||
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
|
||||
ЭлементКартинка.Картинка = ?(ОписаниеОшибки = Неопределено,
|
||||
БиблиотекаКартинок.ПроверкаСертификатаНеВыполнялась,
|
||||
БиблиотекаКартинок.ПроверкаСертификатаУспех);
|
||||
@@ -2094,21 +2152,14 @@
|
||||
НСтр("ru = 'Проверка выполнена успешно.'"));
|
||||
|
||||
Если ПроверкиВторогоКонтекста = Неопределено
|
||||
Или Не ПроверкиВторогоКонтекста.Свойство(НачалоЭлемента + "Ошибка")
|
||||
Или ПустаяСтрока(ПроверкиВторогоКонтекста[НачалоЭлемента + "Ошибка"]) Тогда
|
||||
Или Не ПроверкиВторогоКонтекста.Свойство(Действие + "Ошибка")
|
||||
Или ПустаяСтрока(ПроверкиВторогоКонтекста[Действие + "Ошибка"]) Тогда
|
||||
|
||||
ГруппаОшибка.Видимость = Ложь;
|
||||
ЭлементРешение.Видимость = Ложь;
|
||||
ЭлементНадпись.Гиперссылка = Ложь;
|
||||
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
|
||||
Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
|
||||
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(Форма.ДополнительныеПроверки, ЭлементНадпись.Имя);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Проверки.Вставить(НачалоЭлемента, ЗначениеПроверки);
|
||||
Проверки.Вставить(НачалоЭлемента + "Ошибка",
|
||||
?(ОписаниеОшибки = Неопределено, "", ОписаниеОшибки));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -2121,13 +2172,10 @@
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Проверка Из ДополнительныеПроверки Цикл
|
||||
|
||||
Если Проверка.Имя + "Надпись" = ИмяЭлемента Тогда
|
||||
Возврат Проверка.Представление;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат "";
|
||||
|
||||
КонецФункции
|
||||
|
||||
+6
-5
@@ -727,8 +727,7 @@
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Ошибка = Новый Структура;
|
||||
ЗаписатьСертификатыШифрованияНаСервере(ОписаниеОбъектов, ИдентификаторФормы, Ошибка);
|
||||
Ошибка = ЗаписатьСертификатыШифрованияНаСервере(ОписаниеОбъектов, ИдентификаторФормы, Ошибка);
|
||||
|
||||
Возврат Не ЗначениеЗаполнено(Ошибка);
|
||||
|
||||
@@ -767,7 +766,7 @@
|
||||
// ОписаниеОбъектов - Массив из см. ОписаниеОбъекта
|
||||
//
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ЗаписатьСертификатыШифрованияНаСервере(ОписаниеОбъектов, ИдентификаторФормы, Ошибка)
|
||||
Функция ЗаписатьСертификатыШифрованияНаСервере(Знач ОписаниеОбъектов, Знач ИдентификаторФормы, Знач Ошибка)
|
||||
|
||||
СертификатыШифрования = Новый Массив;
|
||||
|
||||
@@ -781,11 +780,13 @@
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
Ошибка.Вставить("ОписаниеОшибки", НСтр("ru = 'При очистке сертификатов шифрования возникла ошибка:'")
|
||||
Ошибка.Вставить("ОписаниеОшибки", НСтр("ru = 'Не удалось очистить сертификаты шифрования по причине:'")
|
||||
+ Символы.ПС + ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
Возврат Ошибка;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработатьОшибку(Оповещение, ОшибкаНаКлиенте, ОшибкаНаСервере)
|
||||
|
||||
@@ -234,19 +234,21 @@
|
||||
//
|
||||
&НаСервере
|
||||
Процедура СформироватьОтчетОбОшибках(ОтчетОбОшибках)
|
||||
МассивФайловСОшибками = РеквизитФормыВЗначение("ФайлыСОшибками");
|
||||
ТабМакет = Справочники.ТомаХраненияФайлов.ПолучитьМакет("МакетОтчета");
|
||||
|
||||
ОбластьЗаголовок = ТабМакет.ПолучитьОбласть("Заголовок");
|
||||
ТабличныйМакет = Справочники.ТомаХраненияФайлов.ПолучитьМакет("МакетОтчета");
|
||||
|
||||
ОбластьЗаголовок = ТабличныйМакет.ПолучитьОбласть("Заголовок");
|
||||
ОбластьЗаголовок.Параметры.Описание = НСтр("ru = 'Проблемные файлы:'");
|
||||
ОтчетОбОшибках.Вывести(ОбластьЗаголовок);
|
||||
|
||||
ОбластьСтрока = ТабМакет.ПолучитьОбласть("Строка");
|
||||
ОбластьСтрока = ТабличныйМакет.ПолучитьОбласть("Строка");
|
||||
|
||||
Для Каждого ФайлСОшибкой Из МассивФайловСОшибками Цикл
|
||||
Для Каждого ФайлСОшибкой Из РеквизитФормыВЗначение("ФайлыСОшибками") Цикл
|
||||
ОбластьСтрока.Параметры.Название = ФайлСОшибкой.Имя;
|
||||
ОбластьСтрока.Параметры.Ошибка = ФайлСОшибкой.Ошибка;
|
||||
ОтчетОбОшибках.Вывести(ОбластьСтрока);
|
||||
Область = ОтчетОбОшибках.Вывести(ОбластьСтрока);
|
||||
Область.ВысотаСтроки = 0;
|
||||
Область.АвтоВысотаСтроки = Истина;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -393,16 +395,14 @@
|
||||
НСтр("ru = 'Удалено файлов: %1'"),
|
||||
ЧислоУдаленныхФайлов);
|
||||
ПоказатьОповещениеПользователя(
|
||||
НСтр("ru = 'Завершено удаление лишних файлов.'"),
|
||||
,
|
||||
ТекстОповещения,
|
||||
БиблиотекаКартинок.ДиалогИнформация);
|
||||
НСтр("ru = 'Завершено удаление лишних файлов.'"),,
|
||||
ТекстОповещения, БиблиотекаКартинок.ДиалогИнформация);
|
||||
КонецЕсли;
|
||||
|
||||
Если ФайлыСОшибками.Количество() > 0 Тогда
|
||||
ОтчетОбОшибках = Новый ТабличныйДокумент;
|
||||
СформироватьОтчетОбОшибках(ОтчетОбОшибках);
|
||||
ОтчетОбОшибках.Показать();
|
||||
ОтчетОбОшибках.Показать(НСтр("ru = 'Удаление лишних файлов из тома'"));
|
||||
КонецЕсли;
|
||||
|
||||
Закрыть();
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
<id>28</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Установка пометки удаления</value>
|
||||
<value>Установить/снять пометку удаления</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -804,12 +804,12 @@
|
||||
<name>УстановкаПометкиУдаления</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Установка пометки удаления</value>
|
||||
<value>Установить/снять пометку удаления</value>
|
||||
</title>
|
||||
<id>1</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Установка пометки удаления</value>
|
||||
<value>Установить/снять пометку удаления</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
|
||||
@@ -71,14 +71,8 @@
|
||||
ТекстВопроса = НСтр("ru = 'Пометить ""%1"" на удаление?'");
|
||||
КонецЕсли;
|
||||
|
||||
СодержимоеВопроса = Новый Массив;
|
||||
СодержимоеВопроса.Добавить(БиблиотекаКартинок.Вопрос32);
|
||||
СодержимоеВопроса.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ТекстВопроса, ТекущиеДанные.Наименование));
|
||||
|
||||
ПоказатьВопрос(
|
||||
Новый ОписаниеОповещения("ПродолжитьИзменениеПометкиУдаления", ЭтотОбъект, ТекущиеДанные),
|
||||
Новый ФорматированнаяСтрока(СодержимоеВопроса),
|
||||
ПоказатьВопрос(Новый ОписаниеОповещения("ПродолжитьИзменениеПометкиУдаления", ЭтотОбъект, ТекущиеДанные),
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстВопроса, ТекущиеДанные.Наименование),
|
||||
РежимДиалогаВопрос.ДаНет);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -65,14 +65,14 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>7</f>
|
||||
<f>6</f>
|
||||
<parameter>Ошибка</parameter>
|
||||
</c>
|
||||
</c>
|
||||
</row>
|
||||
</rowsItem>
|
||||
<templateMode>true</templateMode>
|
||||
<defaultFormatIndex>8</defaultFormatIndex>
|
||||
<defaultFormatIndex>7</defaultFormatIndex>
|
||||
<height>3</height>
|
||||
<vgRows>3</vgRows>
|
||||
<namedItem xsi:type="NamedItemCells">
|
||||
@@ -114,9 +114,7 @@
|
||||
<height>177</height>
|
||||
</format>
|
||||
<format>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
<format>
|
||||
<verticalAlignment>Top</verticalAlignment>
|
||||
<textPlacement>Wrap</textPlacement>
|
||||
<fillType>Parameter</fillType>
|
||||
</format>
|
||||
|
||||
@@ -1223,7 +1223,20 @@
|
||||
|
||||
Функция РеквизитыТребующиеВводаПароляДляИзменения() Экспорт
|
||||
|
||||
Возврат "ИспользоватьДляОтправки,ИспользоватьДляПолучения,СерверВходящейПочты,СерверИсходящейПочты,ВладелецУчетнойЗаписи,ИспользоватьЗащищенноеСоединениеДляВходящейПочты,ИспользоватьЗащищенноеСоединениеДляИсходящейПочты,Пользователь,ПользовательSMTP";
|
||||
Реквизиты = Новый Массив;
|
||||
Реквизиты.Добавить("ИспользоватьДляОтправки");
|
||||
Реквизиты.Добавить("ИспользоватьДляПолучения");
|
||||
Реквизиты.Добавить("СерверВходящейПочты");
|
||||
Реквизиты.Добавить("СерверИсходящейПочты");
|
||||
Реквизиты.Добавить("ВладелецУчетнойЗаписи");
|
||||
Реквизиты.Добавить("ИспользоватьЗащищенноеСоединениеДляВходящейПочты");
|
||||
Реквизиты.Добавить("ИспользоватьЗащищенноеСоединениеДляИсходящейПочты");
|
||||
Реквизиты.Добавить("Пользователь");
|
||||
Реквизиты.Добавить("ПользовательSMTP");
|
||||
Реквизиты.Добавить("ПриОтправкеПисемТребуетсяАвторизация");
|
||||
Реквизиты.Добавить("ИмяПользователя");
|
||||
|
||||
Возврат СтрСоединить(Реквизиты, ",");
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -1249,7 +1249,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция СведенияОСинхронизации(ВладелецФайлов)
|
||||
Функция СведенияОСинхронизации(Знач ВладелецФайлов)
|
||||
|
||||
Возврат РаботаСФайламиСлужебный.СведенияОСинхронизации(ВладелецФайлов);
|
||||
|
||||
@@ -1537,7 +1537,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Процедура ПриОтправкеФайловПочтой(ПараметрыОтправки, Знач ФайлыДляОтправки, ВладелецФайлов, УникальныйИдентификатор)
|
||||
Процедура ПриОтправкеФайловПочтой(ПараметрыОтправки, Знач ФайлыДляОтправки, Знач ВладелецФайлов, Знач УникальныйИдентификатор)
|
||||
ИнтеграцияПодсистемБСП.ПриОтправкеФайловПочтой(ПараметрыОтправки, ФайлыДляОтправки, ВладелецФайлов, УникальныйИдентификатор);
|
||||
РаботаСФайламиПереопределяемый.ПриОтправкеФайловПочтой(ПараметрыОтправки, ФайлыДляОтправки, ВладелецФайлов, УникальныйИдентификатор);
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1664,9 +1664,9 @@
|
||||
|
||||
МодульЭлектроннаяПодписьКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ЭлектроннаяПодписьКлиентСервер");
|
||||
|
||||
Для Каждого Строка Из Элементы.ЭлектронныеПодписи.ВыделенныеСтроки Цикл
|
||||
Для Каждого СтрокаСписка Из Элементы.ЭлектронныеПодписи.ВыделенныеСтроки Цикл
|
||||
|
||||
ТекущаяСтрока = ЭлектронныеПодписи.НайтиПоИдентификатору(Строка);
|
||||
ТекущаяСтрока = ЭлектронныеПодписи.НайтиПоИдентификатору(СтрокаСписка);
|
||||
Если ТекущаяСтрока.ПодписьВерна И ТекущаяСтрока.РезультатПроверки.ДополнительныеАтрибутыПровереныВручную <> Истина
|
||||
Или ЗначениеЗаполнено(ТекущаяСтрока.РезультатПроверки.ОшибкаМатематическойПроверкиПодписи) Тогда
|
||||
Продолжить;
|
||||
|
||||
@@ -64,8 +64,8 @@
|
||||
&НаСервереБезКонтекста
|
||||
Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
|
||||
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
Строка.Значение.Данные["Наименование"] = МультиязычностьСервер.ПредставлениеЯзыка(Строка.Значение.Данные["Код"]);
|
||||
Для Каждого СтрокаСписка Из Строки Цикл
|
||||
СтрокаСписка.Значение.Данные["Наименование"] = МультиязычностьСервер.ПредставлениеЯзыка(СтрокаСписка.Значение.Данные["Код"]);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
+4
-5
@@ -259,14 +259,13 @@
|
||||
|
||||
&НаСервере
|
||||
Процедура ПреобразоватьЗависимостиВСписке(Таблица, Отбор)
|
||||
НайденныеСтроки = Таблица.НайтиСтроки(Отбор);
|
||||
Для Каждого Строка Из НайденныеСтроки Цикл
|
||||
Для Каждого Элемент Из Строка.Значение Цикл
|
||||
Для Каждого СтрокаТаблицы Из Таблица.НайтиСтроки(Отбор) Цикл
|
||||
Для Каждого Элемент Из СтрокаТаблицы.Значение Цикл
|
||||
НоваяСтрока = Таблица.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицы);
|
||||
НоваяСтрока.Значение = Элемент.Значение;
|
||||
КонецЦикла;
|
||||
Таблица.Удалить(Строка);
|
||||
Таблица.Удалить(СтрокаТаблицы);
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -1373,9 +1373,7 @@
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ВыборГруппИЭлементов</name>
|
||||
<valueType>
|
||||
<types>Boolean</types>
|
||||
</valueType>
|
||||
<valueType/>
|
||||
</parameters>
|
||||
<parameters>
|
||||
<name>ПараметрыВыбора</name>
|
||||
|
||||
@@ -77,6 +77,7 @@
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<height>6</height>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>true</horizontalStretch>
|
||||
<verticalStretch>true</verticalStretch>
|
||||
</extInfo>
|
||||
@@ -150,6 +151,7 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>60</width>
|
||||
<maxWidth>60</maxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
@@ -860,7 +862,7 @@
|
||||
<id>1</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Открыть копию файла на компьютере.</value>
|
||||
<value>Открыть копию файла на компьютере</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -882,7 +884,7 @@
|
||||
<id>2</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Заменить копию файла на компьютере копией файла из приложения и открыть.</value>
|
||||
<value>Заменить копию файла на компьютере копией файла из приложения и открыть</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -904,7 +906,7 @@
|
||||
<id>3</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Открыть рабочий каталог.</value>
|
||||
<value>Открыть рабочий каталог</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
@@ -974,7 +976,7 @@
|
||||
<id>6</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Отмена действие с файлом.</value>
|
||||
<value>Отмена действие с файлом</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
|
||||
@@ -373,12 +373,11 @@
|
||||
ПараметрыЭлемента.Родитель = ЭлементКонфигурация;
|
||||
ЭлементОбщие = НоваяСтрокаДерева(ПараметрыЭлемента);
|
||||
|
||||
// Заполнение дерева объектов метаданных.
|
||||
Для Каждого Строка Из ОбъектыМетаданных Цикл
|
||||
Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл
|
||||
Если КоллекцииВыбираемыхОбъектовМетаданных.Количество() = 0
|
||||
Или КоллекцииВыбираемыхОбъектовМетаданных.НайтиПоЗначению(Строка.Имя) <> Неопределено Тогда
|
||||
Строка.Родитель = ?(Строка.ЭтоКоллекцияОбщие, ЭлементОбщие, ЭлементКонфигурация);
|
||||
ДобавитьЭлементДереваОбъектовМетаданных(Строка, ?(Строка.Имя = "Подсистемы", Метаданные.Подсистемы, Неопределено));
|
||||
Или КоллекцииВыбираемыхОбъектовМетаданных.НайтиПоЗначению(ОбъектМетаданных.Имя) <> Неопределено Тогда
|
||||
ОбъектМетаданных.Родитель = ?(ОбъектМетаданных.ЭтоКоллекцияОбщие, ЭлементОбщие, ЭлементКонфигурация);
|
||||
ДобавитьЭлементДереваОбъектовМетаданных(ОбъектМетаданных, ?(ОбъектМетаданных.Имя = "Подсистемы", Метаданные.Подсистемы, Неопределено));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -610,9 +610,8 @@
|
||||
&НаКлиенте
|
||||
Процедура РазвернутьДеревоЗначений()
|
||||
|
||||
Строки = ДеревоГрупп.ПолучитьЭлементы();
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
Элементы.ДеревоГрупп.Развернуть(Строка.ПолучитьИдентификатор(), Истина);
|
||||
Для Каждого Элемент Из ДеревоГрупп.ПолучитьЭлементы() Цикл
|
||||
Элементы.ДеревоГрупп.Развернуть(Элемент.ПолучитьИдентификатор(), Истина);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОписаниеДанных.Свойство("Объект") Тогда
|
||||
ОписаниеДанных.Вставить("Подписи", МассивПодписей());
|
||||
ОписаниеДанных.Вставить("Подписи", ДобавляемыеПодписи());
|
||||
Закрыть(Истина);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -129,9 +129,8 @@
|
||||
Если ТипЗнч(ОписаниеДанных.Объект) <> Тип("ОписаниеОповещения") Тогда
|
||||
ВерсияОбъекта = Неопределено;
|
||||
ОписаниеДанных.Свойство("ВерсияОбъекта", ВерсияОбъекта);
|
||||
МассивПодписей = Неопределено;
|
||||
Попытка
|
||||
ДобавитьПодпись(ОписаниеДанных.Объект, ВерсияОбъекта, МассивПодписей);
|
||||
МассивПодписей = ДобавитьПодпись(ОписаниеДанных.Объект, ВерсияОбъекта);
|
||||
Исключение
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
ОКЗавершение(Новый Структура("ОписаниеОшибки", ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке)));
|
||||
@@ -140,7 +139,7 @@
|
||||
ОписаниеДанных.Вставить("Подписи", МассивПодписей);
|
||||
ОповеститьОбИзменении(ОписаниеДанных.Объект);
|
||||
Иначе
|
||||
ОписаниеДанных.Вставить("Подписи", МассивПодписей());
|
||||
ОписаниеДанных.Вставить("Подписи", ДобавляемыеПодписи());
|
||||
|
||||
ПараметрыВыполнения = Новый Структура;
|
||||
ПараметрыВыполнения.Вставить("ОписаниеДанных", ОписаниеДанных);
|
||||
@@ -438,7 +437,7 @@
|
||||
СвойстваСертификата.Вставить("ДвоичныеДанные", ДанныеСертификата);
|
||||
|
||||
СвойстваПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваПодписи(Контекст.ДанныеПодписи,
|
||||
СвойстваСертификата, "", ПользователиКлиент.АвторизованныйПользователь(), Контекст.ИмяФайла, Контекст.ПараметрыПодписи);
|
||||
СвойстваСертификата, "", ПользователиКлиент.АвторизованныйПользователь(), Контекст.ИмяФайла, Контекст.ПараметрыПодписи, Истина);
|
||||
|
||||
ДобавитьСтроку(ЭтотОбъект, Контекст.ДобавитьНовуюСтроку, СвойстваПодписи,
|
||||
Контекст.ИмяФайла, Контекст.АдресСвойствПодписи);
|
||||
@@ -469,47 +468,40 @@
|
||||
Возврат; // Не удалось получить данные, подпись проверить невозможно.
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыДляПроверки = ЭлектроннаяПодписьКлиент.ПараметрыПроверкиПодписи();
|
||||
ПараметрыДляПроверки.ПоказатьОшибкуСозданияМенеджераКриптографии = Ложь;
|
||||
ПараметрыДляПроверки.РезультатВВидеСтруктуры = Истина;
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПроверитьПодпись(Новый ОписаниеОповещения(
|
||||
"ВыбратьФайлПослеПроверкиПодписи", ЭтотОбъект, Контекст),
|
||||
Результат, Контекст.ДанныеПодписи, , Контекст.ДатаПодписи, Ложь);
|
||||
Результат, Контекст.ДанныеПодписи, , Контекст.ДатаПодписи, ПараметрыДляПроверки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Продолжение процедуры ВыбратьФайл.
|
||||
&НаКлиенте
|
||||
Процедура ВыбратьФайлПослеПроверкиПодписи(Результат, Контекст) Экспорт
|
||||
Процедура ВыбратьФайлПослеПроверкиПодписи(РезультатПроверки, Контекст) Экспорт
|
||||
|
||||
Если Результат = Неопределено Тогда
|
||||
Если РезультатПроверки.Результат = Неопределено Тогда
|
||||
Возврат; // Не удалось проверить подпись.
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьРезультатПроверкиПодписи(Контекст.АдресСвойствПодписи, Результат = Истина);
|
||||
ОбновитьРезультатПроверкиПодписи(Контекст.АдресСвойствПодписи, РезультатПроверки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьРезультатПроверкиПодписи(АдресСвойствПодписи, ПодписьВерна)
|
||||
Процедура ОбновитьРезультатПроверкиПодписи(АдресСвойствПодписи, РезультатПроверки)
|
||||
|
||||
ТекущаяДатаСеанса = ТекущаяДатаСеанса();
|
||||
|
||||
СвойстваПодписи = ПолучитьИзВременногоХранилища(АдресСвойствПодписи);
|
||||
|
||||
Если ЗначениеЗаполнено(ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
|
||||
СвойстваПодписи, "НеподтвержденнаяДатаПодписи", Неопределено)) Тогда
|
||||
ДатаПодписи = СвойстваПодписи.НеподтвержденнаяДатаПодписи;
|
||||
КонецЕсли;
|
||||
НовыеСвойстваПодписи = ЭлектроннаяПодписьКлиентСервер.НовыеСвойстваПодписи();
|
||||
ЗаполнитьЗначенияСвойств(НовыеСвойстваПодписи, СвойстваПодписи);
|
||||
ЗаполнитьЗначенияСвойств(НовыеСвойстваПодписи, РезультатПроверки);
|
||||
НовыеСвойстваПодписи.ДатаПроверкиПодписи = ТекущаяДатаСеанса;
|
||||
|
||||
Если Не ЗначениеЗаполнено(ДатаПодписи) Тогда
|
||||
Если Не ЗначениеЗаполнено(СвойстваПодписи.ДатаПодписи) Тогда
|
||||
СвойстваПодписи.ДатаПодписи = ТекущаяДатаСеанса;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
СвойстваПодписи.ДатаПодписи = ДатаПодписи;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваПодписи.ДатаПроверкиПодписи = ТекущаяДатаСеанса;
|
||||
СвойстваПодписи.ПодписьВерна = ПодписьВерна;
|
||||
|
||||
ПоместитьВоВременноеХранилище(СвойстваПодписи, АдресСвойствПодписи);
|
||||
ПоместитьВоВременноеХранилище(НовыеСвойстваПодписи, АдресСвойствПодписи);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -598,7 +590,7 @@
|
||||
СвойстваСертификата.Вставить("ДвоичныеДанные", Сертификат.Выгрузить());
|
||||
|
||||
СвойстваПодписи = ЭлектроннаяПодписьСлужебныйКлиентСервер.СвойстваПодписи(ДанныеПодписи,
|
||||
СвойстваСертификата, "", Пользователи.АвторизованныйПользователь(), ИмяФайла, ПараметрыПодписи);
|
||||
СвойстваСертификата, "", Пользователи.АвторизованныйПользователь(), ИмяФайла, ПараметрыПодписи, Истина);
|
||||
|
||||
ДобавитьСтроку(ЭтотОбъект, ДобавитьНовуюСтроку, СвойстваПодписи, ИмяФайла, АдресСвойствПодписи);
|
||||
|
||||
@@ -623,31 +615,27 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция МассивПодписей()
|
||||
Функция ДобавляемыеПодписи()
|
||||
|
||||
МассивПодписей = Новый Массив;
|
||||
|
||||
Для каждого Строка Из Подписи Цикл
|
||||
|
||||
СвойстваПодписи = ПолучитьИзВременногоХранилища(Строка.АдресСвойствПодписи);
|
||||
СвойстваПодписи.Вставить("Комментарий", Строка.Комментарий);
|
||||
|
||||
МассивПодписей.Добавить(ПоместитьВоВременноеХранилище(СвойстваПодписи, УникальныйИдентификатор));
|
||||
Результат = Новый Массив;
|
||||
Для каждого Подпись Из Подписи Цикл
|
||||
СвойстваПодписи = ПолучитьИзВременногоХранилища(Подпись.АдресСвойствПодписи);
|
||||
СвойстваПодписи.Вставить("Комментарий", Подпись.Комментарий);
|
||||
Результат.Добавить(ПоместитьВоВременноеХранилище(СвойстваПодписи, УникальныйИдентификатор));
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивПодписей;
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ДобавитьПодпись(СсылкаНаОбъект, ВерсияОбъекта, МассивПодписей)
|
||||
Функция ДобавитьПодпись(СсылкаНаОбъект, ВерсияОбъекта)
|
||||
|
||||
МассивПодписей = МассивПодписей();
|
||||
Результат = ДобавляемыеПодписи();
|
||||
ЭлектроннаяПодпись.ДобавитьПодпись(СсылкаНаОбъект, Результат, УникальныйИдентификатор, ВерсияОбъекта);
|
||||
Возврат Результат;
|
||||
|
||||
ЭлектроннаяПодпись.ДобавитьПодпись(СсылкаНаОбъект,
|
||||
МассивПодписей, УникальныйИдентификатор, ВерсияОбъекта);
|
||||
|
||||
КонецПроцедуры
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПоказатьОшибку(ОшибкаНаКлиенте, ОшибкаНаСервере, ДополнительныеПараметры = Неопределено)
|
||||
|
||||
@@ -150,8 +150,7 @@
|
||||
Элементы.ГруппаПрограммыLinuxПутьКПрограмме.Видимость = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = ОбщегоНазначения.ЭтоВебКлиент()
|
||||
И Параметры.Свойство("РасширениеНеПодключено");
|
||||
Элементы.ГруппаПодсказкаКриптопровайдеры.Видимость = ОбщегоНазначения.ЭтоВебКлиент();
|
||||
Элементы.ФормаУстановитьРасширение.Видимость = ОбщегоНазначения.ЭтоВебКлиент();
|
||||
|
||||
ЗаполнитьПрограммыИНастройки();
|
||||
@@ -397,16 +396,16 @@
|
||||
&НаСервереБезКонтекста
|
||||
Процедура СертификатыПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
|
||||
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
Если НЕ Строка.Значение.Данные.Свойство("Пользователь") Тогда
|
||||
Для Каждого СтрокаСписка Из Строки Цикл
|
||||
Если НЕ СтрокаСписка.Значение.Данные.Свойство("Пользователь") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Прервать;
|
||||
КонецЦикла;
|
||||
|
||||
Запрос = Неопределено;
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
Если ЗначениеЗаполнено(Строка.Значение.Данные.Пользователь) Тогда
|
||||
Для Каждого СтрокаСписка Из Строки Цикл
|
||||
Если ЗначениеЗаполнено(СтрокаСписка.Значение.Данные.Пользователь) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Запрос = Неопределено Тогда
|
||||
@@ -432,18 +431,18 @@
|
||||
КонецЕсли;
|
||||
ВыборкаСсылка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
КонецЕсли;
|
||||
Если ВыборкаСсылка.НайтиСледующий(Строка.Значение.Данные["Ссылка"], "Ссылка") Тогда
|
||||
Если ВыборкаСсылка.НайтиСледующий(СтрокаСписка.Значение.Данные["Ссылка"], "Ссылка") Тогда
|
||||
КоличествоПользователей = ВыборкаСсылка.Пользователь;
|
||||
ВыборкаПользователь = ВыборкаСсылка.Выбрать();
|
||||
ВыборкаПользователь.Следующий();
|
||||
Если КоличествоПользователей = 1 Тогда
|
||||
Строка.Значение.Данные.Пользователь = ВыборкаПользователь.ПользовательПредставление;
|
||||
СтрокаСписка.Значение.Данные.Пользователь = ВыборкаПользователь.ПользовательПредставление;
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Пользователь1 = ВыборкаПользователь.ПользовательПредставление;
|
||||
ВыборкаПользователь.Следующий();
|
||||
Пользователь2 = ВыборкаПользователь.ПользовательПредставление;
|
||||
Строка.Значение.Данные.Пользователь = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПользователиСертификатаСтрокой(
|
||||
СтрокаСписка.Значение.Данные.Пользователь = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПользователиСертификатаСтрокой(
|
||||
Пользователь1, Пользователь2, КоличествоПользователей);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
ПараметрыКлиента.Вставить("Обновлять", Ложь)
|
||||
КонецЕсли;
|
||||
Если ИмяСобытия = ВариантыОтчетовКлиент.ИмяСобытияИзменениеВарианта()
|
||||
Или ИмяСобытия = "Запись_НаборКонстант" Тогда
|
||||
Или ИмяСобытия = "Запись_НаборКонстант" Или ИмяСобытия = "Запись_ВариантыОтчетов" Тогда
|
||||
ПараметрыКлиента.Обновлять = Истина;
|
||||
ИначеЕсли ИмяСобытия = ВариантыОтчетовКлиент.ИмяСобытияИзменениеОбщихНастроек() Тогда
|
||||
Если Изменения.ПоказыватьПодсказки <> ПоказыватьПодсказки
|
||||
|
||||
@@ -637,12 +637,12 @@
|
||||
Новый КвалификаторыЧисла(10, 0, ДопустимыйЗнак.Неотрицательный)));
|
||||
|
||||
ГруппаДоступаВСтроке = Неопределено;
|
||||
Для Каждого Строка Из ТаблицаЗначений Цикл
|
||||
Если ГруппаДоступаВСтроке <> Строка.ГруппаДоступа Тогда
|
||||
ГруппаДоступаВСтроке = Строка.ГруппаДоступа;
|
||||
Для Каждого СтрокаТаблицы Из ТаблицаЗначений Цикл
|
||||
Если ГруппаДоступаВСтроке <> СтрокаТаблицы.ГруппаДоступа Тогда
|
||||
ГруппаДоступаВСтроке = СтрокаТаблицы.ГруппаДоступа;
|
||||
ТекущийНомерСтроки = 1;
|
||||
КонецЕсли;
|
||||
Строка.НомерСтроки = ТекущийНомерСтроки;
|
||||
СтрокаТаблицы.НомерСтроки = ТекущийНомерСтроки;
|
||||
ТекущийНомерСтроки = ТекущийНомерСтроки + 1;
|
||||
КонецЦикла;
|
||||
Запрос.УстановитьПараметр("ЗначенияДоступа", ТаблицаЗначений);
|
||||
|
||||
@@ -1382,6 +1382,10 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>OnOpen</event>
|
||||
<name>ПриОткрытии</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnCreateAtServer</event>
|
||||
<name>ПриСозданииНаСервере</name>
|
||||
@@ -1548,6 +1552,17 @@
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<attributes>
|
||||
<name>ПараметрыДополненияТекстаРешенияОшибкиКлассификатора</name>
|
||||
<id>11</id>
|
||||
<valueType/>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
</attributes>
|
||||
<formCommands>
|
||||
<name>ПерейтиКНастройкеПрограмм</name>
|
||||
<title>
|
||||
|
||||
@@ -69,6 +69,17 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
|
||||
#Если Не МобильноеПриложениеКлиент И Не МобильныйКлиент Тогда
|
||||
Если ПараметрыДополненияТекстаРешенияОшибкиКлассификатора <> Неопределено Тогда
|
||||
ПодключитьОбработчикОжидания("ДополнитьРешениеКлассификатораОшибокПодробностями", 0.1, Истина);
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
@@ -100,21 +111,67 @@
|
||||
ЭлектроннаяПодписьКлиент.ОткрытьИнструкциюПоТипичнымПроблемамПриРаботеСПрограммами();
|
||||
Иначе
|
||||
|
||||
ТекстОшибок = "";
|
||||
ОписаниеФайлов = Новый Массив;
|
||||
ТекстОшибок = "";
|
||||
Если ЗначениеЗаполнено(ДополнительныеДанные) Тогда
|
||||
ЭлектроннаяПодписьСлужебныйВызовСервера.ДобавитьОписаниеДополнительныхДанных(
|
||||
ДополнительныеДанные, ОписаниеФайлов, ТекстОшибок);
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибок = ТекстОшибок + ОписаниеОшибки;
|
||||
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
|
||||
ТемаСообщения = ТемаСообщения(ОписаниеОшибки);
|
||||
ИначеЕсли ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
ТемаСообщения = ТемаСообщения(ТекстОшибки);
|
||||
ИначеЕсли ЗначениеЗаполнено(ТекстОшибкиКлиент) Тогда
|
||||
ТемаСообщения = ТемаСообщения(ТекстОшибкиКлиент);
|
||||
ИначеЕсли ЗначениеЗаполнено(ТекстОшибкиСервер) Тогда
|
||||
ТемаСообщения = ТемаСообщения(ТекстОшибкиСервер);
|
||||
Иначе
|
||||
ТемаСообщения = НСтр("ru = 'Техническая информация о возникшей проблеме'");
|
||||
КонецЕсли;
|
||||
|
||||
Массив = Новый Массив;
|
||||
Если ЗначениеЗаполнено(ТекстОшибок) Тогда
|
||||
Массив.Добавить(ТекстОшибок);
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
|
||||
Массив.Добавить(ОписаниеОшибки);
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
Массив.Добавить(ТекстОшибки);
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(ТекстОшибкиКлиент) Тогда
|
||||
Массив.Добавить(НСтр("ru = 'На клиенте:'"));
|
||||
Массив.Добавить(ТекстОшибкиКлиент);
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(ТекстОшибкиСервер) Тогда
|
||||
Массив.Добавить(НСтр("ru = 'На сервере:'"));
|
||||
Массив.Добавить(ТекстОшибкиСервер);
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибок = СтрСоединить(Массив, Символы.ПС);
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.СформироватьТехническуюИнформацию(
|
||||
ТекстОшибок, Новый Структура("Тема, Сообщение", Элементы.ИнформацияДляПоддержки.Заголовок), , ОписаниеФайлов);
|
||||
ТекстОшибок, Новый Структура("Тема, Сообщение", ТемаСообщения), , ОписаниеФайлов);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция ТемаСообщения(Знач Ошибка)
|
||||
|
||||
ПереносСтроки = СтрНайти(Ошибка, Символы.ПС);
|
||||
Если ПереносСтроки = 0 Тогда
|
||||
ТемаСообщения = Лев(Ошибка, 100);
|
||||
Иначе
|
||||
ТемаСообщения = Лев(Ошибка, ПереносСтроки - 1);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ТемаСообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПричиныКлиентТекстОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ОбработатьНавигационнуюСсылкуКлассификатора(
|
||||
@@ -163,6 +220,33 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДополнитьРешениеКлассификатораОшибокПодробностями()
|
||||
|
||||
ОшибкаПоКлассификатору = Новый Структура;
|
||||
ОшибкаПоКлассификатору.Вставить("ТекстОшибки", Элементы.ТекстОшибкиКлиент.Заголовок);
|
||||
ОшибкаПоКлассификатору.Вставить("Причина", Элементы.ПричиныКлиентТекст.Заголовок);
|
||||
ОшибкаПоКлассификатору.Вставить("Решение", Элементы.РешенияКлиентТекст.Заголовок);
|
||||
|
||||
ДанныеДляДополнения = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДанныеДляДополненияОшибкиИзКлассификатора(ДополнительныеДанные);
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ДополнитьРешениеКлассификатораОшибокПодробностями(
|
||||
Новый ОписаниеОповещения("ПослеДополненияРешенияКлассификатораОшибок", ЭтотОбъект),
|
||||
ОшибкаПоКлассификатору, ПараметрыДополненияТекстаРешенияОшибкиКлассификатора, ДанныеДляДополнения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеДополненияРешенияКлассификатораОшибок(ОшибкаПоКлассификатору, Контекст) Экспорт
|
||||
|
||||
Если Элементы.РешенияКлиентТекст.Заголовок <> ОшибкаПоКлассификатору.Решение Тогда
|
||||
Элементы.РешенияКлиентТекст.Заголовок = ОшибкаПоКлассификатору.Решение;
|
||||
КонецЕсли;
|
||||
Если Элементы.ПричиныКлиентТекст.Заголовок <> ОшибкаПоКлассификатору.Причина Тогда
|
||||
Элементы.ПричиныКлиентТекст.Заголовок = ОшибкаПоКлассификатору.Причина;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьЭлементы(ТекстОшибки, ДвеОшибки, МестоОшибки)
|
||||
|
||||
@@ -221,18 +305,15 @@
|
||||
Если ЭтоИзвестнаяОшибка Тогда
|
||||
|
||||
Если ЗначениеЗаполнено(ОшибкаПоКлассификатору.ДействияДляУстранения) Тогда
|
||||
Если ОшибкаПоКлассификатору.ДействияДляУстранения.Найти(
|
||||
"УказатьВРешенииСсылкуНаУдостоверяющийЦентр") <> Неопределено Тогда
|
||||
ИздательСертификата = ИздательСертификата();
|
||||
Если ЗначениеЗаполнено(ИздательСертификата) Тогда
|
||||
Решение = Новый Массив;
|
||||
Решение.Добавить(ОшибкаПоКлассификатору.Решение);
|
||||
Решение.Добавить(Символы.ПС);
|
||||
Решение.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Удостоверяющий центр, выдавший сертификат: %1.'"), ИздательСертификата));
|
||||
ОшибкаПоКлассификатору.Решение = Новый ФорматированнаяСтрока(Решение);
|
||||
КонецЕсли;
|
||||
Если ПараметрыДополненияТекстаРешенияОшибкиКлассификатора = Неопределено Тогда
|
||||
ПараметрыДополненияТекстаРешенияОшибкиКлассификатора = ЭлектроннаяПодписьСлужебныйКлиентСервер.ПараметрыДополненияТекстаРешенияОшибкиКлассификатора();
|
||||
КонецЕсли;
|
||||
ДанныеДляДополнения = ЭлектроннаяПодписьСлужебныйКлиентСервер.ДанныеДляДополненияОшибкиИзКлассификатора(ДополнительныеДанные);
|
||||
Дополнение = ЭлектроннаяПодписьСлужебный.ДополнитьРешениеКлассификатораОшибокПодробностями(
|
||||
ОшибкаПоКлассификатору, ДанныеДляДополнения,
|
||||
ПараметрыДополненияТекстаРешенияОшибкиКлассификатора, МестоОшибки);
|
||||
ОшибкаПоКлассификатору = Дополнение.ОшибкаПоКлассификатору;
|
||||
ПараметрыДополненияТекстаРешенияОшибкиКлассификатора = Дополнение.ПараметрыДополненияТекстаРешенияОшибкиКлассификатораНаКлиенте;
|
||||
КонецЕсли;
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,
|
||||
@@ -288,47 +369,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ИздательСертификата()
|
||||
|
||||
Если Не ЗначениеЗаполнено(ДополнительныеДанные) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеСертификата = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеДанные, "ДанныеСертификата", Неопределено);
|
||||
Если ЗначениеЗаполнено(ДанныеСертификата) Тогда
|
||||
Если ТипЗнч(ДанныеСертификата) = Тип("Строка") Тогда
|
||||
ДанныеСертификата = ПолучитьИзВременногоХранилища(ДанныеСертификата);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Сертификат = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеДанные, "Сертификат", Неопределено);
|
||||
Если ЗначениеЗаполнено(Сертификат) Тогда
|
||||
Если ТипЗнч(Сертификат) = Тип("Массив") Тогда
|
||||
Если Сертификат.Количество() > 0 Тогда
|
||||
Если ТипЗнч(Сертификат[0]) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда
|
||||
ДанныеСертификата = ДанныеСертификата(Сертификат[0], Неопределено);
|
||||
Иначе
|
||||
ДанныеСертификата = ПолучитьИзВременногоХранилища(Сертификат[0]);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ИначеЕсли ТипЗнч(Сертификат) = Тип("СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования") Тогда
|
||||
ДанныеСертификата = ДанныеСертификата(Сертификат, Неопределено);
|
||||
ИначеЕсли ТипЗнч(Сертификат) = Тип("ДвоичныеДанные") Тогда
|
||||
ДанныеСертификата = Сертификат;
|
||||
Иначе
|
||||
ДанныеСертификата = ПолучитьИзВременногоХранилища(Сертификат);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ДанныеСертификата) Тогда
|
||||
СвойстваИздателя = ЭлектроннаяПодпись.СвойстваИздателяСертификата(Новый СертификатКриптографии(ДанныеСертификата));
|
||||
Возврат СвойстваИздателя.ОбщееИмя;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция ДополнительныеДанные()
|
||||
|
||||
|
||||
@@ -24,13 +24,11 @@
|
||||
|
||||
СсылкаНаОбъект = Параметры.Ссылка;
|
||||
|
||||
// Получение списка доступных наборов свойств.
|
||||
НаборыСвойств = УправлениеСвойствамиСлужебный.ПолучитьНаборыСвойствОбъекта(Параметры.Ссылка);
|
||||
Для каждого Строка Из НаборыСвойств Цикл
|
||||
ДоступныеНаборыСвойств.Добавить(Строка.Набор);
|
||||
Для каждого СтрокаТаблицы Из НаборыСвойств Цикл
|
||||
ДоступныеНаборыСвойств.Добавить(СтрокаТаблицы.Набор);
|
||||
КонецЦикла;
|
||||
|
||||
// Заполнение таблицы значений свойств.
|
||||
ЗаполнитьТаблицуЗначенийСвойств(Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -206,11 +204,10 @@
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьТаблицуЗначенийСвойств(ИзОбработчикаПриСоздании)
|
||||
|
||||
// Заполнение дерева значениями свойств.
|
||||
Если ИзОбработчикаПриСоздании Тогда
|
||||
ЗначенияСвойств = ПрочитатьЗначенияСвойствИзРегистраСведений(Параметры.Ссылка);
|
||||
Иначе
|
||||
ЗначенияСвойств = ПолучитьТекущиеЗначенияСвойств();
|
||||
ЗначенияСвойств = ТекущиеЗначенияСвойств();
|
||||
ТаблицаЗначенийСвойств.Очистить();
|
||||
КонецЕсли;
|
||||
|
||||
@@ -229,85 +226,90 @@
|
||||
Если Не УниверсальноеОграничение Тогда
|
||||
ПроверяемыеСвойства = Таблица.ВыгрузитьКолонку("Свойство");
|
||||
РазрешенныеСвойства = МодульУправлениеДоступомСлужебный.РазрешенныеЗначенияДляДинамическогоСписка(
|
||||
ПроверяемаяТаблица,
|
||||
ЗначениеДоступа,
|
||||
ПроверяемыеСвойства, , Истина);
|
||||
ПроверяемаяТаблица, ЗначениеДоступа, ПроверяемыеСвойства, , Истина);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Строка Из Таблица Цикл
|
||||
Если Не ПроверятьПрава Тогда
|
||||
ДоступноДляИзменения = Истина;
|
||||
Иначе
|
||||
Если УниверсальноеОграничение Тогда
|
||||
Набор = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
|
||||
Набор.Отбор.Объект.Установить(Параметры.Ссылка);
|
||||
Набор.Отбор.Свойство.Установить(Строка.Свойство);
|
||||
Запись = Набор.Добавить();
|
||||
Запись.Свойство = Строка.Свойство;
|
||||
Запись.Объект = Параметры.Ссылка;
|
||||
ДоступноДляИзменения = МодульУправлениеДоступом.ИзменениеРазрешено(Набор);
|
||||
Если Не ДоступноДляИзменения
|
||||
И Не МодульУправлениеДоступом.ЧтениеРазрешено(Набор) Тогда
|
||||
Для Каждого СтрокаТаблицы Из Таблица Цикл
|
||||
|
||||
Если ПроверятьПрава Тогда
|
||||
ПраваДоступаСвойства = ПраваДоступаСвойства(СтрокаТаблицы.Свойство, УниверсальноеОграничение,
|
||||
РазрешенныеСвойства, МодульУправлениеДоступом);
|
||||
Если Не ПраваДоступаСвойства.ДоступноДляЧтения Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ДоступноДляИзменения = Ложь;
|
||||
// Проверка на чтение свойства.
|
||||
Если РазрешенныеСвойства <> Неопределено И РазрешенныеСвойства.Найти(Строка.Свойство) = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
// Проверка на запись свойства.
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Набор = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
|
||||
Набор.Отбор.Объект.Установить(Параметры.Ссылка);
|
||||
Набор.Отбор.Свойство.Установить(Строка.Свойство);
|
||||
|
||||
Запись = Набор.Добавить();
|
||||
Запись.Свойство = Строка.Свойство;
|
||||
Запись.Объект = Параметры.Ссылка;
|
||||
Набор.ОбменДанными.Загрузка = Истина;
|
||||
Набор.Записать(Истина);
|
||||
ДоступноДляИзменения = Истина;
|
||||
|
||||
ОтменитьТранзакцию();
|
||||
Исключение
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
|
||||
ОтменитьТранзакцию();
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
НоваяСтрока = ТаблицаЗначенийСвойств.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицы);
|
||||
|
||||
Если ЗначениеЗаполнено(НоваяСтрока.Подсказка) Тогда
|
||||
НоваяСтрока.КолонкаВопрос = "?";
|
||||
КонецЕсли;
|
||||
|
||||
НоваяСтрока.НомерКартинки = ?(Строка.Удалено, 0, -1);
|
||||
НоваяСтрока.ДоступноДляИзменения = ДоступноДляИзменения;
|
||||
НоваяСтрока.НомерКартинки = ?(СтрокаТаблицы.Удалено, 0, -1);
|
||||
НоваяСтрока.ДоступноДляИзменения = ?(ПроверятьПрава, ПраваДоступаСвойства.ДоступноДляИзменения, Истина);
|
||||
|
||||
Если Строка.Значение = Неопределено
|
||||
И ОбщегоНазначения.ОписаниеТипаСостоитИзТипа(Строка.ТипЗначения, Тип("Булево")) Тогда
|
||||
Если СтрокаТаблицы.Значение = Неопределено
|
||||
И ОбщегоНазначения.ОписаниеТипаСостоитИзТипа(СтрокаТаблицы.ТипЗначения, Тип("Булево")) Тогда
|
||||
НоваяСтрока.Значение = Ложь;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ПраваДоступаСвойства(Свойство, УниверсальноеОграничение, РазрешенныеСвойства, МодульУправлениеДоступом)
|
||||
|
||||
Результат = Новый Структура("ДоступноДляЧтения,ДоступноДляИзменения", Ложь, Ложь);
|
||||
Если УниверсальноеОграничение Тогда
|
||||
НаборЗаписей = ТестовыйНаборЗаписей(Свойство);
|
||||
|
||||
Результат.ДоступноДляЧтения = МодульУправлениеДоступом.ЧтениеРазрешено(НаборЗаписей);
|
||||
Результат.ДоступноДляИзменения = МодульУправлениеДоступом.ИзменениеРазрешено(НаборЗаписей);
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Если РазрешенныеСвойства <> Неопределено И РазрешенныеСвойства.Найти(Свойство) = Неопределено Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Результат.ДоступноДляЧтения = Истина;
|
||||
НачатьТранзакцию(); // АПК:326 Фиксация транзакции не требуется, т.к. это проверка прав на запись.
|
||||
Попытка
|
||||
НаборЗаписей = ТестовыйНаборЗаписей(Свойство);
|
||||
НаборЗаписей.ОбменДанными.Загрузка = Истина;
|
||||
НаборЗаписей.Записать(Истина);
|
||||
|
||||
Результат.ДоступноДляИзменения = Истина;
|
||||
|
||||
ОтменитьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
КонецПопытки;
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ТестовыйНаборЗаписей(Свойство)
|
||||
НаборЗаписей = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
|
||||
НаборЗаписей.Отбор.Объект.Установить(Параметры.Ссылка);
|
||||
НаборЗаписей.Отбор.Свойство.Установить(Свойство);
|
||||
|
||||
Запись = НаборЗаписей.Добавить();
|
||||
Запись.Свойство = Свойство;
|
||||
Запись.Объект = Параметры.Ссылка;
|
||||
|
||||
Возврат НаборЗаписей;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаписатьЗначенияСвойств()
|
||||
|
||||
// Запись значений свойств в регистр сведений.
|
||||
ЗначенияСвойств = Новый Массив;
|
||||
|
||||
Для Каждого Строка Из ТаблицаЗначенийСвойств Цикл
|
||||
Значение = Новый Структура("Свойство, Значение", Строка.Свойство, Строка.Значение);
|
||||
Для Каждого СтрокаТаблицы Из ТаблицаЗначенийСвойств Цикл
|
||||
Значение = Новый Структура("Свойство, Значение", СтрокаТаблицы.Свойство, СтрокаТаблицы.Значение);
|
||||
ЗначенияСвойств.Добавить(Значение);
|
||||
КонецЦикла;
|
||||
|
||||
@@ -335,15 +337,15 @@
|
||||
Набор.Отбор.Объект.Установить(Ссылка);
|
||||
Набор.Прочитать();
|
||||
ТекущиеЗначения = Набор.Выгрузить();
|
||||
Для Каждого Строка Из ЗначенияСвойств Цикл
|
||||
Запись = ТекущиеЗначения.Найти(Строка.Свойство, "Свойство");
|
||||
Для Каждого СтрокаТаблицы Из ЗначенияСвойств Цикл
|
||||
Запись = ТекущиеЗначения.Найти(СтрокаТаблицы.Свойство, "Свойство");
|
||||
Если Запись = Неопределено Тогда
|
||||
Запись = ТекущиеЗначения.Добавить();
|
||||
Запись.Свойство = Строка.Свойство;
|
||||
Запись.Значение = Строка.Значение;
|
||||
Запись.Свойство = СтрокаТаблицы.Свойство;
|
||||
Запись.Значение = СтрокаТаблицы.Значение;
|
||||
Запись.Объект = Ссылка;
|
||||
КонецЕсли;
|
||||
Запись.Значение = Строка.Значение;
|
||||
Запись.Значение = СтрокаТаблицы.Значение;
|
||||
|
||||
Если Не ЗначениеЗаполнено(Запись.Значение)
|
||||
Или Запись.Значение = Ложь Тогда
|
||||
@@ -379,18 +381,18 @@
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьТекущиеЗначенияСвойств()
|
||||
Функция ТекущиеЗначенияСвойств()
|
||||
|
||||
ЗначенияСвойств = Новый ТаблицаЗначений;
|
||||
ЗначенияСвойств.Колонки.Добавить("Свойство");
|
||||
ЗначенияСвойств.Колонки.Добавить("Значение");
|
||||
|
||||
Для каждого Строка Из ТаблицаЗначенийСвойств Цикл
|
||||
Для каждого СтрокаТаблицы Из ТаблицаЗначенийСвойств Цикл
|
||||
|
||||
Если ЗначениеЗаполнено(Строка.Значение) И (Строка.Значение <> Ложь) Тогда
|
||||
Если ЗначениеЗаполнено(СтрокаТаблицы.Значение) И (СтрокаТаблицы.Значение <> Ложь) Тогда
|
||||
НоваяСтрока = ЗначенияСвойств.Добавить();
|
||||
НоваяСтрока.Свойство = Строка.Свойство;
|
||||
НоваяСтрока.Значение = Строка.Значение;
|
||||
НоваяСтрока.Свойство = СтрокаТаблицы.Свойство;
|
||||
НоваяСтрока.Значение = СтрокаТаблицы.Значение;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -33,8 +33,8 @@
|
||||
|
||||
// Получение списка доступных наборов свойств.
|
||||
НаборыСвойств = УправлениеСвойствамиСлужебный.ПолучитьНаборыСвойствОбъекта(СсылкаНаОбъект);
|
||||
Для каждого Строка Из НаборыСвойств Цикл
|
||||
ДоступныеНаборыСвойств.Добавить(Строка.Набор);
|
||||
Для каждого СтрокаТаблицы Из НаборыСвойств Цикл
|
||||
ДоступныеНаборыСвойств.Добавить(СтрокаТаблицы.Набор);
|
||||
КонецЦикла;
|
||||
|
||||
МеткиОбъекта.ЗагрузитьЗначения(УправлениеСвойствами.СвойстваПоВидуДополнительныхРеквизитов(
|
||||
|
||||
@@ -960,24 +960,19 @@
|
||||
|
||||
Если ЭтоСтрока И ТекущийОбъект = Родитель.Ссылка Тогда
|
||||
Выводился = Истина;
|
||||
Иначе
|
||||
Строки = Родитель.ПолучитьЭлементы();
|
||||
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
|
||||
Если ТекущийОбъект = Строка.Ссылка Тогда
|
||||
|
||||
Выводился = Истина;
|
||||
Прервать;
|
||||
|
||||
Возврат Выводился;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Элемент Из Родитель.ПолучитьЭлементы() Цикл
|
||||
Если ТекущийОбъект = Элемент.Ссылка Тогда
|
||||
Выводился = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ЭтоСтрока И Не Выводился Тогда
|
||||
ТекущийОбъектВыводилсяВВетке(Родитель.ПолучитьРодителя(), ТекущийОбъект, Выводился);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Выводился;
|
||||
|
||||
|
||||
@@ -203,22 +203,22 @@
|
||||
|
||||
СвойстваИсправления = ОбновлениеКонфигурации.СвойстваИсправления(Расширение.Имя);
|
||||
|
||||
НоваяСтрока = УстановленныеИсправления.Добавить();
|
||||
НоваяСтрока.Имя = Расширение.Имя;
|
||||
НоваяСтрока.КонтрольнаяСумма = Base64Строка(Расширение.ХешСумма);
|
||||
НоваяСтрока.ИдентификаторРасширения = Расширение.УникальныйИдентификатор;
|
||||
НоваяСтрока.Подключать = Расширение.Активно;
|
||||
НоваяСтрока.Версия = Расширение.Версия;
|
||||
Исправление = УстановленныеИсправления.Добавить();
|
||||
Исправление.Имя = Расширение.Имя;
|
||||
Исправление.КонтрольнаяСумма = Base64Строка(Расширение.ХешСумма);
|
||||
Исправление.ИдентификаторРасширения = Расширение.УникальныйИдентификатор;
|
||||
Исправление.Подключать = Расширение.Активно;
|
||||
Исправление.Версия = Расширение.Версия;
|
||||
Если СвойстваИсправления = "ОшибкаЧтения" Тогда
|
||||
НоваяСтрока.Статус = 0;
|
||||
Исправление.Статус = 0;
|
||||
ИначеЕсли СвойстваИсправления <> Неопределено Тогда
|
||||
НоваяСтрока.Статус = 0;
|
||||
НоваяСтрока.Описание = СвойстваИсправления.Description;
|
||||
НоваяСтрока.ПрименимоДля = ИсправлениеПрименимоДля(СвойстваИсправления);
|
||||
Исправление.Статус = 0;
|
||||
Исправление.Описание = СвойстваИсправления.Description;
|
||||
Исправление.ПрименимоДля = ПрименимостьДляКонфигураций(СвойстваИсправления);
|
||||
Иначе
|
||||
Описание = ОписаниеИсправлений[Расширение.Имя];
|
||||
НоваяСтрока.Статус = 1;
|
||||
НоваяСтрока.Описание = Описание;
|
||||
Исправление.Статус = 1;
|
||||
Исправление.Описание = Описание;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -251,14 +251,14 @@
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ИсправлениеПрименимоДля(СвойстваИсправления)
|
||||
Функция ПрименимостьДляКонфигураций(СвойстваИсправления)
|
||||
|
||||
ПрименимоДля = Новый Массив;
|
||||
Для Каждого Строка Из СвойстваИсправления.AppliedFor Цикл
|
||||
ПрименимоДля.Добавить(Строка.ConfigurationName);
|
||||
ИменаКонфигураций = Новый Массив;
|
||||
Для Каждого ИмяКонфигурации Из СвойстваИсправления.AppliedFor Цикл
|
||||
ИменаКонфигураций.Добавить(ИмяКонфигурации.ConfigurationName);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СтрСоединить(ПрименимоДля, Символы.ПС);
|
||||
Возврат СтрСоединить(ИменаКонфигураций, Символы.ПС);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -415,12 +415,12 @@
|
||||
Функция ИдентификаторыПодключенныхИсправлений()
|
||||
|
||||
Подключенные = Новый Массив;
|
||||
Для Каждого Строка Из УстановленныеИсправления Цикл
|
||||
Если Не Строка.Подключать Тогда
|
||||
Для Каждого Исправление Из УстановленныеИсправления Цикл
|
||||
Если Не Исправление.Подключать Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Подключенные.Добавить(Строка.ПолучитьИдентификатор());
|
||||
Подключенные.Добавить(Исправление.ПолучитьИдентификатор());
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Подключенные;
|
||||
|
||||
@@ -383,8 +383,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого Строка Из НайденныеКонтакты.Строки Цикл
|
||||
Строка.Представление = ВРег(Строка.Представление);
|
||||
Для каждого СтрокаТаблицы Из НайденныеКонтакты.Строки Цикл
|
||||
СтрокаТаблицы.Представление = ВРег(СтрокаТаблицы.Представление);
|
||||
КонецЦикла;
|
||||
|
||||
// Для каждой строки проставим список найденных контактов.
|
||||
|
||||
@@ -2095,7 +2095,7 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура Подключаемый_Список_ВставитьИзБуфера(Команда)
|
||||
ПутьКСписку = СтрЗаменить(Команда.Имя, "ВставитьИзБуфера", "");
|
||||
ПутьКСписку = СтрЗаменить(Команда.Имя, ОтчетыКлиентСервер.ИмяКомандыВставитьИзБуфера(), "");
|
||||
|
||||
Список = ЭтотОбъект[ПутьКСписку];
|
||||
ПолеСписка = Элементы[ПутьКСписку]; // ТаблицаФормы
|
||||
@@ -2957,8 +2957,8 @@
|
||||
СвойствоЭлементаСтруктуры = СвойствоЭлементаСтруктурыНастроек(
|
||||
Отчет.КомпоновщикНастроек, "Отбор", ИдентификаторЭлементаСтруктурыНастроек);
|
||||
|
||||
Для Каждого Строка Из ПараметрыСдвига.Строки Цикл
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Строка);
|
||||
Для Каждого СтрокаСписка Из ПараметрыСдвига.Строки Цикл
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, СтрокаСписка);
|
||||
ЭлементыНастроек = СвойствоЭлементаСтруктуры.Элементы;
|
||||
|
||||
Если ЭлементНастройки.Родитель <> Неопределено Тогда
|
||||
@@ -3535,8 +3535,8 @@
|
||||
СвойствоЭлементаСтруктуры = СвойствоЭлементаСтруктурыНастроек(
|
||||
Отчет.КомпоновщикНастроек, "Выбор", ИдентификаторЭлементаСтруктурыНастроек, РасширенныйРежим);
|
||||
|
||||
Для Каждого Строка Из ПараметрыСдвига.Строки Цикл
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Строка);
|
||||
Для Каждого СтрокаСписка Из ПараметрыСдвига.Строки Цикл
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, СтрокаСписка);
|
||||
|
||||
ЭлементыНастроек = СвойствоЭлементаСтруктуры.Элементы;
|
||||
Если ЭлементНастройки.Родитель <> Неопределено Тогда
|
||||
@@ -3955,18 +3955,18 @@
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ИзменитьТипУпорядочиванияСтрок(ТипУпорядочивания)
|
||||
Строки = Сортировка.ПолучитьЭлементы()[0].ПолучитьЭлементы();
|
||||
Если Строки.Количество() = 0 Тогда
|
||||
Элементы = Сортировка.ПолучитьЭлементы()[0].ПолучитьЭлементы();
|
||||
Если Элементы.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
СвойствоЭлементаСтруктуры = СвойствоЭлементаСтруктурыНастроек(
|
||||
Отчет.КомпоновщикНастроек, "Порядок", ИдентификаторЭлементаСтруктурыНастроек, РасширенныйРежим);
|
||||
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Строка);
|
||||
Для Каждого Элемент Из Элементы Цикл
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Элемент);
|
||||
ЭлементНастройки.ТипУпорядочивания = ТипУпорядочивания;
|
||||
Строка.ТипУпорядочивания = ЭлементНастройки.ТипУпорядочивания;
|
||||
Элемент.ТипУпорядочивания = ЭлементНастройки.ТипУпорядочивания;
|
||||
КонецЦикла;
|
||||
|
||||
УстановитьМодифицированность();
|
||||
@@ -4032,16 +4032,16 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ЭлементНастройкиПриемник = СортировкаЭлементаСтруктуры.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
|
||||
ЗаполнитьЗначенияСвойств(ЭлементНастройкиПриемник, ЭлементНастройкиИсточник);
|
||||
ЭлементНастройкиПриемник.Использование = Истина;
|
||||
|
||||
ОписаниеНастройки = СортировкаЭлементаСтруктуры.ДоступныеПоляПорядка.НайтиПоле(ЭлементНастройкиИсточник.Поле);
|
||||
|
||||
Если ОписаниеНастройки = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ЭлементНастройкиПриемник = СортировкаЭлементаСтруктуры.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
|
||||
ЗаполнитьЗначенияСвойств(ЭлементНастройкиПриемник, ЭлементНастройкиИсточник);
|
||||
ЭлементНастройкиПриемник.Использование = Истина;
|
||||
|
||||
СтрокаПриемник = Раздел.ПолучитьЭлементы().Добавить();
|
||||
ЗаполнитьЗначенияСвойств(СтрокаПриемник, ЭлементНастройкиПриемник);
|
||||
ЗаполнитьЗначенияСвойств(СтрокаПриемник, ОписаниеНастройки);
|
||||
@@ -4494,16 +4494,16 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Строки = Оформление.ПолучитьЭлементы();
|
||||
Элементы = Оформление.ПолучитьЭлементы();
|
||||
СвойствоЭлементаСтруктуры = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода;
|
||||
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
Если ТипЗнч(Строка.Идентификатор) <> Тип("ИдентификаторКомпоновкиДанных") Тогда
|
||||
Для Каждого Элемент Из Элементы Цикл
|
||||
Если ТипЗнч(Элемент.Идентификатор) <> Тип("ИдентификаторКомпоновкиДанных") Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Строка.Использование = Использование;
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Строка);
|
||||
Элемент.Использование = Использование;
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Элемент);
|
||||
ЭлементНастройки.Использование = Использование;
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
@@ -5678,31 +5678,31 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ИзменитьИспользование(ИмяКоллекции, Использование = Истина, Строки = Неопределено)
|
||||
Если Строки = Неопределено Тогда
|
||||
Процедура ИзменитьИспользование(ИмяКоллекции, Использование = Истина, Элементы = Неопределено)
|
||||
Если Элементы = Неопределено Тогда
|
||||
КорневаяСтрока = КорневаяСтрокаПоУмолчанию(ИмяКоллекции);
|
||||
Если КорневаяСтрока = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Строки = КорневаяСтрока.ПолучитьЭлементы();
|
||||
Элементы = КорневаяСтрока.ПолучитьЭлементы();
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
Строка.Использование = Использование;
|
||||
Для Каждого Элемент Из Элементы Цикл
|
||||
Элемент.Использование = Использование;
|
||||
|
||||
КлючСвойства = КлючСвойстваЭлементаСтруктурыНастроек(ИмяКоллекции, Строка);
|
||||
КлючСвойства = КлючСвойстваЭлементаСтруктурыНастроек(ИмяКоллекции, Элемент);
|
||||
СвойствоЭлементаСтруктуры = СвойствоЭлементаСтруктурыНастроек(
|
||||
Отчет.КомпоновщикНастроек, КлючСвойства, ИдентификаторЭлементаСтруктурыНастроек, РасширенныйРежим);
|
||||
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Строка);
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Элемент);
|
||||
Если ТипЗнч(ЭлементНастройки) <> Тип("НастройкиКомпоновкиДанных")
|
||||
И ТипЗнч(ЭлементНастройки) <> Тип("КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных")
|
||||
И ТипЗнч(ЭлементНастройки) <> Тип("КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных") Тогда
|
||||
ЭлементНастройки.Использование = Использование;
|
||||
КонецЕсли;
|
||||
|
||||
ИзменитьИспользование(ИмяКоллекции, Использование, Строка.ПолучитьЭлементы());
|
||||
ИзменитьИспользование(ИмяКоллекции, Использование, Элемент.ПолучитьЭлементы());
|
||||
КонецЦикла;
|
||||
|
||||
УстановитьМодифицированность();
|
||||
@@ -5777,23 +5777,23 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Условие = Новый Структура("Поле", Поле);
|
||||
Найденные = ОтчетыКлиентСервер.НайтиСтрокиТаблицы(ЭтотОбъект[ИмяКоллекции], Условие);
|
||||
СтрокиТаблицы = ОтчетыКлиентСервер.НайтиСтрокиТаблицы(ЭтотОбъект[ИмяКоллекции], Условие);
|
||||
|
||||
СвойствоЭлементаСтруктуры = Неопределено;
|
||||
Для Каждого Строка Из Найденные Цикл
|
||||
Если Строка.Использование = Использование Тогда
|
||||
Для Каждого СтрокаТаблицы Из СтрокиТаблицы Цикл
|
||||
Если СтрокаТаблицы.Использование = Использование Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойствоЭлементаСтруктуры = Неопределено Тогда
|
||||
КлючСвойства = КлючСвойстваЭлементаСтруктурыНастроек(ИмяКоллекции, Строка);
|
||||
КлючСвойства = КлючСвойстваЭлементаСтруктурыНастроек(ИмяКоллекции, СтрокаТаблицы);
|
||||
СвойствоЭлементаСтруктуры = СвойствоЭлементаСтруктурыНастроек(
|
||||
Отчет.КомпоновщикНастроек, КлючСвойства, ИдентификаторЭлементаСтруктурыНастроек, РасширенныйРежим);
|
||||
КонецЕсли;
|
||||
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Строка);
|
||||
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, СтрокаТаблицы);
|
||||
Если ЭлементНастройки <> Неопределено Тогда
|
||||
Строка.Использование = Использование;
|
||||
СтрокаТаблицы.Использование = Использование;
|
||||
ЭлементНастройки.Использование = Использование;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -6348,7 +6348,7 @@
|
||||
// - ВыбранныеПоляКомпоновкиДанных
|
||||
// - ТаблицаКомпоновкиДанных
|
||||
// - Неопределено
|
||||
// Строка - см. ЭлементКоллекцииФормыНастроек
|
||||
// ЭлементНастройки - см. ЭлементКоллекцииФормыНастроек
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// - НастройкиКомпоновкиДанных
|
||||
@@ -6375,20 +6375,20 @@
|
||||
// - Неопределено
|
||||
//
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ЭлементНастройки(Знач УзелНастроек, Знач Строка)
|
||||
ЭлементНастройки = Неопределено;
|
||||
Функция ЭлементНастройки(Знач УзелНастроек, Знач ЭлементНастройки)
|
||||
Результат = Неопределено;
|
||||
|
||||
Если Строка <> Неопределено
|
||||
И ТипЗнч(Строка.Идентификатор) = Тип("ИдентификаторКомпоновкиДанных") Тогда
|
||||
Если ЭлементНастройки <> Неопределено
|
||||
И ТипЗнч(ЭлементНастройки.Идентификатор) = Тип("ИдентификаторКомпоновкиДанных") Тогда
|
||||
|
||||
ЭлементНастройки = УзелНастроек.ПолучитьОбъектПоИдентификатору(Строка.Идентификатор);
|
||||
Результат = УзелНастроек.ПолучитьОбъектПоИдентификатору(ЭлементНастройки.Идентификатор);
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(ЭлементНастройки) = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
|
||||
ЭлементНастройки = ЭлементНастройки.Настройки;
|
||||
Если ТипЗнч(Результат) = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
|
||||
Результат = ЭлементНастройки.Настройки;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЭлементНастройки;
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
|
||||
@@ -863,8 +863,8 @@
|
||||
ОписаниеНастроекОтчета = ОписаниеНастроекОтчета(НастройкиОтчета);
|
||||
|
||||
ВидимыеВарианты = Новый Массив;
|
||||
Для Каждого Строка Из ДобавленныеВарианты Цикл
|
||||
ВидимыеВарианты.Добавить(Строка.Ссылка);
|
||||
Для Каждого ВариантОтчета Из ДобавленныеВарианты Цикл
|
||||
ВидимыеВарианты.Добавить(ВариантОтчета.Ссылка);
|
||||
КонецЦикла;
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
@@ -2569,7 +2569,6 @@
|
||||
КонецЦикла;
|
||||
|
||||
ПоляПоиска = ПоляПоискаПоТипам[Тип("Строка")];
|
||||
|
||||
Если ПоляПоиска = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -2584,8 +2583,8 @@
|
||||
ПредставлениеРезультата = ПредставлениеРезультатПоискаКлиент(
|
||||
ПолеПоиска.Значение, СвойстваПоиска.ВидСравнения, СвойстваПоиска.ПравоеЗначение);
|
||||
СуществуетЗначение = Ложь;
|
||||
Для Каждого Строка Из ПодходящиеЗначения Цикл
|
||||
Если СтрСравнить(Строка.Представление, ПредставлениеРезультата) = 0 Тогда
|
||||
Для Каждого ПодходящееЗначение Из ПодходящиеЗначения Цикл
|
||||
Если СтрСравнить(ПодходящееЗначение.Представление, ПредставлениеРезультата) = 0 Тогда
|
||||
СуществуетЗначение = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -349,17 +349,17 @@
|
||||
Если Количество > 1 Тогда
|
||||
|
||||
СписокЗначений = Новый СписокЗначений();
|
||||
Для Каждого Строка Из СертификатыДляПроверкиПодписи Цикл
|
||||
Для Каждого Сертификат Из СертификатыДляПроверкиПодписи Цикл
|
||||
|
||||
Если Строка.ЭтоСертификатПодписи Тогда
|
||||
Если Сертификат.ЭтоСертификатПодписи Тогда
|
||||
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Сертификат подписанта: %1'"), Строка.КомуВыдан);
|
||||
НСтр("ru='Сертификат подписанта: %1'"), Сертификат.КомуВыдан);
|
||||
Иначе
|
||||
Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Сертификат для проверки подписи: %1'"), Строка.КомуВыдан);
|
||||
НСтр("ru='Сертификат для проверки подписи: %1'"), Сертификат.КомуВыдан);
|
||||
КонецЕсли;
|
||||
|
||||
СписокЗначений.Добавить(Строка.ДанныеСертификата, Представление);
|
||||
СписокЗначений.Добавить(Сертификат.ДанныеСертификата, Представление);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -1052,14 +1052,14 @@
|
||||
|
||||
ТаблицаДляСортировки.Сортировать("ПорядковыйНомер");
|
||||
|
||||
Для Каждого Строка Из ТаблицаДляСортировки Цикл
|
||||
Для Каждого СтрокаТаблицы Из ТаблицаДляСортировки Цикл
|
||||
|
||||
РезультатПроверки = РезультатЗагруженныеДанные[Строка.ПорядковыйНомер];
|
||||
РезультатПроверки = РезультатЗагруженныеДанные[СтрокаТаблицы.ПорядковыйНомер];
|
||||
Если РезультатПроверки = Неопределено Тогда
|
||||
РезультатПроверки = РезультатВебСервис[Строка.ПорядковыйНомер];
|
||||
РезультатПроверки = РезультатВебСервис[СтрокаТаблицы.ПорядковыйНомер];
|
||||
Если РезультатПроверки = Неопределено Тогда
|
||||
РезультатПроверки = Новый Структура;
|
||||
РезультатПроверки.Вставить("id", Строка.ПорядковыйНомер);
|
||||
РезультатПроверки.Вставить("id", СтрокаТаблицы.ПорядковыйНомер);
|
||||
РезультатПроверки.Вставить("АдресПроверен", Ложь);
|
||||
РезультатПроверки.Вставить("Варианты", Новый Массив);
|
||||
РезультатПроверки.Вставить("Ошибки", Новый Массив);
|
||||
@@ -4507,14 +4507,14 @@
|
||||
КонецЕсли;
|
||||
|
||||
Данные = Результат.Данные;
|
||||
Для Каждого Строка Из РезультатЗапроса.Выгрузить() Цикл
|
||||
Для Каждого СтрокаТаблицы Из РезультатЗапроса.Выгрузить() Цикл
|
||||
|
||||
Если Не ЭтоУровеньРегиона(Уровень) И ЗначениеЗаполнено(Строка.ПочтовыйИндекс) Тогда
|
||||
Строка.Представление = Строка.Представление + " (" + Формат(Строка.ПочтовыйИндекс, "ЧГ=0") + ")";
|
||||
Если Не ЭтоУровеньРегиона(Уровень) И ЗначениеЗаполнено(СтрокаТаблицы.ПочтовыйИндекс) Тогда
|
||||
СтрокаТаблицы.Представление = СтрокаТаблицы.Представление + " (" + Формат(СтрокаТаблицы.ПочтовыйИндекс, "ЧГ=0") + ")";
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаДанных = Данные.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(СтрокаДанных, Строка);
|
||||
ЗаполнитьЗначенияСвойств(СтрокаДанных, СтрокаТаблицы);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -6723,8 +6723,8 @@
|
||||
Если ВариантыАдреса.Количество() >= 20 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
ПредставлениеТерриториальное = Данные.valueReversed;
|
||||
ПредставлениеМуниципальное = Данные.munValueReversed;
|
||||
ПредставлениеТерриториальное = ?(ДополнительныеПараметры.ПрямойПорядок, Данные.value, Данные.valueReversed);
|
||||
ПредставлениеМуниципальное = ?(ДополнительныеПараметры.ПрямойПорядок, Данные.munValue, Данные.munValueReversed);
|
||||
|
||||
Если ДобавлятьМуниципальныеАдреса И ЗначениеЗаполнено(Данные.munId) И ЗначениеЗаполнено(
|
||||
ПредставлениеМуниципальное) Тогда
|
||||
@@ -8821,13 +8821,13 @@
|
||||
Если НовоеЗначение <> Неопределено Тогда
|
||||
// Запись
|
||||
Если НовоеЗначение.Свойство("Здания") Тогда
|
||||
Для Каждого Строка Из НовоеЗначение.Здания Цикл
|
||||
ВставитьЗданиеПомещение(XDTOАдрес, Строка.Тип, Строка.Значение);
|
||||
Для Каждого СтрокаТаблицы Из НовоеЗначение.Здания Цикл
|
||||
ВставитьЗданиеПомещение(XDTOАдрес, СтрокаТаблицы.Тип, СтрокаТаблицы.Значение);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Если НовоеЗначение.Свойство("Помещения") Тогда
|
||||
Для Каждого Строка Из НовоеЗначение.Помещения Цикл
|
||||
ВставитьЗданиеПомещение(XDTOАдрес, Строка.Тип, Строка.Значение);
|
||||
Для Каждого СтрокаТаблицы Из НовоеЗначение.Помещения Цикл
|
||||
ВставитьЗданиеПомещение(XDTOАдрес, СтрокаТаблицы.Тип, СтрокаТаблицы.Значение);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
Возврат НовоеЗначение
|
||||
|
||||
@@ -577,10 +577,8 @@
|
||||
//
|
||||
Процедура СформироватьДобавляемыеРеквизитыДляРаздела(ДобавляемыеРеквизиты, Форма)
|
||||
|
||||
Для Каждого Строка Из Форма.ТаблицаВопросовРаздела Цикл
|
||||
|
||||
ДобавитьРеквизитыДляВопроса(Строка, ДобавляемыеРеквизиты, Форма);
|
||||
|
||||
Для Каждого СтрокаТаблицы Из Форма.ТаблицаВопросовРаздела Цикл
|
||||
ДобавитьРеквизитыДляВопроса(СтрокаТаблицы, ДобавляемыеРеквизиты, Форма);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -509,10 +509,10 @@
|
||||
"ВЫБРАТЬ
|
||||
| КОЛИЧЕСТВО(*) КАК Количество
|
||||
|ИЗ
|
||||
| Задача.ЗадачаИсполнителя КАК Задачи
|
||||
| Задача.ЗадачаИсполнителя КАК ЗадачиИсполнителя
|
||||
|ГДЕ
|
||||
| Задачи.БизнесПроцесс В (&БизнесПроцессы)
|
||||
| И Задачи.Выполнена = ЛОЖЬ");
|
||||
| ЗадачиИсполнителя.БизнесПроцесс В (&БизнесПроцессы)
|
||||
| И ЗадачиИсполнителя.Выполнена = ЛОЖЬ");
|
||||
|
||||
Запрос.УстановитьПараметр("БизнесПроцессы", МассивБизнесПроцессов);
|
||||
Возврат Запрос.Выполнить().Выгрузить()[0].Количество;
|
||||
|
||||
@@ -311,11 +311,11 @@
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Запрос = Новый Запрос("ВЫБРАТЬ
|
||||
| Задачи.Ссылка КАК Ссылка
|
||||
| ЗадачиИсполнителя.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| Задача.ЗадачаИсполнителя КАК Задачи
|
||||
| Задача.ЗадачаИсполнителя КАК ЗадачиИсполнителя
|
||||
|ГДЕ
|
||||
| Задачи.БизнесПроцесс = &БизнесПроцесс");
|
||||
| ЗадачиИсполнителя.БизнесПроцесс = &БизнесПроцесс");
|
||||
Запрос.УстановитьПараметр("БизнесПроцесс", БизнесПроцессСсылка);
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
|
||||
@@ -296,17 +296,14 @@
|
||||
Возврат ПараметрыКлиента;
|
||||
КонецФункции
|
||||
|
||||
// Имя события оповещения для изменения варианта отчета.
|
||||
Функция ИмяСобытияИзменениеВарианта() Экспорт
|
||||
Возврат "Запись_ВариантыОтчетов";
|
||||
Возврат "Изменение_ВариантыОтчетов";
|
||||
КонецФункции
|
||||
|
||||
// Имя события оповещения для изменения общих настроек.
|
||||
Функция ИмяСобытияИзменениеОбщихНастроек() Экспорт
|
||||
Возврат ВариантыОтчетовКлиентСервер.ПолноеИмяПодсистемы() + ".ИзменениеОбщихНастроек";
|
||||
КонецФункции
|
||||
|
||||
// Возвращает тип ссылки дополнительного отчета.
|
||||
Функция ТипСсылкиДополнительногоОтчета()
|
||||
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда
|
||||
Возврат Тип("СправочникСсылка.ДополнительныеОтчетыИОбработки");
|
||||
@@ -602,15 +599,15 @@
|
||||
КонецЕсли;
|
||||
|
||||
КоличествоПомеченных = 0;
|
||||
Для Каждого Строка Из Форма.ПользователиВарианта Цикл
|
||||
Если Строка.Значение = ВариантАвтор Тогда
|
||||
Для Каждого СтрокаТаблицы Из Форма.ПользователиВарианта Цикл
|
||||
Если СтрокаТаблицы.Значение = ВариантАвтор Тогда
|
||||
ПризнакАвтора = "[ЭтоАвторВариантаОтчета]";
|
||||
Иначе
|
||||
ПризнакАвтора = "";
|
||||
КоличествоПомеченных = КоличествоПомеченных + Булево(Строка.Пометка);
|
||||
КоличествоПомеченных = КоличествоПомеченных + Булево(СтрокаТаблицы.Пометка);
|
||||
КонецЕсли;
|
||||
Если Строка.Представление <> ПризнакАвтора Тогда
|
||||
Строка.Представление = ПризнакАвтора;
|
||||
Если СтрокаТаблицы.Представление <> ПризнакАвтора Тогда
|
||||
СтрокаТаблицы.Представление = ПризнакАвтора;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -1373,7 +1373,6 @@
|
||||
Для Каждого Макет Из МакетыПоТипу Цикл
|
||||
|
||||
ИндексГруппировки = ИндексСтруктурыОтчета.Найти(Макет.ИмяГруппировки, "ИмяГруппировки");
|
||||
|
||||
Если ИндексГруппировки = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -1384,16 +1383,12 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Строка Из ОписаниеМакета.Макет Цикл
|
||||
|
||||
Для Каждого Ячейка Из Строка.Ячейки Цикл
|
||||
|
||||
Для Каждого СтрокаТаблицы Из ОписаниеМакета.Макет Цикл
|
||||
Для Каждого Ячейка Из СтрокаТаблицы.Ячейки Цикл
|
||||
Если Ячейка.Элементы.Количество() > 0 Тогда
|
||||
ИндексГруппировки.Текст = Ячейка.Элементы[0].Значение;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -3275,6 +3275,7 @@
|
||||
| Файлы.Наименование КАК ПолноеНаименование,
|
||||
| Файлы.Расширение КАК Расширение,
|
||||
| Файлы.Ссылка КАК Ссылка,
|
||||
| &Зашифрован,
|
||||
| Файлы.ИДФайлаЭлектронногоПисьма КАК ИДФайлаЭлектронногоПисьма
|
||||
|ИЗ
|
||||
| &ИмяТаблицыСправочника КАК Файлы
|
||||
@@ -3295,6 +3296,12 @@
|
||||
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ИмяТаблицыСправочника", "Справочник." + ИмяОбъектаМетаданных);
|
||||
|
||||
Если Метаданные.Справочники[ИмяОбъектаМетаданных].Реквизиты.Найти("Зашифрован") <> Неопределено Тогда
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Зашифрован", "Файлы.Зашифрован КАК Зашифрован");
|
||||
Иначе
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Зашифрован", "ЛОЖЬ КАК Зашифрован");
|
||||
КонецЕсли;
|
||||
|
||||
Запрос.УстановитьПараметр("ВладелецФайла", ВладелецФайлов);
|
||||
РезультатЗапроса = Запрос.ВыполнитьПакет();
|
||||
|
||||
@@ -3307,7 +3314,8 @@
|
||||
Пока ВыборкаВложения.Следующий() Цикл
|
||||
|
||||
ДобавитьВложениеПисьмоЕслиНеобходимо(ТаблицаПисьмаВложения, МассивВложений, НомерОтображаемогоВложения);
|
||||
ИмяФайла = ВыборкаВложения.ПолноеНаименование + ?(ВыборкаВложения.Расширение = "", "", "." + ВыборкаВложения.Расширение);
|
||||
ИмяФайла = ВыборкаВложения.ПолноеНаименование + ?(ВыборкаВложения.Расширение = "", "", "." + ВыборкаВложения.Расширение)
|
||||
+ ?(ВыборкаВложения.Зашифрован, "." + РасширениеДляЗашифрованныхФайлов(), "");
|
||||
|
||||
Если ПустаяСтрока(ВыборкаВложения.ИДФайлаЭлектронногоПисьма) Тогда
|
||||
ДобавитьВложение(МассивВложений, ИмяФайла, РаботаСФайлами.ДвоичныеДанныеФайла(ВыборкаВложения.Ссылка));
|
||||
@@ -8046,6 +8054,17 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция РасширениеДляЗашифрованныхФайлов()
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
|
||||
МодульЭлектроннаяПодпись = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодпись");
|
||||
Возврат МодульЭлектроннаяПодпись.ПерсональныеНастройки().РасширениеДляЗашифрованныхФайлов;
|
||||
Иначе
|
||||
Возврат "p7m";
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаменитьОтветственногоВДокументе(Взаимодействие, Ответственный) Экспорт
|
||||
|
||||
НачатьТранзакцию();
|
||||
|
||||
@@ -89,21 +89,7 @@
|
||||
Результат.Вставить("Версия", Информация.Реквизиты.Версия);
|
||||
БудетПодключенаКомпонентаИзМакета = Ложь;
|
||||
Если ИскатьКомпонентуПоследнейВерсии Тогда
|
||||
ЧастиВерсии = СтрРазделить(Результат.Версия, ".");
|
||||
Если ЧастиВерсии.Количество() = 4 Тогда
|
||||
// Версия внешней компоненты больше, чем версия макета.
|
||||
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Результат.Версия,
|
||||
Результат.КомпонентаПоследнейВерсии.Версия) > 0 Тогда
|
||||
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
|
||||
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
|
||||
Иначе
|
||||
БудетПодключенаКомпонентаИзМакета = Истина;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
// Если номер версии компоненты не соответствует шаблону, используется компонента из справочника.
|
||||
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
|
||||
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
|
||||
КонецЕсли;
|
||||
ЗаменитьНаАктуальнуюКомпонентуИзСправочника(Результат, Контекст.Идентификатор, Информация.Местоположение, БудетПодключенаКомпонентаИзМакета);
|
||||
КонецЕсли;
|
||||
|
||||
Если БудетПодключенаКомпонентаИзМакета
|
||||
@@ -183,23 +169,14 @@
|
||||
|
||||
Результат.Вставить("Версия", Информация.Реквизиты.Версия);
|
||||
|
||||
БудетПодключенаКомпонентаИзМакета = Ложь;
|
||||
Если ИскатьКомпонентуПоследнейВерсии Тогда
|
||||
ЧастиВерсии = СтрРазделить(Результат.Версия, ".");
|
||||
Если ЧастиВерсии.Количество() = 4 Тогда
|
||||
// Версия внешней компоненты больше, чем версия макета.
|
||||
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Результат.Версия,
|
||||
Результат.КомпонентаПоследнейВерсии.Версия) > 0 Тогда
|
||||
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
|
||||
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
// Если номер версии компоненты не соответствует шаблону, используется компонента из справочника.
|
||||
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение",
|
||||
Контекст.Идентификатор, Результат.Версия, Информация.Местоположение);
|
||||
КонецЕсли;
|
||||
ЗаменитьНаАктуальнуюКомпонентуИзСправочника(Результат, Контекст.Идентификатор, Информация.Местоположение, БудетПодключенаКомпонентаИзМакета);
|
||||
КонецЕсли;
|
||||
|
||||
Если Не Информация.ЗаполненыЦелевыеПлатформы Или ТекущийКлиентПоддерживаетсяКомпонентой(Информация.Реквизиты.ЦелевыеПлатформы) Тогда
|
||||
Если БудетПодключенаКомпонентаИзМакета
|
||||
Или Не Информация.ЗаполненыЦелевыеПлатформы
|
||||
Или ТекущийКлиентПоддерживаетсяКомпонентой(Информация.Реквизиты.ЦелевыеПлатформы) Тогда
|
||||
|
||||
Результат.Доступна = Истина;
|
||||
Возврат Результат;
|
||||
@@ -377,6 +354,23 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаменитьНаАктуальнуюКомпонентуИзСправочника(Результат, Идентификатор, Местоположение, БудетПодключенаКомпонентаИзМакета)
|
||||
|
||||
Если СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(СтрЗаменить(Результат.Версия, ".", "")) Тогда
|
||||
ЧастиВерсии = СтрРазделить(Результат.Версия, ".");
|
||||
Если ЧастиВерсии.Количество() = 4 И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Результат.Версия,
|
||||
Результат.КомпонентаПоследнейВерсии.Версия) <= 0 Тогда
|
||||
БудетПодключенаКомпонентаИзМакета = Истина;
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
// Используется компонента из справочника, если ее версия больше, чем версия макета, или не соответствует шаблону.
|
||||
Результат.КомпонентаПоследнейВерсии = Новый Структура("Идентификатор, Версия, Местоположение", Идентификатор,
|
||||
Результат.Версия, Местоположение);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Текущий клиент поддерживается компонентой.
|
||||
//
|
||||
// Параметры:
|
||||
|
||||
@@ -607,35 +607,35 @@
|
||||
+ Символы.ПС;
|
||||
|
||||
// Приведение данных в соответствие варианту встраивания.
|
||||
Для Каждого Строка Из ДанныеДляПроверки Цикл
|
||||
Для Каждого СтрокаТаблицы Из ДанныеДляПроверки Цикл
|
||||
|
||||
Если Строка.Раздел = Неопределено Тогда
|
||||
Строка.Раздел = ПустойРаздел;
|
||||
Если СтрокаТаблицы.Раздел = Неопределено Тогда
|
||||
СтрокаТаблицы.Раздел = ПустойРаздел;
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваРаздела = СвойстваРазделов.Разделы.Получить(Строка.Раздел); // см. ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.СвойстваРаздела
|
||||
СвойстваРаздела = СвойстваРазделов.Разделы.Получить(СтрокаТаблицы.Раздел); // см. ПланыВидовХарактеристик.РазделыДатЗапретаИзменения.СвойстваРаздела
|
||||
Если СвойстваРаздела = Неопределено Тогда
|
||||
ТекстОшибки = ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'В параметре %1 указан несуществующий раздел ""%2"".'"),
|
||||
"ДанныеДляПроверки",
|
||||
Строка.Раздел);
|
||||
СтрокаТаблицы.Раздел);
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваРазделов.БезРазделовИОбъектов Тогда
|
||||
Строка.Раздел = ПустойРаздел;
|
||||
Строка.Объект = ПустойРаздел;
|
||||
СтрокаТаблицы.Раздел = ПустойРаздел;
|
||||
СтрокаТаблицы.Объект = ПустойРаздел;
|
||||
Иначе
|
||||
Если ЗначениеЗаполнено(СвойстваРазделов.ЕдинственныйРаздел) Тогда
|
||||
Строка.Раздел = СвойстваРазделов.ЕдинственныйРаздел;
|
||||
СтрокаТаблицы.Раздел = СвойстваРазделов.ЕдинственныйРаздел;
|
||||
Иначе
|
||||
Строка.Раздел = СвойстваРаздела.Ссылка;
|
||||
СтрокаТаблицы.Раздел = СвойстваРаздела.Ссылка;
|
||||
КонецЕсли;
|
||||
|
||||
Если СвойстваРазделов.ВсеРазделыБезОбъектов
|
||||
Или Не ЗначениеЗаполнено(Строка.Объект) Тогда
|
||||
Или Не ЗначениеЗаполнено(СтрокаТаблицы.Объект) Тогда
|
||||
|
||||
Строка.Объект = Строка.Раздел;
|
||||
СтрокаТаблицы.Объект = СтрокаТаблицы.Раздел;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -650,10 +650,9 @@
|
||||
|
||||
Для Каждого РазделИОбъект Из РазделыИОбъекты Цикл
|
||||
ЗаполнитьЗначенияСвойств(Отбор, РазделИОбъект);
|
||||
Строки = ДанныеДляПроверки.НайтиСтроки(Отбор);
|
||||
МинимальнаяДата = Неопределено;
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
ТекущаяДата = НачалоДня(Строка.Дата);
|
||||
Для Каждого СтрокаТаблицы Из ДанныеДляПроверки.НайтиСтроки(Отбор) Цикл
|
||||
ТекущаяДата = НачалоДня(СтрокаТаблицы.Дата);
|
||||
Если МинимальнаяДата = Неопределено Тогда
|
||||
МинимальнаяДата = ТекущаяДата;
|
||||
КонецЕсли;
|
||||
@@ -850,9 +849,9 @@
|
||||
Таблица = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
НачалоДня = НачалоДня(ТекущаяДатаСеанса());
|
||||
Для Каждого Строка Из Таблица Цикл
|
||||
Строка.ДатаЗапрета = ДатаЗапретаПоОписанию(Строка.ОписаниеДатыЗапрета,
|
||||
Строка.ДатаЗапрета , НачалоДня);
|
||||
Для Каждого СтрокаТаблицы Из Таблица Цикл
|
||||
СтрокаТаблицы.ДатаЗапрета = ДатаЗапретаПоОписанию(СтрокаТаблицы.ОписаниеДатыЗапрета,
|
||||
СтрокаТаблицы.ДатаЗапрета , НачалоДня);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Таблица;
|
||||
@@ -1330,10 +1329,10 @@
|
||||
И ОбщегоНазначения.ЭтоРегистрСведений(ОбъектМетаданных) Тогда
|
||||
ЗначенияПолей.ЗаполнитьЗначения(Данные.Отбор.Регистратор.Значение, "Регистратор");
|
||||
КонецЕсли;
|
||||
Для Каждого Строка Из ЗначенияПолей Цикл
|
||||
Для Каждого СтрокаТаблицы Из ЗначенияПолей Цикл
|
||||
Для Каждого ИсточникДанных Из ИсточникиДанных.Состав Цикл
|
||||
// @skip-check query-in-loop - Цикл для исключения разыменования составного типа (стандарт 654)
|
||||
ДобавитьСтрокуДанных(Строка, Строка, ИсточникДанных, ДанныеДляПроверки, БезОбъекта);
|
||||
ДобавитьСтрокуДанных(СтрокаТаблицы, СтрокаТаблицы, ИсточникДанных, ДанныеДляПроверки, БезОбъекта);
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
@@ -1384,9 +1383,9 @@
|
||||
КонецЕсли;
|
||||
Значения = Данные[ИсточникДанных.ПолеДаты.ТабличнаяЧасть].Выгрузить(, Поля); // ТаблицаЗначений
|
||||
Значения.Свернуть(Поля);
|
||||
Для Каждого Строка Из Значения Цикл
|
||||
Для Каждого СтрокаТаблицы Из Значения Цикл
|
||||
// @skip-check query-in-loop - Цикл для исключения разыменования составного типа (стандарт 654)
|
||||
ДобавитьСтрокуДанных(Строка, Строка, ИсточникДанных, ДанныеДляПроверки, БезОбъекта);
|
||||
ДобавитьСтрокуДанных(СтрокаТаблицы, СтрокаТаблицы, ИсточникДанных, ДанныеДляПроверки, БезОбъекта);
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
Поле = ИсточникДанных.ПолеДаты.Имя;
|
||||
@@ -1582,9 +1581,9 @@
|
||||
|
||||
Выгрузка = РезультатыЗапроса[1].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
|
||||
ГруппыПользователей = Новый Соответствие;
|
||||
Для Каждого Строка Из Выгрузка.Строки Цикл
|
||||
ГруппыПользователей.Вставить(Строка.Пользователь,
|
||||
Новый ФиксированныйМассив(Строка.Строки.ВыгрузитьКолонку("ГруппаПользователей")));
|
||||
Для Каждого СтрокаТаблицы Из Выгрузка.Строки Цикл
|
||||
ГруппыПользователей.Вставить(СтрокаТаблицы.Пользователь,
|
||||
Новый ФиксированныйМассив(СтрокаТаблицы.Строки.ВыгрузитьКолонку("ГруппаПользователей")));
|
||||
КонецЦикла;
|
||||
ДействующиеДаты.Вставить("ГруппыПользователей", Новый ФиксированноеСоответствие(ГруппыПользователей));
|
||||
|
||||
@@ -2283,43 +2282,43 @@
|
||||
+ Символы.ПС
|
||||
+ Символы.ПС;
|
||||
|
||||
Для Каждого Строка Из Таблицы Цикл
|
||||
Для Каждого СтрокаТаблицы Из Таблицы Цикл
|
||||
ИсточникиТаблицы = Новый Структура;
|
||||
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(Строка.Таблица);
|
||||
ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(СтрокаТаблицы.Таблица);
|
||||
Если ОбъектМетаданных = Неопределено Тогда
|
||||
ТекстОшибки = ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для проверки запрета изменения в источнике данных неверно указана таблица
|
||||
|""%1"".'"),
|
||||
Строка.Таблица);
|
||||
СтрокаТаблицы.Таблица);
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
КонецЕсли;
|
||||
ЭтоРегистр = СтандартныеПодсистемыСервер.ЭтоТаблицаРегистра(Строка.Таблица);
|
||||
ЭтоРегистр = СтандартныеПодсистемыСервер.ЭтоТаблицаРегистра(СтрокаТаблицы.Таблица);
|
||||
ИсточникиТаблицы.Вставить("ЭтоРегистр", ЭтоРегистр);
|
||||
|
||||
ИсточникиДанныхТаблицы = ИсточникиДанных.НайтиСтроки(Новый Структура("Таблица", Строка.Таблица));
|
||||
ИсточникиДанныхТаблицы = ИсточникиДанных.НайтиСтроки(Новый Структура("Таблица", СтрокаТаблицы.Таблица));
|
||||
СоставИсточников = Новый Массив;
|
||||
ПоляРегистра = Новый Соответствие;
|
||||
ТекстЗапроса = "";
|
||||
ТекстЗапросаТолькоДаты = "";
|
||||
Таблица = ОбъектМетаданных.ПолноеИмя();
|
||||
|
||||
Для Каждого Строка Из ИсточникиДанныхТаблицы Цикл
|
||||
СвойстваРаздела = СвойстваРазделов.Разделы.Получить(Строка.Раздел);
|
||||
Для Каждого ИсточникДанныхТаблицы Из ИсточникиДанныхТаблицы Цикл
|
||||
СвойстваРаздела = СвойстваРазделов.Разделы.Получить(ИсточникДанныхТаблицы.Раздел);
|
||||
Если СвойстваРаздела = Неопределено Тогда
|
||||
ТекстОшибки = ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Для проверки запрета изменения в источнике данных указан несуществующий
|
||||
|раздел ""%1"" для таблицы ""%2""
|
||||
|(см. %3).'"),
|
||||
Строка.Раздел,
|
||||
Строка.Таблица,
|
||||
ИсточникДанныхТаблицы.Раздел,
|
||||
ИсточникДанныхТаблицы.Таблица,
|
||||
"ДатыЗапретаИзмененияПереопределяемый.ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения");
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
Источник = ОписаниеИсточникаДанных();
|
||||
Источник.Раздел = Строка.Раздел;
|
||||
Источник.ПолеДаты = ПолеТаблицы(Строка, "ПолеДаты", ОбъектМетаданных, ЭтоРегистр);
|
||||
Источник.ПолеОбъекта = ПолеТаблицы(Строка, "ПолеОбъекта", ОбъектМетаданных, ЭтоРегистр);
|
||||
Источник.Раздел = ИсточникДанныхТаблицы.Раздел;
|
||||
Источник.ПолеДаты = ПолеТаблицы(ИсточникДанныхТаблицы, "ПолеДаты", ОбъектМетаданных, ЭтоРегистр);
|
||||
Источник.ПолеОбъекта = ПолеТаблицы(ИсточникДанныхТаблицы, "ПолеОбъекта", ОбъектМетаданных, ЭтоРегистр);
|
||||
|
||||
Если ЭтоРегистр Тогда
|
||||
ПоляРегистра.Вставить(Источник.ПолеДаты.Имя, Истина);
|
||||
@@ -2702,10 +2701,9 @@
|
||||
ДополнительныеНастройки = Настройки.НайтиСтроки(Отбор);
|
||||
Иначе
|
||||
Отбор = Новый Структура("Пользователь", Адресат);
|
||||
Строки = ГруппыПользователей.НайтиСтроки(Отбор);
|
||||
ДополнительныеНастройки = Настройки.Скопировать(Новый Массив);
|
||||
Для Каждого Строка Из Строки Цикл
|
||||
Отбор = Новый Структура("Пользователь", Строка.ГруппаПользователей);
|
||||
Для Каждого СтрокаТаблицы Из ГруппыПользователей.НайтиСтроки(Отбор) Цикл
|
||||
Отбор = Новый Структура("Пользователь", СтрокаТаблицы.ГруппаПользователей);
|
||||
НастройкиГруппы = Настройки.НайтиСтроки(Отбор);
|
||||
Для Каждого НастройкаГруппы Из НастройкиГруппы Цикл
|
||||
Отбор = Новый Структура("Раздел, Объект", НастройкаГруппы.Раздел, НастройкаГруппы.Объект);
|
||||
@@ -2723,14 +2721,14 @@
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Строка Из ДополнительныеНастройки Цикл
|
||||
Для Каждого ДополнительнаяНастройка Из ДополнительныеНастройки Цикл
|
||||
Отбор = Новый Структура("Пользователь, Раздел, Объект",
|
||||
АдресатНастроек.Пользователь, Строка.Раздел, Строка.Объект);
|
||||
АдресатНастроек.Пользователь, ДополнительнаяНастройка.Раздел, ДополнительнаяНастройка.Объект);
|
||||
Если Настройки.НайтиСтроки(Отбор).Количество() > 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
НоваяСтрока = НаборЗаписей.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, ДополнительнаяНастройка);
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, АдресатНастроек);
|
||||
ЗаполнитьЗначенияСвойств(Настройки.Добавить(), НоваяСтрока);
|
||||
КонецЦикла;
|
||||
|
||||
@@ -402,7 +402,8 @@
|
||||
// Если задано 0, то ждать завершения задания не требуется.
|
||||
// По умолчанию - 0.8 секунды, а для низкой скорости соединения - 4.
|
||||
// * НаименованиеФоновогоЗадания - Строка - описание фонового задания. По умолчанию - имя процедуры.
|
||||
// * КлючФоновогоЗадания - Строка - уникальный ключ для активных фоновых заданий, имеющих такое же имя процедуры.
|
||||
// * КлючФоновогоЗадания - Строка - уникальный ключ активных фоновых заданий с одинаковым именем процедуры,
|
||||
// чтобы в приложении нельзя было запустить более одного задания одновременно.
|
||||
// По умолчанию не задан.
|
||||
// * АдресРезультата - Строка - адрес временного хранилища, в которое должен быть помещен результат
|
||||
// работы процедуры. Если не задан, адрес формируется автоматически.
|
||||
@@ -426,7 +427,7 @@
|
||||
// внешнего отчета или обработки соответственно.
|
||||
// Внешний отчет или обработка подключаются с защитой от опасных действий.
|
||||
// * ПрерватьВыполнениеЕслиОшибка - Булево - если Истина, то при возникновении ошибки в одном из дочерних фоновых
|
||||
// заданий, выполнение многопоточного фонового задания будет перервано.
|
||||
// заданий, выполнение многопоточного фонового задания будет прервано.
|
||||
// Выполнение уже запущенных дочерних фоновых задания будет отменно.
|
||||
// Параметр только для функции ВыполнитьФункциюВНесколькоПотоков.
|
||||
// * УточнениеОшибки - Строка - если не пустая строка, тогда для пользователя текст ошибки
|
||||
@@ -480,7 +481,7 @@
|
||||
// внешнего отчета или обработки соответственно.
|
||||
// Внешний отчет или обработка подключаются с защитой от опасных действий.
|
||||
// * ПрерватьВыполнениеЕслиОшибка - Булево - если Истина, то при возникновении ошибки в одном из дочерних фоновых
|
||||
// заданий, выполнение многопоточного фонового задания будет перервано.
|
||||
// заданий, выполнение многопоточного фонового задания будет прервано.
|
||||
// Выполнение уже запущенных дочерних фоновых задания будет отменно.
|
||||
// Параметр только для функции ВыполнитьПроцедуруВНесколькоПотоков.
|
||||
// * УточнениеОшибки - Строка - если не пустая строка, тогда для пользователя текст ошибки
|
||||
|
||||
@@ -598,8 +598,8 @@
|
||||
НоваяКолонка.Заголовок = НоваяКолонка.Имя;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Для Каждого Строка Из Данные Цикл
|
||||
ЗаполнитьЗначенияСвойств(Таблица.Добавить(), Строка);
|
||||
Для Каждого СтрокаТаблицы Из Данные Цикл
|
||||
ЗаполнитьЗначенияСвойств(Таблица.Добавить(), СтрокаТаблицы);
|
||||
КонецЦикла;
|
||||
|
||||
Копия = Таблица.Скопировать();
|
||||
@@ -619,10 +619,10 @@
|
||||
КонецЦикла;
|
||||
Строки.Добавить("| " + СтрСоединить(ЧастиСтроки, " | ") + " |");
|
||||
|
||||
Для Каждого Строка Из Таблица Цикл
|
||||
Для Каждого СтрокаТаблицы Из Таблица Цикл
|
||||
ЧастиСтроки = Новый Массив;
|
||||
Для Каждого Колонка Из Таблица.Колонки Цикл
|
||||
ЧастиСтроки.Добавить(Сред(Строка[Колонка.Имя] + СимволыОтступа, 1, Колонка.Ширина));
|
||||
ЧастиСтроки.Добавить(Сред(СтрокаТаблицы[Колонка.Имя] + СимволыОтступа, 1, Колонка.Ширина));
|
||||
КонецЦикла;
|
||||
Строки.Добавить("| " + СтрСоединить(ЧастиСтроки, " | ") + " |");
|
||||
КонецЦикла;
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
//
|
||||
// Параметры:
|
||||
// Таблица - ТаблицаЗначений - ОписаниеТабличнойЧасти с колонками.
|
||||
// - ДанныеФормыКоллекция - таблица размещенная на форме
|
||||
// - Строка - для получения списка колонок табличной части
|
||||
// необходимо указать его полное имя строкой, как в метаданных, например "Документы.СчетНаОплату.ТабличныеЧасти.Товары".
|
||||
// Колонки - Строка - список извлекаемых колонок, разделенный запятыми. Например: "Номер, Товар, Количество".
|
||||
@@ -63,10 +64,11 @@
|
||||
КонецЦикла;
|
||||
|
||||
НоваяКолонка = ЗагрузкаДанныхИзФайлаКлиентСервер.ОписаниеКолонкиМакета(Колонка.Имя, Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина, Подсказка);
|
||||
|
||||
НоваяКолонка.Позиция = Позиция;
|
||||
СписокКолонок.Добавить(НоваяКолонка);
|
||||
|
||||
Позиция = Позиция + 1;
|
||||
|
||||
КонецЦикла;
|
||||
ИначеЕсли ТипЗнч(ВнутренняяТаблица) = Тип("Строка") Тогда
|
||||
Объект = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(ВнутренняяТаблица); // ОбъектМетаданныхСправочник, ОбъектМетаданныхДокумент
|
||||
@@ -74,14 +76,17 @@
|
||||
Если ИзвлекатьНеВсеКолонки И СписокКолонокДляИзвлечения.Найти(Колонка.Имя) = Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
НоваяКолонка = ЗагрузкаДанныхИзФайлаКлиентСервер.ОписаниеКолонкиМакета(Колонка.Имя, Колонка.Тип, Колонка.Представление());
|
||||
НоваяКолонка.Подсказка = Колонка.Подсказка;
|
||||
НоваяКолонка.Ширина = 30;
|
||||
НоваяКолонка.Позиция = Позиция;
|
||||
СписокКолонок.Добавить(НоваяКолонка);
|
||||
|
||||
Позиция = Позиция + 1;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СписокКолонок;
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -16,19 +16,22 @@
|
||||
// в виде "ИмяДокумента.ИмяТабличнойЧасти".
|
||||
// * Заголовок - Строка - заголовок формы загрузки данных из файла.
|
||||
// * ИмяМакетаСШаблоном - Строка - имя макета с шаблоном для ввода данных.
|
||||
// * Представление - Строка - заголовок окна в форме загрузке данных.
|
||||
// * ДополнительныеПараметры - Произвольный - любые дополнительные сведения, которые будут переданы
|
||||
// * ДополнительныеПараметры - Структура - любые дополнительные сведения, которые будут переданы
|
||||
// в процедуру сопоставления данных.
|
||||
// * КолонкиМакета - Массив из см. ЗагрузкаДанныхИзФайлаКлиентСервер.ОписаниеКолонкиМакета
|
||||
// - Неопределено - если описание колонок для макета загрузки данных из файла отсутствует.
|
||||
//
|
||||
Функция ПараметрыЗагрузкиДанных() Экспорт
|
||||
ПараметрыЗагрузки = Новый Структура();
|
||||
ПараметрыЗагрузки.Вставить("ПолноеИмяТабличнойЧасти");
|
||||
ПараметрыЗагрузки.Вставить("Заголовок");
|
||||
ПараметрыЗагрузки.Вставить("ИмяМакетаСШаблоном");
|
||||
ПараметрыЗагрузки.Вставить("ДополнительныеПараметры");
|
||||
ПараметрыЗагрузки.Вставить("КолонкиМакета");
|
||||
|
||||
ПараметрыЗагрузки = Новый Структура;
|
||||
ПараметрыЗагрузки.Вставить("ПолноеИмяТабличнойЧасти", "");
|
||||
ПараметрыЗагрузки.Вставить("Заголовок", "");
|
||||
ПараметрыЗагрузки.Вставить("ИмяМакетаСШаблоном", "");
|
||||
ПараметрыЗагрузки.Вставить("ДополнительныеПараметры", Новый Структура);
|
||||
ПараметрыЗагрузки.Вставить("КолонкиМакета", Неопределено);
|
||||
|
||||
Возврат ПараметрыЗагрузки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Открывает форму загрузки данных для заполнения табличной части.
|
||||
|
||||
@@ -23,20 +23,25 @@
|
||||
// * Заголовок - Строка - заголовок колонки выводимый в бланке для загрузки.
|
||||
// * Тип - ОписаниеТипов - тип колонки.
|
||||
// * Ширина - Число - ширина колонки.
|
||||
// * Позиция - Число - позиция колонки в таблице
|
||||
// * Подсказка - Строка - подсказка выводимая в заголовке колонки.
|
||||
// * ОбязательнаяДляЗаполнения - Булево - истина, если колонка обязательно должна содержать значения.
|
||||
// * ОбязательнаДляЗаполнения - Булево - истина, если колонка обязательно должна содержать значения.
|
||||
// * Группа - Строка - имя группы колонок.
|
||||
// * Родитель - Строка - используется для связи динамической колонки с реквизитом табличной части объекта.
|
||||
//
|
||||
Функция ОписаниеКолонкиМакета(Имя, Тип, Заголовок = Неопределено, Ширина = 0, Подсказка = "") Экспорт
|
||||
|
||||
КолонкаМакета = Новый Структура("Имя, Тип, Заголовок, Ширина, Позиция, Подсказка, ОбязательнаДляЗаполнения, Группа, Родитель");
|
||||
КолонкаМакета.Имя = Имя;
|
||||
КолонкаМакета.Тип = Тип;
|
||||
КолонкаМакета.Заголовок = ?(ЗначениеЗаполнено(Заголовок), Заголовок, Имя);
|
||||
КолонкаМакета.Ширина = ?(Ширина = 0, 30, Ширина);
|
||||
КолонкаМакета.Подсказка = Подсказка;
|
||||
КолонкаМакета.Родитель = Имя;
|
||||
КолонкаМакета = Новый Структура;
|
||||
|
||||
КолонкаМакета.Вставить("Имя", Имя);
|
||||
КолонкаМакета.Вставить("Заголовок", ?(ЗначениеЗаполнено(Заголовок), Строка(Заголовок), Имя));
|
||||
КолонкаМакета.Вставить("Тип", Тип);
|
||||
КолонкаМакета.Вставить("Позиция", 0);
|
||||
КолонкаМакета.Вставить("Ширина", ?(Ширина = 0, 30, Ширина));
|
||||
КолонкаМакета.Вставить("Подсказка", Подсказка);
|
||||
КолонкаМакета.Вставить("ОбязательнаДляЗаполнения", Ложь);
|
||||
КолонкаМакета.Вставить("Группа", "");
|
||||
КолонкаМакета.Вставить("Родитель", Имя);
|
||||
|
||||
Возврат КолонкаМакета;
|
||||
|
||||
@@ -49,7 +54,7 @@
|
||||
// СписокКолонок - Массив из см. ЗагрузкаДанныхИзФайлаКлиентСервер.ОписаниеКолонкиМакета
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// см. ОписаниеКолонкиМакета
|
||||
// - см. ОписаниеКолонкиМакета
|
||||
// - Неопределено - если колонка не существует.
|
||||
//
|
||||
Функция КолонкаМакета(Имя, СписокКолонок) Экспорт
|
||||
|
||||
@@ -1233,6 +1233,16 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьПрефиксИнформационнойБазыИОрганизации(Источник, СтандартнаяОбработка, Префикс) Экспорт
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрефиксацияОбъектов") Тогда
|
||||
МодульПрефиксацияОбъектовСобытия = ОбщегоНазначения.ОбщийМодуль("ПрефиксацияОбъектовСобытия");
|
||||
МодульПрефиксацияОбъектовСобытия.УстановитьПрефиксИнформационнойБазыИОрганизации(Источник, СтандартнаяОбработка,
|
||||
Префикс);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СрокиХранения
|
||||
|
||||
@@ -824,6 +824,11 @@
|
||||
МодульЭлектроннаяПодписьСлужебный.ПриОпределенииОбработчиковПоставляемыхДанных(Обработчики);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодписьСервисаDSS") Тогда
|
||||
МодульСервисКриптографииDSSСлужебный = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSСлужебный");
|
||||
МодульСервисКриптографииDSSСлужебный.ПриОпределенииОбработчиковПоставляемыхДанных(Обработчики);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -3891,6 +3896,11 @@
|
||||
МодульЗащитаПерсональныхДанных.ПриОпределенииОбъектовСКомандамиСозданияНаОсновании(Объекты);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
|
||||
МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенностиФНССлужебный");
|
||||
МодульМашиночитаемыеДоверенностиФНССлужебный.ПриОпределенииОбъектовСКомандамиСозданияНаОсновании(Объекты);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
|
||||
МодульРаботаСФайламиСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаСФайламиСлужебный");
|
||||
МодульРаботаСФайламиСлужебный.ПриОпределенииОбъектовСКомандамиСозданияНаОсновании(Объекты);
|
||||
|
||||
@@ -1483,7 +1483,7 @@
|
||||
КонецФункции
|
||||
|
||||
// Определяет для переданной даты ближайший к ней рабочий день по данным основного производственного календаря РФ,
|
||||
// заполненного по умолчанию.
|
||||
// заполненного по умолчанию. Если НачальнаяДата является рабочей датой, то она же и возвращается.
|
||||
// Используется в случаях, когда производственный календарь еще не заполнен.
|
||||
//
|
||||
// Параметры:
|
||||
@@ -1507,13 +1507,18 @@
|
||||
Если ДанныеКалендаряПоУмолчанию.Найти(Год, "Год") = Неопределено Тогда
|
||||
ДополнитьДанныеКалендаряПоУмолчанию(ДанныеКалендаряПоУмолчанию, Год, ПолучатьПредшествующую);
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаТаблицы = ДанныеКалендаряПоУмолчанию.Найти(НачальнаяДата, "Дата");
|
||||
Если СтрокаТаблицы = Неопределено Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
Если СтрокаТаблицы.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий
|
||||
Или СтрокаТаблицы.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный Тогда
|
||||
Возврат СтрокаТаблицы.Дата;
|
||||
КонецЕсли;
|
||||
|
||||
Индекс = ДанныеКалендаряПоУмолчанию.Индекс(СтрокаТаблицы);
|
||||
ДобавляемоеЗначение = ?(ПолучатьПредшествующую, -1, 1);
|
||||
|
||||
Пока Истина Цикл
|
||||
Индекс = Индекс + 1;
|
||||
Если Индекс >= ДанныеКалендаряПоУмолчанию.Количество() Тогда
|
||||
|
||||
@@ -192,9 +192,9 @@
|
||||
Функция СтрокаРезультатовПоиска(ДеревоПолей, СоздаватьСтроку = Истина) Экспорт
|
||||
СтрокаРезультатовПоиска = Неопределено;
|
||||
ЭлементыДереваПолей = ДеревоПолей.ПолучитьЭлементы();
|
||||
Для Каждого Строка Из ЭлементыДереваПолей Цикл
|
||||
Если Строка.ПутьКДанным = "<СтрокаРезультатовПоиска>" Тогда
|
||||
СтрокаРезультатовПоиска = Строка;
|
||||
Для Каждого СтрокаТаблицы Из ЭлементыДереваПолей Цикл
|
||||
Если СтрокаТаблицы.ПутьКДанным = "<СтрокаРезультатовПоиска>" Тогда
|
||||
СтрокаРезультатовПоиска = СтрокаТаблицы;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -384,11 +384,11 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура УстановитьИдентификаторыСтрокДерева(Коллекция)
|
||||
Для Каждого Строка Из Коллекция.Строки Цикл
|
||||
Если Не ЗначениеЗаполнено(Строка.Идентификатор) Тогда
|
||||
Строка.Идентификатор = Новый УникальныйИдентификатор();
|
||||
Для Каждого СтрокаТаблицы Из Коллекция.Строки Цикл
|
||||
Если Не ЗначениеЗаполнено(СтрокаТаблицы.Идентификатор) Тогда
|
||||
СтрокаТаблицы.Идентификатор = Новый УникальныйИдентификатор();
|
||||
КонецЕсли;
|
||||
УстановитьИдентификаторыСтрокДерева(Строка);
|
||||
УстановитьИдентификаторыСтрокДерева(СтрокаТаблицы);
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -4427,13 +4427,13 @@
|
||||
|
||||
Процедура УдалитьРезультатыПредыдущейПроверки(РезультатПоследнейПроверки)
|
||||
|
||||
Для Каждого Строка Из РезультатПоследнейПроверки Цикл
|
||||
Для Каждого СтрокаТаблицы Из РезультатПоследнейПроверки Цикл
|
||||
Набор = РегистрыСведений.РезультатыПроверкиУчета.СоздатьНаборЗаписей();
|
||||
Набор.Отбор.ПроблемныйОбъект.Установить(Строка.ПроблемныйОбъект);
|
||||
Набор.Отбор.ПравилоПроверки.Установить(Строка.ПравилоПроверки);
|
||||
Набор.Отбор.ВидПроверки.Установить(Строка.ВидПроверки);
|
||||
Набор.Отбор.КлючУникальности.Установить(Строка.КлючУникальности);
|
||||
Набор.Отбор.ИгнорироватьПроблему.Установить(Строка.ИгнорироватьПроблему);
|
||||
Набор.Отбор.ПроблемныйОбъект.Установить(СтрокаТаблицы.ПроблемныйОбъект);
|
||||
Набор.Отбор.ПравилоПроверки.Установить(СтрокаТаблицы.ПравилоПроверки);
|
||||
Набор.Отбор.ВидПроверки.Установить(СтрокаТаблицы.ВидПроверки);
|
||||
Набор.Отбор.КлючУникальности.Установить(СтрокаТаблицы.КлючУникальности);
|
||||
Набор.Отбор.ИгнорироватьПроблему.Установить(СтрокаТаблицы.ИгнорироватьПроблему);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Набор.Записать();
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
СвойстваСубъекта = ЭлектроннаяПодпись.СвойстваСубъектаСертификата(Сертификат);
|
||||
|
||||
Отбор = Новый Структура;
|
||||
|
||||
Если ЗначениеЗаполнено(СвойстваСубъекта.ОГРНИП) Тогда
|
||||
@@ -84,14 +85,20 @@
|
||||
Отбор.Вставить(Префикс + "ИННФЛ", СвойстваСубъекта.ИНН);
|
||||
Отбор.Вставить(Префикс + "ИНН", СвойстваСубъекта.ИННЮЛ);
|
||||
Отбор.Вставить(Префикс + "СНИЛС", СвойстваСубъекта.СНИЛС);
|
||||
ИначеЕсли ЗначениеЗаполнено(СвойстваСубъекта.Организация) Тогда
|
||||
ИначеЕсли ЗначениеЗаполнено(СвойстваСубъекта.Организация) Тогда // Казначейство
|
||||
Отбор.Вставить(Префикс + "НаименованиеОрганизации", СвойстваСубъекта.Организация);
|
||||
Отбор.Вставить(Префикс + "ИННФЛ", СвойстваСубъекта.ИНН);
|
||||
Отбор.Вставить(Префикс + "СНИЛС", СвойстваСубъекта.СНИЛС);
|
||||
Иначе
|
||||
СвойстваИздателя = ЭлектроннаяПодпись.СвойстваИздателяСертификата(Сертификат);
|
||||
Если МашиночитаемыеДоверенностиФНССлужебный.СертификатНотариуса(СвойстваИздателя, СвойстваСубъекта) Тогда
|
||||
Отбор.Вставить(Префикс + "ФИО", СвойстваСубъекта.Фамилия + " " + СвойстваСубъекта.Имя + ?(ЗначениеЗаполнено(
|
||||
СвойстваСубъекта.Отчество), " " + СвойстваСубъекта.Отчество, ""));
|
||||
Иначе
|
||||
Отбор.Вставить(Префикс + "ИННФЛ", СвойстваСубъекта.ИНН);
|
||||
Отбор.Вставить(Префикс + "СНИЛС", СвойстваСубъекта.СНИЛС);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Отбор;
|
||||
|
||||
|
||||
@@ -228,9 +228,11 @@
|
||||
Если Проверка.Верна <> Истина И ЗначениеЗаполнено(Проверка.ТекстПроверки) И Не Результат.СтатусВернаУстановленВручную Тогда
|
||||
|
||||
Элемент.УстановитьДействие("ОбработкаНавигационнойСсылки", "Подключаемый_ОбработкаНавигационнойСсылки");
|
||||
Элемент.Заголовок = СтроковыеФункции.ФорматированнаяСтрока("<a href = ""%1"">%2</a>", Проверка.ТекстПроверки, Проверка.ЗаголовокПроверки);
|
||||
|
||||
Элемент = Форма.Элементы.Добавить("ТекстПроверки" + ПолеВывода + Индекс, Тип("ДекорацияФормы"), ГруппаПроверка);
|
||||
ИмяЭлементаНадписи = "ТекстПроверки" + ПолеВывода + Индекс;
|
||||
Элемент.Заголовок = СтроковыеФункции.ФорматированнаяСтрока("<a href = ""%1"">%2</a>", ИмяЭлементаНадписи, Проверка.ЗаголовокПроверки);
|
||||
|
||||
Элемент = Форма.Элементы.Добавить(ИмяЭлементаНадписи, Тип("ДекорацияФормы"), ГруппаПроверка);
|
||||
Элемент.Вид = ВидДекорацииФормы.Надпись;
|
||||
Элемент.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(Проверка.ТекстПроверки);
|
||||
Элемент.АвтоМаксимальнаяШирина = Ложь;
|
||||
@@ -699,10 +701,27 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. СозданиеНаОснованииПереопределяемый.ПриОпределенииОбъектовСКомандамиСозданияНаОсновании.
|
||||
Процедура ПриОпределенииОбъектовСКомандамиСозданияНаОсновании(Объекты) Экспорт
|
||||
|
||||
Объекты.Добавить(Метаданные.Справочники.МашиночитаемыеДоверенности);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция СертификатВыданФНС(СвойстваИздателя)
|
||||
Возврат СвойстваИздателя.ОГРН = "1047707030513";
|
||||
КонецФункции
|
||||
|
||||
Функция СертификатНотариуса(СвойстваИздателя, СвойстваСубъекта) Экспорт
|
||||
Возврат СертификатВыданФНС(СвойстваИздателя) И ЗначениеЗаполнено(СвойстваСубъекта.Должность)
|
||||
И Не ЗначениеЗаполнено(СвойстваСубъекта.ОГРНИП)
|
||||
И Не ЗначениеЗаполнено(СвойстваСубъекта.ИННЮЛ);
|
||||
КонецФункции
|
||||
|
||||
Процедура ОчиститьНеобязательныеРеквизиты(Реквизиты, Список)
|
||||
Для Каждого Элемент Из Список Цикл
|
||||
|
||||
@@ -952,6 +971,30 @@
|
||||
|
||||
ОтборПоСертификату = МашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату(Сертификат, "");
|
||||
|
||||
Нотариус = ДанныеДоверенности.Найти(Перечисления.ТипыУчастниковМЧД.Нотариус, "ТипУчастника");
|
||||
|
||||
Если Нотариус <> Неопределено Тогда
|
||||
|
||||
Если ПроверятьНаличиеИДублиПодписи И Нотариус.Подписана Тогда
|
||||
Возврат НСтр("ru='Доверенность уже подписана, удалите подпись, чтобы добавить снова.'");
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого КлючИЗначение Из ОтборПоСертификату Цикл
|
||||
Ключ = КлючИЗначение.Ключ;
|
||||
Если Нотариус[Ключ] <> КлючИЗначение.Значение Тогда
|
||||
Ошибки.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='%1 %2 <> %3'"), Ключ, Нотариус[Ключ], КлючИЗначение.Значение));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если Ошибки.Количество() > 0 Тогда
|
||||
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Не совпадают данные нотариуса и сертификата:
|
||||
|%1'"), СтрСоединить(Ошибки, ", "));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Истина;
|
||||
Иначе
|
||||
Совпадает = Истина;
|
||||
Для Каждого Строка Из ДанныеДоверенности Цикл
|
||||
|
||||
@@ -1030,19 +1073,22 @@
|
||||
|
||||
Возврат КоличествоДоверителей = ДанныеДоверенности.СертификатПодписиПодходит + 1;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДанныеДоверителей(Доверенность)
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
"ВЫБРАТЬ
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации КАК НаименованиеОрганизации,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО КАК ФИО,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН КАК ИНН,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ КАК ИННФЛ,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.ОГРН КАК ОГРН,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС КАК СНИЛС,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника,
|
||||
| МашиночитаемыеДоверенностиСтатусы.Подписана КАК Подписана
|
||||
|ИЗ
|
||||
| РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
@@ -1050,7 +1096,27 @@
|
||||
| ПО МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность = МашиночитаемыеДоверенностиСтатусы.МашиночитаемаяДоверенность
|
||||
|ГДЕ
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность = &МашиночитаемаяДоверенность
|
||||
| И МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)";
|
||||
| И МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Доверитель)
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.НаименованиеОрганизации КАК НаименованиеОрганизации,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.ФИО КАК ФИО,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.ИНН КАК ИНН,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.ИННФЛ КАК ИННФЛ,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.ОГРН КАК ОГРН,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.СНИЛС КАК СНИЛС,
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника,
|
||||
| МашиночитаемыеДоверенностиСтатусы.Подписана КАК Подписана
|
||||
|ИЗ
|
||||
| РегистрСведений.МашиночитаемыеДоверенностиПредставителиИДоверители КАК МашиночитаемыеДоверенностиПредставителиИДоверители
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МашиночитаемыеДоверенностиСтатусы КАК МашиночитаемыеДоверенностиСтатусы
|
||||
| ПО МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность = МашиночитаемыеДоверенностиСтатусы.МашиночитаемаяДоверенность
|
||||
|ГДЕ
|
||||
| МашиночитаемыеДоверенностиПредставителиИДоверители.МашиночитаемаяДоверенность = &МашиночитаемаяДоверенность
|
||||
| И МашиночитаемыеДоверенностиПредставителиИДоверители.ТипУчастника = ЗНАЧЕНИЕ(Перечисление.ТипыУчастниковМЧД.Нотариус)";
|
||||
|
||||
Запрос.УстановитьПараметр("МашиночитаемаяДоверенность", Доверенность);
|
||||
|
||||
Возврат Запрос.Выполнить().Выгрузить();
|
||||
@@ -1102,6 +1168,8 @@
|
||||
ДанныеДоверенности.Колонки.Добавить("СертификатПодходит", Новый ОписаниеТипов("Булево"));
|
||||
УстановленныеПодписи = ЭлектроннаяПодпись.УстановленныеПодписи(ФайлДоверенности);
|
||||
|
||||
Нотариус = ДанныеДоверенности.Найти(Перечисления.ТипыУчастниковМЧД.Нотариус, "ТипУчастника");
|
||||
|
||||
ДвоичныеДанные = Неопределено;
|
||||
АдресДанныхДоверенности = Неопределено;
|
||||
|
||||
@@ -1174,6 +1242,28 @@
|
||||
|
||||
ОтборПоСертификату = МашиночитаемыеДоверенностиФНС.ОтборДляДоверенностейПоСертификату(Сертификат, "");
|
||||
Ошибки = Новый Массив;
|
||||
|
||||
Если Нотариус <> Неопределено Тогда
|
||||
ОшибкиПоСтроке = Новый Массив;
|
||||
Для Каждого КлючИЗначение Из ОтборПоСертификату Цикл
|
||||
Ключ = КлючИЗначение.Ключ;
|
||||
Если Нотариус[Ключ] <> КлючИЗначение.Значение Тогда
|
||||
ОшибкиПоСтроке.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='%1 %2 <> %3'"), Ключ, Нотариус[Ключ], КлючИЗначение.Значение));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если ОшибкиПоСтроке.Количество() > 0 Тогда
|
||||
Ошибки.Добавить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Не совпадают данные нотариуса и сертификата:
|
||||
|%1'"), СтрСоединить(ОшибкиПоСтроке, ", ")));
|
||||
Соответствует = Ложь;
|
||||
Иначе
|
||||
Нотариус.СертификатПодходит = Истина;
|
||||
Соответствует = Истина;
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
|
||||
Соответствует = Ложь;
|
||||
|
||||
Для Каждого Строка Из ДанныеДоверенности Цикл
|
||||
@@ -1206,26 +1296,39 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
РезультатПроверкиПодписиДоверенности.Соответствует = Соответствует;
|
||||
Если Не Соответствует Тогда
|
||||
РезультатПроверкиПодписиДоверенности.ТекстОшибкиСоответствия = СтрСоединить(Ошибки, ",");
|
||||
КонецЕсли;
|
||||
|
||||
РезультатПроверкиПодписей.Добавить(РезультатПроверкиПодписиДоверенности);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
РезультатПроверкиПодписейДоверенности.ЕстьВсеПодписи = УстановленныеПодписи.Количество() > 0 И Ошибки.Количество() = 0;
|
||||
|
||||
Если Не РезультатПроверкиПодписейДоверенности.ЕстьВсеПодписи Тогда
|
||||
|
||||
Если Нотариус <> Неопределено Тогда
|
||||
РезультатПроверкиПодписейДоверенности.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Нет подписи нотариуса %1'"), Нотариус.ФИО);
|
||||
Иначе
|
||||
|
||||
Ошибки = Новый Массив;
|
||||
|
||||
Для Каждого Строка Из ДанныеДоверенности Цикл
|
||||
Если Не Строка.СертификатПодходит Тогда
|
||||
Ошибки.Добавить(Строка.ФИО);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
РезультатПроверкиПодписейДоверенности.ЕстьВсеПодписи = Ошибки.Количество() = 0;
|
||||
Если Не РезультатПроверкиПодписейДоверенности.ЕстьВсеПодписи Тогда
|
||||
РезультатПроверкиПодписейДоверенности.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru='Нет подписей доверителей: %1'"), СтрСоединить(Ошибки, ","));
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
РезультатПроверкиПодписейДоверенности.РезультатыПроверкиПодписей = РезультатПроверкиПодписей;
|
||||
|
||||
Возврат РезультатПроверкиПодписейДоверенности;
|
||||
@@ -2226,8 +2329,6 @@
|
||||
|
||||
Процедура УстановитьУсловноеОформление(Форма) Экспорт
|
||||
|
||||
Форма.УсловноеОформление.Элементы.Очистить();
|
||||
|
||||
ЭлементУсловногоОформления = Форма.УсловноеОформление.Элементы.Добавить();
|
||||
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь);
|
||||
|
||||
@@ -2379,6 +2480,30 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция РеквизитыНотариальнойДоверенности() Экспорт
|
||||
|
||||
Структура = Новый Структура;
|
||||
Структура.Вставить("Нотариус");
|
||||
Структура.Вставить("ИсполняющийОбязанностиНотариуса");
|
||||
Структура.Вставить("МестоСовершения");
|
||||
|
||||
Возврат Структура;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция РеквизитыНотариуса() Экспорт
|
||||
|
||||
Структура = Новый Структура;
|
||||
Структура.Вставить("Должность");
|
||||
Структура.Вставить("РегистрационныйНомер");
|
||||
Структура.Вставить("Фамилия");
|
||||
Структура.Вставить("Имя");
|
||||
Структура.Вставить("Отчество");
|
||||
|
||||
Возврат Структура;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область РаботаСРаспределеннымРеестром
|
||||
|
||||
Функция СвойстваСервераМЧДРР()
|
||||
@@ -2772,7 +2897,7 @@
|
||||
УбратьИнформациюОДоступе(АдресРесурса, Заголовки);
|
||||
RestЗапрос = RestПредставлениеЗапроса(Запрос, СоединениеHTTP);
|
||||
ДанныеФайла = ПолучитьДвоичныеДанныеИзСтроки(RestЗапрос);
|
||||
ДобавитьФайлДляРасследования(ДополнительныеФайлы, ДанныеФайла, НСтр("ru='Запрос http'"), "rest");
|
||||
ДобавитьФайлДляРасследования(ДополнительныеФайлы, ДанныеФайла, НСтр("ru='Запрос http'"), "txt");
|
||||
КонецЕсли;
|
||||
|
||||
Если Ответ <> Неопределено Тогда
|
||||
@@ -2783,7 +2908,7 @@
|
||||
СтруктураЗначения.Вставить("Заголовки", Заголовки);
|
||||
СтруктураЗначения.Вставить("Тело", Ответ.ПолучитьТелоКакСтроку());
|
||||
ДанныеФайла = ПолучитьДвоичныеДанныеИзСтроки(ОбщегоНазначения.ЗначениеВJSON(СтруктураЗначения));
|
||||
ДобавитьФайлДляРасследования(ДополнительныеФайлы, ДанныеФайла, НСтр("ru='Ответ http'"), "json");
|
||||
ДобавитьФайлДляРасследования(ДополнительныеФайлы, ДанныеФайла, НСтр("ru='Ответ http'"), "txt");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ДополнительныеФайлы;
|
||||
@@ -3894,16 +4019,20 @@
|
||||
|
||||
Функция ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя, ТокенДоступа = "") Экспорт
|
||||
|
||||
ЗаголовокОшибки = НСтр("ru='Не удалось загрузить доверенность'");
|
||||
РезультатЗагрузкиИзРеестра = Новый Структура;
|
||||
РезультатЗагрузкиИзРеестра.Вставить("Ошибка");
|
||||
РезультатЗагрузкиИзРеестра.Вставить("Доверенность");
|
||||
РезультатЗагрузкиИзРеестра.Вставить("ЦепочкаДоверенностей", Новый Массив);
|
||||
|
||||
РезультатПолучения = ПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ТокенДоступа, ЗаголовокОшибки);
|
||||
ПолныеДанныеДоверенности = Новый Структура;
|
||||
ПолныеДанныеДоверенности.Вставить("Ошибка", РезультатПолучения.Ошибка);
|
||||
Если ЗначениеЗаполнено(РезультатПолучения.Ошибка) Тогда
|
||||
Возврат ПолныеДанныеДоверенности;
|
||||
ЗаголовокОшибки = НСтр("ru='Не удалось загрузить доверенность'");
|
||||
ПолныеДанныеДоверенностиМЧДРР = ПолныеДанныеДоверенностиМЧДРР(НомерДоверенности, ИННДоверителя, ТокенДоступа, ЗаголовокОшибки);
|
||||
РезультатЗагрузкиИзРеестра.Ошибка = ПолныеДанныеДоверенностиМЧДРР.Ошибка;
|
||||
|
||||
Если ЗначениеЗаполнено(ПолныеДанныеДоверенностиМЧДРР.Ошибка) Тогда
|
||||
Возврат РезультатЗагрузкиИзРеестра;
|
||||
КонецЕсли;
|
||||
|
||||
Поток = РезультатПолучения.ДанныеАрхива.ОткрытьПотокДляЧтения();
|
||||
Поток = ПолныеДанныеДоверенностиМЧДРР.ДанныеАрхива.ОткрытьПотокДляЧтения();
|
||||
Архив = Новый ЧтениеZipФайла(Поток);
|
||||
ПутьВосстановления = ФайловаяСистема.СоздатьВременныйКаталог();
|
||||
|
||||
@@ -3920,19 +4049,54 @@
|
||||
ФайлыДляЗагрузки.Добавить(ОписаниеФайла);
|
||||
КонецЦикла;
|
||||
|
||||
РезультатЗагрузки = Справочники.МашиночитаемыеДоверенности.ЗагрузитьДоверенностиВИнформационнуюБазу(ФайлыДляЗагрузки);
|
||||
РезультатЗагрузкиВИнформационнуюБазу =
|
||||
Справочники.МашиночитаемыеДоверенности.ЗагрузитьДоверенностиВИнформационнуюБазу(ФайлыДляЗагрузки);
|
||||
|
||||
Если ЗначениеЗаполнено(РезультатЗагрузки.ТекстОшибки) Тогда
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, РезультатЗагрузки.ТекстОшибки);
|
||||
ПолныеДанныеДоверенности.Вставить("Ошибка", ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР));
|
||||
Возврат ПолныеДанныеДоверенности;
|
||||
Если ЗначениеЗаполнено(РезультатЗагрузкиВИнформационнуюБазу.ТекстОшибки) Тогда
|
||||
ПараметрыОшибкиМЧДРР = ПараметрыОшибкиМЧДРР(ЗаголовокОшибки, РезультатЗагрузкиВИнформационнуюБазу.ТекстОшибки);
|
||||
РезультатЗагрузкиИзРеестра.Ошибка = ПолучитьИЗаписатьОшибкуМЧДРР(ПараметрыОшибкиМЧДРР);
|
||||
Возврат РезультатЗагрузкиИзРеестра;
|
||||
КонецЕсли;
|
||||
|
||||
ФайловаяСистема.УдалитьВременныйКаталог(ПутьВосстановления);
|
||||
РегистрыСведений.МашиночитаемыеДоверенностиСтатусы.ОбновлениеСтатусовМЧД(РезультатЗагрузки.Доверенности);
|
||||
РегистрыСведений.МашиночитаемыеДоверенностиСтатусы.ОбновлениеСтатусовМЧД(РезультатЗагрузкиВИнформационнуюБазу.Доверенности);
|
||||
РезультатЗагрузкиИзРеестра.Доверенность = РезультатЗагрузкиВИнформационнуюБазу.Доверенности[0];
|
||||
РезультатЗагрузкиИзРеестра.ЦепочкаДоверенностей.Добавить(РезультатЗагрузкиИзРеестра.Доверенность);
|
||||
|
||||
ПолныеДанныеДоверенности.Вставить("Доверенность", РезультатЗагрузки.Доверенности[0]);
|
||||
ПредыдущаяДоверенность = РезультатЗагрузкиВИнформационнуюБазу.ПредыдущиеДоверенности[РезультатЗагрузкиИзРеестра.Доверенность];
|
||||
|
||||
Если ПредыдущаяДоверенность <> Неопределено Тогда
|
||||
НомерДоверенностиОснования = ПредыдущаяДоверенность.НомерДоверенности;
|
||||
ИННДоверителяДоверенностиОснования = ПредыдущаяДоверенность.ИННДоверителя;
|
||||
РезультатЗагрузкиОснования = ЗагрузитьДоверенностьИзРеестра(НомерДоверенностиОснования, ИННДоверителяДоверенностиОснования);
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(РезультатЗагрузкиИзРеестра.ЦепочкаДоверенностей, РезультатЗагрузкиОснования.ЦепочкаДоверенностей);
|
||||
|
||||
Доверенность = Справочники.МашиночитаемыеДоверенности.НайтиДоверенность(НомерДоверенностиОснования);
|
||||
|
||||
Если Доверенность <> Неопределено Тогда
|
||||
ДоверенностьОбъект = РезультатЗагрузкиИзРеестра.Доверенность.ПолучитьОбъект(); // СправочникОбъект.МашиночитаемыеДоверенности
|
||||
ДоверенностьОбъект.РодительскаяДоверенность = Доверенность;
|
||||
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных;
|
||||
ЭлементБлокировки = Блокировка.Добавить("Справочник.МашиночитаемыеДоверенности");
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", РезультатЗагрузкиИзРеестра.Доверенность);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
ДоверенностьОбъект.Записать();
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат РезультатЗагрузкиИзРеестра;
|
||||
|
||||
Возврат ПолныеДанныеДоверенности;
|
||||
КонецФункции
|
||||
|
||||
Функция ОтменитьМЧДРР(ИмяФайлаВыгрузки, ДанныеИлиАдресВыгрузки, ДанныеИлиАдресПодписи, Доверенность, ТокенДоступа = "") Экспорт
|
||||
@@ -3955,7 +4119,15 @@
|
||||
Результат.Вставить("Ошибка", "");
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ТокенДоступа) Тогда
|
||||
РезультатАвторизации = АвторизоватьсяНаСервереМЧДРР();
|
||||
РезультатАвторизации = АвторизоватьсяНаСервереМЧДРР(ЗаголовокОшибки);
|
||||
Если РезультатАвторизации.Ошибка <> Неопределено Тогда
|
||||
Результат.Ошибка = РезультатАвторизации.Ошибка;
|
||||
КонецЕсли;
|
||||
|
||||
Если Результат.Ошибка <> Неопределено Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
ТокенДоступа = РезультатАвторизации.ТокенДоступа;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -4081,7 +4253,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьФайлОтменыДоверенности(Доверенность, ПричинаОтмены) Экспорт
|
||||
Функция ФайлОтменыДоверенности(Доверенность, ПричинаОтмены) Экспорт
|
||||
|
||||
ФайлДоверенности = Доверенность.ФайлДоверенности;
|
||||
НомерДоверенности = Доверенность.НомерДоверенности;
|
||||
@@ -4111,7 +4283,7 @@
|
||||
ЗаписьXML.ЗаписатьНачалоЭлемента("СвЗаявит");
|
||||
ЗаписьXML.ЗаписатьНачалоЭлемента("СвДоверит");
|
||||
|
||||
Если Не ТипЗнч(ДанныеДоверенности) = Тип("Структура") Тогда
|
||||
Если ДанныеДоверенности.Документ.Довер <> Неопределено Тогда
|
||||
Если ДанныеДоверенности.Документ.Довер.СвДоверит[0].ТипДоверит = "1" Тогда
|
||||
|
||||
СведенияОДоверителе =
|
||||
@@ -4130,42 +4302,38 @@
|
||||
ДанныеДоверенности.Документ.Довер.СвДоверит[0].Доверит.ИПДовер;
|
||||
|
||||
ЗаписьXML.ЗаписатьНачалоЭлемента("ИПДовер");
|
||||
|
||||
Если ЗначениеЗаполнено(СведенияОДоверителе.НаимИП) Тогда
|
||||
ЗаписьXML.ЗаписатьАтрибут("НаимИП", СведенияОДоверителе.НаимИП);
|
||||
КонецЕсли;
|
||||
|
||||
ЗаписьXML.ЗаписатьАтрибут("ИННФЛ", СведенияОДоверителе.ИННФЛ);
|
||||
ЗаписьXML.ЗаписатьАтрибут("ОГРНИП", СведенияОДоверителе.ОГРНИП);
|
||||
ЗаписьXML.ЗаписатьКонецЭлемента();
|
||||
|
||||
Иначе
|
||||
|
||||
ТекстОшибки = НСтр("ru = 'Не поддерживается отзыв с типом доверителя:'") + ДанныеДоверенности.ТипОрганизации;
|
||||
Если ДанныеДоверенности.Документ.Довер.СвДоверит[0].ТипДоверит = "4" Тогда
|
||||
ТекстОшибки = НСтр("ru = 'Невозможно отозвать доверенность физического лица.'");
|
||||
Иначе
|
||||
ТекстОшибки = НСтр("ru = 'Невозможно отозвать доверенность иностранной организации.'");
|
||||
КонецЕсли;
|
||||
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Если ДанныеДоверенности.ТипОрганизации = "ЮЛ" Тогда
|
||||
|
||||
ЗаписьXML.ЗаписатьНачалоЭлемента("РосОргДовер");
|
||||
ЗаписьXML.ЗаписатьАтрибут("НаимОрг", ДанныеДоверенности.ДоверительЮЛ_НаимОрг);
|
||||
ЗаписьXML.ЗаписатьАтрибут("ИННЮЛ", ДанныеДоверенности.ДоверительЮЛ_ИНН);
|
||||
ЗаписьXML.ЗаписатьАтрибут("КПП", ДанныеДоверенности.ДоверительЮЛ_КПП);
|
||||
ЗаписьXML.ЗаписатьАтрибут("ОГРН", ДанныеДоверенности.ДоверительЮЛ_ОГРН);
|
||||
ЗаписьXML.ЗаписатьКонецЭлемента();
|
||||
ИначеЕсли ДанныеДоверенности.Документ.Передов <> Неопределено Тогда
|
||||
|
||||
ИначеЕсли ДанныеДоверенности.ТипОрганизации = "ИП" Тогда
|
||||
|
||||
ЗаписьXML.ЗаписатьНачалоЭлемента("ИПДовер");
|
||||
ЗаписьXML.ЗаписатьАтрибут("НаимИП", ДанныеДоверенности.ДоверительЮЛ_НаимОрг);
|
||||
ЗаписьXML.ЗаписатьАтрибут("ИННФЛ", ДанныеДоверенности.ДоверительФЛ_ИНН);
|
||||
ЗаписьXML.ЗаписатьАтрибут("ОГРНИП", ДанныеДоверенности.ДоверительФЛ_ОГРН);
|
||||
ЗаписьXML.ЗаписатьКонецЭлемента();
|
||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Отзыв передоверия не реализован в данной версии приложения. Отзовите передоверие на сайте Распределенного реестра ФНС %1.'"),
|
||||
"https://m4d.nalog.gov.ru/emchd");
|
||||
|
||||
Иначе
|
||||
|
||||
ТекстОшибки = НСтр("ru = 'Не поддерживается отзыв с типом доверителя:'") + ДанныеДоверенности.ТипОрганизации;
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
ВызватьИсключение НСтр("ru = 'Не удалось определить доверителя по файлу доверенности.'");
|
||||
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаписьXML.ЗаписатьКонецЭлемента();
|
||||
ЗаписьXML.ЗаписатьКонецЭлемента();
|
||||
@@ -4243,6 +4411,8 @@
|
||||
ФорматированныйДокумент.УстановитьHTML(ТелоОтвета, Новый Структура);
|
||||
ФорматированнаяСтрока = ФорматированныйДокумент.ПолучитьФорматированнуюСтроку();
|
||||
СтруктураОтвета = Новый Структура("title", ФорматированнаяСтрока);
|
||||
ИначеЕсли ОтветHTTP.Заголовки["Content-Type"] = "application/xml;charset=UTF-8" Тогда
|
||||
СтруктураОтвета = Новый Структура("title", ОтветHTTP.ПолучитьТелоКакСтроку());
|
||||
Иначе
|
||||
СтруктураОтвета = ОбщегоНазначения.JSONВЗначение(ОтветHTTP.ПолучитьТелоКакСтроку(),,Ложь)
|
||||
КонецЕсли;
|
||||
|
||||
@@ -83,14 +83,14 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПриОбработкеНавигационнойСсылкиОшибкиПроверкиПодписи(Форма, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка) Экспорт
|
||||
Процедура ПриОбработкеНавигационнойСсылкиОшибкиПроверкиПодписи(Форма, ИмяЭлементаНадписьОшибка, СтандартнаяОбработка) Экспорт
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
Если ЗначениеЗаполнено(НавигационнаяСсылкаФорматированнойСтроки) Тогда
|
||||
Если ЗначениеЗаполнено(ИмяЭлементаНадписьОшибка) Тогда
|
||||
|
||||
Ошибка = Новый Структура;
|
||||
Ошибка.Вставить("ОписаниеОшибки", НавигационнаяСсылкаФорматированнойСтроки);
|
||||
Ошибка.Вставить("ОписаниеОшибки", Строка(Форма.Элементы[ИмяЭлементаНадписьОшибка].Заголовок));
|
||||
|
||||
ЭлектроннаяПодписьСлужебныйКлиент.ПоказатьОшибкуОбращенияКПрограмме(
|
||||
НСтр("ru='Проверка доверенности подписи'"), "", Ошибка, Новый Структура);
|
||||
@@ -278,7 +278,7 @@
|
||||
ПараметрыФормы = ПараметрыРасширенногоПредставленияОшибки();
|
||||
ПараметрыФормы.ЗаголовокПредупреждения = Контекст.ЗаголовокПредупреждения;
|
||||
ПараметрыФормы.ТекстОшибки = Ошибка.ТекстОшибки;
|
||||
ПараметрыФормы.ОписаниеОшибки = Ошибка.Решение;
|
||||
ПараметрыФормы.ОписаниеОшибки = СтрШаблон("%1: %2", Контекст.ЗаголовокПредупреждения, Ошибка.ТекстОшибки);
|
||||
ПараметрыФормы.ПоказатьТребуетсяПомощь = Истина;
|
||||
ПараметрыФормы.ПоказатьИнструкцию = Истина;
|
||||
ПараметрыФормы.ИнформацияДляПоддержки = СтроковыеФункцииКлиент.ФорматированнаяСтрока(
|
||||
@@ -286,7 +286,6 @@
|
||||
"ТехническаяИнформация");
|
||||
|
||||
ПараметрыФормы.ДополнительныеДанные.Вставить("ДополнительныеДанныеПроверок", Ошибка);
|
||||
ПараметрыФормы.ДополнительныеДанные.Вставить("ДоверенностьМЧД", Ошибка.ДополнительныеФайлы);
|
||||
|
||||
ОткрытьФорму("ОбщаяФорма.РасширенноеПредставлениеОшибки",
|
||||
ПараметрыФормы, Контекст.Форма,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
|
||||
@@ -342,9 +341,6 @@
|
||||
|
||||
Процедура ПолучитьДоверенностьИзРеестра(ОповещениеОПолучении, НомерДоверенности, ИННДоверителя) Экспорт
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("Ошибка");
|
||||
|
||||
РезультатПолучения = МашиночитаемыеДоверенностиФНССлужебныйВызовСервера.ЗагрузитьДоверенностьИзРеестра(НомерДоверенности, ИННДоверителя);
|
||||
Если ЗначениеЗаполнено(РезультатПолучения.Ошибка) Тогда
|
||||
КонтекстОшибки = КонтекстДляОбработкиОшибкиРР();
|
||||
@@ -354,6 +350,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ВыполнитьОбработкуОповещения(ОповещениеОПолучении, РезультатПолучения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВыгрузитьДоверенностьВФайл(Знач Доверенность) Экспорт
|
||||
|
||||
@@ -190,9 +190,7 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ТекущийЯзык().КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
Если ТекущийЯзык().КодЯзыка <> ОбщегоНазначения.КодОсновногоЯзыка() Тогда
|
||||
|
||||
Для Каждого Реквизит Из ИменаМультиязычныхРеквизитовВШапке Цикл
|
||||
|
||||
@@ -204,6 +202,8 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||
|
||||
Если Не ОбъектСодержитТЧПредставления(ПолноеИмя) Тогда
|
||||
@@ -243,6 +243,8 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЗаполнитьМультиязычныеРеквизитыТабличнойЧастиПредставления(ТекущийОбъект, Реквизиты);
|
||||
|
||||
Отбор.КодЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
|
||||
НайденныеСтроки = Представления.НайтиСтроки(Отбор);
|
||||
Если НайденныеСтроки.Количество() > 0 Тогда
|
||||
@@ -1864,6 +1866,51 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаполнитьМультиязычныеРеквизитыТабличнойЧастиПредставления(ТекущийОбъект, Знач Реквизиты)
|
||||
|
||||
Представления = ТекущийОбъект.Представления; // ТабличнаяЧасть
|
||||
СуффиксТекущегоЯзыка = СуффиксТекущегоЯзыка();
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Мультиязычность.Печать") Тогда
|
||||
МодульУправлениеПечатьюМультиязычность = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатьюМультиязычность");
|
||||
ДоступныеЯзыки = МодульУправлениеПечатьюМультиязычность.ДоступныеЯзыки();
|
||||
Иначе
|
||||
ДоступныеЯзыки = Новый Массив;
|
||||
Для Каждого Язык Из Метаданные.Языки Цикл
|
||||
ДоступныеЯзыки.Добавить(Язык.КодЯзыка);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ЯзыкПечатнойФормы Из ДоступныеЯзыки Цикл
|
||||
|
||||
Если ТекущийЯзык().КодЯзыка = ЯзыкПечатнойФормы Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Отбор = Новый Структура();
|
||||
Отбор.Вставить("КодЯзыка", ЯзыкПечатнойФормы);
|
||||
НайденныеСтроки = Представления.НайтиСтроки(Отбор);
|
||||
|
||||
Если НайденныеСтроки.Количество() > 0 Тогда
|
||||
Представление = НайденныеСтроки[0];
|
||||
Иначе
|
||||
Представление = Представления.Добавить();
|
||||
Представление.КодЯзыка = ЯзыкПечатнойФормы;
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого ИмяРеквизита Из Реквизиты Цикл
|
||||
Если ПустаяСтрока(Представление[ИмяРеквизита]) Тогда
|
||||
ЗначениеНаТекущемЯзыке = ТекущийОбъект[ИмяРеквизита + СуффиксТекущегоЯзыка];
|
||||
Представление[ИмяРеквизита] = ЗначениеНаТекущемЯзыке;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
// Параметры:
|
||||
// Реквизит - ОбъектМетаданныхРеквизит
|
||||
// - ОписаниеСтандартногоРеквизита
|
||||
|
||||
@@ -36,6 +36,10 @@
|
||||
|
||||
Процедура ДобавитьКомандыОбсуждения(ПараметрыКоманд, Команды, КомандаПоУмолчанию) Экспорт
|
||||
|
||||
Если ТипЗнч(ПараметрыКоманд.Сообщение) <> Тип("СообщениеСистемыВзаимодействия") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыРаботыКлиента = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента();
|
||||
Если Не ПараметрыРаботыКлиента.ИспользуютсяНапоминанияПользователя Тогда
|
||||
Возврат;
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.1.10.141";
|
||||
Описание.Версия = "3.1.10.174";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -2282,7 +2282,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура НачальноеЗаполнениеТЧПредставления(ЗаполняемыйЭлемент, СтрокаТаблицы, ПараметрыЗаполнения) Экспорт
|
||||
Процедура НачальноеЗаполнениеТЧПредставления(ЗаполняемыйЭлемент, ДанныеЗаполнения, ПараметрыЗаполнения) Экспорт
|
||||
|
||||
Языки = СтандартныеПодсистемыСервер.ЯзыкиКонфигурации();
|
||||
ЛокализуемыеРеквизитыОбъекта = ПараметрыЗаполнения.ЛокализуемыеРеквизитыОбъекта;
|
||||
@@ -2291,13 +2291,19 @@
|
||||
Если СтрСравнить(КодЯзыка, ОбщегоНазначения.КодОсновногоЯзыка()) = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ПредставленияОбъекта = ЗаполняемыйЭлемент.Представления; // ТаблицаЗначений
|
||||
НовоеПредставление = ПредставленияОбъекта.Добавить();
|
||||
НовоеПредставление.КодЯзыка = КодЯзыка;
|
||||
|
||||
ПредставленияОбъекта = ЗаполняемыйЭлемент.Представления; // ТабличнаяЧасть
|
||||
СтрокаТаблицы = ПредставленияОбъекта.Найти(КодЯзыка, "КодЯзыка");
|
||||
Если СтрокаТаблицы = Неопределено Тогда
|
||||
СтрокаТаблицы = ПредставленияОбъекта.Добавить();
|
||||
СтрокаТаблицы.КодЯзыка = КодЯзыка;
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого ИмяЛокализуемогоРеквизита Из ЛокализуемыеРеквизитыОбъекта Цикл
|
||||
Значение = СтрокаТаблицы[ИмяЛокализуемогоРеквизита.Ключ + "_" + КодЯзыка];
|
||||
НовоеПредставление[ИмяЛокализуемогоРеквизита.Ключ] = ?(ЗначениеЗаполнено(Значение), Значение, СтрокаТаблицы[ИмяЛокализуемогоРеквизита.Ключ]);
|
||||
Значение = ДанныеЗаполнения[ИмяЛокализуемогоРеквизита.Ключ + "_" + КодЯзыка];
|
||||
СтрокаТаблицы[ИмяЛокализуемогоРеквизита.Ключ] = ?(ЗначениеЗаполнено(Значение), Значение, ДанныеЗаполнения[ИмяЛокализуемогоРеквизита.Ключ]);
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -3467,9 +3473,9 @@
|
||||
| ОбработчикиОбновления.ИмяБиблиотеки = &ИмяБиблиотеки
|
||||
| И ОбработчикиОбновления.Статус <> &Статус";
|
||||
Результат = Запрос.Выполнить().Выгрузить();
|
||||
Для Каждого Строка Из Результат Цикл
|
||||
Для Каждого СтрокаТаблицы Из Результат Цикл
|
||||
НаборЗаписей = РегистрыСведений.ОбработчикиОбновления.СоздатьНаборЗаписей();
|
||||
НаборЗаписей.Отбор.ИмяОбработчика.Установить(Строка.ИмяОбработчика);
|
||||
НаборЗаписей.Отбор.ИмяОбработчика.Установить(СтрокаТаблицы.ИмяОбработчика);
|
||||
НаборЗаписей.Прочитать();
|
||||
|
||||
НаборЗаписей[0].ИмяБиблиотеки = Метаданные.Имя;
|
||||
@@ -3995,11 +4001,11 @@
|
||||
| ПрогрессОбновления.ИнтервалЧас < &ИнтервалЧас";
|
||||
Результат = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
Для Каждого Строка Из Результат Цикл
|
||||
Для Каждого СтрокаТаблицы Из Результат Цикл
|
||||
МенеджерЗаписи = РегистрыСведений.ПрогрессОбновления.СоздатьМенеджерЗаписи();
|
||||
МенеджерЗаписи.ИмяОбработчика = Строка.ИмяОбработчика;
|
||||
МенеджерЗаписи.ИнтервалЧас = Строка.ИнтервалЧас;
|
||||
МенеджерЗаписи.КлючЗаписи = Строка.КлючЗаписи;
|
||||
МенеджерЗаписи.ИмяОбработчика = СтрокаТаблицы.ИмяОбработчика;
|
||||
МенеджерЗаписи.ИнтервалЧас = СтрокаТаблицы.ИнтервалЧас;
|
||||
МенеджерЗаписи.КлючЗаписи = СтрокаТаблицы.КлючЗаписи;
|
||||
МенеджерЗаписи.Удалить();
|
||||
КонецЦикла;
|
||||
|
||||
@@ -4263,7 +4269,7 @@
|
||||
ЗаписатьСведенияОБлокируемыхОбъектах(НовыеСведенияОБлокируемыхОбъектах());
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроверитьСвойстваОтложенногоОбработчика(Знач Обработчик, Знач РежимВыполненияОтложенныхОбработчиков, ТекстОшибок)
|
||||
Процедура ПроверитьСвойстваОтложенногоОбработчика(Знач Обработчик, Знач РежимВыполненияОтложенныхОбработчиков, Знач ИмяБиблиотеки, ТекстОшибок)
|
||||
|
||||
Если РежимВыполненияОтложенныхОбработчиков = "Параллельно"
|
||||
И Не ЗначениеЗаполнено(Обработчик.ПроцедураЗаполненияДанныхОбновления) Тогда
|
||||
@@ -4302,6 +4308,17 @@
|
||||
ТекстОшибок = ТекстОшибок + ТекстОшибки + Символы.ПС;
|
||||
КонецЕсли;
|
||||
|
||||
Если РежимВыполненияОтложенныхОбработчиков = "Последовательно"
|
||||
И Обработчик.Многопоточный Тогда
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'У отложенного обработчика ""%1"" включено недопустимое свойство ""Многопоточный"",
|
||||
|т.к. он относится к подсистеме ""%2"" c последовательным режимом выполнения отложенных обработчиков.'"),
|
||||
Обработчик.ИмяОбработчика,
|
||||
ИмяБиблиотеки);
|
||||
ЗаписатьОшибку(ТекстОшибки);
|
||||
ТекстОшибок = ТекстОшибок + ТекстОшибки + Символы.ПС;
|
||||
КонецЕсли;
|
||||
|
||||
Если Обработчик.ОбщиеДанные = Истина Тогда
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'У отложенного обработчика ""%1""
|
||||
|указано недопустимое значение свойства ""%2"".
|
||||
@@ -4431,7 +4448,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Обработчик Из СтрокаВерсия.Строки Цикл
|
||||
ПроверитьСвойстваОтложенногоОбработчика(Обработчик, ТекущийРежимВыполнения, ТекстОшибок);
|
||||
ПроверитьСвойстваОтложенногоОбработчика(Обработчик, ТекущийРежимВыполнения, ИмяБиблиотеки, ТекстОшибок);
|
||||
Если ТекущийРежимВыполнения = "Параллельно" Тогда
|
||||
ЗаполнитьЧитаемыеИИзменяемыеДанные(Обработчик, ЧитаемыеИИзменяемыеТаблицы);
|
||||
КонецЕсли;
|
||||
@@ -12290,32 +12307,32 @@
|
||||
|
||||
НачалоТекущегоИнтервала = Неопределено;
|
||||
КонецТекущегоИнтервала = Неопределено;
|
||||
Для Каждого Строка Из ТаблицаДлительностей Цикл
|
||||
Если Не ЗначениеЗаполнено(Строка.Начало)
|
||||
Или Не ЗначениеЗаполнено(Строка.Конец) Тогда
|
||||
Для Каждого СтрокаТаблицы Из ТаблицаДлительностей Цикл
|
||||
Если Не ЗначениеЗаполнено(СтрокаТаблицы.Начало)
|
||||
Или Не ЗначениеЗаполнено(СтрокаТаблицы.Конец) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если НачалоТекущегоИнтервала = Неопределено Тогда
|
||||
НачалоТекущегоИнтервала = Строка.Начало;
|
||||
КонецТекущегоИнтервала = Строка.Конец;
|
||||
НачалоТекущегоИнтервала = СтрокаТаблицы.Начало;
|
||||
КонецТекущегоИнтервала = СтрокаТаблицы.Конец;
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Строка.Конец < КонецТекущегоИнтервала Тогда
|
||||
Если СтрокаТаблицы.Конец < КонецТекущегоИнтервала Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Строка.Начало < КонецТекущегоИнтервала Тогда
|
||||
Если Строка.Конец > КонецТекущегоИнтервала Тогда
|
||||
КонецТекущегоИнтервала = Строка.Конец;
|
||||
Если СтрокаТаблицы.Начало < КонецТекущегоИнтервала Тогда
|
||||
Если СтрокаТаблицы.Конец > КонецТекущегоИнтервала Тогда
|
||||
КонецТекущегоИнтервала = СтрокаТаблицы.Конец;
|
||||
КонецЕсли;
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Строка.Начало > КонецТекущегоИнтервала Тогда
|
||||
Если СтрокаТаблицы.Начало > КонецТекущегоИнтервала Тогда
|
||||
ЧистаяДлительность = ЧистаяДлительность + (КонецТекущегоИнтервала - НачалоТекущегоИнтервала);
|
||||
НачалоТекущегоИнтервала = Строка.Начало;
|
||||
КонецТекущегоИнтервала = Строка.Конец;
|
||||
НачалоТекущегоИнтервала = СтрокаТаблицы.Начало;
|
||||
КонецТекущегоИнтервала = СтрокаТаблицы.Конец;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
+4
-4
@@ -678,8 +678,8 @@
|
||||
|ИЗ
|
||||
| РегистрСведений.ВерсииПодсистемОбластейДанных КАК ВерсииПодсистемОбластейДанных";
|
||||
Результат = Запрос.Выполнить().Выгрузить();
|
||||
Для Каждого Строка Из Результат Цикл
|
||||
ВерсииПодсистем.Вставить(Строка.ИмяПодсистемы, Строка.Версия);
|
||||
Для Каждого СтрокаТаблицы Из Результат Цикл
|
||||
ВерсииПодсистем.Вставить(СтрокаТаблицы.ИмяПодсистемы, СтрокаТаблицы.Версия);
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого СтрокаНабора Из ЭлементДанных Цикл
|
||||
@@ -961,8 +961,8 @@
|
||||
Запрос.УстановитьПараметр("ОбластьДанных", ОбластиДанных);
|
||||
ВерсииОбластей = Новый Соответствие;
|
||||
ВерсииКонфигурацииВОбластях = Запрос.Выполнить().Выгрузить();
|
||||
Для Каждого Строка Из ВерсииКонфигурацииВОбластях Цикл
|
||||
ВерсииОбластей.Вставить(Строка.ОбластьДанных, Строка.Версия);
|
||||
Для Каждого СтрокаТаблицы Из ВерсииКонфигурацииВОбластях Цикл
|
||||
ВерсииОбластей.Вставить(СтрокаТаблицы.ОбластьДанных, СтрокаТаблицы.Версия);
|
||||
КонецЦикла;
|
||||
|
||||
ТребуетсяУстановитьЗапланированныйМоментЗапуска = Ложь;
|
||||
|
||||
@@ -300,17 +300,16 @@
|
||||
Версии = Новый Массив;
|
||||
Таблица.Сортировать("ВесВерсии Возр");
|
||||
ПоследняяСтрока = Таблица[Таблица.Количество() - 1];
|
||||
Для Каждого Строка Из Таблица Цикл
|
||||
Если Не Строка.Обязательная Тогда
|
||||
Для Каждого СтрокаТаблицы Из Таблица Цикл
|
||||
Если Не СтрокаТаблицы.Обязательная Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Строка = ПоследняяСтрока Тогда
|
||||
// Последнюю версию не учитываем.
|
||||
Продолжить;
|
||||
Если СтрокаТаблицы = ПоследняяСтрока Тогда
|
||||
Продолжить; // Последнюю версию не учитываем
|
||||
КонецЕсли;
|
||||
|
||||
Версии.Добавить(Строка.Версия);
|
||||
Версии.Добавить(СтрокаТаблицы.Версия);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Версии;
|
||||
|
||||
@@ -881,6 +881,11 @@
|
||||
КаталогРезервнойКопии = "";
|
||||
КонецЕсли;
|
||||
|
||||
ИнтервалУведомленияПользователей = 0;
|
||||
Если Параметры.Свойство("ИнтервалУведомленияПользователей") Тогда
|
||||
ИнтервалУведомленияПользователей = Параметры.ИнтервалУведомленияПользователей;
|
||||
КонецЕсли;
|
||||
|
||||
СоздаватьРезервнуюКопию = ЭтоФайловаяБаза И (Параметры.СоздаватьРезервнуюКопию = 1 Или Параметры.СоздаватьРезервнуюКопию = 2);
|
||||
|
||||
ВыполнитьОтложенныеОбработчики = Ложь;
|
||||
@@ -923,6 +928,7 @@
|
||||
ВставитьПараметрСкрипта("ИмяЗадачиПланировщикаЗадач" , ИмяЗадачи , Истина, ОбластьПараметров);
|
||||
ВставитьПараметрСкрипта("ПараметрыЗапускаПредприятия" , ПараметрыЗапускаПредприятия , Истина, ОбластьПараметров);
|
||||
ВставитьПараметрСкрипта("КодРазблокировки" , "ПакетноеОбновлениеКонфигурацииИБ" , Ложь, ОбластьПараметров);
|
||||
ВставитьПараметрСкрипта("ИнтервалУведомленияПользователей" , ИнтервалУведомленияПользователей , Ложь, ОбластьПараметров);
|
||||
ВставитьПараметрСкрипта("ВыполнитьОбновлениеКонфигурации" , ВыполнитьОбновлениеКонфигурации , Ложь, ОбластьПараметров);
|
||||
ВставитьПараметрСкрипта("ВыполнитьЗагрузкуРасширений" , ВыполнитьЗагрузкуРасширений , Ложь, ОбластьПараметров);
|
||||
|
||||
|
||||
@@ -2150,8 +2150,28 @@
|
||||
Функция АдресПубликацииИнформационнойБазыВИнтернете() Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Результат = Константы.АдресПубликацииИнформационнойБазыВИнтернете.Получить();
|
||||
Если РазделениеВключено() И ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
Если ПустаяСтрока(Результат)
|
||||
И ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность")
|
||||
И ПодсистемаСуществует("ТехнологияСервиса.ВнешнийПрограммныйИнтерфейс") Тогда
|
||||
|
||||
Возврат Константы.АдресПубликацииИнформационнойБазыВИнтернете.Получить();
|
||||
МодульРаботаВМоделиСервиса = ОбщийМодуль("РаботаВМоделиСервиса");
|
||||
МодульПрограммныйИнтерфейсСервиса = ОбщийМодуль("ПрограммныйИнтерфейсСервиса");
|
||||
РазделительСеанса = МодульРаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
|
||||
Попытка
|
||||
Результат = МодульПрограммныйИнтерфейсСервиса.СвойстваПриложения(РазделительСеанса).АдресПриложения;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Адрес публикации приложения'", КодОсновногоЯзыка()), // АПК:154 Не считаем ошибкой проблемы недоступности Менеджера сервиса.
|
||||
УровеньЖурналаРегистрации.Предупреждение,,,
|
||||
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Возврат "";
|
||||
КонецПопытки;
|
||||
Константы.АдресПубликацииИнформационнойБазыВИнтернете.Установить(Результат);
|
||||
КонецЕсли;
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -2160,6 +2180,8 @@
|
||||
// Например, если такой адрес включить в электронное письмо, то из письма за одно нажатие
|
||||
// можно перейти к форме объекта в самой программе.
|
||||
//
|
||||
// При работе в приложении в Интернете возвращает значение функции АдресПубликацииИнформационнойБазыВИнтернете.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - адрес информационной базы, как он задан в настройке "Локальный адрес" в панели администрирования
|
||||
// (хранится в константе АдресПубликацииИнформационнойБазыВЛокальнойСети).
|
||||
@@ -2171,8 +2193,11 @@
|
||||
//
|
||||
Функция АдресПубликацииИнформационнойБазыВЛокальнойСети() Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Если РазделениеВключено() И ДоступноИспользованиеРазделенныхДанных() Тогда
|
||||
Возврат АдресПубликацииИнформационнойБазыВИнтернете();
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Возврат Константы.АдресПубликацииИнформационнойБазыВЛокальнойСети.Получить();
|
||||
|
||||
КонецФункции
|
||||
@@ -2579,9 +2604,9 @@
|
||||
СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя;
|
||||
НужнаЗапятая = Истина;
|
||||
КонецЦикла;
|
||||
Для Каждого Строка Из ТаблицаЗначений Цикл
|
||||
Для Каждого СтрокаТаблицы Из ТаблицаЗначений Цикл
|
||||
НоваяСтрока = Новый Структура(СтруктураСтрокой);
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицы);
|
||||
Массив.Добавить(НоваяСтрока);
|
||||
КонецЦикла;
|
||||
Возврат Массив;
|
||||
@@ -6277,26 +6302,6 @@
|
||||
ВызватьИсключение Текст;
|
||||
КонецЕсли;
|
||||
|
||||
Если ИнформационнаяБазаФайловая()
|
||||
И ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными")
|
||||
И Не РазделениеВключено()
|
||||
И ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда
|
||||
|
||||
МодульОбменДаннымиСервер = ОбщийМодуль("ОбменДаннымиСервер");
|
||||
ВыполняетсяЗагрузкаДанныхРИБ = МодульОбменДаннымиСервер.ВыполняетсяЗагрузкаДанныхРИБ();
|
||||
|
||||
Если ВыполняетсяЗагрузкаДанныхРИБ Тогда
|
||||
|
||||
Текст = НСтр("ru = 'Регламентное задание недоступно до окончания загрузки данных из главного узла.
|
||||
|Выполнение прервано.'");
|
||||
РегламентныеЗаданияСервер.ОтменитьВыполнениеЗадания(РегламентноеЗадание, Текст);
|
||||
|
||||
ВызватьИсключение Текст;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Справочники.ВерсииРасширений.ЗарегистрироватьИспользованиеВерсииРасширений();
|
||||
|
||||
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ПриУспешномНачалеВыполненияРегламентногоЗадания();
|
||||
@@ -6446,12 +6451,12 @@
|
||||
//
|
||||
Процедура ЗаполнитьКоллекциюЭлементовДереваДанныхФормы(КоллекцияЭлементовДерева, ДеревоЗначений) Экспорт
|
||||
|
||||
Для Каждого Строка Из ДеревоЗначений.Строки Цикл
|
||||
Для Каждого СтрокаТаблицы Из ДеревоЗначений.Строки Цикл
|
||||
|
||||
ЭлементДерева = КоллекцияЭлементовДерева.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(ЭлементДерева, Строка);
|
||||
Если Строка.Строки.Количество() > 0 Тогда
|
||||
ЗаполнитьКоллекциюЭлементовДереваДанныхФормы(ЭлементДерева.ПолучитьЭлементы(), Строка);
|
||||
ЗаполнитьЗначенияСвойств(ЭлементДерева, СтрокаТаблицы);
|
||||
Если СтрокаТаблицы.Строки.Количество() > 0 Тогда
|
||||
ЗаполнитьКоллекциюЭлементовДереваДанныхФормы(ЭлементДерева.ПолучитьЭлементы(), СтрокаТаблицы);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -6886,45 +6891,49 @@
|
||||
// ИмяФайла - Строка - имя файла с расширением
|
||||
//
|
||||
Процедура СократитьИмяФайла(ИмяФайла) Экспорт
|
||||
ОграничениеВБайтах = 255;
|
||||
Если РазмерСтрокиВБайтах(ИмяФайла) <= ОграничениеВБайтах Тогда
|
||||
|
||||
ОграничениеВБайтах = 127;
|
||||
Файл = Новый Файл(ИмяФайла);
|
||||
|
||||
Если РазмерСтрокиВБайтах(Файл.Имя) <= ОграничениеВБайтах Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Файл = Новый Файл(ИмяФайла);
|
||||
ИмяБезРасширения = Файл.ИмяБезРасширения;
|
||||
Строка = "";
|
||||
ОстатокСтроки = "";
|
||||
РазмерСтроки = 0;
|
||||
МаксимальныйРазмерСтроки = ОграничениеВБайтах - 32;
|
||||
|
||||
ОграничениеВБайтах = ОграничениеВБайтах - РазмерСтрокиВБайтах(Файл.Расширение);
|
||||
РазмерРасширения = РазмерСтрокиВБайтах(Файл.Расширение);
|
||||
СокращатьВместеСРасширением = РазмерРасширения > 32;
|
||||
|
||||
ДлинаСтроки = СтрДлина(ИмяБезРасширения);
|
||||
ИспользуемоеКоличествоСимволов = ОграничениеВБайтах - 32;
|
||||
БольшееКоличествоСимволов = Мин(ДлинаСтроки, ОграничениеВБайтах);
|
||||
МеньшееКоличествоСимволов = Цел((ОграничениеВБайтах - 32)/4);
|
||||
Уменьшить = Истина;
|
||||
Пока Истина Цикл
|
||||
Если Уменьшить Тогда
|
||||
ИспользуемоеКоличествоСимволов = МеньшееКоличествоСимволов + Цел((ИспользуемоеКоличествоСимволов - МеньшееКоличествоСимволов)/2);
|
||||
Если СокращатьВместеСРасширением Тогда
|
||||
СокращаемоеИмя = Файл.Имя;
|
||||
Иначе
|
||||
ИспользуемоеКоличествоСимволов = ИспользуемоеКоличествоСимволов + Цел((БольшееКоличествоСимволов - ИспользуемоеКоличествоСимволов)/2);
|
||||
СокращаемоеИмя = Файл.ИмяБезРасширения;
|
||||
РазмерСтроки = РазмерРасширения;
|
||||
КонецЕсли;
|
||||
|
||||
РазмерСтрокиВБайтах = РазмерСтрокиВБайтах(ИмяБезРасширения) + 32;
|
||||
Для НомерСимвола = 1 По СтрДлина(СокращаемоеИмя) Цикл
|
||||
Символ = Сред(СокращаемоеИмя, НомерСимвола, 1);
|
||||
РазмерСимвола = РазмерСтрокиВБайтах(Символ);
|
||||
|
||||
Если РазмерСтрокиВБайтах = ОграничениеВБайтах Или БольшееКоличествоСимволов - МеньшееКоличествоСимволов = 1 Тогда
|
||||
Если РазмерСтроки + РазмерСимвола > МаксимальныйРазмерСтроки Тогда
|
||||
ОстатокСтроки = Сред(СокращаемоеИмя, НомерСимвола);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Уменьшить = (РазмерСтрокиВБайтах > ОграничениеВБайтах);
|
||||
Если Уменьшить Тогда
|
||||
БольшееКоличествоСимволов = ИспользуемоеКоличествоСимволов;
|
||||
Иначе
|
||||
МеньшееКоличествоСимволов = ИспользуемоеКоличествоСимволов;
|
||||
КонецЕсли;
|
||||
|
||||
Строка = Строка + Символ;
|
||||
РазмерСтроки = РазмерСтроки + РазмерСимвола;
|
||||
КонецЦикла;
|
||||
|
||||
СокращеннаяСтрока = СократитьСтрокуКонтрольнойСуммой(ИмяБезРасширения, ИспользуемоеКоличествоСимволов + 32);
|
||||
ИмяФайла = СокращеннаяСтрока + Файл.Расширение;
|
||||
ИмяФайла = Строка;
|
||||
|
||||
ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.MD5);
|
||||
ХешированиеДанных.Добавить(ОстатокСтроки);
|
||||
ХешСумма = СтрЗаменить(ХешированиеДанных.ХешСумма, " ", "");
|
||||
|
||||
ИмяФайла = Файл.Путь + ИмяФайла + ХешСумма + ?(СокращатьВместеСРасширением, "", Файл.Расширение);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -7213,12 +7222,10 @@
|
||||
МетаданныеКонстанты = МестоИспользования.Метаданные;
|
||||
ПредставлениеДанных = Строка(Данные);
|
||||
|
||||
// Будем производить сразу все замены для этих данных.
|
||||
Фильтр = Новый Структура("Данные, КлючЗамены", Данные, "Константа");
|
||||
ОбрабатываемыеСтроки = МестоИспользования.Владелец().НайтиСтроки(Фильтр); // см. МестаИспользования
|
||||
// Помечаем как обработанные
|
||||
Для Каждого Строка Из ОбрабатываемыеСтроки Цикл
|
||||
Строка.КлючЗамены = "";
|
||||
Для Каждого СтрокаТаблицы Из ОбрабатываемыеСтроки Цикл
|
||||
СтрокаТаблицы.КлючЗамены = "";
|
||||
КонецЦикла;
|
||||
|
||||
СостояниеОперации = "";
|
||||
@@ -7244,9 +7251,9 @@
|
||||
МенеджерКонстанты.Прочитать();
|
||||
|
||||
ЗаменаПроизведена = Ложь;
|
||||
Для Каждого Строка Из ОбрабатываемыеСтроки Цикл
|
||||
Если МенеджерКонстанты.Значение = Строка.Ссылка Тогда
|
||||
МенеджерКонстанты.Значение = Строка.ЦелеваяСсылка;
|
||||
Для Каждого СтрокаТаблицы Из ОбрабатываемыеСтроки Цикл
|
||||
Если МенеджерКонстанты.Значение = СтрокаТаблицы.Ссылка Тогда
|
||||
МенеджерКонстанты.Значение = СтрокаТаблицы.ЦелеваяСсылка;
|
||||
ЗаменаПроизведена = Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -7281,12 +7288,12 @@
|
||||
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииЗаменыСсылок(), УровеньЖурналаРегистрации.Ошибка,
|
||||
МетаданныеКонстанты,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
Если СостояниеОперации = "ОшибкаЗаписи" Тогда
|
||||
Для Каждого Строка Из ОбрабатываемыеСтроки Цикл
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, Строка.Ссылка,
|
||||
Для Каждого СтрокаТаблицы Из ОбрабатываемыеСтроки Цикл
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, СтрокаТаблицы.Ссылка,
|
||||
ОписаниеОшибкиЗамены("ОшибкаЗаписи", Данные, ПредставлениеДанных, ИнформацияОбОшибке()));
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, Строка.Ссылка,
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, СтрокаТаблицы.Ссылка,
|
||||
ОписаниеОшибкиЗамены(СостояниеОперации, Данные, ПредставлениеДанных, ИнформацияОбОшибке()));
|
||||
КонецЕсли;
|
||||
КонецПопытки;
|
||||
@@ -7367,8 +7374,8 @@
|
||||
МестоИспользования.Метаданные,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(Информация));
|
||||
Ошибка = ОписаниеОшибкиЗамены(СостояниеОперации, Данные, ПредставлениеДанных, ИнформацияОбОшибке());
|
||||
Если СостояниеОперации = "ОшибкаЗаписи" Тогда
|
||||
Для Каждого Строка Из ОбрабатываемыеСтроки Цикл
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, Строка.Ссылка, Ошибка);
|
||||
Для Каждого СтрокаТаблицы Из ОбрабатываемыеСтроки Цикл
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, СтрокаТаблицы.Ссылка, Ошибка);
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, МестоИспользования.Ссылка, Ошибка);
|
||||
@@ -7376,8 +7383,8 @@
|
||||
КонецПопытки;
|
||||
|
||||
// Помечаем как обработанные
|
||||
Для Каждого Строка Из ОбрабатываемыеСтроки Цикл
|
||||
Строка.КлючЗамены = "";
|
||||
Для Каждого СтрокаТаблицы Из ОбрабатываемыеСтроки Цикл
|
||||
СтрокаТаблицы.КлючЗамены = "";
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -7398,13 +7405,13 @@
|
||||
НаборЗаписей = ОписаниеНабора.НаборЗаписей; // РегистрСведенийНаборЗаписей
|
||||
|
||||
ПарыЗамен = Новый Соответствие;
|
||||
Для Каждого Строка Из ОбрабатываемыеСтроки Цикл
|
||||
ПарыЗамен.Вставить(Строка.Ссылка, Строка.ЦелеваяСсылка);
|
||||
Для Каждого СтрокаТаблицы Из ОбрабатываемыеСтроки Цикл
|
||||
ПарыЗамен.Вставить(СтрокаТаблицы.Ссылка, СтрокаТаблицы.ЦелеваяСсылка);
|
||||
КонецЦикла;
|
||||
|
||||
// Помечаем как обработанные
|
||||
Для Каждого Строка Из ОбрабатываемыеСтроки Цикл
|
||||
Строка.КлючЗамены = "";
|
||||
Для Каждого СтрокаТаблицы Из ОбрабатываемыеСтроки Цикл
|
||||
СтрокаТаблицы.КлючЗамены = "";
|
||||
КонецЦикла;
|
||||
|
||||
СостояниеОперации = "";
|
||||
@@ -7419,8 +7426,8 @@
|
||||
Имя = КлючЗначение.Ключ;
|
||||
Значение = Данные[Имя];
|
||||
|
||||
Для Каждого Строка Из ОбрабатываемыеСтроки Цикл
|
||||
ТекущаяСсылка = Строка.Ссылка;
|
||||
Для Каждого СтрокаТаблицы Из ОбрабатываемыеСтроки Цикл
|
||||
ТекущаяСсылка = СтрокаТаблицы.Ссылка;
|
||||
Если ТипИзмерения.СодержитТип(ТипЗнч(ТекущаяСсылка)) Тогда
|
||||
Блокировка.Добавить(ОписаниеНабора.ПространствоБлокировки).УстановитьЗначение(Имя, ТекущаяСсылка);
|
||||
КонецЕсли;
|
||||
@@ -7477,8 +7484,8 @@
|
||||
МетаданныеРегистра,, ОбработкаОшибок.ПодробноеПредставлениеОшибки(Информация));
|
||||
Ошибка = ОписаниеОшибкиЗамены(СостояниеОперации, Данные, ПредставлениеДанных, ИнформацияОбОшибке());
|
||||
Если СостояниеОперации = "ОшибкаЗаписи" Тогда
|
||||
Для Каждого Строка Из ОбрабатываемыеСтроки Цикл
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, Строка.Ссылка, Ошибка);
|
||||
Для Каждого СтрокаТаблицы Из ОбрабатываемыеСтроки Цикл
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, СтрокаТаблицы.Ссылка, Ошибка);
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, МестоИспользования.Ссылка, Ошибка);
|
||||
@@ -7941,21 +7948,21 @@
|
||||
Процедура ДобавитьРезультатыЗаменыИзмененныхОбъектов(Результат, ТаблицаПовторногоПоиска)
|
||||
|
||||
Фильтр = Новый Структура("Ссылка, ОбъектОшибки");
|
||||
Для Каждого Строка Из ТаблицаПовторногоПоиска Цикл
|
||||
Для Каждого СтрокаТаблицы Из ТаблицаПовторногоПоиска Цикл
|
||||
Тест = Новый Структура("ВспомогательныеДанные", Ложь);
|
||||
ЗаполнитьЗначенияСвойств(Тест, Строка);
|
||||
ЗаполнитьЗначенияСвойств(Тест, СтрокаТаблицы);
|
||||
Если Тест.ВспомогательныеДанные Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Фильтр.ОбъектОшибки = Строка.Данные;
|
||||
Фильтр.Ссылка = Строка.Ссылка;
|
||||
Фильтр.ОбъектОшибки = СтрокаТаблицы.Данные;
|
||||
Фильтр.Ссылка = СтрокаТаблицы.Ссылка;
|
||||
Если Результат.Ошибки.НайтиСтроки(Фильтр).Количество() > 0 Тогда
|
||||
Продолжить; // По данной проблеме уже записана ошибка.
|
||||
КонецЕсли;
|
||||
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, Строка.Ссылка,
|
||||
ОписаниеОшибкиЗамены("ДанныеИзменены", Строка.Данные, ПредметСтрокой(Строка.Данные),
|
||||
ЗарегистрироватьОшибкуЗамены(Результат, СтрокаТаблицы.Ссылка,
|
||||
ОписаниеОшибкиЗамены("ДанныеИзменены", СтрокаТаблицы.Данные, ПредметСтрокой(СтрокаТаблицы.Данные),
|
||||
НСтр("ru = 'Заменены не все места использования. Возможно места использования были добавлены или изменены другим пользователем.'")));
|
||||
КонецЦикла;
|
||||
|
||||
@@ -8342,15 +8349,15 @@
|
||||
Модифицировано = Ложь;
|
||||
ИменаИзмененныхРеквизитов = Новый Массив;
|
||||
|
||||
Для Каждого Строка Из ИзмененнаяКоллекция Цикл
|
||||
Для Каждого СтрокаТаблицы Из ИзмененнаяКоллекция Цикл
|
||||
|
||||
Для Каждого КлючЗначение Из СписокПолей Цикл
|
||||
ИмяРеквизита = КлючЗначение.Ключ;
|
||||
ЦелеваяСсылка = ПарыЗамен[ Строка[ИмяРеквизита] ];
|
||||
ЦелеваяСсылка = ПарыЗамен[ СтрокаТаблицы[ИмяРеквизита] ];
|
||||
Если ЦелеваяСсылка <> Неопределено Тогда
|
||||
ЗарегистрироватьФактЗамены(Объект, Строка[ИмяРеквизита], ЦелеваяСсылка, ВидКоллекции, ИмяКоллекции,
|
||||
ИзмененнаяКоллекция.Индекс(Строка), ИмяРеквизита);
|
||||
Строка[ИмяРеквизита] = ЦелеваяСсылка;
|
||||
ЗарегистрироватьФактЗамены(Объект, СтрокаТаблицы[ИмяРеквизита], ЦелеваяСсылка, ВидКоллекции, ИмяКоллекции,
|
||||
ИзмененнаяКоллекция.Индекс(СтрокаТаблицы), ИмяРеквизита);
|
||||
СтрокаТаблицы[ИмяРеквизита] = ЦелеваяСсылка;
|
||||
Модифицировано = Истина;
|
||||
ИменаИзмененныхРеквизитов.Добавить(ИмяРеквизита);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1796,9 +1796,9 @@
|
||||
СписокАдресов = СтрСоединить(СтрРазделить(СписокАдресов, СимволыСкобок + " ", Ложь), " ");
|
||||
СписокАдресов = СтрЗаменить(СписокАдресов, ">", ">;");
|
||||
|
||||
Для Каждого Строка Из СтрРазделить(СписокАдресов, ";", Ложь) Цикл
|
||||
Для Каждого АдресЭлектроннойПочты Из СтрРазделить(СписокАдресов, ";", Ложь) Цикл
|
||||
ЧастиПредставления = Новый Массив;
|
||||
Для Каждого АдресСПредставлением Из СтрРазделить(СокрЛП(Строка), ",", Ложь) Цикл
|
||||
Для Каждого АдресСПредставлением Из СтрРазделить(СокрЛП(АдресЭлектроннойПочты), ",", Ложь) Цикл
|
||||
Если Не ЗначениеЗаполнено(АдресСПредставлением) Тогда
|
||||
ЧастиПредставления.Добавить(АдресСПредставлением);
|
||||
Продолжить;
|
||||
|
||||
@@ -581,46 +581,45 @@
|
||||
//
|
||||
Процедура СократитьИмяФайла(ИмяФайла) Экспорт
|
||||
|
||||
ОграничениеВБайтах = 255;
|
||||
Если РазмерСтрокиВБайтах(ИмяФайла) <= ОграничениеВБайтах Тогда
|
||||
ОграничениеВБайтах = 127;
|
||||
Файл = Новый Файл(ИмяФайла);
|
||||
|
||||
Если РазмерСтрокиВБайтах(Файл.Имя) <= ОграничениеВБайтах Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Файл = Новый Файл(ИмяФайла);
|
||||
ИмяБезРасширения = Файл.ИмяБезРасширения;
|
||||
Строка = "";
|
||||
ОстатокСтроки = "";
|
||||
РазмерСтроки = 0;
|
||||
МаксимальныйРазмерСтроки = ОграничениеВБайтах - 32;
|
||||
|
||||
ОграничениеВБайтах = ОграничениеВБайтах - РазмерСтрокиВБайтах(Файл.Расширение);
|
||||
РазмерРасширения = РазмерСтрокиВБайтах(Файл.Расширение);
|
||||
СокращатьВместеСРасширением = РазмерРасширения > 32;
|
||||
|
||||
ДлинаСтроки = СтрДлина(ИмяБезРасширения);
|
||||
ИспользуемоеКоличествоСимволов = ОграничениеВБайтах - 32;
|
||||
БольшееКоличествоСимволов = Мин(ДлинаСтроки, ОграничениеВБайтах);
|
||||
МеньшееКоличествоСимволов = Цел((ОграничениеВБайтах - 32)/4);
|
||||
Уменьшить = Истина;
|
||||
Пока Истина Цикл
|
||||
Если Уменьшить Тогда
|
||||
ИспользуемоеКоличествоСимволов = МеньшееКоличествоСимволов + Цел((ИспользуемоеКоличествоСимволов-МеньшееКоличествоСимволов)/2);
|
||||
Если СокращатьВместеСРасширением Тогда
|
||||
СокращаемоеИмя = Файл.Имя;
|
||||
Иначе
|
||||
ИспользуемоеКоличествоСимволов = ИспользуемоеКоличествоСимволов + Цел((БольшееКоличествоСимволов - ИспользуемоеКоличествоСимволов)/2);
|
||||
СокращаемоеИмя = Файл.ИмяБезРасширения;
|
||||
РазмерСтроки = РазмерРасширения;
|
||||
КонецЕсли;
|
||||
|
||||
РазмерСтрокиВБайтах = РазмерСтрокиВБайтах(ИмяБезРасширения)+32;
|
||||
Для НомерСимвола = 1 По СтрДлина(СокращаемоеИмя) Цикл
|
||||
Символ = Сред(СокращаемоеИмя, НомерСимвола, 1);
|
||||
РазмерСимвола = РазмерСтрокиВБайтах(Символ);
|
||||
|
||||
Если РазмерСтрокиВБайтах = ОграничениеВБайтах Или БольшееКоличествоСимволов - МеньшееКоличествоСимволов = 1 Тогда
|
||||
Если РазмерСтроки + РазмерСимвола > МаксимальныйРазмерСтроки Тогда
|
||||
ОстатокСтроки = Сред(СокращаемоеИмя, НомерСимвола);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Если РазмерСтрокиВБайтах > ОграничениеВБайтах Тогда
|
||||
Уменьшить = Истина;
|
||||
БольшееКоличествоСимволов = ИспользуемоеКоличествоСимволов;
|
||||
Иначе
|
||||
Уменьшить = Ложь;
|
||||
МеньшееКоличествоСимволов = ИспользуемоеКоличествоСимволов;
|
||||
КонецЕсли;
|
||||
|
||||
Строка = Строка + Символ;
|
||||
РазмерСтроки = РазмерСтроки + РазмерСимвола;
|
||||
КонецЦикла;
|
||||
|
||||
СокращеннаяСтрока = СократитьСтроку(ИмяБезРасширения, ИспользуемоеКоличествоСимволов);
|
||||
ИмяФайла = СокращеннаяСтрока + Файл.Расширение;
|
||||
ИмяФайла = Строка;
|
||||
|
||||
ХешСумма = ВычислитьХешСтрокиПоАлгоритмуMD5(ОстатокСтроки);
|
||||
ИмяФайла = Файл.Путь + ИмяФайла + ХешСумма + ?(СокращатьВместеСРасширением, "", Файл.Расширение);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1767,12 +1766,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СократитьСтроку(Строка, ИспользуемоеКоличествоСимволов)
|
||||
Результат = Лев(Строка, ИспользуемоеКоличествоСимволов);
|
||||
Результат = Результат + ВычислитьХешСтрокиПоАлгоритмуMD5(Сред(Строка, ИспользуемоеКоличествоСимволов+1));
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
Функция РазмерСтрокиВБайтах(Знач Строка)
|
||||
|
||||
Возврат ПолучитьДвоичныеДанныеИзСтроки(Строка, "UTF-8").Размер();
|
||||
|
||||
@@ -252,7 +252,7 @@
|
||||
|
||||
Процедура ПриОпределенииНастроек(Настройки) Экспорт
|
||||
|
||||
Настройки.АдресОписанияУслугиВИнтернете = "http://sms4b.ru";
|
||||
Настройки.АдресОписанияУслугиВИнтернете = "https://sms4b.ru";
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -261,7 +261,7 @@
|
||||
|
||||
Процедура ПриОпределенииНастроек(Настройки) Экспорт
|
||||
|
||||
Настройки.АдресОписанияУслугиВИнтернете = "http://sms.ru";
|
||||
Настройки.АдресОписанияУслугиВИнтернете = "https://sms.ru";
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -180,18 +180,18 @@
|
||||
НастройкиОтправкиSMS = ОтправкаSMS.НастройкиОтправкиSMS();
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Протокол = "http";
|
||||
Протокол = "https";
|
||||
Сервер = "beeline.amega-inform.ru";
|
||||
АдресРесурса = "/sendsms/";
|
||||
ЗащищенноеСоединение = Неопределено;
|
||||
|
||||
Если НастройкиОтправкиSMS.Свойство("СпособАвторизации") И НастройкиОтправкиSMS.СпособАвторизации = "ПоЛогинуИПаролюA2P" Тогда
|
||||
Протокол = "https";
|
||||
Сервер = "a2p-sms-https.beeline.ru";
|
||||
АдресРесурса = "/public/http/";
|
||||
ЗащищенноеСоединение = ОбщегоНазначенияКлиентСервер.НовоеЗащищенноеСоединение();
|
||||
КонецЕсли;
|
||||
|
||||
ЗащищенноеСоединение = ОбщегоНазначенияКлиентСервер.НовоеЗащищенноеСоединение();
|
||||
|
||||
HTTPЗапрос = ОтправкаSMS.ПодготовитьHTTPЗапрос(АдресРесурса, ПараметрыЗапроса);
|
||||
HTTPОтвет = Неопределено;
|
||||
|
||||
|
||||
@@ -278,7 +278,7 @@
|
||||
|
||||
Процедура ПриОпределенииНастроек(Настройки) Экспорт
|
||||
|
||||
Настройки.АдресОписанияУслугиВИнтернете = "http://sms-uslugi.ru";
|
||||
Настройки.АдресОписанияУслугиВИнтернете = "https://sms-uslugi.ru";
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -592,6 +592,81 @@
|
||||
Возврат ОписаниеИндекса.ПривестиЗначение(ИндексЭлемента);
|
||||
КонецФункции
|
||||
|
||||
Функция ТипНастройкиСтрокой(Тип) Экспорт
|
||||
Если Тип = Тип("НастройкиКомпоновкиДанных") Тогда
|
||||
Возврат "Настройки";
|
||||
ИначеЕсли Тип = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
|
||||
Возврат "НастройкиВложенногоОбъекта";
|
||||
|
||||
ИначеЕсли Тип = Тип("ОтборКомпоновкиДанных") Тогда
|
||||
Возврат "Отбор";
|
||||
ИначеЕсли Тип = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
|
||||
Возврат "ЭлементОтбора";
|
||||
ИначеЕсли Тип = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппаЭлементовОтбора";
|
||||
|
||||
ИначеЕсли Тип = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
|
||||
Возврат "ЗначениеПараметраНастроек";
|
||||
|
||||
ИначеЕсли Тип = Тип("ГруппировкаКомпоновкиДанных") Тогда
|
||||
Возврат "Группировка";
|
||||
ИначеЕсли Тип = Тип("ПоляГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "ПоляГруппировки";
|
||||
ИначеЕсли Тип = Тип("КоллекцияПолейГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияПолейГруппировки";
|
||||
ИначеЕсли Тип = Тип("ПолеГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "ПолеГруппировки";
|
||||
ИначеЕсли Тип = Тип("АвтоПолеГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "АвтоПолеГруппировки";
|
||||
|
||||
ИначеЕсли Тип = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда
|
||||
Возврат "ВыбранныеПоля";
|
||||
ИначеЕсли Тип = Тип("ВыбранноеПолеКомпоновкиДанных") Тогда
|
||||
Возврат "ВыбранноеПоле";
|
||||
ИначеЕсли Тип = Тип("ГруппаВыбранныхПолейКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппаВыбранныхПолей";
|
||||
ИначеЕсли Тип = Тип("АвтоВыбранноеПолеКомпоновкиДанных") Тогда
|
||||
Возврат "АвтоВыбранноеПоле";
|
||||
|
||||
ИначеЕсли Тип = Тип("ПорядокКомпоновкиДанных") Тогда
|
||||
Возврат "Порядок";
|
||||
ИначеЕсли Тип = Тип("ЭлементПорядкаКомпоновкиДанных") Тогда
|
||||
Возврат "ЭлементПорядка";
|
||||
ИначеЕсли Тип = Тип("АвтоЭлементПорядкаКомпоновкиДанных") Тогда
|
||||
Возврат "АвтоЭлементПорядка";
|
||||
|
||||
ИначеЕсли Тип = Тип("УсловноеОформлениеКомпоновкиДанных") Тогда
|
||||
Возврат "УсловноеОформление";
|
||||
ИначеЕсли Тип = Тип("ЭлементУсловногоОформленияКомпоновкиДанных") Тогда
|
||||
Возврат "ЭлементУсловногоОформления";
|
||||
|
||||
ИначеЕсли Тип = Тип("СтруктураНастроекКомпоновкиДанных") Тогда
|
||||
Возврат "СтруктураНастроек";
|
||||
ИначеЕсли Тип = Тип("КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияЭлементовСтруктурыНастроек";
|
||||
|
||||
ИначеЕсли Тип = Тип("ТаблицаКомпоновкиДанных") Тогда
|
||||
Возврат "Таблица";
|
||||
ИначеЕсли Тип = Тип("ГруппировкаТаблицыКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппировкаТаблицы";
|
||||
ИначеЕсли Тип = Тип("КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияЭлементовСтруктурыТаблицы";
|
||||
|
||||
ИначеЕсли Тип = Тип("ДиаграммаКомпоновкиДанных") Тогда
|
||||
Возврат "Диаграмма";
|
||||
ИначеЕсли Тип = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппировкаДиаграммы";
|
||||
ИначеЕсли Тип = Тип("КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияЭлементовСтруктурыДиаграммы";
|
||||
|
||||
ИначеЕсли Тип = Тип("ЗначенияПараметровДанныхКомпоновкиДанных") Тогда
|
||||
Возврат "ЗначенияПараметровДанных";
|
||||
|
||||
Иначе
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
КонецФункции
|
||||
|
||||
#Область УстаревшиеПроцедурыИФункции
|
||||
|
||||
// Устарела. Следует использовать ОбщегоНазначенияКлиентСервер.ДополнитьСписок.
|
||||
@@ -1293,81 +1368,6 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Прочее
|
||||
|
||||
Функция ТипНастройкиСтрокой(Тип) Экспорт
|
||||
Если Тип = Тип("НастройкиКомпоновкиДанных") Тогда
|
||||
Возврат "Настройки";
|
||||
ИначеЕсли Тип = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
|
||||
Возврат "НастройкиВложенногоОбъекта";
|
||||
|
||||
ИначеЕсли Тип = Тип("ОтборКомпоновкиДанных") Тогда
|
||||
Возврат "Отбор";
|
||||
ИначеЕсли Тип = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
|
||||
Возврат "ЭлементОтбора";
|
||||
ИначеЕсли Тип = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппаЭлементовОтбора";
|
||||
|
||||
ИначеЕсли Тип = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
|
||||
Возврат "ЗначениеПараметраНастроек";
|
||||
|
||||
ИначеЕсли Тип = Тип("ГруппировкаКомпоновкиДанных") Тогда
|
||||
Возврат "Группировка";
|
||||
ИначеЕсли Тип = Тип("ПоляГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "ПоляГруппировки";
|
||||
ИначеЕсли Тип = Тип("КоллекцияПолейГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияПолейГруппировки";
|
||||
ИначеЕсли Тип = Тип("ПолеГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "ПолеГруппировки";
|
||||
ИначеЕсли Тип = Тип("АвтоПолеГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "АвтоПолеГруппировки";
|
||||
|
||||
ИначеЕсли Тип = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда
|
||||
Возврат "ВыбранныеПоля";
|
||||
ИначеЕсли Тип = Тип("ВыбранноеПолеКомпоновкиДанных") Тогда
|
||||
Возврат "ВыбранноеПоле";
|
||||
ИначеЕсли Тип = Тип("ГруппаВыбранныхПолейКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппаВыбранныхПолей";
|
||||
ИначеЕсли Тип = Тип("АвтоВыбранноеПолеКомпоновкиДанных") Тогда
|
||||
Возврат "АвтоВыбранноеПоле";
|
||||
|
||||
ИначеЕсли Тип = Тип("ПорядокКомпоновкиДанных") Тогда
|
||||
Возврат "Порядок";
|
||||
ИначеЕсли Тип = Тип("ЭлементПорядкаКомпоновкиДанных") Тогда
|
||||
Возврат "ЭлементПорядка";
|
||||
ИначеЕсли Тип = Тип("АвтоЭлементПорядкаКомпоновкиДанных") Тогда
|
||||
Возврат "АвтоЭлементПорядка";
|
||||
|
||||
ИначеЕсли Тип = Тип("УсловноеОформлениеКомпоновкиДанных") Тогда
|
||||
Возврат "УсловноеОформление";
|
||||
ИначеЕсли Тип = Тип("ЭлементУсловногоОформленияКомпоновкиДанных") Тогда
|
||||
Возврат "ЭлементУсловногоОформления";
|
||||
|
||||
ИначеЕсли Тип = Тип("СтруктураНастроекКомпоновкиДанных") Тогда
|
||||
Возврат "СтруктураНастроек";
|
||||
ИначеЕсли Тип = Тип("КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияЭлементовСтруктурыНастроек";
|
||||
|
||||
ИначеЕсли Тип = Тип("ТаблицаКомпоновкиДанных") Тогда
|
||||
Возврат "Таблица";
|
||||
ИначеЕсли Тип = Тип("ГруппировкаТаблицыКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппировкаТаблицы";
|
||||
ИначеЕсли Тип = Тип("КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияЭлементовСтруктурыТаблицы";
|
||||
|
||||
ИначеЕсли Тип = Тип("ДиаграммаКомпоновкиДанных") Тогда
|
||||
Возврат "Диаграмма";
|
||||
ИначеЕсли Тип = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппировкаДиаграммы";
|
||||
ИначеЕсли Тип = Тип("КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияЭлементовСтруктурыДиаграммы";
|
||||
|
||||
ИначеЕсли Тип = Тип("ЗначенияПараметровДанныхКомпоновкиДанных") Тогда
|
||||
Возврат "ЗначенияПараметровДанных";
|
||||
|
||||
Иначе
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
КонецФункции
|
||||
|
||||
Функция СкопироватьРекурсивно(Знач Узел, Знач ЧтоКопировать, Знач КудаВставить, Знач Индекс, Соответствие = Неопределено, БезСтруктуры = Ложь) Экспорт
|
||||
Если Соответствие = Неопределено Тогда
|
||||
Соответствие = Новый Соответствие;
|
||||
@@ -2010,6 +2010,11 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИмяКомандыВставитьИзБуфера() Экспорт
|
||||
|
||||
Возврат "ВставитьИзБуфераОбмена";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПараметрыОбновленияФормыОтчета(Знач ИмяСобытия = "") Экспорт
|
||||
|
||||
|
||||
@@ -1124,7 +1124,7 @@
|
||||
Свойства.Значение = ЭлементНастройки.ПравоеЗначение;
|
||||
КонецЕсли;
|
||||
|
||||
Свойства.Тип = ТипНастройкиСтрокой(ТипЭлементаНастройки);
|
||||
Свойства.Тип = ОтчетыКлиентСервер.ТипНастройкиСтрокой(ТипЭлементаНастройки);
|
||||
|
||||
Если ОписаниеНастройки = Неопределено Тогда
|
||||
Возврат Свойства;
|
||||
@@ -3140,7 +3140,8 @@
|
||||
ЗаголовокКоманды = НСтр("ru = 'Подбор'");
|
||||
ДобавитьКомандуСписка(Форма, ГруппаЗаголовка, ИмяКоманды, ЗаголовокКоманды, "Подключаемый_Список_Подбор");
|
||||
|
||||
Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗагрузкаДанныхИзФайла") Тогда
|
||||
Если ТипЗнч(ЭлементНастройки.ТипЗначения) <> Тип("ОписаниеТипов")
|
||||
Или Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗагрузкаДанныхИзФайла") Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -3154,7 +3155,7 @@
|
||||
|
||||
Если ЕстьСсылочныйТип Тогда
|
||||
|
||||
ИмяКоманды = ИмяСписка + "ВставитьИзБуфера";
|
||||
ИмяКоманды = ИмяСписка + ОтчетыКлиентСервер.ИмяКомандыВставитьИзБуфера();
|
||||
ЗаголовокКоманды = НСтр("ru = 'Вставить из буфера обмена...'");
|
||||
ДобавитьКомандуСписка(Форма, ГруппаЗаголовка, ИмяКоманды, ЗаголовокКоманды,
|
||||
"Подключаемый_Список_ВставитьИзБуфера", БиблиотекаКартинок.ВставитьИзБуфераОбмена);
|
||||
@@ -3684,81 +3685,6 @@
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
Функция ТипНастройкиСтрокой(Тип)
|
||||
Если Тип = Тип("НастройкиКомпоновкиДанных") Тогда
|
||||
Возврат "Настройки";
|
||||
ИначеЕсли Тип = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
|
||||
Возврат "НастройкиВложенногоОбъекта";
|
||||
|
||||
ИначеЕсли Тип = Тип("ОтборКомпоновкиДанных") Тогда
|
||||
Возврат "Отбор";
|
||||
ИначеЕсли Тип = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
|
||||
Возврат "ЭлементОтбора";
|
||||
ИначеЕсли Тип = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппаЭлементовОтбора";
|
||||
|
||||
ИначеЕсли Тип = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
|
||||
Возврат "ЗначениеПараметраНастроек";
|
||||
|
||||
ИначеЕсли Тип = Тип("ГруппировкаКомпоновкиДанных") Тогда
|
||||
Возврат "Группировка";
|
||||
ИначеЕсли Тип = Тип("ПоляГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "ПоляГруппировки";
|
||||
ИначеЕсли Тип = Тип("КоллекцияПолейГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияПолейГруппировки";
|
||||
ИначеЕсли Тип = Тип("ПолеГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "ПолеГруппировки";
|
||||
ИначеЕсли Тип = Тип("АвтоПолеГруппировкиКомпоновкиДанных") Тогда
|
||||
Возврат "АвтоПолеГруппировки";
|
||||
|
||||
ИначеЕсли Тип = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда
|
||||
Возврат "ВыбранныеПоля";
|
||||
ИначеЕсли Тип = Тип("ВыбранноеПолеКомпоновкиДанных") Тогда
|
||||
Возврат "ВыбранноеПоле";
|
||||
ИначеЕсли Тип = Тип("ГруппаВыбранныхПолейКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппаВыбранныхПолей";
|
||||
ИначеЕсли Тип = Тип("АвтоВыбранноеПолеКомпоновкиДанных") Тогда
|
||||
Возврат "АвтоВыбранноеПоле";
|
||||
|
||||
ИначеЕсли Тип = Тип("ПорядокКомпоновкиДанных") Тогда
|
||||
Возврат "Порядок";
|
||||
ИначеЕсли Тип = Тип("ЭлементПорядкаКомпоновкиДанных") Тогда
|
||||
Возврат "ЭлементПорядка";
|
||||
ИначеЕсли Тип = Тип("АвтоЭлементПорядкаКомпоновкиДанных") Тогда
|
||||
Возврат "АвтоЭлементПорядка";
|
||||
|
||||
ИначеЕсли Тип = Тип("УсловноеОформлениеКомпоновкиДанных") Тогда
|
||||
Возврат "УсловноеОформление";
|
||||
ИначеЕсли Тип = Тип("ЭлементУсловногоОформленияКомпоновкиДанных") Тогда
|
||||
Возврат "ЭлементУсловногоОформления";
|
||||
|
||||
ИначеЕсли Тип = Тип("СтруктураНастроекКомпоновкиДанных") Тогда
|
||||
Возврат "СтруктураНастроек";
|
||||
ИначеЕсли Тип = Тип("КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияЭлементовСтруктурыНастроек";
|
||||
|
||||
ИначеЕсли Тип = Тип("ТаблицаКомпоновкиДанных") Тогда
|
||||
Возврат "Таблица";
|
||||
ИначеЕсли Тип = Тип("ГруппировкаТаблицыКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппировкаТаблицы";
|
||||
ИначеЕсли Тип = Тип("КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияЭлементовСтруктурыТаблицы";
|
||||
|
||||
ИначеЕсли Тип = Тип("ДиаграммаКомпоновкиДанных") Тогда
|
||||
Возврат "Диаграмма";
|
||||
ИначеЕсли Тип = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда
|
||||
Возврат "ГруппировкаДиаграммы";
|
||||
ИначеЕсли Тип = Тип("КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных") Тогда
|
||||
Возврат "КоллекцияЭлементовСтруктурыДиаграммы";
|
||||
|
||||
ИначеЕсли Тип = Тип("ЗначенияПараметровДанныхКомпоновкиДанных") Тогда
|
||||
Возврат "ЗначенияПараметровДанных";
|
||||
|
||||
Иначе
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
КонецФункции
|
||||
|
||||
Функция ЗначениеВМассив(Значение) Экспорт
|
||||
Если ТипЗнч(Значение) = Тип("Массив") Тогда
|
||||
Возврат Значение;
|
||||
|
||||
@@ -60,7 +60,6 @@
|
||||
ПараметрыПоискаДублей.КомпоновщикПредварительногоОтбора.Инициализировать(
|
||||
Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновки));
|
||||
|
||||
// Вызов прикладного кода
|
||||
ОбработкаПоиска = Обработки.ПоискИУдалениеДублей.Создать();
|
||||
|
||||
ИспользоватьПрикладныеПравила = ОбработкаПоиска.ЕстьПрикладныеПравилаОбластиПоискаДублей(ОбластьПоиска);
|
||||
@@ -75,13 +74,12 @@
|
||||
ГруппыДублей = ОбработкаПоиска.ГруппыДублей(ПараметрыПоискаДублей, ЭталонныйОбъект);
|
||||
Результат = ГруппыДублей.ТаблицаДублей;
|
||||
|
||||
// Там ровно одна группа, возвращаем нужные элементы.
|
||||
Для Каждого Строка Из Результат.НайтиСтроки(Новый Структура("Родитель", Неопределено)) Цикл
|
||||
Результат.Удалить(Строка);
|
||||
Для Каждого Элемент Из Результат.НайтиСтроки(Новый Структура("Родитель", Неопределено)) Цикл
|
||||
Результат.Удалить(Элемент);
|
||||
КонецЦикла;
|
||||
ПустаяСсылка = МенеджерОбластиПоиска.ПустаяСсылка();
|
||||
Для Каждого Строка Из Результат.НайтиСтроки(Новый Структура("Ссылка", ПустаяСсылка)) Цикл
|
||||
Результат.Удалить(Строка);
|
||||
Для Каждого Элемент Из Результат.НайтиСтроки(Новый Структура("Ссылка", ПустаяСсылка)) Цикл
|
||||
Результат.Удалить(Элемент);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
@@ -243,8 +243,7 @@
|
||||
#КонецОбласти
|
||||
|
||||
// Устанавливает значение константы ИспользоватьПолнотекстовыйПоиск.
|
||||
// Используется для синхронизации значения
|
||||
// функциональной опции "ИспользоватьПолнотекстовыйПоиск"
|
||||
// Используется для синхронизации значения функциональной опции "ИспользоватьПолнотекстовыйПоиск"
|
||||
// с "ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска()".
|
||||
//
|
||||
Процедура ИнициализироватьФункциональнуюОпциюПолнотекстовыйПоиск() Экспорт
|
||||
@@ -589,8 +588,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Создает запись в журнале регистрации и сообщениях пользователю;
|
||||
//
|
||||
// Параметры:
|
||||
// УровеньЖурнала - УровеньЖурналаРегистрации - важность сообщения для администратора.
|
||||
// КомментарийСПараметрами - Строка - комментарий, который может содержать параметры %1.
|
||||
@@ -598,13 +595,9 @@
|
||||
// - Строка - информация об ошибке, которая будет размещена после комментария.
|
||||
// Параметр - Строка - для подстановки в КомментарийСПараметрами вместо %1.
|
||||
//
|
||||
Процедура ЗаписьЖурнала(
|
||||
УровеньЖурнала,
|
||||
КомментарийСПараметрами,
|
||||
ИнформацияОбОшибке = Неопределено,
|
||||
Параметр = Неопределено)
|
||||
Процедура ЗаписьЖурнала(УровеньЖурнала, КомментарийСПараметрами, ИнформацияОбОшибке = Неопределено,
|
||||
Параметр = Неопределено) Экспорт
|
||||
|
||||
// Определение уровня журнала регистрации на основе типа переданного сообщения об ошибке.
|
||||
Если ТипЗнч(УровеньЖурнала) <> Тип("УровеньЖурналаРегистрации") Тогда
|
||||
Если ТипЗнч(ИнформацияОбОшибке) = Тип("ИнформацияОбОшибке") Тогда
|
||||
УровеньЖурнала = УровеньЖурналаРегистрации.Ошибка;
|
||||
@@ -615,7 +608,6 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
// Комментарий для журнала регистрации.
|
||||
ТекстДляЖурнала = КомментарийСПараметрами;
|
||||
Если Параметр <> Неопределено Тогда
|
||||
ТекстДляЖурнала = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстДляЖурнала, Параметр);
|
||||
@@ -627,11 +619,8 @@
|
||||
КонецЕсли;
|
||||
ТекстДляЖурнала = СокрЛП(ТекстДляЖурнала);
|
||||
|
||||
// Запись в журнал регистрации.
|
||||
ЗаписьЖурналаРегистрации(
|
||||
НСтр("ru = 'Полнотекстовое индексирование'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурнала, , ,
|
||||
ТекстДляЖурнала);
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Полнотекстовое индексирование'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурнала, , , ТекстДляЖурнала);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -538,29 +538,29 @@
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Если ИдентификаторСтроки = Неопределено Тогда
|
||||
МассивСтрок = Неопределено;
|
||||
СтрокиТаблицы = Неопределено;
|
||||
|
||||
ИначеЕсли ТипЗнч(ИдентификаторСтроки) = Тип("Массив") Тогда
|
||||
МассивСтрок = Новый Массив;
|
||||
СтрокиТаблицы = Новый Массив;
|
||||
Для каждого Идентификатор Из ИдентификаторСтроки Цикл
|
||||
МассивСтрок.Добавить(ТаблицаИлиДерево.НайтиПоИдентификатору(Идентификатор));
|
||||
СтрокиТаблицы.Добавить(ТаблицаИлиДерево.НайтиПоИдентификатору(Идентификатор));
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
МассивСтрок = Новый Массив;
|
||||
МассивСтрок.Добавить(ТаблицаИлиДерево.НайтиПоИдентификатору(ИдентификаторСтроки));
|
||||
СтрокиТаблицы = Новый Массив;
|
||||
СтрокиТаблицы.Добавить(ТаблицаИлиДерево.НайтиПоИдентификатору(ИдентификаторСтроки));
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(ТаблицаИлиДерево) = Тип("ДанныеФормыДерево") Тогда
|
||||
Если МассивСтрок = Неопределено Тогда
|
||||
МассивСтрок = ТаблицаИлиДерево.ПолучитьЭлементы();
|
||||
Если СтрокиТаблицы = Неопределено Тогда
|
||||
СтрокиТаблицы = ТаблицаИлиДерево.ПолучитьЭлементы();
|
||||
КонецЕсли;
|
||||
ТаблицаПользователей = Новый ТаблицаЗначений;
|
||||
ТаблицаПользователей.Колонки.Добавить(ИмяПоляПользователь,
|
||||
Метаданные.РегистрыСведений.СоставыГруппПользователей.Измерения.ГруппаПользователей.Тип);
|
||||
Для Каждого Строка Из МассивСтрок Цикл
|
||||
ТаблицаПользователей.Добавить()[ИмяПоляПользователь] = Строка[ИмяПоляПользователь];
|
||||
Для Каждого СтрокаТаблицы Из СтрокиТаблицы Цикл
|
||||
ТаблицаПользователей.Добавить()[ИмяПоляПользователь] = СтрокаТаблицы[ИмяПоляПользователь];
|
||||
Если ОбработатьИерархиюВторогоИТретьегоУровней Тогда
|
||||
Для каждого Строка2 Из Строка.ПолучитьЭлементы() Цикл
|
||||
Для каждого Строка2 Из СтрокаТаблицы.ПолучитьЭлементы() Цикл
|
||||
ТаблицаПользователей.Добавить()[ИмяПоляПользователь] = Строка2[ИмяПоляПользователь];
|
||||
Для каждого Строка3 Из Строка2.ПолучитьЭлементы() Цикл
|
||||
ТаблицаПользователей.Добавить()[ИмяПоляПользователь] = Строка3[ИмяПоляПользователь];
|
||||
@@ -569,28 +569,28 @@
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ИначеЕсли ТипЗнч(ТаблицаИлиДерево) = Тип("ДанныеФормыКоллекция") Тогда
|
||||
Если МассивСтрок = Неопределено Тогда
|
||||
МассивСтрок = ТаблицаИлиДерево;
|
||||
Если СтрокиТаблицы = Неопределено Тогда
|
||||
СтрокиТаблицы = ТаблицаИлиДерево;
|
||||
КонецЕсли;
|
||||
ТаблицаПользователей = Новый ТаблицаЗначений;
|
||||
ТаблицаПользователей.Колонки.Добавить(ИмяПоляПользователь,
|
||||
Метаданные.РегистрыСведений.СоставыГруппПользователей.Измерения.ГруппаПользователей.Тип);
|
||||
Для Каждого Строка Из МассивСтрок Цикл
|
||||
ТаблицаПользователей.Добавить()[ИмяПоляПользователь] = Строка[ИмяПоляПользователь];
|
||||
Для Каждого СтрокаТаблицы Из СтрокиТаблицы Цикл
|
||||
ТаблицаПользователей.Добавить()[ИмяПоляПользователь] = СтрокаТаблицы[ИмяПоляПользователь];
|
||||
КонецЦикла;
|
||||
ИначеЕсли ТипЗнч(ТаблицаИлиДерево) = Тип("Массив") Тогда
|
||||
МассивСтрок = ТаблицаИлиДерево;
|
||||
СтрокиТаблицы = ТаблицаИлиДерево;
|
||||
ТаблицаПользователей = Новый ТаблицаЗначений;
|
||||
ТаблицаПользователей.Колонки.Добавить(ИмяПоляПользователь,
|
||||
Метаданные.РегистрыСведений.СоставыГруппПользователей.Измерения.ГруппаПользователей.Тип);
|
||||
Для Каждого Строка Из ТаблицаИлиДерево Цикл
|
||||
ТаблицаПользователей.Добавить()[ИмяПоляПользователь] = Строка[ИмяПоляПользователь];
|
||||
Для Каждого СтрокаТаблицы Из ТаблицаИлиДерево Цикл
|
||||
ТаблицаПользователей.Добавить()[ИмяПоляПользователь] = СтрокаТаблицы[ИмяПоляПользователь];
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
Если МассивСтрок = Неопределено Тогда
|
||||
МассивСтрок = ТаблицаИлиДерево;
|
||||
Если СтрокиТаблицы = Неопределено Тогда
|
||||
СтрокиТаблицы = ТаблицаИлиДерево;
|
||||
КонецЕсли;
|
||||
ТаблицаПользователей = ТаблицаИлиДерево.Выгрузить(МассивСтрок, ИмяПоляПользователь);
|
||||
ТаблицаПользователей = ТаблицаИлиДерево.Выгрузить(СтрокиТаблицы, ИмяПоляПользователь);
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
@@ -635,11 +635,11 @@
|
||||
Запрос.УстановитьПараметр("Пользователи", ТаблицаПользователей);
|
||||
НомераКартинок = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
Для Каждого Строка Из МассивСтрок Цикл
|
||||
НайденнаяСтрока = НомераКартинок.Найти(Строка[ИмяПоляПользователь], "Пользователь");
|
||||
Строка[ИмяПоляНомераКартинки] = ?(НайденнаяСтрока = Неопределено, -2, НайденнаяСтрока.НомерКартинки);
|
||||
Для Каждого СтрокаТаблицы Из СтрокиТаблицы Цикл
|
||||
НайденнаяСтрока = НомераКартинок.Найти(СтрокаТаблицы[ИмяПоляПользователь], "Пользователь");
|
||||
СтрокаТаблицы[ИмяПоляНомераКартинки] = ?(НайденнаяСтрока = Неопределено, -2, НайденнаяСтрока.НомерКартинки);
|
||||
Если ОбработатьИерархиюВторогоИТретьегоУровней Тогда
|
||||
Для каждого Строка2 Из Строка.ПолучитьЭлементы() Цикл
|
||||
Для каждого Строка2 Из СтрокаТаблицы.ПолучитьЭлементы() Цикл
|
||||
НайденнаяСтрока = НомераКартинок.Найти(Строка2[ИмяПоляПользователь], "Пользователь");
|
||||
Строка2[ИмяПоляНомераКартинки] = ?(НайденнаяСтрока = Неопределено, -2, НайденнаяСтрока.НомерКартинки);
|
||||
Для каждого Строка3 Из Строка2.ПолучитьЭлементы() Цикл
|
||||
@@ -1798,14 +1798,14 @@
|
||||
| НеоднозначныеИдентификаторы.НеоднозначныйИдентификатор,
|
||||
| НеоднозначныеИдентификаторы.Пользователь";
|
||||
|
||||
Выгрузка = Запрос.Выполнить().Выгрузить();
|
||||
Результат = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
ОписаниеОшибки = "";
|
||||
ТекущийНеоднозначныйИдентификатор = Неопределено;
|
||||
|
||||
Для Каждого Строка Из Выгрузка Цикл
|
||||
Если Строка.НеоднозначныйИдентификатор <> ТекущийНеоднозначныйИдентификатор Тогда
|
||||
ТекущийНеоднозначныйИдентификатор = Строка.НеоднозначныйИдентификатор;
|
||||
Для Каждого СтрокаТаблицы Из Результат Цикл
|
||||
Если СтрокаТаблицы.НеоднозначныйИдентификатор <> ТекущийНеоднозначныйИдентификатор Тогда
|
||||
ТекущийНеоднозначныйИдентификатор = СтрокаТаблицы.НеоднозначныйИдентификатор;
|
||||
Если ТипЗнч(НайденныеИдентификаторы) = Тип("Соответствие") Тогда
|
||||
ТекущиеПользователи = Новый Массив;
|
||||
НайденныеИдентификаторы.Вставить(ТекущийНеоднозначныйИдентификатор, ТекущиеПользователи);
|
||||
@@ -1841,13 +1841,13 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(НайденныеИдентификаторы) = Тип("Соответствие") Тогда
|
||||
ТекущиеПользователи.Добавить(Строка.Пользователь);
|
||||
ТекущиеПользователи.Добавить(СтрокаТаблицы.Пользователь);
|
||||
Иначе
|
||||
ОписаниеОшибки = ОписаниеОшибки + "- "
|
||||
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = '""%1"" %2'"),
|
||||
Строка.Пользователь,
|
||||
ПолучитьНавигационнуюСсылку(Строка.Пользователь)) + Символы.ПС;
|
||||
СтрокаТаблицы.Пользователь,
|
||||
ПолучитьНавигационнуюСсылку(СтрокаТаблицы.Пользователь)) + Символы.ПС;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -2342,6 +2342,7 @@
|
||||
Процедура ОбновитьНастройкиРегистрацииСобытийДоступаКДанным() Экспорт
|
||||
|
||||
Настройки = НастройкиРегистрацииСобытийДоступаКДанным();
|
||||
ПользователиСлужебный.СвернутьНастройкиДляОдинаковыхТаблиц(Настройки);
|
||||
|
||||
НовоеИспользование = Новый ИспользованиеСобытияЖурналаРегистрации;
|
||||
НовоеИспользование.Использование = ЗначениеЗаполнено(Настройки);
|
||||
|
||||
@@ -1163,6 +1163,56 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Параметры:
|
||||
// Настройки - Массив из ОписаниеИспользованияСобытияДоступЖурналаРегистрации
|
||||
//
|
||||
Процедура СвернутьНастройкиДляОдинаковыхТаблиц(Настройки) Экспорт
|
||||
|
||||
ДобавленныеНастройки = Новый Соответствие;
|
||||
Результат = Новый Массив;
|
||||
|
||||
Для Каждого Настройка Из Настройки Цикл
|
||||
Описание = ДобавленныеНастройки.Получить(ВРег(Настройка.Объект));
|
||||
Если Описание = Неопределено Тогда
|
||||
Описание = Новый Структура("Настройка, ДляПоиска", Настройка);
|
||||
ДобавленныеНастройки.Вставить(ВРег(Настройка.Объект), Описание);
|
||||
Результат.Добавить(Настройка);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Описание.ДляПоиска = Неопределено Тогда
|
||||
ОписаниеДляПоиска = Новый Структура;
|
||||
ОписаниеДляПоиска.Вставить("ПоляДоступа", Новый Соответствие);
|
||||
ОписаниеДляПоиска.Вставить("ПоляРегистрации", Новый Соответствие);
|
||||
Для Каждого ПолеДоступа Из Описание.Настройка.ПоляДоступа Цикл
|
||||
ОписаниеДляПоиска.ПоляДоступа.Вставить(ВРег(ПолеДоступа), Истина);
|
||||
КонецЦикла;
|
||||
Для Каждого ПолеРегистрации Из Описание.Настройка.ПоляРегистрации Цикл
|
||||
ОписаниеДляПоиска.ПоляРегистрации.Вставить(ВРег(ПолеРегистрации), Истина);
|
||||
КонецЦикла;
|
||||
Описание.ДляПоиска = ОписаниеДляПоиска;
|
||||
Иначе
|
||||
ОписаниеДляПоиска = Описание.ДляПоиска;
|
||||
КонецЕсли;
|
||||
Для Каждого ПолеДоступа Из Настройка.ПоляДоступа Цикл
|
||||
Если ОписаниеДляПоиска.ПоляДоступа.Получить(ВРег(ПолеДоступа)) <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ОписаниеДляПоиска.ПоляДоступа.Вставить(ВРег(ПолеДоступа), Истина);
|
||||
Описание.Настройка.ПоляДоступа.Добавить(ПолеДоступа);
|
||||
КонецЦикла;
|
||||
Для Каждого ПолеРегистрации Из Настройка.ПоляРегистрации Цикл
|
||||
Если ОписаниеДляПоиска.ПоляРегистрации.Получить(ВРег(ПолеРегистрации)) <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ОписаниеДляПоиска.ПоляРегистрации.Вставить(ВРег(ПолеРегистрации), Истина);
|
||||
Описание.Настройка.ПоляРегистрации.Добавить(ПолеРегистрации);
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
Настройки = Результат;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Параметры:
|
||||
// Настройки - Массив из ОписаниеИспользованияСобытияДоступЖурналаРегистрации
|
||||
// НенайденныеПоля - Массив - возвращаемое значение, содержащее ненайденные поля.
|
||||
@@ -5021,6 +5071,41 @@
|
||||
ОбновитьИерархиюГрупп(ПустаяГруппа, ИзмененияСоставов);
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| ИерархияГруппПользователей.ГруппаПользователей КАК ГруппаПользователей
|
||||
|ИЗ
|
||||
| РегистрСведений.ИерархияГруппПользователей КАК ИерархияГруппПользователей
|
||||
|ГДЕ
|
||||
| ИерархияГруппПользователей.ГруппаПользователей = НЕОПРЕДЕЛЕНО
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| ИерархияГруппПользователей.ГруппаПользователей
|
||||
|ИЗ
|
||||
| РегистрСведений.ИерархияГруппПользователей КАК ИерархияГруппПользователей
|
||||
|ГДЕ
|
||||
| ИерархияГруппПользователей.ГруппаПользователей = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ПустаяСсылка)
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| ИерархияГруппПользователей.ГруппаПользователей
|
||||
|ИЗ
|
||||
| РегистрСведений.ИерархияГруппПользователей КАК ИерархияГруппПользователей
|
||||
|ГДЕ
|
||||
| ИерархияГруппПользователей.ГруппаПользователей = ЗНАЧЕНИЕ(Справочник.ГруппыВнешнихПользователей.ПустаяСсылка)";
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
НаборЗаписей = РегистрыСведений.ИерархияГруппПользователей.СоздатьНаборЗаписей();
|
||||
НаборЗаписей.Отбор.ГруппаПользователей.Установить(Выборка.ГруппаПользователей);
|
||||
НаборЗаписей.Записать(); // Удаление мусорных записей.
|
||||
ИзмененияСоставов.ИзмененныеГруппы.Вставить(Выборка.ГруппаПользователей);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обновляет состав пользователей группы ВсеПользователи или ВсеВнешниеПользователи
|
||||
@@ -5077,18 +5162,67 @@
|
||||
| &ОтборПользователя
|
||||
| И (СоставыГруппПользователей.Пользователь ЕСТЬ NULL
|
||||
| ИЛИ ЕСТЬNULL(СоставыГруппПользователей.Используется, ЛОЖЬ) <> (НЕ Пользователи.ПометкаУдаления
|
||||
| И НЕ Пользователи.Недействителен))";
|
||||
| И НЕ Пользователи.Недействителен))
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ
|
||||
| СоставыГруппПользователей.ГруппаПользователей,
|
||||
| СоставыГруппПользователей.Пользователь,
|
||||
| NULL,
|
||||
| СоставыГруппПользователей.Используется
|
||||
|ИЗ
|
||||
| РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
|
||||
|ГДЕ
|
||||
| СоставыГруппПользователей.ГруппаПользователей = НЕОПРЕДЕЛЕНО
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ
|
||||
| СоставыГруппПользователей.ГруппаПользователей,
|
||||
| СоставыГруппПользователей.Пользователь,
|
||||
| NULL,
|
||||
| СоставыГруппПользователей.Используется
|
||||
|ИЗ
|
||||
| РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
|
||||
|ГДЕ
|
||||
| СоставыГруппПользователей.Пользователь = НЕОПРЕДЕЛЕНО
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ
|
||||
| СоставыГруппПользователей.ГруппаПользователей,
|
||||
| СоставыГруппПользователей.Пользователь,
|
||||
| NULL,
|
||||
| СоставыГруппПользователей.Используется
|
||||
|ИЗ
|
||||
| РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
|
||||
|ГДЕ
|
||||
| СоставыГруппПользователей.ГруппаПользователей = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ПустаяСсылка)
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ
|
||||
| СоставыГруппПользователей.ГруппаПользователей,
|
||||
| СоставыГруппПользователей.Пользователь,
|
||||
| NULL,
|
||||
| СоставыГруппПользователей.Используется
|
||||
|ИЗ
|
||||
| РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
|
||||
|ГДЕ
|
||||
| СоставыГруппПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)";
|
||||
|
||||
ДляВнешнихПользователей = Тип("СправочникСсылка.ВнешниеПользователи")
|
||||
= ТипЗнч(?(ТипЗнч(Пользователь) = Тип("Массив"), Пользователь[0], Пользователь));
|
||||
|
||||
Если ДляВнешнихПользователей Тогда
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.Пользователи", "Справочник.ВнешниеПользователи");
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст,
|
||||
"Справочник.Пользователи", "Справочник.ВнешниеПользователи");
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст,
|
||||
"Справочник.ГруппыПользователей", "Справочник.ГруппыВнешнихПользователей");
|
||||
ГруппаВсеПользователи = ВнешниеПользователи.ГруппаВсеВнешниеПользователи();
|
||||
ПолноеИмяСправочника = "Справочник.ВнешниеПользователи";
|
||||
Иначе
|
||||
ГруппаВсеПользователи = Пользователи.ГруппаВсеПользователи();
|
||||
ПолноеИмяСправочника = "Справочник.Пользователи";
|
||||
КонецЕсли;
|
||||
|
||||
Запрос.УстановитьПараметр("ГруппаВсеПользователи", ГруппаВсеПользователи);
|
||||
@@ -5129,18 +5263,24 @@
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
Если Выборка.Используется = Null Тогда
|
||||
ПустойНаборЗаписей = РегистрыСведений.СоставыГруппПользователей.СоздатьНаборЗаписей();
|
||||
ПустойНаборЗаписей.Отбор.ГруппаПользователей.Установить(Выборка.ГруппаПользователей);
|
||||
ПустойНаборЗаписей.Отбор.Пользователь.Установить(Выборка.Пользователь);
|
||||
ПустойНаборЗаписей.Записать(); // Удаление мусорных записей.
|
||||
Иначе
|
||||
НаборЗаписей.Отбор.ГруппаПользователей.Установить(Выборка.ГруппаПользователей);
|
||||
НаборЗаписей.Отбор.Пользователь.Установить(Выборка.Пользователь);
|
||||
ЗаполнитьЗначенияСвойств(Запись, Выборка);
|
||||
НаборЗаписей.Записать(); // Добавление или обновление записей о связях.
|
||||
КонецЕсли;
|
||||
|
||||
ИзмененныеГруппы.Вставить(Выборка.ГруппаПользователей);
|
||||
УчастникиИзменений.Вставить(Выборка.Пользователь);
|
||||
Если ДляРегистрации <> Неопределено Тогда
|
||||
ДобавитьИзменениеСостава(ДляРегистрации, Выборка);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ИзмененныеГруппы.Вставить(ГруппаВсеПользователи);
|
||||
КонецЕсли;
|
||||
|
||||
ЗафиксироватьТранзакцию();
|
||||
@@ -5191,6 +5331,7 @@
|
||||
| И (ГруппыДляОбновления2.ГруппаПользователей = &ГруппаПользователей)
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГруппыПользователей.Состав КАК ГруппыПользователейСостав
|
||||
| ПО (ГруппыПользователейСостав.Ссылка = НижестоящиеГруппы.ГруппаПользователей)
|
||||
| И (ГруппыПользователейСостав.Пользователь <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
|
||||
| И (НЕ ГруппыПользователейСостав.Ссылка В
|
||||
| (ВЫБРАТЬ
|
||||
| ВЫРАЗИТЬ(НижестоящиеГруппы.ГруппаПользователей КАК Справочник.ГруппыПользователей) КАК ГруппаПользователей
|
||||
@@ -5228,6 +5369,7 @@
|
||||
| И (ГруппыДляОбновления2.ГруппаПользователей В (&ГруппаПользователей))
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГруппыПользователей.Состав КАК ГруппыПользователейСостав
|
||||
| ПО (ГруппыПользователейСостав.Ссылка = НижестоящиеГруппы.ГруппаПользователей)
|
||||
| И (ГруппыПользователейСостав.Пользователь <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
|
||||
| ПО (ГруппыДляОбновления2.Родитель = СоставыГруппПользователей.ГруппаПользователей)
|
||||
| И (ГруппыПользователейСостав.Пользователь = СоставыГруппПользователей.Пользователь)
|
||||
|ГДЕ
|
||||
@@ -5249,6 +5391,7 @@
|
||||
| И (ГруппыДляОбновления.ГруппаПользователей В (&ГруппаПользователей))
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГруппыПользователей.Состав КАК ГруппыПользователейСостав
|
||||
| ПО (ГруппыПользователейСостав.Ссылка = НижестоящиеГруппы.ГруппаПользователей)
|
||||
| И (ГруппыПользователейСостав.Пользователь <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
|
||||
| ПО (СоставыГруппПользователей.ГруппаПользователей = ГруппыДляОбновления.Родитель)
|
||||
| И (СоставыГруппПользователей.Пользователь = ГруппыПользователейСостав.Пользователь)
|
||||
@@ -5275,6 +5418,7 @@
|
||||
| И (&ОтборДляГруппВнешнихПользователей2)
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГруппыПользователей.Состав КАК ГруппыПользователейСостав
|
||||
| ПО (ГруппыПользователейСостав.Ссылка = НижестоящиеГруппы.ГруппаПользователей)
|
||||
| И (ГруппыПользователейСостав.Пользователь <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
|
||||
| ПО (ГруппыДляОбновления2.Ссылка = СоставыГруппПользователей.ГруппаПользователей)
|
||||
| И (ГруппыПользователейСостав.Пользователь = СоставыГруппПользователей.Пользователь)
|
||||
|ГДЕ
|
||||
@@ -5297,6 +5441,7 @@
|
||||
| И (&ОтборДляГруппВнешнихПользователей0)
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ГруппыПользователей.Состав КАК ГруппыПользователейСостав
|
||||
| ПО (ГруппыПользователейСостав.Ссылка = НижестоящиеГруппы.ГруппаПользователей)
|
||||
| И (ГруппыПользователейСостав.Пользователь <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
|
||||
| ПО (СоставыГруппПользователей.ГруппаПользователей = ГруппыДляОбновления.Ссылка)
|
||||
| И (СоставыГруппПользователей.Пользователь = ГруппыПользователейСостав.Пользователь)
|
||||
@@ -5318,6 +5463,8 @@
|
||||
Запрос.УстановитьПараметр("ГруппаВсеПользователи", ВнешниеПользователи.ГруппаВсеВнешниеПользователи());
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.ГруппыПользователей",
|
||||
"Справочник.ГруппыВнешнихПользователей");
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.Пользователи",
|
||||
"Справочник.ВнешниеПользователи");
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ГруппыПользователейСостав.Пользователь",
|
||||
"ГруппыПользователейСостав.ВнешнийПользователь");
|
||||
КонецЕсли;
|
||||
@@ -5516,6 +5663,10 @@
|
||||
Блокировка.Заблокировать();
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
Если Не ЗначениеЗаполнено(Выборка.ГруппаПользователей)
|
||||
Или Не ЗначениеЗаполнено(Выборка.Пользователь) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
НаборИзОднойЗаписи.Отбор.ГруппаПользователей.Установить(Выборка.ГруппаПользователей);
|
||||
НаборИзОднойЗаписи.Отбор.Пользователь.Установить(Выборка.Пользователь);
|
||||
@@ -5643,13 +5794,13 @@
|
||||
|
||||
Процедура ЗарегистрироватьИзмененияСоставовГрупп(ИзмененияСоставов)
|
||||
|
||||
ДляРегистрации = ИзмененияСоставов.ДляРегистрации;
|
||||
Если Не ЗначениеЗаполнено(ДляРегистрации) Тогда
|
||||
ДанныеДляРегистрации = ИзмененияСоставов.ДляРегистрации;
|
||||
Если Не ЗначениеЗаполнено(ДанныеДляРегистрации) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("ИзмененияСоставов", ДляРегистрации);
|
||||
Запрос.УстановитьПараметр("ИзмененияСоставов", ДанныеДляРегистрации);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ИзмененияСоставов.ГруппаПользователей КАК ГруппаПользователей,
|
||||
@@ -5710,17 +5861,17 @@
|
||||
ПользователиВГруппах.Индексы.Добавить("Пользователь, ГруппаПользователей");
|
||||
Отбор = Новый Структура("Пользователь, ГруппаПользователей");
|
||||
|
||||
Для Каждого Строка Из ДляРегистрации Цикл
|
||||
ЗаполнитьЗначенияСвойств(Отбор, Строка);
|
||||
Для Каждого Элемент Из ДанныеДляРегистрации Цикл
|
||||
ЗаполнитьЗначенияСвойств(Отбор, Элемент);
|
||||
ПользовательВГруппе = ЗначениеЗаполнено(ПользователиВГруппах.НайтиСтроки(Отбор));
|
||||
Свойства = Новый Структура;
|
||||
Свойства.Вставить("ИдентификаторГруппы",
|
||||
НРег(Строка.ГруппаПользователей.УникальныйИдентификатор()));
|
||||
НРег(Элемент.ГруппаПользователей.УникальныйИдентификатор()));
|
||||
Свойства.Вставить("ИдентификаторПользователя",
|
||||
НРег(Строка.Пользователь.УникальныйИдентификатор()));
|
||||
НРег(Элемент.Пользователь.УникальныйИдентификатор()));
|
||||
Свойства.Вставить("ИзНижестоящейГруппы", Не ПользовательВГруппе);
|
||||
Свойства.Вставить("Используется", Строка.Используется);
|
||||
Свойства.Вставить("ВидИзменения", Строка.ВидИзменения);
|
||||
Свойства.Вставить("Используется", Элемент.Используется);
|
||||
Свойства.Вставить("ВидИзменения", Элемент.ВидИзменения);
|
||||
Данные.ИзмененияСоставов.Добавить(Свойства);
|
||||
КонецЦикла;
|
||||
|
||||
@@ -5746,7 +5897,7 @@
|
||||
Данные.ПредставлениеПользователей.Добавить(Свойства);
|
||||
КонецЦикла;
|
||||
|
||||
Если ТипЗнч(ДляРегистрации[0].Пользователь) = Тип("СправочникСсылка.ВнешниеПользователи") Тогда
|
||||
Если ТипЗнч(ДанныеДляРегистрации[0].Пользователь) = Тип("СправочникСсылка.ВнешниеПользователи") Тогда
|
||||
ИмяСобытия = ИмяСобытияИзменениеИзменениеУчастниковГруппВнешнихПользователейДляЖурналаРегистрации();
|
||||
Иначе
|
||||
ИмяСобытия = ИмяСобытияИзменениеИзменениеУчастниковГруппПользователейДляЖурналаРегистрации();
|
||||
@@ -7398,9 +7549,9 @@
|
||||
Таблица22 = Таблица2.Скопировать(, ИмяКолонки);
|
||||
Таблица22.Свернуть(ИмяКолонки);
|
||||
|
||||
Для Каждого Строка Из Таблица22 Цикл
|
||||
Для Каждого СтрокаТаблицы Из Таблица22 Цикл
|
||||
НоваяСтрока = Таблица11.Добавить();
|
||||
НоваяСтрока[ИмяКолонки] = Строка[ИмяКолонки];
|
||||
НоваяСтрока[ИмяКолонки] = СтрокаТаблицы[ИмяКолонки];
|
||||
КонецЦикла;
|
||||
|
||||
Таблица11.Колонки.Добавить("Признак");
|
||||
@@ -10759,10 +10910,10 @@
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
ИдентификаторыРолей = Новый Массив;
|
||||
Для Каждого Строка Из ПрочитанныеРоли Цикл
|
||||
Если ТипЗнч(Строка.Роль) = Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных")
|
||||
Или ТипЗнч(Строка.Роль) = Тип("СправочникСсылка.ИдентификаторыОбъектовРасширений") Тогда
|
||||
ИдентификаторыРолей.Добавить(Строка.Роль);
|
||||
Для Каждого ОписаниеРоли Из ПрочитанныеРоли Цикл
|
||||
Если ТипЗнч(ОписаниеРоли.Роль) = Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных")
|
||||
Или ТипЗнч(ОписаниеРоли.Роль) = Тип("СправочникСсылка.ИдентификаторыОбъектовРасширений") Тогда
|
||||
ИдентификаторыРолей.Добавить(ОписаниеРоли.Роль);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ПрочитанныеРоли = ОбщегоНазначения.ОбъектыМетаданныхПоИдентификаторам(ИдентификаторыРолей, Ложь);
|
||||
@@ -11053,17 +11204,17 @@
|
||||
НесуществующиеРоли = Новый СписокЗначений;
|
||||
|
||||
// Добавление несуществующих ролей.
|
||||
Для каждого Строка Из КоллекцияРолей Цикл
|
||||
Отбор = Новый Структура("ЭтоРоль, Имя", Истина, Строка.Роль);
|
||||
Для каждого ОписаниеРоли Из КоллекцияРолей Цикл
|
||||
Отбор = Новый Структура("ЭтоРоль, Имя", Истина, ОписаниеРоли.Роль);
|
||||
Если ДеревоРолей.Строки.НайтиСтроки(Отбор, Истина).Количество() > 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Синоним = ВсеРоли.Получить(Строка.Роль);
|
||||
Синоним = ВсеРоли.Получить(ОписаниеРоли.Роль);
|
||||
Если Синоним = Неопределено Тогда
|
||||
НесуществующиеРоли.Добавить(Строка.Роль,
|
||||
?(Лев(Строка.Роль, 1) = "?", Строка.Роль, "? " + Строка.Роль));
|
||||
НесуществующиеРоли.Добавить(ОписаниеРоли.Роль,
|
||||
?(Лев(ОписаниеРоли.Роль, 1) = "?", ОписаниеРоли.Роль, "? " + ОписаниеРоли.Роль));
|
||||
Иначе
|
||||
НедоступныеРоли.Добавить(Строка.Роль, Синоним);
|
||||
НедоступныеРоли.Добавить(ОписаниеРоли.Роль, Синоним);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -11288,11 +11439,11 @@
|
||||
//
|
||||
Процедура ДобавитьУдалитьРолиПодсистемы(Параметры, Знач Коллекция, Знач Добавить)
|
||||
|
||||
Для каждого Строка Из Коллекция Цикл
|
||||
Если Строка.ЭтоРоль Тогда
|
||||
ДобавитьУдалитьРоль(Параметры, Строка.Имя, Добавить);
|
||||
Для каждого ОписаниеРоли Из Коллекция Цикл
|
||||
Если ОписаниеРоли.ЭтоРоль Тогда
|
||||
ДобавитьУдалитьРоль(Параметры, ОписаниеРоли.Имя, Добавить);
|
||||
Иначе
|
||||
ДобавитьУдалитьРолиПодсистемы(Параметры, Строка.ПолучитьЭлементы(), Добавить);
|
||||
ДобавитьУдалитьРолиПодсистемы(Параметры, ОписаниеРоли.ПолучитьЭлементы(), Добавить);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -66,8 +66,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
// Развернуть все.
|
||||
Для каждого Строка Из Форма.Роли.ПолучитьЭлементы() Цикл
|
||||
Элементы.Роли.Развернуть(Строка.ПолучитьИдентификатор(), Истина);
|
||||
Для каждого СтрокаТаблицы Из Форма.Роли.ПолучитьЭлементы() Цикл
|
||||
Элементы.Роли.Развернуть(СтрокаТаблицы.ПолучитьИдентификатор(), Истина);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Loaded 100 of 256 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user