3_1_3_323
This commit is contained in:
1 parent
904212c216
commit
c393650549
47 files changed
+807
-339
No files matched your search
@@ -669,6 +669,8 @@
|
||||
И Не ДобавляемыйОбъектИмеетсяСредиРодителей(ДеревоРодитель, ЭлементСписка.Значение) Тогда
|
||||
|
||||
ВывестиРодительскиеОбъекты(ЭлементСписка.Значение, НоваяСтрока, ВыведенныеОбъекты);
|
||||
Иначе
|
||||
ВывестиРодительскиеОбъекты(ЭлементСписка.Значение, ДеревоРодитель, ВыведенныеОбъекты);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -893,6 +895,8 @@
|
||||
И Не ДобавляемыйОбъектИмеетсяСредиРодителей(ДеревоРодитель, Выборка.Ссылка) Тогда
|
||||
|
||||
ВывестиПодчиненныеОбъекты(Выборка.Ссылка, НоваяСтрока, ВыведенныеОбъекты);
|
||||
Иначе
|
||||
ВывестиПодчиненныеОбъекты(Выборка.Ссылка, ДеревоРодитель, ВыведенныеОбъекты);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -4497,6 +4497,9 @@
|
||||
|
||||
Если Результат.ВариантМодифицирован Тогда
|
||||
ОбновитьФорму(Результат);
|
||||
|
||||
Раздел = КорневаяСтрокаПоУмолчанию("СтруктураВарианта");
|
||||
Элементы.СтруктураВарианта.Развернуть(Раздел.ПолучитьИдентификатор(), Истина);
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
//
|
||||
Функция КодРегионаПоНаименованию(Название) Экспорт
|
||||
|
||||
НаименованиеРегиона = СтрЗаменить(Название, "Кемеровская область - Кузбасс обл", "Кемеровская область - Кузбасс");
|
||||
НаименованиеРегиона = АдресныйКлассификаторСлужебный.АдаптацияНазванияРегиона(Название);
|
||||
|
||||
СписокРегионов = АдресныйКлассификаторПовтИсп.СписокРегионов();
|
||||
КодСубъектаРФ = СписокРегионов.Получить(ВРег(НаименованиеРегиона));
|
||||
@@ -87,6 +87,17 @@
|
||||
Возврат Варианты[0].КодСубъектаРФ;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ЧастиСлова.Сокращение) Тогда
|
||||
СокращенияАдресныхОбъектов = АдресныйКлассификаторСлужебный.СокращенияАдресныхОбъектов(Новый Массив);
|
||||
Если СокращенияАдресныхОбъектов.Получить(ВРег(ЧастиСлова.Сокращение)) <> Неопределено Тогда
|
||||
НаименованиеРегиона = ЧастиСлова.Наименование + " " + СокращенияАдресныхОбъектов.Получить(ВРег(ЧастиСлова.Сокращение));
|
||||
КодСубъектаРФ = СписокРегионов.Получить(ВРег(НаименованиеРегиона));
|
||||
Если КодСубъектаРФ <> Неопределено Тогда
|
||||
Возврат КодСубъектаРФ;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -1927,6 +1927,18 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция АдаптацияНазванияРегиона(Название) Экспорт
|
||||
|
||||
Если СтрСравнить(Название, "Кемеровская область - Кузбасс обл") = 0
|
||||
Или СтрСравнить(Название, "Кемеровская область - Кузбасс область") = 0
|
||||
Или СтрСравнить(Название, "Кемеровская область") = 0 Тогда
|
||||
Возврат "Кемеровская область - Кузбасс";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СокрЛП(Название);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// НаименованияАдресныхОбъектов - Массив
|
||||
// Возвращаемое значение:
|
||||
|
||||
@@ -2031,8 +2031,8 @@
|
||||
СхемаКД = ОтчетМенеджер.ПолучитьМакет(ОтчетМетаданные.ОсновнаяСхемаКомпоновкиДанных.Имя);
|
||||
Исключение
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось прочитать схему отчета:
|
||||
|%1'"), ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
НСтр("ru = 'Не удалось прочитать схему отчета %1:
|
||||
|%2'"), ОтчетМетаданные.Имя, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписатьВЖурнал(УровеньЖурналаРегистрации.Предупреждение, ТекстОшибки, ОтчетМетаданные);
|
||||
КонецПопытки;
|
||||
// Чтение настроек вариантов отчета из схемы.
|
||||
@@ -2041,8 +2041,8 @@
|
||||
ВариантыНастроек = СхемаКД.ВариантыНастроек;
|
||||
Исключение
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось прочитать список вариантов отчета:
|
||||
|%1'"), ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
НСтр("ru = 'Не удалось прочитать список вариантов отчета %1:
|
||||
|%2'"), ОтчетМетаданные.Имя, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписатьВЖурнал(УровеньЖурналаРегистрации.Предупреждение, ТекстОшибки, ОтчетМетаданные);
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
@@ -2052,8 +2052,8 @@
|
||||
ВариантыНастроек = ОтчетМенеджер.ВариантыНастроек();
|
||||
Исключение
|
||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось прочитать список вариантов отчета из модуля менеджера:
|
||||
|%1'"), ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
НСтр("ru = 'Не удалось прочитать список вариантов отчета %1 из модуля менеджера:
|
||||
|%2'"), ОтчетМетаданные.Имя, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
ЗаписатьВЖурнал(УровеньЖурналаРегистрации.Ошибка, ТекстОшибки, ОтчетМетаданные);
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
@@ -2579,7 +2579,7 @@
|
||||
Команда.ПараметрыФормы = Новый Структура;
|
||||
КонецЕсли;
|
||||
Команда.ПараметрыФормы.Вставить("КлючВарианта", КомандаОтчетов.КлючВарианта);
|
||||
Если ПустаяСтрока(Команда.Обработчик) Тогда
|
||||
Если ПустаяСтрока(Команда.Обработчик) И Не Команда.ПараметрыФормы.Свойство("СформироватьПриОткрытии") Тогда
|
||||
Команда.ПараметрыФормы.Вставить("СформироватьПриОткрытии", Истина);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -65,10 +65,6 @@
|
||||
МодульДополнительныеОтчетыИОбработкиВМоделиСервиса.ПриДобавленииОбработчиковОбновления(Обработчики);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ИнтерфейсOData") Тогда
|
||||
Обработки["НастройкаСтандартногоИнтерфейсаOData"].ЗарегистрироватьОбработчикиОбновления(Обработчики);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -182,6 +178,11 @@
|
||||
МодульОбменДаннымиВМоделиСервиса.ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки(Типы);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УдалениеПомеченныхОбъектов") Тогда
|
||||
МодульУдалениеПомеченныхОбъектовСлужебный = ОбщегоНазначения.ОбщийМодуль("УдалениеПомеченныхОбъектовСлужебный");
|
||||
МодульУдалениеПомеченныхОбъектовСлужебный.ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки(Типы);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ВыгрузкаЗагрузкаДанныхПереопределяемый.ПриРегистрацииОбработчиковВыгрузкиДанных.
|
||||
@@ -2322,6 +2323,11 @@
|
||||
МодульУправлениеДоступомСлужебный.ПриОпределенииОбъектовИсключаемыхИзПроверки(Объекты);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
|
||||
МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСервер");
|
||||
МодульОбменДаннымиСервер.ПриОпределенииОбъектовИсключаемыхИзПроверки(Объекты);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -4514,6 +4514,11 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ИнтеграцияПодсистемБСП.ПриОпределенииОбъектовИсключаемыхИзПроверки.
|
||||
Процедура ПриОпределенииОбъектовИсключаемыхИзПроверки(Объекты) Экспорт
|
||||
Объекты.Добавить(Метаданные.РегистрыСведений.СоответствияОбъектовИнформационныхБаз);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ФункцииСвойства
|
||||
|
||||
@@ -3539,38 +3539,7 @@
|
||||
// ИмяОбработчика - Строка - полное имя процедуры отложенного обработчика.
|
||||
//
|
||||
Процедура УдалитьОтложенныйОбработчикИзОчереди(ИмяОбработчика) Экспорт
|
||||
|
||||
СведенияОбОбновлении = ОбновлениеИнформационнойБазыСлужебный.СведенияОбОбновленииИнформационнойБазы();
|
||||
|
||||
ОтобранныйОбработчик = СведенияОбОбновлении.ДеревоОбработчиков.Строки.НайтиСтроки(Новый Структура("ИмяОбработчика", ИмяОбработчика), Истина);
|
||||
Если ОтобранныйОбработчик <> Неопределено И ОтобранныйОбработчик.Количество() > 0 Тогда
|
||||
|
||||
Для Каждого СтрокаОбработчик Из ОтобранныйОбработчик Цикл
|
||||
СтрокаОбработчик.Родитель.Строки.Удалить(СтрокаОбработчик);
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ШагОбновления Из СведенияОбОбновлении.ПланОтложенногоОбновления Цикл
|
||||
ОбработчикиШага = ШагОбновления.Обработчики;
|
||||
Индекс = 0;
|
||||
ОбработчикНайден = Ложь;
|
||||
Для Каждого ОписаниеОбработчика Из ОбработчикиШага Цикл
|
||||
Если ОписаниеОбработчика.ИмяОбработчика = ИмяОбработчика Тогда
|
||||
ОбработчикНайден = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
Индекс = Индекс + 1;
|
||||
КонецЦикла;
|
||||
|
||||
Если ОбработчикНайден Тогда
|
||||
ОбработчикиШага.Удалить(Индекс);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
ОбновлениеИнформационнойБазыСлужебный.ЗаписатьСведенияОбОбновленииИнформационнойБазы(СведенияОбОбновлении);
|
||||
|
||||
Возврат;
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.1.3.303";
|
||||
Описание.Версия = "3.1.3.323";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -317,6 +317,10 @@
|
||||
// * Установленные - Массив - имена (Строка) установленных исправлений.
|
||||
// * НеУстановлено - Число - количество неустановленных исправлений.
|
||||
// * НеУдалено - Число - количество неудаленных исправлений.
|
||||
// * Ошибки - Массив из Структура:
|
||||
// * НомерПатча - Строка - полное имя патча.
|
||||
// * Событие - Строка - событие, при котором возникла ошибка. Установка или Удаление.
|
||||
// * Причина - Строка - подробное описание ошибки.
|
||||
//
|
||||
Функция УстановкаИУдалениеИсправлений(Исправления, ВФоне = Ложь) Экспорт
|
||||
|
||||
@@ -326,6 +330,7 @@
|
||||
РезультатВыполнения.Вставить("НеУстановлено", 0);
|
||||
РезультатВыполнения.Вставить("НеУдалено", 0);
|
||||
РезультатВыполнения.Вставить("Установленные", Новый Массив);
|
||||
РезультатВыполнения.Вставить("Ошибки", Новый Массив);
|
||||
Если Исправления.Свойство("Установить", Устанавливаемые)
|
||||
И Устанавливаемые <> Неопределено
|
||||
И Устанавливаемые.Количество() > 0 Тогда
|
||||
@@ -408,6 +413,12 @@
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Исправления.Установка'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеОшибки = Новый Структура;
|
||||
ОписаниеОшибки.Вставить("НомерПатча", ИмяИсправления);
|
||||
ОписаниеОшибки.Вставить("Событие", "Установка");
|
||||
ОписаниеОшибки.Вставить("Причина", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
РезультатВыполнения.Ошибки.Добавить(ОписаниеОшибки);
|
||||
КонецПопытки;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
@@ -424,6 +435,7 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Попытка
|
||||
ИмяИсправления = Расширение.Имя;
|
||||
СвойстваИсправления = СвойстваИсправления(Расширение.Имя);
|
||||
Если СвойстваИсправления = "ОшибкаЧтения" Или СвойстваИсправления = Неопределено Тогда
|
||||
Продолжить;
|
||||
@@ -446,6 +458,12 @@
|
||||
|%2'"), Расширение.Имя, КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Исправления.Удаление'", ОбщегоНазначения.КодОсновногоЯзыка())
|
||||
, УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
|
||||
|
||||
ОписаниеОшибки = Новый Структура;
|
||||
ОписаниеОшибки.Вставить("НомерПатча", ИмяИсправления);
|
||||
ОписаниеОшибки.Вставить("Событие", "Удаление");
|
||||
ОписаниеОшибки.Вставить("Причина", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
|
||||
РезультатВыполнения.Ошибки.Добавить(ОписаниеОшибки);
|
||||
КонецПопытки;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -518,6 +518,8 @@
|
||||
ПользовательСВ.АдресЭлектроннойПочты = ОписаниеПользователя.АдресЭлектроннойПочты;
|
||||
ПользовательСВ.НомерТелефона = ОписаниеПользователя.Телефон;
|
||||
ПользовательСВ.Заблокирован = ОписаниеПользователя.Недействителен ИЛИ ОписаниеПользователя.ПометкаУдаления;
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
ПользовательСВ.Записать();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -3232,6 +3232,9 @@
|
||||
И ОбъектМетаданных.Родитель().Перерасчеты.Найти(ОбъектМетаданных.Имя) = ОбъектМетаданных Тогда
|
||||
Возврат "Перерасчеты";
|
||||
|
||||
ИначеЕсли Метаданные.Обработки.Содержит(ОбъектМетаданных) Тогда
|
||||
Возврат "Обработки";
|
||||
|
||||
Иначе
|
||||
|
||||
Возврат "";
|
||||
|
||||
@@ -401,7 +401,7 @@
|
||||
СерииДиаграммы = РодительЭлементаНастроек.Серии; // КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных
|
||||
Индекс = СерииДиаграммы.Индекс(ЭлементНастроек);
|
||||
Если Индекс = -1 Тогда
|
||||
ТочкиДиаграммы = РодительЭлементаНастроек.Серии; // КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных
|
||||
ТочкиДиаграммы = РодительЭлементаНастроек.Точки; // КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных
|
||||
Индекс = ТочкиДиаграммы.Индекс(ЭлементНастроек);
|
||||
ИмяКоллекции = "Точки";
|
||||
Иначе
|
||||
|
||||
@@ -2096,6 +2096,7 @@
|
||||
|
||||
Массив.Добавить(Метаданные.РегистрыСведений.ФайлыВРабочемКаталоге.ПолноеИмя());
|
||||
Массив.Добавить(Метаданные.РегистрыСведений.СведенияОФайлах.ПолноеИмя());
|
||||
Массив.Добавить("Справочник.Файлы.Реквизиты.ТекущаяВерсия");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -344,20 +344,23 @@
|
||||
Функция ВыполнитьРассылку(Отчеты, ПараметрыДоставки, НаименованиеРассылки = "", ПараметрыЖурнала = Неопределено) Экспорт
|
||||
РассылкаВыполнена = Ложь;
|
||||
|
||||
УточненныеПараметрыДоставки = СтандартныеПараметрыДоставки();
|
||||
ЗаполнитьЗначенияСвойств(УточненныеПараметрыДоставки, ПараметрыДоставки);
|
||||
|
||||
// Добавление дерева сформированных отчетов - табличных документов и отчетов, сохраненных в форматы (файлов).
|
||||
ДеревоОтчетов = СоздатьДеревоОтчетов();
|
||||
|
||||
// Заполнение параметрами по умолчанию и проверка на заполненность ключевых параметров доставки.
|
||||
Если Не ПроверитьИДозаполнитьПараметрыВыполнения(Отчеты, ПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала) Тогда
|
||||
Если Не ПроверитьИДозаполнитьПараметрыВыполнения(Отчеты, УточненныеПараметрыДоставки, НаименованиеРассылки, ПараметрыЖурнала) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
// Строка дерева общих (не персонализированных по получателям) отчетов.
|
||||
ПараметрыДоставки.СтрокаОбщихОтчетов = ОпределитьСтрокуДереваДляПолучателя(ДеревоОтчетов, Неопределено, ПараметрыДоставки);
|
||||
УточненныеПараметрыДоставки.СтрокаОбщихОтчетов = ОпределитьСтрокуДереваДляПолучателя(ДеревоОтчетов, Неопределено, УточненныеПараметрыДоставки);
|
||||
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Инициализирована рассылка ''%1'', автор: ''%2'''"),
|
||||
НаименованиеРассылки, ПараметрыДоставки.Автор);
|
||||
НаименованиеРассылки, УточненныеПараметрыДоставки.Автор);
|
||||
|
||||
ЗаписьЖурнала(ПараметрыЖурнала,, ТекстСообщения);
|
||||
|
||||
@@ -378,11 +381,11 @@
|
||||
// Инициализация отчета.
|
||||
ПараметрыОтчета = Новый Структура("Отчет, Настройки, Форматы, ОтправлятьЕслиПустой");
|
||||
ЗаполнитьЗначенияСвойств(ПараметрыОтчета, СтрокаОтчет);
|
||||
Если Не ИнициализироватьОтчет(ПараметрыЖурнала, ПараметрыОтчета, ПараметрыДоставки.Персонализирована) Тогда
|
||||
Если Не ИнициализироватьОтчет(ПараметрыЖурнала, ПараметрыОтчета, УточненныеПараметрыДоставки.Персонализирована) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыДоставки.Персонализирована И НЕ ПараметрыОтчета.Персонализирован Тогда
|
||||
Если УточненныеПараметрыДоставки.Персонализирована И НЕ ПараметрыОтчета.Персонализирован Тогда
|
||||
ПараметрыОтчета.Ошибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Отчет ''%1'' не может сформирован, так как в его настройках не указан отбор по получателю рассылки.'"),
|
||||
ПредставлениеОтчета);
|
||||
@@ -395,12 +398,12 @@
|
||||
Попытка
|
||||
Если ПараметрыОтчета.Персонализирован Тогда
|
||||
// В разрезе получателей
|
||||
Для Каждого КлючИЗначение Из ПараметрыДоставки.Получатели Цикл
|
||||
Для Каждого КлючИЗначение Из УточненныеПараметрыДоставки.Получатели Цикл
|
||||
СформироватьИСохранитьОтчет(
|
||||
ПараметрыЖурнала,
|
||||
ПараметрыОтчета,
|
||||
ДеревоОтчетов,
|
||||
ПараметрыДоставки,
|
||||
УточненныеПараметрыДоставки,
|
||||
КлючИЗначение.Ключ);
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
@@ -409,7 +412,7 @@
|
||||
ПараметрыЖурнала,
|
||||
ПараметрыОтчета,
|
||||
ДеревоОтчетов,
|
||||
ПараметрыДоставки,
|
||||
УточненныеПараметрыДоставки,
|
||||
Неопределено);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -433,16 +436,16 @@
|
||||
УровеньЖурналаРегистрации.Предупреждение,
|
||||
НСтр("ru = 'Рассылка отчетов не выполнена, так как отчеты пустые или не сформированы из-за ошибок.'"));
|
||||
|
||||
ФайловаяСистема.УдалитьВременныйКаталог(ПараметрыДоставки.КаталогВременныхФайлов);
|
||||
ФайловаяСистема.УдалитьВременныйКаталог(УточненныеПараметрыДоставки.КаталогВременныхФайлов);
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
// Общие отчеты.
|
||||
ОбщиеВложения = ПараметрыДоставки.СтрокаОбщихОтчетов.Строки.НайтиСтроки(Новый Структура("Уровень", 3), Истина);
|
||||
ОбщиеВложения = УточненныеПараметрыДоставки.СтрокаОбщихОтчетов.Строки.НайтиСтроки(Новый Структура("Уровень", 3), Истина);
|
||||
|
||||
// Отправка личных отчетов (персонализированных).
|
||||
Для Каждого СтрокаПолучатель Из ДеревоОтчетов.Строки Цикл
|
||||
Если СтрокаПолучатель = ПараметрыДоставки.СтрокаОбщихОтчетов Тогда
|
||||
Если СтрокаПолучатель = УточненныеПараметрыДоставки.СтрокаОбщихОтчетов Тогда
|
||||
Продолжить; // Пропустить строку дерева общих отчетов.
|
||||
КонецЕсли;
|
||||
|
||||
@@ -458,18 +461,18 @@
|
||||
ВложенияПолучателя = ОбъединитьМассивы(ОбщиеВложения, ЛичныеВложения);
|
||||
|
||||
// Формирование представления отчетов.
|
||||
СформироватьПредставлениеОтчетовДляПолучателя(ПараметрыДоставки, СтрокаПолучатель);
|
||||
СформироватьПредставлениеОтчетовДляПолучателя(УточненныеПараметрыДоставки, СтрокаПолучатель);
|
||||
|
||||
// Архивация вложений.
|
||||
АрхивацияВложений(ВложенияПолучателя, ПараметрыДоставки, СтрокаПолучатель.Значение);
|
||||
АрхивацияВложений(ВложенияПолучателя, УточненныеПараметрыДоставки, СтрокаПолучатель.Значение);
|
||||
|
||||
ПредставлениеПолучателя = Строка(СтрокаПолучатель.Ключ);
|
||||
|
||||
// Доставка.
|
||||
Попытка
|
||||
ОтправитьОтчетыПолучателю(ВложенияПолучателя, ПараметрыДоставки, СтрокаПолучатель);
|
||||
ОтправитьОтчетыПолучателю(ВложенияПолучателя, УточненныеПараметрыДоставки, СтрокаПолучатель);
|
||||
РассылкаВыполнена = Истина;
|
||||
ПараметрыДоставки.ВыполненаПоЭлектроннойПочте = Истина;
|
||||
УточненныеПараметрыДоставки.ВыполненаПоЭлектроннойПочте = Истина;
|
||||
Исключение
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Не удалось отправить отчеты получателю ''%1'':'"), ПредставлениеПолучателя);
|
||||
@@ -478,20 +481,20 @@
|
||||
КонецПопытки;
|
||||
|
||||
Если РассылкаВыполнена Тогда
|
||||
ПараметрыДоставки.Получатели.Удалить(СтрокаПолучатель.Ключ);
|
||||
УточненныеПараметрыДоставки.Получатели.Удалить(СтрокаПолучатель.Ключ);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
// Отправка общих отчетов.
|
||||
Если ОбщиеВложения.Количество() > 0 Тогда
|
||||
// Представление отчетов.
|
||||
СформироватьПредставлениеОтчетовДляПолучателя(ПараметрыДоставки, СтрокаПолучатель);
|
||||
СформироватьПредставлениеОтчетовДляПолучателя(УточненныеПараметрыДоставки, СтрокаПолучатель);
|
||||
|
||||
// Архивация вложений.
|
||||
АрхивацияВложений(ОбщиеВложения, ПараметрыДоставки, ПараметрыДоставки.КаталогВременныхФайлов);
|
||||
АрхивацияВложений(ОбщиеВложения, УточненныеПараметрыДоставки, УточненныеПараметрыДоставки.КаталогВременныхФайлов);
|
||||
|
||||
// Доставка.
|
||||
Если ВыполнитьДоставку(ПараметрыЖурнала, ПараметрыДоставки, ОбщиеВложения) Тогда
|
||||
Если ВыполнитьДоставку(ПараметрыЖурнала, УточненныеПараметрыДоставки, ОбщиеВложения) Тогда
|
||||
РассылкаВыполнена = Истина;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
@@ -502,15 +505,15 @@
|
||||
ЗаписьЖурнала(ПараметрыЖурнала, , НСтр("ru = 'Рассылка не выполнена'"));
|
||||
КонецЕсли;
|
||||
|
||||
ФайловаяСистема.УдалитьВременныйКаталог(ПараметрыДоставки.КаталогВременныхФайлов);
|
||||
ФайловаяСистема.УдалитьВременныйКаталог(УточненныеПараметрыДоставки.КаталогВременныхФайлов);
|
||||
|
||||
// Результат.
|
||||
Если ПараметрыЖурнала.Свойство("БылиОшибки") Тогда
|
||||
ПараметрыДоставки.БылиОшибки = ПараметрыЖурнала.БылиОшибки;
|
||||
УточненныеПараметрыДоставки.БылиОшибки = ПараметрыЖурнала.БылиОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыЖурнала.Свойство("БылиПредупреждения") Тогда
|
||||
ПараметрыДоставки.БылиПредупреждения = ПараметрыЖурнала.БылиПредупреждения;
|
||||
УточненныеПараметрыДоставки.БылиПредупреждения = ПараметрыЖурнала.БылиПредупреждения;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат РассылкаВыполнена;
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
Если ПараметрыКлиента.Свойство("РаботаСВнешнимиРесурсамиЗаблокирована")
|
||||
И ПараметрыКлиента.Свойство("РазделениеВключено")
|
||||
И Не ПараметрыКлиента.РазделениеВключено Тогда
|
||||
ЗаголовокПриложения = НСтр("ru = '[КОПИЯ]'") + " " + ЗаголовокПриложения;
|
||||
ЗаголовокПриложения = "[" + НСтр("ru = 'КОПИЯ'") + "]" + " " + ЗаголовокПриложения;
|
||||
КонецЕсли;
|
||||
|
||||
ОбщегоНазначенияКлиентПереопределяемый.ПриУстановкеЗаголовкаКлиентскогоПриложения(ЗаголовокПриложения, ПриЗапуске);
|
||||
|
||||
@@ -205,51 +205,47 @@
|
||||
// - ДокументОбъект - объект, в котором будет выполнен поиск удаляемых объектов
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из ЛюбаяСсылка - перечень удаляемых объектов, которые есть в источнике.
|
||||
// Соответствие из КлючЗначение:
|
||||
// * Ключ -ЛюбаяСсылка - перечень удаляемых объектов, которые есть в источнике.
|
||||
// * Значение - Строка - представление ссылки
|
||||
//
|
||||
Функция СсылкиНаУдаляемыеОбъекты(Источник) Экспорт
|
||||
СсылкиНаУдаляемыеОбъекты = Новый Соответствие;
|
||||
ЗначенияСсылочныхТипов = Новый Массив;
|
||||
МетаданныеИсточника = Источник.Метаданные();
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Источник, "Ссылка") Тогда
|
||||
ЗначенияСсылочныхТипов = СсылкаНаУдаляемыеОбъектыВИсточнике(Источник, МетаданныеИсточника);
|
||||
ОписанияСсылок = СсылкаНаУдаляемыеОбъектыВОбъекте(
|
||||
ОписаниеОбъекта(Источник, МетаданныеИсточника),
|
||||
МетаданныеИсточника);
|
||||
ИначеЕсли ОбщегоНазначения.ЭтоКонстанта(МетаданныеИсточника) Тогда
|
||||
ЗначениеКонстанты = Источник.Значение;
|
||||
Если ОбщегоНазначения.ЭтоСсылка(ТипЗнч(ЗначениеКонстанты)) Тогда
|
||||
ЗначенияСсылочныхТипов = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ЗначениеКонстанты);
|
||||
ОписанияСсылок = НовыйСсылкиВОбъекте();
|
||||
ОписаниеСсылки = ОписанияСсылок.Добавить();
|
||||
ОписаниеСсылки.Ссылка = ЗначениеКонстанты;
|
||||
ОписаниеСсылки.Таблица = МетаданныеИсточника.ПолноеИмя();
|
||||
ОписаниеСсылки.Поле = "Значение";
|
||||
КонецЕсли;
|
||||
ИначеЕсли ЭтоНезависимыйРегистрСведений(МетаданныеИсточника) Тогда
|
||||
ОписанияСсылок = СсылкиНаУдаляемыеОбъектыВНаборе(
|
||||
ОписаниеНабора(Источник, МетаданныеИсточника),
|
||||
МетаданныеИсточника);
|
||||
Иначе
|
||||
ЗначенияСсылочныхТипов = СсылкиНаУдаляемыеОбъектыВРегистрах(Источник, МетаданныеИсточника);
|
||||
Возврат Новый Соответствие;
|
||||
КонецЕсли;
|
||||
|
||||
ВремяСнятияБлокировки = ТекущаяДатаСеанса() - УдалениеПомеченныхОбъектовСлужебный.ВремяЖизниБлокировки();
|
||||
Запрос = Новый Запрос("ВЫБРАТЬ
|
||||
| УдаляемыеОбъекты.Объект КАК Ссылка,
|
||||
| ПРЕДСТАВЛЕНИЕ(УдаляемыеОбъекты.Объект) КАК Представление
|
||||
|ИЗ
|
||||
| РегистрСведений.УдаляемыеОбъекты КАК УдаляемыеОбъекты
|
||||
|ГДЕ
|
||||
| УдаляемыеОбъекты.Объект В(&УдаляемыеОбъекты)
|
||||
| И УдаляемыеОбъекты.ВремяБлокировки >= &ВремяСнятияБлокировки");
|
||||
|
||||
Запрос.УстановитьПараметр("УдаляемыеОбъекты", ЗначенияСсылочныхТипов);
|
||||
Запрос.УстановитьПараметр("ВремяСнятияБлокировки", ВремяСнятияБлокировки);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
|
||||
ЗначенияПометокУдаления = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(
|
||||
РезультатЗапроса.ВыгрузитьКолонку("Ссылка"),
|
||||
УдаляемыеСсылки = УдаляемыеСсылкиВКоллекции(
|
||||
ОписанияСсылок.ВыгрузитьКолонку("Ссылка"));
|
||||
УдаляемыеСсылкиПометкиУдаления = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(
|
||||
УдаляемыеСсылки,
|
||||
"ПометкаУдаления");
|
||||
|
||||
СсылкиНаУдаляемыеОбъекты = Новый Соответствие;
|
||||
Для каждого ОбъектЗначениеПометки Из ЗначенияПометокУдаления Цикл
|
||||
|
||||
Если ОбъектЗначениеПометки.Значение Тогда
|
||||
СсылкиНаУдаляемыеОбъекты.Вставить(
|
||||
ОбъектЗначениеПометки.Ключ,
|
||||
РезультатЗапроса.Найти(ОбъектЗначениеПометки.Ключ, "Ссылка").Представление);
|
||||
КонецЕсли;
|
||||
ДобавленныеСсылки = СсылкиДобавленныеПриИзмененииОбъекта(
|
||||
ОписанияСсылок,
|
||||
УдаляемыеСсылкиПометкиУдаления);
|
||||
|
||||
Для каждого ОписаниеСсылки Из ДобавленныеСсылки Цикл
|
||||
СсылкиНаУдаляемыеОбъекты.Вставить(ОписаниеСсылки.Ссылка, ОписаниеСсылки.Представление);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СсылкиНаУдаляемыеОбъекты;
|
||||
@@ -421,8 +417,8 @@
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
|
||||
Функция СсылкиНаУдаляемыеОбъектыВРеквизитах(Источник, Реквизиты, ЭтоРегистрБухгалтерии = Ложь)
|
||||
ЗначенияСсылочныхТипов = Новый Массив;
|
||||
Функция СсылкиНаУдаляемыеОбъектыВРеквизитах(ОписаниеИсточника, Реквизиты)
|
||||
ЗначенияСсылочныхТипов = НовыйСсылкиВОбъекте();
|
||||
|
||||
Для Каждого Реквизит Из Реквизиты Цикл
|
||||
|
||||
@@ -430,54 +426,52 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Значение = Источник[Реквизит.Имя];
|
||||
Значение = ОписаниеИсточника.Источник[Реквизит.Имя];
|
||||
ТипЗначения = ТипЗнч(Значение);
|
||||
Если ЗначениеЗаполнено(Значение) И ОбщегоНазначения.ЭтоСсылка(ТипЗначения) Тогда
|
||||
ЗначенияСсылочныхТипов.Добавить(Значение);
|
||||
ИначеЕсли СтрНайти(Реквизит.Имя,"Субконто") > 0 И ЭтоРегистрБухгалтерии Тогда
|
||||
СсылкиНаУдаляемыеОбъектыВСубконто(Значение, ЗначенияСсылочныхТипов);
|
||||
ОписаниеСсылки = ЗначенияСсылочныхТипов.Добавить();
|
||||
ОписаниеСсылки.Ссылка = Значение;
|
||||
ОписаниеСсылки.Таблица = ОписаниеИсточника.Таблица;
|
||||
ОписаниеСсылки.Поле = Реквизит.Имя;
|
||||
ОписаниеСсылки.УсловиеОтбора = ОписаниеИсточника.УсловиеОтбора;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ЗначенияСсылочныхТипов;
|
||||
КонецФункции
|
||||
|
||||
Процедура СсылкиНаУдаляемыеОбъектыВСубконто(Знач Значение, ЗначенияСсылочныхТипов)
|
||||
Перем ЗначениеСубконто;
|
||||
Для Каждого ЗначениеСубконто Из Значение Цикл
|
||||
|
||||
Если ЗначениеЗаполнено(ЗначениеСубконто.Значение)
|
||||
И ОбщегоНазначения.ЭтоСсылка(ТипЗнч(ЗначениеСубконто.Значение)) Тогда
|
||||
|
||||
ЗначенияСсылочныхТипов.Добавить(ЗначениеСубконто.Значение);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
КонецПроцедуры
|
||||
|
||||
Функция СсылкиНаУдаляемыеОбъектовВТабличныхЧастях(Источник, ТабличныеЧасти, ИмяКоллекцииРеквизитов = "Реквизиты")
|
||||
ЗначенияСсылочныхТипов = Новый Массив;
|
||||
Функция СсылкиНаУдаляемыеОбъектовВТабличныхЧастях(ОписаниеИсточника, ТабличныеЧасти, ИмяКоллекцииРеквизитов = "Реквизиты")
|
||||
ЗначенияСсылочныхТипов = НовыйСсылкиВОбъекте();
|
||||
|
||||
Для Каждого ТабличнаяЧасть Из ТабличныеЧасти Цикл
|
||||
Для Каждого СтрокаТЧ Из Источник[ТабличнаяЧасть.Имя] Цикл
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(
|
||||
ЗначенияСсылочныхТипов,
|
||||
СсылкиНаУдаляемыеОбъектыВРеквизитах(
|
||||
СтрокаТЧ, ТабличнаяЧасть[ИмяКоллекцииРеквизитов]));
|
||||
Для Каждого СтрокаТЧ Из ОписаниеИсточника.Источник[ТабличнаяЧасть.Имя] Цикл
|
||||
ОписаниеТабличнойЧасти = ОбщегоНазначения.СкопироватьРекурсивно(ОписаниеИсточника);
|
||||
ОписаниеТабличнойЧасти.Источник = СтрокаТЧ;
|
||||
ОписаниеТабличнойЧасти.Таблица = ОписаниеИсточника.Таблица + "." + ТабличнаяЧасть.Имя;
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектыВРеквизитах(ОписаниеТабличнойЧасти, ТабличнаяЧасть[ИмяКоллекцииРеквизитов]),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ЗначенияСсылочныхТипов;
|
||||
КонецФункции
|
||||
|
||||
Функция СсылкиНаУдаляемыеОбъектыВНабореЗаписей(НаборЗаписей, Знач Реквизиты, ЭтоРегистрБухгалтерии = Ложь)
|
||||
ЗначенияСсылочныхТипов = Новый Массив;
|
||||
Функция СсылкиНаУдаляемыеОбъектыВНабореЗаписей(ОписаниеИсточника, Знач Реквизиты, ЭтоРегистрБухгалтерии = Ложь)
|
||||
ЗначенияСсылочныхТипов = НовыйСсылкиВОбъекте();
|
||||
|
||||
Для Каждого Запись Из НаборЗаписей Цикл
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(
|
||||
ЗначенияСсылочныхТипов,
|
||||
СсылкиНаУдаляемыеОбъектыВРеквизитах(Запись, Реквизиты, ЭтоРегистрБухгалтерии));
|
||||
Для Каждого Запись Из ОписаниеИсточника.Источник Цикл
|
||||
ОписаниеЗаписи = ОбщегоНазначения.СкопироватьРекурсивно(ОписаниеИсточника);
|
||||
ОписаниеЗаписи.Источник = Запись;
|
||||
|
||||
Для каждого УсловиеОтбора Из ОписаниеИсточника.УсловиеОтбора Цикл
|
||||
ОписаниеЗаписи.УсловиеОтбора.Вставить(УсловиеОтбора.Ключ, Запись[УсловиеОтбора.Ключ]);
|
||||
КонецЦикла;
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектыВРеквизитах(ОписаниеЗаписи, Реквизиты),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ЗначенияСсылочныхТипов;
|
||||
@@ -507,41 +501,44 @@
|
||||
|
||||
#Область СсылкиНаУдаляемыеОбъекты
|
||||
|
||||
Функция СсылкаНаУдаляемыеОбъектыВИсточнике(Источник, МетаданныеИсточника)
|
||||
ЗначенияСсылочныхТипов = Новый Массив;
|
||||
Функция СсылкаНаУдаляемыеОбъектыВОбъекте(Источник, МетаданныеИсточника)
|
||||
ЗначенияСсылочныхТипов = НовыйСсылкиВОбъекте();
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МетаданныеИсточника, "СтандартныеРеквизиты") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ЗначенияСсылочныхТипов, СсылкиНаУдаляемыеОбъектыВРеквизитах(
|
||||
Источник, МетаданныеИсточника.СтандартныеРеквизиты));
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектыВРеквизитах(Источник, МетаданныеИсточника.СтандартныеРеквизиты),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МетаданныеИсточника, "РеквизитыАдресации") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ЗначенияСсылочныхТипов, СсылкиНаУдаляемыеОбъектыВРеквизитах(
|
||||
Источник, МетаданныеИсточника.РеквизитыАдресации));
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектыВРеквизитах(Источник, МетаданныеИсточника.РеквизитыАдресации),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МетаданныеИсточника, "Реквизиты") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(
|
||||
ЗначенияСсылочныхТипов,
|
||||
СсылкиНаУдаляемыеОбъектыВРеквизитах(Источник, МетаданныеИсточника.Реквизиты));
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектыВРеквизитах(Источник, МетаданныеИсточника.Реквизиты),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МетаданныеИсточника, "ТабличныеЧасти") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ЗначенияСсылочныхТипов, СсылкиНаУдаляемыеОбъектовВТабличныхЧастях(
|
||||
Источник, МетаданныеИсточника.ТабличныеЧасти));
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектовВТабличныхЧастях(Источник, МетаданныеИсточника.ТабличныеЧасти),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МетаданныеИсточника,
|
||||
"СтандартныеТабличныеЧасти") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ЗначенияСсылочныхТипов, СсылкиНаУдаляемыеОбъектовВТабличныхЧастях(
|
||||
Источник, МетаданныеИсточника.СтандартныеТабличныеЧасти, "СтандартныеРеквизиты"));
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МетаданныеИсточника,"СтандартныеТабличныеЧасти") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектовВТабличныхЧастях(Источник, МетаданныеИсточника.СтандартныеТабличныеЧасти, "СтандартныеРеквизиты"),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗначенияСсылочныхТипов;
|
||||
КонецФункции
|
||||
|
||||
Функция СсылкиНаУдаляемыеОбъектыВРегистрах(Источник, МетаданныеИсточника)
|
||||
ЗначенияСсылочныхТипов = Новый Массив;
|
||||
Функция СсылкиНаУдаляемыеОбъектыВНаборе(Источник, МетаданныеИсточника)
|
||||
ЗначенияСсылочныхТипов = НовыйСсылкиВОбъекте();
|
||||
ЭтоРегистрБухгалтерии = ОбщегоНазначения.ЭтоРегистрБухгалтерии(МетаданныеИсточника);
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МетаданныеИсточника, "Измерения") Тогда
|
||||
@@ -550,9 +547,9 @@
|
||||
Иначе
|
||||
Реквизиты = МетаданныеИсточника.Измерения;
|
||||
КонецЕсли;
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(
|
||||
ЗначенияСсылочныхТипов,
|
||||
СсылкиНаУдаляемыеОбъектыВНабореЗаписей(Источник, Реквизиты, ЭтоРегистрБухгалтерии));
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектыВНабореЗаписей(Источник, Реквизиты, ЭтоРегистрБухгалтерии),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МетаданныеИсточника, "Ресурсы") Тогда
|
||||
@@ -561,8 +558,9 @@
|
||||
Иначе
|
||||
Реквизиты = МетаданныеИсточника.Ресурсы;
|
||||
КонецЕсли;
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ЗначенияСсылочныхТипов, СсылкиНаУдаляемыеОбъектыВНабореЗаписей(
|
||||
Источник, Реквизиты, ЭтоРегистрБухгалтерии));
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектыВНабореЗаписей(Источник, Реквизиты, ЭтоРегистрБухгалтерии),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МетаданныеИсточника,"СтандартныеРеквизиты") Тогда
|
||||
@@ -571,15 +569,15 @@
|
||||
Иначе
|
||||
Реквизиты = МетаданныеИсточника.СтандартныеРеквизиты;
|
||||
КонецЕсли;
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(
|
||||
ЗначенияСсылочныхТипов,
|
||||
СсылкиНаУдаляемыеОбъектыВНабореЗаписей(Источник, Реквизиты, ЭтоРегистрБухгалтерии));
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектыВНабореЗаписей(Источник, Реквизиты, ЭтоРегистрБухгалтерии),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МетаданныеИсточника, "Реквизиты") Тогда
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(
|
||||
ЗначенияСсылочныхТипов,
|
||||
СсылкиНаУдаляемыеОбъектыВНабореЗаписей(Источник, МетаданныеИсточника.Реквизиты, ЭтоРегистрБухгалтерии));
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
|
||||
СсылкиНаУдаляемыеОбъектыВНабореЗаписей(Источник, МетаданныеИсточника.Реквизиты, ЭтоРегистрБухгалтерии),
|
||||
ЗначенияСсылочныхТипов);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗначенияСсылочныхТипов;
|
||||
@@ -619,6 +617,146 @@
|
||||
ИЛИ ОтборМетаданных.Найти(Элемент.Метаданные().ПолноеИмя()) <> Неопределено);
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоНезависимыйРегистрСведений(МетаданныеИсточника)
|
||||
Результат = Истина;
|
||||
|
||||
Если НЕ ОбщегоНазначения.ЭтоРегистрСведений(МетаданныеИсточника) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Для каждого СтандартныйРеквизит Из МетаданныеИсточника.СтандартныеРеквизиты Цикл
|
||||
Если СтандартныйРеквизит.Имя = "Регистратор" Тогда
|
||||
Результат = Ложь;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
Функция НовыйСсылкиВОбъекте()
|
||||
Таблица = Новый ТаблицаЗначений;
|
||||
Таблица.Колонки.Добавить("Ссылка");
|
||||
Таблица.Колонки.Добавить("Таблица", Новый ОписаниеТипов("Строка"));
|
||||
Таблица.Колонки.Добавить("Поле", Новый ОписаниеТипов("Строка"));
|
||||
Таблица.Колонки.Добавить("УсловиеОтбора", Новый ОписаниеТипов("Соответствие"));
|
||||
|
||||
Возврат Таблица;
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеОбъекта(Источник, МетаданныеИсточника)
|
||||
Описание = Новый Структура;
|
||||
Описание.Вставить("Источник", Источник);
|
||||
Описание.Вставить("Таблица", МетаданныеИсточника.ПолноеИмя());
|
||||
Описание.Вставить("УсловиеОтбора", Новый Соответствие);
|
||||
Описание.УсловиеОтбора.Вставить("Ссылка", Источник.Ссылка);
|
||||
|
||||
Возврат Описание;
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеНабора(Источник, МетаданныеИсточника)
|
||||
Описание = Новый Структура;
|
||||
Описание.Вставить("Источник", Источник);
|
||||
Описание.Вставить("Таблица", МетаданныеИсточника.ПолноеИмя());
|
||||
Описание.Вставить("УсловиеОтбора", Новый Соответствие);
|
||||
Для каждого Измерение Из МетаданныеИсточника.Измерения Цикл
|
||||
Описание.УсловиеОтбора.Вставить(Измерение.Имя);
|
||||
КонецЦикла;
|
||||
|
||||
Для каждого Реквизит Из МетаданныеИсточника.СтандартныеРеквизиты Цикл
|
||||
Если СтрСравнить(Реквизит.Имя, "Период") Тогда
|
||||
Описание.УсловиеОтбора.Вставить(Реквизит.Имя);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Описание;
|
||||
КонецФункции
|
||||
|
||||
Функция СсылкиДобавленныеПриИзмененииОбъекта(ОписаниеСсылок, СсылкиПометкиУдаления)
|
||||
|
||||
Результат = Новый ТаблицаЗначений;
|
||||
Результат.Колонки.Добавить("Ссылка");
|
||||
Результат.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
|
||||
|
||||
РазделительЗапросовПакета = Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС;
|
||||
|
||||
ШаблонЗапроса = "
|
||||
|ВЫБРАТЬ
|
||||
| &ЗначениеСсылки КАК Ссылка,
|
||||
| ПРЕДСТАВЛЕНИЕ(&ЗначениеСсылки) КАК Представление
|
||||
|ГДЕ
|
||||
| НЕ ИСТИНА В (
|
||||
| ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| ИСТИНА
|
||||
| ИЗ
|
||||
| #ИмяТаблицы КАК Таблица
|
||||
| ГДЕ
|
||||
| &УсловияОтбораСсылки)";
|
||||
|
||||
СчПараметрыСсылок = 0;
|
||||
СчПараметрыОтбора = 0;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Для каждого ОбъектЗначениеПометки Из СсылкиПометкиУдаления Цикл
|
||||
|
||||
Если НЕ ОбъектЗначениеПометки.Значение Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеСсылки = ОбъектЗначениеПометки.Ключ;
|
||||
|
||||
ОписанияСсылки = ОписаниеСсылок.НайтиСтроки(Новый Структура("Ссылка", ЗначениеСсылки));
|
||||
Для каждого УдаляемаяСсылка Из ОписанияСсылки Цикл
|
||||
ПараметрСсылки = "ЗначениеСсылки" + XMLСтрока(СчПараметрыСсылок);
|
||||
ТекстЗапроса = СтрЗаменить(ШаблонЗапроса, "&ЗначениеСсылки", "&" + ПараметрСсылки);
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ИмяТаблицы", УдаляемаяСсылка.Таблица);
|
||||
Запрос.Параметры.Вставить(ПараметрСсылки, ЗначениеСсылки);
|
||||
|
||||
ТекстУсловия= Новый Массив;
|
||||
Для каждого Условие Из УдаляемаяСсылка.УсловиеОтбора Цикл
|
||||
ТекстУсловия.Добавить("Таблица." + Условие.Ключ + " = &Параметр" + СчПараметрыОтбора);
|
||||
Запрос.Параметры.Вставить("Параметр" + XMLСтрока(СчПараметрыОтбора), Условие.Значение);
|
||||
СчПараметрыОтбора= СчПараметрыОтбора + 1;
|
||||
КонецЦикла;
|
||||
ТекстУсловия.Добавить("Таблица." + УдаляемаяСсылка.Поле + " = &" + ПараметрСсылки);
|
||||
ТекстОтбора = СтрСоединить(ТекстУсловия, Символы.ПС + "И" + Символы.НПП);
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловияОтбораСсылки", ТекстОтбора);
|
||||
|
||||
Запрос.Текст = Запрос.Текст
|
||||
+ ?(НЕ ПустаяСтрока(Запрос.Текст), РазделительЗапросовПакета, "")
|
||||
+ ТекстЗапроса;
|
||||
СчПараметрыСсылок = СчПараметрыСсылок + 1;
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если НЕ ПустаяСтрока(Запрос.Текст) Тогда
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
Результат = РезультатЗапроса.Выгрузить();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
Функция УдаляемыеСсылкиВКоллекции(ЗначенияСсылочныхТипов)
|
||||
|
||||
ВремяСнятияБлокировки = ТекущаяДатаСеанса() - УдалениеПомеченныхОбъектовСлужебный.ВремяЖизниБлокировки();
|
||||
Запрос = Новый Запрос("ВЫБРАТЬ
|
||||
| УдаляемыеОбъекты.Объект КАК Ссылка
|
||||
|ИЗ
|
||||
| РегистрСведений.УдаляемыеОбъекты КАК УдаляемыеОбъекты
|
||||
|ГДЕ
|
||||
| УдаляемыеОбъекты.Объект В(&УдаляемыеОбъекты)
|
||||
| И УдаляемыеОбъекты.ВремяБлокировки >= &ВремяСнятияБлокировки");
|
||||
|
||||
Запрос.УстановитьПараметр("УдаляемыеОбъекты", ЗначенияСсылочныхТипов);
|
||||
Запрос.УстановитьПараметр("ВремяСнятияБлокировки", ВремяСнятияБлокировки);
|
||||
|
||||
Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ССылка");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@@ -222,6 +222,14 @@
|
||||
Возврат ДанныеКонстанты.Значение;
|
||||
КонецФункции
|
||||
|
||||
// См. ВыгрузкаЗагрузкаДанныхПереопределяемый.ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки.
|
||||
Процедура ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки(Типы) Экспорт
|
||||
|
||||
Типы.Добавить(Метаданные.РегистрыСведений.УдаляемыеОбъекты);
|
||||
Типы.Добавить(Метаданные.Константы.ПроверятьИспользованиеУдаляемыхОбъектов);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиПодписок
|
||||
@@ -242,6 +250,10 @@
|
||||
ЗапретитьИспользованиеУдаляемыхОбъектов(Источник, Отказ);
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗапретитьИспользованиеУдаляемыхОбъектовВДокументахПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
|
||||
ЗапретитьИспользованиеУдаляемыхОбъектов(Источник, Отказ);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
Функция ДопустимыеРежимыУдаления() Экспорт
|
||||
@@ -305,6 +317,8 @@
|
||||
Процедура ПроверкаАктивностиСеансаУдаленияОбъектов() Экспорт
|
||||
ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ОтключениеПроверкиИспользованияУдаляемыхОбъектов);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
Если НЕ ПроверятьИспользованиеУдаляемыхОбъектов() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -315,21 +329,22 @@
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| УдаляемыеОбъекты.ИдентификаторСеанса КАК ИдентификаторСеанса
|
||||
| УдаляемыеОбъекты.ИдентификаторСеанса КАК ИдентификаторСеанса,
|
||||
| УдаляемыеОбъекты.ВремяБлокировки КАК ВремяБлокировки
|
||||
|ИЗ
|
||||
| РегистрСведений.УдаляемыеОбъекты КАК УдаляемыеОбъекты
|
||||
|ГДЕ
|
||||
| УдаляемыеОбъекты.ВремяБлокировки <= &ВремяСнятияБлокировки";
|
||||
| РегистрСведений.УдаляемыеОбъекты КАК УдаляемыеОбъекты";
|
||||
|
||||
Запрос.УстановитьПараметр("ВремяСнятияБлокировки", ВремяСнятияБлокировки);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
||||
|
||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
||||
Попытка
|
||||
Если ВыборкаДетальныеЗаписи.ВремяБлокировки <= ВремяСнятияБлокировки
|
||||
ИЛИ ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ВыборкаДетальныеЗаписи.ИдентификаторСеанса) = Неопределено Тогда
|
||||
СнятьБлокировкуИспользованияУдаляемыхОбъектов(ВыборкаДетальныеЗаписи.ИдентификаторСеанса);
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
ЗаписьЖурналаРегистрации(
|
||||
НСтр("ru = 'Удаление помеченных'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
@@ -700,6 +715,9 @@
|
||||
Фильтр = Новый Структура(
|
||||
"Метаданные",
|
||||
Метаданные.РегламентныеЗадания.ОтключениеПроверкиИспользованияУдаляемыхОбъектов);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
ЗаданиеПроверки = РегламентныеЗаданияСервер.НайтиЗадания(Фильтр);
|
||||
|
||||
Для Каждого Задание Из ЗаданиеПроверки Цикл
|
||||
@@ -720,6 +738,7 @@
|
||||
// Не используется для неразделенного сеанса в модели сервиса.
|
||||
//
|
||||
Процедура УстановитьБлокировкуИспользованияУдаляемыхОбъектов(Пакет, Идентификатор) Экспорт
|
||||
|
||||
ЭтоМодельСервиса = ОбщегоНазначения.РазделениеВключено();
|
||||
ВОбластиДанных = ?(ЭтоМодельСервиса, ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных(), Ложь);
|
||||
Если ЭтоМодельСервиса И НЕ ВОбластиДанных Тогда
|
||||
@@ -745,6 +764,9 @@
|
||||
Фильтр = Новый Структура(
|
||||
"Метаданные",
|
||||
Метаданные.РегламентныеЗадания.ОтключениеПроверкиИспользованияУдаляемыхОбъектов);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
ЗаданиеПроверки = РегламентныеЗаданияСервер.НайтиЗадания(Фильтр);
|
||||
|
||||
Для Каждого Задание Из ЗаданиеПроверки Цикл
|
||||
@@ -957,6 +979,13 @@
|
||||
|
||||
Процедура ЗапретитьИспользованиеУдаляемыхОбъектов(Источник, Отказ)
|
||||
|
||||
// ОбменДанными.Загрузка = Истина не устанавливается, т.к. необходимо выполнение
|
||||
// при загрузке из внешних источников
|
||||
|
||||
Если МонопольныйРежим() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Источник.ДополнительныеСвойства.Свойство("НеВыполнятьКонтрольУдаляемых")
|
||||
ИЛИ ПараметрыСеанса.ВыполняетсяУдалениеОбъектов Тогда
|
||||
Возврат;
|
||||
@@ -997,16 +1026,38 @@
|
||||
НСтр("ru='Не удалось выполнить контроль удаляемых объектов:'") + ПодробноеПредставлениеОшибки(Ошибка));
|
||||
КонецПопытки;
|
||||
|
||||
Если СсылкиНаУдаляемыеОбъекты.Количество() > 0 Тогда
|
||||
ШаблонСообщения = НСтр("ru = 'Выполняется удаление ""%1"".
|
||||
|Замените ""%1"" на непомеченные на удаление аналоги.'");
|
||||
ТекстСообщения = "";
|
||||
Если СсылкиНаУдаляемыеОбъекты.Количество() = 1 Тогда
|
||||
ПредставлениеСсылки = "";
|
||||
Для Каждого УдаляемаяСсылка Из СсылкиНаУдаляемыеОбъекты Цикл
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, УдаляемаяСсылка.Значение),
|
||||
УдаляемаяСсылка.Ключ, , , Отказ);
|
||||
ПредставлениеСсылки = ОбщегоНазначения.ПредметСтрокой(УдаляемаяСсылка.Ключ);
|
||||
КонецЦикла;
|
||||
|
||||
ТекстСообщения = НСтр("ru = 'Выбранный элемент %1 в данный момент удаляется, т.к. был помечен на удаление.
|
||||
|Необходимо выбрать другое значение.'");
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ТекстСообщения,
|
||||
ПредставлениеСсылки);
|
||||
|
||||
ИначеЕсли СсылкиНаУдаляемыеОбъекты.Количество() > 1 Тогда
|
||||
|
||||
ПредставлениеСсылок = Новый Массив;
|
||||
Для Каждого УдаляемаяСсылка Из СсылкиНаУдаляемыеОбъекты Цикл
|
||||
ПредставлениеСсылок.Добавить(ОбщегоНазначения.ПредметСтрокой(УдаляемаяСсылка.Ключ));
|
||||
КонецЦикла;
|
||||
|
||||
ТекстСообщения = НСтр("ru = 'Выбранные элементы в данный момент удаляются, т.к. были помечены на удаление.
|
||||
|Необходимо выбрать другие значения.
|
||||
|%1'");
|
||||
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ТекстСообщения,
|
||||
СтрСоединить(ПредставлениеСсылок, "-" + Символы.ПС));
|
||||
КонецЕсли;
|
||||
|
||||
Если СсылкиНаУдаляемыеОбъекты.Количество() > 0 Тогда
|
||||
ВызватьИсключение ТекстСообщения;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -1262,10 +1313,17 @@
|
||||
СтрокаПрепятствующегоУдалению.СсылочногоТипа = ОбнаруженныйИнформация.Ссылочный;
|
||||
|
||||
СтрокаПрепятствующегоУдалению.ПредставлениеУдаляемый = Строка(Причина.УдаляемыйСсылка);
|
||||
Если ОбщегоНазначения.ЭтоРегистр(Причина.Метаданные) Тогда
|
||||
СтрокаПрепятствующегоУдалению.Представление = Причина.Метаданные.Синоним + " (" + НСтр(
|
||||
"ru = 'Регистр'") + ")";
|
||||
Иначе
|
||||
СтрокаПрепятствующегоУдалению.Представление = Строка(Причина.МестоИспользования) + " ("
|
||||
+ ОбнаруженныйИнформация.ПредставлениеЭлемента + ")";
|
||||
КонецЕсли;
|
||||
|
||||
Вид = ОбнаруженныйИнформация.Вид;
|
||||
КонецЕсли;
|
||||
НомерКартинки = СтрокаПрепятствующегоУдалению.НомерКартинки;
|
||||
СтрокаПрепятствующегоУдалению.НомерКартинки = ?(НомерКартинки <> 0, НомерКартинки, НомерКартинки(
|
||||
СтрокаПрепятствующегоУдалению.ОбнаруженныйСсылка, СтрокаПрепятствующегоУдалению.СсылочногоТипа,
|
||||
Вид, ОбнаруженныйСтатус));
|
||||
|
||||
@@ -21171,8 +21171,6 @@
|
||||
|
||||
Если Параметры = Неопределено Тогда
|
||||
ЗаполнитьПараметрыОграничения(ПолноеИмя, ИдентификаторТранзакции, Ложь);
|
||||
|
||||
ДействующиеПараметрыОграниченияДоступа(ИдентификаторТранзакции, Неопределено, Ложь);
|
||||
Параметры = КэшПараметровОграничения().ОграниченияСписков.Получить(ПолноеИмя);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -2558,6 +2558,10 @@
|
||||
|
||||
ОбновитьСтатусРегламентногоЗадания = (Объект.ИсправлятьУстаревшиеАдреса <> Параметры.ИсправлятьУстаревшиеАдреса);
|
||||
|
||||
Если Параметры.РедактированиеТолькоВДиалоге Тогда
|
||||
Параметры.ВидРедактирования = "Диалог";
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьЗначенияСвойств(Объект, Параметры, "Тип, МожноИзменятьСпособРедактирования,
|
||||
|ВидРедактирования, ОбязательноеЗаполнение, РазрешитьВводНесколькихЗначений,
|
||||
|ЗапретитьРедактированиеПользователем, Используется, ХранитьИсториюИзменений ,МеждународныйФорматАдреса, ИсправлятьУстаревшиеАдреса");
|
||||
@@ -4896,7 +4900,7 @@
|
||||
Если ПустоеПредставление Тогда
|
||||
|
||||
ФорматКонтактнойИнформации = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СтрокаКонтактнойИнформации.Вид,
|
||||
"Тип, ВключатьСтрануВПредставление, ПроверятьПоФИАС");
|
||||
"Тип, ВключатьСтрануВПредставление");
|
||||
|
||||
Если Метаданные.ОбщиеМодули.Найти("РаботаСАдресами") <> Неопределено Тогда
|
||||
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
|
||||
|
||||
@@ -1292,7 +1292,7 @@
|
||||
Пока ВыборкаСвойств.Следующий() Цикл
|
||||
|
||||
Объект = ВыборкаСвойств.Ссылка.ПолучитьОбъект();
|
||||
Объект.Наименование = Объект.Заголовок + " (" + Строка(ВыборкаСвойств.НаименованиеНабора) + ")";
|
||||
Объект.Наименование = Объект.Заголовок;
|
||||
Объект.ПометкаУдаления = ВыборкаСвойств.ПометкаУдаленияНабора;
|
||||
ОбновлениеИнформационнойБазы.ЗаписатьДанные(Объект);
|
||||
КонецЦикла;
|
||||
|
||||
@@ -948,8 +948,10 @@
|
||||
КонецЕсли;
|
||||
|
||||
НоваяСтрокаТаблицыИдентификаторов = ТаблицаИдентификаторов.Добавить();
|
||||
НоваяСтрокаТаблицыИдентификаторов.ИдентификаторНаСервере = ?(ЗаголовокПисьма.Идентификатор.Количество() = 0, "", ЗаголовокПисьма.Идентификатор[0]);
|
||||
НоваяСтрокаТаблицыИдентификаторов.ИдентификаторПисьма = ЗаголовокПисьма.ИдентификаторСообщения;
|
||||
НоваяСтрокаТаблицыИдентификаторов.ИдентификаторНаСервере = ?(ЗаголовокПисьма.Идентификатор.Количество() = 0,
|
||||
"",
|
||||
ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(ЗаголовокПисьма.Идентификатор[0], ""));
|
||||
НоваяСтрокаТаблицыИдентификаторов.ИдентификаторПисьма = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(ЗаголовокПисьма.ИдентификаторСообщения, "");
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -1003,7 +1005,7 @@
|
||||
|
||||
Для Каждого ЗаголовокПисьма Из МассивЗаголовковСПустымИдентификатором Цикл
|
||||
НоваяСтрока = ТаблицаПустыхИдентификаторов.Добавить();
|
||||
НоваяСтрока.ИдентификаторНаСервере = ЗаголовокПисьма.Идентификатор[0];
|
||||
НоваяСтрока.ИдентификаторНаСервере = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(ЗаголовокПисьма.Идентификатор[0], "");
|
||||
НоваяСтрока.ХешСумма = ХешСуммаПочтовогоСообщения(ЗаголовокПисьма);
|
||||
КонецЦикла;
|
||||
|
||||
@@ -1413,7 +1415,7 @@
|
||||
ТаблицаИдентификаторов.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка",,, Новый КвалификаторыСтроки(100)));
|
||||
Для Каждого Идентификатор Из Идентификаторы Цикл
|
||||
НоваяСтрока = ТаблицаИдентификаторов.Добавить();
|
||||
НоваяСтрока.Идентификатор = Идентификатор;
|
||||
НоваяСтрока.Идентификатор = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(Идентификатор, "");
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ТаблицаИдентификаторов;
|
||||
@@ -1658,9 +1660,9 @@
|
||||
|
||||
Письмо.Важность = ПолучитьВажностьЭлектронногоПисьма(Сообщение.Важность);
|
||||
Письмо.Дата = ?(Сообщение.ДатаОтправления = Дата(1,1,1), ТекущаяДатаСеанса(), Сообщение.ДатаОтправления);
|
||||
Письмо.ВнутреннийЗаголовок = Сообщение.Заголовок;
|
||||
Письмо.ИдентификаторНаСервере = ?(Сообщение.Идентификатор.Количество() = 0, "", Сообщение.Идентификатор[0]);
|
||||
Письмо.ИдентификаторСообщения = Сообщение.ИдентификаторСообщения;
|
||||
Письмо.ВнутреннийЗаголовок = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(Сообщение.Заголовок, "");
|
||||
Письмо.ИдентификаторНаСервере = ?(Сообщение.Идентификатор.Количество() = 0, "", ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(Сообщение.Идентификатор[0], ""));
|
||||
Письмо.ИдентификаторСообщения = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(Сообщение.ИдентификаторСообщения, "");
|
||||
Письмо.Кодировка = Сообщение.Кодировка;
|
||||
Письмо.УведомитьОДоставке = Сообщение.УведомитьОДоставке;
|
||||
Письмо.УведомитьОПрочтении = Сообщение.УведомитьОПрочтении;
|
||||
@@ -1686,10 +1688,13 @@
|
||||
Письмо.ИдентификаторыОснований = Сообщение.ПолучитьПолеЗаголовка("References", "Строка");
|
||||
Письмо.ХешСумма = ХешСуммаПочтовогоСообщения(Сообщение);
|
||||
|
||||
Для каждого Вложение Из Сообщение.Вложения Цикл
|
||||
Для Каждого Вложение Из Сообщение.Вложения Цикл
|
||||
Если ПустаяСтрока(Вложение.Идентификатор) Тогда
|
||||
Письмо.ЕстьВложения = Истина;
|
||||
Прервать;
|
||||
ИначеЕсли СтрНайти(Письмо.ТекстHTML, Вложение.Идентификатор) = 0 Тогда
|
||||
Письмо.ЕстьВложения = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c475bee0-0fa7-11eb-0195-0242ac110002">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c0b25cec-1f4b-11eb-7686-0242ac110002">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.1</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c475beea-0fa7-11eb-0195-0242ac110002"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="c475bf1c-0fa7-11eb-0195-0242ac110002"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="c475bf26-0fa7-11eb-0195-0242ac110002"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="c475bf30-0fa7-11eb-0195-0242ac110002"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="c475bf31-0fa7-11eb-0195-0242ac110002"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="c475bf3a-0fa7-11eb-0195-0242ac110002"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="9f074fc1-9ff3-48f2-bb9f-1f228cfb5eb6"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c0b25ced-1f4b-11eb-7686-0242ac110002"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="c0b25d14-1f4b-11eb-7686-0242ac110002"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="c0b25d15-1f4b-11eb-7686-0242ac110002"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="c0b25d16-1f4b-11eb-7686-0242ac110002"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="c0b25d1e-1f4b-11eb-7686-0242ac110002"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="c0b25d1f-1f4b-11eb-7686-0242ac110002"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="1aae8131-249e-4634-b7b8-22aea0dc0388"/>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||
<vendor>Фирма "1С"</vendor>
|
||||
<version>3.1.3.303</version>
|
||||
<version>3.1.3.323</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
@@ -1141,6 +1141,7 @@
|
||||
<eventSubscriptions>EventSubscription.ЗаполнитьКонтактнуюИнформацию</eventSubscriptions>
|
||||
<eventSubscriptions>EventSubscription.ЗаполнитьНаборыЗначенийДоступаТабличныхЧастей</eventSubscriptions>
|
||||
<eventSubscriptions>EventSubscription.ЗаполнитьНаборыЗначенийДоступаТабличныхЧастейДокументовВзаимодействия</eventSubscriptions>
|
||||
<eventSubscriptions>EventSubscription.ЗапретитьИспользованиеУдаляемыхОбъектовВДокументах</eventSubscriptions>
|
||||
<eventSubscriptions>EventSubscription.ЗапретитьИспользованиеУдаляемыхОбъектовВКонстантах</eventSubscriptions>
|
||||
<eventSubscriptions>EventSubscription.ЗапретитьИспользованиеУдаляемыхОбъектовВНаборахЗаписей</eventSubscriptions>
|
||||
<eventSubscriptions>EventSubscription.ЗапретитьИспользованиеУдаляемыхОбъектовВНаборахРегистровРасчета</eventSubscriptions>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,1077329c-0fa8-11eb-e387-0242ac110002,1,0212180c-0fa8-11eb-f69d-0242ac110002,"3.1.3.303","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6173,1,0,c475bee0-0fa7-11eb-0195-0242ac110002,c475bee0-0fa7-11eb-0195-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,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,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-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
|
||||
{6,1,1,033f54a2-1f4c-11eb-8c81-0242ac110002,1,f80d1fc4-1f4b-11eb-1191-0242ac110002,"3.1.3.323","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6174,1,0,c0b25cec-1f4b-11eb-7686-0242ac110002,c0b25cec-1f4b-11eb-7686-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,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,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-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
|
||||
@@ -385,57 +385,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ОбработчикиОбновления
|
||||
|
||||
// Добавляет в список Обработчики процедуры-обработчики обновления,
|
||||
// необходимые данной подсистеме.
|
||||
//
|
||||
// Параметры:
|
||||
// Обработчики - см. ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления
|
||||
//
|
||||
Процедура ЗарегистрироватьОбработчикиОбновления(Обработчики) Экспорт
|
||||
|
||||
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "*";
|
||||
Обработчик.НачальноеЗаполнение = Истина;
|
||||
Обработчик.Процедура = "Обработки.НастройкаСтандартногоИнтерфейсаOData.ПроверитьСоставРолиODataПриОбновлении";
|
||||
Обработчик.ОбщиеДанные = Истина;
|
||||
Обработчик.РежимВыполнения = "Оперативно";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Проверяет состав роли для стандартного интерфейса OData при обновлении информационной базы
|
||||
Процедура ПроверитьСоставРолиODataПриОбновлении() Экспорт
|
||||
|
||||
Если ОбщегоНазначения.РазделениеВключено() Тогда
|
||||
|
||||
Ошибки = ОшибкиСоставаРолиOData();
|
||||
Если Ошибки.Количество() > 0 Тогда
|
||||
|
||||
ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Обнаружены ошибки в составе прав роли %1:'"),
|
||||
РольДляСтандартногоИнтерфейсаOData().Имя);
|
||||
|
||||
Для Каждого Ошибка Из Ошибки Цикл
|
||||
ТекстИсключения = ТекстИсключения + Символы.ПС + Символы.ВК + Символы.Таб + Ошибка;
|
||||
КонецЦикла;
|
||||
|
||||
ВызватьИсключение ТекстИсключения;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
ВызватьИсключение НСтр("ru = 'Обработчик не должен использоваться при выключенном разделении по областям данных'");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
// АПК:581-вкл
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
+6
@@ -445,6 +445,8 @@
|
||||
Приемники = Новый Массив;
|
||||
ТаблицаПользователей = Новый ТаблицаЗначений;
|
||||
ТаблицаПользователей.Колонки.Добавить("Пользователь");
|
||||
ТаблицаПользователей.Колонки.Добавить("Подразделение");
|
||||
ТаблицаПользователей.Колонки.Добавить("ФизическоеЛицо");
|
||||
Обработки.НастройкиПользователей.ПользователиДляКопирования(ПользовательСсылка, ТаблицаПользователей,
|
||||
ТипЗнч(ПользовательСсылка) = Тип("СправочникСсылка.ВнешниеПользователи"));
|
||||
|
||||
@@ -507,6 +509,8 @@
|
||||
Приемники = Новый Массив;
|
||||
ТаблицаПользователей = Новый ТаблицаЗначений;
|
||||
ТаблицаПользователей.Колонки.Добавить("Пользователь");
|
||||
ТаблицаПользователей.Колонки.Добавить("Подразделение");
|
||||
ТаблицаПользователей.Колонки.Добавить("ФизическоеЛицо");
|
||||
ТаблицаПользователей = Обработки.НастройкиПользователей.ПользователиДляКопирования(ПользовательСсылка, ТаблицаПользователей,
|
||||
ТипЗнч(ПользовательСсылка) = Тип("СправочникСсылка.ВнешниеПользователи"));
|
||||
|
||||
@@ -544,6 +548,8 @@
|
||||
МассивПользователей = Новый Массив;
|
||||
ТаблицаПользователей = Новый ТаблицаЗначений;
|
||||
ТаблицаПользователей.Колонки.Добавить("Пользователь");
|
||||
ТаблицаПользователей.Колонки.Добавить("Подразделение");
|
||||
ТаблицаПользователей.Колонки.Добавить("ФизическоеЛицо");
|
||||
ТаблицаПользователей = Обработки.НастройкиПользователей.ПользователиДляКопирования(ПользовательСсылка, ТаблицаПользователей,
|
||||
ТипЗнч(ПользовательСсылка) = Тип("СправочникСсылка.ВнешниеПользователи"));
|
||||
|
||||
|
||||
@@ -766,6 +766,8 @@
|
||||
МассивПользователей = Новый Массив;
|
||||
ТаблицаПользователей = Новый ТаблицаЗначений;
|
||||
ТаблицаПользователей.Колонки.Добавить("Пользователь");
|
||||
ТаблицаПользователей.Колонки.Добавить("Подразделение");
|
||||
ТаблицаПользователей.Колонки.Добавить("ФизическоеЛицо");
|
||||
|
||||
ТаблицаПользователей = Обработки.НастройкиПользователей.ПользователиДляКопирования("",
|
||||
ТаблицаПользователей, Ложь, Истина);
|
||||
|
||||
+2
@@ -342,6 +342,8 @@
|
||||
Источники = Новый Массив;
|
||||
ТаблицаПользователей = Новый ТаблицаЗначений;
|
||||
ТаблицаПользователей.Колонки.Добавить("Пользователь");
|
||||
ТаблицаПользователей.Колонки.Добавить("Подразделение");
|
||||
ТаблицаПользователей.Колонки.Добавить("ФизическоеЛицо");
|
||||
// Получаем список всех пользователей.
|
||||
ТаблицаПользователей = Обработки.НастройкиПользователей.ПользователиДляКопирования("", ТаблицаПользователей, Ложь, Истина);
|
||||
|
||||
|
||||
@@ -1086,9 +1086,11 @@
|
||||
ОбщегоНазначенияКлиентСервер.ПустойУникальныйИдентификатор());
|
||||
|
||||
Если Очистка Тогда
|
||||
Запрос.Текст = ТекстЗапросаСпискаПользователей(Очистка)
|
||||
+ Символы.ПС + Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС + Символы.ПС
|
||||
Запрос.Текст = ТекстЗапросаСпискаПользователей(Очистка);
|
||||
Если ВнешниеПользователи.ИспользоватьВнешнихПользователей() Тогда
|
||||
Запрос.Текст = Запрос.Текст + Символы.ПС + Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС + Символы.ПС
|
||||
+ ТекстЗапросаСпискаВнешнихПользователей(Очистка);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
Запрос.Текст = ?(ПользовательВнешний, ТекстЗапросаСпискаВнешнихПользователей(Очистка),
|
||||
ТекстЗапросаСпискаПользователей(Очистка))
|
||||
@@ -1142,7 +1144,7 @@
|
||||
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ
|
||||
| Пользователи.Ссылка КАК Пользователь,
|
||||
| ВнешниеПользователи.Ссылка КАК Пользователь,
|
||||
| Неопределено КАК Подразделение,
|
||||
| Неопределено КАК ФизическоеЛицо
|
||||
|ИЗ
|
||||
@@ -1150,19 +1152,18 @@
|
||||
|ГДЕ
|
||||
| &КромеНедействительных
|
||||
| И &КромеПомеченныхНаУдаление
|
||||
| И Пользователи.Ссылка <> &ПользовательИсточник
|
||||
| И НЕ(Пользователи.ИдентификаторПользователяИБ = &ПустойУникальныйИдентификатор
|
||||
| И Пользователи.Ссылка <> &НеуказанныйПользователь)";
|
||||
| И ВнешниеПользователи.Ссылка <> &ПользовательИсточник
|
||||
| И НЕ(ВнешниеПользователи.ИдентификаторПользователяИБ = &ПустойУникальныйИдентификатор
|
||||
| И ВнешниеПользователи.Ссылка <> &НеуказанныйПользователь)";
|
||||
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&КромеПомеченныхНаУдаление",
|
||||
?(Очистка, "Истина", "НЕ Пользователи.ПометкаУдаления"));
|
||||
?(Очистка, "Истина", "НЕ ВнешниеПользователи.ПометкаУдаления"));
|
||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&КромеНедействительных",
|
||||
?(Очистка, "Истина", "НЕ Пользователи.Недействителен"));
|
||||
?(Очистка, "Истина", "НЕ ВнешниеПользователи.Недействителен"));
|
||||
Возврат ТекстЗапроса;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
// Формирует дерево значений групп пользователей.
|
||||
//
|
||||
// Параметры:
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
ДеревоДел.Колонки.Добавить("Проверка", Новый ОписаниеТипов("Булево"));
|
||||
Если ДеревоДел.Колонки.Найти("ВыводитьВОповещениях") = Неопределено Тогда
|
||||
ДеревоДел.Колонки.Добавить("ВыводитьВОповещениях", Новый ОписаниеТипов("Булево"));
|
||||
ДеревоДел.Колонки.Добавить("Скрытое", Новый ОписаниеТипов("Булево"));
|
||||
ДеревоДел.Колонки.Добавить("Картинка", Новый ОписаниеТипов("Картинка"));
|
||||
КонецЕсли;
|
||||
ТекущийРаздел = "";
|
||||
|
||||
+55
-1
@@ -737,7 +737,7 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ФормаДобавитьНастройку</name>
|
||||
@@ -791,6 +791,38 @@
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>УдаляемыеОбъекты</name>
|
||||
<id>81</id>
|
||||
<visible>true</visible>
|
||||
<enabled>false</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>УдаляемыеОбъектыРасширеннаяПодсказка</name>
|
||||
<id>82</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.УдаляемыеОбъекты</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Picture</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<horizontalStretch>true</horizontalStretch>
|
||||
<groupHorizontalAlign>Right</groupHorizontalAlign>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<picture xsi:type="core:PictureRef">
|
||||
<picture>CommonPicture.ДлительнаяОперация16</picture>
|
||||
</picture>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
|
||||
</items>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
@@ -1059,6 +1091,28 @@
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>УдаляемыеОбъекты</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Заблокированные для использования объекты</value>
|
||||
</title>
|
||||
<id>5</id>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Удаляемые объекты</value>
|
||||
</toolTip>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>УдаляемыеОбъекты</name>
|
||||
</handler>
|
||||
</action>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
+37
-1
@@ -28,6 +28,7 @@
|
||||
&НаКлиенте
|
||||
Процедура ПриОткрытии(Отказ)
|
||||
СтандартныеПодсистемыКлиент.РазвернутьУзлыДерева(ЭтотОбъект, "НастройкиОтображенияОбъектов");
|
||||
ПодключитьОбработчикОжидания("НачатьПроверкаБлокировкиУдаляемыхОбъектов",0.1, Истина);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -75,7 +76,6 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
@@ -137,6 +137,11 @@
|
||||
Закрыть(АдресХранилища);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура УдаляемыеОбъекты(Команда)
|
||||
ОткрытьФорму("РегистрСведений.УдаляемыеОбъекты.ФормаСписка");
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -345,5 +350,36 @@
|
||||
МонопольноеУдаление = 0;
|
||||
ЭтотОбъект[Режим] = 1;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НачатьПроверкаБлокировкиУдаляемыхОбъектов()
|
||||
|
||||
Оповещение = Новый ОписаниеОповещения("ЗавершитьПроверкаБлокировкиУдаляемыхОбъектов", ЭтотОбъект);
|
||||
ДлительнаяОперация = НачатьПроверкаБлокировкиУдаляемыхОбъектовСервер();
|
||||
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, Оповещение, ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция НачатьПроверкаБлокировкиУдаляемыхОбъектовСервер()
|
||||
|
||||
ПараметрыФоновогоЗадания = ДлительныеОперации.ПараметрыВыполненияПроцедуры();
|
||||
Возврат ДлительныеОперации.ВыполнитьПроцедуру(
|
||||
ПараметрыФоновогоЗадания,
|
||||
"УдалениеПомеченныхОбъектовСлужебный.ПроверкаАктивностиСеансаУдаленияОбъектов");
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗавершитьПроверкаБлокировкиУдаляемыхОбъектов(Результат, ДополнительныеПараметры) Экспорт
|
||||
ЗавершитьПроверкаБлокировкиУдаляемыхОбъектовСервер();
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Функция ЗавершитьПроверкаБлокировкиУдаляемыхОбъектовСервер()
|
||||
Элементы.УдаляемыеОбъекты.Доступность = Истина;
|
||||
Элементы.УдаляемыеОбъекты.Картинка = БиблиотекаКартинок.ВосклицательныйЗнакКрасный;
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -164,7 +164,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
ДлительныеОперации.ОтменитьВыполнениеЗадания(ВыполняемаяОперация.ИдентификаторЗадания);
|
||||
УдалениеПомеченныхОбъектовСлужебный.СнятьБлокировкуИспользованияУдаляемыхОбъектов(УникальныйИдентификатор);
|
||||
ИдентификаторЗадания = ?(ОбщегоНазначения.РежимОтладки(), УникальныйИдентификатор, ВыполняемаяОперация.ИдентификаторЗадания);
|
||||
УдалениеПомеченныхОбъектовСлужебный.СнятьБлокировкуИспользованияУдаляемыхОбъектов(ИдентификаторЗадания);
|
||||
УстановитьМонопольныйРежимНаСервере(Ложь);
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
@@ -228,7 +228,7 @@
|
||||
РезультатУдаления = КодыРезультатаУдаления().НеПомеченНаУдаление;
|
||||
ИначеЕсли РазрешеноУдалениеЭлемента(ДочерниеПодчиненныеЭлементы) Тогда
|
||||
РезультатУдаления = КодыРезультатаУдаления().Успешно;
|
||||
ДополнитьПакетДочернимиИПодчиненнымиЭлементами(Пакет, ДочерниеПодчиненныеЭлементы, Исключения);
|
||||
ДополнитьПакетДочернимиИПодчиненнымиЭлементами(Пакет, ЭлементОчереди.УдаляемыйСсылка, ДочерниеПодчиненныеЭлементы, Исключения);
|
||||
Иначе
|
||||
РезультатУдаления = КодыРезультатаУдаления().ЕстьДочерниеПодчиненныеЭлементыНепомеченныеНаУдаление;
|
||||
КонецЕсли;
|
||||
@@ -240,6 +240,7 @@
|
||||
ЭлементПакета.ДочерниеПодчиненныеОбъекты = ДочерниеПодчиненныеЭлементы;
|
||||
ЭлементПакета.РезультатУдаления = РезультатУдаления;
|
||||
ЭлементПакета.ЭтоОсновнойОбъект = Истина;
|
||||
ЭлементПакета.ОсновнойЭлементСсылка = ЭлементОчереди.УдаляемыйСсылка;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Пакет;
|
||||
@@ -248,21 +249,70 @@
|
||||
Функция ОбработатьПакет(ПараметрыУдаления, Пакет)
|
||||
РезультатОбработкиПакета = РезультатОбработки();
|
||||
|
||||
Если ЗначениеЗаполнено(ПараметрыУдаления.ИдентификаторЗадания) Тогда
|
||||
Если ЗначениеЗаполнено(ПараметрыУдаления.ИдентификаторЗадания) И ОбщегоНазначения.РежимОтладки() Тогда
|
||||
Идентификатор = ПараметрыУдаления.ИдентификаторЗадания;
|
||||
Иначе
|
||||
Идентификатор = Новый УникальныйИдентификатор();
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Сеанс = ПолучитьТекущийСеансИнформационнойБазы();
|
||||
ФоновоеЗадание = Сеанс.ПолучитьФоновоеЗадание();
|
||||
Если ФоновоеЗадание = Неопределено Тогда
|
||||
Идентификатор = Новый УникальныйИдентификатор;
|
||||
Иначе
|
||||
Идентификатор = ФоновоеЗадание.УникальныйИдентификатор;
|
||||
КонецЕсли;
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
ПередОбработкойПакета(Пакет, Идентификатор);
|
||||
|
||||
МестаИспользования = МестаИспользованияЭлементовПакета(ПараметрыУдаления, Пакет);
|
||||
|
||||
Буфер = Новый Структура;
|
||||
Буфер.Вставить("Элементы", Новый Массив);
|
||||
Буфер.Вставить("Код", КодыРезультатаУдаления().Успешно);
|
||||
Буфер.Вставить("РезультатУдаления");
|
||||
Для Каждого Элемент Из Пакет Цикл
|
||||
РезультатУдаления = УдалитьЭлементПакета(ПараметрыУдаления,
|
||||
Элемент,
|
||||
МестаИспользования.Скопировать(Новый Структура("УдаляемыйСсылка", Элемент.УдаляемыйСсылка)));
|
||||
ОтразитьРезультатУдаленияЭлементаПакета(ПараметрыУдаления, РезультатОбработкиПакета, Элемент, РезультатУдаления);
|
||||
Буфер.Элементы.Добавить(Элемент);
|
||||
Если НЕ Элемент.ЭтоОсновнойОбъект Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
НельзяУдалятьОсновнойОбъект = Ложь;
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
|
||||
Для каждого УдаляемыйСсылка Из Буфер.Элементы Цикл
|
||||
Фильтр = Новый Структура("УдаляемыйСсылка", УдаляемыйСсылка.УдаляемыйСсылка);
|
||||
РезультатУдаления = УдалитьЭлементПакета(
|
||||
ПараметрыУдаления,
|
||||
УдаляемыйСсылка,
|
||||
МестаИспользования.Скопировать(Фильтр),
|
||||
НельзяУдалятьОсновнойОбъект);
|
||||
|
||||
Если РезультатУдаления.Код <> КодыРезультатаУдаления().Успешно И НЕ НельзяУдалятьОсновнойОбъект Тогда
|
||||
НельзяУдалятьОсновнойОбъект = Истина;
|
||||
ОтменитьТранзакцию();
|
||||
КонецЕсли;
|
||||
|
||||
ОтразитьРезультатУдаленияЭлементаПакета(
|
||||
ПараметрыУдаления,
|
||||
РезультатОбработкиПакета,
|
||||
РезультатУдаления);
|
||||
КонецЦикла;
|
||||
|
||||
Если НЕ НельзяУдалятьОсновнойОбъект Тогда
|
||||
ЗафиксироватьТранзакцию();
|
||||
КонецЕсли;
|
||||
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
Буфер.Элементы.Очистить();
|
||||
Буфер.РезультатУдаления = Неопределено;
|
||||
Буфер.Код = КодыРезультатаУдаления().Успешно;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ПослеОбработкиПакета(ПараметрыУдаления, Идентификатор);
|
||||
@@ -462,7 +512,7 @@
|
||||
ЗаписьРезультата = Результат.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(ЗаписьРезультата, СтрокаДерева);
|
||||
ЗаписьРезультата.ДочерниеЭлементы = ДочерниеЭлементы(ОсновнойЭлемент, СтрокаДерева);
|
||||
Результат = ОбъединениеТаблиц(Результат, ЗаписьРезультата.ДочерниеЭлементы);
|
||||
Результат = ОбъединениеТаблиц(ЗаписьРезультата.ДочерниеЭлементы, Результат, Истина);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -600,7 +650,7 @@
|
||||
Результат = Истина;
|
||||
|
||||
Для Каждого Элемент Из ДополнительныеСведения Цикл
|
||||
Если НЕ Элемент.ПометкаУдаления Тогда
|
||||
Если НЕ Элемент.ПометкаУдаления И НЕ Элемент.ТипЭлемента = "Подчиненный" Тогда
|
||||
Результат = Ложь;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
@@ -620,27 +670,33 @@
|
||||
// Элемент - см. ПакетУдаляемыхОбъектов
|
||||
// РезультатУдаления - см. УдалитьЭлементПакета
|
||||
//
|
||||
Процедура ОтразитьРезультатУдаленияЭлементаПакета(ПараметрыУдаления, РезультатОбработкиПакета, Элемент, РезультатУдаления)
|
||||
Процедура ОтразитьРезультатУдаленияЭлементаПакета(ПараметрыУдаления, РезультатОбработкиПакета, РезультатУдаления)
|
||||
|
||||
Если НЕ РезультатУдаления.ЭтоОсновнойОбъект И РезультатУдаления.Код = КодыРезультатаУдаления().Успешно Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если РезультатУдаления.Код <> КодыРезультатаУдаления().Успешно Тогда
|
||||
НеудаленныйЭлемент = РезультатОбработкиПакета.НеудаленныеОбъекты.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НеудаленныйЭлемент, Элемент);
|
||||
ЗаполнитьЗначенияСвойств(НеудаленныйЭлемент, РезультатУдаления);
|
||||
НеудаленныйЭлемент.РезультатУдаления = РезультатУдаления.Код;
|
||||
НеудаленныйЭлемент.ИнформацияОбОшибке = РезультатУдаления.ИнформацияОбОшибке;
|
||||
НеудаленныйЭлемент.Сообщения = СообщенияПользователяВСтроку(РезультатУдаления.Сообщения);
|
||||
Если Элемент.ЭтоОсновнойОбъект Тогда
|
||||
Если РезультатУдаления.ЭтоОсновнойОбъект Тогда
|
||||
ПараметрыУдаления.КоличествоОбработанных = ПараметрыУдаления.КоличествоОбработанных + 1;
|
||||
КонецЕсли;
|
||||
РезультатОбработкиПакета.МестаИспользования = ОбъединениеТаблиц(
|
||||
РезультатОбработкиПакета.МестаИспользования,
|
||||
РезультатУдаления.МестаИспользования);
|
||||
Иначе
|
||||
РезультатОбработкиПакета.УдаленныеОбъекты.Добавить(Элемент.УдаляемыйСсылка);
|
||||
РезультатОбработкиПакета.УдаленныеОбъекты.Добавить(РезультатУдаления.УдаляемыйСсылка);
|
||||
РезультатОбработкиПакета.МестаОчисткиСсылок = ОбъединениеТаблиц(
|
||||
РезультатОбработкиПакета.МестаОчисткиСсылок,
|
||||
РезультатУдаления.МестаИспользования);
|
||||
КонецЕсли;
|
||||
|
||||
ОповеститьОПрогрессе(ПараметрыУдаления);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция СообщенияПользователяВСтроку(Сообщения)
|
||||
@@ -690,11 +746,13 @@
|
||||
// * ИнформацияОбОшибке - Неопределено
|
||||
// - ИнформацияОбОшибке
|
||||
//
|
||||
Функция УдалитьЭлементПакета(ПараметрыУдаления, Элемент, МестаИспользования)
|
||||
Функция УдалитьЭлементПакета(ПараметрыУдаления, Элемент, МестаИспользования, НеУдалятьЭлемент)
|
||||
Результат = Новый Структура();
|
||||
Результат.Вставить("УдаляемыйСсылка", Элемент.УдаляемыйСсылка);
|
||||
Результат.Вставить("Код", КодыРезультатаУдаления().Успешно);
|
||||
Результат.Вставить("МестаИспользования", МестаИспользования());
|
||||
Результат.Вставить("Сообщения", Новый ФиксированныйМассив(Новый Массив));
|
||||
Результат.Вставить("ЭтоОсновнойОбъект", Элемент.ЭтоОсновнойОбъект);
|
||||
Результат.Вставить("ИнформацияОбОшибке");
|
||||
|
||||
// Объект был удален ранее
|
||||
@@ -706,41 +764,46 @@
|
||||
Для Каждого ДочернийПодчиненныйЭлемент Из Элемент.ДочерниеПодчиненныеОбъекты Цикл
|
||||
Если НЕ ОбъектУдален(ДочернийПодчиненныйЭлемент.Элемент) Тогда
|
||||
Результат.Код = КодыРезультатаУдаления().ЕстьМестаИспользования;
|
||||
Результат.МестаИспользования = ОставшиесяМестаИспользованияУдаляемогоОбъекта(ПараметрыУдаления, МестаИспользования);
|
||||
Результат.МестаИспользования = ОставшиесяМестаИспользованияУдаляемогоОбъекта(
|
||||
ПараметрыУдаления,
|
||||
МестаИспользования);
|
||||
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
МестаОчисткиСсылок = МестаОчисткиСсылок(ПараметрыУдаления, МестаИспользования);
|
||||
|
||||
Объект = Элемент.УдаляемыйСсылка.ПолучитьОбъект();
|
||||
НачатьТранзакцию();
|
||||
Если НЕ НеУдалятьЭлемент Тогда
|
||||
Попытка
|
||||
Блокировка = Новый БлокировкаДанных();
|
||||
ЭлементБлокировки = Блокировка.Добавить(Объект.Метаданные().ПолноеИмя());
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", Объект.Ссылка);
|
||||
ЭлементБлокировки = Блокировка.Добавить(Элемент.УдаляемыйСсылка.Метаданные().ПолноеИмя());
|
||||
ЭлементБлокировки.УстановитьЗначение("Ссылка", Элемент.УдаляемыйСсылка);
|
||||
Блокировка.Заблокировать();
|
||||
|
||||
Объект = Элемент.УдаляемыйСсылка.ПолучитьОбъект();
|
||||
УдалитьОбъект(Объект);
|
||||
ОставшиесяМестаИспользования = ОставшиесяМестаИспользованияУдаляемогоОбъекта(ПараметрыУдаления,
|
||||
МестаИспользования);
|
||||
Если ОставшиесяМестаИспользования.Количество() = 0
|
||||
Или МестаОчисткиСсылок.Количество() = ОставшиесяМестаИспользования.Количество() Тогда
|
||||
|
||||
Результат.МестаИспользования = МестаОчисткиСсылок;
|
||||
ЗафиксироватьТранзакцию();
|
||||
Иначе
|
||||
Результат.МестаИспользования = ОставшиесяМестаИспользования;
|
||||
Результат.Код = КодыРезультатаУдаления().ЕстьМестаИспользования;
|
||||
ОтменитьТранзакцию();
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||||
Результат.Сообщения = ДлительныеОперации.СообщенияПользователю(Истина);
|
||||
Результат.ИнформацияОбОшибке = ИнформацияОбОшибке;
|
||||
Результат.Код = КодыРезультатаУдаления().ОшибкаПриУдалении;
|
||||
Возврат Результат;
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
|
||||
ОставшиесяМестаИспользования = ОставшиесяМестаИспользованияУдаляемогоОбъекта(
|
||||
ПараметрыУдаления,
|
||||
МестаИспользования);
|
||||
|
||||
Если ОставшиесяМестаИспользования.Количество() = 0
|
||||
Или МестаОчисткиСсылок.Количество() = ОставшиесяМестаИспользования.Количество() Тогда
|
||||
|
||||
Результат.МестаИспользования = МестаОчисткиСсылок;
|
||||
Иначе
|
||||
Результат.МестаИспользования = ОставшиесяМестаИспользования;
|
||||
Результат.Код = КодыРезультатаУдаления().ЕстьМестаИспользования;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
@@ -761,6 +824,31 @@
|
||||
Возврат Набор.Количество() > 0;
|
||||
КонецФункции
|
||||
|
||||
Функция СсылкаВВедущемИзмерении(СведенияОМестеИспользования)
|
||||
Результат = Ложь;
|
||||
|
||||
МетаданныеМестаИспользования = СведенияОМестеИспользования.Метаданные;
|
||||
Контейнер = Новый Структура("Измерения", Новый Массив);
|
||||
ЗаполнитьЗначенияСвойств(Контейнер, МетаданныеМестаИспользования);
|
||||
Измерения = Контейнер.Измерения;
|
||||
Для каждого Измерение Из Измерения Цикл
|
||||
Контейнер = Новый Структура();
|
||||
Контейнер.Вставить("Ведущее", Ложь);
|
||||
Контейнер.Вставить(Измерение.Имя);
|
||||
ЗаполнитьЗначенияСвойств(Контейнер, Измерение);
|
||||
ЗаполнитьЗначенияСвойств(Контейнер, СведенияОМестеИспользования.МестоИспользования);
|
||||
|
||||
Если Контейнер.Ведущее
|
||||
И Контейнер[Измерение.Имя] = СведенияОМестеИспользования.УдаляемыйСсылка Тогда
|
||||
|
||||
Результат = Истина;
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// ПараметрыУдаления - Структура
|
||||
// Пакет - см. ПакетУдаляемыхОбъектов
|
||||
@@ -788,7 +876,7 @@
|
||||
// Пакет - см. ПакетУдаляемыхОбъектов
|
||||
// ДочерниеПодчиненныеЭлементы - см. ДочерниеПодчиненныеЭлементы
|
||||
//
|
||||
Процедура ДополнитьПакетДочернимиИПодчиненнымиЭлементами(Пакет, ДочерниеПодчиненныеЭлементы, Исключения)
|
||||
Процедура ДополнитьПакетДочернимиИПодчиненнымиЭлементами(Пакет, ОсновнойЭлемент, ДочерниеПодчиненныеЭлементы, Исключения)
|
||||
Для Каждого ОписаниеЭлемента Из ДочерниеПодчиненныеЭлементы Цикл
|
||||
Если Пакет.Найти(ОписаниеЭлемента.Элемент, "УдаляемыйСсылка") <> Неопределено
|
||||
ИЛИ Исключения.Найти(ОписаниеЭлемента.Элемент, "УдаляемыйСсылка") <> Неопределено Тогда
|
||||
@@ -797,6 +885,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ЭлементПакета = Пакет.Добавить();
|
||||
ЭлементПакета.ОсновнойЭлементСсылка = ОсновнойЭлемент;
|
||||
ЭлементПакета.УдаляемыйСсылка = ОписаниеЭлемента.Элемент;
|
||||
ЭлементПакета.ДочерниеПодчиненныеОбъекты = ОписаниеЭлемента.ДочерниеЭлементы;
|
||||
КонецЦикла;
|
||||
@@ -866,7 +955,9 @@
|
||||
Если НЕ ЭтоСсылка
|
||||
И НЕ ЭтоКонстанта
|
||||
И ЗаписьСуществует(СведенияОМестеИспользования)
|
||||
И НЕ СведенияОМестеИспользования.ЭтоСлужебныеДанные Тогда
|
||||
И НЕ СведенияОМестеИспользования.ЭтоСлужебныеДанные
|
||||
И НЕ СсылкаВВедущемИзмерении(СведенияОМестеИспользования) Тогда
|
||||
|
||||
ЗаполнитьЗначенияСвойств(Результат.Добавить(), СведенияОМестеИспользования);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1015,7 +1106,7 @@
|
||||
ПараметрыОбработки.Вставить("КоличествоОбработанных", 0);
|
||||
ПараметрыОбработки.Вставить("Всего", 0);
|
||||
ПараметрыОбработки.Вставить("Номер", 0);
|
||||
ПараметрыОбработки.Вставить("ИдентификаторЗадания", Новый УникальныйИдентификатор);
|
||||
ПараметрыОбработки.Вставить("ИдентификаторЗадания", "");
|
||||
|
||||
// Уменьшение расхода памяти rmngr на хранение сообщений
|
||||
ПараметрыОбработки.Вставить("ВремяОповещения", 0);
|
||||
@@ -1097,6 +1188,7 @@
|
||||
Пакет.Колонки.Добавить("РезультатУдаления", Новый ОписаниеТипов("Число"));
|
||||
Пакет.Колонки.Добавить("ДочерниеПодчиненныеОбъекты", Новый ОписаниеТипов("ТаблицаЗначений"));
|
||||
Пакет.Колонки.Добавить("ЭтоОсновнойОбъект", Новый ОписаниеТипов("Булево"));
|
||||
Пакет.Колонки.Добавить("ОсновнойЭлементСсылка");
|
||||
|
||||
Возврат Пакет;
|
||||
КонецФункции
|
||||
@@ -1370,7 +1462,7 @@
|
||||
УдаляемыйОбъект, ИнформацияОМетаданных);
|
||||
|
||||
Для Каждого ПодчиненныйОбъект Из ДочерниеПодчиненныеОбъекты Цикл
|
||||
Если ПодчиненныйОбъект.ПометкаУдаления Тогда
|
||||
Если ПодчиненныйОбъект.ПометкаУдаления ИЛИ ПодчиненныйОбъект.ТипЭлемента = "Подчиненный" Тогда
|
||||
ПодчиненныеОбъекты.Добавить(ПодчиненныйОбъект.Элемент);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -1612,8 +1704,8 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЦентрМониторингаМенеджер = ОбщегоНазначения.ОбщийМодуль("ЦентрМониторинга");
|
||||
ЦентрМониторингаМенеджер.ЗаписатьОперациюБизнесСтатистики(
|
||||
МодульЦентрМониторинга = ОбщегоНазначения.ОбщийМодуль("ЦентрМониторинга");
|
||||
МодульЦентрМониторинга.ЗаписатьОперациюБизнесСтатистики(
|
||||
"БазоваяФункциональность.УдалениеПомеченных."+РежимУдаления, ВремяВыполнения,
|
||||
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Количество элементов: %1'"), КоличествоУдаляемыхЭлементов));
|
||||
|
||||
|
||||
@@ -338,6 +338,7 @@
|
||||
ПереноситьВсехПолучателейПисьмаВПолучатели, ДобавлятьКТеме, ПереноситьВложения, ТипОтвета)
|
||||
|
||||
ИмяОбъектаМетаданных = Письмо.Метаданные().Имя;
|
||||
ИмяТаблицы = "Документ." + ИмяОбъектаМетаданных;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст ="ВЫБРАТЬ
|
||||
@@ -348,17 +349,15 @@
|
||||
| ЭлектронноеПисьмо.Тема,
|
||||
| ЭлектронноеПисьмо.УчетнаяЗапись,
|
||||
| ЭлектронноеПисьмо.ТипТекста,
|
||||
| ЭлектронноеПисьмо.Ссылка" +?(ПереноситьОтправителяВПолучатели,",
|
||||
| ЭлектронноеПисьмо.ОтправительАдрес,
|
||||
| ЭлектронноеПисьмо.ОтправительКонтакт,
|
||||
| ЭлектронноеПисьмо.ОтправительПредставление", "") + "
|
||||
| ЭлектронноеПисьмо.Ссылка
|
||||
|ИЗ
|
||||
| Документ." + ИмяОбъектаМетаданных + " КАК ЭлектронноеПисьмо
|
||||
| &ИмяТаблицы КАК ЭлектронноеПисьмо
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий
|
||||
| ПО ЭлектронноеПисьмо.Ссылка = ПредметыПапкиВзаимодействий.Взаимодействие
|
||||
|ГДЕ
|
||||
| ЭлектронноеПисьмо.Ссылка = &Ссылка";
|
||||
|
||||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ИмяТаблицы", ИмяТаблицы);
|
||||
Запрос.УстановитьПараметр("Ссылка", Письмо);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
@@ -381,7 +380,54 @@
|
||||
ТипТекста = Выборка.ТипТекста;
|
||||
|
||||
Если ПереноситьОтправителяВПолучатели Тогда
|
||||
ДобавитьПолучателя(Выборка.ОтправительАдрес, Выборка.ОтправительПредставление, Выборка.ОтправительКонтакт);
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
||||
| ЭлектронноеПисьмоВходящее.ОтправительАдрес КАК ОтправительАдрес,
|
||||
| ЭлектронноеПисьмоВходящее.ОтправительКонтакт КАК ОтправительКонтакт,
|
||||
| ЭлектронноеПисьмоВходящее.ОтправительПредставление КАК ОтправительПредставление
|
||||
|ИЗ
|
||||
| Документ.ЭлектронноеПисьмоВходящее КАК ЭлектронноеПисьмоВходящее
|
||||
|ГДЕ
|
||||
| ЭлектронноеПисьмоВходящее.Ссылка = &Ссылка
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
||||
| ЭлектронноеПисьмоВходящееПолучателиОтвета.Адрес КАК Адрес,
|
||||
| ЭлектронноеПисьмоВходящееПолучателиОтвета.Представление КАК Представление,
|
||||
| ЭлектронноеПисьмоВходящееПолучателиОтвета.Контакт КАК Контакт
|
||||
|ИЗ
|
||||
| Документ.ЭлектронноеПисьмоВходящее.ПолучателиОтвета КАК ЭлектронноеПисьмоВходящееПолучателиОтвета
|
||||
|ГДЕ
|
||||
| ЭлектронноеПисьмоВходящееПолучателиОтвета.Ссылка = &Ссылка";
|
||||
|
||||
Запрос.УстановитьПараметр("Ссылка", Письмо);
|
||||
|
||||
Результат = Запрос.ВыполнитьПакет();
|
||||
|
||||
ЕстьПолучателиОтвета = Не Результат[1].Пустой();
|
||||
|
||||
Если ЕстьПолучателиОтвета Тогда
|
||||
|
||||
ВыборкаПолучатели = Результат[1].Выбрать();
|
||||
Пока ВыборкаПолучатели.Следующий() Цикл
|
||||
ДобавитьПолучателя(ВыборкаПолучатели.Адрес,
|
||||
ВыборкаПолучатели.Представление,
|
||||
ВыборкаПолучатели.Контакт);
|
||||
КонецЦикла;
|
||||
|
||||
Иначе
|
||||
|
||||
ВыборкаОтправитель = Результат[0].Выбрать();
|
||||
ВыборкаОтправитель.Следующий();
|
||||
|
||||
ДобавитьПолучателя(ВыборкаОтправитель.ОтправительАдрес,
|
||||
ВыборкаОтправитель.ОтправительПредставление,
|
||||
ВыборкаОтправитель.ОтправительКонтакт);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ПереноситьВсехПолучателейПисьмаВПолучатели Тогда
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:EventSubscription xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="cf80ff0d-9add-4fa5-bba2-00d43fce5ed8">
|
||||
<name>ЗапретитьИспользованиеУдаляемыхОбъектовВДокументах</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Запретить использование удаляемых объектов в документах</value>
|
||||
</synonym>
|
||||
<source>
|
||||
<types>DocumentObject</types>
|
||||
</source>
|
||||
<event>BeforeWrite</event>
|
||||
<handler>CommonModule.УдалениеПомеченныхОбъектовСлужебный.ЗапретитьИспользованиеУдаляемыхОбъектовВДокументахПередЗаписью</handler>
|
||||
</mdclass:EventSubscription>
|
||||
+1
-1
@@ -8,6 +8,6 @@
|
||||
<source>
|
||||
<types>ConstantValueManager</types>
|
||||
</source>
|
||||
<event>OnWrite</event>
|
||||
<event>BeforeWrite</event>
|
||||
<handler>CommonModule.УдалениеПомеченныхОбъектовСлужебный.ЗапретитьИспользованиеУдаляемыхОбъектовВКонстантахПриЗаписи</handler>
|
||||
</mdclass:EventSubscription>
|
||||
+1
-1
@@ -10,6 +10,6 @@
|
||||
<types>AccountingRegisterRecordSet</types>
|
||||
<types>AccumulationRegisterRecordSet</types>
|
||||
</source>
|
||||
<event>OnWrite</event>
|
||||
<event>BeforeWrite</event>
|
||||
<handler>CommonModule.УдалениеПомеченныхОбъектовСлужебный.ЗапретитьИспользованиеУдаляемыхОбъектовВНаборахЗаписейПриЗаписи</handler>
|
||||
</mdclass:EventSubscription>
|
||||
+1
-1
@@ -8,6 +8,6 @@
|
||||
<source>
|
||||
<types>CalculationRegisterRecordSet</types>
|
||||
</source>
|
||||
<event>OnWrite</event>
|
||||
<event>BeforeWrite</event>
|
||||
<handler>CommonModule.УдалениеПомеченныхОбъектовСлужебный.ЗапретитьИспользованиеУдаляемыхОбъектовВНаборахРегистровРасчетаПриЗаписи</handler>
|
||||
</mdclass:EventSubscription>
|
||||
+1
-2
@@ -13,8 +13,7 @@
|
||||
<types>ExchangePlanObject</types>
|
||||
<types>CatalogObject</types>
|
||||
<types>TaskObject</types>
|
||||
<types>DocumentObject</types>
|
||||
</source>
|
||||
<event>OnWrite</event>
|
||||
<event>BeforeWrite</event>
|
||||
<handler>CommonModule.УдалениеПомеченныхОбъектовСлужебный.ЗапретитьИспользованиеУдаляемыхОбъектовВСправочникахПриЗаписи</handler>
|
||||
</mdclass:EventSubscription>
|
||||
+1
-1
@@ -113,7 +113,7 @@
|
||||
<row><Value>39</Value><Value>Калининградская</Value> <Value>обл</Value> <Value>000000</Value><Value>236-238</Value><Value>90c7181e-724f-41b3-b6c6-bd3ec7ae3f30</Value><Value>27</Value></row>
|
||||
<row><Value>40</Value><Value>Калужская</Value> <Value>обл</Value> <Value>000000</Value><Value>248-249</Value><Value>18133adf-90c2-438e-88c4-62c41656de70</Value><Value>29</Value></row>
|
||||
<row><Value>41</Value><Value>Камчатский</Value> <Value>край</Value> <Value>000000</Value><Value>683-684,688</Value><Value>d02f30fc-83bf-4c0f-ac2b-5729a866a207</Value><Value>30</Value></row>
|
||||
<row><Value>42</Value><Value>Кемеровская</Value> <Value>обл</Value> <Value>000000</Value><Value>650-654</Value><Value>393aeccb-89ef-4a7e-ae42-08d5cebc2e30</Value><Value>32</Value></row>
|
||||
<row><Value>42</Value><Value>Кемеровская область -</Value> <Value>Кузбасс</Value><Value>000000</Value><Value>650-654</Value><Value>393aeccb-89ef-4a7e-ae42-08d5cebc2e30</Value><Value>32</Value></row>
|
||||
<row><Value>43</Value><Value>Кировская</Value> <Value>обл</Value> <Value>610000</Value><Value>610-613</Value><Value>0b940b96-103f-4248-850c-26b6c7296728</Value><Value>33</Value></row>
|
||||
<row><Value>44</Value><Value>Костромская</Value> <Value>обл</Value> <Value>000000</Value><Value>156-157</Value><Value>15784a67-8cea-425b-834a-6afe0e3ed61c</Value><Value>34</Value></row>
|
||||
<row><Value>45</Value><Value>Курганская</Value> <Value>обл</Value> <Value>641000</Value><Value>640-641</Value><Value>4a3d970f-520e-46b9-b16c-50d4ca7535a8</Value><Value>37</Value></row>
|
||||
|
||||
+44
-2
@@ -118,14 +118,23 @@
|
||||
</dataSet>
|
||||
<calculatedField>
|
||||
<dataPath>СсылкаНаФайл</dataPath>
|
||||
<expression>Файл</expression>
|
||||
<expression>Имя</expression>
|
||||
<title xsi:type="v8:LocalStringType">
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Наименование</v8:content>
|
||||
</v8:item>
|
||||
</title>
|
||||
<presentationExpression>Имя</presentationExpression>
|
||||
</calculatedField>
|
||||
<calculatedField>
|
||||
<dataPath>СсылкаНаФайл.Расшифровка</dataPath>
|
||||
<expression>Файл</expression>
|
||||
<title xsi:type="v8:LocalStringType">
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Наименование (расшифровка)</v8:content>
|
||||
</v8:item>
|
||||
</title>
|
||||
</calculatedField>
|
||||
<totalField>
|
||||
<dataPath>Файл</dataPath>
|
||||
@@ -147,6 +156,39 @@
|
||||
<denyIncompleteValues>true</denyIncompleteValues>
|
||||
<use>Always</use>
|
||||
</parameter>
|
||||
<template>
|
||||
<name>Макет1</name>
|
||||
<template xmlns:dcsat="http://v8.1c.ru/8.1/data-composition-system/area-template" xsi:type="dcsat:AreaTemplate">
|
||||
<dcsat:item xsi:type="dcsat:TableRow">
|
||||
<dcsat:tableCell>
|
||||
<dcsat:item xsi:type="dcsat:Field">
|
||||
<dcsat:value xsi:type="dcscor:Parameter">СсылкаНаФайл</dcsat:value>
|
||||
</dcsat:item>
|
||||
<dcsat:appearance>
|
||||
<dcscor:item>
|
||||
<dcscor:parameter>Расшифровка</dcscor:parameter>
|
||||
<dcscor:value xsi:type="dcscor:Parameter">Расшифровка</dcscor:value>
|
||||
</dcscor:item>
|
||||
</dcsat:appearance>
|
||||
</dcsat:tableCell>
|
||||
</dcsat:item>
|
||||
</template>
|
||||
<parameter xmlns:dcsat="http://v8.1c.ru/8.1/data-composition-system/area-template" xsi:type="dcsat:ExpressionAreaTemplateParameter">
|
||||
<dcsat:name>СсылкаНаФайл</dcsat:name>
|
||||
<dcsat:expression>СсылкаНаФайл</dcsat:expression>
|
||||
</parameter>
|
||||
<parameter xmlns:dcsat="http://v8.1c.ru/8.1/data-composition-system/area-template" xsi:type="dcsat:DetailsAreaTemplateParameter">
|
||||
<dcsat:name>Расшифровка</dcsat:name>
|
||||
<dcsat:fieldExpression>
|
||||
<dcsat:field>СсылкаНаФайл</dcsat:field>
|
||||
<dcsat:expression>СсылкаНаФайл.Расшифровка</dcsat:expression>
|
||||
</dcsat:fieldExpression>
|
||||
</parameter>
|
||||
</template>
|
||||
<fieldTemplate>
|
||||
<field>СсылкаНаФайл</field>
|
||||
<template>Макет1</template>
|
||||
</fieldTemplate>
|
||||
<settingsVariant>
|
||||
<dcsset:name>Основной</dcsset:name>
|
||||
<dcsset:presentation xsi:type="v8:LocalStringType">
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
ИмяОбласти = "R" + Формат(ИндексСтрок, "ЧГ=0");
|
||||
Область = ДокументРезультат.Область(ИмяОбласти);
|
||||
|
||||
Если СтрНайти(Область.Текст, "[" + НСтр("ru = 'ЗаголовокСкрыт'") + "]") <> 0 Тогда
|
||||
Если СтрНайти(Область.Текст, "[ЗаголовокСкрыт]") <> 0 Тогда
|
||||
Если ПерваяСтрока = 0 Тогда
|
||||
ПерваяСтрока = ИндексСтрок;
|
||||
КонецЕсли;
|
||||
@@ -340,8 +340,8 @@
|
||||
ИмяОбласти = "R" + Формат(ИндексСтрок, "ЧГ=0") + "C" + Формат(ИндексКолонок, "ЧГ=0");
|
||||
Область = ДокументРезультат.Область(ИмяОбласти);
|
||||
|
||||
Если СтрНайти(Область.Текст, "[" + НСтр("ru = 'ЗаголовокСкрыт'") + "]") <> 0 Тогда
|
||||
Область.Текст = СтрЗаменить(Область.Текст, "[" + НСтр("ru = 'ЗаголовокСкрыт'") + "]", "");
|
||||
Если СтрНайти(Область.Текст, "[ЗаголовокСкрыт]") <> 0 Тогда
|
||||
Область.Текст = СтрЗаменить(Область.Текст, "[ЗаголовокСкрыт]", "");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -1040,6 +1040,10 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если МетаданныеПоля.Тип.СодержитТип(Тип("ХранилищеЗначения")) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если УточнятьСуффиксыПолей
|
||||
И Не МетаданныеПоля.Балансовый Тогда
|
||||
СуффиксыПолей = СтрРазделить("Дт@Кт", "@", Ложь);
|
||||
|
||||
@@ -3,13 +3,6 @@
|
||||
<setForNewObjects>false</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
@@ -41,6 +34,13 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации</name>
|
||||
<right>
|
||||
|
||||
@@ -1854,17 +1854,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.ПроверятьИспользованиеУдаляемыхОбъектов</name>
|
||||
<right>
|
||||
<name>Read</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Update</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Constant.ЗаголовокСистемы</name>
|
||||
<right>
|
||||
@@ -2342,17 +2331,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>InformationRegister.УдаляемыеОбъекты</name>
|
||||
<right>
|
||||
<name>Read</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
<right>
|
||||
<name>Update</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.ВстречаПрисоединенныеФайлы</name>
|
||||
<right>
|
||||
|
||||
+1
@@ -26,5 +26,6 @@
|
||||
<content>CommonModule.УдалениеПомеченныхПовтИсп</content>
|
||||
<content>StyleItem.ДействиеВКолонкеСпискаШрифт</content>
|
||||
<content>SessionParameter.ВыполняетсяУдалениеОбъектов</content>
|
||||
<content>EventSubscription.ЗапретитьИспользованиеУдаляемыхОбъектовВДокументах</content>
|
||||
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
|
||||
</mdclass:Subsystem>
|
||||
Reference in new issue
Block a user