Конфигурация: ERP 2 (немного доработанная).
Проблемный документ: - "Сборка товаров".
Обмена с другими конфигурациями нету

Иногда в базе у помеченных на удаление объектов есть движения по регистрам (не должно быть).
При снятии\отметке проведения у таких документов - движения не удаляются, т.к. обработчик "УдалениеДвижений" не действует.

Вопрос: Из-за чего могут возникать движения у помеченных на удаление объектов данного типа (Документ "Сборка товаров")?

Спасибо Вам. По комментариям понял что это баг в ERP 2. Но причину не нашел.
---
Работаю на ERP v2.4.5.41
Была замечена такая же ерунда в различных документах, нр "Приобретение услуг и прочих активов", "Приобретение товаров и услуг"
Чистилась учебная база с введёнными документами, для простоты выключался контроль остатков и просто помечались документы на удаление, после, контроль остатков включался

И было замечено, что не все движения по регистрам накоплений очищались у помеченного на удаления документа

Как лечил. Убирал документ с удаления, проводил его, потом отменял проведение и помечал на удаление)
Геморрой тот ещё, но другого выхода я не вижу) ждём обновления конфигурации - это явный баг

Конфигурация в нашем случае ПОЛНОСТЬЮ типовая, ничего в ней не дорабатывалось и не дописывалось
---
Конфигурация: ERP 2 (немного доработанная).
Проблемный документ: - "Сборка товаров". А собственно проблемный документ дорабатывался?

А то вот тут приводится одна из наиболее вероятных причин такого явления: "у программиста 1С кривые руки"

Кроме этого универсального объяснения там же можно поискать и более конкретные причины:

У 8.ххх пометка на удаление, это реквизит, и не более. Если его записать, то движения не удаляются.
1. в реквизит ПометкаУдаления записали истина, при этом процедуры установки пометки удаления не отработали (не вызывались).
2. Кокой-то код пишет движения и использует в качестве регистраторов помеченные на удаление ссылки. Это может быть подписка при записи документа или фоновое задание отложенного проведения или какая-то обработка.

И рекомендации, как написать обработку для исправления таких косяков.

Впрочем, на Инфостарте можно найти практически любую готовую обработку: https://infostart.ru/public/305625/
---
Свойства документа: "Удаление движений" что указано? Выбрать "Удалять автоматически при отмене проведения".
---
расчет себестоимости идет.
Обычно проводится документ. Затем начинает работать фоновое задание, после документ отменяют или помечают на удаление. Фоновое задание вешает движения.
https://infostart.ru/public/797618/
Решает такие косяки!
Тут либо не помечать пока расчет себестоимости не произойдет, либо делать расчет в не рабочее время, чтобы исключить такую ситуацию.
---
Фоновое задание вешает
Как называется фоновое задание?

Как можно объяснить наличие движений по регистру "ТоварыОрганизации"?
---
точное название не скажу, смотри в списке регламентных заданий там что-то про движения идет речь. А название вообще кривое идет.
Скорее всего отложенное. Но возможно это уже косяк ваших доработок?
По ЖР прогоните и посмотрите кто трогал документ и эти движения. Там будет понятно куда рыть.
---
это когда движение появилось у не проведенного документа
---
собственно,
автоматом движения и не должны удалятся, см.скрин.

но,
штатно, процедура удаление проведения описана в модуле объекта

```1c
    Процедура ОбработкаУдаленияПроведения(Отказ)

    ПроведениеСерверУТ.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства);

    ПроведениеСерверУТ.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

    СформироватьСписокРегистровДляКонтроля();

    ЗапасыСервер.ПодготовитьЗаписьТоваровОрганизаций(ЭтотОбъект, РежимЗаписиДокумента.ОтменаПроведения);

    ПроведениеСерверУТ.ЗаписатьНаборыЗаписей(ЭтотОбъект);

    ПараметрыЗаполнения = ПараметрыЗаполненияВидовЗапасов();
    ПараметрыЗаполнения.ДокументДелаетИПриходИРасход = Ложь;
    ЗапасыСервер.СформироватьРезервыПоТоварамОрганизаций(ЭтотОбъект, Отказ, ПараметрыЗаполнения);

    ПроведениеСерверУТ.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
    ПроведениеСерверУТ.ЗаписатьПодчиненныеНаборамЗаписейДанные(ЭтотОбъект, Отказ);

    РегистрыСведений.СостоянияЗаказовКлиентов.ОтразитьСостояниеЗаказа(ЭтотОбъект, Отказ);

    ПроведениеСерверУТ.СформироватьЗаписиРегистровЗаданий(ЭтотОбъект);

    ПроведениеСерверУТ.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);

    КонецПроцедуры
```

