В принципе, перед записью движений можно просто их очищать. Но интересно, почему происходит собственно задвоение. Именно, когда открыта форма. Из списка документ перепроводится нормально, а вот когда открыта форма, такая вот ерунда.
Модуль проведения прост:
// регистр ОстаткиНоменклатуры Приход
Движения.ОстаткиНоменклатуры.Записывать = Истина;
Для Каждого ТекСтрокаСписокНоменклатуры Из СписокНоменклатуры Цикл
Движение = Движения.ОстаткиНоменклатуры.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаСписокНоменклатуры.Номенклатура;
Движение.Склад = Склад;
Движение.Партия = Ссылка;
Движение.Количество = ТекСтрокаСписокНоменклатуры.Количество;
Движение.Себестоимость = ТекСтрокаСписокНоменклатуры.Сумма;
КонецЦикла;