// УДАЛЕНИЕ **********************************************************************************************************************
//
Процедура ПоКнУдалить()
// ОБНУЛИМ ПЕРЕМЕННЫЕ
Перем Пер;
Перем СтрСЗ;
// СОЗДАДИМ ПЕРИОДИЧЕСКИЙ
Пер = СоздатьОбъект("Периодический");
// ОБНУЛИМ ПЕРЕМЕННЫЕ
ТекКоличество =0;
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
СтрокаСостояния();
// ПРОВЕРКА
Если ТЗ.Пометка = МеткиНет Тогда
Продолжить;
КонецЕсли;
// ОБНУЛИМ ПЕРЕМЕННЫЕ
ТекОбъект = "";
// ЗАПОМНИМ ПЕРЕМЕННЫЕ
ТекОбъект = ТЗ.Спр;
// ОБНУЛИМ ПЕРЕМЕННЫЕ
ТекРеквизит = "";
// ЗАПОМНИМ ПЕРЕМЕННЫЕ
ТекРеквизит = СЗ_Рекв.ПолучитьЗначение(СЗ_Рекв.ТекущаяСтрока(), СтрСЗ);
// ФИЛЬТР
Пер.ИспользоватьОбъект(ТекРеквизит, ТекОбъект);
// ПЕРЕБОР ЗНАЧЕНИЙ
Если Пер.ВыбратьЗначения(ТЗ.Дата, ТЗ.Дата) = 1 Тогда
Пока Пер.ПолучитьЗначение() = 1 Цикл
// ОБНУЛИМ ПЕРЕМЕННЫЕ
ТекДокумент = "";
// ЗАПОМНИМ ПЕРЕМЕННЫЕ
ТекДокумент = Пер.ТекущийДокумент();
// ПРОВЕРКА
Если ПустоеЗначение(ТекДокумент) = 0 Тогда
// СООБЩЕНИЕ
глпВыводСообщение("Пропущено значение " + СокрЛП(Пер.Значение) + " на дату " + СокрЛП(ТЗ.Дата) + ", введено документом " + глПредставлениеДокумента(ТекДокумент), глфВозвратФлагОтладка(ФлагОтладка));
Продолжить;
КонецЕсли;
// ПРОВЕРКА
Если Пер.Значение <> ТЗ.ЗнРекв Тогда
// СООБЩЕНИЕ
глпВыводСообщение("Пропущено значение " + СокрЛП(Пер.Значение) + " на дату " + СокрЛП(ТЗ.Дата) + ", отличается от выбранного значения " + СокрЛП(ТЗ.ЗнРекв), глфВозвратФлагОтладка(ФлагОтладка));
Продолжить;
КонецЕсли;
// ПОПЫТКА
Попытка
Пер.Удалить();
// СООБЩЕНИЕ
глпВыводСообщение("Удалено значение - " + СокрЛП(ТЗ.ЗнРекв) + " на дату " + СокрЛП(ТЗ.Дата), 1);
// СЧЕТЧИК
ТекКоличество = ТекКоличество + 1;
Исключение
// СООБЩЕНИЕ
глпВыводСообщение(ОписаниеОшибки(), 1, "!");
КонецПопытки;
КонецЦикла;
КонецЕсли;
КонецЦикла;
// ЗАПОЛНИМ ТЗ
Сформировать(РежимТЗ, 0);
// ПРЕДУПРЕЖДЕНИЕ
Предупреждение("Выполнено!", 60);
// СООБЩЕНИЕ
глпВыводСообщение("Удалено - "+ Строка(ТекКоличество) +" значений", 1);
КонецПроцедуры // ПоКнУдалить()
Показать