соответственно дальше необходимо уже, предметно копать и отлавливать конкретный документ, и каким образом у него ставится пометка удаления. Может быть есть косяк в какой то процедуре, но тут только отладчик поможет
---
Регистры сведений или накопления? Скорее всего, это как раз дописано. Вероятно не обрабатывается очистка движений по регистрам при снятии с проведения. Следует дописать очистку этих регистров в модуле документа в процедуре ОбработкаУдаленияПроведения.
Если Не хотите изменять конфигурацию, но регистры вычистить надо, тогда надо написать обработку, которая перебором помеченных на удаление документов удалит записи регистров по этим документам.
---
Это больше вопрос к разработчикам. Если нужен инструмент для лечения, глянь в моих решениях
---
Добрый день! "Это больше вопрос к разработчикам...." и тут же .... Не надо саморекламироваться. Конфигурация уже измененная и человеку нужно решение его собственной проблемы. Согласен с большинством, что не проверяется при установке Пометки удаления либо отмены проведения. Я бы вставил код перед записью, как советует (acanta)

```1c
    Если ПометкаУдаления Или Не Проведен Тогда
    .... //и чистим любые движения.
    КонецЕсли;
```

Иногда помеченный документ на удаление оставляет движения (как ни странно), если он является регистратором партий по регистрам и используется далее. Поэтому лучше контролить все - проверять досконально.
---
то есть программу ветром занесло что ли? %)
---
Точно не знаю. Знаю что иногда такое бывает.
---
Походу не только ветром занесло, но и пронесло. В текущей организации сталкиваюсь с тем, что даже у удаленного документа висят ссылки, более того пытаюсь грохнуть через ИРМ док полностью - висит битая ссылка и на ней движения. Восстанавливаю, удаляю движения, грохаю. Вот такие пироги с неизвестно какой травой от разработчика)
---
Перед записью.нет команды если не новый очистить движения?
---
Тут нужно узнать истинную причину, не решать пока что делать с текущими
---
В журнале регистрации посмотреть историю изменения объекта. Там особо ничего не выудишь, мб по времени получится угадать. Если это регламентное задание, то оно запускается ночью в определенное время, а там уже код смотреть, наверное там что-то типа
ПометкаУдаления = Истина; Записать(РежимЗаписиДокумента.Запись);
---
Работаю на ERP v2.4.5.41
Была замечена такая же ерунда в различных документах, нр "Приобретение услуг и прочих активов", "Приобретение товаров и услуг"
Чистилась учебная база с введёнными документами, для простоты выключался контроль остатков и просто помечались документы на удаление, после, контроль остатков включался

И было замечено, что не все движения по регистрам накоплений очищались у помеченного на удаления документа

Как лечил. Убирал документ с удаления, проводил его, потом отменял проведение и помечал на удаление)
Геморрой тот ещё, но другого выхода я не вижу) ждём обновления конфигурации - это явный баг

Конфигурация в нашем случае ПОЛНОСТЬЮ типовая, ничего в ней не дорабатывалось и не дописывалось
---
Это не баг а фишка новых методик проведения документов. В новых типовых конфигурациях, как правило, у документов свойство "Удалять движения" стоит "При отмене проведения". В этом случае если проведенный документ пометить на удаление (а не распроводить) движения не очищаются.
---
ооооо... вон оно что! т.е. вы хотите сказать, что сейчас это считается «нормальным поведением системы» ?)
---
Тоже ERP 2.4 и очень давно замечен прикол с наличием движений у непроведенных документов, и помеченных
пользуемся этой обработкой чуть доработанной
https://infostart.ru/public/86169/
---
Спасибо за ответ, хотя и не нашел в чем причина...
---
очевидно, что причина описана в (17): у документов свойство "Удалять движения" стоит "При отмене проведения". А в (8) описан вариант исправления, кроме очевидного "изменить свойство Удалять движения"
---
Отличный совет сделал как указано. Записи с регистра исчезли.
---
КА 2.5.7 полностью типовая не помогло(
---
Может быть неактуально. Но проблема в расчете себестоимости. Если есть активное задание расчета и вы в этот момент удаляете, меняете документ, который был в расчете, то он создаст проводки, как на начало расчета.
---
В общую копилку.
Столкнулся с такой ситуацией. Пометка удаления прилетает с обменом по КД2.

В обработчике "При получении удаления":

```1c
    Отказ = Истина;
    Объект.УстановитьПометкуУдаления(Истина);
```

В итоге, движения у помеченного на удаление документа остаются.

Исправил так:

```1c
    Отказ = Истина;
    УстановитьОбменДаннымиЗагрузка(Объект, Ложь);
    Объект.УстановитьПометкуУдаления(Истина);
```

Движения стали удаляться.