1.
Denis211990
2016.09.18 18:52 Сейчас в теме+10 $m
Конфигурация: ERP 2 (немного доработанная).
Проблемный документ: - "Сборка товаров".
Обмена с другими конфигурациями нету
Иногда в базе у помеченных на удаление объектов есть движения по регистрам (не должно быть).
При снятии\отметке проведения у таких документов - движения не удаляются, т.к. обработчик "УдалениеДвижений" не действует.
Вопрос: Из-за чего могут возникать движения у помеченных на удаление объектов данного типа (Документ "Сборка товаров")?
Спасибо Вам. По комментариям понял что это баг в ERP 2. Но причину не нашел.
Работаю на ERP v2.4.5.41
Была замечена такая же ерунда в различных документах, нр "Приобретение услуг и прочих активов", "Приобретение товаров и услуг"
Чистилась учебная база с введёнными документами, для простоты выключался контроль остатков и просто помечались документы на удаление, после, контроль остатков включался
И было замечено, что не все движения по регистрам накоплений очищались у помеченного на удаления документа
Как лечил. Убирал документ с удаления, проводил его, потом отменял проведение и помечал на удаление)
Геморрой тот ещё, но другого выхода я не вижу) ждём обновления конфигурации - это явный баг
Конфигурация в нашем случае ПОЛНОСТЬЮ типовая, ничего в ней не дорабатывалось и не дописывалось
А то вот тут приводится одна из наиболее вероятных причин такого явления: "у программиста 1С кривые руки"
Кроме этого универсального объяснения там же можно поискать и более конкретные причины:
У 8.ххх пометка на удаление, это реквизит, и не более. Если его записать, то движения не удаляются.
1. в реквизит ПометкаУдаления записали истина, при этом процедуры установки пометки удаления не отработали (не вызывались).
2. Кокой-то код пишет движения и использует в качестве регистраторов помеченные на удаление ссылки. Это может быть подписка при записи документа или фоновое задание отложенного проведения или какая-то обработка.
И рекомендации, как написать обработку для исправления таких косяков.
(1) расчет себестоимости идет.
Обычно проводится документ. Затем начинает работать фоновое задание, после документ отменяют или помечают на удаление. Фоновое задание вешает движения.
https://infostart.ru/public/797618/ Решает такие косяки!
Тут либо не помечать пока расчет себестоимости не произойдет, либо делать расчет в не рабочее время, чтобы исключить такую ситуацию.
(10) точное название не скажу, смотри в списке регламентных заданий там что-то про движения идет речь. А название вообще кривое идет.
Скорее всего отложенное. Но возможно это уже косяк ваших доработок?
По ЖР прогоните и посмотрите кто трогал документ и эти движения. Там будет понятно куда рыть.
соответственно дальше необходимо уже, предметно копать и отлавливать конкретный документ, и каким образом у него ставится пометка удаления. Может быть есть косяк в какой то процедуре, но тут только отладчик поможет
(1) Регистры сведений или накопления? Скорее всего, это как раз дописано. Вероятно не обрабатывается очистка движений по регистрам при снятии с проведения. Следует дописать очистку этих регистров в модуле документа в процедуре ОбработкаУдаленияПроведения.
Если Не хотите изменять конфигурацию, но регистры вычистить надо, тогда надо написать обработку, которая перебором помеченных на удаление документов удалит записи регистров по этим документам.
(3) Добрый день! "Это больше вопрос к разработчикам...." и тут же .... Не надо саморекламироваться. Конфигурация уже измененная и человеку нужно решение его собственной проблемы. Согласен с большинством, что не проверяется при установке Пометки удаления либо отмены проведения. Я бы вставил код перед записью, как советует (acanta)
Если ПометкаУдаления Или Не Проведен Тогда
.... //и чистим любые движения.
КонецЕсли;
Иногда помеченный документ на удаление оставляет движения (как ни странно), если он является регистратором партий по регистрам и используется далее. Поэтому лучше контролить все - проверять досконально.
(11) Походу не только ветром занесло, но и пронесло. В текущей организации сталкиваюсь с тем, что даже у удаленного документа висят ссылки, более того пытаюсь грохнуть через ИРМ док полностью - висит битая ссылка и на ней движения. Восстанавливаю, удаляю движения, грохаю. Вот такие пироги с неизвестно какой травой от разработчика)
В журнале регистрации посмотреть историю изменения объекта. Там особо ничего не выудишь, мб по времени получится угадать. Если это регламентное задание, то оно запускается ночью в определенное время, а там уже код смотреть, наверное там что-то типа
ПометкаУдаления = Истина; Записать(РежимЗаписиДокумента.Запись);
Работаю на ERP v2.4.5.41
Была замечена такая же ерунда в различных документах, нр "Приобретение услуг и прочих активов", "Приобретение товаров и услуг"
Чистилась учебная база с введёнными документами, для простоты выключался контроль остатков и просто помечались документы на удаление, после, контроль остатков включался
И было замечено, что не все движения по регистрам накоплений очищались у помеченного на удаления документа
Как лечил. Убирал документ с удаления, проводил его, потом отменял проведение и помечал на удаление)
Геморрой тот ещё, но другого выхода я не вижу) ждём обновления конфигурации - это явный баг
Конфигурация в нашем случае ПОЛНОСТЬЮ типовая, ничего в ней не дорабатывалось и не дописывалось
(16) Это не баг а фишка новых методик проведения документов. В новых типовых конфигурациях, как правило, у документов свойство "Удалять движения" стоит "При отмене проведения". В этом случае если проведенный документ пометить на удаление (а не распроводить) движения не очищаются.
Тоже ERP 2.4 и очень давно замечен прикол с наличием движений у непроведенных документов, и помеченных
пользуемся этой обработкой чуть доработанной
https://infostart.ru/public/86169/
(22) очевидно, что причина описана в (17): у документов свойство "Удалять движения" стоит "При отмене проведения". А в (8) описан вариант исправления, кроме очевидного "изменить свойство Удалять движения"
Может быть неактуально. Но проблема в расчете себестоимости. Если есть активное задание расчета и вы в этот момент удаляете, меняете документ, который был в расчете, то он создаст проводки, как на начало расчета.