Если УстановитьДату Тогда
Если не Движения.ОстаткиМатериалов.Выбран() и не Движения.ОстаткиМатериалов.Модифицированность() тогда
Движения.ОстаткиМатериалов.Прочитать();
КонецЕсли;
Для Каждого Запись из Движения.ОстаткиМатериалов Цикл
Запись.Период=ЭтотОбъект.Дата;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Сделал внешнюю обработку для проверки, следующий код:
ДокументСылка=Документы.ВводНачальныхОстатковНоменклатуры.НайтиПоНомеру("000000001");
ДокументОбъект=ДокументСылка.ПолучитьОбъект();
ДокументОбъект.Дата=Дата("20110926");
ДокументОбъект.Записать();
В итоге почему-то период у движений этого документа не обновляется. Если меняем дату документа через форму-интерактивно, то все работает.
По идее вот этот код вносит изменения в период
Если УстановитьДату Тогда
Если не Движения.ОстаткиМатериалов.Выбран() и не Движения.ОстаткиМатериалов.Модифицированность() тогда
Движения.ОстаткиМатериалов.Прочитать();
КонецЕсли;
Для Каждого Запись из Движения.ОстаткиМатериалов Цикл
Запись.Период=ЭтотОбъект.Дата;
КонецЦикла;
КонецЕсли;
Почему при программном редактировании эти изменения не сохраняются?
(0) УстановитьДату=ЭтоНовый() ИЛИ Движения.ОстаткиМатериалов.Модифицированность();
значит при выполнении обработки у вас УстановитьДату=Ложь и код в ПриЗаписи не отрабатывает
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс