0
ksandr_mrg
26.03.13
✎
08:13
|
Сосбтвенно код:
Пока Выборка2.Следующий() Цикл
ДокументКорректировки = Выборка2.Ссылка1.ПолучитьОбъект();
ДвиженияАвансы = ДокументКорректировки.Движения.Авансы;
ДвиженияАвансы.Прочитать();
Сообщить(строка(Выборка2.Ссылка1.Абонент) + " " +строка(ДвиженияАвансы.Количество()));
Для Каждого ДвижениеАвансы из ДвиженияАвансы Цикл
ДвижениеАвансы.Сумма = ?(Выборка2.Сумма2 > 0, Выборка2.Сумма2, -Выборка2.Сумма2);
КонецЦикла;
//ДвиженияАвансы.Записать();
ДвиженияВзаиморасчеты = ДокументКорректировки.Движения.ВзаиморасчетыВДГО;
ДвиженияВзаиморасчеты.Прочитать();
Для каждого ДвижениеВзаиморасчеты из ДвиженияВзаиморасчеты цикл
ДвижениеВзаиморасчеты.Сумма = ?(Выборка2.Сумма2 > 0, Выборка2.Сумма2, -Выборка2.Сумма2);
КонецЦикла;
//ДвиженияВзаиморасчеты.Записать();
ДвиженияДолги = ДокументКорректировки.Движения.Долги;
ДвиженияДолги.Прочитать();
Для каждого ДвижениеДолги из ДвиженияДолги цикл
ДвижениеДолги.Сумма = ?(Выборка2.Сумма2 > 0, Выборка2.Сумма2, -Выборка2.Сумма2);
КонецЦикла;
//ДвиженияДолги.Записать();
ДвиженияВзаиморасчеты.Записать();
ДвиженияАвансы.Записать();
ДвиженияДолги.Записать();
КонецЦикла;
В выборке получаем набор документов, движения которых нужно изменить, всё бы ничего, НО почему-то в регистре АВАНСЫ, где до применения обработки всего 1 движение почему-то выскакивает второе, т.е. по сути я его не создаю, а просто перебираю имеющееся и меняю значение в нём, а оно создаёт к имеющемуся движению новое. А что самое интересное такое происходит только с Авансами, во Взаиморасчётах и Долгах всё отрабатывает так как должно, т.е. просто изменяет значение в том движение, которое имеется. Вопрос - ПОЧЕМУ?!717
|
|
4
ksandr_mrg
26.03.13
✎
08:26
|
Сообщить(строка(Выборка2.Ссылка1.Абонент) + " " +строка(ДвиженияАвансы.Количество()));
для каждого документа 1 строка, т.е. до модификации в регистре Авансы всего 1 движение, откуда берется 2ое не понятно, нигде же его не создаю, а просто при переборе имеющихся меняю 1 реквизит.
|
|