#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
ОчиститьИЗакрыть = Параметры.ОчиститьИЗакрыть;
Элементы.КоманднаяПанельДиалога.Видимость = Ложь;
ОбновитьВидимостьДоступность(ЭтотОбъект, Истина);
Если ОчиститьИЗакрыть Тогда
ЧиститьУдаляемые = Ложь;
Элементы.ПредупреждениеНадпись.Заголовок =
НСтр("ru = 'Отложенное обновление <a href = %1>не завершено</a>. Рекомендуется завершить обновление и выполнить очистку перед обновлением конфигурации.'");
СтандартныеПодсистемыСервер.СброситьРазмерыИПоложениеОкна(ЭтотОбъект);
Элементы.ГруппаПояснение.Видимость = Ложь;
Элементы.ОбрабатыватьОбластиДанных.Видимость = Ложь;
Элементы.КоманднаяПанельФормы.Видимость = Ложь;
Если ОтложенноеОбновлениеЗавершено Тогда
ДлительнаяОперацияОчистки = НачатьОчисткуНаСервере();
Иначе
ДлительнаяОперацияОбновления = НачатьОбновлениеНаСервере();
Элементы.ГруппаПредупреждение.Видимость = Ложь;
КонецЕсли;
Иначе
НавигационнаяСсылка = "e1cib/app/Обработка.РезультатыОбновленияПрограммы.Форма.ОчисткаУстаревшихДанных";
ДлительнаяОперацияОбновления = НачатьОбновлениеНаСервере();
Элементы.УстаревшиеДанныеОбластьДанных.Формат = "ЧН=0";
КонецЕсли;
Элементы.ПредупреждениеНадпись.Заголовок = СтроковыеФункции.ФорматированнаяСтрока(
Элементы.ПредупреждениеНадпись.Заголовок, "ОткрытьРезультатыОбновления");
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбновлениеВерсииИБВМоделиСервиса") Тогда
МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса");
ОтчетПрогрессОбновления = МодульОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса.ОтчетПрогрессОбновления();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если Не ОчиститьИЗакрыть
Или Не ОтложенноеОбновлениеЗавершено Тогда
Обновить(Неопределено);
Иначе
Очистить(Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если ЗавершениеРаботы Тогда
Возврат;
КонецЕсли;
ОтменитьДлительныеОперации();
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "ВыполненВыходИзОбластиДанных"
Или ИмяСобытия = "ВыполненВходВОбластьДанных" Тогда
ПодключитьОбработчикОжидания("ПриИзмененииОбластиДанных", 0.1, Истина);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ПредупреждениеНадписьОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если НавигационнаяСсылкаФорматированнойСтроки <> "ОткрытьРезультатыОбновления" Тогда
Возврат;
КонецЕсли;
Если НеразделенныйРежим И ЗначениеЗаполнено(ОтчетПрогрессОбновления) Тогда
ОткрытьФорму(ОтчетПрогрессОбновления);
Иначе
ОткрытьФорму("Обработка.РезультатыОбновленияПрограммы.Форма");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбрабатыватьОбластиДанныхПриИзменении(Элемент)
УстаревшиеДанные.Очистить();
ОбновитьВидимостьДоступность(ЭтотОбъект, Истина);
Обновить("");
КонецПроцедуры
&НаКлиенте
Процедура ВывестиКоличествоПриИзменении(Элемент)
Если ВывестиКоличество Тогда
УстаревшиеДанные.Очистить();
КонецЕсли;
ОбновитьВидимостьДоступность(ЭтотОбъект);
Обновить("");
КонецПроцедуры
&НаКлиенте
Процедура ЧиститьУдаляемыеПриИзменении(Элемент)
УстаревшиеДанные.Очистить();
Обновить("");
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ПродолжитьБезОчистки(Команда)
Закрыть(Истина);
КонецПроцедуры
&НаКлиенте
Процедура ОтменитьОбновлениеКонфигурации(Команда)
Закрыть(Ложь);
КонецПроцедуры
&НаКлиенте
Процедура Обновить(Команда)
Элементы.ОбрабатыватьОбластиДанных.Доступность = Истина;
Элементы.ВывестиКоличество.Доступность = Истина;
Элементы.ЧиститьУдаляемые.Доступность = Истина;
Если Команда <> Неопределено Тогда
ДлительнаяОперацияОбновления = НачатьОбновлениеНаСервере();
КонецЕсли;
УстановитьПрогресс(0);
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ПараметрыОжидания.ОповещениеОПрогрессеВыполнения =
Новый ОписаниеОповещения("ОбновитьПриПолученииПрогресса",
ЭтотОбъект, ДлительнаяОперацияОбновления);
ОповещениеОЗавершении = Новый ОписаниеОповещения("ОбновитьЗавершение",
ЭтотОбъект, ДлительнаяОперацияОбновления);
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперацияОбновления,
ОповещениеОЗавершении, ПараметрыОжидания);
КонецПроцедуры
&НаКлиенте
Процедура Очистить(Команда)
Если ОтложенноеОбновлениеЗавершено Тогда
ОчиститьПослеПодтверждения(Новый Структура("Значение", "Продолжить"), Команда);
Возврат;
КонецЕсли;
ОбработкаЗавершения = Новый ОписаниеОповещения(
"ОчиститьПослеПодтверждения", ЭтотОбъект, Команда);
ТекстВопроса =
НСтр("ru = 'Отложенное обновление не завершено.
|Очистка может удалить данные, которые требуются для завершения обновления.
|
|Сделайте резервную копию, если она еще не сделана.'");
Кнопки = Новый СписокЗначений;
Кнопки.Добавить("Продолжить", НСтр("ru = 'Продолжить'"));
Кнопки.Добавить("Отмена", НСтр("ru = 'Отмена'"));
ДополнительныеПараметры = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю();
ДополнительныеПараметры.Заголовок = НСтр("ru = 'Очистка устаревших данных'");
ДополнительныеПараметры.ПредлагатьБольшеНеЗадаватьЭтотВопрос = Ложь;
ДополнительныеПараметры.КнопкаПоУмолчанию = "Отмена";
СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(ОбработкаЗавершения,
ТекстВопроса, Кнопки, ДополнительныеПараметры);
КонецПроцедуры
&НаКлиенте
Процедура ПланОчистки(Команда)
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.УстановитьТекст(ПланОчисткиНаСервере(ЧиститьУдаляемые, ОбрабатыватьОбластиДанных));
ТекстовыйДокумент.Показать(НСтр("ru = 'План очистки устаревших данных'"));
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура УстановитьУсловноеОформление()
УсловноеОформление.Элементы.Очистить();
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.УстаревшиеДанныеОбластьДанных.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("УстаревшиеДанные.ОбластьДанных");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборЭлемента.ПравоеЗначение = -1;
Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Общие данные'"));
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура ОбновитьВидимостьДоступность(Форма, ОбновитьРезультатОтложенногоОбновления = Ложь)
Элементы = Форма.Элементы;
Если ОбновитьРезультатОтложенногоОбновления Тогда
Форма.ОтложенноеОбновлениеЗавершено = ОтложенноеОбновлениеЗавершено(Форма.НеразделенныйРежим);
КонецЕсли;
Элементы.ГруппаПредупреждение.Видимость = Не Форма.ОтложенноеОбновлениеЗавершено;
Элементы.ОбрабатыватьОбластиДанных.Видимость = Форма.НеразделенныйРежим;
Элементы.УстаревшиеДанныеОбластьДанных.Видимость =
Форма.НеразделенныйРежим И Форма.ОбрабатыватьОбластиДанных;
Элементы.УстаревшиеДанныеКоличество.Видимость = Форма.ВывестиКоличество;
Элементы.УстаревшиеДанные.Шапка =
Элементы.УстаревшиеДанныеКоличество.Видимость
Или Элементы.УстаревшиеДанныеОбластьДанных.Видимость;
Элементы.УстаревшиеДанные.ВысотаШапки =
?(Элементы.УстаревшиеДанныеКоличество.Видимость, 2, 1);
Элементы.ФормаОчистить.Доступность = Форма.УстаревшиеДанные.Количество() > 0;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ОтложенноеОбновлениеЗавершено(НеразделенныйРежим)
НеразделенныйРежим = Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных();
Возврат ОбновлениеИнформационнойБазыСлужебный.ОтложенноеОбновлениеЗавершено();
КонецФункции
&НаКлиенте
Процедура ПриИзмененииОбластиДанных()
Обновить("");
КонецПроцедуры
&НаСервере
Процедура ОтменитьДлительныеОперации()
Если ДлительнаяОперацияОбновления <> Неопределено Тогда
ДлительныеОперации.ОтменитьВыполнениеЗадания(
ДлительнаяОперацияОбновления.ИдентификаторЗадания);
ДлительнаяОперацияОбновления = Неопределено;
КонецЕсли;
Если ДлительнаяОперацияОчистки <> Неопределено Тогда
ДлительныеОперации.ОтменитьВыполнениеЗадания(
ДлительнаяОперацияОчистки.ИдентификаторЗадания);
ДлительнаяОперацияОчистки = Неопределено;
КонецЕсли;
Если ЗначениеЗаполнено(АдресРезультатаОбновления) Тогда
УдалитьИзВременногоХранилища(АдресРезультатаОбновления);
АдресРезультатаОбновления = "";
КонецЕсли;
Если ЗначениеЗаполнено(АдресРезультатаОчистки) Тогда
УдалитьИзВременногоХранилища(АдресРезультатаОчистки);
АдресРезультатаОчистки = "";
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьПрогресс(Процент)
Элементы.ДлительнаяОперацияПроцент.Заголовок =
Формат(Процент, "ЧН=0") + "%";
КонецПроцедуры
&НаСервере
Функция НачатьОбновлениеНаСервере()
ОбновитьВидимостьДоступность(ЭтотОбъект, Истина);
УстаревшиеДанные.Очистить();
Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаДлительнаяОперация;
Элементы.ДлительнаяОперацияТекст.Заголовок =
НСтр("ru = 'Обновление списка устаревших данных ...'");
ОтменитьДлительныеОперации();
АдресРезультатаОбновления = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.ОжидатьЗавершение = 0;
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Обновление списка устаревших данных'");
ПараметрыВыполнения.АдресРезультата = АдресРезультатаОбновления;
ПараметрыВыполнения.СРасширениямиБазыДанных = Истина;
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("ВывестиКоличество", ВывестиКоличество);
ПараметрыЗадания.Вставить("ЧиститьУдаляемые", ЧиститьУдаляемые);
ПараметрыЗадания.Вставить("ОбрабатыватьОбластиДанных", ОбрабатыватьОбластиДанных);
Результат = ДлительныеОперации.ВыполнитьВФоне(
"ОбновлениеИнформационнойБазыСлужебный.СформироватьСписокУстаревшихДанныхВФоне",
ПараметрыЗадания, ПараметрыВыполнения);
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура ОбновитьПриПолученииПрогресса(Результат, ДополнительныеПараметры) Экспорт
Если ДополнительныеПараметры <> ДлительнаяОперацияОбновления Тогда
Возврат;
КонецЕсли;
Если Результат.Прогресс <> Неопределено Тогда
УстановитьПрогресс(Результат.Прогресс.Процент);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если ДополнительныеПараметры <> ДлительнаяОперацияОбновления Тогда
Возврат;
КонецЕсли;
ИнформацияОбОшибке = Неопределено;
ЕстьОшибка = Ложь;
ЗавершитьОбновлениеНаСервере(Результат, ЕстьОшибка);
Если ИнформацияОбОшибке <> Неопределено Тогда
СтандартныеПодсистемыКлиент.ВывестиИнформациюОбОшибке(ИнформацияОбОшибке);
КонецЕсли;
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ПоказатьПредупреждение(, ТекстОшибки);
КонецЕсли;
Если Не ОчиститьИЗакрыть Тогда
ОбновитьВидимостьДоступность(ЭтотОбъект);
Возврат;
КонецЕсли;
Если ЕстьОшибка Или УстаревшиеДанные.Количество() > 0 Тогда
ОбновитьВидимостьДоступность(ЭтотОбъект);
Элементы.Страницы.Видимость = Ложь;
Элементы.КоманднаяПанельДиалога.Видимость = Истина;
Элементы.ОтменитьОбновлениеКонфигурации.КнопкаПоУмолчанию = Истина;
Возврат;
КонецЕсли;
Закрыть(Истина);
КонецПроцедуры
&НаСервере
Процедура ЗавершитьОбновлениеНаСервере(Знач Результат, ЕстьОшибка)
ДлительнаяОперацияОбновления = Неопределено;
Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаУстаревшиеДанные;
Если ЗначениеЗаполнено(АдресРезультатаОбновления) Тогда
Данные = ПолучитьИзВременногоХранилища(АдресРезультатаОбновления);
УдалитьИзВременногоХранилища(АдресРезультатаОбновления);
АдресРезультатаОбновления = "";
Иначе
Данные = Неопределено;
КонецЕсли;
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
ТекстОшибки = "";
Если Результат.Статус = "Ошибка" Тогда
ИнформацияОбОшибке = Результат.ИнформацияОбОшибке;
ИначеЕсли ТипЗнч(Данные) = Тип("ИнформацияОбОшибке") Тогда
ИнформацияОбОшибке = Данные;
ИначеЕсли Данные = Неопределено Тогда
ТекстОшибки = НСтр("ru = 'Фоновое задание не вернуло результат.
|Повторите попытку, нажав на кнопку Обновить.'");
КонецЕсли;
Если ИнформацияОбОшибке <> Неопределено Тогда
ЕстьОшибка = Истина;
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ЕстьОшибка = Истина;
Возврат;
КонецЕсли;
Для Каждого Строка Из Данные Цикл
ЗаполнитьЗначенияСвойств(УстаревшиеДанные.Добавить(), Строка);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОчиститьПослеПодтверждения(Ответ, Команда) Экспорт
Если Не ЗначениеЗаполнено(Ответ)
Или Ответ.Значение <> "Продолжить" Тогда
Возврат;
КонецЕсли;
Если Команда <> Неопределено Тогда
ДлительнаяОперацияОчистки = НачатьОчисткуНаСервере();
КонецЕсли;
УстановитьПрогресс(0);
Элементы.ОбрабатыватьОбластиДанных.Доступность = Ложь;
Элементы.ВывестиКоличество.Доступность = Ложь;
Элементы.ЧиститьУдаляемые.Доступность = Ложь;
Элементы.ФормаОчистить.Доступность = Ложь;
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
ПараметрыОжидания.ВыводитьОкноОжидания = Ложь;
ПараметрыОжидания.ОповещениеОПрогрессеВыполнения =
Новый ОписаниеОповещения("ОчиститьПриПолученииПрогресса",
ЭтотОбъект, ДлительнаяОперацияОчистки);
ОповещениеОЗавершении = Новый ОписаниеОповещения("ОчиститьЗавершение",
ЭтотОбъект, ДлительнаяОперацияОчистки);
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперацияОчистки,
ОповещениеОЗавершении, ПараметрыОжидания);
КонецПроцедуры
&НаСервере
Функция НачатьОчисткуНаСервере()
ОбновлениеИнформационнойБазыСлужебный.ОтменитьРегламентноеЗаданиеОчисткаУстаревшихДанных();
Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаДлительнаяОперация;
Элементы.ДлительнаяОперацияТекст.Заголовок =
НСтр("ru = 'Очистка устаревших данных ...'");
ОтменитьДлительныеОперации();
АдресРезультатаОчистки = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.ОжидатьЗавершение = 0;
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НСтр("ru = 'Очистка устаревших данных'");
ПараметрыВыполнения.АдресРезультата = АдресРезультатаОчистки;
ПараметрыВыполнения.СРасширениямиБазыДанных = Истина;
ПараметрыВыполнения.КлючФоновогоЗадания = ОбновлениеИнформационнойБазыСлужебный.КлючЗаданияОчисткиУстаревшихДанных();
Если ОбщегоНазначения.РазделениеВключено() Тогда
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("ЧиститьУдаляемые", ЧиститьУдаляемые);
ПараметрыЗадания.Вставить("ОбрабатыватьОбластиДанных", ОбрабатыватьОбластиДанных);
Результат = ДлительныеОперации.ВыполнитьВФоне(
"ОбновлениеИнформационнойБазыСлужебный.ОчиститьУстаревшиеДанныеВФоне",
ПараметрыЗадания, ПараметрыВыполнения);
Иначе
НаборПараметровПроцедуры = Новый Структура;
НаборПараметровПроцедуры.Вставить("Контекст", Новый Структура("ЧиститьУдаляемые", ЧиститьУдаляемые));
НаборПараметровПроцедуры.Вставить("ИмяМетодаПолученияПорций",
"ОбновлениеИнформационнойБазыСлужебный.УстаревшиеДанныеПриЗапросеПорцийВФоне");
Результат = ДлительныеОперации.ВыполнитьПроцедуруВНесколькоПотоков(
"ОбновлениеИнформационнойБазыСлужебный.УстаревшиеДанныеПриОчисткеПорцииВФоне",
ПараметрыВыполнения, НаборПараметровПроцедуры);
КонецЕсли;
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура ОчиститьПриПолученииПрогресса(Результат, ДополнительныеПараметры) Экспорт
Если ДополнительныеПараметры <> ДлительнаяОперацияОчистки Тогда
Возврат;
КонецЕсли;
Если Результат.Прогресс <> Неопределено Тогда
УстановитьПрогресс(Результат.Прогресс.Процент);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОчиститьЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если ДополнительныеПараметры <> ДлительнаяОперацияОчистки Тогда
Возврат;
КонецЕсли;
ИнформацияОбОшибке = Неопределено;
ЕстьОшибка = Ложь;
ЗавершитьОчисткуНаСервере(Результат, ЕстьОшибка);
Если ИнформацияОбОшибке <> Неопределено Тогда
СтандартныеПодсистемыКлиент.ВывестиИнформациюОбОшибке(ИнформацияОбОшибке);
КонецЕсли;
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ПоказатьПредупреждение(, ТекстОшибки);
КонецЕсли;
Если ЕстьОшибка Тогда
Возврат;
КонецЕсли;
Если ОчиститьИЗакрыть Тогда
Закрыть(Истина);
Иначе
Обновить("");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗавершитьОчисткуНаСервере(Знач Результат, ЕстьОшибка)
ДлительнаяОперацияОчистки = Неопределено;
Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаУстаревшиеДанные;
Если ЗначениеЗаполнено(АдресРезультатаОчистки) Тогда
Результаты = ПолучитьИзВременногоХранилища(АдресРезультатаОчистки);
УдалитьИзВременногоХранилища(АдресРезультатаОчистки);
АдресРезультатаОчистки = "";
Иначе
Результаты = Неопределено;
КонецЕсли;
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Если ТипЗнч(Результаты) = Тип("ИнформацияОбОшибке") Тогда
ИнформацияОбОшибке = Результаты;
ЕстьОшибка = Истина;
Возврат;
КонецЕсли;
ТекстОшибки = "";
Если Результат.Статус = "Ошибка" Тогда
ИнформацияОбОшибке = Результат.ИнформацияОбОшибке;
Иначе
ТекстОшибки = ОбновлениеИнформационнойБазыСлужебный.ТекстОшибкиОчисткиУстаревшихДанных(Результаты);
КонецЕсли;
Если ИнформацияОбОшибке <> Неопределено Или ЗначениеЗаполнено(ТекстОшибки) Тогда
ЕстьОшибка = Истина;
Возврат;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПланОчисткиНаСервере(ЧиститьУдаляемые, ОбрабатыватьОбластиДанных)
Возврат ОбновлениеИнформационнойБазыСлужебный.ПланОчисткиУстаревшихДанных(
ЧиститьУдаляемые,, Не ОбрабатыватьОбластиДанных);
КонецФункции
#КонецОбласти