3_2_1_446

This commit is contained in:
Компания 1С committed 2026-06-16 23:21:00 +03:00
1 parent 006ab9cdc2
commit 1577b50598
70 files changed
+2830 -1642

No files matched your search

@@ -102,6 +102,7 @@
Результат = Новый Структура;
Результат.Вставить("ИдентификаторыОбъектовМетаданных", Ложь);
Результат.Вставить("ИдентификаторыОбъектовРасширений", Ложь);
Результат.Вставить("ОбновлениеВыполняется", Ложь);
ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов = Новый ФиксированнаяСтруктура(Результат);
@@ -648,6 +649,41 @@
Процедура ВыполнитьОбновлениеДанных(ЕстьИзменения, ЕстьУдаленные, ТолькоПроверка,
ЕстьКритичныеИзменения = Ложь, СписокКритичныхИзменений = "", ОбъектыРасширений = Ложь) Экспорт
Если Не ОбновлениеСправочниковИдентификаторов().ОбновлениеВыполняется Тогда
УстановитьОбновлениеИдентификаторовВыполняется(Истина);
Попытка
ВыполнитьОбновлениеДанныхПослеПроверкиЗацикливания(ЕстьИзменения, ЕстьУдаленные, ТолькоПроверка,
ЕстьКритичныеИзменения, СписокКритичныхИзменений, ОбъектыРасширений);
Исключение
УстановитьОбновлениеИдентификаторовВыполняется(Ложь);
ВызватьИсключение;
КонецПопытки;
УстановитьОбновлениеИдентификаторовВыполняется(Ложь);
Возврат;
КонецЕсли;
ИменаСлужебныхОбъектов = Новый Массив;
ИменаСлужебныхОбъектов.Добавить(Метаданные.Справочники.ВерсииРасширений.ПолноеИмя());
ИменаСлужебныхОбъектов.Добавить(Метаданные.Справочники.ИдентификаторыОбъектовМетаданных.ПолноеИмя());
ИменаСлужебныхОбъектов.Добавить(Метаданные.Справочники.ИдентификаторыОбъектовРасширений.ПолноеИмя());
ИменаСлужебныхОбъектов.Добавить(Метаданные.РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений.ПолноеИмя());
ИменаСлужебныхОбъектов.Добавить(Метаданные.РегистрыСведений.ПараметрыРаботыПрограммы.ПолноеИмя());
ИменаСлужебныхОбъектов.Добавить(Метаданные.РегистрыСведений.ПараметрыРаботыВерсийРасширений.ПолноеИмя());
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Недопустимое получение идентификаторов объектов метаданных в процессе их обновления.
|Следует исключать из подписок на события %1 служебные объекты, в частности:
|%2.'"),
"ПередЗаписью" + "/" + "ПриЗаписи",
"- " + СтрСоединить(ИменаСлужебныхОбъектов, "," + Символы.ПС + "- "));
ВызватьИсключение(ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
КонецПроцедуры
Процедура ВыполнитьОбновлениеДанныхПослеПроверкиЗацикливания(ЕстьИзменения, ЕстьУдаленные, ТолькоПроверка,
ЕстьКритичныеИзменения, СписокКритичныхИзменений, ОбъектыРасширений)
Если ОбъектыРасширений
И ЗначениеЗаполнено(ПараметрыСеанса.ПодключенныеРасширения)
И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
@@ -3497,6 +3533,12 @@
// Для функций ИдентификаторыОбъектовМетаданныхСПопыткойПовтора,
// ОбъектыМетаданныхПоИдентификаторамСПопыткойПовтора.
//
// Возвращаемое значение:
// ФиксированнаяСтруктура:
// * ИдентификаторыОбъектовМетаданных - Булево
// * ИдентификаторыОбъектовРасширений - Булево
// * ОбновлениеВыполняется - Булево
//
Функция ОбновлениеСправочниковИдентификаторов()
УстановитьОтключениеБезопасногоРежима(Истина);
@@ -3511,6 +3553,22 @@
КонецФункции
Процедура УстановитьОбновлениеИдентификаторовВыполняется(ОбновлениеВыполняется)
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
ОбновлениеСправочников = Новый Структура(ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов);
ОбновлениеСправочников.ОбновлениеВыполняется = ОбновлениеВыполняется;
ПараметрыСеанса.ОбновлениеСправочниковИдентификаторов = Новый ФиксированнаяСтруктура(ОбновлениеСправочников);
УстановитьПривилегированныйРежим(Ложь);
УстановитьОтключениеБезопасногоРежима(Ложь);
КонецПроцедуры
// Для функций ОбъектМетаданныхПоИдентификатору, ОбъектыМетаданныхПоИдентификаторам.
Функция ОбъектыМетаданныхПоИдентификаторамСПопыткойПовтора(Идентификаторы, ВызыватьИсключение)
@@ -109,9 +109,7 @@
УстановитьПривилегированныйРежим(Истина);
СвойстваСеанса = УправлениеДоступомСлужебныйПовтИсп.ОписаниеСвойствВидовДоступаСеанса().СвойстваСеанса;
НовоеЗначение = "";
ПроверенныеПоставляемыеПрофилиСеанса(СвойстваСеанса, НовоеЗначение);
Кэш = УправлениеДоступомСлужебныйПовтИсп.ОписаниеПоставляемыхПрофилейСеанса(Ложь);
НачатьТранзакцию();
Попытка
@@ -119,7 +117,7 @@
СтандартныеПодсистемыСервер.ОбновитьПараметрРаботыПрограммы(
"СтандартныеПодсистемы.УправлениеДоступом.ОписаниеПоставляемыхПрофилей",
НовоеЗначение, ЕстьТекущиеИзменения);
Кэш.ХешСумма, ЕстьТекущиеИзменения);
СтандартныеПодсистемыСервер.ДобавитьИзмененияПараметраРаботыПрограммы(
"СтандартныеПодсистемы.УправлениеДоступом.ОписаниеПоставляемыхПрофилей",
@@ -2954,7 +2952,6 @@
ПараметрыОбновления = ПоставляемыеПрофили.ПараметрыОбновления;
Для Каждого СвойстваПрофиля Из ОписанияПрофилей Цикл
СвойстваПрофиля = СвойстваПрофиля; // см. Справочники.ПрофилиГруппДоступа.СвойстваПоставляемогоПрофиля
Если СвойстваПрофиля.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
@@ -37,9 +37,7 @@
&НаКлиенте
Процедура ПарольНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
РаботаСПочтовымиСообщениямиКлиент.ПолеПароляНачалоВыбора(Элемент, Пароль, СтандартнаяОбработка);
РаботаСПочтовымиСообщениямиКлиент.ПолеПароляНачалоВыбора(Элемент, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
@@ -172,9 +172,11 @@
Возврат;
КонецЕсли;
Если Параметр.Отозван Тогда
ЭтотОбъект.Прочитать();
ОбновитьВидимостьПредупреждения();
КонецЕсли;
Если Параметр.Установлен Тогда
ЭтотОбъект.Прочитать();
ПодключитьОбработчикОжидания("ОбработчикОжиданияПоказатьСостояниеСертификата", 0.1, Истина);
КонецЕсли;
Возврат;
@@ -61,11 +61,9 @@
Если Не ПроверитьУникальностьТомаХраненияРазмещенногоВХранилищеДвоичныхДанных(Ссылка, ВидТомаХраненияФайлов, СпособХраненияФайлов) Тогда
// АПК:1297-выкл Локализация строки выполняется в коде ниже.
ТекстОшибки = ТекстОшибкиНеуникальностиТомаХранилищаДвоичныхДанных();
// АПК:1297-вкл
ОбщегоНазначения.СообщитьПользователю(НСтр(ТекстОшибки), , "СпособХраненияФайлов", "Объект", Отказ);
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки,, "СпособХраненияФайлов", "Объект", Отказ);
КонецЕсли;
Если МаксимальныйРазмер <> 0 Тогда
@@ -177,9 +175,7 @@
Если Не ПометкаУдаления Тогда
Если Не ПроверитьУникальностьТомаХраненияРазмещенногоВХранилищеДвоичныхДанных(Ссылка, ВидТомаХраненияФайлов, СпособХраненияФайлов) Тогда
// АПК:1297-выкл Локализация строки выполняется в коде ниже.
ТекстОшибки = ТекстОшибкиНеуникальностиТомаХранилищаДвоичныхДанных(Истина);
// АПК:1297-вкл
ВызватьИсключение НСтр(ТекстОшибки);
КонецЕсли;
@@ -286,40 +282,45 @@
КонецФункции
Функция ПредставлениеСпособаХРаненияФайловДляСообщения(СпособХраненияФайлов)
// АПК:1297-выкл Результат функции локализуется в процедурах ОбработкаПроверкиЗаполнения и ПриЗаписи.
Если СпособХраненияФайлов = Перечисления.СпособыХраненияФайлов.ВоВнешнемХранилищеПоПротоколуS3 Тогда
Результат = "во внешнем хранилище двоичных данных (по протоколу S3)";
ИначеЕсли СпособХраненияФайлов = Перечисления.СпособыХраненияФайлов.ВоВстроенномХранилище Тогда
Результат = "во встроенном хранилище двоичных данных";
Иначе
Результат = Строка(СпособХраненияФайлов);
КонецЕсли;
// АПК:1297-вкл
Возврат Результат;
КонецФункции
Функция ТекстОшибкиНеуникальностиТомаХранилищаДвоичныхДанных(ПроверкаПриЗаписи = Ложь)
// АПК:1297-выкл Локализация строки выполняется в коде процедур ОбработкаПроверкиЗаполнения и ПриЗаписи.
ДополнениеПриПроверкеПриЗаписи = "";
Если ПроверкаПриЗаписи Тогда
ДополнениеПриПроверкеПриЗаписи = " и не помеченный на удаление";
Если СпособХраненияФайлов = Перечисления.СпособыХраненияФайлов.ВоВнешнемХранилищеПоПротоколуS3 Тогда
Результат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В системе уже существует том с видом %1, размещающий данные во внешнем хранилище двоичных данных (по протоколу S3) и не помеченный на удаление.'"),
НРег(ВидТомаХраненияФайлов));
ИначеЕсли СпособХраненияФайлов = Перечисления.СпособыХраненияФайлов.ВоВстроенномХранилище Тогда
Результат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В системе уже существует том с видом %1, размещающий данные во встроенном хранилище двоичных данных и не помеченный на удаление.'"),
НРег(ВидТомаХраненияФайлов));
Иначе
Результат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В системе уже существует том с видом %1, размещающий данные %2 и не помеченный на удаление'"),
НРег(ВидТомаХраненияФайлов),
Строка(СпособХраненияФайлов));
КонецЕсли;
Иначе
Если СпособХраненияФайлов = Перечисления.СпособыХраненияФайлов.ВоВнешнемХранилищеПоПротоколуS3 Тогда
Результат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В системе уже существует том с видом %1, размещающий данные во внешнем хранилище двоичных данных (по протоколу S3).'"),
НРег(ВидТомаХраненияФайлов));
ИначеЕсли СпособХраненияФайлов = Перечисления.СпособыХраненияФайлов.ВоВстроенномХранилище Тогда
Результат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В системе уже существует том с видом %1, размещающий данные во встроенном хранилище двоичных данных.'"),
НРег(ВидТомаХраненияФайлов));
Иначе
Результат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В системе уже существует том с видом %1, размещающий данные %2. Используйте другой том.'"),
НРег(ВидТомаХраненияФайлов),
Строка(СпособХраненияФайлов));
КонецЕсли;
КонецЕсли;
Результат = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("ru = 'В системе уже существует том с видом %1, размещающий данные %2%3'",
НРег(ВидТомаХраненияФайлов),
ПредставлениеСпособаХРаненияФайловДляСообщения(СпособХраненияФайлов),
ДополнениеПриПроверкеПриЗаписи);
// АПК:1297-вкл
Возврат Результат;
КонецФункции
#КонецОбласти
#Иначе
@@ -310,10 +310,6 @@
<key>ru</key>
<value>Команды списка</value>
</title>
<toolTip>
<key>ru</key>
<value>Команды списка</value>
</toolTip>
<extendedTooltip>
<name>КомандыСпискаРасширеннаяПодсказка</name>
<id>70</id>
@@ -654,6 +654,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<width>80</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<skipOnInput>false</skipOnInput>
@@ -700,6 +701,7 @@
<key>ru</key>
<value>Дерево форма заполнения</value>
</title>
<horizontalStretch>false</horizontalStretch>
<extendedTooltip>
<name>ДеревоФормаЗаполненияРасширеннаяПодсказка</name>
<id>103</id>
@@ -87,6 +87,23 @@
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КомментарийОткрытие(Элемент, СтандартнаяОбработка)
Если АнкетированиеКлиент.ЕстьРодительскаяГруппаТолькоПросмотр(Элемент) Тогда
Возврат;
КонецЕсли;
СтандартнаяОбработка = Ложь;
Если Элементы.Найти(Элемент.Имя) = Неопределено Тогда
Возврат;
КонецЕсли;
ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(
Элемент.ТекстРедактирования, ЭтотОбъект, Элемент.Имя, Элемент.ПодсказкаВвода);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -1414,7 +1414,7 @@
КнопкаНастройкиФормата.КартинкаЗначений = БиблиотекаКартинок.ПараметрыВыводаКомпоновкиДанных;
КнопкаНастройкиФормата.Заголовок = НСтр("ru = 'Настройка формата'");
КнопкаНастройкиФормата.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
КнопкаНастройкиФормата.ГиперссылкаЯчейки = Истина;
КнопкаНастройкиФормата.ОтображениеГиперссылкиЯчейки = ОтображениеГиперссылкиЯчейки.Отображать;
КнопкаНастройкиФормата.ОтображатьВПодвале = Ложь;
УстановитьПримерыЗначений();
@@ -3961,7 +3961,7 @@
КнопкаНастройкиФормата.КартинкаЗначений = БиблиотекаКартинок.ПараметрыВыводаКомпоновкиДанных;
КнопкаНастройкиФормата.Заголовок = НСтр("ru = 'Настройка формата'");
КнопкаНастройкиФормата.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
КнопкаНастройкиФормата.ГиперссылкаЯчейки = Истина;
КнопкаНастройкиФормата.ОтображениеГиперссылкиЯчейки = ОтображениеГиперссылкиЯчейки.Отображать;
КнопкаНастройкиФормата.ОтображатьВПодвале = Ложь;
УстановитьПримерыЗначений();
@@ -720,7 +720,6 @@
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Результат = Новый Соответствие;
Результат.Вставить("Г.О.", "Городской округ"); // @Non-NLS-1, @Non-NLS-2
Результат.Вставить("М.Р-Н", "муниципальный район"); // @Non-NLS-1, @Non-NLS-2
Результат.Вставить("ВН.ТЕР.", "Внутригородская территория"); // @Non-NLS-1, @Non-NLS-2
Результат.Вставить("ВН.ТЕР.Г.", "Внутригородская территория"); // @Non-NLS-1, @Non-NLS-2
Результат.Вставить("М.О.", "Муниципальный округ"); // @Non-NLS-1, @Non-NLS-2
@@ -739,7 +738,6 @@
Результат.Вставить("Г. П.", "Городское поселение"); // @Non-NLS-1, @Non-NLS-2
Результат.Вставить("ВН.Р-Н", "Внутригородской район"); // @Non-NLS-1, @Non-NLS-2
Результат.Вставить("С.П.", "Сельское поселение"); // @Non-NLS-1, @Non-NLS-2
Результат.Вставить("МЕЖ.ТЕР.", "Межселенная территория"); // @Non-NLS-1, @Non-NLS-2
// АПК: 1297-вкл
@@ -4693,7 +4693,26 @@
Если ЭтоРегион И ЗначениеЗаполнено(Адрес["areaValue"]) Тогда
Возврат Адрес["areaValue"];
КонецЕсли;
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Если СтрСравнить(ИмяУровня, "munDistrict") = 0 Тогда
Если СтрНачинаетсяС(ВРег(Адрес[ИмяУровня]), ВРег("Муниципальный район"))
Или СтрНачинаетсяС(ВРег(Адрес[ИмяУровня]), ВРег("Муниципальные районы")) Тогда
Возврат Адрес[ИмяУровня];
КонецЕсли;
КонецЕсли;
Если СтрСравнить(ИмяУровня, "settlement") = 0 Тогда
Если СтрНачинаетсяС(ВРег(Адрес[ИмяУровня]), ВРег("Межселенные территории"))
Или СтрНачинаетсяС(ВРег(Адрес[ИмяУровня]), ВРег("Межселенная территория"))
Или СтрНачинаетсяС(ВРег(Адрес[ИмяУровня]), ВРег("Эвенкийское")) Тогда
Возврат Адрес[ИмяУровня];
КонецЕсли;
КонецЕсли;
// АПК: 1297-вкл
Возврат СоединитьНаименованиеИТипАдресногоОбъекта(Адрес[ИмяУровня], Адрес[ИмяУровня + "Type"], ЭтоРегион);
КонецФункции
@@ -4704,7 +4723,6 @@
Возврат Номер;
КонецЕсли;
Возврат ТРег(ТипЗданияИлиПомещения) + " "+ Номер;
КонецФункции
@@ -8928,7 +8946,7 @@
Процедура ОбработатьОбщепринятыеСокращенияИУдалитьТочкуВКонецТипа(АдресПоЧастям)
ОбщепринятыеСокращения = ОбщепринятыеСокращенияЗданийИПомещений();
ОбщепринятыеСокращения = ОбщепринятыеСокращенияАдресныхЭлементовИОбъектов();
Фильтр = Новый Структура("Уровень", 0);
НераспознанныеСтроки = АдресПоЧастям.НайтиСтроки(Фильтр);
@@ -8963,20 +8981,25 @@
КонецПроцедуры
Функция ОбщепринятыеСокращенияЗданийИПомещений()
Функция ОбщепринятыеСокращенияАдресныхЭлементовИОбъектов()
СтатическиеСокращения = Новый Соответствие;
СтатическиеСокращения.Вставить("КОРП", "Корпус");
СтатическиеСокращения.Вставить("К", "Корпус");
СтатическиеСокращения.Вставить("КВ", "Квартира");
СтатическиеСокращения.Вставить("КВАРТ", "Квартира");
СтатическиеСокращения.Вставить("ОФ", "Офис");
СтатическиеСокращения.Вставить("ПОМЕЩ", "Помещение");
СтатическиеСокращения.Вставить("ПОМ", "Помещение");
СтатическиеСокращения.Вставить("Д", "Дом");
СтатическиеСокращения.Вставить("СТР", "Строение");
// Адресные элементы
СтатическиеСокращения.Вставить("ЛИНИЯ", "Лн.");
// Дома, здания, помещения, офисы, квартиры
СтатическиеСокращения.Вставить("КОРП", "Корпус");
СтатическиеСокращения.Вставить("К", "Корпус");
СтатическиеСокращения.Вставить("КВ", "Квартира");
СтатическиеСокращения.Вставить("КВАРТ", "Квартира");
СтатическиеСокращения.Вставить("ОФ", "Офис");
СтатическиеСокращения.Вставить("ПОМЕЩ", "Помещение");
СтатическиеСокращения.Вставить("ПОМ", "Помещение");
СтатическиеСокращения.Вставить("Д", "Дом");
СтатическиеСокращения.Вставить("СТР", "Строение");
СтатическиеСокращения.Вставить("СТРОЕН", "Строение");
СтатическиеСокращения.Вставить("ЛИТЕР", "Литера");
СтатическиеСокращения.Вставить("ЛИТЕР", "Литера");
Возврат СтатическиеСокращения;
@@ -9849,11 +9872,7 @@
ОбщегоНазначения.РазрешенДоступКИнтернетСервисам(Истина);
URLПорталаПоддержки = "https://portal.1c.ru/";
СохраненныйТекущийURLПорталаПоддержки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("АдресныйКлассификатор", "URLПорталаПоддержки");
Если ТипЗнч(СохраненныйТекущийURLПорталаПоддержки) = Тип("Строка") И ЗначениеЗаполнено(СохраненныйТекущийURLПорталаПоддержки) Тогда
URLПорталаПоддержки = СохраненныйТекущийURLПорталаПоддержки;
КонецЕсли;
URLПорталаПоддержки = URLСтраницыПорталаПоддержки();
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
@@ -9888,22 +9907,6 @@
ЗащищенноеСоединение = ОбщегоНазначенияКлиентСервер.НовоеЗащищенноеСоединение();
ИспользоватьАутентификациюОС = Ложь;
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
СохраненныйТекущийURLВебСервиса = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("АдресныйКлассификатор", "URLСервисаКлассификатора1С");
Если ТипЗнч(СохраненныйТекущийURLВебСервиса) = Тип("Строка") И ЗначениеЗаполнено(СохраненныйТекущийURLВебСервиса) Тогда
URLВебСервисаПоЧастям = СтрРазделить(СохраненныйТекущийURLВебСервиса, ":", Ложь);
ИмяСервера = СокрЛП(URLВебСервисаПоЧастям[0]);
Если URLВебСервисаПоЧастям.Количество() > 1 Тогда
ТипЧисло = Новый ОписаниеТипов("Число");
Порт = ТипЧисло.ПривестиЗначение(URLВебСервисаПоЧастям[1]);
ЗащищенноеСоединение = Неопределено;
Если Порт = 0 Тогда
Порт = 80;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
УстановитьОтключениеБезопасногоРежима(Истина);
Попытка
@@ -9955,6 +9958,10 @@
КонецФункции
Функция URLСтраницыПорталаПоддержки()
Возврат "https://portal.1c.ru/";
КонецФункции
Функция ВыполнитьЗапросЧерезВебСервис(СтрокаЗапроса, ВремяОжидания = 60)
Результат = НовыйОтветИзВебСервиса();
@@ -69,7 +69,6 @@
МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.АналитическийОтчетПоАнкетированию);
КонецПроцедуры
// См. РассылкаОтчетовПереопределяемый.ОпределитьИсключаемыеОтчеты
Процедура ПриОпределенииИсключаемыхОтчетов(ИсключаемыеОтчеты) Экспорт
@@ -623,7 +622,7 @@
ИначеЕсли СтрокаДерева.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз Тогда
ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(СтрокаДерева.ЭлементарныйВопрос, Форма);
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(150));
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка");
ОписаниеТипаБулево = Новый ОписаниеТипов("Булево");
Счетчик = 0;
@@ -642,7 +641,7 @@
Если (СтрокаДерева.ТипОтвета <> Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз)
И (СтрокаДерева.ТребуетсяКомментарий) Тогда
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(150));
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка");
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса + "_Комментарий", ОписаниеТипаСтроки, ,
СтрокаДерева.ПояснениеКомментария));
КонецЕсли;
@@ -766,7 +765,7 @@
ВариантыОтветовНаВопрос = ВариантыОтветовНаВопрос(СтрокаКомплексногоВопроса.ЭлементарныйВопрос, Форма);
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(150));
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка");
ОписаниеТипаБулево = Новый ОписаниеТипов("Булево");
Счетчик = 0;
@@ -796,7 +795,7 @@
Если (ПредставлениеТипВопроса.ТипОтвета <> Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз)
И (СтрокаКомплексногоВопроса.ТребуетсяКомментарий) Тогда
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(150));
ОписаниеТипаСтроки = Новый ОписаниеТипов("Строка");
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяВопроса + "_Комментарий_" + Формат(
СтрокаКомплексногоВопроса.НомерСтроки, "ЧГ="), ОписаниеТипаСтроки, ,
СтрокаКомплексногоВопроса.ПояснениеКомментария));
@@ -1163,8 +1162,9 @@
Элемент.АвтоМаксимальнаяШирина = Ложь;
Элемент.ПодсказкаВвода = СтрокаТаблицы.ПояснениеКомментария;
Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
Элемент.РастягиватьПоГоризонтали = Неопределено;
Элемент.КнопкаВыбора = Истина;
Элемент.РастягиватьПоГоризонтали = Истина;
Элемент.КнопкаОткрытия = Истина;
Элемент.УстановитьДействие("Открытие", "Подключаемый_КомментарийОткрытие");
КонецЕсли;
КонецЕсли;
@@ -1573,8 +1573,9 @@
"ПояснениеКомментария");
Элемент.ПодсказкаВвода = ПояснениеКомментария;
Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
Элемент.РастягиватьПоГоризонтали = Ложь;
Элемент.КнопкаВыбора = Истина;
Элемент.РастягиватьПоГоризонтали = Истина;
Элемент.КнопкаОткрытия = Истина;
Элемент.УстановитьДействие("Открытие", "Подключаемый_КомментарийОткрытие");
КонецЕсли;
КонецЦикла;
@@ -1816,7 +1817,7 @@
| ВопросыШаблонаАнкеты.ТипВопроса КАК ТипВопроса,
| ВопросыШаблонаАнкеты.ТипТабличногоВопроса КАК ТипТабличногоВопроса,
| ВопросыШаблонаАнкеты.ЭлементарныйВопрос КАК ЭлементарныйВопрос,
| ""Вопрос"" КАК ТипСтроки,
| &ИдентификаторВопрос КАК ТипСтроки,
| ВопросыШаблонаАнкеты.РодительВопрос КАК РодительВопрос,
| ВопросыШаблонаАнкеты.Подсказка КАК Подсказка,
| ВопросыШаблонаАнкеты.СпособОтображенияПодсказки КАК СпособОтображенияПодсказки,
@@ -1922,6 +1923,7 @@
Запрос.УстановитьПараметр("ШаблонАнкеты", ШаблонАнкеты);
Запрос.УстановитьПараметр("Раздел", Раздел);
Запрос.УстановитьПараметр("ИдентификаторВопрос", "Вопрос");
МассивРезультатовЗапросов = Запрос.ВыполнитьПакет();
@@ -371,4 +371,20 @@
КонецПроцедуры
Функция ЕстьРодительскаяГруппаТолькоПросмотр(Элемент) Экспорт
Родитель = Элемент.Родитель;
Пока ТипЗнч(Родитель) = Тип("ГруппаФормы") Цикл
Если Родитель.ТолькоПросмотр Тогда
Возврат Истина;
КонецЕсли;
Родитель = Родитель.Родитель;
КонецЦикла;
Возврат Ложь;
КонецФункции
#КонецОбласти
@@ -94,6 +94,7 @@
ОбщаяКомпонента = Ссылка.ПолучитьОбъект();
ОбщаяКомпонента.Заблокировать();
ОбщаяКомпонента.ПометкаУдаления = Ложь;
КонецЕсли;
ОбщаяКомпонента.Заполнить(Неопределено);
@@ -338,12 +338,10 @@
// расширений конфигурации. Имеет приоритет над параметром ЗапуститьНеВФоне.
// * СРасширениямиБазыДанных - Булево - если Истина, то фоновое задание будет запущено с последней версией
// расширений конфигурации. Имеет приоритет над параметром ЗапуститьНеВФоне.
// * ВнешнийОтчетОбработка - Неопределено - по умолчанию.
// - ДвоичныеДанные - когда указано имя метода, которое начинается
// с "ВнешнийОтчет." или "ВнешняяОбработка.".
// Для вызова такого метода требуется право интерактивного открытия
// внешнего отчета или обработки соответственно.
// Внешний отчет или обработка подключаются с защитой от опасных действий.
// * ВнешнийОтчетОбработка - см. НовоеОписаниеВнешнегоОтчетаОбработки
// - Неопределено - по умолчанию, когда указано имя метода, которое
// не начинается с "ВнешнийОтчет." или "ВнешняяОбработка.", в противном случае
// следует использовать конструктор описания внешнего отчета или обработки.
// * ПрерватьВыполнениеЕслиОшибка - Булево - если Истина, то при возникновении ошибки в одном из дочерних фоновых
// заданий, выполнение многопоточного фонового задания будет прервано.
// Выполнение уже запущенных дочерних фоновых задания будет отменно.
@@ -390,12 +388,10 @@
// расширений конфигурации. Имеет приоритет над параметром ЗапуститьНеВФоне.
// * СРасширениямиБазыДанных - Булево - если Истина, то фоновое задание будет запущено с последней версией
// расширений конфигурации. Имеет приоритет над параметром ЗапуститьНеВФоне.
// * ВнешнийОтчетОбработка - Неопределено - по умолчанию.
// - ДвоичныеДанные - когда указано имя метода, которое начинается
// с "ВнешнийОтчет." или "ВнешняяОбработка.".
// Для вызова такого метода требуется право интерактивного открытия
// внешнего отчета или обработки соответственно.
// Внешний отчет или обработка подключаются с защитой от опасных действий.
// * ВнешнийОтчетОбработка - см. НовоеОписаниеВнешнегоОтчетаОбработки
// - Неопределено - по умолчанию, когда указано имя метода, которое
// не начинается с "ВнешнийОтчет." или "ВнешняяОбработка.", в противном случае
// следует использовать конструктор описания внешнего отчета или обработки.
// * ПрерватьВыполнениеЕслиОшибка - Булево - если Истина, то при возникновении ошибки в одном из дочерних фоновых
// заданий, выполнение многопоточного фонового задания будет прервано.
// Выполнение уже запущенных дочерних фоновых задания будет отменно.
@@ -502,15 +498,8 @@
ПроверитьИмяПроцедуры(ИмяПроцедуры,
"ИмяПроцедуры", "ДлительныеОперации.ВыполнитьВФоне", ПараметрыВыполнения);
// Обратная совместимость
НовыеПараметрыВыполнения = ПараметрыВыполненияВФоне();
ЗаполнитьЗначенияСвойств(НовыеПараметрыВыполнения, ПараметрыВыполнения);
Если ПараметрыВыполнения.Свойство("ОжидатьЗавершения") И ПараметрыВыполнения.ОжидатьЗавершения <> -1 Тогда
ПараметрыВыполнения.ОжидатьЗавершение = ПараметрыВыполнения.ОжидатьЗавершения;
КонецЕсли;
ПараметрыВыполнения = НовыеПараметрыВыполнения;
ПроверитьПараметрыВыполнения(ПараметрыВыполнения);
ЗаполнитьПараметрыВыполненияСУчетомОбратнойСовместимости(ПараметрыВыполнения);
ПроверитьПараметрыВыполнения(ИмяПроцедуры, ПараметрыВыполнения);
Если ПараметрыВыполнения.СвойстваИсполняющегоПотокаМногопоточнойДлительнойОперации = Неопределено Тогда
ПроверитьИЗаполнитьАдресРезультата(ПараметрыВыполнения, "ДлительныеОперации.ВыполнитьВФоне");
КонецЕсли;
@@ -695,12 +684,10 @@
// расширений конфигурации. Имеет приоритет над параметром ЗапуститьНеВФоне.
// * СРасширениямиБазыДанных - Булево - если Истина, то фоновое задание будет запущено с последней версией
// расширений конфигурации. Имеет приоритет над параметром ЗапуститьНеВФоне.
// * ВнешнийОтчетОбработка - Неопределено - по умолчанию.
// - ДвоичныеДанные - когда указано имя метода, которое начинается
// с "ВнешнийОтчет." или "ВнешняяОбработка.".
// Для вызова такого метода требуется право интерактивного открытия
// внешнего отчета или обработки соответственно.
// Внешний отчет или обработка подключаются с защитой от опасных действий.
// * ВнешнийОтчетОбработка - см. НовоеОписаниеВнешнегоОтчетаОбработки
// - Неопределено - по умолчанию, когда указано имя метода, которое
// не начинается с "ВнешнийОтчет." или "ВнешняяОбработка.", в противном случае
// следует использовать конструктор описания внешнего отчета или обработки.
// * УточнениеОшибки - Строка - если не пустая строка, тогда для пользователя текст ошибки
// будет уточнен указанным начальным текстом. Пример уточнения:
// НСтр("ru = 'Не удалось очистить адресный классификатор по причине:'")
@@ -714,6 +701,39 @@
КонецФункции
// Конструктор значения свойства ВнешнийОтчетОбработка см. ПараметрыВыполненияВФоне
// Требуется, когда указано имя метода, которое начинается
// с "ВнешнийОтчет." или "ВнешняяОбработка.".
// Когда используется режим ВыполнитьНеВФоне, а данные не указаны (Неопределено),
// тогда производится попытка создать объект внешнего отчета или обработки по его имени,
// исходя из того, что объект уже подключен в текущем сеансе.
//
// Возвращаемое значение:
// Структура:
// * Данные - ДвоичныеДанные - для подключения объекта требуется право
// интерактивного открытия внешнего отчета или обработки соответственно.
// Внешний отчет или обработка подключаются с защитой от опасных действий.
// - СправочникСсылка - ссылка на дополнительный отчет или обработку,
// добавленную администратором. Требуется подсистема ДополнительныеОтчетыИОбработки.
// Для подключения объекта не требуется право интерактивного открытия внешнего отчета и
// внешней обработки, так как подключение объекта выполняется по настройкам,
// сделанным администратором, а также не требуется защита от опасных действий,
// так как администратор уже проверил и подтвердил безопасность.
// * ПолноеИмяФайла - Строка - пустая строка по умолчанию.
// Если указать полное имя файла, который содержит указанные
// двоичные данные внешнего отчета или внешней обработки, тогда этот файл
// будет использован при подключении вместо создания временного файла.
//
Функция НовоеОписаниеВнешнегоОтчетаОбработки() Экспорт
Результат = Новый Структура;
Результат.Вставить("Данные", Неопределено);
Результат.Вставить("ПолноеИмяФайла", "");
Возврат Результат;
КонецФункции
// Регистрирует информацию о ходе выполнения длительной операции.
// Не следует использовать для передачи результата работы длительной операции по частям.
//
@@ -1845,47 +1865,46 @@
Функция ВнешняяОбработкаОтчетОбъект(ЭтоВнешнийОтчет, ПараметрыВыполнения, ИмяПодключеннойОбработкиОтчета)
МенеджерОбъекта = ?(ЭтоВнешнийОтчет, ВнешниеОтчеты, ВнешниеОбработки);
ВнешнийОтчетОбработка = ПараметрыВыполнения.ВнешнийОтчетОбработка;
Если ПараметрыВыполнения.ВнешнийОтчетОбработка = Неопределено Тогда
Если ВнешнийОтчетОбработка = Неопределено Тогда
Если ПараметрыВыполнения.ЗапуститьНеВФоне Тогда
Возврат МенеджерОбъекта.Создать(ИмяПодключеннойОбработкиОтчета, БезопасныйРежим());
КонецЕсли;
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для вызова процедуры внешнего отчета или внешней обработки
|требуется заполнить параметр %1.'"),
"ВнешнийОтчетОбработка");
НСтр("ru = 'Для вызова процедуры внешнего отчета или внешней обработки в фоне
|требуется заполнить свойство %1 параметра %2.'"),
"ВнешнийОтчетОбработка", "ПараметрыВыполнения");
ВызватьИсключение(ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
КонецЕсли;
ИмяПраваДоступа = ?(ЭтоВнешнийОтчет, "ИнтерактивноеОткрытиеВнешнихОтчетов", "ИнтерактивноеОткрытиеВнешнихОбработок");
ВыполнитьПроверкуПравДоступа(ИмяПраваДоступа, Метаданные);
БезопасныйРежим = БезопасныйРежим();
Если БезопасныйРежим <> Ложь Тогда
УстановитьОтключениеБезопасногоРежима(Истина);
КонецЕсли;
Если ТипЗнч(ПараметрыВыполнения.ВнешнийОтчетОбработка) = Тип("ДвоичныеДанные") Тогда
ДвоичныеДанные = ПараметрыВыполнения.ВнешнийОтчетОбработка;
ПолноеИмяФайла = "";
Если ТипЗнч(ВнешнийОтчетОбработка.Данные) <> Тип("ДвоичныеДанные") Тогда
МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки");
Возврат МодульДополнительныеОтчетыИОбработки.ОбъектВнешнейОбработки(
ВнешнийОтчетОбработка.Данные);
КонецЕсли;
ИмяПраваДоступа = ?(ЭтоВнешнийОтчет, "ИнтерактивноеОткрытиеВнешнихОтчетов", "ИнтерактивноеОткрытиеВнешнихОбработок");
ВыполнитьПроверкуПравДоступа(ИмяПраваДоступа, Метаданные);
ДвоичныеДанные = ВнешнийОтчетОбработка.Данные;
ПолноеИмяФайла = ВнешнийОтчетОбработка.ПолноеИмяФайла;
Если Не ЗначениеЗаполнено(ПолноеИмяФайла) Тогда
СоздатьВременныйФайл = Истина;
Иначе
ДвоичныеДанные = ПараметрыВыполнения.ВнешнийОтчетОбработка.ДвоичныеДанные;
ПолноеИмяФайла = ПараметрыВыполнения.ВнешнийОтчетОбработка.ПолноеИмяФайла;
Если Не ЗначениеЗаполнено(ПолноеИмяФайла) Тогда
СоздатьВременныйФайл = Ложь;
Попытка
ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ПолноеИмяФайла);
Исключение
СоздатьВременныйФайл = Истина;
Иначе
СоздатьВременныйФайл = Ложь;
Попытка
ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ПолноеИмяФайла);
Исключение
СоздатьВременныйФайл = Истина;
КонецПопытки;
Если Не СоздатьВременныйФайл Тогда
СоздатьВременныйФайл = ДвоичныеДанныеФайла <>
ПараметрыВыполнения.ВнешнийОтчетОбработка.ДвоичныеДанные;
КонецЕсли;
КонецПопытки;
Если Не СоздатьВременныйФайл Тогда
СоздатьВременныйФайл = ДвоичныеДанныеФайла <> ВнешнийОтчетОбработка.Данные;
КонецЕсли;
КонецЕсли;
@@ -2383,6 +2402,8 @@
ЗаполнитьЗначенияСвойств(Параметры, ПараметрыВыполнения);
КонецЕсли;
Параметры.ЗапуститьНеВФоне = Истина;
ЗаполнитьПараметрВнешнийОтчетОбработка(Параметры.ВнешнийОтчетОбработка);
ПроверитьПараметрВнешнийОтчетОбработка(Параметры, ИмяПроцедуры, ИмяМетода);
Объект = ОбработкаОтчетОбъект(ИмяПроцедуры,
ЧастиИмени, Параметры, "ИмяПроцедуры", "ВызватьПроцедуру");
ПроверяемоеИмяПроцедуры = ЧастиИмени[3];
@@ -2437,7 +2458,47 @@
КонецФункции
Процедура ПроверитьПараметрыВыполнения(ПараметрыВыполнения)
Процедура ЗаполнитьПараметрыВыполненияСУчетомОбратнойСовместимости(ПараметрыВыполнения)
НовыеПараметрыВыполнения = ПараметрыВыполненияВФоне();
ЗаполнитьЗначенияСвойств(НовыеПараметрыВыполнения, ПараметрыВыполнения);
Если ПараметрыВыполнения.Свойство("ОжидатьЗавершения") И ПараметрыВыполнения.ОжидатьЗавершения <> -1 Тогда
ПараметрыВыполнения.ОжидатьЗавершение = ПараметрыВыполнения.ОжидатьЗавершения;
КонецЕсли;
ЗаполнитьПараметрВнешнийОтчетОбработка(НовыеПараметрыВыполнения.ВнешнийОтчетОбработка);
ПараметрыВыполнения = НовыеПараметрыВыполнения;
КонецПроцедуры
Процедура ЗаполнитьПараметрВнешнийОтчетОбработка(ЗначениеПараметра)
Если ЗначениеПараметра = Неопределено Тогда
Возврат;
КонецЕсли;
Результат = НовоеОписаниеВнешнегоОтчетаОбработки();
Если ТипЗнч(ЗначениеПараметра) = Тип("ДвоичныеДанные") Тогда
Результат.Данные = ЗначениеПараметра;
ИначеЕсли ТипЗнч(ЗначениеПараметра) = Тип("Структура") Тогда
ЗаполнитьЗначенияСвойств(Результат, ЗначениеПараметра);
Если Результат.Данные = Неопределено Тогда
УстаревшиеСвойства = Новый Структура("ДвоичныеДанные");
ЗаполнитьЗначенияСвойств(УстаревшиеСвойства, ЗначениеПараметра);
Результат.Данные = УстаревшиеСвойства.ДвоичныеДанные;
КонецЕсли;
КонецЕсли;
ЗначениеПараметра = Результат;
КонецПроцедуры
Процедура ПроверитьПараметрыВыполнения(ИмяПроцедуры, ПараметрыВыполнения)
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр("ДлительныеОперации.ВыполнитьВФоне", "ПараметрыВыполнения",
ПараметрыВыполнения, Тип("Структура"));
@@ -2487,7 +2548,51 @@
КатегорияОшибки.ОшибкаКонфигурации);
КонецЕсли;
КонецПроцедуры
ПроверитьПараметрВнешнийОтчетОбработка(ПараметрыВыполнения,
ИмяПроцедуры, "ДлительныеОперации.ВыполнитьВФоне");
КонецПроцедуры
Процедура ПроверитьПараметрВнешнийОтчетОбработка(ПараметрыВыполнения, ИмяПроцедуры, ИмяМетода)
Если ПараметрыВыполнения.ВнешнийОтчетОбработка = Неопределено Тогда
Если ПараметрыВыполнения.ЗапуститьНеВФоне
Или Не СтрНачинаетсяС(ВРег(ИмяПроцедуры), "ВНЕШНИЙОТЧЕТ.")
И Не СтрНачинаетсяС(ВРег(ИмяПроцедуры), "ВНЕШНЯЯОБРАБОТКА.") Тогда
Возврат;
КонецЕсли;
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для вызова процедуры внешнего отчета или внешней обработки в фоне
|требуется заполнить свойство %1 параметра %2 в %3.'"),
"ВнешнийОтчетОбработка", "ПараметрыВыполнения", ИмяМетода);
ВызватьИсключение(ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
КонецЕсли;
ТипыДанных = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Тип("ДвоичныеДанные"));
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда
МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки");
ТипыДанных.Добавить(МодульДополнительныеОтчетыИОбработки.ТипДополнительныйОтчетИлиОбработка());
КонецЕсли;
ОжидаемыеТипыСвойств = Новый Структура;
ОжидаемыеТипыСвойств.Вставить("Данные", Новый ОписаниеТипов(ТипыДанных));
ОжидаемыеТипыСвойств.Вставить("ПолноеИмяФайла", Тип("Строка"));
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(ИмяМетода,
"ПараметрыВыполнения.ВнешнийОтчетОбработка",
ПараметрыВыполнения.ВнешнийОтчетОбработка,
Тип("Структура"),
ОжидаемыеТипыСвойств);
Если Не ЗначениеЗаполнено(ПараметрыВыполнения.ВнешнийОтчетОбработка.Данные) Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для вызова процедуры внешнего отчета или внешней обработки в фоне
|требуется заполнить свойство %1 параметра %2 в %3.'"),
"ВнешнийОтчетОбработка.Данные", "ПараметрыВыполнения", ИмяМетода);
ВызватьИсключение(ТекстОшибки, КатегорияОшибки.ОшибкаКонфигурации);
КонецЕсли;
КонецПроцедуры
Процедура ПроверитьИЗаполнитьАдресРезультата(ПараметрыВыполнения, ИмяФункции)
@@ -2840,6 +2945,7 @@
РезультатЗапускаУказан = РезультатЗапуска <> Неопределено;
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Если Не РезультатЗапускаУказан Тогда
@@ -2984,6 +3090,7 @@
Попытка
Блокировка.Заблокировать();
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
НаборЗаписей = РегистрыСведений.ДлительныеОперации.СоздатьНаборЗаписей();
@@ -3144,6 +3251,7 @@
Функция ЕстьЗавершенныеПотоки(Потоки, ЗавершитьДосрочноЕслиОшибка, ИдентификаторПроцесса)
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
ЕстьЗавершенныеПотоки = Ложь;
@@ -3209,6 +3317,7 @@
//
Процедура ОтменитьВыполнениеВсехПотоков(ИдентификаторПроцесса)
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Потоки = АктивныеПотоки(ИдентификаторПроцесса);
@@ -3226,6 +3335,7 @@
//
Процедура УдалитьНесуществующиеПотоки()
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
ВсеПотоки = ПотокиДлительныхОпераций();
@@ -3342,6 +3452,7 @@
КонецЕсли;
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Возврат Запрос.Выполнить().Выгрузить();
@@ -3385,6 +3496,7 @@
Функция АктивныеПотоки(ИдентификаторПроцесса = Неопределено)
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
@@ -3440,6 +3552,7 @@
//
Функция ПотокиОжидающиеОбработки(ИдентификаторПроцесса)
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
@@ -3482,6 +3595,7 @@
ИмяПользователя = ИмяПользователя();
ТекущаяДатаСеанса = ТекущаяДатаСеанса();
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
НаборЗаписей = РегистрыСведений.ДлительныеОперации.СоздатьНаборЗаписей();
@@ -3815,6 +3929,7 @@
Процедура УдалитьДанныеОПотоках(ИдентификаторПроцесса)
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
НаборЗаписей = РегистрыСведений.ДлительныеОперации.СоздатьНаборЗаписей();
@@ -3826,6 +3941,7 @@
Процедура ЗапланироватьЗапускПотоковДлительныхОпераций(РезультатЗапуска, ПараметрыОперации)
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
ИдентификаторПотока = ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор();
@@ -1851,6 +1851,10 @@
КонецФункции
Функция ТипДополнительныйОтчетИлиОбработка() Экспорт
Возврат Тип("СправочникСсылка.ДополнительныеОтчетыИОбработки");
КонецФункции
Функция ЭтоВидОбработкиДляШаблоновСообщений(ВидОбработки) Экспорт
Если ВидОбработки = ПолучитьВидОбработкиПоСтроковомуПредставлениюВида(
@@ -261,22 +261,31 @@
КонецФункции
Функция ПоследняяПроверкаОбъекта(Ссылка) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| РезультатыПроверкиУчета.Выявлено КАК Выявлено
|ИЗ
| РегистрСведений.РезультатыПроверкиУчета КАК РезультатыПроверкиУчета
|ГДЕ
| РезультатыПроверкиУчета.ПроблемныйОбъект = &ПроблемныйОбъект
|
|УПОРЯДОЧИТЬ ПО
| Выявлено УБЫВ";
Запрос.УстановитьПараметр("ПроблемныйОбъект", Ссылка);
УстановитьПривилегированныйРежим(Истина);
Набор = РегистрыСведений.РезультатыПроверкиУчета.СоздатьНаборЗаписей();
Набор.Отбор.ПроблемныйОбъект.Установить(Ссылка);
Набор.Прочитать();
РезультатЗапроса = Запрос.Выполнить();
УстановитьПривилегированныйРежим(Ложь);
Данные = Набор.Выгрузить(, "Выявлено");
Данные.Сортировать("Выявлено Убыв");
Если Данные.Количество() = 0 Тогда
Возврат Неопределено;
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
Результат = Выборка.Выявлено;
Иначе
Результат = Неопределено;
КонецЕсли;
Возврат Данные[0].Выявлено;
Возврат Результат;
КонецФункции
// Подготавливает данные, необходимые для выполнения проверки ведения учета.
@@ -189,14 +189,17 @@
КонецПроцедуры
// См. СтандартныеПодсистемыКлиент.ПриПолученииСерверногоОповещения.
//
// Параметры:
// ИмяОповещения - Строка
// Результат - Структура - см. НапоминанияПользователяСлужебный.НовыеИзмененныеНапоминания
//
Процедура ПриПолученииСерверногоОповещения(ИмяОповещения, Результат) Экспорт
Если ИмяОповещения <> НапоминанияПользователяКлиентСервер.ИмяСерверногоОповещения() Тогда
Возврат;
КонецЕсли;
Результат = Результат; // см. НапоминанияПользователяСлужебный.НовыеИзмененныеНапоминания
Для Каждого Напоминание Из Результат.Удаленные Цикл
УдалитьЗаписьИзКэшаОповещений(Напоминание);
КонецЦикла;
@@ -44,7 +44,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.2.1.425";
Описание.Версия = "3.2.1.446";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -1439,17 +1439,9 @@
ПараметрыЗадания = Новый Структура("Использование", Использование);
ТребуетсяУстановитьЗапланированныйМоментЗапуска = Ложь;
Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда
МодульТехнологияСервиса = ОбщегоНазначения.ОбщийМодуль("ТехнологияСервиса");
ВерсияБиблиотекиБТС = МодульТехнологияСервиса.ВерсияБиблиотеки();
ТребуетсяУстановитьЗапланированныйМоментЗапуска = ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияБиблиотекиБТС, "2.0.1.0") > 0;
КонецЕсли;
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбновлениеВерсииИБВМоделиСервиса")
И Использование
И ТребуетсяУстановитьЗапланированныйМоментЗапуска Тогда
И Использование Тогда
МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса");
ЗапланированныйМоментЗапуска = МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса.ЗапланированныйМоментЗапускаОбновленияОбласти();
ПараметрыЗадания.Вставить("ЗапланированныйМоментЗапуска", ЗапланированныйМоментЗапуска);
@@ -2673,7 +2665,7 @@
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ПолучениеОбновленийПрограммы") Тогда
МодульПолучениеОбновленийПрограммы = ОбщегоНазначения.ОбщийМодуль("ПолучениеОбновленийПрограммы");
Результат = МодульПолучениеОбновленийПрограммы.ИнформацияОДоступныхИсправлениях();
Если Результат <> Неопределено Тогда
Если Результат.Исправления <> Неопределено Тогда
Исправления = Результат.Исправления.ВыгрузитьКолонку("Наименование");
Результат.Вставить("КоличествоИсправлений", Результат.Исправления.Количество());
Результат.Вставить("Исправления", Исправления);
@@ -2904,6 +2896,13 @@
СброситьПрогрессВыполненияОбработчиков();
ОчиститьЗарегистрированныеПроблемыСДанными();
Если ОбщегоНазначения.РазделениеВключено()
И Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбновлениеВерсииИБВМоделиСервиса") Тогда
МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса");
МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса.УдалитьЗаданияОбновленияОбластей();
КонецЕсли;
Если ПараметрыОбновления.ВФоне Тогда
ДлительныеОперации.СообщитьПрогресс(10);
КонецЕсли;
@@ -4107,6 +4106,7 @@
Обработанные = Новый Массив;
ДатаПоследнейПроверки = Неопределено;
ВременноОтключитьОбновление = Ложь;
Попытка
Если ФорсироватьОбновление(СведенияОбОбновлении) Тогда
Группы = НовоеОписаниеГруппПотоковОбработчиковОтложенногоОбновления();
@@ -4128,6 +4128,7 @@
ОжидатьЗавершениеВсехПотоков(Группы); // @skip-check query-in-loop - многопоточное обновление.
Прервать;
ИначеЕсли Поток = "ПрерватьВыполнение" Тогда
ВременноОтключитьОбновление = Истина;
ОжидатьЗавершениеВсехПотоков(Группы); // @skip-check query-in-loop - многопоточное обновление.
Прервать;
КонецЕсли;
@@ -4158,6 +4159,12 @@
УдалитьВсеПотокиОбновления();
КонецПопытки;
Если ВременноОтключитьОбновление Тогда
// Выполняется только в режиме сервиса, когда все обработчики текущего порядка выполнены.
// Включается автоматически при переключении порядка.
ПриВключенииОтложенногоОбновления(Ложь);
КонецЕсли;
СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы();
Если Не ОбработчикиВыполнялись Или ВыполненыВсеОтложенныеОбработчики(СведенияОбОбновлении) Тогда
УдалитьВсеПотокиОбновления();
@@ -7828,16 +7835,20 @@
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ОбластиДляПроверки", ОбластиДляПроверки);
Запрос.УстановитьПараметр("РежимВыполнения", Перечисления.РежимыВыполненияОбработчиков.Отложенно);
Запрос.УстановитьПараметр("РежимВыполненияОтложенногоОбработчика", Перечисления.РежимыВыполненияОтложенныхОбработчиков.Параллельно);
Запрос.УстановитьПараметр("ПредельноеЧислоПопыток", 3);
Запрос.УстановитьПараметр("Порядок", ПорядокОбрабатываемыхДанных);
Запрос.УстановитьПараметр("Статусы", Статусы);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ИСТИНА
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ОбработчикиОбновления.ОбластьДанныхВспомогательныеДанные КАК Область
|ИЗ
| РегистрСведений.ОбработчикиОбновления КАК ОбработчикиОбновления
|ГДЕ
| ОбработчикиОбновления.РежимВыполнения = &РежимВыполнения
| И ОбработчикиОбновления.РежимВыполненияОтложенногоОбработчика = &РежимВыполненияОтложенногоОбработчика
| И ОбработчикиОбновления.ОбластьДанныхВспомогательныеДанные В(&ОбластиДляПроверки)
| И ОбработчикиОбновления.ЧислоПопыток <= &ПредельноеЧислоПопыток
| И ОбработчикиОбновления.Порядок = &Порядок
| И ОбработчикиОбновления.Статус В(&Статусы)
| И &УсловиеОбычныхОбработчиков";
@@ -7851,15 +7862,52 @@
КонецЕсли;
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&УсловиеОбычныхОбработчиков", УсловиеОбычныхОбработчиков);
НеобновленныеОбласти = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Область");
ОтключитьЗадание = Ложь;
Если Запрос.Выполнить().Пустой() И Не ЕстьОжидающие Тогда
ПорядокИзменен = Ложь;
Если НеобновленныеОбласти.Количество() = 0 И Не ЕстьОжидающие Тогда
Если ПорядокОбрабатываемыхДанных = Перечисления.ПорядокОбработчиковОбновления.Критичный Тогда
Константы.ПорядокОбрабатываемыхДанных.Установить(Перечисления.ПорядокОбработчиковОбновления.Обычный);
Иначе
Константы.ПорядокОбрабатываемыхДанных.Установить(Перечисления.ПорядокОбработчиковОбновления.Некритичный);
ОтключитьЗадание = Истина;
КонецЕсли;
ПорядокИзменен = Истина;
КонецЕсли;
Если ПорядокИзменен Тогда
ПриВключенииОтложенногоОбновления(Истина);
Иначе
// Проверка, что задания для необновленных областей включены.
ОтборЗаданий = Новый Структура;
ОтборЗаданий.Вставить("Метаданные", Метаданные.РегламентныеЗадания.ОтложенноеОбновлениеИБ);
ОтборЗаданий.Вставить("Использование", Ложь);
Задания = РегламентныеЗаданияСервер.НайтиЗадания(ОтборЗаданий);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ЗаданияОчереди", Задания);
Запрос.УстановитьПараметр("НеобновленныеОбласти", НеобновленныеОбласти);
Запрос.Текст =
"ВЫБРАТЬ
| ЗаданияОчереди.Идентификатор КАК Идентификатор,
| ЗаданияОчереди.ОбластьДанных КАК ОбластьДанных
|ПОМЕСТИТЬ ВТЗаданияОчереди
|ИЗ
| &ЗаданияОчереди КАК ЗаданияОчереди
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НезавершенныеЗаданияОчереди.Идентификатор КАК Идентификатор
|ИЗ
| ВТЗаданияОчереди КАК НезавершенныеЗаданияОчереди
|ГДЕ
| НезавершенныеЗаданияОчереди.ОбластьДанных В(&НеобновленныеОбласти)";
ЗаданияДляВключения = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Идентификатор");
Для Каждого Задание Из ЗаданияДляВключения Цикл
РегламентныеЗаданияСервер.ИзменитьЗадание(Задание, Новый Структура("Использование", Истина));
КонецЦикла;
КонецЕсли;
Если ОтключитьЗадание Тогда
@@ -8550,7 +8598,6 @@
КонецПроцедуры
// См. СтандартныеПодсистемыСервер.ПриОтправкеДанныхПодчиненному.
Процедура ПриОтправкеВерсийПодсистем(ЭлементДанных, ОтправкаЭлемента, Знач СозданиеНачальногоОбраза = Ложь)
СтандартнаяОбработка = Истина;
@@ -469,6 +469,18 @@
КонецФункции
Процедура УдалитьЗаданияОбновленияОбластей() Экспорт
ОтборЗадания = Новый Структура;
ОтборЗадания.Вставить("ИмяМетода", "ОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса.ВыполнитьОбновлениеТекущейОбластиДанных");
Задания = РегламентныеЗаданияСервер.НайтиЗадания(ОтборЗадания);
Для Каждого Задание Из Задания Цикл
РегламентныеЗаданияСервер.УдалитьЗадание(Задание);
КонецЦикла;
КонецПроцедуры
#Область ОбработчикиСобытийПодсистемКонфигурации
// См. ОбновлениеИнформационнойБазыБСП.ПередОбновлениемИнформационнойБазы.
@@ -390,56 +390,74 @@
#Область ОбработчикиОтправкиИПолученияДанныхДляОбменаВРаспределеннойИнформационнойБазе
// Дополнительный обработчик одноименного события, возникающего при обмене данными в распределенной информационной базе.
// Дополнительный обработчик одноименного события, возникающего
// при обмене данными в распределенной информационной базе.
// Выполняется после выполнения базовых алгоритмов библиотеки.
// Не выполняется, если отправка элемента данных была проигнорирована ранее.
//
// Параметры:
// Источник - ПланОбменаОбъект - узел, для которого выполняется обмен.
// ЭлементДанных - Произвольный - см. описание одноименного обработчика в синтакс-помощнике.
// ОтправкаЭлемента - ОтправкаЭлементаДанных - см. описание одноименного обработчика в синтакс-помощнике.
// СозданиеНачальногоОбраза - Булево - см. описание одноименного обработчика в синтакс-помощнике.
// Источник - ПланОбменаОбъект - узел, для которого выполняется обмен.
// ЭлементДанных - КонстантаМенеджерЗначения
// - СправочникОбъект
// - ДокументОбъект
// - ПланВидовХарактеристикОбъект
// - ПланСчетовОбъект
// - ПланВидовРасчетаОбъект
// - БизнесПроцессОбъект
// - ЗадачаОбъект
// - УдалениеОбъекта
// - РегистрСведенийНаборЗаписей
// - РегистрРасчетаНаборЗаписей
// - РегистрБухгалтерииНаборЗаписей
// - РегистрРасчетаНаборЗаписей
// - ПоследовательностьНаборЗаписей
// - ПерерасчетНаборЗаписей - смотри описание одноименного обработчика в синтакс-помощнике.
// ОтправкаЭлемента - ОтправкаЭлементаДанных - смотри описание одноименного обработчика в синтакс-помощнике.
// СозданиеНачальногоОбраза - Булево - смотри описание одноименного обработчика в синтакс-помощнике.
//
Процедура ПриОтправкеДанныхПодчиненному(Источник, ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза) Экспорт
КонецПроцедуры
// Дополнительный обработчик одноименного события, возникающего при обмене данными в распределенной информационной базе.
// Дополнительный обработчик одноименного события, возникающего
// при обмене данными в распределенной информационной базе.
// Выполняется после выполнения базовых алгоритмов библиотеки.
// Не выполняется, если отправка элемента данных была проигнорирована ранее.
//
// Параметры:
// Источник - ПланОбменаОбъект - узел, для которого выполняется обмен.
// ЭлементДанных - Произвольный - см. описание одноименного обработчика в синтакс-помощнике.
// ОтправкаЭлемента - ОтправкаЭлементаДанных - см. описание одноименного обработчика в синтакс-помощнике.
// ЭлементДанных - см. ПриОтправкеДанныхПодчиненному.ЭлементДанных
// ОтправкаЭлемента - ОтправкаЭлементаДанных - смотри описание одноименного обработчика в синтакс-помощнике.
//
Процедура ПриОтправкеДанныхГлавному(Источник, ЭлементДанных, ОтправкаЭлемента) Экспорт
КонецПроцедуры
// Дополнительный обработчик одноименного события, возникающего при обмене данными в распределенной информационной базе.
// Дополнительный обработчик одноименного события, возникающего
// при обмене данными в распределенной информационной базе.
// Выполняется после выполнения базовых алгоритмов библиотеки.
// Не выполняется, если получение элемента данных было проигнорировано ранее.
//
// Параметры:
// Источник - ПланОбменаОбъект - узел, для которого выполняется обмен.
// ЭлементДанных - Произвольный - см. описание одноименного обработчика в синтакс-помощнике.
// ПолучениеЭлемента - ПолучениеЭлементаДанных - см. описание одноименного обработчика в синтакс-помощнике.
// ОтправкаНазад - Булево - см. описание одноименного обработчика в синтакс-помощнике.
// ЭлементДанных - см. ПриОтправкеДанныхПодчиненному.ЭлементДанных
// ПолучениеЭлемента - ПолучениеЭлементаДанных - смотри описание одноименного обработчика в синтакс-помощнике.
// ОтправкаНазад - Булево - смотри описание одноименного обработчика в синтакс-помощнике.
//
Процедура ПриПолученииДанныхОтПодчиненного(Источник, ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад) Экспорт
КонецПроцедуры
// Дополнительный обработчик одноименного события, возникающего при обмене данными в распределенной информационной базе.
// Дополнительный обработчик одноименного события, возникающего
// при обмене данными в распределенной информационной базе.
// Выполняется после выполнения базовых алгоритмов библиотеки.
// Не выполняется, если получение элемента данных было проигнорировано ранее.
//
// Параметры:
// Источник - ПланОбменаОбъект - узел, для которого выполняется обмен.
// ЭлементДанных - Произвольный - см. описание одноименного обработчика в синтакс-помощнике.
// ПолучениеЭлемента - ПолучениеЭлементаДанных - см. описание одноименного обработчика в синтакс-помощнике.
// ОтправкаНазад - Булево - см. описание одноименного обработчика в синтакс-помощнике.
// ЭлементДанных - см. ПриОтправкеДанныхПодчиненному.ЭлементДанных
// ПолучениеЭлемента - ПолучениеЭлементаДанных - смотри описание одноименного обработчика в синтакс-помощнике.
// ОтправкаНазад - Булево - смотри описание одноименного обработчика в синтакс-помощнике.
//
Процедура ПриПолученииДанныхОтГлавного(Источник, ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад) Экспорт
@@ -448,9 +466,9 @@
// Позволяет изменить признак того, что версия программы является, либо не является базовой.
//
// Параметры:
// ЭтоБазовая - Булево - признак того, что версия программы является базовой. По умолчанию Истина, если в имени
// программы есть слово "Базовая".
//
// ЭтоБазовая - Булево - признак того, что версия программы является базовой.
// По умолчанию Истина, если в имени программы есть слово "Базовая".
//
Процедура ПриОпределенииПризнакаЭтоБазоваяВерсияКонфигурации(ЭтоБазовая) Экспорт
КонецПроцедуры
@@ -10392,7 +10392,6 @@
Возврат;
КонецЕсли;
ЭлементДанных = ЭлементДанных; // УдалениеОбъекта
ТипСсылки = ТипЗнч(ЭлементДанных.Ссылка);
Если ТипСсылки = Тип("СправочникСсылка.ГруппыПользователей")
@@ -753,10 +753,29 @@
Если (ЭтоМуниципальныйАдрес(Адрес.addressType)
Или ЭтоАдминистративноТерриториальныйАдрес(Адрес.addressType))
И ЭтоИмяУровняРегиона(ИмяУровня)
И ЗначениеЗаполнено(Адрес["areaValue"]) Тогда
Возврат Адрес["areaValue"];
И ЗначениеЗаполнено(Адрес.areaValue) Тогда
Возврат Адрес.areaValue;
КонецЕсли;
// АПК: 1297-выкл Данные адресного классификатора, не локализуются
Если СтрСравнить(ИмяУровня, "munDistrict") = 0 Тогда
Если СтрНачинаетсяС(ВРег(Адрес[ИмяУровня]), ВРег("Муниципальный район"))
Или СтрНачинаетсяС(ВРег(Адрес[ИмяУровня]), ВРег("Муниципальные районы")) Тогда
Возврат Адрес[ИмяУровня];
КонецЕсли;
КонецЕсли;
Если СтрСравнить(ИмяУровня, "settlement") = 0 Тогда
Если СтрНачинаетсяС(ВРег(Адрес[ИмяУровня]), ВРег("Межселенные территории"))
Или СтрНачинаетсяС(ВРег(Адрес[ИмяУровня]), ВРег("Межселенная территория"))
Или СтрНачинаетсяС(ВРег(Адрес[ИмяУровня]), ВРег("Эвенкийское")) Тогда
Возврат Адрес[ИмяУровня];
КонецЕсли;
КонецЕсли;
// АПК: 1297-вкл
Возврат УправлениеКонтактнойИнформациейКлиентСервер.СоединитьНаименованиеИТипАдресногоОбъекта(
Адрес[ИмяУровня], Адрес[ИмяУровня + "Type"], СтрСравнить(ИмяУровня, "area") = 0);
@@ -279,19 +279,48 @@
//
Функция УчетнаяЗаписьНастроена(УчетнаяЗапись, Знач ДляОтправки = Неопределено, Знач ДляПолучения = Неопределено) Экспорт
Параметры = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(УчетнаяЗапись, "АдресЭлектроннойПочты,СерверВходящейПочты,СерверИсходящейПочты,ИспользоватьДляПолучения,ИспользоватьДляОтправки,ПротоколВходящейПочты");
Параметры = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(УчетнаяЗапись,
"АдресЭлектроннойПочты,
|СерверВходящейПочты,
|СерверИсходящейПочты,
|ИспользоватьДляПолучения,
|ИспользоватьДляОтправки,
|ПротоколВходящейПочты");
Если ПустаяСтрока(Параметры.АдресЭлектроннойПочты) Тогда
Возврат Ложь;
КонецЕсли;
Если ДляОтправки = Неопределено Тогда
ДляОтправки = Параметры.ИспользоватьДляОтправки;
КонецЕсли;
Если ДляОтправки И Не Параметры.ИспользоватьДляОтправки Тогда
Возврат Ложь;
КонецЕсли;
Если ДляПолучения = Неопределено Тогда
ДляПолучения = Параметры.ИспользоватьДляПолучения;
КонецЕсли;
Возврат Не (ПустаяСтрока(Параметры.АдресЭлектроннойПочты)
Или ДляПолучения И ПустаяСтрока(Параметры.СерверВходящейПочты)
Или ДляОтправки И (ПустаяСтрока(Параметры.СерверИсходящейПочты)
Или (Параметры.ПротоколВходящейПочты = "IMAP" И ПустаяСтрока(Параметры.СерверВходящейПочты))));
Если ДляПолучения И Не Параметры.ИспользоватьДляПолучения Тогда
Возврат Ложь;
КонецЕсли;
Если ДляПолучения И ПустаяСтрока(Параметры.СерверВходящейПочты) Тогда
Возврат Ложь;
КонецЕсли;
Если ДляОтправки И ПустаяСтрока(Параметры.СерверИсходящейПочты) Тогда
Возврат Ложь;
КонецЕсли;
Если ДляОтправки И Параметры.ПротоколВходящейПочты = "IMAP" И ПустаяСтрока(Параметры.СерверВходящейПочты) Тогда
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
// Выполняет проверку настроек электронной почты.
@@ -1100,7 +1100,7 @@
ЕстьТекущаяВерсия = Ложь;
Если ОбщегоНазначения.ЕстьРеквизитОбъекта("ТекущаяВерсия", МетаданныеОбъектаФайла) Тогда
ТекущаяВерсия = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПрисоединенныйФайл, "ТекущаяВерсия");
ЕстьТекущаяВерсия = ЗначениеЗаполнено(ТекущаяВерсия);
ЕстьТекущаяВерсия = ЗначениеЗаполнено(ТекущаяВерсия) И ОбщегоНазначения.СсылкаСуществует(ТекущаяВерсия);
КонецЕсли;
Если ЕстьТекущаяВерсия Тогда // С возможностью хранить версии
ИменаРеквизитов = "Ссылка,ТипХраненияФайла,Наименование,Расширение,Том,ПутьКФайлу,ПометкаУдаления";
@@ -234,7 +234,7 @@
Обработчик.ЧитаемыеОбъекты = "РегистрСведений.ХранилищеФайлов";
Обработчик.ИзменяемыеОбъекты = "РегистрСведений.СведенияОХраненииДедуплицированныхФайлов";
Обработчик.БлокируемыеОбъекты = "РегистрСведений.ХранилищеФайлов";
Обработчик.Порядок = Перечисления.ПорядокОбработчиковОбновления.Некритичный;
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Порядок = "Любой";
@@ -7375,112 +7375,116 @@
Результат =
"TWluaXN0cnkgb2YgRGlnaXRhbCBEZXZlbG9wbWVudCBvZiB0aGUgUnVzc2lhbiBG
|ZWRlcmF0aW9uIGJlZm9yZSAyMDQwDQo9PT09PT09PT09PT09PT09PT09PT09PT09
|ZWRlcmF0aW9uIGJlZm9yZSAyMDQ0DQo9PT09PT09PT09PT09PT09PT09PT09PT09
|PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0K
|LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGVVRDQ0JQNmdBd0lCQWdJ
|UkFKVWZvMGQ4WVFRNnJmcUZoaWVDTkVJd0NnWUlLb1VEQndFQkF3SXdnZ0U3DQpN
|U0V3SHdZSktvWklodmNOQVFrQkZoSmthWFJBWkdsbmFYUmhiQzVuYjNZdWNuVXhD
|ekFKQmdOVkJBWVRBbEpWDQpNUmd3RmdZRFZRUUlEQTgzTnlEUW5OQyswWUhRdXRD
|eTBMQXhHVEFYQmdOVkJBY01FTkN6TGlEUW5OQyswWUhRDQp1dEN5MExBeFV6QlJC
|Z05WQkFrTVN0Q2YwWURRdGRHQjBMM1F0ZEM5MFlIUXV0Q3cwWThnMEwzUXNOQ3gw
|TFhSDQpnTkMxMExiUXZkQ3cwWThzSU5DMDBMN1F2Q0F4TUN3ZzBZSFJndEdBMEw3
|UXRkQzkwTGpRdFNBeU1TWXdKQVlEDQpWUVFLREIzUW5OQzQwTDNSaHRDNDBZVFJn
|TkdMSU5DZzBMN1JnZEdCMExqUXVERVlNQllHQlNxRkEyUUJFZzB4DQpNRFEzTnpB
|eU1ESTJOekF4TVJVd0V3WUZLb1VEWkFRU0NqYzNNVEEwTnpRek56VXhKakFrQmdO
|VkJBTU1IZENjDQowTGpRdmRHRzBMalJoTkdBMFlzZzBLRFF2dEdCMFlIUXVOQzRN
|QjRYRFRJeU1ERXdPREV6TXpJek9Wb1hEVFF3DQpNREV3T0RFek16SXpPVm93Z2dF
|N01TRXdId1lKS29aSWh2Y05BUWtCRmhKa2FYUkFaR2xuYVhSaGJDNW5iM1l1DQpj
|blV4Q3pBSkJnTlZCQVlUQWxKVk1SZ3dGZ1lEVlFRSURBODNOeURRbk5DKzBZSFF1
|dEN5MExBeEdUQVhCZ05WDQpCQWNNRU5DekxpRFFuTkMrMFlIUXV0Q3kwTEF4VXpC
|UkJnTlZCQWtNU3RDZjBZRFF0ZEdCMEwzUXRkQzkwWUhRDQp1dEN3MFk4ZzBMM1Fz
|TkN4MExYUmdOQzEwTGJRdmRDdzBZOHNJTkMwMEw3UXZDQXhNQ3dnMFlIUmd0R0Ew
|TDdRDQp0ZEM5MExqUXRTQXlNU1l3SkFZRFZRUUtEQjNRbk5DNDBMM1JodEM0MFlU
|UmdOR0xJTkNnMEw3UmdkR0IwTGpRDQp1REVZTUJZR0JTcUZBMlFCRWcweE1EUTNO
|ekF5TURJMk56QXhNUlV3RXdZRktvVURaQVFTQ2pjM01UQTBOelF6DQpOelV4SmpB
|a0JnTlZCQU1NSGRDYzBMalF2ZEdHMExqUmhOR0EwWXNnMEtEUXZ0R0IwWUhRdU5D
|NE1HWXdId1lJDQpLb1VEQndFQkFRRXdFd1lIS29VREFnSWpBUVlJS29VREJ3RUJB
|Z0lEUXdBRVFGcEthNlFkYTQ4TGpGcS9kcnoyDQpNMjdmRnF1L2czK1ByeHJnOWxF
|K0tQemRidlJId3VPdGJobEo5Mm9nbVMraTdtaERER1BzV2h0UFZkdVY5S2JxDQpR
|STZqZ2dIUU1JSUJ6RENCOVFZRktvVURaSEFFZ2Vzd2dlZ01OTkNmMEpEUW10Q2NJ
|TUtyMEpyUmdOQzQwTC9SDQpndEMrMEovUmdOQytJRWhUVGNLN0lOQ3kwTFhSZ05H
|QjBMalF1Q0F5TGpBTVE5Q2YwSkRRbWlEQ3E5Q1QwTDdRDQp1OUMrMExMUXZkQysw
|TGtnMFlQUXROQyswWUhSZ3RDKzBMTFF0ZEdBMFkvUmp0R0owTGpRdVNEUmh0QzEw
|TDNSDQpndEdBd3JzTU5kQ1gwTERRdXRDNzBZN1JoOUMxMEwzUXVOQzFJT0tFbGlB
|eE5Ea3ZNeTh5THpJdk1qTWcwTDdSDQpnaUF3TWk0d015NHlNREU0RERUUWw5Q3cw
|THJRdTlHTzBZZlF0ZEM5MExqUXRTRGloSllnTVRRNUx6Y3ZOaTAwDQpORGtnMEw3
|UmdpQXpNQzR4TWk0eU1ESXhNRDhHQlNxRkEyUnZCRFlNTk5DZjBKRFFtdENjSU1L
|cjBKclJnTkM0DQowTC9SZ3RDKzBKL1JnTkMrSUVoVFRjSzdJTkN5MExYUmdOR0Iw
|TGpRdUNBeUxqQXdEQVlGS29VRFpISUVBd0lCDQpBREJEQmdOVkhTQUVQREE2TUFn
|R0JpcUZBMlJ4QVRBSUJnWXFoUU5rY1FJd0NBWUdLb1VEWkhFRE1BZ0dCaXFGDQpB
|MlJ4QkRBSUJnWXFoUU5rY1FVd0JnWUVWUjBnQURBT0JnTlZIUThCQWY4RUJBTUNB
|UVl3RHdZRFZSMFRBUUgvDQpCQVV3QXdFQi96QWRCZ05WSFE0RUZnUVV5Uk5Zc1V5
|bllqcCswajg4cHVjVWZKMXdvNFl3Q2dZSUtvVURCd0VCDQpBd0lEUVFDQ1NYaElD
|ZzNTWi9UVEN0UkpwQkZ1WEdTeTNQZVpURWVPd2RPSEl2MHRXaU4ycTBtUFJ6Qi9v
|NnI5DQpNWGpHcWR6ZllHdENycTFsNUZzWFpPSTVjLzJTDQotLS0tLUVORCBDRVJU
|SUZJQ0FURS0tLS0tDQoNCk5QQyAxQyBiZWZvcmUgMjAzNw0KPT09PT09PT09PT09
|PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
|PT09PT09PT09DQoNCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQ0KTUlJSHRU
|Q0NCMktnQXdJQkFnSUxBSXlueDFrQUFBQUFCZm93Q2dZSUtvVURCd0VCQXdJd2dn
|RTdNU0V3SHdZSg0KS29aSWh2Y05BUWtCRmhKa2FYUkFaR2xuYVhSaGJDNW5iM1l1
|Y25VeEN6QUpCZ05WQkFZVEFsSlZNUmd3RmdZRA0KVlFRSURBODNOeURRbk5DKzBZ
|SFF1dEN5MExBeEdUQVhCZ05WQkFjTUVOQ3pMaURRbk5DKzBZSFF1dEN5MExBeA0K
|VXpCUkJnTlZCQWtNU3RDZjBZRFF0ZEdCMEwzUXRkQzkwWUhRdXRDdzBZOGcwTDNR
|c05DeDBMWFJnTkMxMExiUQ0KdmRDdzBZOHNJTkMwMEw3UXZDQXhNQ3dnMFlIUmd0
|R0EwTDdRdGRDOTBMalF0U0F5TVNZd0pBWURWUVFLREIzUQ0Kbk5DNDBMM1JodEM0
|MFlUUmdOR0xJTkNnMEw3UmdkR0IwTGpRdURFWU1CWUdCU3FGQTJRQkVnMHhNRFEz
|TnpBeQ0KTURJMk56QXhNUlV3RXdZRktvVURaQVFTQ2pjM01UQTBOelF6TnpVeEpq
|QWtCZ05WQkFNTUhkQ2MwTGpRdmRHRw0KMExqUmhOR0EwWXNnMEtEUXZ0R0IwWUhR
|dU5DNE1CNFhEVEl5TURFeE16RXdNall5TkZvWERUTTNNREV4TXpFdw0KTWpZeU5G
|b3dnZ0V4TVJVd0V3WUZLb1VEWkFRU0NqYzNNamsxTVRBeU1UQXhHREFXQmdVcWhR
|TmtBUklOTVRBMA0KTnpjNU5qVXlOalUwTmpFTE1Ba0dBMVVFQmhNQ1VsVXhHREFX
|QmdOVkJBZ01EemMzSU5DYzBMN1JnZEM2MExMUQ0Kc0RFVk1CTUdBMVVFQnd3TTBK
|elF2dEdCMExyUXN0Q3dNV2t3WndZRFZRUUpER0RSZzlDNzBMalJodEN3SU5DYw0K
|MEw3UmdkR0UwTGpRdTlHTTBMelF2dEN5MFlIUXV0Q3cwWThzSU5DMDBMN1F2Q0Ew
|TWl3ZzBZSFJndEdBMEw3UQ0KdGRDOTBMalF0U0F4TENEUmpkR0NMOUMvMEw3UXZD
|L1F1dEMrMEx3Z01TOHhMemN4RnpBVkJna3Foa2lHOXcwQg0KQ1FFV0NHTmhRREZq
|TG5KMU1SMHdHd1lEVlFRS0RCVFFudENlMEo0Z0l0Q2QwSi9RcGlBaU1kQ2hJakVk
|TUJzRw0KQTFVRUF3d1UwSjdRbnRDZUlDTFFuZENmMEtZZ0lqSFFvU0l3WmpBZkJn
|Z3FoUU1IQVFFQkFUQVRCZ2NxaFFNQw0KQWlNQkJnZ3FoUU1IQVFFQ0FnTkRBQVJB
|akhZZWJsQ2h3RGRCamJvd01hd1NNeU9MNU9qc0ppZVNPTzNhUXo5bA0Kc2QrU1Fr
|akZyZ2owUXJzd0owR2xrSlNpdWwzWm50SU51YWRMVUx2Rlc3WDZjYU9DQkVRd2dn
|UkFNQXNHQTFVZA0KRHdRRUF3SUJoakFkQmdOVkhRNEVGZ1FVK3U0c2E0K3QwY2do
|RHYzU2F4cjhsenAzeWJNd0VnWURWUjBUQVFILw0KQkFnd0JnRUIvd0lCQURBbEJn
|TlZIU0FFSGpBY01BZ0dCaXFGQTJSeEFUQUlCZ1lxaFFOa2NRSXdCZ1lFVlIwZw0K
|QURCU0JnVXFoUU5rYndSSkRFY2kwSnJSZ05DNDBML1JndEMrMEovUmdOQytJRU5U
|VUNJZzBMTFF0ZEdBMFlIUQ0KdU5HUElEUXVNQ0FvMExqUmdkQy8wTDdRdTlDOTBM
|WFF2ZEM0MExVZ01pMUNZWE5sS1RBVUJna3JCZ0VFQVlJMw0KRkFJRUJ3d0ZVM1Zp
|UTBFd0VnWUpLd1lCQkFHQ054VUJCQVVDQXdFQUFUQ0NBWDBHQTFVZEl3U0NBWFF3
|Z2dGdw0KZ0JUSkUxaXhUS2RpT243U1B6eW01eFI4blhDamhxR0NBVU9rZ2dFL01J
|SUJPekVoTUI4R0NTcUdTSWIzRFFFSg0KQVJZU1pHbDBRR1JwWjJsMFlXd3VaMjky
|TG5KMU1Rc3dDUVlEVlFRR0V3SlNWVEVZTUJZR0ExVUVDQXdQTnpjZw0KMEp6UXZ0
|R0IwTHJRc3RDd01Sa3dGd1lEVlFRSERCRFFzeTRnMEp6UXZ0R0IwTHJRc3RDd01W
|TXdVUVlEVlFRSg0KREVyUW45R0EwTFhSZ2RDOTBMWFF2ZEdCMExyUXNOR1BJTkM5
|MExEUXNkQzEwWURRdGRDMjBMM1FzTkdQTENEUQ0KdE5DKzBMd2dNVEFzSU5HQjBZ
|TFJnTkMrMExYUXZkQzQwTFVnTWpFbU1DUUdBMVVFQ2d3ZDBKelF1TkM5MFliUQ0K
|dU5HRTBZRFJpeURRb05DKzBZSFJnZEM0MExneEdEQVdCZ1VxaFFOa0FSSU5NVEEw
|Tnpjd01qQXlOamN3TVRFVg0KTUJNR0JTcUZBMlFFRWdvM056RXdORGMwTXpjMU1T
|WXdKQVlEVlFRRERCM1FuTkM0MEwzUmh0QzQwWVRSZ05HTA0KSU5DZzBMN1JnZEdC
|MExqUXVJSVJBSlVmbzBkOFlRUTZyZnFGaGllQ05FSXdnWThHQTFVZEh3U0JoekNC
|aERBcQ0Kb0NpZ0pvWWthSFIwY0RvdkwzSmxaWE4wY2kxd2Eya3VjblV2WTJSd0wy
|ZDFZekl3TWpJdVkzSnNNQ3FnS0tBbQ0KaGlSb2RIUndPaTh2WTI5dGNHRnVlUzV5
|ZEM1eWRTOWpaSEF2WjNWak1qQXlNaTVqY213d0txQW9vQ2FHSkdoMA0KZEhBNkx5
|OXliM04wWld4bFkyOXRMbkoxTDJOa2NDOW5kV015TURJeUxtTnliREJBQmdnckJn
|RUZCUWNCQVFRMA0KTURJd01BWUlLd1lCQlFVSE1BS0dKR2gwZEhBNkx5OXlaV1Z6
|ZEhJdGNHdHBMbkoxTDJOa2NDOW5kV015TURJeQ0KTG1OeWREQ0I5UVlGS29VRFpI
|QUVnZXN3Z2VnTU5OQ2YwSkRRbXRDY0lNS3IwSnJSZ05DNDBML1JndEMrMEovUg0K
|Z05DK0lFaFRUY0s3SU5DeTBMWFJnTkdCMExqUXVDQXlMakFNUTlDZjBKRFFtaURD
|cTlDVDBMN1F1OUMrMExMUQ0KdmRDKzBMa2cwWVBRdE5DKzBZSFJndEMrMExMUXRk
|R0EwWS9SanRHSjBMalF1U0RSaHRDMTBMM1JndEdBd3JzTQ0KTmRDWDBMRFF1dEM3
|MFk3Umg5QzEwTDNRdU5DMUlPS0VsaUF4TkRrdk15OHlMekl2TWpNZzBMN1JnaUF3
|TWk0dw0KTXk0eU1ERTRERFRRbDlDdzBMclF1OUdPMFlmUXRkQzkwTGpRdFNEaWhK
|WWdNVFE1THpjdk5pMDBORGtnMEw3Ug0KZ2lBek1DNHhNaTR5TURJeE1Bd0dCU3FG
|QTJSeUJBTUNBUUV3Q2dZSUtvVURCd0VCQXdJRFFRQkt3Zy81ajJEYQ0KeVhUem5N
|MXV0eGRaVFljVWJaLzgrdzJ1ZVdxTlJyTWNVTW0valhNLzV6K1Ayb3dWMTFzMWFy
|dnlMOTA1VXdrag0KaWg1RnY5RllDN2wyDQotLS0tLUVORCBDRVJUSUZJQ0FURS0t
|LS0tDQo=";
|LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGNnpDQ0JaaWdBd0lCQWdJ
|UUdNTk45VGE1L2VJcGVlVmNTQWcyVURBS0JnZ3FoUU1IQVFFREFqQ0NBVHN4DQpJ
|VEFmQmdrcWhraUc5dzBCQ1FFV0VtUnBkRUJrYVdkcGRHRnNMbWR2ZGk1eWRURUxN
|QWtHQTFVRUJoTUNVbFV4DQpHREFXQmdOVkJBZ01EemMzSU5DYzBMN1JnZEM2MExM
|UXNERVpNQmNHQTFVRUJ3d1EwTE11SU5DYzBMN1JnZEM2DQowTExRc0RGVE1GRUdB
|MVVFQ1F4SzBKL1JnTkMxMFlIUXZkQzEwTDNSZ2RDNjBMRFJqeURRdmRDdzBMSFF0
|ZEdBDQowTFhRdHRDOTBMRFJqeXdnMExUUXZ0QzhJREV3TENEUmdkR0MwWURRdnRD
|MTBMM1F1TkMxSURJeEpqQWtCZ05WDQpCQW9NSGRDYzBMalF2ZEdHMExqUmhOR0Ew
|WXNnMEtEUXZ0R0IwWUhRdU5DNE1SZ3dGZ1lGS29VRFpBRVNEVEV3DQpORGMzTURJ
|d01qWTNNREV4RlRBVEJnVXFoUU5rQkJJS056Y3hNRFEzTkRNM05URW1NQ1FHQTFV
|RUF3d2QwSnpRDQp1TkM5MFliUXVOR0UwWURSaXlEUW9OQyswWUhSZ2RDNDBMZ3dI
|aGNOTWpZd01qQXlNRGsxTlRVMFdoY05ORFF3DQpNakF5TURrMU5UVTBXakNDQVRz
|eElUQWZCZ2txaGtpRzl3MEJDUUVXRW1ScGRFQmthV2RwZEdGc0xtZHZkaTV5DQpk
|VEVMTUFrR0ExVUVCaE1DVWxVeEdEQVdCZ05WQkFnTUR6YzNJTkNjMEw3UmdkQzYw
|TExRc0RFWk1CY0dBMVVFDQpCd3dRMExNdUlOQ2MwTDdSZ2RDNjBMTFFzREZUTUZF
|R0ExVUVDUXhLMEovUmdOQzEwWUhRdmRDMTBMM1JnZEM2DQowTERSanlEUXZkQ3cw
|TEhRdGRHQTBMWFF0dEM5MExEUmp5d2cwTFRRdnRDOElERXdMQ0RSZ2RHQzBZRFF2
|dEMxDQowTDNRdU5DMUlESXhKakFrQmdOVkJBb01IZENjMExqUXZkR0cwTGpSaE5H
|QTBZc2cwS0RRdnRHQjBZSFF1TkM0DQpNUmd3RmdZRktvVURaQUVTRFRFd05EYzNN
|REl3TWpZM01ERXhGVEFUQmdVcWhRTmtCQklLTnpjeE1EUTNORE0zDQpOVEVtTUNR
|R0ExVUVBd3dkMEp6UXVOQzkwWWJRdU5HRTBZRFJpeURRb05DKzBZSFJnZEM0MExn
|d1pqQWZCZ2dxDQpoUU1IQVFFQkFUQVRCZ2NxaFFNQ0FpTUJCZ2dxaFFNSEFRRUNB
|Z05EQUFSQU9saHN3ajdQbnozNGtKK084MUZODQpVQUF4VWY3Z0hiUm5BTXRvSm5N
|b1N5WkhWSE1sSkRZZVJhcjdyV2x4WGJPa04waE9VekNYZ3ZEV3QwMlZiYytKDQpL
|YU9DQW1zd2dnSm5NSUlCTFFZRktvVURaSEFFZ2dFaU1JSUJIZ3hwMEovUWtOQ2Ew
|Sndnd3F2UW10R0EwTGpRDQp2OUdDMEw3UW45R0EwTDRnU0ZOTndyc2cwTExRdGRH
|QTBZSFF1TkdQSURJdU1DQW8wTHJRdnRDODBML1F1OUMxDQowTHJSZ3RDdzBZYlF1
|TkdQSURFcEtOQzQwWUhRdjlDKzBMdlF2ZEMxMEwzUXVOQzFJREVwREVQUW45Q1Ew
|Sm9nDQp3cXZRazlDKzBMdlF2dEN5MEwzUXZ0QzVJTkdEMExUUXZ0R0IwWUxRdnRD
|eTBMWFJnTkdQMFk3UmlkQzQwTGtnDQowWWJRdGRDOTBZTFJnTUs3RERiUWw5Q3cw
|THJRdTlHTzBZZlF0ZEM5MExqUXRTRGloSllnTVRRNUx6TXZNaTh4DQpMekl4TUNE
|UXZ0R0NJRE14TGpBeExqSXdNak1NTk5DWDBMRFF1dEM3MFk3Umg5QzEwTDNRdU5D
|MUlPS0VsaUF4DQpORGt2Tnk4Mkx6UTBOeURRdnRHQ0lETXdMakE1TGpJd01qVXdk
|QVlGS29VRFpHOEVhd3hwMEovUWtOQ2EwSndnDQp3cXZRbXRHQTBMalF2OUdDMEw3
|UW45R0EwTDRnU0ZOTndyc2cwTExRdGRHQTBZSFF1TkdQSURJdU1DQW8wTHJRDQp2
|dEM4MEwvUXU5QzEwTHJSZ3RDdzBZYlF1TkdQSURFcEtOQzQwWUhRdjlDKzBMdlF2
|ZEMxMEwzUXVOQzFJREVwDQpNQXdHQlNxRkEyUnlCQU1DQVFBd1F3WURWUjBnQkR3
|d09qQUlCZ1lxaFFOa2NRRXdDQVlHS29VRFpIRUNNQWdHDQpCaXFGQTJSeEF6QUlC
|Z1lxaFFOa2NRUXdDQVlHS29VRFpIRUZNQVlHQkZVZElBQXdEZ1lEVlIwUEFRSC9C
|QVFEDQpBZ0VHTUNzR0ExVWRFQVFrTUNLQUR6SXdNall3TWpBeU1EazFOVFUwV29F
|UE1qQXpOREF5TURJd09UVTFOVFJhDQpNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdI
|UVlEVlIwT0JCWUVGTUZGd0EzM3pLM0tDTjhuVE9FenVJb2grOHRUDQpNQW9HQ0Nx
|RkF3Y0JBUU1DQTBFQTVVdC9xV1pSUHFldDdHL21NS003cnAwUDMxOUtGMFYwOWtJ
|ZDVHVC9BQ2xQDQpMeTg3dWF3MnM1K25WRGNmdFhsbW9BY0s1Y0hZeEdlR0lvVTNs
|eGRONnc9PQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ0KDQpOUEMgMUMgYmVm
|b3JlIDIwMzkNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
|PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQotLS0tLUJFR0lOIENF
|UlRJRklDQVRFLS0tLS0NCk1JSUh0RENDQjJHZ0F3SUJBZ0lLQmRMeVF3QUFBQUFK
|RGpBS0JnZ3FoUU1IQVFFREFqQ0NBVHN4SVRBZkJna3ENCmhraUc5dzBCQ1FFV0Vt
|UnBkRUJrYVdkcGRHRnNMbWR2ZGk1eWRURUxNQWtHQTFVRUJoTUNVbFV4R0RBV0Jn
|TlYNCkJBZ01EemMzSU5DYzBMN1JnZEM2MExMUXNERVpNQmNHQTFVRUJ3d1EwTE11
|SU5DYzBMN1JnZEM2MExMUXNERlQNCk1GRUdBMVVFQ1F4SzBKL1JnTkMxMFlIUXZk
|QzEwTDNSZ2RDNjBMRFJqeURRdmRDdzBMSFF0ZEdBMExYUXR0QzkNCjBMRFJqeXdn
|MExUUXZ0QzhJREV3TENEUmdkR0MwWURRdnRDMTBMM1F1TkMxSURJeEpqQWtCZ05W
|QkFvTUhkQ2MNCjBMalF2ZEdHMExqUmhOR0EwWXNnMEtEUXZ0R0IwWUhRdU5DNE1S
|Z3dGZ1lGS29VRFpBRVNEVEV3TkRjM01ESXcNCk1qWTNNREV4RlRBVEJnVXFoUU5r
|QkJJS056Y3hNRFEzTkRNM05URW1NQ1FHQTFVRUF3d2QwSnpRdU5DOTBZYlENCnVO
|R0UwWURSaXlEUW9OQyswWUhSZ2RDNDBMZ3dIaGNOTWpRd01qQTFNRGd3TlRReVdo
|Y05Nemt3TWpBMU1EZ3cNCk5UUXlXakNDQVRFeEZUQVRCZ1VxaFFOa0JCSUtOemN5
|T1RVeE1ESXhNREVZTUJZR0JTcUZBMlFCRWcweE1EUTMNCk56azJOVEkyTlRRMk1R
|c3dDUVlEVlFRR0V3SlNWVEVZTUJZR0ExVUVDQXdQTnpjZzBKelF2dEdCMExyUXN0
|Q3cNCk1SVXdFd1lEVlFRSERBelFuTkMrMFlIUXV0Q3kwTEF4YVRCbkJnTlZCQWtN
|WU5HRDBMdlF1TkdHMExBZzBKelENCnZ0R0IwWVRRdU5DNzBZelF2TkMrMExMUmdk
|QzYwTERSanl3ZzBMVFF2dEM4SURReUxDRFJnZEdDMFlEUXZ0QzENCjBMM1F1TkMx
|SURFc0lOR04wWUl2MEwvUXZ0QzhMOUM2MEw3UXZDQXhMekV2TnpFWE1CVUdDU3FH
|U0liM0RRRUoNCkFSWUlZMkZBTVdNdWNuVXhIVEFiQmdOVkJBb01GTkNlMEo3UW5p
|QWkwSjNRbjlDbUlDSXgwS0VpTVIwd0d3WUQNClZRUUREQlRRbnRDZTBKNGdJdENk
|MEovUXBpQWlNZENoSWpCbU1COEdDQ3FGQXdjQkFRRUJNQk1HQnlxRkF3SUMNCkl3
|RUdDQ3FGQXdjQkFRSUNBME1BQkVDTUc2RERaR3ZlSjA4S3FJSVRhZ1ArVkltdzc5
|TkkrYUZNdndoQ1RleC8NClBTRzJ0ZDllOTd5VnBSTjFLY3BnRzg4Q3Y4YWR6WFZo
|NUJvM3J4VUtzbGlHbzRJRVJEQ0NCRUF3Q3dZRFZSMFANCkJBUURBZ0dHTUIwR0Ex
|VWREZ1FXQkJUcFFXNXhtd1llVk90MVZTb042MnhYQndkZDlEQVNCZ05WSFJNQkFm
|OEUNCkNEQUdBUUgvQWdFQU1DVUdBMVVkSUFRZU1Cd3dDQVlHS29VRFpIRUJNQWdH
|QmlxRkEyUnhBakFHQmdSVkhTQUENCk1GSUdCU3FGQTJSdkJFa01SeUxRbXRHQTBM
|alF2OUdDMEw3UW45R0EwTDRnUTFOUUlpRFFzdEMxMFlEUmdkQzQNCjBZOGdOQzR3
|SUNqUXVOR0IwTC9RdnRDNzBMM1F0ZEM5MExqUXRTQXlMVUpoYzJVcE1CUUdDU3NH
|QVFRQmdqY1UNCkFnUUhEQVZUZFdKRFFUQVNCZ2tyQmdFRUFZSTNGUUVFQlFJREF3
|QURNSUlCZlFZRFZSMGpCSUlCZERDQ0FYQ0ENCkZNa1RXTEZNcDJJNmZ0SS9QS2Ju
|Rkh5ZGNLT0dvWUlCUTZTQ0FUOHdnZ0U3TVNFd0h3WUpLb1pJaHZjTkFRa0INCkZo
|SmthWFJBWkdsbmFYUmhiQzVuYjNZdWNuVXhDekFKQmdOVkJBWVRBbEpWTVJnd0Zn
|WURWUVFJREE4M055RFENCm5OQyswWUhRdXRDeTBMQXhHVEFYQmdOVkJBY01FTkN6
|TGlEUW5OQyswWUhRdXRDeTBMQXhVekJSQmdOVkJBa00NClN0Q2YwWURRdGRHQjBM
|M1F0ZEM5MFlIUXV0Q3cwWThnMEwzUXNOQ3gwTFhSZ05DMTBMYlF2ZEN3MFk4c0lO
|QzANCjBMN1F2Q0F4TUN3ZzBZSFJndEdBMEw3UXRkQzkwTGpRdFNBeU1TWXdKQVlE
|VlFRS0RCM1FuTkM0MEwzUmh0QzQNCjBZVFJnTkdMSU5DZzBMN1JnZEdCMExqUXVE
|RVlNQllHQlNxRkEyUUJFZzB4TURRM056QXlNREkyTnpBeE1SVXcNCkV3WUZLb1VE
|WkFRU0NqYzNNVEEwTnpRek56VXhKakFrQmdOVkJBTU1IZENjMExqUXZkR0cwTGpS
|aE5HQTBZc2cNCjBLRFF2dEdCMFlIUXVOQzRnaEVBbFIralIzeGhCRHF0K29XR0o0
|STBRakNCandZRFZSMGZCSUdITUlHRU1DcWcNCktLQW1oaVJvZEhSd09pOHZjbVZs
|YzNSeUxYQnJhUzV5ZFM5alpIQXZaM1ZqTWpBeU1pNWpjbXd3S3FBb29DYUcNCkpH
|aDBkSEE2THk5amIyMXdZVzU1TG5KMExuSjFMMk5rY0M5bmRXTXlNREl5TG1OeWJE
|QXFvQ2lnSm9Za2FIUjANCmNEb3ZMM0p2YzNSbGJHVmpiMjB1Y25VdlkyUndMMmQx
|WXpJd01qSXVZM0pzTUVBR0NDc0dBUVVGQndFQkJEUXcNCk1qQXdCZ2dyQmdFRkJR
|Y3dBb1lrYUhSMGNEb3ZMM0psWlhOMGNpMXdhMmt1Y25VdlkyUndMMmQxWXpJd01q
|SXUNClkzSjBNSUgxQmdVcWhRTmtjQVNCNnpDQjZBdzAwSi9Ra05DYTBKd2d3cXZR
|bXRHQTBMalF2OUdDMEw3UW45R0ENCjBMNGdTRk5Od3JzZzBMTFF0ZEdBMFlIUXVO
|QzRJREl1TUF4RDBKL1FrTkNhSU1LcjBKUFF2dEM3MEw3UXN0QzkNCjBMN1F1U0RS
|ZzlDMDBMN1JnZEdDMEw3UXN0QzEwWURSajlHTzBZblF1TkM1SU5HRzBMWFF2ZEdD
|MFlEQ3V3dzENCjBKZlFzTkM2MEx2Ump0R0gwTFhRdmRDNDBMVWc0b1NXSURFME9T
|OHpMekl2TWk4eU15RFF2dEdDSURBeUxqQXoNCkxqSXdNVGdNTk5DWDBMRFF1dEM3
|MFk3Umg5QzEwTDNRdU5DMUlPS0VsaUF4TkRrdk55ODJMVFEwT1NEUXZ0R0MNCklE
|TXdMakV5TGpJd01qRXdEQVlGS29VRFpISUVBd0lCQVRBS0JnZ3FoUU1IQVFFREFn
|TkJBUGdoeXY0ZEVDUGwNCk9MQWwvTDBwQ0pteFFTUVJid3Q0S3J6LzFZMUhyYVl6
|Z1NYYi9KL3Q0ZnNrdzZPaGVuZlZhN29YZ01YUGZlZWgNCnY5dTBNMjNGRXRjPQ0K
|LS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==";
Возврат Результат;
КонецФункции
// Задает имя для чтения данных о служебной учетной записи из безопасного хранилища
@@ -1922,16 +1922,14 @@
#Область ОбработчикиОтправкиИПолученияДанныхДляОбменаВРаспределеннойИБ
// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной
// информационной базе.
// См. описание параметров в обработчике события ПриОтправкеДанныхПодчиненному в синтакс-помощнике.
//
// См. ПриОтправкеДанныхПодчиненномуСобытие
//
// Параметры:
// ЭлементДанных - Произвольный
// ОтправкаЭлемента - ОтправкаЭлементаДанных
// СозданиеНачальногоОбраза - Булево
// Получатель - ПланОбменаОбъект
//
// ЭлементДанных - см. ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхПодчиненному.ЭлементДанных
// ОтправкаЭлемента - см. ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхПодчиненному.ОтправкаЭлемента
// СозданиеНачальногоОбраза - см. ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхПодчиненному.СозданиеНачальногоОбраза
// Получатель - см. ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхПодчиненному.Источник
//
Процедура ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента, Знач СозданиеНачальногоОбраза, Знач Получатель) Экспорт
Если ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать Тогда
@@ -1985,16 +1983,49 @@
КонецПроцедуры
// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной
// информационной базе.
// См. описание параметров в обработчике события ПриПолученииДанныхОтПодчиненного в синтакс-помощнике.
//
// См. ПриОтправкеДанныхГлавномуСобытие
//
// Параметры:
// ЭлементДанных - Произвольный
// ПолучениеЭлемента - ПолучениеЭлементаДанных
// ОтправкаНазад - Булево
// Отправитель - ПланОбменаОбъект
//
// ЭлементДанных - см. ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхГлавному.ЭлементДанных
// ОтправкаЭлемента - см. ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхГлавному.ОтправкаЭлемента
// Получатель - см. ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхГлавному.Источник
//
Процедура ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента, Знач Получатель) Экспорт
Если ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать Тогда
Возврат;
КонецЕсли;
// Отправка идентификаторов объектов метаданных выполняется в другой секции сообщения обмена.
ИгнорироватьОтправкуИдентификаторовОбъектовМетаданных(ЭлементДанных, ОтправкаЭлемента);
Если ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(ЭлементДанных) = Тип("КонстантаМенеджерЗначения.РазрешитьДоступКИнтернетСервисам") Тогда
ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
КонецЕсли;
ИнтеграцияПодсистемБСП.ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента, Получатель);
// Вызов переопределяемого обработчика для выполнения прикладной логики обмена РИБ.
ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента, Получатель);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
МодульОбменДаннымиСервер.РассчитатьПроцентВыгрузкиРИБ(Получатель, Ложь);
КонецЕсли;
КонецПроцедуры
// См. ПриПолученииДанныхОтПодчиненногоСобытие
//
// Параметры:
// ЭлементДанных - см. ОбщегоНазначенияПереопределяемый.ПриПолученииДанныхОтПодчиненного.ЭлементДанных
// ПолучениеЭлемента - см. ОбщегоНазначенияПереопределяемый.ПриПолученииДанныхОтПодчиненного.ПолучениеЭлемента
// ОтправкаНазад - см. ОбщегоНазначенияПереопределяемый.ПриПолученииДанныхОтПодчиненного.ОтправкаНазад
// Отправитель - см. ОбщегоНазначенияПереопределяемый.ПриПолученииДанныхОтПодчиненного.Источник
//
Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Знач Отправитель) Экспорт
// Идентификаторы объектов метаданных могут изменяться только в главном узле.
@@ -2027,16 +2058,13 @@
КонецПроцедуры
// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной
// информационной базе.
// См. описание обработчика события ПриПолученииДанныхОтГлавного в синтакс-помощнике.
// Параметр Отправитель может быть не заполнен, например, при получении сообщения начального образа в АРМе.
//
// См. ПриПолученииДанныхОтГлавногоСобытие
//
// Параметры:
// ЭлементДанных - Произвольный
// ПолучениеЭлемента - ПолучениеЭлементаДанных
// ОтправкаНазад - Булево
// Отправитель - ПланОбменаОбъект
// ЭлементДанных - см. ОбщегоНазначенияПереопределяемый.ПриПолученииДанныхОтГлавного.ЭлементДанных
// ПолучениеЭлемента - см. ОбщегоНазначенияПереопределяемый.ПриПолученииДанныхОтГлавного.ПолучениеЭлемента
// ОтправкаНазад - см. ОбщегоНазначенияПереопределяемый.ПриПолученииДанныхОтГлавного.ОтправкаНазад
// Отправитель - см. ОбщегоНазначенияПереопределяемый.ПриПолученииДанныхОтГлавного.Источник
//
Процедура ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель = Неопределено) Экспорт
@@ -3250,40 +3278,6 @@
#Область СлужебныеПроцедурыИФункции
// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной
// информационной базе.
//
// Параметры:
// см. описание обработчика события ПриОтправкеДанныхГлавному() в синтакс-помощнике.
//
Процедура ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента, Знач Получатель)
Если ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать Тогда
Возврат;
КонецЕсли;
// Отправка идентификаторов объектов метаданных выполняется в другой секции сообщения обмена.
ИгнорироватьОтправкуИдентификаторовОбъектовМетаданных(ЭлементДанных, ОтправкаЭлемента);
Если ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(ЭлементДанных) = Тип("КонстантаМенеджерЗначения.РазрешитьДоступКИнтернетСервисам") Тогда
ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
КонецЕсли;
ИнтеграцияПодсистемБСП.ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента, Получатель);
// Вызов переопределяемого обработчика для выполнения прикладной логики обмена РИБ.
ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента, Получатель);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
МодульОбменДаннымиСервер.РассчитатьПроцентВыгрузкиРИБ(Получатель, Ложь);
КонецЕсли;
КонецПроцедуры
// Заполняет структуру параметров, необходимых для работы клиентского кода
// данной подсистемы при запуске конфигурации, т.е. в обработчиках событий.
// - ПередНачаломРаботыСистемы,
@@ -4328,16 +4322,7 @@
#Область ОбработкаПодписокНаСобытияПлановОбменаРИБ
// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной
// информационной базе.
// См. описание параметров в обработчике события ПриОтправкеДанныхПодчиненному в синтакс-помощнике.
//
// Параметры:
// Источник - ПланОбменаОбъект
// ЭлементДанных - Произвольный
// ОтправкаЭлемента - ОтправкаЭлементаДанных
// СозданиеНачальногоОбраза - Булево
//
// См. ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхПодчиненному.
Процедура ПриОтправкеДанныхПодчиненномуСобытие(Источник, ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза) Экспорт
ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза, Источник);
@@ -4349,15 +4334,7 @@
КонецПроцедуры
// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной
// информационной базе.
// См. описание параметров в обработчике события ПриОтправкеДанныхГлавному в синтакс-помощнике.
//
// Параметры:
// Источник - ПланОбменаОбъект
// ЭлементДанных - Произвольный
// ОтправкаЭлемента - ОтправкаЭлементаДанных
//
// См. ОбщегоНазначенияПереопределяемый.ПриОтправкеДанныхГлавному.
Процедура ПриОтправкеДанныхГлавномуСобытие(Источник, ЭлементДанных, ОтправкаЭлемента) Экспорт
ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента, Источник);
@@ -4369,16 +4346,7 @@
КонецПроцедуры
// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной
// информационной базе.
// См. описание параметров в обработчике события ПриПолученииДанныхОтПодчиненного в синтакс-помощнике.
//
// Параметры:
// Источник - ПланОбменаОбъект
// ЭлементДанных - Произвольный
// ПолучениеЭлемента - ПолучениеЭлементаДанных
// ОтправкаНазад - Булево
//
// См. ОбщегоНазначенияПереопределяемый.ПриПолученииДанныхОтПодчиненного.
Процедура ПриПолученииДанныхОтПодчиненногоСобытие(Источник, ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад) Экспорт
ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Источник);
@@ -4390,16 +4358,7 @@
КонецПроцедуры
// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной
// информационной базе.
// См. описание обработчика события ПриПолученииДанныхОтГлавного в синтакс-помощнике.
//
// Параметры:
// Источник - ПланОбменаОбъект
// ЭлементДанных - Произвольный
// ПолучениеЭлемента - ПолучениеЭлементаДанных
// ОтправкаНазад - Булево
//
// См. ОбщегоНазначенияПереопределяемый.ПриПолученииДанныхОтГлавного.
Процедура ПриПолученииДанныхОтГлавногоСобытие(Источник, ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад) Экспорт
ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Источник);
@@ -4415,26 +4374,27 @@
// Используется для вызова обработчика события ПослеПолученияДанных при обмене в распределенной ИБ.
//
// Параметры:
// Источник - ПланОбменаОбъект
// Отправитель - ПланОбменаОбъект
// Отказ - Булево
// ПолучениеИзГлавногоУзла - Булево
//
Процедура ПослеПолученияДанных(Источник, Отказ) Экспорт
Процедура ПослеПолученияДанных(Отправитель, Отказ, ПолучениеИзГлавногоУзла = Ложь) Экспорт
Если Источник.ОбменДанными.Загрузка Тогда
Если Отправитель.ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если Не Источник.Метаданные().РаспределеннаяИнформационнаяБаза Тогда
Если Не Отправитель.Метаданные().РаспределеннаяИнформационнаяБаза Тогда
Возврат;
КонецЕсли;
Если Источник.ЭтоНовый()
Или Источник.НомерПринятого = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.Ссылка, "НомерПринятого") Тогда
Если Отправитель.ЭтоНовый()
Или Отправитель.НомерПринятого = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Отправитель.Ссылка, "НомерПринятого") Тогда
Возврат;
КонецЕсли;
ПолучениеИзГлавногоУзла = (ПланыОбмена.ГлавныйУзел() = Источник.Ссылка);
ИнтеграцияПодсистемБСП.ПослеПолученияДанных(Источник, Отказ, ПолучениеИзГлавногоУзла);
ПолучениеИзГлавногоУзла = (ПланыОбмена.ГлавныйУзел() = Отправитель.Ссылка);
ИнтеграцияПодсистемБСП.ПослеПолученияДанных(Отправитель, Отказ, ПолучениеИзГлавногоУзла);
КонецПроцедуры
@@ -2835,6 +2835,152 @@
МодульУправлениеДоступомСлужебныйВМоделиСервиса.ОтправитьГруппыДоступаВМенеджерСервисаПриПереходеНаНовуюВерсию();
КонецПроцедуры
// Возвращает вид интерфейса пользователя для настройки доступа.
//
// Возвращаемое значение:
// Булево - Истина, если для конфигурации указан упрощенный интерфейс.
//
Функция УпрощенныйИнтерфейсНастройкиПравДоступа() Экспорт
Возврат УправлениеДоступомСлужебный.УпрощенныйИнтерфейсНастройкиПравДоступа();
КонецФункции
// Возвращает описание поставляемых профилей групп доступа, поддерживаемых текущей версией конфигурации.
// Доступен вызов в неразделенном режиме при условии, что это поддерживается в прикладном коде,
// встроенном в процедуры ПриЗаполненииВидовДоступа и ПриЗаполненииПоставляемыхПрофилейГруппДоступа
// общего модуля УправлениеДоступомПереопределяемый.
// Не учитывает динамическое изменение метаданных, например, расширений или конфигурации базы
// в результате которого описание поставляемых профилей может изменится в новом сеансе.
//
// Возвращаемое значение:
// Массив из Структура:
// * ИдентификаторПоставляемыхДанных - УникальныйИдентификатор - смотри свойство Идентификатор
// в функции НовоеОписаниеПрофиляГруппДоступа.
//
// * Наименование - Строка - смотри одноименное свойство в функции НовоеОписаниеПрофиляГруппДоступа.
//
// * ЭтоПрофильАдминистратор - Булево - это стандартный поставляемый профиль Администратор.
//
// * ДаетПраваНаВходВПриложение - Булево - в описании поставляемого профиля
// есть одна из ролей БазовыеПраваБСП/БазовыеПраваВнешнихПользователейБСП
// и есть одна из ролей ЗапускТонкогоКлиента/ЗапускВебКлиента/ЗапускМобильногоКлиента/ЗапускТолстогоКлиента.
//
Функция ПоставляемыеПрофилиГруппДоступа() Экспорт
Кэш = УправлениеДоступомСлужебныйПовтИсп.ОписаниеПоставляемыхПрофилейСеанса(Ложь);
ОписаниеПрофилей = Кэш.ПоставляемыеПрофилиСеанса.ОписанияПрофилейМассив;
Результат = Новый Массив;
Для Каждого ОписаниеПрофиля Из ОписаниеПрофилей Цикл
Если ОписаниеПрофиля.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
Свойства = Новый Структура;
Свойства.Вставить("ИдентификаторПоставляемыхДанных",
Новый УникальныйИдентификатор(ОписаниеПрофиля.Идентификатор));
Свойства.Вставить("Наименование", ОписаниеПрофиля.Наименование);
Свойства.Вставить("ЭтоПрофильАдминистратор", ОписаниеПрофиля.Имя = "Администратор");
Свойства.Вставить("ДаетПраваНаВходВПриложение",
( ОписаниеПрофиля.Роли.Найти("БазовыеПраваБСП") <> Неопределено
Или ОписаниеПрофиля.Роли.Найти("БазовыеПраваВнешнихПользователейБСП") <> Неопределено)
И ( ОписаниеПрофиля.Роли.Найти("ЗапускТонкогоКлиента") <> Неопределено
Или ОписаниеПрофиля.Роли.Найти("ЗапускВебКлиента") <> Неопределено
Или ОписаниеПрофиля.Роли.Найти("ЗапускМобильногоКлиента") <> Неопределено
Или ОписаниеПрофиля.Роли.Найти("ЗапускТолстогоКлиента") <> Неопределено));
Результат.Добавить(Свойства);
КонецЦикла;
Возврат Результат;
КонецФункции
// Возвращает уже имеющуюся группу доступа указанного профиля или создает ее в обычном интерфейсе
// настройки прав доступа, либо возвращает ссылку на поставляемый профиль в упрощенном интерфейсе.
//
// Параметры:
// ИдентификаторПоставляемыхДанных - УникальныйИдентификатор - смотри свойство Идентификатор
// в функции НовоеОписаниеПрофиляГруппДоступа, а также одноименный реквизит справочника.
//
// Возвращаемое значение:
// СправочникСсылка.ГруппыДоступа - в обычном интерфейсе настройки прав доступа возвращается
// ссылка на первую группа доступа с указанным профилем по порядку идентификатора ссылки.
// СправочникСсылка.ПрофилиГруппДоступа - в упрощенном интерфейсе настройки прав доступа возвращается
// ссылка на поставляемый профиль группа доступа.
//
Функция ГруппаДоступаПоставляемогоПрофиля(ИдентификаторПоставляемыхДанных) Экспорт
Профиль = Справочники.ПрофилиГруппДоступа.ПоставляемыйПрофильПоИдентификатору(
ИдентификаторПоставляемыхДанных, Истина, Истина);
Если УправлениеДоступомСлужебный.УпрощенныйИнтерфейсНастройкиПравДоступа() Тогда
Возврат Профиль;
КонецЕсли;
Запрос = Новый Запрос;
Если Профиль = ПрофильАдминистратор() Тогда
Запрос.УстановитьПараметр("ГруппаДоступаАдминистраторы", ГруппаДоступаАдминистраторы());
Запрос.Текст =
"ВЫБРАТЬ
| ГруппыДоступа.Ссылка КАК Ссылка
|ИЗ
| Справочник.ГруппыДоступа КАК ГруппыДоступа
|ГДЕ
| ГруппыДоступа.Ссылка = &ГруппаДоступаАдминистраторы";
Иначе
Запрос.УстановитьПараметр("Профиль", Профиль);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ГруппыДоступа.Ссылка КАК Ссылка
|ИЗ
| Справочник.ГруппыДоступа КАК ГруппыДоступа
|ГДЕ
| ГруппыДоступа.Профиль = &Профиль
| И НЕ(ГруппыДоступа.Пользователь <> НЕОПРЕДЕЛЕНО
| И ГруппыДоступа.Пользователь <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
| И ГруппыДоступа.Пользователь <> ЗНАЧЕНИЕ(Справочник.ВнешниеПользователи.ПустаяСсылка))
|
|УПОРЯДОЧИТЬ ПО
| Ссылка";
КонецЕсли;
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.Ссылка;
КонецЕсли;
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("Справочник.ГруппыДоступа");
ЭлементБлокировки = Блокировка.Добавить("Справочник.ПрофилиГруппДоступа");
ЭлементБлокировки.УстановитьЗначение("Ссылка", Профиль);
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ГруппаДоступа = Выборка.Ссылка;
Иначе
СвойстваПрофиля = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Профиль,
"Наименование, ВидыДоступа");
ГруппаДоступаОбъект = Справочники.ГруппыДоступа.СоздатьЭлемент();
ГруппаДоступаОбъект.Наименование = СвойстваПрофиля.Наименование;
ГруппаДоступаОбъект.Профиль = Профиль;
ГруппаДоступаОбъект.ВидыДоступа.Загрузить(ВидыДоступаДляНовойГруппыДоступа(СвойстваПрофиля));
ГруппаДоступаОбъект.Записать();
ГруппаДоступа = ГруппаДоступаОбъект.Ссылка;
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
Возврат ГруппаДоступа;
КонецФункции
// Конец ТехнологияСервиса.ПользователиСервиса
// Требуется в файловой ИБ для предотвращения взаимоблокировок связанных с работой файловой СУБД,
@@ -3540,6 +3686,7 @@
КонецПроцедуры
// Для процедуры ВключитьОтключитьПрофильПользователя.
Процедура ЗаполнитьВидыИЗначенияДоступаНовойГруппыДоступа(ГруппаДоступаОбъект, СвойстваПрофиля, Источник)
Запрос = Новый Запрос;
@@ -3566,6 +3713,7 @@
КонецПроцедуры
// Для процедуры ЗаполнитьВидыИЗначенияДоступаНовойГруппыДоступа и функции ГруппаДоступаПоставляемогоПрофиля.
Функция ВидыДоступаДляНовойГруппыДоступа(СвойстваПрофиля)
ВидыДоступа = СвойстваПрофиля.ВидыДоступа.Выгрузить();
File diff suppressed because it is too large. Load diff
@@ -376,7 +376,8 @@
ГруппаДоступа.Вставить("Users", СписокПользователей);
ГруппаДоступа.Вставить("UserGroups", СписокГруппПользователей);
ГруппаДоступа.Вставить("ProfileId", XMLСтрока(Профиль));
ГруппаДоступа.Вставить("SuppliedProfileID", XMLСтрока(
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Профиль, "ИдентификаторПоставляемыхДанных")));
КонецЕсли;
ОтправитьСообщение(
@@ -505,6 +506,7 @@
МассивВерсий = Новый Массив;
МассивВерсий.Добавить("1.0.0.1");
МассивВерсий.Добавить("1.0.0.2");
СтруктураПоддерживаемыхВерсий.Вставить(
"SettingUpUserRightsInServiceModel",
@@ -102,6 +102,9 @@
// Только для внутреннего использования.
//
// Параметры:
// ПроверятьАктуальностьОписанияВидовДоступа - Булево
//
// Возвращаемое значение:
// ФиксированнаяСтруктура:
// * ПоставляемыеПрофилиСеанса - см. УправлениеДоступомСлужебный.ПоставляемыеПрофили
@@ -109,10 +112,14 @@
// * Проверка - Структура:
// ** Дата - Дата
//
Функция ОписаниеПоставляемыхПрофилейСеанса() Экспорт
Функция ОписаниеПоставляемыхПрофилейСеанса(ПроверятьАктуальностьОписанияВидовДоступа = Истина) Экспорт
ОписаниеВидовДоступа = ?(ПроверятьАктуальностьОписанияВидовДоступа, Неопределено,
УправлениеДоступомСлужебныйПовтИсп.ОписаниеСвойствВидовДоступаСеанса().СвойстваСеанса);
ХешСумма = "";
ПоставляемыеПрофилиСеанса = Справочники.ПрофилиГруппДоступа.ПроверенныеПоставляемыеПрофилиСеанса(, ХешСумма);
ПоставляемыеПрофилиСеанса = Справочники.ПрофилиГруппДоступа.ПроверенныеПоставляемыеПрофилиСеанса(
ОписаниеВидовДоступа, ХешСумма);
Результат = Новый Структура;
Результат.Вставить("ПоставляемыеПрофилиСеанса", ПоставляемыеПрофилиСеанса);
@@ -200,6 +207,7 @@
// Возвращает описание полей блокировки регистра в рамках полей,
// которые допустимы в RLS с учетом вида регистра.
// Если добавлено поле Регистратор, то оно первое в списке.
//
// Параметры:
// ПолноеИмяРегистра - Строка - полное имя регистра.
@@ -210,43 +218,66 @@
// * ОписаниеПолей - ФиксированныйМассив из ФиксированнаяСтруктура:
// ** Имя - Строка - имя поля.
// ** Тип - ОписаниеТипов
// * БлокироватьПоРегистратору - Булево
//
Функция ОписаниеПолейБлокировкиРегистра(ПолноеИмяРегистра) Экспорт
Поля = Новый Массив;
ОписаниеПолей = Новый Массив;
МетаданныеРегистра = ОбщегоНазначения.ОбъектМетаданныхПоПолномуИмени(ПолноеИмяРегистра);
ЭтоРегистрРасчета = ОбщегоНазначения.ЭтоРегистрРасчета(МетаданныеРегистра);
ЭтоПериодическийРегистрСведений = ОбщегоНазначения.ЭтоРегистрСведений(МетаданныеРегистра)
И МетаданныеРегистра.ПериодичностьРегистраСведений
<> Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический;
Если ЭтоПериодическийРегистрСведений Или ЭтоРегистрРасчета Тогда
Для Каждого СтандартныйРеквизит Из МетаданныеРегистра.СтандартныеРеквизиты Цикл
Если ЭтоПериодическийРегистрСведений
И СтандартныйРеквизит.Имя = "Период"
Или ЭтоРегистрРасчета
И (СтандартныйРеквизит.Имя = "ПериодРегистрации"
Или СтандартныйРеквизит.Имя = "ПериодДействия") Тогда
Если МетаданныеРегистра = Неопределено Тогда
БлокироватьПоРегистратору = Ложь;
Иначе
ЭтоРегистрРасчета = ОбщегоНазначения.ЭтоРегистрРасчета(МетаданныеРегистра);
БлокироватьПоРегистратору = ЭтоРегистрРасчета
Или ОбщегоНазначения.ЭтоРегистрСведений(МетаданныеРегистра)
И МетаданныеРегистра.РежимЗаписи
= Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору;
ЭтоПериодическийРегистрСведений = ОбщегоНазначения.ЭтоРегистрСведений(МетаданныеРегистра)
И МетаданныеРегистра.ПериодичностьРегистраСведений
<> Метаданные.СвойстваОбъектов.ПериодичностьРегистраСведений.Непериодический;
Если БлокироватьПоРегистратору
Или ЭтоПериодическийРегистрСведений
Или ЭтоРегистрРасчета Тогда
Поля.Добавить(СтандартныйРеквизит.Имя);
ОписаниеПоля = Новый Структура("Имя, Тип",
СтандартныйРеквизит.Имя, СтандартныйРеквизит.Тип);
ОписаниеПолей.Добавить(Новый ФиксированнаяСтруктура(ОписаниеПоля));
КонецЕсли;
Для Каждого СтандартныйРеквизит Из МетаданныеРегистра.СтандартныеРеквизиты Цикл
Если БлокироватьПоРегистратору
И СтандартныйРеквизит.Имя = "Регистратор" Тогда
Поля.Вставить(0, СтандартныйРеквизит.Имя);
ОписаниеПоля = Новый Структура("Имя, Тип",
СтандартныйРеквизит.Имя, СтандартныйРеквизит.Тип);
ОписаниеПолей.Вставить(0, Новый ФиксированнаяСтруктура(ОписаниеПоля));
ИначеЕсли ЭтоПериодическийРегистрСведений
И СтандартныйРеквизит.Имя = "Период"
Или ЭтоРегистрРасчета
И (СтандартныйРеквизит.Имя = "ПериодРегистрации"
Или СтандартныйРеквизит.Имя = "ПериодДействия") Тогда
Поля.Добавить(СтандартныйРеквизит.Имя);
ОписаниеПоля = Новый Структура("Имя, Тип",
СтандартныйРеквизит.Имя, СтандартныйРеквизит.Тип);
ОписаниеПолей.Добавить(Новый ФиксированнаяСтруктура(ОписаниеПоля));
КонецЕсли;
КонецЦикла;
КонецЕсли;
Для Каждого Измерение Из МетаданныеРегистра.Измерения Цикл
Поля.Добавить(Измерение.Имя);
ОписаниеПоля = Новый Структура("Имя, Тип", Измерение.Имя, Измерение.Тип);
ОписаниеПолей.Добавить(Новый ФиксированнаяСтруктура(ОписаниеПоля));
КонецЦикла;
КонецЕсли;
Для Каждого Измерение Из МетаданныеРегистра.Измерения Цикл
Поля.Добавить(Измерение.Имя);
ОписаниеПоля = Новый Структура("Имя, Тип", Измерение.Имя, Измерение.Тип);
ОписаниеПолей.Добавить(Новый ФиксированнаяСтруктура(ОписаниеПоля));
КонецЦикла;
Результат = Новый Структура;
Результат.Вставить("ОписаниеПолей", Новый ФиксированныйМассив(ОписаниеПолей));
Результат.Вставить("СписокПолей", СтрСоединить(Поля, ","));
Результат.Вставить("БлокироватьПоРегистратору", БлокироватьПоРегистратору);
Возврат Новый ФиксированнаяСтруктура(Результат);
@@ -619,30 +619,30 @@
КонецЕсли;
СвойстваПодписи.ТребуетсяПроверка = Параметры.ТребуетсяПроверка;
ПодписанныйОбъект = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры.ЭлементДанныхДляСервера, "Объект", Неопределено);
// СтандартныеПодсистемы.МашиночитаемыеДоверенности
Если ЗначениеЗаполнено(Параметры.РезультатПроверкиМЧДДляПодписания) И ОбщегоНазначения.ПодсистемаСуществует(
"СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебный");
РезультатПроверкиПодписиПоМЧД = МодульМашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиПодписиПоМЧД(
Параметры.ВыбраннаяДоверенность, ПодписанныйОбъект, СвойстваСертификата.ДвоичныеДанные, ТекущаяДатаСеанса(),
Параметры.РезультатПроверкиМЧДДляПодписания);
Если ЗначениеЗаполнено(РезультатПроверкиПодписиПоМЧД) Тогда
СвойстваПодписи.Вставить("РезультатПроверкиПодписиПоМЧД", РезультатПроверкиПодписиПоМЧД);
КонецЕсли;
КонецЕсли;
// Конец СтандартныеПодсистемы.МашиночитаемыеДоверенности
АдресРезультата = ПоместитьВоВременноеХранилище(СвойстваПодписи, Параметры.ИдентификаторФормы);
Если Параметры.ЭлементДанныхДляСервера.Свойство("Объект") Тогда
Если ПодписанныйОбъект <> Неопределено Тогда
ВерсияОбъекта = Неопределено;
СвойстваПодписи.ИдентификаторПодписи = Новый УникальныйИдентификатор;
Параметры.ЭлементДанныхДляСервера.Свойство("ВерсияОбъекта", ВерсияОбъекта);
// СтандартныеПодсистемы.МашиночитаемыеДоверенности
Если ЗначениеЗаполнено(Параметры.РезультатПроверкиМЧДДляПодписания)
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебный = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенностиФНССлужебный");
РезультатПроверкиПодписиПоМЧД = МодульМашиночитаемыеДоверенностиФНССлужебный.РезультатПроверкиПодписиПоМЧД(
Параметры.ВыбраннаяДоверенность, Параметры.ЭлементДанныхДляСервера.Объект, СвойстваСертификата.ДвоичныеДанные, ТекущаяДатаСеанса(),
Параметры.РезультатПроверкиМЧДДляПодписания);
Если ЗначениеЗаполнено(РезультатПроверкиПодписиПоМЧД) Тогда
СвойстваПодписи.Вставить("РезультатПроверкиПодписиПоМЧД", РезультатПроверкиПодписиПоМЧД);
КонецЕсли;
КонецЕсли;
// Конец СтандартныеПодсистемы.МашиночитаемыеДоверенности
ПредставлениеОшибки = ДобавитьПодпись(Параметры.ЭлементДанныхДляСервера.Объект,
ПредставлениеОшибки = ДобавитьПодпись(ПодписанныйОбъект,
СвойстваПодписи, Параметры.ИдентификаторФормы, ВерсияОбъекта);
Если ЗначениеЗаполнено(ПредставлениеОшибки) Тогда
ОшибкаНаСервере.Вставить("ОписаниеОшибки", ПредставлениеОшибки);
@@ -6770,16 +6770,35 @@
Процедура ВыполнитьНаСторонеЦиклПослеПодписания(СвойстваПодписи, Контекст)
ЭлементДанных = Контекст.ЭлементДанных;
ПодписанныйОбъект = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ЭлементДанных, "Объект", Неопределено);
// СтандартныеПодсистемы.МашиночитаемыеДоверенности
Если Контекст.НаСторонеКлиента И ЗначениеЗаполнено(Контекст.ОписаниеДанных.РезультатПроверкиМЧДДляПодписания)
И ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.МашиночитаемыеДоверенности") Тогда
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебныйКлиент");
РезультатПроверкиПодписиПоМЧД = МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент.РезультатПроверкиПодписиПоМЧД(
Контекст.ОписаниеДанных.ВыбраннаяДоверенность,
?(ТипЗнч(ПодписанныйОбъект) = Тип("ОписаниеОповещения"), Неопределено, ПодписанныйОбъект),
СвойстваПодписи.Сертификат, Неопределено, Контекст.ОписаниеДанных.РезультатПроверкиМЧДДляПодписания);
Если ЗначениеЗаполнено(РезультатПроверкиПодписиПоМЧД) Тогда
СвойстваПодписи.Вставить("РезультатПроверкиПодписиПоМЧД", РезультатПроверкиПодписиПоМЧД);
КонецЕсли;
КонецЕсли;
// Конец СтандартныеПодсистемы.МашиночитаемыеДоверенности
ЭлементДанных.Вставить("СвойстваПодписи", СвойстваПодписи);
Если Не ЭлементДанных.Свойство("Объект") Тогда
Если ПодписанныйОбъект = Неопределено Тогда
ЭлектроннаяПодписьСлужебныйВызовСервера.ЗарегистрироватьПодписаниеДанныхВЖурнале(
СвойстваТекущегоЭлементаДанных(Контекст, СвойстваПодписи));
ВыполнитьНаСторонеЦиклНачало(Контекст);
Возврат;
КонецЕсли;
Если ТипЗнч(ЭлементДанных.Объект) <> Тип("ОписаниеОповещения") Тогда
Если ТипЗнч(ПодписанныйОбъект) <> Тип("ОписаниеОповещения") Тогда
Если Контекст.НаСторонеКлиента Тогда
ВерсияОбъекта = Неопределено;
ЭлементДанных.Свойство("ВерсияОбъекта", ВерсияОбъекта);
@@ -6793,7 +6812,7 @@
МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль(
"МашиночитаемыеДоверенностиФНССлужебныйКлиент");
РезультатПроверкиПодписиПоМЧД = МодульМашиночитаемыеДоверенностиФНССлужебныйКлиент.РезультатПроверкиПодписиПоМЧД(
Контекст.ОписаниеДанных.ВыбраннаяДоверенность, ЭлементДанных.Объект,
Контекст.ОписаниеДанных.ВыбраннаяДоверенность, ПодписанныйОбъект,
СвойстваПодписи.Сертификат, Неопределено, Контекст.ОписаниеДанных.РезультатПроверкиМЧДДляПодписания);
Если ЗначениеЗаполнено(РезультатПроверкиПодписиПоМЧД) Тогда
СвойстваПодписи.Вставить("РезультатПроверкиПодписиПоМЧД", РезультатПроверкиПодписиПоМЧД);
@@ -6804,7 +6823,7 @@
// Конец СтандартныеПодсистемы.МашиночитаемыеДоверенности
ПредставлениеОшибки = ЭлектроннаяПодписьСлужебныйВызовСервера.ДобавитьПодпись(
ЭлементДанных.Объект, СвойстваПодписи, Контекст.ИдентификаторФормы, ВерсияОбъекта);
ПодписанныйОбъект, СвойстваПодписи, Контекст.ИдентификаторФормы, ВерсияОбъекта);
Если ЗначениеЗаполнено(ПредставлениеОшибки) Тогда
ЭлементДанных.Удалить("СвойстваПодписи");
ОшибкаНаКлиенте = Новый Структура("ОписаниеОшибки", ПредставлениеОшибки);
@@ -6812,7 +6831,7 @@
Возврат;
КонецЕсли;
КонецЕсли;
ОповеститьОбИзменении(ЭлементДанных.Объект);
ОповеститьОбИзменении(ПодписанныйОбъект);
ВыполнитьНаСторонеЦиклНачало(Контекст);
Возврат;
КонецЕсли;
@@ -6826,7 +6845,7 @@
"ВыполнитьНаСторонеЦиклПослеЗаписиПодписи", ЭтотОбъект, Контекст));
Попытка
ВыполнитьОбработкуОповещения(ЭлементДанных.Объект, ПараметрыВыполнения);
ВыполнитьОбработкуОповещения(ПодписанныйОбъект, ПараметрыВыполнения);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ВыполнитьНаСторонеЦиклПослеЗаписиПодписи(Новый Структура("ОписаниеОшибки",
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="cc0881a9-81f2-44ca-a768-c051b7c9d02b">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d0d2997c-9781-4aed-bec2-402fa7a48334">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.2</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="1a6e4315-f9e0-40d8-ad64-38b245eb3924"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="29ea5073-7ca2-4459-8d10-55359d002f8d"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="8c0c134f-75da-4d27-aa51-d68aa0b9315e"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="0c6b910a-bf48-410d-9872-c29c9b1204bd"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="4ef7e879-a250-4f01-a0d4-a526b7842d23"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="11fdc3f6-256d-4864-be4b-d95755ae16b4"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="71cc9d38-f77a-4fce-8106-25449a164835"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="95e7258c-417d-4fce-ac3c-ecbb91050dd7"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="4f088425-6026-4641-aae1-80a9a052e040"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="2d1b7515-6945-489f-a44f-93eb136f7abd"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="db659f5d-4890-4ef6-83e7-35e861d95888"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="1b6af088-e17c-4be6-adf9-9f82fdbe5a42"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="6455737d-5d4b-448e-a118-c5db96ca5e97"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="eb01ded4-45bb-4c30-84c1-e4160261c842"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.2.1.425</version>
<version>3.2.1.446</version>
<updateCatalogAddress>https://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,267e6804-7c76-468f-8a17-2434e8b0d15f,1,5485f0d2-5c2f-4882-957a-d02abe0d1a73,"3.2.1.425","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7936,1,0,cc0881a9-81f2-44ca-a768-c051b7c9d02b,cc0881a9-81f2-44ca-a768-c051b7c9d02b,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,fa04bf1e-69c0-4998-a939-039fcaba83c8,fa04bf1e-69c0-4998-a939-039fcaba83c8,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,baad68ea-0976-4bdf-8e0e-7ee5c25e3d51,baad68ea-0976-4bdf-8e0e-7ee5c25e3d51,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,7ee7cccc-4e52-464c-9c20-5c0dfbed7e5f,7ee7cccc-4e52-464c-9c20-5c0dfbed7e5f,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,491b9625-62ce-436b-8245-60decacc4552,491b9625-62ce-436b-8245-60decacc4552,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8Line truncated
{6,1,1,be0683a5-0490-4aff-9505-5ca9a2462ea4,1,5ab68444-7bd8-41df-8f29-3b9dd86ee569,"3.2.1.446","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7936,1,0,d0d2997c-9781-4aed-bec2-402fa7a48334,d0d2997c-9781-4aed-bec2-402fa7a48334,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,fa04bf1e-69c0-4998-a939-039fcaba83c8,fa04bf1e-69c0-4998-a939-039fcaba83c8,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,baad68ea-0976-4bdf-8e0e-7ee5c25e3d51,baad68ea-0976-4bdf-8e0e-7ee5c25e3d51,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,1,0,7ee7cccc-4e52-464c-9c20-5c0dfbed7e5f,7ee7cccc-4e52-464c-9c20-5c0dfbed7e5f,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,491b9625-62ce-436b-8245-60decacc4552,491b9625-62ce-436b-8245-60decacc4552,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8Line truncated
@@ -516,7 +516,7 @@
<textSize>Normal</textSize>
<inputHint>
<key>ru</key>
<value>ws://localhost</value>
<value>ws://localhost:9094</value>
</inputHint>
</extInfo>
</items>
@@ -150,6 +150,10 @@
ПараметрыРегистрации = Новый ПараметрыРегистрацииИнформационнойБазыСистемыВзаимодействия;
ПараметрыРегистрации.АдресСервера = СерверВзаимодействия;
ПараметрыРегистрации.АдресЭлектроннойПочты = АдресЭлектроннойПочты;
ПараметрыРегистрации.ИмяИнформационнойБазы = ИмяИнформационнойБазы;
Если ВыборСервераВзаимодействия = 1 Тогда
ПараметрыРегистрации.КодАктивации = Формат(ОбщегоНазначенияКлиент.ДатаСеанса(), НСтр("ru='ДФ=''yyyMMddHHmmss'''"));
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("ПослеУспешногоПолученияКодаРегистрации", ЭтотОбъект,,
"ПриОбработкеОшибкиПолученияКодаРегистрации", ЭтотОбъект);
@@ -163,7 +167,9 @@
&НаКлиенте
Процедура ПослеУспешногоПолученияКодаРегистрации(РегистрацияВыполнена, ТекстСообщения, Контекст) Экспорт
ПоказатьПредупреждение(, ТекстСообщения);
Если ЗначениеЗаполнено(ТекстСообщения) Тогда
ПоказатьПредупреждение(, ТекстСообщения);
КонецЕсли;
СостояниеРегистрации = "ОжиданиеВводаКодаПодтверждения";
ПриИзмененииСостоянияФормы(ЭтотОбъект);
@@ -384,6 +384,20 @@
</edit>
</columns>
</attributes>
<attributes>
<name>ТекстОшибкиКомпоненты</name>
<id>4</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>Повторить</name>
<title>
@@ -158,17 +158,22 @@
&НаКлиенте
Асинх Процедура ПолучениеСертификатовНаТокене()
Если ЗначениеЗаполнено(ТекстОшибкиКомпоненты) Тогда
ЗавершитьОперацию(ТекстОшибкиКомпоненты);
Возврат;
КонецЕсли;
Если ОбъектКомпоненты = Неопределено Тогда
Попытка
ОбъектКомпоненты = Ждать ОбъектВнешнейКомпоненты();
Исключение
ОписаниеОшибки = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
ТекстОшибкиКомпоненты = ОбработкаОшибок.КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписатьВЖурналРегистрации(ИнформацияОбОшибке());
КонецПопытки;
КонецЕсли;
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
ЗавершитьОперацию(ОписаниеОшибки);
Если ЗначениеЗаполнено(ТекстОшибкиКомпоненты) Тогда
ЗавершитьОперацию(ТекстОшибкиКомпоненты);
Возврат;
КонецЕсли;
@@ -499,16 +499,7 @@
Возврат "";
КонецЕсли;
Если СтрСравнить(ИмяУровня, "area") = 0 И ЗначениеЗаполнено(Адрес.areaValue) Тогда
Возврат Адрес.areaValue;
КонецЕсли;
Если Адрес.Свойство(ИмяУровня) И ЗначениеЗаполнено(Адрес[ИмяУровня]) Тогда
Возврат УправлениеКонтактнойИнформациейКлиентСервер.СоединитьНаименованиеИТипАдресногоОбъекта(
Адрес[ИмяУровня], Адрес[ИмяУровня +"Type"], СтрСравнить(ИмяУровня, "area") = 0);
КонецЕсли;
Возврат "";
Возврат РаботаСАдресамиКлиентСервер.ПредставлениеУровняАдреса(Адрес, ИмяУровня);
КонецФункции
@@ -430,7 +430,7 @@
ОписаниеТекущейКонфигурации = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().СинонимКонфигурации;
ВерсияТекущейКонфигурации = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().ВерсияКонфигурации;
Если Не СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().ЭтоГлавныйУзел Тогда
Если ЭтоПодчиненныйУзелРИБ Тогда
ДоступностьКнопкиНазад = Ложь;
КонецЕсли;
@@ -448,7 +448,7 @@
Элементы.НадписьРезервнаяКопияФайл.Заголовок = ОбновлениеКонфигурацииКлиент.ЗаголовокСозданияРезервнойКопии(Объект);
Если Не СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().ЭтоГлавныйУзел Тогда
Если ЭтоПодчиненныйУзелРИБ Тогда
ДоступностьКнопкиНазад = Ложь;
КонецЕсли;
ИначеЕсли НоваяСтраница = Страницы.ВыборРежимаОбновленияСервер Тогда
@@ -467,7 +467,7 @@
Элементы.ПанельУведомлятьПользователей.Видимость = (Объект.РежимОбновления = 2);
Элементы.АдресЭлектроннойПочты.Доступность = Объект.ВыслатьОтчетНаПочту;
Если Не СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента().ЭтоГлавныйУзел Тогда
Если ЭтоПодчиненныйУзелРИБ Тогда
ДоступностьКнопкиНазад = Ложь;
КонецЕсли;
@@ -715,10 +715,6 @@
<key>ru</key>
<value>Команды навигации</value>
</title>
<toolTip>
<key>ru</key>
<value>Группа команды навигации</value>
</toolTip>
<extendedTooltip>
<name>ГруппаКомандыНавигацииРасширеннаяПодсказка</name>
<id>1098</id>
@@ -228,8 +228,12 @@
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_НачалоВыбораКомментарий(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Процедура Подключаемый_КомментарийОткрытие(Элемент, СтандартнаяОбработка)
Если АнкетированиеКлиент.ЕстьРодительскаяГруппаТолькоПросмотр(Элемент) Тогда
Возврат;
КонецЕсли;
СтандартнаяОбработка = Ложь;
Если Элементы.Найти(Элемент.Имя) = Неопределено Тогда
Возврат;
@@ -1499,7 +1503,7 @@
Элементы[ИмяВопроса + "_Комментарий"].УстановитьДействие("ПриИзменении",
"Подключаемый_ПриИзмененииВопроса");
Элементы[ИмяВопроса + "_Комментарий"].УстановитьДействие("НачалоВыбора",
"Подключаемый_НачалоВыбораКомментарий");
"Подключаемый_КомментарийОткрытие");
КонецЕсли;
Если СтрокаТаблицы.ИспользоватьОтказОтОтвета
И СтрокаТаблицы.ТипОтвета <> Перечисления.ТипыОтветовНаВопрос.Булево Тогда
@@ -48,6 +48,7 @@
<defaultItem>true</defaultItem>
<skipOnInput>false</skipOnInput>
<titleLocation>None</titleLocation>
<excludedCommands>Copy</excludedCommands>
<excludedCommands>Create</excludedCommands>
<items xsi:type="form:FormField">
<name>Номер</name>
@@ -399,6 +399,10 @@
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>ChoiceProcessing</event>
<name>ТипРеспондентовОбработкаВыбора</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
@@ -147,6 +147,32 @@
КонецПроцедуры
&НаКлиенте
Процедура ТипРеспондентовОбработкаВыбора(Элемент, ВыбранноеЗначение, ДополнительныеДанные, ВыборДобавлением, СтандартнаяОбработка)
Если ВыбранноеЗначение = ТипРеспондентов Тогда
СтандартнаяОбработка = Ложь;
Возврат;
КонецЕсли;
Если Объект.Респонденты.Количество() > 0 Тогда
СтандартнаяОбработка = Ложь;
СтрокаВопроса = НСтр("ru = 'Для продолжения необходимо очистить список респондентов.'");
Кнопки = Новый СписокЗначений;
Кнопки.Добавить(КодВозвратаДиалога.Да, НСтр("ru = 'Очистить'"));
Кнопки.Добавить(КодВозвратаДиалога.Отмена);
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ВыбранноеЗначение", ВыбранноеЗначение);
Обработчик = Новый ОписаниеОповещения("ТипРеспондентовОбработкаВыбораЗавершение", ЭтотОбъект, ДополнительныеПараметры);
ПоказатьВопрос(Обработчик, СтрокаВопроса, Кнопки, 60, КодВозвратаДиалога.Да);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СвободныйОпросПриИзменении(Элемент)
@@ -233,6 +259,16 @@
КонецПроцедуры
&НаКлиенте
Процедура ТипРеспондентовОбработкаВыбораЗавершение(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
ТипРеспондентов = ДополнительныеПараметры.ВыбранноеЗначение;
Модифицированность = Истина;
ОбработатьИзменениеТипаРеспондента();
УправлениеДоступностью();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииЧтенииНаСервере()
@@ -24,7 +24,7 @@
Если ЗначениеЗаполнено(Отбор.Объект.Значение) Тогда
ИзмененныеОбъекты.Добавить(Отбор.Объект.Значение);
Иначе
ИзмененныеОбъекты = ВсеОбъекты();
ИзмененныеОбъекты = ВсеОбъекты(Отбор.Свойство.Значение);
КонецЕсли;
КонецЕсли;
@@ -55,17 +55,29 @@
#Область СлужебныеПроцедурыИФункции
Функция ВсеОбъекты()
Функция ВсеОбъекты(Свойство)
УсловиеОтбора = "ИСТИНА";
ТекстЗапроса =
"ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| &УсловиеОтбора
|
|СГРУППИРОВАТЬ ПО
| ДополнительныеСведения.Объект";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос = Новый Запрос;
Если ЗначениеЗаполнено(Свойство) Тогда
УсловиеОтбора = "ДополнительныеСведения.Свойство = &Свойство";
Запрос.УстановитьПараметр("Свойство", Свойство);
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеОтбора", УсловиеОтбора);
Запрос.Текст = ТекстЗапроса;
Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Объект");
КонецФункции
@@ -1767,62 +1767,6 @@
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>СпискиЗадержкаОбработкиСписка</name>
<id>303</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>305</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СпискиЗадержкаОбработкиСпискаКонтекстноеМеню</name>
<id>304</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Auto</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<autoWidthInTable>None</autoWidthInTable>
<extInfo xsi:type="form:InputFieldExtInfo">
<width>7</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>СпискиКоличествоЭлементов</name>
<id>33</id>
@@ -1871,6 +1815,14 @@
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<format>
<key>ru</key>
<value>ЧН=0</value>
</format>
<editFormat>
<key>ru</key>
<value>ЧН=0</value>
</editFormat>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
@@ -1926,6 +1878,14 @@
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<format>
<key>ru</key>
<value>ЧН=0</value>
</format>
<editFormat>
<key>ru</key>
<value>ЧН=0</value>
</editFormat>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
@@ -1976,6 +1936,14 @@
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<format>
<key>ru</key>
<value>ЧН=0</value>
</format>
<editFormat>
<key>ru</key>
<value>ЧН=0</value>
</editFormat>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
@@ -2026,6 +1994,70 @@
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<format>
<key>ru</key>
<value>ЧН=0</value>
</format>
<editFormat>
<key>ru</key>
<value>ЧН=0</value>
</editFormat>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>СпискиЗадержкаОбработкиСписка</name>
<id>303</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>305</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СпискиЗадержкаОбработкиСпискаКонтекстноеМеню</name>
<id>304</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Auto</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<autoWidthInTable>None</autoWidthInTable>
<extInfo xsi:type="form:InputFieldExtInfo">
<width>7</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
@@ -2525,11 +2557,15 @@
</title>
<id>4</id>
<valueType>
<types>String</types>
<types>Number</types>
<numberQualifiers>
<precision>3</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
<stringQualifiers>
<length>1</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
@@ -2546,11 +2582,15 @@
</title>
<id>5</id>
<valueType>
<types>String</types>
<types>Number</types>
<numberQualifiers>
<precision>3</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
<stringQualifiers>
<length>1</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
@@ -2567,11 +2607,15 @@
</title>
<id>6</id>
<valueType>
<types>String</types>
<types>Number</types>
<numberQualifiers>
<precision>15</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
<stringQualifiers>
<length>1</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
@@ -2588,11 +2632,15 @@
</title>
<id>7</id>
<valueType>
<types>String</types>
<types>Number</types>
<numberQualifiers>
<precision>15</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
<stringQualifiers>
<length>1</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
@@ -2609,11 +2657,15 @@
</title>
<id>8</id>
<valueType>
<types>String</types>
<types>Number</types>
<numberQualifiers>
<precision>15</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
<stringQualifiers>
<length>1</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
@@ -2630,11 +2682,15 @@
</title>
<id>9</id>
<valueType>
<types>String</types>
<types>Number</types>
<numberQualifiers>
<precision>15</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
<stringQualifiers>
<length>1</length>
</stringQualifiers>
</valueType>
<view>
<common>true</common>
@@ -896,7 +896,7 @@
<key>ru</key>
<value>Обновление доступа элементов списка</value>
</title>
<id>2</id>
<id>11</id>
<valueType>
<types>Boolean</types>
</valueType>
@@ -907,6 +907,17 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ВерсииОграниченийСписков</name>
<id>2</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ОбновитьДоступКОбъекту</name>
<title>
@@ -17,19 +17,15 @@
ОбновитьПраваНаКлючиДоступа = Истина;
УдалитьУстаревшиеСлужебныеДанные = Истина;
Если Не СтандартныеПодсистемыСервер.ВерсияПрограммыОбновленаДинамически() Тогда
СпискиСОграничением = УправлениеДоступомСлужебныйПовтИсп.СпискиСОграничением();
Иначе
СпискиСОграничением = УправлениеДоступомСлужебный.ДействующиеПараметрыОграниченияДоступа(Неопределено,
Неопределено, Ложь);
КонецЕсли;
СпискиСКлючамиДоступа = УправлениеДоступомСлужебный.СпискиСКлючамиДоступа(, Истина);
ВерсииОграничений = Новый Соответствие;
Списки = Новый Массив;
Списки.Добавить("Справочник.НаборыГруппДоступа");
Списки.Добавить("РегистрСведений.ПараметрыОграниченияДоступа");
Для Каждого ОписаниеСписка Из СпискиСОграничением Цикл
ПолноеИмя = ОписаниеСписка.Ключ;
Списки.Добавить(ПолноеИмя);
Для Каждого ОписаниеСписка Из СпискиСКлючамиДоступа Цикл
Список = ОписаниеСписка.Ключ;
СвойстваТаблицы = ОписаниеСписка.Значение;
ПолноеИмя = СвойстваТаблицы.ИмяТаблицы;
СпискиДляОбновления.Добавить(Список, Строка(Список), Истина);
ВерсииОграничений.Вставить(ПолноеИмя, СвойстваТаблицы.ВерсияОграничения);
Если Не УправлениеДоступомСлужебный.ЭтоСсылочныйТипТаблицы(ПолноеИмя) Тогда
Продолжить;
КонецЕсли;
@@ -37,15 +33,9 @@
ТипыОбъектовОбновленияДоступа.Добавить(ПустаяСсылка, Строка(ТипЗнч(ПустаяСсылка)));
ИменаТаблицТиповОбъектовОбновленияДоступа.Добавить(ПустаяСсылка, ПолноеИмя);
КонецЦикла;
ВерсииОграниченийСписков = Новый ФиксированноеСоответствие(ВерсииОграничений);
ТипыОбъектовОбновленияДоступа.СортироватьПоПредставлению();
Идентификаторы = ОбщегоНазначения.ИдентификаторыОбъектовМетаданных(Списки);
Для Каждого ОписаниеИдентификатора Из Идентификаторы Цикл
СпискиДляОбновления.Добавить(ОписаниеИдентификатора.Значение,
Строка(ОписаниеИдентификатора.Значение), Истина);
КонецЦикла;
СпискиДляОбновления.СортироватьПоПредставлению();
Если ОбщегоНазначенияКлиентСервер.ЭтоВариантИнтерфейса85() Тогда
@@ -272,6 +262,7 @@
Если ОбновитьКлючиДоступаКЭлементамДанных Или ОбновитьПраваНаКлючиДоступа Тогда
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования.ВерсииОграниченийСписков = Новый Соответствие(ВерсииОграниченийСписков);
ПараметрыПланирования.ЭтоПродолжениеОбновления = Истина;
Если Не ОбновитьКлючиДоступаКЭлементамДанных Тогда
ПараметрыПланирования.КлючиДоступаКДанным = Ложь;
@@ -284,7 +275,8 @@
КонецЕсли;
Если УдалитьУстаревшиеСлужебныеДанные Тогда
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа();
ПараметрыПланирования = УправлениеДоступомСлужебный.ПараметрыПланированияОбновленияДоступа(Ложь);
ПараметрыПланирования.ВерсииОграниченийСписков = Новый Соответствие(ВерсииОграниченийСписков);
ПараметрыПланирования.ЭтоОбработкаУстаревшихЭлементов = Истина;
ПараметрыПланирования.Описание = "ПланированиеОбновленияДоступаВручную";
УправлениеДоступомСлужебный.ЗапланироватьОбновлениеДоступа(Списки, ПараметрыПланирования);
@@ -137,7 +137,7 @@
<toolTip>
<key>ru</key>
<value>1 - точечное задание,
2 - обновление устаревших,
2 - очистка устаревших,
3 - обновление с начала.</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
@@ -116,7 +116,7 @@
<toolTip>
<key>ru</key>
<value>1 - точечное задание,
2 - обновление устаревших,
2 - очистка устаревших,
3 - обновление с начала.</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
@@ -1063,9 +1063,9 @@
Если ТипЗнч(СвойстваОбъекта.СтандартныеТабличныеЧасти) <> Тип("ОписанияСтандартныхТабличныхЧастей") Тогда
Возврат Неопределено;
КонецЕсли;
СтандартныеТабличныеЧасти = СвойстваОбъекта.СтандартныеТабличныеЧасти; // ОписанияСтандартныхТабличныхЧастей
Для Каждого СтандартнаяТабличнаяЧасть Из СвойстваОбъекта.СтандартныеТабличныеЧасти Цикл
СтандартнаяТабличнаяЧасть = СтандартнаяТабличнаяЧасть; // ОписаниеСтандартнойТабличнойЧасти
Для Каждого СтандартнаяТабличнаяЧасть Из СтандартныеТабличныеЧасти Цикл
Если СтандартнаяТабличнаяЧасть.Имя = ИмяСтандартнойТабличнойЧасти Тогда
Возврат СтандартнаяТабличнаяЧасть;
КонецЕсли;
@@ -1083,9 +1083,9 @@
Если ТипЗнч(СвойстваОбъекта.СтандартныеРеквизиты) <> Тип("ОписанияСтандартныхРеквизитов") Тогда
Возврат Неопределено;
КонецЕсли;
СтандартныеТабличныеЧасти = СвойстваОбъекта.СтандартныеТабличныеЧасти; // ОписанияСтандартныхТабличныхЧастей
Для Каждого СтандартныйРеквизит Из СвойстваОбъекта.СтандартныеРеквизиты Цикл
СтандартныйРеквизит = СтандартныйРеквизит; // ОписаниеСтандартногоРеквизита
Если СтандартныйРеквизит.Имя = ИмяСтандартногоРеквизита Тогда
Возврат СтандартныйРеквизит;
КонецЕсли;
@@ -4657,93 +4657,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonCommand.ПоказатьРезультатРезервногоКопирования</name>
<right>
@@ -4874,6 +4787,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.РегистрироватьПоказателиСерверныхОповещений</name>
<right>
@@ -2525,33 +2525,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИспользоватьРазделениеПоОбластямДанных</name>
<right>
@@ -2625,6 +2598,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ВводЗначенийСпискомСФлажками</name>
<right>
@@ -2014,33 +2014,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИспользоватьРазделениеПоОбластямДанных</name>
<right>
@@ -2096,6 +2069,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ВводЗначенийСпискомСФлажками</name>
<right>
@@ -888,6 +888,27 @@
<value>true</value>
</right>
</object>
<object>
<name>WebService.Exchange_3_0_2_1.Operation.Download</name>
<right>
<name>Use</name>
<value>true</value>
</right>
</object>
<object>
<name>WebService.Exchange_3_0_1_1.Operation.PrepareGetFile</name>
<right>
<name>Use</name>
<value>true</value>
</right>
</object>
<object>
<name>WebService.Exchange.Operation.Download</name>
<right>
<name>Use</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -915,27 +936,6 @@
<value>true</value>
</right>
</object>
<object>
<name>WebService.Exchange_3_0_2_1.Operation.Download</name>
<right>
<name>Use</name>
<value>true</value>
</right>
</object>
<object>
<name>WebService.Exchange_3_0_1_1.Operation.PrepareGetFile</name>
<right>
<name>Use</name>
<value>true</value>
</right>
</object>
<object>
<name>WebService.Exchange.Operation.Download</name>
<right>
<name>Use</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.СостоянияУспешныхОбменовДанными</name>
<right>
@@ -29,6 +29,13 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаИзмененияДанных</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -56,13 +63,6 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаИзмененияДанных</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДатыЗапретаИзменения</name>
<right>
@@ -166,6 +166,13 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.РедактированиеМеток</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -193,13 +200,6 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.РедактированиеМеток</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.РедактированиеДополнительныхСведений</name>
<right>
@@ -77,6 +77,13 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ОтправкаСообщения</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -104,13 +111,6 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ОтправкаСообщения</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -17,33 +17,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ГруппыДоступа</name>
<right>
@@ -121,6 +94,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ПрофилиГруппДоступа</name>
<right>
@@ -237,6 +237,17 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ЗамерыВремениТехнологические</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -264,17 +275,6 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ЗамерыВремениТехнологические</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ОценкаПроизводительности.Command.НастройкиОценкиПроизводительности</name>
<right>
@@ -6543,45 +6543,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>CommonCommand.ПоказатьРезультатРезервногоКопирования</name>
<right>
@@ -6736,6 +6697,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Constant.РегистрироватьПоказателиСерверныхОповещений</name>
<right>
@@ -3351,33 +3351,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>SessionParameter.ИдентификаторыТаблицСОтдельнымиНастройкамиПрав</name>
<right>
@@ -3426,6 +3399,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ИспользуемыеВидыДоступа</name>
<right>
@@ -129,6 +129,13 @@
<value>true</value>
</right>
</object>
<object>
<name>WebService.RemoteAdministrationOfExchange_2_4_5_1.Operation.Ping</name>
<right>
<name>Use</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -156,13 +163,6 @@
<value>true</value>
</right>
</object>
<object>
<name>WebService.RemoteAdministrationOfExchange_2_4_5_1.Operation.Ping</name>
<right>
<name>Use</name>
<value>true</value>
</right>
</object>
<object>
<name>WebService.RemoteAdministrationOfExchange_2_1_6_1.Operation.StartExchangeExecutionInFirstDataBase</name>
<right>
@@ -29,6 +29,13 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаИзмененияДанных</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -56,13 +63,6 @@
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаИзмененияДанных</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.ДатыЗапретаИзменения</name>
<right>
@@ -31,6 +31,13 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ОтправкаСообщения</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -58,13 +65,6 @@
<value>true</value>
</right>
</object>
<object>
<name>CommonForm.ОтправкаСообщения</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")