Как в коде изменить проводки?

Новая тема
Вопрос состоит в следующем - Как в коде документа или регистра изменить сформированные ранее проводки?Простое присваивание не срабатывает - выдается сообщение "Нельзя изменить записанные проводки"
"Создать объект типа "Операция", найти нужную (например, по данному документу), перебрать проводки (изменив, что надо), в конце - Операция.Записать();"
"Я так и делаю,но ничего не выходит.Привожу подробно:



Опр=СоздатьОбъект("Операция");

Опр.ВыбратьОперацииСПроводками((НачГода(ТекущаяДата())),ТекущаяДата(),,,,,);

Пока Опр.ПолучитьПроводку()=1 Цикл

Для А=1 по 4 Цикл

 Дб=Опр.Дебет.Субконто(А);

 РезПоиска=Спр.НайтиПоКоду(Строка(Дб));

 Если РезПоиска = 1 Тогда

   Опр.Дебет.НалоговыйКлассификатор=СтатьяНК; //Изменяем

   Опр.Записать();

 КонецЕсли;

КонецЦикла;

КонецЦикла;

"
1.Операции (и проводки), принадлежащие документу (а не ручной операции), изменяются только в модуле документа, в предопределенной процедуре ОбработкаПроведения, причем сначала уничтожаются, а затем создаются заново, что делается автоматически при перепроведении (есть нюансы, но если проводки уже записаны, то только так).

2.В вашем тексте ошибок много(например, субконто проводки оп.присваивания не задается). Обзаведитесь литературой. Ну невозможно выучить встроенный язык, задавая вопросы на форуме.
Вы используете метод "ВыбратьОперацииСПроводками", тем самым, перем. "Опр" у Вас является ссылкой на "поток" проводок, а Вам небходима перем. - ссылка на конкретную операцию, принадлежащую конкретному документу, т.е. лучше использовать поиск операции именно по документу. И организовывать соответственно 2 цикла: один по операциям, второй - по проводкам.
Читают тему
(гостей: 1)

Быстрый переход