3_1_5_256

This commit is contained in:
Компания 1С committed 2021-11-19 11:10:00 +03:00
1 parent eb11accae1
commit 576bb58d51
21 files changed
+515 -266

No files matched your search

@@ -48,6 +48,13 @@
Возврат;
КонецЕсли;
ПутиКТомам = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "ПолныйПутьLinux, ПолныйПутьWindows");
ПроверятьУникальностьПутей = ПутиКТомам.ПолныйПутьLinux <> ПолныйПутьLinux
ИЛИ ПутиКТомам.ПолныйПутьWindows <> ПолныйПутьWindows;
Если ПроверятьУникальностьПутей Тогда
ПроверитьУникальностьПутиКТомам(Отказ);
КонецЕсли;
Если Не ИспользуютсяПрофилиБезопасности
И Не ПустаяСтрока(ПолныйПутьWindows)
И ( Лев(ПолныйПутьWindows, 2) <> "\\"
@@ -137,6 +144,41 @@
КонецФункции
Процедура ПроверитьУникальностьПутиКТомам(Отказ)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТомаХраненияФайлов.Ссылка КАК Ссылка,
| ПРЕДСТАВЛЕНИЕ(ТомаХраненияФайлов.Ссылка) КАК Представление,
| ТомаХраненияФайлов.ПолныйПутьWindows КАК ПолныйПутьWindows,
| ТомаХраненияФайлов.ПолныйПутьLinux КАК ПолныйПутьLinux
|ИЗ
| Справочник.ТомаХраненияФайлов КАК ТомаХраненияФайлов
|ГДЕ
| НЕ ТомаХраненияФайлов.ПометкаУдаления";
РезультатЗапроса = Запрос.Выполнить();
ТаблицаРезультата = РезультатЗапроса.Выгрузить();
ТаблицаРезультата.Индексы.Добавить("ПолныйПутьLinux");
ТаблицаРезультата.Индексы.Добавить("ПолныйПутьWindows");
ШаблонОшибки = НСтр("ru = 'Путь к тому должен быть уникален. Каталог указан в томе %1.'");
Если ЗначениеЗаполнено(ПолныйПутьLinux) Тогда
Для каждого Том Из ТаблицаРезультата.НайтиСтроки(Новый Структура("ПолныйПутьLinux", ПолныйПутьLinux)) Цикл
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, Том.Представление);
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , "ПолныйПутьLinux", "Объект", Отказ);
КонецЦикла;
КонецЕсли;
Если ЗначениеЗаполнено(ПолныйПутьWindows) Тогда
Для каждого Том Из ТаблицаРезультата.НайтиСтроки(Новый Структура("ПолныйПутьWindows", ПолныйПутьWindows)) Цикл
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, Том.Представление);
ОбщегоНазначения.СообщитьПользователю(ТекстОшибки, , "ПолныйПутьWindows", "Объект", Отказ);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Иначе
@@ -1221,15 +1221,6 @@
КонецФункции
&НаКлиенте
Процедура ОповеститьСистемуОбИзменении(ВыбранныеЭлементы)
Для Каждого Элемент Из ВыбранныеЭлементы Цикл
ОповеститьОбИзменении(Элемент);
КонецЦикла;
КонецПроцедуры
// Изменение пометки удаления.
&НаСервереБезКонтекста
@@ -1351,31 +1342,57 @@
Возврат;
КонецЕсли;
ИзменитьПометкуУдаленияЭлементов(Сценарий.ВыбранныеЭлементы, Сценарий.Пометка);
Ошибки = ИзменитьПометкуУдаленияЭлементов(Сценарий.ВыбранныеЭлементы, Сценарий.Пометка);
Если Ошибки.Количество() > 0 Тогда
ПредупредитьОбОшибкеПриИзмененииЭлементов(Ошибки, "ПометкаУдаления");
Иначе
ПоказатьОповещениеПользователя(
Сценарий.Оповещение,
Сценарий.Ссылка,
Сценарий.Пояснение,
БиблиотекаКартинок.Информация32);
ОповеститьСистемуОбИзменении(Сценарий.ВыбранныеЭлементы);
КонецЕсли;
ОбщегоНазначенияКлиент.ОповеститьОбИзмененииОбъектов(Сценарий.ВыбранныеЭлементы);
КонецПроцедуры
&НаСервере
Процедура ИзменитьПометкуУдаленияЭлементов(ВыбранныеЭлементы, Пометка)
Функция ИзменитьПометкуУдаленияЭлементов(ВыбранныеЭлементы, Пометка)
Ошибки = Новый Массив;
Для Каждого Элемент Из ВыбранныеЭлементы Цикл
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(Элемент.Метаданные().ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", Элемент);
Блокировка.Заблокировать();
ВыбранныйОбъект = Элемент.ПолучитьОбъект();
ЗаблокироватьДанныеДляРедактирования(Элемент,, УникальныйИдентификатор);
ВыбранныйОбъект.УстановитьПометкуУдаления(Пометка);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ЗаписьЖурналаРегистрации(НСтр("ru = 'Связанные документы.Изменение пометки удаления'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,, Элемент,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Ошибки.Добавить(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецЦикла;
ОбновитьДеревоСтруктурыПодчиненности();
Возврат Ошибки;
КонецПроцедуры
КонецФункции
// Изменение проведения документа.
@@ -1383,60 +1400,57 @@
Процедура ИзменитьПроведениеДокументов(Режим)
ВыбранныеДокументы = ВыбранныеЭлементы();
Если ВыбранныеДокументы.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ОбработанныеДокументы = ОбработанныеДокументы(ВыбранныеДокументы, Режим);
Ошибки = Новый Массив;
ОбработанныеДокументы = ОбработанныеДокументы(ВыбранныеДокументы, Режим, Ошибки);
КоличествоОбработанныхДокументов = ОбработанныеДокументы.Количество();
Если Ошибки.Количество() > 0 Тогда
ПредупредитьОбОшибкеПриИзмененииЭлементов(Ошибки, "Проведение");
Возврат;
КонецЕсли;
Если КоличествоОбработанныхДокументов = 0 Тогда
Возврат;
КонецЕсли;
Если КоличествоОбработанныхДокументов = 1 Тогда
Документ = ВыбранныеДокументы[0];
Оповещение = НСтр("ru = 'Изменение'");
Ссылка = ПолучитьНавигационнуюСсылку(Документ);
Пояснение = ОбработанныеДокументы[Документ];
Иначе
Ссылка = "";
Пояснение = Заголовок;
Оповещение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Изменение (%1)'"), КоличествоОбработанныхДокументов);
КонецЕсли;
ПоказатьОповещениеПользователя(
Оповещение,
Ссылка,
Пояснение,
БиблиотекаКартинок.Информация32);
ОповеститьСистемуОбИзменении(ВыбранныеДокументы);
ПоказатьОповещениеПользователя(Оповещение, Ссылка, Пояснение, БиблиотекаКартинок.Информация32);
ОбщегоНазначенияКлиент.ОповеститьОбИзмененииОбъектов(ВыбранныеДокументы);
КонецПроцедуры
&НаСервере
Функция ОбработанныеДокументы(ВыбранныеДокументы, Режим)
Функция ОбработанныеДокументы(ВыбранныеДокументы, Режим, Ошибки)
ОбработанныеДокументы = Новый Соответствие;
Индекс = ВыбранныеДокументы.ВГраница();
Пока Индекс >= 0 Цикл
Если Не ОбщегоНазначения.ЭтоДокумент(ВыбранныеДокументы[Индекс].Метаданные()) Тогда
МетаданныеОбъекта = ВыбранныеДокументы[Индекс].Метаданные();
ПроведениеРазрешено = Метаданные.СвойстваОбъектов.Проведение.Разрешить;
Если Не ОбщегоНазначения.ЭтоДокумент(МетаданныеОбъекта)
Или МетаданныеОбъекта.Проведение <> ПроведениеРазрешено Тогда
ВыбранныеДокументы.Удалить(Индекс);
КонецЕсли;
Индекс = Индекс - 1;
КонецЦикла;
Если ВыбранныеДокументы.Количество() = 0 Тогда
@@ -1444,39 +1458,72 @@
КонецЕсли;
СвойстваДокументов = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(ВыбранныеДокументы, "Проведен, Представление");
Индекс = ВыбранныеДокументы.ВГраница();
Пока Индекс >= 0 Цикл
Документ = ВыбранныеДокументы[Индекс];
СвойстваДокумента = СвойстваДокументов[Документ];
Если Режим = РежимЗаписиДокумента.ОтменаПроведения
И Не СвойстваДокумента.Проведен Тогда
Если Режим = РежимЗаписиДокумента.ОтменаПроведения И Не СвойстваДокумента.Проведен Тогда
ВыбранныеДокументы.Удалить(Индекс);
Индекс = Индекс - 1;
Продолжить;
КонецЕсли;
Индекс = Индекс - 1;
Иначе
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить(Документ.Метаданные().ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", Документ);
Блокировка.Заблокировать();
ВыбранныйОбъект = Документ.ПолучитьОбъект(); // ДокументОбъект
Если ВыбранныйОбъект.ПроверитьЗаполнение() Тогда
ЗаблокироватьДанныеДляРедактирования(Документ,, УникальныйИдентификатор);
ВыбранныйОбъект.Записать(Режим);
КонецЕсли;
ОбработанныеДокументы.Вставить(Документ, СвойстваДокумента.Представление);
ЗафиксироватьТранзакцию();
КонецЕсли;
Исключение
Индекс = Индекс - 1;
ОтменитьТранзакцию();
ЗаписьЖурналаРегистрации(НСтр("ru = 'Связанные документы.Проведение документа'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,, Документ,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Ошибки.Добавить(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецЦикла;
ОбновитьДеревоСтруктурыПодчиненности();
Возврат ОбработанныеДокументы;
КонецФункции
// Общее.
&НаКлиенте
Процедура ПредупредитьОбОшибкеПриИзмененииЭлементов(Ошибки, Сценарий)
ОшибкиСвернутые = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Ошибки);
Если ОшибкиСвернутые.Количество() = 1 Тогда
ТекстПредупреждения = ОшибкиСвернутые[0];
Иначе
ШаблонПредупреждения = ?(Сценарий = "ПометкаУдаления",
НСтр("ru = 'Не удалось изменить пометку удаления документов:
|%1'"),
НСтр("ru = 'Не удалось провести документы:
|%1'"));
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонПредупреждения, СтрСоединить(ОшибкиСвернутые, Символы.ПС));
КонецЕсли;
ПоказатьПредупреждение(, ТекстПредупреждения);
КонецПроцедуры
#КонецОбласти
@@ -4290,7 +4290,7 @@
СохраненноеЗначение = ОбщегоНазначения.ХранилищеНастроекДанныхФормЗагрузить(
КлючХраненияЗначения, "ВыводитьЗаголовкиНастроек");
ВыводитьЗаголовкиНастроек = (СохраненноеЗначение = Истина);
ВыводитьЗаголовкиНастроек = СохраненноеЗначение = Неопределено Или СохраненноеЗначение = Истина;
КонецПроцедуры
@@ -12404,6 +12404,11 @@
КонецЕсли;
Иначе
СтандартныеПодсистемыСервер.ОбновитьПараметрРаботыПрограммы(
"СтандартныеПодсистемы.ОбменДанными.ПравилаРегистрации." + ИмяПланаОбмена, Ложь);
КонецЕсли;
КонецЦикла;
@@ -19,6 +19,11 @@
//
Процедура МеханизмРегистрацииОбъектовПередЗаписьюДокумента(ИмяПланаОбмена, Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
Если Источник.ДополнительныеСвойства.Свойство("ОтключитьМеханизмРегистрацииОбъектов")
И Не Источник.ДополнительныеСвойства.Свойство("РегистрироватьНаУзлахПлановОбменаПриОбновленииИБ") Тогда
Возврат;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
Модуль = ОбщегоНазначения.ОбщийМодуль("ЗащитаПерсональныхДанных");
@@ -44,6 +49,11 @@
//
Процедура МеханизмРегистрацииОбъектовПередЗаписью(ИмяПланаОбмена, Источник, Отказ) Экспорт
Если Источник.ДополнительныеСвойства.Свойство("ОтключитьМеханизмРегистрацииОбъектов")
И Не Источник.ДополнительныеСвойства.Свойство("РегистрироватьНаУзлахПлановОбменаПриОбновленииИБ") Тогда
Возврат;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
Модуль = ОбщегоНазначения.ОбщийМодуль("ЗащитаПерсональныхДанных");
@@ -67,6 +77,11 @@
//
Процедура МеханизмРегистрацииОбъектовПередЗаписьюРегистра(ИмяПланаОбмена, Источник, Отказ, Замещение) Экспорт
Если Источник.ДополнительныеСвойства.Свойство("ОтключитьМеханизмРегистрацииОбъектов")
И Не Источник.ДополнительныеСвойства.Свойство("РегистрироватьНаУзлахПлановОбменаПриОбновленииИБ") Тогда
Возврат;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
Модуль = ОбщегоНазначения.ОбщийМодуль("ЗащитаПерсональныхДанных");
@@ -90,6 +105,11 @@
//
Процедура МеханизмРегистрацииОбъектовПередЗаписьюКонстанты(ИмяПланаОбмена, Источник, Отказ) Экспорт
Если Источник.ДополнительныеСвойства.Свойство("ОтключитьМеханизмРегистрацииОбъектов")
И Не Источник.ДополнительныеСвойства.Свойство("РегистрироватьНаУзлахПлановОбменаПриОбновленииИБ") Тогда
Возврат;
КонецЕсли;
ДополнительныеПараметры = Новый Структура("ЭтоКонстанта", Истина);
ЗарегистрироватьИзменениеОбъекта(ИмяПланаОбмена, Источник, Отказ, ДополнительныеПараметры);
@@ -106,6 +126,11 @@
//
Процедура МеханизмРегистрацииОбъектовПередУдалением(ИмяПланаОбмена, Источник, Отказ) Экспорт
Если Источник.ДополнительныеСвойства.Свойство("ОтключитьМеханизмРегистрацииОбъектов")
И Не Источник.ДополнительныеСвойства.Свойство("РегистрироватьНаУзлахПлановОбменаПриОбновленииИБ") Тогда
Возврат;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗащитаПерсональныхДанных") Тогда
Модуль = ОбщегоНазначения.ОбщийМодуль("ЗащитаПерсональныхДанных");
@@ -105,7 +105,6 @@
Если РегистрироватьНаУзлахПлановОбмена = Неопределено
Или Не РегистрироватьНаУзлахПлановОбмена Тогда
НаборЗаписей.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
НаборЗаписей.ОбменДанными.Получатели.АвтоЗаполнение = Ложь;
КонецЕсли;
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.5.248";
Описание.Версия = "3.1.5.256";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -2009,6 +2009,7 @@
КонецЕсли;
СвязанноеПоле.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
Поле.Заголовок = СвязанноеПоле.Заголовок;
Иначе // Поле ввода.
СвойстваПоля = СвойстваЭлементов.Поля.Найти(Элемент.ИндексНастройки, "ИндексНастройки");
ЗаполнитьЗначенияСвойств(Поле, СвойстваПоля,, "ПоложениеЗаголовка");
@@ -2020,6 +2021,12 @@
Заголовок = СвязанноеПоле.Заголовок;
КонецЕсли;
Поле.ПодсказкаВвода = Заголовок;
Поле.Подсказка = Поле.ПодсказкаВвода;
Иначе
Поле.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Авто;
КонецЕсли;
Если ТипЗнч(СвязанноеПоле) = Тип("ДекорацияФормы") Тогда
СвязанноеПоле.Заголовок = " ";
Иначе
@@ -2027,10 +2034,6 @@
СвязанноеПоле.ГоризонтальноеПоложениеВГруппе = ГоризонтальноеПоложениеЭлемента.Право;
КонецЕсли;
Поле.ПодсказкаВвода = Заголовок;
Поле.Подсказка = Поле.ПодсказкаВвода;
КонецЕсли;
Если Элемент.ЭтоФлажок Тогда
Поле.Видимость = Ложь;
Продолжить;
@@ -2098,10 +2101,17 @@
Функция ВыводитьЗаголовкиНастроек(Форма)
Если Форма.ИмяФормы = Метаданные.ОбщиеФормы.ФормаОтчета.ПолноеИмя() Тогда
Возврат Форма.ВыводитьЗаголовкиНастроек;
РеквизитыФормы = Форма.ПолучитьРеквизиты();
ИмяИскомогоРеквизита = "ВыводитьЗаголовкиНастроек";
Для Каждого Реквизит Из РеквизитыФормы Цикл
Если Реквизит.Имя = ИмяИскомогоРеквизита Тогда
Возврат Форма[ИмяИскомогоРеквизита];
КонецЕсли;
КонецЦикла;
Возврат Истина;
КонецФункции
@@ -841,57 +841,129 @@
Возврат;
КонецЕсли;
Для Каждого Том Из ДоступныеТома() Цикл
ОчиститьУдаленныеФайлыВТоме(Том);
ОбрабатываемыеТома = ДоступныеТома();
ОписаниеТомов = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(ОбрабатываемыеТома,
"Ссылка, ВремяПоследнейОчисткиФайлов, ПометкаУдаления, ПолныйПутьLinux, ПолныйПутьWindows");
ОбрабатываемыеКаталоги = Новый Соответствие; // несколько томов могут хранить файлы в одном каталоге
Для Каждого ОписаниеТома Из ОписаниеТомов Цикл
КорневойКаталог = ПолныйПутьТома(ОписаниеТома.Ключ);
КаталогПоискаУдаляемыхФайлов = ОбрабатываемыеКаталоги[КорневойКаталог];
Если КаталогПоискаУдаляемыхФайлов = Неопределено Тогда
КаталогПоискаУдаляемыхФайлов = КаталогПоискаУдаляемыхФайлов(КорневойКаталог);
ОбрабатываемыеКаталоги.Вставить(КорневойКаталог, КаталогПоискаУдаляемыхФайлов);
КонецЕсли;
ДобавитьТом(КаталогПоискаУдаляемыхФайлов, ОписаниеТома.Значение);
КонецЦикла;
Для Каждого Том Из ОбрабатываемыеКаталоги Цикл
ОчиститьУдаленныеФайлыВТоме(Том.Значение);
КонецЦикла;
КонецПроцедуры
// Параметры:
// Том - СправочникСсылка.ТомаХраненияФайлов
// Путь - Строка - Путь
//
Процедура ОчиститьУдаленныеФайлыВТоме(Том)
РеквизитыТома = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Том, "ВремяПоследнейОчисткиФайлов, ПометкаУдаления, ПолныйПутьLinux, ПолныйПутьWindows");
// Возвращаемое значение:
// Структура - Каталог поиска удаляемых файлов:
// * Путь - Строка
// * Тома - ТаблицаЗначений:
// ** Ссылка - СправочникСсылка.ТомаХраненияФайлов
// ** ВремяПоследнейОчисткиФайлов - Дата
// ** ПометкаУдаления - Булево
// * ВремяПоследнейОчисткиФайлов - Дата
// * Обрабатывать - Булево
//
Функция КаталогПоискаУдаляемыхФайлов(Путь)
Каталог = Новый Структура;
Каталог.Вставить("Путь", Путь);
ТаблицаТомов = Новый ТаблицаЗначений;
ТаблицаТомов.Колонки.Добавить("Ссылка", Новый ОписаниеТипов("СправочникСсылка.ТомаХраненияФайлов"));
ТаблицаТомов.Колонки.Добавить("ВремяПоследнейОчисткиФайлов", Новый ОписаниеТипов("Дата"));
ТаблицаТомов.Колонки.Добавить("ПометкаУдаления", Новый ОписаниеТипов("Булево"));
Каталог.Вставить("Тома", ТаблицаТомов);
Каталог.Вставить("ВремяПоследнейОчисткиФайлов", Дата(1,1,1));
Каталог.Вставить("Обрабатывать", Истина);
Возврат Каталог;
КонецФункции
// Параметры:
// КаталогПоискаУдаляемыхФайлов - см. КаталогПоискаУдаляемыхФайлов
//
Процедура ДобавитьТом(КаталогПоискаУдаляемыхФайлов, Том)
// Не обрабатываем тома помеченные на удаление.
Если Том.ПометкаУдаления <> Неопределено И Том.ПометкаУдаления Тогда
КаталогПоискаУдаляемыхФайлов.Обрабатывать = Ложь;
Возврат;
КонецЕсли;
// При использовании разделения и общих томов (нет разделения на области в томах) нет возможности
// отделить удаленные файлы и файлы других областей.
Если ОбщегоНазначения.РазделениеВключено()
И (ЗначениеЗаполнено(РеквизитыТома.ПолныйПутьLinux) И СтрНайти(РеквизитыТома.ПолныйПутьLinux, "%z") = 0
ИЛИ ЗначениеЗаполнено(РеквизитыТома.ПолныйПутьWindows) И СтрНайти(РеквизитыТома.ПолныйПутьWindows, "%z") = 0) Тогда
И (ЗначениеЗаполнено(Том.ПолныйПутьLinux) И СтрНайти(Том.ПолныйПутьLinux, "%z") = 0
ИЛИ ЗначениеЗаполнено(Том.ПолныйПутьWindows) И СтрНайти(Том.ПолныйПутьWindows, "%z") = 0) Тогда
КаталогПоискаУдаляемыхФайлов.Обрабатывать = Ложь;
Возврат;
КонецЕсли;
Если РеквизитыТома.ПометкаУдаления <> Неопределено И РеквизитыТома.ПометкаУдаления Тогда
ВремяПоследнейОчисткиФайлов = ?(КаталогПоискаУдаляемыхФайлов.ВремяПоследнейОчисткиФайлов < Том.ВремяПоследнейОчисткиФайлов,
Том.ВремяПоследнейОчисткиФайлов,
КаталогПоискаУдаляемыхФайлов.ВремяПоследнейОчисткиФайлов);
КаталогПоискаУдаляемыхФайлов.ВремяПоследнейОчисткиФайлов = ВремяПоследнейОчисткиФайлов;
СтрокаТома = КаталогПоискаУдаляемыхФайлов.Тома.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТома, Том);
КонецПроцедуры
// Параметры:
// Каталог - см. КаталогПоискаУдаляемыхФайлов
//
Процедура ОчиститьУдаленныеФайлыВТоме(Каталог)
Если НЕ Каталог.Обрабатывать Тогда
Возврат;
КонецЕсли;
ВремяПоследнейОчистки = РеквизитыТома.ВремяПоследнейОчисткиФайлов;
КорневойКаталог = ПолныйПутьТома(Том);
ВремяПоследнейОчистки = Каталог.ВремяПоследнейОчисткиФайлов;
КорневойКаталог = Каталог.Путь;
ФайлыДляУдаления = ФайлыДляУдаления(КорневойКаталог, ВремяПоследнейОчистки);
Для Каждого Файл Из УдаленныеФайлы(Том, КорневойКаталог, ФайлыДляУдаления) Цикл
Для Каждого Файл Из УдаленныеФайлы(Каталог.Тома, КорневойКаталог, ФайлыДляУдаления) Цикл
ЗаписьЖурналаРегистрации(НСтр("ru='Работа с файлами.Очистка файлов'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация,
Метаданные.Справочники.ТомаХраненияФайлов,
,
НСтр("ru='Удален файл:'") + Символы.НПП + Файл);
УдалитьФайл(Файл);
КонецЦикла;
Том = Новый Структура("Ссылка");
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных();
Элемент = Блокировка.Добавить(Том.Метаданные().ПолноеИмя());
Элемент.УстановитьЗначение("Ссылка", Том);
Элемент = Блокировка.Добавить(Метаданные.Справочники.ТомаХраненияФайлов.ПолноеИмя());
Элемент.ИсточникДанных = Каталог.Тома;
Элемент.ИспользоватьИзИсточникаДанных("Ссылка", "Ссылка");
Блокировка.Заблокировать();
ТомОбъект = Том.ПолучитьОбъект();
Для каждого Том Из Каталог.Тома Цикл
ТомОбъект = Том.Ссылка.ПолучитьОбъект();
ТомОбъект.ВремяПоследнейОчисткиФайлов = ТекущаяУниверсальнаяДата();
ТомОбъект.Записать();
КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
Ошибка = ИнформацияОбОшибке();
ЗаписьЖурналаРегистрации(НСтр("ru='Работа с файлами.Очистка файлов'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,
Том.Метаданные(),
Том,
Метаданные.Справочники.ТомаХраненияФайлов,
Том.Ссылка,
ПодробноеПредставлениеОшибки(Ошибка));
КонецПопытки;
@@ -907,7 +979,7 @@
// Возвращаемое значение:
// Массив из Файл
//
Функция УдаленныеФайлы(Том, КорневойКаталог, ФайлыДляУдаления)
Функция УдаленныеФайлы(Тома, КорневойКаталог, ФайлыДляУдаления)
Результат = Новый Массив;
ТаблицаФайлы = Новый ТаблицаЗначений();
@@ -920,7 +992,7 @@
КонецЦикла;
Запрос = ЗапросПроверкиСуществованияФайлов(ТаблицаФайлы);
Запрос.УстановитьПараметр("Том", Том);
Запрос.УстановитьПараметр("Тома", Тома);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
@@ -960,7 +1032,7 @@
|ИЗ
| Файлы КАК Файлы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ &СправочникПрисоединенныхФайлов КАК ПрисоединенныеФайлы
| ПО ПрисоединенныеФайлы.Том = &Том
| ПО ПрисоединенныеФайлы.Том В (&Тома)
| И ВЫРАЗИТЬ(ПрисоединенныеФайлы.ПутьКФайлу КАК Строка(1024)) = Файлы.Путь";
ТипыПрисоединенныхФайлов = Метаданные.ОпределяемыеТипы.ПрисоединенныйФайл.Тип.Типы();
@@ -247,8 +247,9 @@
КонецЕсли;
Если ЕстьОфлайн Тогда
СписокВыбора.Добавить(СервисКриптографииDSSКлиентСервер.ПредопределенныйТипАвторизации(),
ПолучитьПредставлениеСпособа(ПредопределенноеЗначение("Перечисление.СпособыАвторизацииDSS.Вторичный_ОфлайнПодтверждение"), ДанныеПодтверждения, НастройкиПользователя));
ОписаниеСпособа = СервисКриптографииDSSКлиентСервер.ПредопределенныйТипАвторизации();
СписокВыбора.Добавить(ОписаниеСпособа.Тип,
ПолучитьПредставлениеСпособа(ОписаниеСпособа.Тип, ДанныеПодтверждения, НастройкиПользователя));
КонецЕсли;
Если СписокВыбора.НайтиПоЗначению(ДанныеПодтверждения.ВторичнаяАвторизация) = Неопределено Тогда
@@ -727,7 +727,7 @@
ОписаниеОбъекта = ОбъектУчетнойЗаписи.Метаданные().Реквизиты;
Для каждого СтрокаКлюча Из НастройкиУчетнойЗаписи Цикл
Если ОписаниеОбъекта.Найти(СтрокаКлюча.Ключ) <> Неопределено Тогда
ЕстьИзменения = СтрокаКлюча.Значение <> ОбъектУчетнойЗаписи[СтрокаКлюча.Ключ];
ЕстьИзменения = ЕстьИзменения ИЛИ СтрокаКлюча.Значение <> ОбъектУчетнойЗаписи[СтрокаКлюча.Ключ];
КонецЕсли;
КонецЦикла;
Иначе
@@ -1121,7 +1121,11 @@
// * ИНН - Строка - (12) - извлекается из поля INN.
// ФЛ - ИНН.
// ИП - ИНН.
// ЮЛ - не обязательно, но может быть заполнен для целей взаимодействия с ФНС.
// ЮЛ - не обязательно, но может быть заполнен в старых сертификатах.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ИННЮЛ - Строка - (10) - извлекается из поля INNLE.
// ЮЛ - обязательно, но может отсутствовать в старых сертификатах.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * Фамилия - Строка - (64) - извлекается из поля SN, если заполнено.
@@ -1181,6 +1185,11 @@
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ИНН - Строка - (12) - извлекается из поля INN - ИНН организации удостоверяющего центра.
// ЮЛ - необязательно, но может присутствовать в старых сертификатах.
// - Неопределено - такое свойство сертификата отсутствует.
//
// * ИННЮЛ - Строка - (10) - извлекается из поля INNLE - ИНН организации удостоверяющего центра.
// ЮЛ - обязательно, но может отсутствовать в старых сертификатах.
// - Неопределено - такое свойство сертификата отсутствует.
//
Функция СвойстваИздателяСертификата(Сертификат) Экспорт
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a1810428-425d-11ec-2186-0242ac110002">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="393c5976-490b-11ec-2d84-0242ac110002">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="a1810429-425d-11ec-2186-0242ac110002"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="a181045a-425d-11ec-2186-0242ac110002"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="a181045b-425d-11ec-2186-0242ac110002"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="a1810464-425d-11ec-2186-0242ac110002"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="a1810465-425d-11ec-2186-0242ac110002"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="a1810466-425d-11ec-2186-0242ac110002"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="4101ffa9-987f-4a2a-8594-da7129d5bba3"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="393c5977-490b-11ec-2d84-0242ac110002"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="393c5994-490b-11ec-2d84-0242ac110002"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="393c599e-490b-11ec-2d84-0242ac110002"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="393c599f-490b-11ec-2d84-0242ac110002"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="393c59a8-490b-11ec-2d84-0242ac110002"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="393c59a9-490b-11ec-2d84-0242ac110002"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="ab5b07d3-6d2d-42bb-be63-b0158e00d897"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.5.248</version>
<version>3.1.5.256</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,e2432bee-425d-11ec-7f8c-0242ac110002,1,d248af84-425d-11ec-ff97-0242ac110002,"3.1.5.248","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6467,1,0,a1810428-425d-11ec-2186-0242ac110002,a1810428-425d-11ec-2186-0242ac110002,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63Line truncated
{6,1,1,7929717c-490b-11ec-f68b-0242ac110002,1,69c86454-490b-11ec-199a-0242ac110002,"3.1.5.256","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6467,1,0,393c5976-490b-11ec-2d84-0242ac110002,393c5976-490b-11ec-2d84-0242ac110002,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63Line truncated
@@ -1657,17 +1657,18 @@
ВыполняетсяЗадание = Ложь;
Если Результат.Статус = "Ошибка" Тогда
УстановитьСостояниеВыбораПомеченныхНаУдалениеСПанельюСостояния();
ЗаполнитьИнформациюОшибкамиФоновогоЗадания(ЭтотОбъект, Результат);
СведенияОРезультатахУдаления = УдалениеПомеченныхОбъектовСлужебныйКлиентСервер.НовыйСведенияОРезультатахУдаления();
СведенияОРезультатахУдаления = ОбработатьРезультатУдаленияОшибка(ЭтотОбъект, Результат);
ИначеЕсли Результат.Статус = "Выполнено" Тогда
СведенияОРезультатахУдаления = ЗагрузитьРезультатУдаления(
Результат, УникальныйИдентификаторСУчетомВладельца(), СведенияОРезультатахУдаления);
ОбработатьРезультатВыполненияУдаления(СведенияОРезультатахУдаления);
СведенияОРезультатахУдаления = ОбработатьРезультатУдаленияУспех(
Результат,
УникальныйИдентификаторСУчетомВладельца(),
СведенияОРезультатахУдаления);
ОбщегоНазначенияКлиент.ОповеститьОбИзмененииОбъектов(СведенияОРезультатахУдаления.Удаленные);
КонецЕсли;
УстановитьМонопольныйРежимНаСервере(Ложь);
ПослеЗавершенияФоновогоЗадания(Результат);
Если УдалятьПриОткрытии И СведенияОРезультатахУдаления.Успешно Тогда
@@ -1675,10 +1676,31 @@
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ОбработатьРезультатУдаленияОшибка(ЭтотОбъект, Результат)
УстановитьСостояниеВыбораПомеченныхНаУдалениеСПанельюСостояния();
ЗаполнитьИнформациюОшибкамиФоновогоЗадания(ЭтотОбъект, Результат);
УстановитьМонопольныйРежимНаСервере(Ложь);
Возврат УдалениеПомеченныхОбъектовСлужебныйКлиентСервер.НовыйСведенияОРезультатахУдаления();
КонецФункции
&НаСервере
Функция ОбработатьРезультатУдаленияУспех(Результат, УникальныйИдентификаторФормы, СведенияОРезультатахУдаления)
СведенияОРезультатахУдаления = ЗагрузитьРезультатУдаления(
Результат,
УникальныйИдентификаторФормы,
СведенияОРезультатахУдаления);
ОбработатьРезультатВыполненияУдаления(СведенияОРезультатахУдаления);
УстановитьМонопольныйРежимНаСервере(Ложь);
Возврат СведенияОРезультатахУдаления;
КонецФункции
// Параметры:
// СведенияОРезультатахУдаления - см. УдалениеПомеченныхОбъектовСлужебныйКлиентСервер.НовыйСведенияОРезультатахУдаления
//
&НаКлиенте
&НаСервере
Процедура ОбработатьРезультатВыполненияУдаления(СведенияОРезультатахУдаления)
Если НеУдаленные.ПолучитьЭлементы().Количество() > 0 Тогда
@@ -298,7 +298,7 @@
Контекст = Новый Структура;
ПередУдалениемГруппыОбъектов(
Контекст,
ОбщегоНазначения.ФиксированныеДанные(СсылкиНаУдаляемыеОбъекты),
ОбщегоНазначения.ФиксированныеДанные(СсылкиНаУдаляемыеОбъекты, Ложь),
СтандартнаяОбработка);
Если Не СтандартнаяОбработка Тогда
@@ -45,7 +45,9 @@
ВерсияРасширений = ?(БезУчетаВерсииРасширений, Справочники.ВерсииРасширений.ПустаяСсылка(), ПараметрыСеанса.ВерсияРасширений);
НаборЗаписей = СоздатьНаборЗаписей();
НаборЗаписей = РегистрыСведений.ПараметрыРаботыПрограммы.СлужебныйНаборЗаписей(
РегистрыСведений.ПараметрыРаботыВерсийРасширений);
НаборЗаписей.Отбор.ВерсияРасширений.Установить(ВерсияРасширений);
НаборЗаписей.Отбор.ИмяПараметра.Установить(ИмяПараметра);
@@ -54,8 +56,6 @@
НоваяЗапись.ИмяПараметра = ИмяПараметра;
НоваяЗапись.ХранилищеПараметра = Новый ХранилищеЗначения(Значение);
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.ДополнительныеСвойства.Вставить("НеВыполнятьКонтрольУдаляемых");
НаборЗаписей.Записать();
КонецПроцедуры
@@ -141,16 +141,14 @@
НачатьТранзакцию();
Попытка
НаборЗаписей = РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений.СоздатьНаборЗаписей();
НаборЗаписей = РегистрыСведений.ПараметрыРаботыПрограммы.СлужебныйНаборЗаписей(
РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений);
НаборЗаписей.Отбор.ВерсияРасширений.Установить(ПараметрыСеанса.ВерсияРасширений);
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.ДополнительныеСвойства.Вставить("НеВыполнятьКонтрольУдаляемых");
НаборЗаписей.Записать();
НаборЗаписей = СоздатьНаборЗаписей();
НаборЗаписей = РегистрыСведений.ПараметрыРаботыПрограммы.СлужебныйНаборЗаписей(
РегистрыСведений.ПараметрыРаботыВерсийРасширений);
НаборЗаписей.Отбор.ВерсияРасширений.Установить(ПараметрыСеанса.ВерсияРасширений);
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.ДополнительныеСвойства.Вставить("НеВыполнятьКонтрольУдаляемых");
НаборЗаписей.Записать();
ИнтеграцияПодсистемБСП.ПриОчисткеВсехПараметровРаботыРасширений();
@@ -867,15 +867,14 @@
// Для процедур УстановитьПараметрРаботыПрограммы, ДобавитьИзмененияПараметраРаботыПрограммы.
Процедура УстановитьХранимыеДанныеПараметраРаботыПрограммы(ИмяПараметра, ХранимыеДанные)
НаборЗаписей = СоздатьНаборЗаписей();
НаборЗаписей.ДополнительныеСвойства.Вставить("НеВыполнятьКонтрольУдаляемых");
НаборЗаписей = СлужебныйНаборЗаписей(РегистрыСведений.ПараметрыРаботыПрограммы);
НаборЗаписей.Отбор.ИмяПараметра.Установить(ИмяПараметра);
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.ИмяПараметра = ИмяПараметра;
НоваяЗапись.ХранилищеПараметра = Новый ХранилищеЗначения(ХранимыеДанные);
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей, , Ложь, Ложь);
НаборЗаписей.Записать();
КонецПроцедуры
@@ -998,6 +997,26 @@
КонецФункции
// Создает набор записей служебного регистра, который не участвует в подписках на события.
//
// Параметры:
// МенеджерРегистра - РегистрСведенийМенеджер
//
// Возвращаемое значение:
// РегистрСведенийНаборЗаписей
//
Функция СлужебныйНаборЗаписей(МенеджерРегистра) Экспорт
НаборЗаписей = МенеджерРегистра.СоздатьНаборЗаписей();
НаборЗаписей.ДополнительныеСвойства.Вставить("НеВыполнятьКонтрольУдаляемых");
НаборЗаписей.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
НаборЗаписей.ОбменДанными.Получатели.АвтоЗаполнение = Ложь;
НаборЗаписей.ОбменДанными.Загрузка = Истина;
Возврат НаборЗаписей;
КонецФункции
#КонецОбласти
#КонецЕсли
@@ -1194,6 +1194,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.СценарииОбменовДанными</name>
<right>
@@ -3294,93 +3381,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ИспользуютсяПрофилиБезопасности</name>
<right>
@@ -14,6 +14,37 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
@@ -76,37 +107,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -1732,6 +1732,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Task.ЗадачаИсполнителя</name>
<right>
@@ -4653,45 +4692,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ГруппыПользователей</name>
<right>