Как удалить все документы за определенный период (за определенную дату) в 1С:Предприятие 8.2?
Как удалить все документы за определенный период (за определенную дату) в 1С:Предприятие 8.2?
Ответ:
В процедуре выбираются документы, которые помечаются на удаление. После выполнения обработки, документы следует удалить при помощи стандартной операцией Удаление помеченных объектов.
Процедура ВыбратьДокументы() ОчиститьСообщения(); МассивДокументов=Метаданные.Документы; Для каждого СтрМас Из МассивДокументов Цикл ДокТип=СтрМас.Имя; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | "+ДокТип+".Ссылка |ИЗ | Документ."+ДокТип+" КАК "+ДокТип+" |ГДЕ | "+ДокТип+".Дата МЕЖДУ &НачДата И &КонДата"; НачДата=НачалоДня(НачПериода); КонДата=КонецДня(КонПериода); Запрос.УстановитьПараметр("НачДата",НачДата); Запрос.УстановитьПараметр("КонДата",КонДата); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект().УстановитьПометкуУдаления(Истина); КонецЦикла; КонецЦикла; КонецПроцедуры
Может вам интересно:
Как выгрузить результат Запроса 1С:Предприятие 8.2 в Excel? Простой способ.
В форму поместил поле Контрагент, по которому буду отбирать документы по одному контрагенту, но иногда надо по всем. Как это реализовать? 1С:Предприятие 8.2. Вариант 2.