Если КонецДня(ФормаДокумента.Дата)>=КонецДня(ТекущаяДата()) Тогда
ФормаДокумента.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Оперативный;
Иначе
ФормаДокумента.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Неоперативный;
КонецЕсли;
(2)Дык поставь сообщить("Провел оперативно"\"Провел неоперативно") и спроси когда считал неверно, и узнаешь имеет ли значение режим проведения конкретно в твоем случае.
(4) попробуй в случае оперативного очистить движения а потом проверяй как оно с остатками по факту... или так: сразу пиши движения а потом, в этой-же транзакции, смотри какие актуальные остатки получились по тому перечню номенклатуры который в твоём документе
Основная теорема систематики: Новые системы плодят новые проблемы.