Добрый день. Нужно перенести обороты с одного счета на другой, делаю так:
Операция = СоздатьОбъект("Операция");
Операция.ВыбратьОперацииСПроводками(_НачГода, _КонГода, ""+Счет_Переноса);
Пока Операция.ПолучитьОперацию() = 1 Цикл
В первом цикле документы имхо загнать в список значений.
Второй внешний цикл уже по списку значений с позиционированием на конкретной операции и перебором проводок.
Операция = СоздатьОбъект("Операция");
Операция.ВыбратьОперацииСПроводками(_НачГода, _КонГода, ""+Счет_Переноса);
Пока Операция.ПолучитьОперацию() = 1 Цикл
тзОпер.НоваяСтрока();
тзОпер.Док = Операция.Документ.ТекущийДокумент();
КонецЦикла;
тзОпер.ВыбратьСтроки();
Пока тзОпер.ПолучитьСтроку() = 1 Цикл
Опер_Обн = СоздатьОбъект("Операция");
Опер_Обн.НайтиОперацию(тзОпер.Док);
Опер_Обн.ВыбратьПроводки();
Пока Опер_Обн.ПолучитьПроводку() = 1 Цикл
Если Опер_Обн.Дебет.Счет = Счет_Переноса Тогда
Опер_Обн.Дебет.Счет = Счет_Конечный;
ИначеЕсли Опер_Обн.Кредит.Счет = Счет_Переноса Тогда
Опер_Обн.Кредит.Счет = Счет_Конечный;
КонецЕсли;
КонецЦикла;
Опер_Обн.Записать();
КонецЦикла;
Спасибо!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший