3_1_5_171
This commit is contained in:
1 parent
b10548f0af
commit
09e68ae35b
46 files changed
+965
-427
No files matched your search
@@ -133,13 +133,16 @@
|
|||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура УточнитьФорматПолейВремени()
|
Процедура УточнитьФорматПолейВремени()
|
||||||
|
|
||||||
ФорматВремени = НСтр("ru = 'ДФ=ЧЧ:мм; ДП='");
|
ФорматВремени = ?(ГрафикиРаботы.ДвенадцатиЧасовойФорматВремени(),
|
||||||
|
НСтр("ru = 'ДФ=''чч:мм вв''; ДП='"), НСтр("ru = 'ДФ=ЧЧ:мм; ДП='"));
|
||||||
|
ФорматВремениРедактирования = ?(ГрафикиРаботы.ДвенадцатиЧасовойФорматВремени(),
|
||||||
|
НСтр("ru = 'ДФ=''чч:мм вв'''"), НСтр("ru = 'ДФ=ЧЧ:мм'"));
|
||||||
|
|
||||||
Элементы.РасписаниеРаботыВремяНачала.Формат = ФорматВремени;
|
Элементы.РасписаниеРаботыВремяНачала.Формат = ФорматВремени;
|
||||||
Элементы.РасписаниеРаботыВремяНачала.ФорматРедактирования = ФорматВремени;
|
Элементы.РасписаниеРаботыВремяНачала.ФорматРедактирования = ФорматВремениРедактирования;
|
||||||
|
|
||||||
Элементы.РасписаниеРаботыВремяОкончания.Формат = ФорматВремени;
|
Элементы.РасписаниеРаботыВремяОкончания.Формат = ФорматВремени;
|
||||||
Элементы.РасписаниеРаботыВремяОкончания.ФорматРедактирования = ФорматВремени;
|
Элементы.РасписаниеРаботыВремяОкончания.ФорматРедактирования = ФорматВремениРедактирования;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
@@ -2859,6 +2859,19 @@
|
|||||||
<common>true</common>
|
<common>true</common>
|
||||||
</edit>
|
</edit>
|
||||||
</attributes>
|
</attributes>
|
||||||
|
<attributes>
|
||||||
|
<name>ДвенадцатиЧасовойФорматВремени</name>
|
||||||
|
<id>19</id>
|
||||||
|
<valueType>
|
||||||
|
<types>Boolean</types>
|
||||||
|
</valueType>
|
||||||
|
<view>
|
||||||
|
<common>true</common>
|
||||||
|
</view>
|
||||||
|
<edit>
|
||||||
|
<common>true</common>
|
||||||
|
</edit>
|
||||||
|
</attributes>
|
||||||
<formCommands>
|
<formCommands>
|
||||||
<name>ЗаполнитьПоШаблону</name>
|
<name>ЗаполнитьПоШаблону</name>
|
||||||
<title>
|
<title>
|
||||||
|
|||||||
@@ -17,6 +17,8 @@
|
|||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДвенадцатиЧасовойФорматВремени = ГрафикиРаботы.ДвенадцатиЧасовойФорматВремени();
|
||||||
|
|
||||||
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан("Справочник.Календари", ЭтотОбъект);
|
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан("Справочник.Календари", ЭтотОбъект);
|
||||||
|
|
||||||
// Если производственный календарь в системе единственный, заполняем его по умолчанию.
|
// Если производственный календарь в системе единственный, заполняем его по умолчанию.
|
||||||
@@ -39,6 +41,8 @@
|
|||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
||||||
|
|
||||||
|
ДвенадцатиЧасовойФорматВремени = ГрафикиРаботы.ДвенадцатиЧасовойФорматВремени();
|
||||||
|
|
||||||
ДлинаЦикла = Объект.ШаблонЗаполнения.Количество();
|
ДлинаЦикла = Объект.ШаблонЗаполнения.Количество();
|
||||||
ЗаполнитьДаннымиТекущегоГода();
|
ЗаполнитьДаннымиТекущегоГода();
|
||||||
|
|
||||||
@@ -531,8 +535,8 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ПредставлениеИнтервала = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
ПредставлениеИнтервала = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
"%1-%2, ",
|
"%1-%2, ",
|
||||||
ПредставлениеВремениСуток(СтрокаРасписания.ВремяНачала),
|
ПредставлениеВремениСуток(СтрокаРасписания.ВремяНачала, Форма.ДвенадцатиЧасовойФорматВремени),
|
||||||
ПредставлениеВремениСуток(СтрокаРасписания.ВремяОкончания));
|
ПредставлениеВремениСуток(СтрокаРасписания.ВремяОкончания, Форма.ДвенадцатиЧасовойФорматВремени));
|
||||||
ПредставлениеИнтервалов = ПредставлениеИнтервалов + ПредставлениеИнтервала;
|
ПредставлениеИнтервалов = ПредставлениеИнтервалов + ПредставлениеИнтервала;
|
||||||
Если Не ЗначениеЗаполнено(СтрокаРасписания.ВремяОкончания) Тогда
|
Если Не ЗначениеЗаполнено(СтрокаРасписания.ВремяОкончания) Тогда
|
||||||
СекундИнтервала = КонецДня(СтрокаРасписания.ВремяОкончания) - СтрокаРасписания.ВремяНачала + 1;
|
СекундИнтервала = КонецДня(СтрокаРасписания.ВремяОкончания) - СтрокаРасписания.ВремяНачала + 1;
|
||||||
@@ -554,13 +558,16 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
&НаКлиентеНаСервереБезКонтекста
|
&НаКлиентеНаСервереБезКонтекста
|
||||||
Функция ПредставлениеВремениСуток(Знач ВремяСуток)
|
Функция ПредставлениеВремениСуток(Знач ВремяСуток, ДвенадцатиЧасовойФорматВремени)
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(ВремяСуток) Тогда
|
Если Не ЗначениеЗаполнено(ВремяСуток) Тогда
|
||||||
ВремяСуток = Дата(1980, 1, 1);
|
ВремяСуток = Дата(1980, 1, 1);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Формат(ВремяСуток, НСтр("ru = 'ДФ=ЧЧ:мм'"));
|
ФорматВремени = ?(ДвенадцатиЧасовойФорматВремени,
|
||||||
|
НСтр("ru = 'ДФ=''чч:мм вв'''"), НСтр("ru = 'ДФ=ЧЧ:мм; ДП='"));
|
||||||
|
|
||||||
|
Возврат Формат(ВремяСуток, ФорматВремени);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
+6
@@ -79,6 +79,9 @@
|
|||||||
Иначе
|
Иначе
|
||||||
ВыполнитьОбработкуОповещения(ОповещениеПриПодтверждении, ЭтотОбъект);
|
ВыполнитьОбработкуОповещения(ОповещениеПриПодтверждении, ЭтотОбъект);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
Иначе
|
||||||
|
Элементы.Подписать.Видимость = Истина;
|
||||||
|
Элементы.Подписать.КнопкаПоУмолчанию = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ИначеЕсли ВРег(ИмяСобытия) = ВРег("ПодтверждениеАвторизация") И Источник = УникальныйИдентификатор Тогда
|
ИначеЕсли ВРег(ИмяСобытия) = ВРег("ПодтверждениеАвторизация") И Источник = УникальныйИдентификатор Тогда
|
||||||
@@ -290,6 +293,9 @@
|
|||||||
|
|
||||||
Если Результат = Истина Тогда
|
Если Результат = Истина Тогда
|
||||||
Закрыть(Истина);
|
Закрыть(Истина);
|
||||||
|
ИначеЕсли ЭлектроннаяПодписьСлужебныйКлиент.ЭтоОперацияОблачнойПодписи(ЭтотОбъект) Тогда
|
||||||
|
Элементы.Подписать.Видимость = Истина;
|
||||||
|
Элементы.Подписать.КнопкаПоУмолчанию = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
+6
@@ -83,6 +83,9 @@
|
|||||||
Иначе
|
Иначе
|
||||||
ВыполнитьОбработкуОповещения(ОповещениеПриПодтверждении, ЭтотОбъект);
|
ВыполнитьОбработкуОповещения(ОповещениеПриПодтверждении, ЭтотОбъект);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
Иначе
|
||||||
|
Элементы.ФормаРасшифровать.Видимость = Истина;
|
||||||
|
Элементы.ФормаРасшифровать.КнопкаПоУмолчанию = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ИначеЕсли ВРег(ИмяСобытия) = ВРег("ПодтверждениеАвторизация") И Источник = УникальныйИдентификатор Тогда
|
ИначеЕсли ВРег(ИмяСобытия) = ВРег("ПодтверждениеАвторизация") И Источник = УникальныйИдентификатор Тогда
|
||||||
@@ -325,6 +328,9 @@
|
|||||||
|
|
||||||
Если Результат = Истина Тогда
|
Если Результат = Истина Тогда
|
||||||
Закрыть(Истина);
|
Закрыть(Истина);
|
||||||
|
ИначеЕсли ЭлектроннаяПодписьСлужебныйКлиент.ЭтоОперацияОблачнойПодписи(ЭтотОбъект) Тогда
|
||||||
|
Элементы.ФормаРасшифровать.Видимость = Истина;
|
||||||
|
Элементы.ФормаРасшифровать.КнопкаПоУмолчанию = Истина;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|||||||
@@ -145,15 +145,10 @@
|
|||||||
//
|
//
|
||||||
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
|
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
|
||||||
|
|
||||||
Элемент = Элементы.Добавить();
|
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено Тогда
|
||||||
Элемент.ИмяПредопределенныхДанных = "Россия";
|
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
|
||||||
Элемент.Код = "643";
|
МодульРаботаСАдресами.ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти);
|
||||||
Элемент.Наименование = НСтр("ru = 'РОССИЯ'", ОбщегоНазначения.КодОсновногоЯзыка());
|
КонецЕсли;
|
||||||
Элемент.НаименованиеПолное = НСтр("ru = 'Российская Федерация'", ОбщегоНазначения.КодОсновногоЯзыка());
|
|
||||||
Элемент.КодАльфа2 = "RU";
|
|
||||||
Элемент.КодАльфа3 = "RUS";
|
|
||||||
Элемент.УчастникЕАЭС = Истина;
|
|
||||||
Элемент.МеждународноеНаименование = НСтр("ru = 'The Russian Federation'", ОбщегоНазначения.КодОсновногоЯзыка());
|
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|||||||
+7
-1
@@ -812,7 +812,13 @@
|
|||||||
ИменаПредопределенныхНаборов = Метаданные.Справочники.НаборыДополнительныхРеквизитовИСведений.ПолучитьИменаПредопределенных();
|
ИменаПредопределенныхНаборов = Метаданные.Справочники.НаборыДополнительныхРеквизитовИСведений.ПолучитьИменаПредопределенных();
|
||||||
Для Каждого ИмяПредопределенногоНабора Из ИменаПредопределенныхНаборов Цикл
|
Для Каждого ИмяПредопределенногоНабора Из ИменаПредопределенныхНаборов Цикл
|
||||||
Если СтрНачинаетсяС(ИмяПредопределенногоНабора, "Удалить") Тогда
|
Если СтрНачинаетсяС(ИмяПредопределенногоНабора, "Удалить") Тогда
|
||||||
НаборыСвойств.Добавить(Справочники.НаборыДополнительныхРеквизитовИСведений[ИмяПредопределенногоНабора]);
|
Попытка
|
||||||
|
ПредопределенныйНабор = Справочники.НаборыДополнительныхРеквизитовИСведений[ИмяПредопределенногоНабора];
|
||||||
|
НаборыСвойств.Добавить(ПредопределенныйНабор);
|
||||||
|
Исключение
|
||||||
|
// Обработка исключения не требуется, отсутствует предопределенный элемент в данных.
|
||||||
|
Продолжить;
|
||||||
|
КонецПопытки;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
НаборыСвойств.Добавить(Справочники.НаборыДополнительныхРеквизитовИСведений.ПустаяСсылка());
|
НаборыСвойств.Добавить(Справочники.НаборыДополнительныхРеквизитовИСведений.ПустаяСсылка());
|
||||||
|
|||||||
@@ -554,6 +554,10 @@
|
|||||||
<metadata>Constant.ПараметрыЦентраМониторинга</metadata>
|
<metadata>Constant.ПараметрыЦентраМониторинга</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
</content>
|
</content>
|
||||||
|
<content>
|
||||||
|
<metadata>ScheduledJob.ОбработкаСервисовИнтеграции</metadata>
|
||||||
|
<use>DontUse</use>
|
||||||
|
</content>
|
||||||
<content>
|
<content>
|
||||||
<metadata>ScheduledJob.УведомлениеИсполнителейОНовыхЗадачах</metadata>
|
<metadata>ScheduledJob.УведомлениеИсполнителейОНовыхЗадачах</metadata>
|
||||||
<use>DontUse</use>
|
<use>DontUse</use>
|
||||||
|
|||||||
@@ -27,10 +27,10 @@
|
|||||||
ФоновоеЗадание.ОжидатьЗавершенияВыполнения(Неопределено);
|
ФоновоеЗадание.ОжидатьЗавершенияВыполнения(Неопределено);
|
||||||
|
|
||||||
ОписаниеНовыхПатчей = ПолучитьИзВременногоХранилища(АдресХранилища);
|
ОписаниеНовыхПатчей = ПолучитьИзВременногоХранилища(АдресХранилища);
|
||||||
Сообщение = СтрЗаменить(Сообщение, "Ссылка", " " + НСтр("ru = '<a href = ""ПереходПоСсылке"">Подробно</a>'"));
|
Сообщение = СтрЗаменить(Сообщение, "Ссылка", " " + НСтр("ru = '<a href = ""%1"">Подробно</a>'"));
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Элементы.Текст.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(Сообщение);
|
Элементы.Текст.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(Сообщение, "ПереходПоСсылке");
|
||||||
|
|
||||||
СРасписанием = Истина;
|
СРасписанием = Истина;
|
||||||
Если ПараметрыПроверки.Исправления = Неопределено
|
Если ПараметрыПроверки.Исправления = Неопределено
|
||||||
|
|||||||
@@ -254,6 +254,7 @@
|
|||||||
ИменаИдентификаторов.Добавить("OID1_2_643_100_5", "OGRNIP");
|
ИменаИдентификаторов.Добавить("OID1_2_643_100_5", "OGRNIP");
|
||||||
ИменаИдентификаторов.Добавить("OID1_2_643_100_3", "SNILS");
|
ИменаИдентификаторов.Добавить("OID1_2_643_100_3", "SNILS");
|
||||||
ИменаИдентификаторов.Добавить("OID1_2_643_3_131_1_1", "INN");
|
ИменаИдентификаторов.Добавить("OID1_2_643_3_131_1_1", "INN");
|
||||||
|
ИменаИдентификаторов.Добавить("OID1_2_643_100_4", "INNLE");
|
||||||
ИменаИдентификаторов.Добавить("OID2_5_4_4", "SN");
|
ИменаИдентификаторов.Добавить("OID2_5_4_4", "SN");
|
||||||
ИменаИдентификаторов.Добавить("OID2_5_4_42", "GN");
|
ИменаИдентификаторов.Добавить("OID2_5_4_42", "GN");
|
||||||
|
|
||||||
|
|||||||
@@ -4610,10 +4610,10 @@
|
|||||||
Элементы.СтруктураВарианта_ПереместитьВверх1.Доступность = МожноУдалятьИПеремещать И ЕстьСоседние;
|
Элементы.СтруктураВарианта_ПереместитьВверх1.Доступность = МожноУдалятьИПеремещать И ЕстьСоседние;
|
||||||
Элементы.СтруктураВарианта_ПереместитьВниз.Доступность = МожноУдалятьИПеремещать И ЕстьСоседние;
|
Элементы.СтруктураВарианта_ПереместитьВниз.Доступность = МожноУдалятьИПеремещать И ЕстьСоседние;
|
||||||
Элементы.СтруктураВарианта_ПереместитьВниз1.Доступность = МожноУдалятьИПеремещать И ЕстьСоседние;
|
Элементы.СтруктураВарианта_ПереместитьВниз1.Доступность = МожноУдалятьИПеремещать И ЕстьСоседние;
|
||||||
Элементы.СтруктураВарианта_ПереместитьНаУровеньВыше.Доступность = ЕстьРодитель И РодителяМожноПеремещать;
|
Элементы.СтруктураВарианта_ПереместитьНаУровеньВыше.Доступность = МожноУдалятьИПеремещать И ЕстьРодитель И РодителяМожноПеремещать;
|
||||||
Элементы.СтруктураВарианта_ПереместитьНаУровеньВыше1.Доступность = ЕстьРодитель И РодителяМожноПеремещать;
|
Элементы.СтруктураВарианта_ПереместитьНаУровеньВыше1.Доступность = МожноУдалятьИПеремещать И ЕстьРодитель И РодителяМожноПеремещать;
|
||||||
Элементы.СтруктураВарианта_ПереместитьНаУровеньНиже.Доступность = ЕстьПотенциальныеРодители;
|
Элементы.СтруктураВарианта_ПереместитьНаУровеньНиже.Доступность = МожноУдалятьИПеремещать И ЕстьПотенциальныеРодители;
|
||||||
Элементы.СтруктураВарианта_ПереместитьНаУровеньНиже1.Доступность = ЕстьПотенциальныеРодители;
|
Элементы.СтруктураВарианта_ПереместитьНаУровеньНиже1.Доступность = МожноУдалятьИПеремещать И ЕстьПотенциальныеРодители;
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
|
|||||||
@@ -2057,8 +2057,7 @@
|
|||||||
|
|
||||||
УточнитьТекстПервогоЗапросаУниверсальногоПоиска(ТекстыЗапросов);
|
УточнитьТекстПервогоЗапросаУниверсальногоПоиска(ТекстыЗапросов);
|
||||||
|
|
||||||
Разделитель = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
Разделитель = Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС; //@query-part
|
||||||
НСтр("ru = '%1ОБЪЕДИНИТЬ ВСЕ%2'"), Символы.ПС, Символы.ПС);
|
|
||||||
|
|
||||||
ТекстЗапроса = СтрСоединить(ТекстыЗапросов, Разделитель);
|
ТекстЗапроса = СтрСоединить(ТекстыЗапросов, Разделитель);
|
||||||
|
|
||||||
@@ -2186,10 +2185,10 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ПолеПоУсловию = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
ПолеПоУсловию = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
НСтр("ru = 'КОГДА ВЫРАЗИТЬ(%1 КАК СТРОКА(150)) ПОДОБНО %2 ТОГДА ""%3""'"),
|
"КОГДА ВЫРАЗИТЬ(%1 КАК СТРОКА(150)) ПОДОБНО %2 ТОГДА ""%3""",
|
||||||
Поле.Имя,
|
Поле.Имя,
|
||||||
"""%" + ПараметрыПоиска.СтрокаПоиска + "%""",
|
"""%" + ПараметрыПоиска.СтрокаПоиска + "%""",
|
||||||
Поле.Имя);
|
Поле.Имя);//@query-part
|
||||||
|
|
||||||
ОписаниеПоляПоУсловию.Добавить(ПолеПоУсловию);
|
ОписаниеПоляПоУсловию.Добавить(ПолеПоУсловию);
|
||||||
|
|
||||||
@@ -2199,9 +2198,9 @@
|
|||||||
Возврат """""";
|
Возврат """""";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ОписаниеПоляПоУсловию.Вставить(0, НСтр("ru = 'ВЫБОР'"));
|
ОписаниеПоляПоУсловию.Вставить(0, "ВЫБОР");//@query-part
|
||||||
ОписаниеПоляПоУсловию.Добавить(НСтр("ru = 'ИНАЧЕ """"'"));
|
ОписаниеПоляПоУсловию.Добавить("ИНАЧЕ """"");//@query-part
|
||||||
ОписаниеПоляПоУсловию.Добавить(НСтр("ru = 'КОНЕЦ'"));
|
ОписаниеПоляПоУсловию.Добавить("КОНЕЦ");//@query-part
|
||||||
|
|
||||||
Возврат СтрСоединить(ОписаниеПоляПоУсловию, " ");
|
Возврат СтрСоединить(ОписаниеПоляПоУсловию, " ");
|
||||||
|
|
||||||
@@ -2227,16 +2226,16 @@
|
|||||||
Если ТипРеквизита.СодержитТип(Тип("Строка")) Тогда
|
Если ТипРеквизита.СодержитТип(Тип("Строка")) Тогда
|
||||||
|
|
||||||
Условие = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
Условие = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
НСтр("ru = 'ВЫРАЗИТЬ(%1 КАК СТРОКА(150)) ПОДОБНО %2'"),
|
"ВЫРАЗИТЬ(%1 КАК СТРОКА(150)) ПОДОБНО %2",
|
||||||
Поле.Имя,
|
Поле.Имя,
|
||||||
"""%" + ПараметрыПоиска.СтрокаПоиска + "%""");
|
"""%" + ПараметрыПоиска.СтрокаПоиска + "%""");//@query-part
|
||||||
|
|
||||||
ИначеЕсли ТипРеквизита.СодержитТип(Тип("Число")) Тогда
|
ИначеЕсли ТипРеквизита.СодержитТип(Тип("Число")) Тогда
|
||||||
|
|
||||||
Условие = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
Условие = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
НСтр("ru = 'ВЫРАЗИТЬ(%1 КАК ЧИСЛО) = %2'"),
|
"ВЫРАЗИТЬ(%1 КАК ЧИСЛО) = %2",
|
||||||
Поле.Имя,
|
Поле.Имя,
|
||||||
ПараметрыПоиска.ЧислоПоиска);
|
ПараметрыПоиска.ЧислоПоиска);//@query-part
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
Продолжить;
|
Продолжить;
|
||||||
@@ -2250,7 +2249,7 @@
|
|||||||
Возврат "ЛОЖЬ";
|
Возврат "ЛОЖЬ";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат СтрСоединить(Условия, " ИЛИ ");
|
Возврат СтрСоединить(Условия, " ИЛИ ");//@query-part
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -655,3 +655,18 @@
|
|||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
Функция ДвенадцатиЧасовойФорматВремени() Экспорт
|
||||||
|
|
||||||
|
ПредставлениеВремени = Формат(ТекущаяДатаСеанса(), "ДЛФ=T");
|
||||||
|
Если ВРег(Прав(ПредставлениеВремени, 1)) = "M" Тогда
|
||||||
|
Возврат Истина;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Ложь;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
@@ -1041,12 +1041,54 @@
|
|||||||
ПараметрыПроцедурыФоновогоЗадания = Новый Массив;
|
ПараметрыПроцедурыФоновогоЗадания = Новый Массив;
|
||||||
ПараметрыПроцедурыФоновогоЗадания.Добавить(ВсеПараметры);
|
ПараметрыПроцедурыФоновогоЗадания.Добавить(ВсеПараметры);
|
||||||
|
|
||||||
|
Если РегистрыСведений.ПараметрыРаботыПрограммы.ИмяПроцедурыФоновогоЗадания() = ИмяПроцедуры Тогда
|
||||||
|
ИмяПроцедурыФоновогоЗадания = ИмяПроцедурыФоновогоЗаданияБезВызоваПередЗапускомПрограммы();
|
||||||
|
Иначе
|
||||||
|
ИмяПроцедурыФоновогоЗадания = "ДлительныеОперации.ВыполнитьСКонтекстомКлиента";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат ВыполнитьФоновоеЗадание(ПараметрыВыполнения,
|
Возврат ВыполнитьФоновоеЗадание(ПараметрыВыполнения,
|
||||||
"ДлительныеОперации.ВыполнитьСКонтекстомКлиента", ПараметрыПроцедурыФоновогоЗадания,
|
ИмяПроцедурыФоновогоЗадания, ПараметрыПроцедурыФоновогоЗадания,
|
||||||
КлючФоновогоЗадания, НаименованиеФоновогоЗадания);
|
КлючФоновогоЗадания, НаименованиеФоновогоЗадания);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ЭтоЗапускБезВызоваПередЗапускомПрограммы() Экспорт
|
||||||
|
|
||||||
|
Если ТекущийРежимЗапуска() <> Неопределено Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТекущийСеанс = ПолучитьТекущийСеансИнформационнойБазы();
|
||||||
|
Если ТекущийСеанс.ИмяПриложения <> "BackgroundJob" Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ФоновоеЗадание = ТекущийСеанс.ПолучитьФоновоеЗадание();
|
||||||
|
|
||||||
|
Если ФоновоеЗадание = Неопределено
|
||||||
|
Или ФоновоеЗадание.ИмяМетода <> ИмяПроцедурыФоновогоЗаданияБезВызоваПередЗапускомПрограммы() Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Истина;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Для функции ЗапуститьФоновоеЗаданиеСКонтекстомКлиента.
|
||||||
|
Функция ИмяПроцедурыФоновогоЗаданияБезВызоваПередЗапускомПрограммы()
|
||||||
|
|
||||||
|
Возврат "ДлительныеОперации.ВыполнитьСКонтекстомКлиентаБезВызоваПередЗапускомПрограммы";
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
// Продолжение процедуры ЗапуститьФоновоеЗаданиеСКонтекстомКлиента.
|
||||||
|
Процедура ВыполнитьСКонтекстомКлиентаБезВызоваПередЗапускомПрограммы(ВсеПараметры) Экспорт
|
||||||
|
|
||||||
|
ВыполнитьСКонтекстомКлиента(ВсеПараметры);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
// Продолжение процедуры ЗапуститьФоновоеЗаданиеСКонтекстомКлиента.
|
// Продолжение процедуры ЗапуститьФоновоеЗаданиеСКонтекстомКлиента.
|
||||||
Процедура ВыполнитьСКонтекстомКлиента(ВсеПараметры) Экспорт
|
Процедура ВыполнитьСКонтекстомКлиента(ВсеПараметры) Экспорт
|
||||||
|
|
||||||
|
|||||||
@@ -2516,6 +2516,15 @@
|
|||||||
// Проверка на коллизии дат запрета загрузки.
|
// Проверка на коллизии дат запрета загрузки.
|
||||||
Объект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения");
|
Объект.ДополнительныеСвойства.Вставить("ПропуститьПроверкуЗапретаИзменения");
|
||||||
|
|
||||||
|
// Параметр "СинхронизацияДанныхЧерезУниверсальныйФорматУдалениеДвижений" используется при
|
||||||
|
// обработке удаления движений, например, в модуле набора записей регистра накопления.
|
||||||
|
// Если разработчик определил такой параметр в правилах конвертации, пропускаем данный этап.
|
||||||
|
Если НЕ Объект.ДополнительныеСвойства.Свойство("СинхронизацияДанныхЧерезУниверсальныйФорматУдалениеДвижений") Тогда
|
||||||
|
|
||||||
|
Объект.ДополнительныеСвойства.Вставить("СинхронизацияДанныхЧерезУниверсальныйФорматУдалениеДвижений", Истина);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПроведениеДокументаОтменено = Ложь;
|
ПроведениеДокументаОтменено = Ложь;
|
||||||
|
|
||||||
НачатьТранзакцию();
|
НачатьТранзакцию();
|
||||||
@@ -2542,6 +2551,8 @@
|
|||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Объект.ДополнительныеСвойства.Удалить("СинхронизацияДанныхЧерезУниверсальныйФорматУдалениеДвижений");
|
||||||
|
|
||||||
ПроведениеДокументаОтменено = Истина;
|
ПроведениеДокументаОтменено = Истина;
|
||||||
ЗафиксироватьТранзакцию();
|
ЗафиксироватьТранзакцию();
|
||||||
Исключение
|
Исключение
|
||||||
|
|||||||
@@ -4080,6 +4080,10 @@
|
|||||||
|
|
||||||
МассивОбрабатываемыхСтрокТаблицыДвижений = Новый Массив;
|
МассивОбрабатываемыхСтрокТаблицыДвижений = Новый Массив;
|
||||||
|
|
||||||
|
ВставитьДополнительныйПараметрУдаленияДвижений =
|
||||||
|
ДокументОбъект.ДополнительныеСвойства.Свойство("СинхронизацияДанныхЧерезУниверсальныйФорматУдалениеДвижений")
|
||||||
|
И (ДокументОбъект.ДополнительныеСвойства.СинхронизацияДанныхЧерезУниверсальныйФорматУдалениеДвижений = Истина);
|
||||||
|
|
||||||
// Получение списка регистров, по которым существуют движения.
|
// Получение списка регистров, по которым существуют движения.
|
||||||
ТаблицаДвижений = ОпределитьНаличиеДвиженийПоДокументу(ДокументОбъект.Ссылка);
|
ТаблицаДвижений = ОпределитьНаличиеДвиженийПоДокументу(ДокументОбъект.Ссылка);
|
||||||
|
|
||||||
@@ -4112,15 +4116,25 @@
|
|||||||
Попытка
|
Попытка
|
||||||
Для Каждого СтрокаДвижения Из МассивОбрабатываемыхСтрокТаблицыДвижений Цикл
|
Для Каждого СтрокаДвижения Из МассивОбрабатываемыхСтрокТаблицыДвижений Цикл
|
||||||
Попытка
|
Попытка
|
||||||
|
|
||||||
Набор = СтрокаДвижения.НаборЗаписей; // РегистрНакопленияНаборЗаписей и т.п.
|
Набор = СтрокаДвижения.НаборЗаписей; // РегистрНакопленияНаборЗаписей и т.п.
|
||||||
|
Если ВставитьДополнительныйПараметрУдаленияДвижений Тогда
|
||||||
|
|
||||||
|
Набор.ДополнительныеСвойства.Вставить("СинхронизацияДанныхЧерезУниверсальныйФорматУдалениеДвижений", Истина);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Набор.Записать();
|
Набор.Записать();
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
|
|
||||||
// Возможно "сработало" ограничение на уровне записей или подсистема даты запрета изменения.
|
// Возможно "сработало" ограничение на уровне записей или подсистема даты запрета изменения.
|
||||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
НСтр("ru = 'Операция не выполнена: %1
|
НСтр("ru = 'Операция не выполнена: %1
|
||||||
|%2'"),
|
|%2'"),
|
||||||
СтрокаДвижения.ИмяТаблицыРегистра,
|
СтрокаДвижения.ИмяТаблицыРегистра,
|
||||||
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
|
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
Исключение
|
Исключение
|
||||||
@@ -14740,8 +14754,12 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ОбработкаОбменаДаннымиВнешнееСоединение.УзелДляОбмена = СтруктураНастроекОбменаВнешнееСоединение.УзелИнформационнойБазы;
|
ОбработкаОбменаДаннымиВнешнееСоединение.УзелДляОбмена = СтруктураНастроекОбменаВнешнееСоединение.УзелИнформационнойБазы;
|
||||||
|
Если ОбработкаОбменаДаннымиВнешнееСоединение.Метаданные().Реквизиты.Найти("УстановитьБлокировкуУзлаПланаОбмена") <> Неопределено Тогда
|
||||||
|
|
||||||
ОбработкаОбменаДаннымиВнешнееСоединение.УстановитьБлокировкуУзлаПланаОбмена = Истина;
|
ОбработкаОбменаДаннымиВнешнееСоединение.УстановитьБлокировкуУзлаПланаОбмена = Истина;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
УстановитьОбщиеПараметрыДляОбработкиОбменаДанными(ОбработкаОбменаДаннымиВнешнееСоединение, СтруктураНастроекОбменаВнешнееСоединение, ОбменСБСП20);
|
УстановитьОбщиеПараметрыДляОбработкиОбменаДанными(ОбработкаОбменаДаннымиВнешнееСоединение, СтруктураНастроекОбменаВнешнееСоединение, ОбменСБСП20);
|
||||||
|
|
||||||
Если НЕ ЭтоПланОбменаXDTO Тогда
|
Если НЕ ЭтоПланОбменаXDTO Тогда
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||||
|
|
||||||
Описание.Имя = "СтандартныеПодсистемы";
|
Описание.Имя = "СтандартныеПодсистемы";
|
||||||
Описание.Версия = "3.1.5.163";
|
Описание.Версия = "3.1.5.171";
|
||||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||||
|
|||||||
@@ -5000,20 +5000,22 @@
|
|||||||
|
|
||||||
Если Не ПустаяСтрока(ПолныеИменаОбъектов) И Не ПустаяСтрока(ПерваяСсылочная) Тогда // Есть ссылочные объекты.
|
Если Не ПустаяСтрока(ПолныеИменаОбъектов) И Не ПустаяСтрока(ПерваяСсылочная) Тогда // Есть ссылочные объекты.
|
||||||
// Установить ссылочную часть начала выборки на место, на котором она остановилась в последний раз.
|
// Установить ссылочную часть начала выборки на место, на котором она остановилась в последний раз.
|
||||||
Начало = СтрНайти(ПолныеИменаОбъектов, ПерваяСсылочная);
|
ПолныеИменаОбъектовМассив = ОстатокМассива(ПолныеИменаОбъектов, ПерваяСсылочная);
|
||||||
ПолныеИменаОбъектов = Сред(ПолныеИменаОбъектов, Начало);
|
Иначе
|
||||||
|
ПолныеИменаОбъектовМассив = СтрРазделитьСокрЛП(ПолныеИменаОбъектов, ",");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не ПустаяСтрока(ПолныеИменаРегистровНачало) И Не ПустаяСтрока(ПерваяТабличная) Тогда // Есть табличные объекты.
|
Если Не ПустаяСтрока(ПолныеИменаРегистровНачало) И Не ПустаяСтрока(ПерваяТабличная) Тогда // Есть табличные объекты.
|
||||||
// Установить табличную часть начала выборки на место, на котором она остановилась в последний раз.
|
// Установить табличную часть начала выборки на место, на котором она остановилась в последний раз.
|
||||||
Начало = СтрНайти(ПолныеИменаРегистровНачало, ПерваяТабличная);
|
ПолныеИменаРегистровНачалоМассив = ОстатокМассива(ПолныеИменаРегистровНачало, ПерваяТабличная);
|
||||||
ПолныеИменаРегистровНачало = Сред(ПолныеИменаРегистровНачало, Начало);
|
Иначе
|
||||||
|
ПолныеИменаРегистровНачалоМассив = СтрРазделитьСокрЛП(ПолныеИменаРегистровНачало, ",");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Результат = Новый Структура;
|
Результат = Новый Структура;
|
||||||
Результат.Вставить("СсылочныеОбъекты", СтрРазделитьСокрЛП(ПолныеИменаОбъектов, ","));
|
Результат.Вставить("СсылочныеОбъекты", ПолныеИменаОбъектовМассив);
|
||||||
Результат.Вставить("ТабличныеОбъектыВсе", СтрРазделитьСокрЛП(ПолныеИменаРегистров, ","));
|
Результат.Вставить("ТабличныеОбъектыВсе", СтрРазделитьСокрЛП(ПолныеИменаРегистров, ","));
|
||||||
Результат.Вставить("ТабличныеОбъектыНачало", СтрРазделитьСокрЛП(ПолныеИменаРегистровНачало, ","));
|
Результат.Вставить("ТабличныеОбъектыНачало", ПолныеИменаРегистровНачалоМассив);
|
||||||
Результат.Вставить("СсылочныйИндекс", 0);
|
Результат.Вставить("СсылочныйИндекс", 0);
|
||||||
Результат.Вставить("ТабличныйИндекс", 0);
|
Результат.Вставить("ТабличныйИндекс", 0);
|
||||||
|
|
||||||
@@ -8394,4 +8396,24 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ОстатокМассива(Массив, ЗначениеНачала)
|
||||||
|
|
||||||
|
ОстатокМассива = Новый Массив;
|
||||||
|
ТочноеЗначениеНачала = СокрЛП(ЗначениеНачала);
|
||||||
|
ЗначениеНайдено = Ложь;
|
||||||
|
|
||||||
|
Для Каждого Элемент Из СтрРазделитьСокрЛП(Массив, ",") Цикл
|
||||||
|
Если ТочноеЗначениеНачала = Элемент Тогда
|
||||||
|
ЗначениеНайдено = Истина;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеНайдено Тогда
|
||||||
|
ОстатокМассива.Добавить(Элемент);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат ОстатокМассива;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -2372,7 +2372,12 @@
|
|||||||
|
|
||||||
Поле = Элемент.Поле; // ПолеФормы
|
Поле = Элемент.Поле; // ПолеФормы
|
||||||
ЗаголовокЭлемента = Поле.Заголовок;
|
ЗаголовокЭлемента = Поле.Заголовок;
|
||||||
ШаблонИмениЭлемента = СтрЗаменить(Поле.Имя, СвойстваВидовЭлементов[ВидЭлемента], "%1");
|
Если СтрЗаканчиваетсяНа(Поле.Имя, СвойстваВидовЭлементов[ВидЭлемента]) Тогда
|
||||||
|
Позиция = СтрНайти(Поле.Имя, СвойстваВидовЭлементов[ВидЭлемента], НаправлениеПоиска.СКонца);
|
||||||
|
ШаблонИмениЭлемента = Лев(Поле.Имя, Позиция - 1) + "%1";
|
||||||
|
Иначе
|
||||||
|
ШаблонИмениЭлемента = Поле.Имя;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ИмяРеквизита = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонИмениЭлемента, ВидЭлемента);
|
ИмяРеквизита = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонИмениЭлемента, ВидЭлемента);
|
||||||
Если Сгенерированные.Найти(ИмяРеквизита) = Неопределено Тогда
|
Если Сгенерированные.Найти(ИмяРеквизита) = Неопределено Тогда
|
||||||
|
|||||||
@@ -1359,6 +1359,27 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
// При начальном заполнении элементов.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// КодыЯзыков - см. СправочникМенеджер.СтраныМира.ПриНачальномЗаполненииЭлементов.КодыЯзыков
|
||||||
|
// Элементы - см. СправочникМенеджер.СтраныМира.ПриНачальномЗаполненииЭлементов.Элементы
|
||||||
|
// ТабличныеЧасти - см. СправочникМенеджер.СтраныМира.ПриНачальномЗаполненииЭлементов.ТабличныеЧасти
|
||||||
|
//
|
||||||
|
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт
|
||||||
|
|
||||||
|
Элемент = Элементы.Добавить();
|
||||||
|
Элемент.ИмяПредопределенныхДанных = "Россия";
|
||||||
|
Элемент.Код = "643";
|
||||||
|
Элемент.Наименование = НСтр("ru = 'РОССИЯ'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||||
|
Элемент.НаименованиеПолное = НСтр("ru = 'Российская Федерация'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||||
|
Элемент.КодАльфа2 = "RU";
|
||||||
|
Элемент.КодАльфа3 = "RUS";
|
||||||
|
Элемент.УчастникЕАЭС = Истина;
|
||||||
|
Элемент.МеждународноеНаименование = НСтр("ru = 'The Russian Federation'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ИдентификаторКлассификатора()
|
Функция ИдентификаторКлассификатора()
|
||||||
Возврат "Countries";
|
Возврат "Countries";
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|||||||
@@ -743,6 +743,7 @@
|
|||||||
|
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
|
РаботаСФайламиПереопределяемый.ПриСозданииФайла(ПрисоединенныйФайл.Ссылка);
|
||||||
Возврат ПрисоединенныйФайл.Ссылка;
|
Возврат ПрисоединенныйФайл.Ссылка;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@@ -1639,7 +1640,7 @@
|
|||||||
Функция СоздатьПрисоединенныйФайлНаОснованииФайла(ВладелецФайлов, МенеджерПрисоединенныхФайлов, ТекущаяВерсияОбъект, ФайлИсточникОбъект)
|
Функция СоздатьПрисоединенныйФайлНаОснованииФайла(ВладелецФайлов, МенеджерПрисоединенныхФайлов, ТекущаяВерсияОбъект, ФайлИсточникОбъект)
|
||||||
|
|
||||||
СсылкаНового = МенеджерПрисоединенныхФайлов.ПолучитьСсылку(); // СправочникСсылка
|
СсылкаНового = МенеджерПрисоединенныхФайлов.ПолучитьСсылку(); // СправочникСсылка
|
||||||
ПрисоединенныйФайл = МенеджерПрисоединенныхФайлов.СоздатьЭлемент(); //ОпределяемыйТип.ПрисоединенныйФайлОбъект
|
ПрисоединенныйФайл = МенеджерПрисоединенныхФайлов.СоздатьЭлемент(); // ОпределяемыйТип.ПрисоединенныйФайлОбъект
|
||||||
ПрисоединенныйФайл.УстановитьСсылкуНового(СсылкаНового);
|
ПрисоединенныйФайл.УстановитьСсылкуНового(СсылкаНового);
|
||||||
|
|
||||||
ПрисоединенныйФайл.ВладелецФайла = ВладелецФайлов;
|
ПрисоединенныйФайл.ВладелецФайла = ВладелецФайлов;
|
||||||
@@ -1708,6 +1709,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
РаботаСФайламиПереопределяемый.ПриСозданииФайла(СсылкаНового);
|
||||||
Возврат СсылкаНового;
|
Возврат СсылкаНового;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
// которые должны изменяться при создании новых файлов.
|
// которые должны изменяться при создании новых файлов.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Файл - СправочникСсылка.Файлы - ссылка на созданный файл.
|
// Файл - ОпределяемыйТип.ПрисоединенныйФайл - ссылка на созданный файл.
|
||||||
//
|
//
|
||||||
Процедура ПриСозданииФайла(Файл) Экспорт
|
Процедура ПриСозданииФайла(Файл) Экспорт
|
||||||
|
|
||||||
|
|||||||
@@ -172,7 +172,6 @@
|
|||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
РаботаСФайламиПереопределяемый.ПриСозданииФайла(ФайлСсылка);
|
РаботаСФайламиПереопределяемый.ПриСозданииФайла(ФайлСсылка);
|
||||||
|
|
||||||
Возврат ФайлСсылка;
|
Возврат ФайлСсылка;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|||||||
@@ -1965,6 +1965,7 @@
|
|||||||
// * Ошибка - Строка - строка с описанием ошибки, заполняется если Выполнено = Ложь
|
// * Ошибка - Строка - строка с описанием ошибки, заполняется если Выполнено = Ложь
|
||||||
// * КодОшибки - Строка - строка с кодом ошибки, заполняется если Выполнено = Ложь
|
// * КодОшибки - Строка - строка с кодом ошибки, заполняется если Выполнено = Ложь
|
||||||
// * МаркерОбновлен - Булево - признак, того что в процессе запроса произошло обновление маркера безопасности
|
// * МаркерОбновлен - Булево - признак, того что в процессе запроса произошло обновление маркера безопасности
|
||||||
|
// * СтатусОшибки - см. СервисКриптографииDSSКлиентСервер.СтатусОшибки
|
||||||
//
|
//
|
||||||
Функция ОтветСервисаПоУмолчанию(Выполнено = Истина, ИдентификаторОшибки = "") Экспорт
|
Функция ОтветСервисаПоУмолчанию(Выполнено = Истина, ИдентификаторОшибки = "") Экспорт
|
||||||
|
|
||||||
|
|||||||
@@ -1509,6 +1509,7 @@
|
|||||||
// Если Истина, структура дополняется полем "НастройкиПользователя".
|
// Если Истина, структура дополняется полем "НастройкиПользователя".
|
||||||
// * Ошибка - Строка - содержит форматированный текст ошибки, если поле Выполнено = Ложь
|
// * Ошибка - Строка - содержит форматированный текст ошибки, если поле Выполнено = Ложь
|
||||||
// * КодОшибки - Строка - содержит код ошибки
|
// * КодОшибки - Строка - содержит код ошибки
|
||||||
|
// * СтатусОшибки - см. СервисКриптографииDSSКлиентСервер.СтатусОшибки
|
||||||
//
|
//
|
||||||
Функция ОтветСервисаПоУмолчанию(Выполнено = Истина) Экспорт
|
Функция ОтветСервисаПоУмолчанию(Выполнено = Истина) Экспорт
|
||||||
|
|
||||||
@@ -1517,11 +1518,33 @@
|
|||||||
ОтветМетода.Вставить("Ошибка", "");
|
ОтветМетода.Вставить("Ошибка", "");
|
||||||
ОтветМетода.Вставить("КодОшибки", "");
|
ОтветМетода.Вставить("КодОшибки", "");
|
||||||
ОтветМетода.Вставить("МаркерОбновлен", Ложь);
|
ОтветМетода.Вставить("МаркерОбновлен", Ложь);
|
||||||
|
ОтветМетода.Вставить("СтатусОшибки", СтатусОшибки());
|
||||||
|
|
||||||
Возврат ОтветМетода;
|
Возврат ОтветМетода;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Структура для описания статуса ошибки.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Структура:
|
||||||
|
// * Представление - Строка - содержит форматированный текст ошибки
|
||||||
|
// * КодОшибки - Строка - содержит учетный код ошибки в подсистеме
|
||||||
|
// * ИсходнаяОшибка - Строка - содержит текст ошибки, сформированный сервером
|
||||||
|
// * ИсходныйКод - Строка - содержит код ошибки, сформированный сервером
|
||||||
|
//
|
||||||
|
Функция СтатусОшибки() Экспорт
|
||||||
|
|
||||||
|
Результат = Новый Структура;
|
||||||
|
Результат.Вставить("КодОшибки", "");
|
||||||
|
Результат.Вставить("Представление", "");
|
||||||
|
Результат.Вставить("ИсходныйТекст", "");
|
||||||
|
Результат.Вставить("ИсходныйКод", "");
|
||||||
|
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ОбработкаОшибок
|
#Область ОбработкаОшибок
|
||||||
@@ -1568,6 +1591,11 @@
|
|||||||
Если РезультатОперации <> Неопределено Тогда
|
Если РезультатОперации <> Неопределено Тогда
|
||||||
РезультатОперации.Вставить("КодОшибки", КодОшибки);
|
РезультатОперации.Вставить("КодОшибки", КодОшибки);
|
||||||
РезультатОперации.Вставить("Ошибка", Результат);
|
РезультатОперации.Вставить("Ошибка", Результат);
|
||||||
|
РезультатОперации.Вставить("СтатусОшибки", СтатусОшибки());
|
||||||
|
РезультатОперации.СтатусОшибки.КодОшибки = КодОшибки;
|
||||||
|
РезультатОперации.СтатусОшибки.Представление = Результат;
|
||||||
|
РезультатОперации.СтатусОшибки.ИсходныйКод = ТипОшибки;
|
||||||
|
РезультатОперации.СтатусОшибки.ИсходныйТекст = ТекстОшибки;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|||||||
@@ -876,6 +876,11 @@
|
|||||||
Если РезультатОперации <> Неопределено Тогда
|
Если РезультатОперации <> Неопределено Тогда
|
||||||
РезультатОперации.Вставить("КодОшибки", КодОшибки);
|
РезультатОперации.Вставить("КодОшибки", КодОшибки);
|
||||||
РезультатОперации.Вставить("Ошибка", Результат);
|
РезультатОперации.Вставить("Ошибка", Результат);
|
||||||
|
РезультатОперации.Вставить("СтатусОшибки", СервисКриптографииDSSКлиентСервер.СтатусОшибки());
|
||||||
|
РезультатОперации.СтатусОшибки.КодОшибки = КодОшибки;
|
||||||
|
РезультатОперации.СтатусОшибки.Представление = Результат;
|
||||||
|
РезультатОперации.СтатусОшибки.ИсходныйКод = ТипОшибки;
|
||||||
|
РезультатОперации.СтатусОшибки.ИсходныйТекст = ТекстОшибки;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
@@ -2773,6 +2773,11 @@
|
|||||||
|
|
||||||
// Привилегированный режим (установлен платформой).
|
// Привилегированный режим (установлен платформой).
|
||||||
|
|
||||||
|
Если ТекущийРежимЗапуска() = Неопределено
|
||||||
|
И ДлительныеОперации.ЭтоЗапускБезВызоваПередЗапускомПрограммы() Тогда
|
||||||
|
Возврат;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
// Проверка основного языка программирования, установленного в конфигурации.
|
// Проверка основного языка программирования, установленного в конфигурации.
|
||||||
ТекущийЯзыкВстроенногоЯзыка = Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка["Русский"];
|
ТекущийЯзыкВстроенногоЯзыка = Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка["Русский"];
|
||||||
Если Метаданные.ВариантВстроенногоЯзыка <> ТекущийЯзыкВстроенногоЯзыка Тогда
|
Если Метаданные.ВариантВстроенногоЯзыка <> ТекущийЯзыкВстроенногоЯзыка Тогда
|
||||||
|
|||||||
@@ -24002,8 +24002,7 @@
|
|||||||
//
|
//
|
||||||
Функция ОписаниеНовойВерсииПараметровОграниченияДоступа(Параметры, БезЗаписи = Ложь)
|
Функция ОписаниеНовойВерсииПараметровОграниченияДоступа(Параметры, БезЗаписи = Ложь)
|
||||||
|
|
||||||
НаборЗаписей = СлужебныйНаборЗаписей(РегистрыСведений.ПараметрыОграниченияДоступа);
|
Запись = НоваяТаблицаРегистраСведенийПараметрыОграниченияДоступа().Добавить();
|
||||||
Запись = НаборЗаписей.Добавить();
|
|
||||||
ЗаполнитьЗначенияСвойств(Запись, Параметры.ХранимыеПараметры);
|
ЗаполнитьЗначенияСвойств(Запись, Параметры.ХранимыеПараметры);
|
||||||
|
|
||||||
ЗаполняемыеСвойстваВерсии = Новый Структура("Версия, ДатаСоздания, ХешСумма,
|
ЗаполняемыеСвойстваВерсии = Новый Структура("Версия, ДатаСоздания, ХешСумма,
|
||||||
@@ -24065,6 +24064,10 @@
|
|||||||
ПроверитьАктуальностьМетаданных();
|
ПроверитьАктуальностьМетаданных();
|
||||||
|
|
||||||
Запись.Версия = НоваяВерсия;
|
Запись.Версия = НоваяВерсия;
|
||||||
|
|
||||||
|
НаборЗаписей = СлужебныйНаборЗаписей(РегистрыСведений.ПараметрыОграниченияДоступа);
|
||||||
|
ЗаполнитьЗначенияСвойств(НаборЗаписей.Добавить(), Запись);
|
||||||
|
Запись = НаборЗаписей[0];
|
||||||
НаборЗаписей.Отбор.Версия.Установить(НоваяВерсия);
|
НаборЗаписей.Отбор.Версия.Установить(НоваяВерсия);
|
||||||
ЗаполнитьЗначенияСвойств(ЗаполняемыеСвойстваВерсии, Запись);
|
ЗаполнитьЗначенияСвойств(ЗаполняемыеСвойстваВерсии, Запись);
|
||||||
|
|
||||||
@@ -24102,6 +24105,40 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ТаблицаЗначений:
|
||||||
|
// * Версия - Число
|
||||||
|
// * ХешСумма - Строка
|
||||||
|
// * ХешСуммаПостоянныхПараметров - Строка
|
||||||
|
// * ДляЗаписиОбъектовИПроверкиПрав - ХранилищеЗначения
|
||||||
|
// * ДляОтчетаПоПравамДоступа - ХранилищеЗначения
|
||||||
|
// * ХешСуммаПараметровШаблонов - Строка
|
||||||
|
// * ДляШаблоновВСеансахПользователей - ХранилищеЗначения
|
||||||
|
// * ДляШаблоновВСеансахВнешнихПользователей - ХранилищеЗначения
|
||||||
|
// * ВерсииПараметровШаблонов - ХранилищеЗначения
|
||||||
|
// * ДатаСоздания - Дата
|
||||||
|
//
|
||||||
|
Функция НоваяТаблицаРегистраСведенийПараметрыОграниченияДоступа()
|
||||||
|
|
||||||
|
ТипВерсии = Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(15, 0, ДопустимыйЗнак.Неотрицательный));
|
||||||
|
ТипХешСуммы = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(48, ДопустимаяДлина.Переменная));
|
||||||
|
|
||||||
|
Таблица = Новый ТаблицаЗначений;
|
||||||
|
Таблица.Колонки.Добавить("Версия", ТипВерсии);
|
||||||
|
Таблица.Колонки.Добавить("ХешСумма", ТипХешСуммы);
|
||||||
|
Таблица.Колонки.Добавить("ХешСуммаПостоянныхПараметров", ТипХешСуммы);
|
||||||
|
Таблица.Колонки.Добавить("ДляЗаписиОбъектовИПроверкиПрав", Новый ОписаниеТипов("ХранилищеЗначения"));
|
||||||
|
Таблица.Колонки.Добавить("ДляОтчетаПоПравамДоступа", Новый ОписаниеТипов("ХранилищеЗначения"));
|
||||||
|
Таблица.Колонки.Добавить("ХешСуммаПараметровШаблонов", ТипХешСуммы);
|
||||||
|
Таблица.Колонки.Добавить("ДляШаблоновВСеансахПользователей", Новый ОписаниеТипов("ХранилищеЗначения"));
|
||||||
|
Таблица.Колонки.Добавить("ДляШаблоновВСеансахВнешнихПользователей", Новый ОписаниеТипов("ХранилищеЗначения"));
|
||||||
|
Таблица.Колонки.Добавить("ВерсииПараметровШаблонов", Новый ОписаниеТипов("ХранилищеЗначения"));
|
||||||
|
Таблица.Колонки.Добавить("ДатаСоздания", Новый ОписаниеТипов("Дата"));
|
||||||
|
|
||||||
|
Возврат Таблица;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Для функции ОписаниеНовойВерсииПараметровОграниченияДоступа.
|
// Для функции ОписаниеНовойВерсииПараметровОграниченияДоступа.
|
||||||
Процедура ЗапланироватьОбновлениеДоступаПриИзмененииПараметров(СтараяВерсия, Параметры)
|
Процедура ЗапланироватьОбновлениеДоступаПриИзмененииПараметров(СтараяВерсия, Параметры)
|
||||||
|
|
||||||
|
|||||||
@@ -62,13 +62,7 @@
|
|||||||
Свойства.СНИЛС = ПодготовитьСтроку(Субъект.OID1_2_643_100_3);
|
Свойства.СНИЛС = ПодготовитьСтроку(Субъект.OID1_2_643_100_3);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Субъект.Свойство("INN") Тогда
|
Свойства.ИНН = ИНН(Субъект);
|
||||||
Свойства.ИНН = ПодготовитьСтроку(Субъект.INN);
|
|
||||||
ИначеЕсли Субъект.Свойство("OID1_2_643_100_4")Тогда
|
|
||||||
Свойства.ИНН = ПодготовитьСтроку(Субъект.OID1_2_643_100_4);
|
|
||||||
ИначеЕсли Субъект.Свойство("OID1_2_643_3_131_1_1") Тогда
|
|
||||||
Свойства.ИНН = ПодготовитьСтроку(Субъект.OID1_2_643_3_131_1_1);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если Субъект.Свойство("CN") Тогда
|
Если Субъект.Свойство("CN") Тогда
|
||||||
Свойства.ОбщееИмя = ПодготовитьСтроку(Субъект.CN);
|
Свойства.ОбщееИмя = ПодготовитьСтроку(Субъект.CN);
|
||||||
@@ -152,12 +146,8 @@
|
|||||||
Свойства.ОГРН = ПодготовитьСтроку(Издатель.OID1_2_643_100_1);
|
Свойства.ОГРН = ПодготовитьСтроку(Издатель.OID1_2_643_100_1);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Издатель.Свойство("INN") Тогда
|
Свойства.ИНН = ИНН(Издатель);
|
||||||
Свойства.ИНН = ПодготовитьСтроку(Издатель.INN);
|
|
||||||
|
|
||||||
ИначеЕсли Издатель.Свойство("OID1_2_643_3_131_1_1")Тогда
|
|
||||||
Свойства.ИНН = ПодготовитьСтроку(Издатель.OID1_2_643_3_131_1_1);
|
|
||||||
КонецЕсли;
|
|
||||||
// Конец Локализация
|
// Конец Локализация
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -223,6 +213,22 @@
|
|||||||
|
|
||||||
Возврат Истина;
|
Возврат Истина;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ИНН(Данные)
|
||||||
|
|
||||||
|
ИНН = Неопределено;
|
||||||
|
Если Данные.Свойство("INN") Тогда
|
||||||
|
ИНН = Данные.INN;
|
||||||
|
ИначеЕсли Данные.Свойство("OID1_2_643_100_4")
|
||||||
|
И СтрДлина(Данные.OID1_2_643_100_4) = 10 Тогда
|
||||||
|
ИНН = ПодготовитьСтроку(Данные.OID1_2_643_100_4);
|
||||||
|
ИначеЕсли Данные.Свойство("OID1_2_643_3_131_1_1") Тогда
|
||||||
|
ИНН = ПодготовитьСтроку(Данные.OID1_2_643_3_131_1_1);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат ИНН;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
// Конец Локализация
|
// Конец Локализация
|
||||||
|
|
||||||
|
|||||||
@@ -371,28 +371,42 @@
|
|||||||
|
|
||||||
#Область ОблачнаяПодпись
|
#Область ОблачнаяПодпись
|
||||||
|
|
||||||
// определяет доступность подсистемы облачной подписи
|
// Определяет доступность подсистемы облачной подписи
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Булево
|
||||||
|
//
|
||||||
Функция ИспользоватьСервисОблачнойПодписи() Экспорт
|
Функция ИспользоватьСервисОблачнойПодписи() Экспорт
|
||||||
|
|
||||||
Результат = Ложь;
|
Результат = Ложь;
|
||||||
|
|
||||||
|
// Локализация
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяОблачнаяПодпись") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяОблачнаяПодпись") Тогда
|
||||||
МодульСервисКриптографииDSS = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSS");
|
МодульСервисКриптографииDSS = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSS");
|
||||||
Результат = МодульСервисКриптографииDSS.ИспользоватьСервисОблачнойПодписи();
|
Результат = МодульСервисКриптографииDSS.ИспользоватьСервисОблачнойПодписи();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
// Конец Локализация
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// определяет тип программы облачной подписи
|
// Определяет тип программы облачной подписи.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Неопределено
|
||||||
|
// Тип
|
||||||
|
//
|
||||||
Функция ПолучитьТипОблачнойПодписи() Экспорт
|
Функция ПолучитьТипОблачнойПодписи() Экспорт
|
||||||
|
|
||||||
Результат = Неопределено;
|
Результат = Неопределено;
|
||||||
|
|
||||||
|
// Локализация
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяОблачнаяПодпись") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяОблачнаяПодпись") Тогда
|
||||||
Результат = Тип("СправочникСсылка.УчетныеЗаписиDSS");
|
МодульСервисКриптографииDSSКлиентСервер = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSКлиентСервер");
|
||||||
|
Результат = МодульСервисКриптографииDSSКлиентСервер.ПолучитьТипОблачнойПодписи();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
// Конец Локализация
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
@@ -892,6 +906,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ИспользоватьСервисОблачнойПодписи() Тогда
|
Если ИспользоватьСервисОблачнойПодписи() Тогда
|
||||||
|
// Локализация
|
||||||
МодульСервисКриптографииDSSСлужебный = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSСлужебный");
|
МодульСервисКриптографииDSSСлужебный = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSСлужебный");
|
||||||
МассивСертификатов = МодульСервисКриптографииDSSСлужебный.ПолучитьДанныеСертификатов(Ложь);
|
МассивСертификатов = МодульСервисКриптографииDSSСлужебный.ПолучитьДанныеСертификатов(Ложь);
|
||||||
|
|
||||||
@@ -899,6 +914,7 @@
|
|||||||
|
|
||||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьСвойстваСертификатов(ТаблицаСвойствСертификатов,
|
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьСвойстваСертификатов(ТаблицаСвойствСертификатов,
|
||||||
МассивСертификатов, БезОтбора, ДобавкаВремени(), ТекущаяДатаСеанса(), ПараметрыДобавленияСвойств);
|
МассивСертификатов, БезОтбора, ДобавкаВремени(), ТекущаяДатаСеанса(), ПараметрыДобавленияСвойств);
|
||||||
|
// Конец Локализация
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ОбработатьДобавленныеСертификаты(ТаблицаСвойствСертификатов, Не БезОтбора И КромеУжеДобавленных, ОтборПоОрганизации);
|
ОбработатьДобавленныеСертификаты(ТаблицаСвойствСертификатов, Не БезОтбора И КромеУжеДобавленных, ОтборПоОрганизации);
|
||||||
@@ -2554,6 +2570,7 @@
|
|||||||
|
|
||||||
Если ИспользоватьСервисОблачнойПодписи() Тогда
|
Если ИспользоватьСервисОблачнойПодписи() Тогда
|
||||||
|
|
||||||
|
// Локализация
|
||||||
МодульСервисКриптографииDSSСлужебный = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSСлужебный");
|
МодульСервисКриптографииDSSСлужебный = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSСлужебный");
|
||||||
ВсеСертификаты = МодульСервисКриптографииDSSСлужебный.ПолучитьВсеСертификаты(Ложь);
|
ВсеСертификаты = МодульСервисКриптографииDSSСлужебный.ПолучитьВсеСертификаты(Ложь);
|
||||||
|
|
||||||
@@ -2570,6 +2587,7 @@
|
|||||||
|
|
||||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьОтпечаткиСертификатов(
|
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьОтпечаткиСертификатов(
|
||||||
ОтпечаткиСертификатовНаКлиенте, МассивСертификатов, ДобавкаВремени(), ТекущаяДатаСеанса());
|
ОтпечаткиСертификатовНаКлиенте, МассивСертификатов, ДобавкаВремени(), ТекущаяДатаСеанса());
|
||||||
|
// Конец Локализация
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ЭлектроннаяПодписьСлужебный.ИспользоватьСервисОблачнойПодписи() Тогда
|
Если ЭлектроннаяПодписьСлужебный.ИспользоватьСервисОблачнойПодписи() Тогда
|
||||||
|
// Локализация
|
||||||
МодульСервисКриптографииDSSСлужебный = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSСлужебный");
|
МодульСервисКриптографииDSSСлужебный = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSSСлужебный");
|
||||||
МассивСертификатов = МодульСервисКриптографииDSSСлужебный.ПолучитьДанныеСертификатов(Ложь);
|
МассивСертификатов = МодульСервисКриптографииDSSСлужебный.ПолучитьДанныеСертификатов(Ложь);
|
||||||
|
|
||||||
@@ -63,6 +64,7 @@
|
|||||||
|
|
||||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьСвойстваСертификатов(ТаблицаСвойствСертификатов, МассивСертификатов, Истина,
|
ЭлектроннаяПодписьСлужебныйКлиентСервер.ДобавитьСвойстваСертификатов(ТаблицаСвойствСертификатов, МассивСертификатов, Истина,
|
||||||
ЭлектроннаяПодписьСлужебный.ДобавкаВремени(), ТекущаяДатаСеанса(), ПараметрыДобавленияСвойств);
|
ЭлектроннаяПодписьСлужебный.ДобавкаВремени(), ТекущаяДатаСеанса(), ПараметрыДобавленияСвойств);
|
||||||
|
// Конец Локализация
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат ОбработатьЛичныеСертификаты(ТаблицаСвойствСертификатов, Отбор);
|
Возврат ОбработатьЛичныеСертификаты(ТаблицаСвойствСертификатов, Отбор);
|
||||||
@@ -521,8 +523,10 @@
|
|||||||
Результат = Ложь;
|
Результат = Ложь;
|
||||||
|
|
||||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяОблачнаяПодпись") Тогда
|
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяОблачнаяПодпись") Тогда
|
||||||
|
// Локализация
|
||||||
МодульСервисКриптографииDSS = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSS");
|
МодульСервисКриптографииDSS = ОбщегоНазначения.ОбщийМодуль("СервисКриптографииDSS");
|
||||||
Результат = МодульСервисКриптографииDSS.ИспользоватьСервисОблачнойПодписи();
|
Результат = МодульСервисКриптографииDSS.ИспользоватьСервисОблачнойПодписи();
|
||||||
|
// Конец Локализация
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Результат Тогда
|
Если Результат Тогда
|
||||||
|
|||||||
@@ -4009,7 +4009,8 @@
|
|||||||
Контекст.Вставить("ИспользоватьОблачнуюПодпись", Ложь);
|
Контекст.Вставить("ИспользоватьОблачнуюПодпись", Ложь);
|
||||||
ВыполнитьНаСтороне(Контекст.Оповещение, Контекст.Операция, "НаСторонеКлиента", Контекст);
|
ВыполнитьНаСтороне(Контекст.Оповещение, Контекст.Операция, "НаСторонеКлиента", Контекст);
|
||||||
Иначе
|
Иначе
|
||||||
ОшибкаНаКлиенте = Новый Структура("ОписаниеОшибки", ДвоичныеДанные.Ошибка);
|
ОшибкаНаКлиенте = Новый Структура("ОписаниеОшибки",
|
||||||
|
ТекстОшибкиОблачнаяПодпись(Контекст.Операция, ДвоичныеДанные));
|
||||||
ВыполнитьНаСторонеПослеЦикла(ОшибкаНаКлиенте, Контекст);
|
ВыполнитьНаСторонеПослеЦикла(ОшибкаНаКлиенте, Контекст);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Возврат;
|
Возврат;
|
||||||
@@ -6153,9 +6154,7 @@
|
|||||||
НашлиСертификат = МодульСервисКриптографииDSSКлиентСервер.НайтиСертификат(СвойстваОблачнойПодписи.УчетнаяЗапись, Отпечаток);
|
НашлиСертификат = МодульСервисКриптографииDSSКлиентСервер.НайтиСертификат(СвойстваОблачнойПодписи.УчетнаяЗапись, Отпечаток);
|
||||||
|
|
||||||
Если НашлиСертификат.Идентификатор = -1 Тогда
|
Если НашлиСертификат.Идентификатор = -1 Тогда
|
||||||
Ошибка = Новый Структура("ОписаниеОшибки",
|
Ошибка = Новый Структура("ОписаниеОшибки", ТекстОшибкиОблачнаяПодпись("ПоискСертификата"));
|
||||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Контекст.Операция) + Символы.ПС
|
|
||||||
+ НСтр("ru = 'Сертификат отсутствует в сервисе ""Облачная подпись"" (возможно удален).'"));
|
|
||||||
Контекст.Вставить("ОперацияНачалась", Ложь);
|
Контекст.Вставить("ОперацияНачалась", Ложь);
|
||||||
ВыполнитьНаСторонеПослеЦикла(Ошибка, Контекст);
|
ВыполнитьНаСторонеПослеЦикла(Ошибка, Контекст);
|
||||||
Возврат;
|
Возврат;
|
||||||
@@ -6474,13 +6473,15 @@
|
|||||||
Процедура ПроверитьСертификатПослеПроверкиОблачнаяПодпись(РезультатВызова, Контекст) Экспорт
|
Процедура ПроверитьСертификатПослеПроверкиОблачнаяПодпись(РезультатВызова, Контекст) Экспорт
|
||||||
|
|
||||||
Если Не РезультатВызова.Выполнено Тогда
|
Если Не РезультатВызова.Выполнено Тогда
|
||||||
Контекст.ОписаниеОшибкиНаСервере = ТекстОшибкиОблачнаяПодписьНастройкиОперации(РезультатВызова.Ошибка);
|
Контекст.ОписаниеОшибкиНаСервере =
|
||||||
|
ТекстОшибкиОблачнаяПодпись("ПроверкаСертификата", РезультатВызова, Истина);
|
||||||
ПроверитьСертификатПослеНеуспешнойПроверки(Контекст);
|
ПроверитьСертификатПослеНеуспешнойПроверки(Контекст);
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не РезультатВызова.Результат Тогда
|
Если Не РезультатВызова.Результат Тогда
|
||||||
Контекст.ОписаниеОшибкиНаСервере = ТекстОшибкиОблачнаяПодписьСертификатНедействителен();
|
Контекст.ОписаниеОшибкиНаСервере =
|
||||||
|
ТекстОшибкиОблачнаяПодпись("ПроверкаСертификата", РезультатВызова, Ложь);
|
||||||
ПроверитьСертификатПослеНеуспешнойПроверки(Контекст);
|
ПроверитьСертификатПослеНеуспешнойПроверки(Контекст);
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
@@ -6539,15 +6540,14 @@
|
|||||||
Процедура ПроверитьПодписьНаКлиентеПослеПроверкиПодписиОблачнаяПодпись(РезультатВызова, Контекст) Экспорт
|
Процедура ПроверитьПодписьНаКлиентеПослеПроверкиПодписиОблачнаяПодпись(РезультатВызова, Контекст) Экспорт
|
||||||
|
|
||||||
Если Не РезультатВызова.Выполнено Тогда
|
Если Не РезультатВызова.Выполнено Тогда
|
||||||
ПроверитьПодписьНаКлиентеПослеОшибкиПроверкиПодписи(
|
ТекстОшибки = ТекстОшибкиОблачнаяПодпись("ПроверкаПодписи", РезультатВызова, Истина);
|
||||||
ТекстОшибкиОблачнаяПодписьНастройкиОперации(РезультатВызова.Ошибка), Ложь, Контекст);
|
ПроверитьПодписьНаКлиентеПослеОшибкиПроверкиПодписи(ТекстОшибки, Ложь, Контекст);
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если Не РезультатВызова.Результат Тогда
|
Если Не РезультатВызова.Результат Тогда
|
||||||
ПроверитьПодписьНаКлиентеПослеОшибкиПроверкиПодписи(
|
ТекстОшибки = ТекстОшибкиОблачнаяПодпись("ПроверкаПодписи", РезультатВызова, Ложь);
|
||||||
ЭлектроннаяПодписьСлужебныйКлиентСервер.ТекстОшибкиСервисаПодписьНедействительна(РезультатВызова.Ошибка),
|
ПроверитьПодписьНаКлиентеПослеОшибкиПроверкиПодписи(ТекстОшибки, Ложь, Контекст);
|
||||||
Ложь, Контекст);
|
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -6649,18 +6649,48 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ТекстОшибкиОблачнаяПодписьСертификатНедействителен()
|
Функция ТекстОшибкиОблачнаяПодпись(Операция, РезультатВызова = Неопределено, ЭтоОшибкаВыполнения = Ложь)
|
||||||
|
|
||||||
Возврат НСтр("ru = 'Сервис облачной подписи сообщил, что сертификат недействителен.'");
|
Если ТипЗнч(РезультатВызова) = Тип("Структура") Тогда
|
||||||
|
ИсходныйТекст = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(РезультатВызова.СтатусОшибки, "ИсходныйТекст", "");
|
||||||
|
Иначе
|
||||||
|
ИсходныйТекст = "";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецФункции
|
Если ЗначениеЗаполнено(ИсходныйТекст) Тогда
|
||||||
|
ТекстОшибки = ИсходныйТекст;
|
||||||
|
|
||||||
Функция ТекстОшибкиОблачнаяПодписьНастройкиОперации(ТекстОшибки)
|
ИначеЕсли Операция = "ПроверкаПодписи" Тогда
|
||||||
|
Если ЭтоОшибкаВыполнения Тогда
|
||||||
|
ТекстОшибки = НСтр("ru = 'Не удалось проверить подпись.'");
|
||||||
|
Иначе
|
||||||
|
ТекстОшибки = НСтр("ru = 'Подпись недействительна.'");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Результат = НСтр("ru = 'Не удалось выполнить операцию на сервисе облачной подписи.'");
|
ИначеЕсли Операция = "ПроверкаСертификата" Тогда
|
||||||
Результат = Результат + Символы.ПС + Символы.ПС + ТекстОшибки;
|
Если ЭтоОшибкаВыполнения Тогда
|
||||||
|
ТекстОшибки = НСтр("ru = 'Не удалось проверить сертификат.'");
|
||||||
|
Иначе
|
||||||
|
ТекстОшибки = НСтр("ru = 'Сертификат недействителен.'");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Результат;
|
ИначеЕсли Операция = "ПоискСертификата" Тогда
|
||||||
|
ТекстОшибки = НСтр("ru = 'Не удалось найти сертификат (возможно удален).'");
|
||||||
|
|
||||||
|
ИначеЕсли Операция = "Подписание" Тогда
|
||||||
|
ТекстОшибки = НСтр("ru = 'Не удалось создать подпись.'");
|
||||||
|
|
||||||
|
ИначеЕсли Операция = "Шифрование" Тогда
|
||||||
|
ТекстОшибки = НСтр("ru = 'Не удалось зашифровать данные.'");
|
||||||
|
|
||||||
|
ИначеЕсли Операция = "Расшифровка" Тогда
|
||||||
|
ТекстОшибки = НСтр("ru = 'Не удалось расшифровать данные.'");
|
||||||
|
Иначе
|
||||||
|
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
|
НСтр("ru = 'Неизвестная операция ""%1"".'"), Операция);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат НСтр("ru = 'Облачный сервис'") + ": " + ТекстОшибки;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -756,14 +756,9 @@
|
|||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Строка
|
// Строка
|
||||||
//
|
//
|
||||||
Функция ТекстОшибкиСервисаПодписьНедействительна(ТекстОшибки = "") Экспорт
|
Функция ТекстОшибкиСервисаПодписьНедействительна() Экспорт
|
||||||
|
|
||||||
Результат = НСтр("ru = 'Облачный сервис сообщил, что подпись недействительна.'");
|
Возврат НСтр("ru = 'Облачный сервис сообщил, что подпись недействительна.'");
|
||||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
|
||||||
Результат = Результат + Символы.ПС + Символы.ПС + ТекстОшибки;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Возврат Результат;
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a66517d6-00ea-11ec-7493-0242ac110002">
|
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1867d104-06a7-11ec-8986-0242ac110002">
|
||||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||||
<synonym>
|
<synonym>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Библиотека стандартных подсистем, редакция 3.1</value>
|
<value>Библиотека стандартных подсистем, редакция 3.1</value>
|
||||||
</synonym>
|
</synonym>
|
||||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="a66517e0-00ea-11ec-7493-0242ac110002"/>
|
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="1867d10e-06a7-11ec-8986-0242ac110002"/>
|
||||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="a6651812-00ea-11ec-7493-0242ac110002"/>
|
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="1867d136-06a7-11ec-8986-0242ac110002"/>
|
||||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="a665181c-00ea-11ec-7493-0242ac110002"/>
|
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="1867d140-06a7-11ec-8986-0242ac110002"/>
|
||||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="a665181d-00ea-11ec-7493-0242ac110002"/>
|
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="1867d141-06a7-11ec-8986-0242ac110002"/>
|
||||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="a665181e-00ea-11ec-7493-0242ac110002"/>
|
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="1867d142-06a7-11ec-8986-0242ac110002"/>
|
||||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="a6651826-00ea-11ec-7493-0242ac110002"/>
|
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="1867d14a-06a7-11ec-8986-0242ac110002"/>
|
||||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="15965e6a-dc0d-411b-8dcd-721cf5b7bbe8"/>
|
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="2b0e8014-08b0-4a19-a561-06a2c83b7a1f"/>
|
||||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||||
<usePurposes>PersonalComputer</usePurposes>
|
<usePurposes>PersonalComputer</usePurposes>
|
||||||
<scriptVariant>Russian</scriptVariant>
|
<scriptVariant>Russian</scriptVariant>
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||||
<vendor>Фирма "1С"</vendor>
|
<vendor>Фирма "1С"</vendor>
|
||||||
<version>3.1.5.163</version>
|
<version>3.1.5.171</version>
|
||||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||||
<includeHelpInContents>true</includeHelpInContents>
|
<includeHelpInContents>true</includeHelpInContents>
|
||||||
<usedMobileApplicationFunctionalities>
|
<usedMobileApplicationFunctionalities>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{6,1,1,05b8acd4-00eb-11ec-1d9e-0242ac110002,1,ed069584-00ea-11ec-9286-0242ac110002,"3.1.5.163","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6460,1,0,a66517d6-00ea-11ec-7493-0242ac110002,a66517d6-00ea-11ec-7493-0242ac110002,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,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,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,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,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63Line truncated
|
{6,1,1,5e836194-06a7-11ec-b291-0242ac110002,1,4dbca118-06a7-11ec-8e83-0242ac110002,"3.1.5.171","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6460,1,0,1867d104-06a7-11ec-8986-0242ac110002,1867d104-06a7-11ec-8986-0242ac110002,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,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,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,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,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63Line truncated
|
||||||
@@ -388,6 +388,18 @@
|
|||||||
ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания);
|
ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДатаНачала = Неопределено; // Дата
|
||||||
|
ДатаОкончания = Неопределено; // Дата
|
||||||
|
ДатыОтбораУказаны = ОтборЖурналаРегистрации.Свойство("ДатаНачала", ДатаНачала) И ОтборЖурналаРегистрации.Свойство("ДатаОкончания", ДатаОкончания)
|
||||||
|
И ЗначениеЗаполнено(ДатаНачала) И ЗначениеЗаполнено(ОтборЖурналаРегистрации.ДатаОкончания);
|
||||||
|
|
||||||
|
Если ДатыОтбораУказаны И ДатаНачала > ДатаОкончания Тогда
|
||||||
|
ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.ПолеИндикаторДлительныхОпераций, "НеИспользовать");
|
||||||
|
Элементы.Страницы.ТекущаяСтраница = Элементы.ЖурналРегистрации;
|
||||||
|
ВызватьИсключение НСтр("ru = 'Некорректно заданы условия отбора журнала регистрации.
|
||||||
|
|Дата начала не может быть больше даты окончания.'");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПараметрыОтчета = ПараметрыОтчета();
|
ПараметрыОтчета = ПараметрыОтчета();
|
||||||
|
|
||||||
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
|
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
|
||||||
|
|||||||
+2
-2
@@ -270,7 +270,7 @@
|
|||||||
|
|
||||||
Оповещение = Новый ОписаниеОповещения("КомментарийНачалоВыбораЗавершение", ЭтотОбъект);
|
Оповещение = Новый ОписаниеОповещения("КомментарийНачалоВыбораЗавершение", ЭтотОбъект);
|
||||||
ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста(
|
ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста(
|
||||||
Оповещение, Элементы.Комментарий.ТекстРедактирования, НСтр("ru='Служебный комментарий'"));
|
Оповещение, Элементы.Комментарий.ТекстРедактирования, НСтр("ru = 'Служебный комментарий'"));
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@@ -1257,7 +1257,7 @@
|
|||||||
Функция ЕстьЦиклПорядкаВыполненияОбработчиков(Сообщать = Истина)
|
Функция ЕстьЦиклПорядкаВыполненияОбработчиков(Сообщать = Истина)
|
||||||
|
|
||||||
ЭтотОбработчик = Объект.ОбработчикиОбновления[0].Ссылка;
|
ЭтотОбработчик = Объект.ОбработчикиОбновления[0].Ссылка;
|
||||||
ЕстьЦикл = ЭтотОбъект.ВладелецФормы.ЕстьЦиклПорядкаВыполненияОбработчиков(ЭтотОбработчик, Объект.ПриоритетыВыполнения);
|
ЕстьЦикл = ВладелецФормы.ЕстьЦиклПорядкаВыполненияОбработчиков(ЭтотОбработчик, Объект.ПриоритетыВыполнения);
|
||||||
Возврат ЕстьЦикл;
|
Возврат ЕстьЦикл;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|||||||
+2
-13
@@ -1376,7 +1376,7 @@
|
|||||||
Имена.Удалить(Имена.ВГраница());
|
Имена.Удалить(Имена.ВГраница());
|
||||||
ОписаниеОбработчика.ИмяОбъекта = СтрСоединить(Имена, ".");
|
ОписаниеОбработчика.ИмяОбъекта = СтрСоединить(Имена, ".");
|
||||||
|
|
||||||
ИнверсныйПорядок = ИнверсныйПорядок();
|
ИнверсныйПорядок = Обработка.ИнверсныйПорядок();
|
||||||
Отбор = Новый Структура("Ссылка", ОписаниеОбработчика.Ссылка);
|
Отбор = Новый Структура("Ссылка", ОписаниеОбработчика.Ссылка);
|
||||||
Для Каждого ТабличнаяЧасть Из Данные.ТабличныеЧасти Цикл
|
Для Каждого ТабличнаяЧасть Из Данные.ТабличныеЧасти Цикл
|
||||||
|
|
||||||
@@ -1415,17 +1415,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
&НаСервере
|
|
||||||
Функция ИнверсныйПорядок()
|
|
||||||
|
|
||||||
ИнверсныйПорядок = Новый Соответствие;
|
|
||||||
ИнверсныйПорядок.Вставить("До","После");
|
|
||||||
ИнверсныйПорядок.Вставить("После","До");
|
|
||||||
ИнверсныйПорядок.Вставить("Любой","Любой");
|
|
||||||
Возврат ИнверсныйПорядок;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Процедура ИнвертироватьПорядок(Обработка, Запись, ИнверсныйПорядок)
|
Процедура ИнвертироватьПорядок(Обработка, Запись, ИнверсныйПорядок)
|
||||||
|
|
||||||
@@ -3851,7 +3840,7 @@
|
|||||||
Функция ЕстьЦиклПорядкаВыполненияОбработчиков(Знач ЭтотОбработчик, Знач ПриоритетыВыполнения = Неопределено, СообщатьОбОшибках = Истина) Экспорт
|
Функция ЕстьЦиклПорядкаВыполненияОбработчиков(Знач ЭтотОбработчик, Знач ПриоритетыВыполнения = Неопределено, СообщатьОбОшибках = Истина) Экспорт
|
||||||
|
|
||||||
Обработка = ОбъектОбработки();
|
Обработка = ОбъектОбработки();
|
||||||
ЕстьЦикл = Обработка.ЕстьЦиклПорядкаВыполненияОбработчика(ЭтотОбработчик, ПриоритетыВыполнения, СообщатьОбОшибках);
|
ЕстьЦикл = Обработка.ЕстьЦиклВыполненияОбработчиков(ЭтотОбработчик, ПриоритетыВыполнения, СообщатьОбОшибках);
|
||||||
Возврат ЕстьЦикл;
|
Возврат ЕстьЦикл;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|||||||
@@ -15,7 +15,6 @@
|
|||||||
Перем МножественноеЧисло Экспорт;
|
Перем МножественноеЧисло Экспорт;
|
||||||
Перем ЕдинственноеЧисло Экспорт;
|
Перем ЕдинственноеЧисло Экспорт;
|
||||||
Перем МодулиПодсистем Экспорт;
|
Перем МодулиПодсистем Экспорт;
|
||||||
Перем ПриоритетыПоИндексам;
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
@@ -312,90 +311,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Проверяет наличие зацикленности выполнения по данным приоритетов для всех обработчиков.
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Булево - Истина если есть зацикленность выполнения
|
|
||||||
//
|
|
||||||
Функция ЕстьЦиклВыполненияОбработчиков() Экспорт
|
|
||||||
|
|
||||||
ПриоритетыПоИндексам = ПриоритетыВыполнения.Выгрузить();
|
|
||||||
ПриоритетыПоИндексам.Индексы.Добавить("Ссылка, Порядок");
|
|
||||||
ЕстьЦикл = Ложь;
|
|
||||||
Для Каждого Обработчик Из ОбработчикиОбновления Цикл
|
|
||||||
ЕстьЦикл = ЕстьЦиклПорядкаВыполненияОбработчика(Обработчик.Ссылка) ИЛИ ЕстьЦикл;
|
|
||||||
КонецЦикла;
|
|
||||||
Возврат ЕстьЦикл;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// Проверяет наличие зацикленности выполнения по данным приоритетов для конкретного обработчика.
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// ЭтотОбработчик - Структура - описание обработчика
|
|
||||||
// ПриоритетыОбработчика - ТаблицаЗначений - выгрузки табличной части ПриоритетыВыполнения
|
|
||||||
// СообщатьОбОшибках - Булево
|
|
||||||
//
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Булево - Истина если есть зацикленность выполнения
|
|
||||||
//
|
|
||||||
Функция ЕстьЦиклПорядкаВыполненияОбработчика(Знач ЭтотОбработчик, Знач ПриоритетыОбработчика = Неопределено, СообщатьОбОшибках = Ложь) Экспорт
|
|
||||||
|
|
||||||
Если ПриоритетыПоИндексам = Неопределено Тогда
|
|
||||||
ПриоритетыПоИндексам = ПриоритетыВыполнения.Выгрузить();
|
|
||||||
ПриоритетыПоИндексам.Индексы.Добавить("Ссылка, Порядок");
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
СвязанныеОбработчикиДо = Новый Массив;
|
|
||||||
СвязанныеОбработчикиПосле = Новый Массив;
|
|
||||||
Если ЭтотОбработчик <> Неопределено И ПриоритетыОбработчика = Неопределено Тогда
|
|
||||||
Отбор = Новый Структура("Ссылка", ЭтотОбработчик);
|
|
||||||
ПриоритетыОбработчика = ПриоритетыПоИндексам.НайтиСтроки(Отбор);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Для Каждого Приоритет Из ПриоритетыОбработчика Цикл
|
|
||||||
Связанный = НовыйОбработчик(Приоритет.Обработчик2, Приоритет.Процедура2);
|
|
||||||
Если Приоритет.Порядок = "До" Тогда
|
|
||||||
СвязанныеОбработчикиДо.Добавить(Связанный);
|
|
||||||
|
|
||||||
ИначеЕсли Приоритет.Порядок = "После" Тогда
|
|
||||||
СвязанныеОбработчикиПосле.Добавить(Связанный);
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Если СвязанныеОбработчикиДо.Количество() = 0 И СвязанныеОбработчикиПосле.Количество() = 0 Тогда
|
|
||||||
Возврат Ложь;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ЕстьЦикл = Ложь;
|
|
||||||
Путь = Новый Массив;
|
|
||||||
ПолныйПуть = Новый Массив;
|
|
||||||
Если СвязанныеОбработчикиДо.Количество() > 0 Тогда
|
|
||||||
ЕстьЦикл = ЕстьЦиклВПорядкеОбработчиков(ЭтотОбработчик, СвязанныеОбработчикиДо, "До", Путь, ПолныйПуть);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если НЕ ЕстьЦикл И СвязанныеОбработчикиПосле.Количество() > 0 Тогда
|
|
||||||
ЕстьЦикл = ЕстьЦиклВПорядкеОбработчиков(ЭтотОбработчик, СвязанныеОбработчикиПосле, "После", Путь, ПолныйПуть);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ЕстьЦикл Тогда
|
|
||||||
ОписаниеОбработчика = ОбработчикиОбновления.НайтиСтроки(Новый Структура("Ссылка", ЭтотОбработчик));
|
|
||||||
ПолныйПуть.Вставить(0, ОписаниеОбработчика[0].Процедура);
|
|
||||||
ТекстПути = СтрСоединить(ПолныйПуть, Символы.ПС);
|
|
||||||
|
|
||||||
ТекстСообщения = НСтр("ru = 'Обнаружен цикл порядка выполнения:'") + Символы.ПС + "%Путь%";
|
|
||||||
ТекстСообщения = СтрЗаменить(ТекстСообщения, "%Путь%", ТекстПути);
|
|
||||||
ДобавитьОшибку(ОписаниеОбработчика[0].Процедура, ТекстСообщения);
|
|
||||||
Если СообщатьОбОшибках Тогда
|
|
||||||
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Возврат ЕстьЦикл;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ИнициализацияИЗаполнение
|
#Область ИнициализацияИЗаполнение
|
||||||
@@ -1516,7 +1431,7 @@
|
|||||||
Процедура ВывестиСообщениеОбОшибках(БросатьИсключение = Истина)
|
Процедура ВывестиСообщениеОбОшибках(БросатьИсключение = Истина)
|
||||||
|
|
||||||
Если БросатьИсключение Тогда
|
Если БросатьИсключение Тогда
|
||||||
ИмяСобытия = НСтр("ru='Построение очереди обработчиков обновления'", ОбщегоНазначения.КодОсновногоЯзыка());
|
ИмяСобытия = НСтр("ru = 'Построение очереди обработчиков обновления'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||||
СписокПроблемныхОбработчиков = "";
|
СписокПроблемныхОбработчиков = "";
|
||||||
Для Каждого Ошибка Из Ошибки Цикл
|
Для Каждого Ошибка Из Ошибки Цикл
|
||||||
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Ошибка.ОбъектМетаданных);
|
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Ошибка.ОбъектМетаданных);
|
||||||
@@ -1544,68 +1459,357 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#Область ЕстьЦиклВыполненияОбработчиков
|
||||||
|
|
||||||
|
// Проверяет наличие зацикленности выполнения по данным приоритетов для всех обработчиков.
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Булево - Истина если есть зацикленность выполнения
|
||||||
|
//
|
||||||
|
Функция ЕстьЦиклВыполненияОбработчиков(ПроверяемыйОбработчик = Неопределено, Знач ПриоритетыОбработчика = Неопределено, СообщатьОбОшибках = Ложь) Экспорт
|
||||||
|
|
||||||
|
СписокРебер = ПриоритетыВыполнения.Выгрузить(, "Ссылка, Обработчик2, Порядок");
|
||||||
|
Если ПриоритетыОбработчика <> Неопределено Тогда
|
||||||
|
ИнверсныйПорядок = ИнверсныйПорядок();
|
||||||
|
Для Каждого НовыйПриоритет Из ПриоритетыОбработчика Цикл
|
||||||
|
|
||||||
|
Отбор = Новый Структура("Ссылка,Обработчик2");
|
||||||
|
ЗаполнитьЗначенияСвойств(Отбор, НовыйПриоритет);
|
||||||
|
НайденныеРебра = СписокРебер.НайтиСтроки(Отбор);
|
||||||
|
Если НайденныеРебра.Количество() = 0 Тогда
|
||||||
|
НовоеРебро = СписокРебер.Добавить();
|
||||||
|
ЗаполнитьЗначенияСвойств(НовоеРебро, НовыйПриоритет);
|
||||||
|
Иначе
|
||||||
|
ЗаполнитьЗначенияСвойств(НайденныеРебра[0], НовыйПриоритет);
|
||||||
|
Отбор.Ссылка = НовыйПриоритет.Обработчик2;
|
||||||
|
Отбор.Обработчик2 = НовыйПриоритет.Ссылка;
|
||||||
|
НайденныеРебра = СписокРебер.НайтиСтроки(Отбор);
|
||||||
|
НайденныеРебра[0].Порядок = ИнверсныйПорядок[НовыйПриоритет.Порядок];
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
СписокРебер.Колонки.Ссылка.Имя = "Начало";
|
||||||
|
СписокРебер.Колонки.Обработчик2.Имя = "Конец";
|
||||||
|
|
||||||
|
ЛюбыеЗависимости = СписокРебер.НайтиСтроки(Новый Структура("Порядок", "Любой"));
|
||||||
|
Для Каждого ЛюбаяЗависимость Из ЛюбыеЗависимости Цикл
|
||||||
|
СписокРебер.Удалить(ЛюбаяЗависимость);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
ЗависимостиДо = СписокРебер.НайтиСтроки(Новый Структура("Порядок", "До"));
|
||||||
|
Для Каждого ЗависимостьДо Из ЗависимостиДо Цикл
|
||||||
|
Начало = ЗависимостьДо.Начало;
|
||||||
|
ЗависимостьДо.Начало = ЗависимостьДо.Конец;
|
||||||
|
ЗависимостьДо.Конец = Начало;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
СписокРебер.Колонки.Удалить("Порядок");
|
||||||
|
ОптимизироватьСписокРебер(СписокРебер);
|
||||||
|
СписокВершин = СписокВершин(СписокРебер);
|
||||||
|
СписокСмежности = СписокСмежности(СписокРебер, СписокВершин);
|
||||||
|
ИндексПроверяемогоОбработчика = Неопределено;
|
||||||
|
|
||||||
|
Если ПроверяемыйОбработчик <> Неопределено Тогда
|
||||||
|
Отбор = Новый Структура("Значение", ПроверяемыйОбработчик);
|
||||||
|
НайденныеСтроки = СписокВершин.НайтиСтроки(Отбор);
|
||||||
|
Если НайденныеСтроки.Количество() = 0 Тогда
|
||||||
|
Возврат Ложь;
|
||||||
|
КонецЕсли;
|
||||||
|
СтрокаПроверяемогоОбработчика = НайденныеСтроки[0];
|
||||||
|
ИндексПроверяемогоОбработчика = СписокВершин.Индекс(СтрокаПроверяемогоОбработчика);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЦиклыГрафа = НайтиЦиклыГрафа(СписокВершин, СписокСмежности, ИндексПроверяемогоОбработчика);
|
||||||
|
ЕстьЦикл = ЦиклыГрафа.Количество() > 0;
|
||||||
|
|
||||||
|
Если ЕстьЦикл Тогда
|
||||||
|
|
||||||
|
Для Каждого ЦиклГрафа Из ЦиклыГрафа Цикл
|
||||||
|
|
||||||
|
ПолныйПуть = Новый Массив;
|
||||||
|
Для Каждого Ссылка Из ЦиклГрафа Цикл
|
||||||
|
Описание = ОбработчикиОбновления.Найти(Ссылка, "Ссылка");
|
||||||
|
ПолныйПуть.Добавить(Описание.Процедура);
|
||||||
|
КонецЦикла;
|
||||||
|
ТекстПути = СтрСоединить(ПолныйПуть, Символы.ПС);
|
||||||
|
|
||||||
|
ТекстСообщения = НСтр("ru = 'Обнаружен цикл порядка выполнения:'") + Символы.ПС + "%Путь%";
|
||||||
|
ТекстСообщения = СтрЗаменить(ТекстСообщения, "%Путь%", ТекстПути);
|
||||||
|
|
||||||
|
ДобавитьОшибку("", ТекстСообщения);
|
||||||
|
Если СообщатьОбОшибках Тогда
|
||||||
|
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат ЕстьЦикл;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#Область ПоискЦиклов
|
||||||
|
|
||||||
|
Процедура ДобавитьЦиклВРезультатПоиска(Параметры)
|
||||||
|
|
||||||
|
НачалоЦикла = Параметры.НачалоЦикла;
|
||||||
|
Вершина = Параметры.КонецЦикла;
|
||||||
|
Путь = Параметры.Путь;
|
||||||
|
|
||||||
|
СтруктураЦикла = Новый Массив;
|
||||||
|
СтруктураЦикла.Добавить(НачалоЦикла);
|
||||||
|
|
||||||
|
Пока Вершина <> НачалоЦикла Цикл
|
||||||
|
СтруктураЦикла.Добавить(Вершина);
|
||||||
|
Вершина = Путь[Вершина];
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
СтруктураЦикла.Добавить(НачалоЦикла);
|
||||||
|
ПеревернутьМассив(СтруктураЦикла);
|
||||||
|
Параметры.Циклы.Добавить(СтруктураЦикла);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ЗаполнитьВершиныЗначениями(МассивВершин, СписокВершин)
|
||||||
|
|
||||||
|
Для ИндексВершины = 0 По МассивВершин.ВГраница() Цикл
|
||||||
|
МассивВершин[ИндексВершины] = СписокВершин[МассивВершин[ИндексВершины]].Значение;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ЗаполнитьЦиклыЗначениями(Параметры)
|
||||||
|
|
||||||
|
СписокВершин = Параметры.СписокВершин;
|
||||||
|
|
||||||
|
Для Каждого СтруктураЦикла Из Параметры.Циклы Цикл
|
||||||
|
ЗаполнитьВершиныЗначениями(СтруктураЦикла, СписокВершин);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ОптимизироватьСписокРебер(СписокРебер)
|
||||||
|
|
||||||
|
СписокРебер.Свернуть("Начало, Конец");
|
||||||
|
СписокРебер.Индексы.Добавить("Начало");
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ПеревернутьМассив(Массив)
|
||||||
|
|
||||||
|
ИндексНачала = 0;
|
||||||
|
ИндексКонца = Массив.ВГраница();
|
||||||
|
|
||||||
|
Пока ИндексНачала < ИндексКонца Цикл
|
||||||
|
Значение = Массив[ИндексНачала];
|
||||||
|
Массив[ИндексНачала] = Массив[ИндексКонца];
|
||||||
|
Массив[ИндексКонца] = Значение;
|
||||||
|
ИндексНачала = ИндексНачала + 1;
|
||||||
|
ИндексКонца = ИндексКонца - 1;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ПоискВГлубинуГрафа(ВершинаВыхода, Параметры)
|
||||||
|
|
||||||
|
СостоянияВершин = Параметры.СостоянияВершин;
|
||||||
|
СостоянияВершин[ВершинаВыхода] = 1;
|
||||||
|
ВершиныВхода = Параметры.СписокСмежности[ВершинаВыхода];
|
||||||
|
|
||||||
|
Если ВершиныВхода <> Неопределено Тогда
|
||||||
|
Для ИндексВершиныВхода = 0 По ВершиныВхода.Количество() - 1 Цикл
|
||||||
|
ВершинаВхода = ВершиныВхода[ИндексВершиныВхода];
|
||||||
|
СостояниеВершиныВхода = СостоянияВершин[ВершинаВхода];
|
||||||
|
|
||||||
|
Если СостояниеВершиныВхода = Неопределено Тогда
|
||||||
|
Параметры.Путь[ВершинаВхода] = ВершинаВыхода;
|
||||||
|
ПоискВГлубинуГрафа(ВершинаВхода, Параметры);
|
||||||
|
ИначеЕсли СостояниеВершиныВхода = 1 Тогда
|
||||||
|
Параметры.НачалоЦикла = ВершинаВхода;
|
||||||
|
Параметры.КонецЦикла = ВершинаВыхода;
|
||||||
|
ДобавитьЦиклВРезультатПоиска(Параметры);
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
СостоянияВершин[ВершинаВыхода] = 2;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура УдалитьЛишниеЦиклы(Циклы)
|
||||||
|
|
||||||
|
ИсходныеЦиклы = СоответствиеПредставленийИЗначенийЦиклов(Циклы);
|
||||||
|
НормализованныеЦиклы = Новый Массив;
|
||||||
|
|
||||||
|
Для Каждого ИсходныйЦикл Из ИсходныеЦиклы Цикл
|
||||||
|
НормализованныйЦикл = НормализоватьЦикл(ИсходныйЦикл.Значение);
|
||||||
|
НормализованныеЦиклы.Добавить(НормализованныйЦикл);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
УникальныеЦиклы = СоответствиеПредставленийИЗначенийЦиклов(НормализованныеЦиклы);
|
||||||
|
Циклы.Очистить();
|
||||||
|
|
||||||
|
Для Каждого УникальныйЦикл Из УникальныеЦиклы Цикл
|
||||||
|
Циклы.Добавить(УникальныйЦикл.Значение);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция ИндексМинимальногоЗначенияВМассиве(Массив)
|
||||||
|
|
||||||
|
Если Массив.Количество() = 0 Тогда
|
||||||
|
Возврат Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Минимум = Массив[0];
|
||||||
|
ИндексМинимума = 0;
|
||||||
|
|
||||||
|
Для Индекс = 1 По Массив.ВГраница() Цикл
|
||||||
|
Значение = Массив[Индекс];
|
||||||
|
|
||||||
|
Если Значение < Минимум Тогда
|
||||||
|
Минимум = Значение;
|
||||||
|
ИндексМинимума = Индекс;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат ИндексМинимума;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция НайтиЦиклыГрафа(СписокВершин, СписокСмежности, НачальнаяВершина = Неопределено)
|
||||||
|
|
||||||
|
ПараметрыПоиска = НовыеПараметрыПоискаВГлубинуГрафа(СписокВершин, СписокСмежности);
|
||||||
|
КоличествоВершин = СписокВершин.Количество();
|
||||||
|
|
||||||
|
Если НачальнаяВершина = Неопределено Тогда
|
||||||
|
Для ИндексВершиныВыхода = 0 По КоличествоВершин - 1 Цикл
|
||||||
|
ПараметрыПоиска.СостоянияВершин = Новый Массив(КоличествоВершин);
|
||||||
|
ПоискВГлубинуГрафа(ИндексВершиныВыхода, ПараметрыПоиска);
|
||||||
|
КонецЦикла;
|
||||||
|
Иначе
|
||||||
|
ПоискВГлубинуГрафа(НачальнаяВершина, ПараметрыПоиска);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
УдалитьЛишниеЦиклы(ПараметрыПоиска.Циклы);
|
||||||
|
ЗаполнитьЦиклыЗначениями(ПараметрыПоиска);
|
||||||
|
|
||||||
|
Возврат ПараметрыПоиска.Циклы;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция НовыеПараметрыПоискаВГлубинуГрафа(СписокВершин, СписокСмежности)
|
||||||
|
|
||||||
|
КоличествоВершин = СписокВершин.Количество();
|
||||||
|
|
||||||
|
ПараметрыПоиска = Новый Структура;
|
||||||
|
ПараметрыПоиска.Вставить("СписокВершин", СписокВершин);
|
||||||
|
ПараметрыПоиска.Вставить("СписокСмежности", СписокСмежности);
|
||||||
|
ПараметрыПоиска.Вставить("СостоянияВершин", Новый Массив(КоличествоВершин));
|
||||||
|
ПараметрыПоиска.Вставить("Путь", Новый Массив(КоличествоВершин));
|
||||||
|
ПараметрыПоиска.Вставить("Циклы", Новый Массив);
|
||||||
|
ПараметрыПоиска.Вставить("НачалоЦикла");
|
||||||
|
ПараметрыПоиска.Вставить("КонецЦикла");
|
||||||
|
|
||||||
|
Возврат ПараметрыПоиска;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция НормализоватьЦикл(СтруктураЦикла)
|
||||||
|
|
||||||
|
СтруктураЦикла.Удалить(СтруктураЦикла.ВГраница());
|
||||||
|
ИндексМинимума = ИндексМинимальногоЗначенияВМассиве(СтруктураЦикла);
|
||||||
|
НормализованныйЦикл = ЦиклическиСдвинутыйМассив(СтруктураЦикла, -ИндексМинимума);
|
||||||
|
НормализованныйЦикл.Добавить(НормализованныйЦикл[0]);
|
||||||
|
|
||||||
|
Возврат НормализованныйЦикл;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция СоответствиеПредставленийИЗначенийЦиклов(Циклы)
|
||||||
|
|
||||||
|
Соответствие = Новый Соответствие;
|
||||||
|
|
||||||
|
Для Каждого СтруктураЦикла Из Циклы Цикл
|
||||||
|
ПредставлениеЦикла = СтрСоединить(СтруктураЦикла, " → ");
|
||||||
|
Значение = Соответствие[ПредставлениеЦикла];
|
||||||
|
|
||||||
|
Если Значение = Неопределено Тогда
|
||||||
|
Соответствие[ПредставлениеЦикла] = СтруктураЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат Соответствие;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция СписокВершин(СписокРебер)
|
||||||
|
|
||||||
|
ВершиныВыхода = СписокРебер.Скопировать(, "Начало");
|
||||||
|
ВершиныВхода = СписокРебер.Скопировать(, "Конец");
|
||||||
|
ВершиныВхода.Свернуть("Конец");
|
||||||
|
|
||||||
|
Для Каждого ВершинаВхода Из ВершиныВхода Цикл
|
||||||
|
ВершинаВыхода = ВершиныВыхода.Добавить();
|
||||||
|
ВершинаВыхода.Начало = ВершинаВхода.Конец;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
ВершиныВыхода.Свернуть("Начало");
|
||||||
|
ВершиныВыхода.Колонки.Начало.Имя = "Значение";
|
||||||
|
ВершиныВыхода.Индексы.Добавить("Значение");
|
||||||
|
|
||||||
|
Возврат ВершиныВыхода;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция СписокСмежности(СписокРебер, СписокВершин)
|
||||||
|
|
||||||
|
КоличествоВершин = СписокВершин.Количество();
|
||||||
|
СписокСмежности = Новый Массив(КоличествоВершин);
|
||||||
|
ОтборВСпискеРебер = Новый Структура("Начало");
|
||||||
|
ОтборВСпискеВершин = Новый Структура("Значение");
|
||||||
|
|
||||||
|
Для ИндексВершины = 0 По КоличествоВершин - 1 Цикл
|
||||||
|
ВершинаВыхода = СписокВершин[ИндексВершины].Значение;
|
||||||
|
ОтборВСпискеРебер.Начало = ВершинаВыхода;
|
||||||
|
ВершиныВхода = СписокРебер.НайтиСтроки(ОтборВСпискеРебер);
|
||||||
|
КоличествоВершинВхода = ВершиныВхода.Количество();
|
||||||
|
|
||||||
|
Если КоличествоВершинВхода > 0 Тогда
|
||||||
|
СписокВершинВхода = Новый Массив(КоличествоВершинВхода);
|
||||||
|
СписокСмежности[ИндексВершины] = СписокВершинВхода;
|
||||||
|
|
||||||
|
Для ИндексВершиныВхода = 0 По КоличествоВершинВхода - 1 Цикл
|
||||||
|
ВершинаВхода = ВершиныВхода[ИндексВершиныВхода].Конец;
|
||||||
|
ОтборВСпискеВершин.Значение = ВершинаВхода;
|
||||||
|
СписокВершинВхода[ИндексВершиныВхода] = СписокВершин.Индекс(СписокВершин.НайтиСтроки(ОтборВСпискеВершин)[0]);
|
||||||
|
КонецЦикла;
|
||||||
|
КонецЕсли;
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат СписокСмежности;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ЦиклическиСдвинутыйМассив(Массив, Смещение)
|
||||||
|
|
||||||
|
Количество = Массив.Количество();
|
||||||
|
СдвинутыйМассив = Новый Массив(Количество);
|
||||||
|
|
||||||
|
Для Индекс = 0 По Массив.ВГраница() Цикл
|
||||||
|
СмещениеИсточника = Индекс - Смещение + ?(Смещение < 0, 0, Количество);
|
||||||
|
ИндексИсточника = СмещениеИсточника % Количество;
|
||||||
|
СдвинутыйМассив[Индекс] = Массив[ИндексИсточника];
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Возврат СдвинутыйМассив;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ЕстьЦиклПорядкаВыполнения
|
#КонецОбласти
|
||||||
|
|
||||||
// Параметры:
|
|
||||||
// Обработчик - Структура - описание обработчика
|
|
||||||
// СвязанныеОбработчики - Массив из ДокументСсылка
|
|
||||||
// НаправлениеОбхода - Строка
|
|
||||||
// Путь - Массив
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Булево - истина если есть цикл в порядке выполнения обработчиков
|
|
||||||
//
|
|
||||||
Функция ЕстьЦиклВПорядкеОбработчиков(Обработчик, СвязанныеОбработчики, НаправлениеОбхода, Путь, ПолныйПуть)
|
|
||||||
|
|
||||||
Для каждого СвязанныйОбработчик Из СвязанныеОбработчики Цикл
|
|
||||||
|
|
||||||
Если ПолныйПуть.Найти(СвязанныйОбработчик.Процедура) <> Неопределено Тогда
|
|
||||||
ПолныйПуть.Добавить(СвязанныйОбработчик.Процедура);
|
|
||||||
Возврат Ложь; // для предотвращения зацикливания проверки
|
|
||||||
КонецЕсли;
|
|
||||||
ПолныйПуть.Добавить(СвязанныйОбработчик.Процедура);
|
|
||||||
|
|
||||||
Если СвязанныйОбработчик.Ссылка = Обработчик Тогда
|
|
||||||
Путь.Добавить(СвязанныйОбработчик.Процедура);
|
|
||||||
Возврат Истина;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
СвязанныеОбработчикиТекущего = СвязанныеОбработчики(СвязанныйОбработчик.Ссылка, НаправлениеОбхода);
|
|
||||||
|
|
||||||
Если СвязанныеОбработчикиТекущего.Количество() > 0 Тогда
|
|
||||||
Если ЕстьЦиклВПорядкеОбработчиков(Обработчик, СвязанныеОбработчикиТекущего, НаправлениеОбхода, Путь, ПолныйПуть) Тогда
|
|
||||||
Путь.Добавить(СвязанныйОбработчик.Процедура);
|
|
||||||
Возврат Истина;
|
|
||||||
КонецЕсли;
|
|
||||||
КонецЕсли;
|
|
||||||
ПолныйПуть.Удалить(ПолныйПуть.ВГраница());
|
|
||||||
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат Ложь;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Функция СвязанныеОбработчики(Обработчик, НаправлениеОбхода)
|
|
||||||
|
|
||||||
Отбор = Новый Структура("Ссылка, Порядок", Обработчик, НаправлениеОбхода);
|
|
||||||
ПриоритетыОбработчика = ПриоритетыПоИндексам.НайтиСтроки(Отбор);
|
|
||||||
Результат = Новый Массив;
|
|
||||||
Для Каждого Приоритет Из ПриоритетыОбработчика Цикл
|
|
||||||
Связанный = НовыйОбработчик(Приоритет.Обработчик2, Приоритет.Процедура2);
|
|
||||||
Результат.Добавить(Связанный);
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
Возврат Результат;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Функция НовыйОбработчик(Ссылка = "", ИмяПроцедуры = "")
|
|
||||||
|
|
||||||
Возврат Новый Структура("Ссылка, Процедура", Ссылка, ИмяПроцедуры);
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
@@ -1716,6 +1920,21 @@
|
|||||||
Возврат Новый Структура("РежимВыполненияОтложенныхОбработчиков,ПорядокБиблиотеки");
|
Возврат Новый Структура("РежимВыполненияОтложенныхОбработчиков,ПорядокБиблиотеки");
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Возвращает соответствие инверсных порядков
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие - прямого порядка инверсному
|
||||||
|
//
|
||||||
|
Функция ИнверсныйПорядок() Экспорт
|
||||||
|
|
||||||
|
ИнверсныйПорядок = Новый Соответствие;
|
||||||
|
ИнверсныйПорядок.Вставить("До","После");
|
||||||
|
ИнверсныйПорядок.Вставить("После","До");
|
||||||
|
ИнверсныйПорядок.Вставить("Любой","Любой");
|
||||||
|
Возврат ИнверсныйПорядок;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|||||||
+3
-3
@@ -145,15 +145,15 @@
|
|||||||
Функция ЗаголовокНастройкиСервисаПереводаТекста(СервисПереводаТекста)
|
Функция ЗаголовокНастройкиСервисаПереводаТекста(СервисПереводаТекста)
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(СервисПереводаТекста) Тогда
|
Если ЗначениеЗаполнено(СервисПереводаТекста) Тогда
|
||||||
Шаблон = НСтр("ru = 'Перевод текста с помощью <a href=""ПерейтиКНастройкеСервисаПереводаТекста"">%1</a>'");
|
Шаблон = НСтр("ru = 'Перевод текста с помощью <a href=""%1"">%2</a>'");
|
||||||
Иначе
|
Иначе
|
||||||
Шаблон = НСтр("ru = 'Перевод текста с помощью внешнего сервиса'");
|
Шаблон = НСтр("ru = 'Перевод текста с помощью внешнего сервиса'");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
#Если Клиент Тогда
|
#Если Клиент Тогда
|
||||||
Возврат СтроковыеФункцииКлиент.ФорматированнаяСтрока(Шаблон, СервисПереводаТекста);
|
Возврат СтроковыеФункцииКлиент.ФорматированнаяСтрока(Шаблон, "ПерейтиКНастройкеСервисаПереводаТекста", СервисПереводаТекста);
|
||||||
#Иначе
|
#Иначе
|
||||||
Возврат СтроковыеФункции.ФорматированнаяСтрока(Шаблон, СервисПереводаТекста);
|
Возврат СтроковыеФункции.ФорматированнаяСтрока(Шаблон, "ПерейтиКНастройкеСервисаПереводаТекста", СервисПереводаТекста);
|
||||||
#КонецЕсли
|
#КонецЕсли
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|||||||
@@ -38,8 +38,8 @@
|
|||||||
Процедура ПриОткрытии(Отказ)
|
Процедура ПриОткрытии(Отказ)
|
||||||
|
|
||||||
Если КоличествоТомовХранения = 0 Тогда
|
Если КоличествоТомовХранения = 0 Тогда
|
||||||
ПоказатьПредупреждение(, НСтр("ru = 'Нет ни одного тома для размещения файлов.'"));
|
ОписаниеОповещения = Новый ОписаниеОповещения("ПриОткрытииПослеЗакрытияПредупреждения", ЭтотОбъект);
|
||||||
Отказ = Истина;
|
ПоказатьПредупреждение(ОписаниеОповещения, НСтр("ru = 'Невозможно перенести файлы между томами, т.к. нет ни одного тома для размещения файлов.'"));
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -170,6 +170,13 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ПриОткрытииПослеЗакрытияПредупреждения(Результат) Экспорт
|
||||||
|
|
||||||
|
Закрыть();
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаСервере
|
&НаСервере
|
||||||
Функция ВыполнитьПереносНаСервере()
|
Функция ВыполнитьПереносНаСервере()
|
||||||
|
|
||||||
|
|||||||
@@ -381,10 +381,14 @@
|
|||||||
|через запуск 1С:Предприятия, либо временно отключать расширения конфигурации.'");
|
|через запуск 1С:Предприятия, либо временно отключать расширения конфигурации.'");
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат ДлительныеОперации.ВыполнитьВФоне(
|
Возврат ДлительныеОперации.ВыполнитьВФоне(ИмяПроцедурыФоновогоЗадания(),
|
||||||
"РегистрыСведений.ПараметрыРаботыПрограммы.ОбработчикДлительнойОперацииОбновленияПараметровРаботыПрограммы",
|
СообщитьПрогресс, ПараметрыОперации);
|
||||||
СообщитьПрогресс,
|
|
||||||
ПараметрыОперации);
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ИмяПроцедурыФоновогоЗадания() Экспорт
|
||||||
|
|
||||||
|
Возврат "РегистрыСведений.ПараметрыРаботыПрограммы.ОбработчикДлительнойОперацииОбновленияПараметровРаботыПрограммы";
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
|||||||
@@ -624,6 +624,93 @@
|
|||||||
<value>true</value>
|
<value>true</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</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>
|
<object>
|
||||||
<name>InformationRegister.ДомаЗданияСтроения</name>
|
<name>InformationRegister.ДомаЗданияСтроения</name>
|
||||||
<right>
|
<right>
|
||||||
@@ -3273,93 +3360,6 @@
|
|||||||
<value>true</value>
|
<value>true</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</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>
|
<object>
|
||||||
<name>InformationRegister.ПараметрыРаботыПрограммы</name>
|
<name>InformationRegister.ПараметрыРаботыПрограммы</name>
|
||||||
<right>
|
<right>
|
||||||
|
|||||||
@@ -14,6 +14,37 @@
|
|||||||
<value>true</value>
|
<value>true</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</object>
|
||||||
|
<object>
|
||||||
|
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||||
|
<right>
|
||||||
|
<name>MainWindowModeNormal</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>MainWindowModeWorkplace</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>MainWindowModeEmbeddedWorkplace</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>MainWindowModeFullscreenWorkplace</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>MainWindowModeKiosk</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>AnalyticsSystemClient</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
<right>
|
||||||
|
<name>Output</name>
|
||||||
|
<value>true</value>
|
||||||
|
</right>
|
||||||
|
</object>
|
||||||
<object>
|
<object>
|
||||||
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
|
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
|
||||||
<right>
|
<right>
|
||||||
@@ -76,37 +107,6 @@
|
|||||||
<value>true</value>
|
<value>true</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</object>
|
||||||
<object>
|
|
||||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
|
||||||
<right>
|
|
||||||
<name>MainWindowModeNormal</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>MainWindowModeWorkplace</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>MainWindowModeEmbeddedWorkplace</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>MainWindowModeFullscreenWorkplace</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>MainWindowModeKiosk</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>AnalyticsSystemClient</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
<right>
|
|
||||||
<name>Output</name>
|
|
||||||
<value>true</value>
|
|
||||||
</right>
|
|
||||||
</object>
|
|
||||||
<restrictionTemplate>
|
<restrictionTemplate>
|
||||||
<name>ДляОбъекта(ПолеОбъекта)</name>
|
<name>ДляОбъекта(ПолеОбъекта)</name>
|
||||||
<condition>// ДляОбъекта(ПолеОбъекта = "")
|
<condition>// ДляОбъекта(ПолеОбъекта = "")
|
||||||
|
|||||||
@@ -937,6 +937,45 @@
|
|||||||
<value>false</value>
|
<value>false</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</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>
|
<object>
|
||||||
<name>InformationRegister.ДомаЗданияСтроения</name>
|
<name>InformationRegister.ДомаЗданияСтроения</name>
|
||||||
<right>
|
<right>
|
||||||
@@ -4651,45 +4690,6 @@
|
|||||||
<value>false</value>
|
<value>false</value>
|
||||||
</right>
|
</right>
|
||||||
</object>
|
</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>
|
<object>
|
||||||
<name>Catalog.ЗначенияСвойствОбъектовИерархия</name>
|
<name>Catalog.ЗначенияСвойствОбъектовИерархия</name>
|
||||||
<right>
|
<right>
|
||||||
|
|||||||
+4
-1
@@ -1070,13 +1070,16 @@
|
|||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если Не МетаданныеОбъекта.Иерархический Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если МетаданныеОбъекта.ВидИерархии = ВидыИерархии.ИерархияГруппИЭлементов Тогда
|
Если МетаданныеОбъекта.ВидИерархии = ВидыИерархии.ИерархияГруппИЭлементов Тогда
|
||||||
ВидИерархии = ВидИерархииИерархияГруппИЭлементов();
|
ВидИерархии = ВидИерархииИерархияГруппИЭлементов();
|
||||||
Иначе
|
Иначе
|
||||||
ВидИерархии = ВидИерархииИерархияЭлементов();
|
ВидИерархии = ВидИерархииИерархияЭлементов();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|
||||||
ВидыИерархииЗначений.Вставить(ТипЗначения, ВидИерархии);
|
ВидыИерархииЗначений.Вставить(ТипЗначения, ВидИерархии);
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|||||||
Reference in new issue
Block a user