&НаКлиенте Процедура УдалитьДокумент(Команда) // Вставить содержимое обработчика. УдалитьДокументНаСервере(0); КонецПроцедуры &НаСервере Процедура УдалитьДокументНаСервере(ПометкаУдаления) // Вставить содержимое обработчика. Перем УдаляемыйДокумент; УдаляемыйДокумент =Документы.РасходнаяНакладная.НайтиПоНомеру("000000004"); Если ПометкаУдаления = 1 Тогда УдаляемыйДокумент.ПолучитьОбъект().УстановитьПометкуУдаления(Истина); Иначе УдаляемыйДокумент.ПолучитьОбъект().Удалить(); КонецЕсли; КонецПроцедуры
//Установить пометку удаления документа ТС=ЭлементыФормы.Список.ТекущиеДанные; ТД=Документы.РеализацияТоваровУслуг.НайтиПоНомеру(ТС.Номер, ТС.Дата); Если ТД.Пустая() Тогда Сообщить("Документ по номеру <такому то> не найден"); возврат; КонецЕсли; ТД.ПолучитьОбъект().УстановитьПометкуУдаления(Истина);
// Непосредственное удаление документов Запрос = Новый Запрос("ВЫБРАТЬ | Заказы.Ссылка |ИЗ | Документ.Заказы КАК Заказы |ГДЕ | Заказы.ПометкаУдаления = ИСТИНА"); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ОбъектДокумент = Выборка.Ссылка.ПолучитьОбъект(); ОбъектДокумент.Удалить(); КонецЦикла;
Д = СоздатьОбъект("Документ"); Д.ВыбратьДокументы(НачДата,КонДата); Пока Д.ПолучитьДокумент() = 1 Цикл Сообщить(Д.ТекущийДокумент()); Состояние(Д.ДатаДок); Д.Удалить(); КонецЦикла;