Мне в наследство досталась база УПП, в которой, среди прочих чудес, обнаружился документ ЗакрытиеЗаказовПокупателей, у большинства движений которого по регистру ЗаказыПокупателей все ресурсы были нулевыми. Смысла в нулевых движениях по регистру накопления никакого, плюс нулевые движения содержали ссылки на характеристики номенклатуры, которые мне надо было удалить, поэтому оставить всё "как есть" я не мог и перепроводить этот документ тоже не хотелось - март 2009 года уже 6 лет, как закрыт.
Так как этот чудесный документ вполне себе типовой, обработку, которую я написал для решения этой проблемы, я решил выложить сюда - вдруг пригодится кому.
Работает так: при выборе документа таблица заполняется идентификаторами регистров накопления, в которых документ сделал хотя бы одно движение, для каждого регистра подсчитывается общее количество движений, количество нулевых и количество ненулевых, затем таблица сортируется по количеству нулевых движений по убыванию.
После этого нужно отметить флажками те регистры, которые надо очистить от нулевых движений, и нажать кнопку "Удалить нулевые движения". После удаления обработка выводит в окно сообщений, сколько движений осталось в обработанном регистре.
Если установить флажок "Сворачивать движения", то перед удалением таблица движений будет свёрнута по всем измерениям. Этот флажок я добавил из-за подозрения, что многие ненулевые движения в этом документе отличаются только знаком количества и в итоге тоже не меняют остатки. Так оно и оказалось - после удаления со свёрткой в регистре осталось только 999 движений из 17279.