Иногда бывает, что документ совсем отсутствует в базе (Объект не найден…), а проводки остались.
Это выясняется при сдаче отчетности или формировании акта сверки.
Поможет эта обработка. Выбираем период: дата начальная и дата конечная, если нужно просто посмотреть какие движения остались нажимаем кнопку "Найти проводки", и если найдены проводки, которые нужно удалить, тогда жмем кнопку "Удалить проводки"
По кнопке "Удалить проводки" удалены проводки тех документов, которые отсутствуют.
Тестировалось на платформе 1С:Предприятие 8.3 (8.3.10.2561). Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.60.50)
Пример кода, который очищает проводки:
Для Каждого МетаданныеРегистра Из Метаданные.РегистрыБухгалтерии Цикл
ИмяРегистра = МетаданныеРегистра.Имя;
Отчет.ДобавитьСтроку("Регистр бухгалтерии = "+ИмяРегистра);
Набор = РегистрыБухгалтерии[ИмяРегистра].СоздатьНаборЗаписей();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| "+ИмяРегистра+".Регистратор КАК Регистратор
|ИЗ
| РегистрБухгалтерии."+ИмяРегистра+" КАК "+ИмяРегистра+"
|
|ГДЕ "+ИмяРегистра+".Период>=&ДатаНач И "+ИмяРегистра+".Период<=&ДатаКон
|
|УПОРЯДОЧИТЬ ПО
| Регистратор
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("ДатаНач",НачалоДня(Объект.ДатаНачальная));
Запрос.УстановитьПараметр("ДатаКон",КонецДня(Объект.ДатаКонечная));
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
РегистраторНаименование = Строка(Выборка.Регистратор);
Если Найти(РегистраторНаименование,"<Объект не найден>")>0 Тогда
Отчет.ДобавитьСтроку(РегистраторНаименование);
КонецЕсли;
КонецЦикла;
КонецЦикла;