|
Изменение движений документа (регистр накопления) | ☑ | ||
---|---|---|---|---|
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 |
|||
1
butterbean
26.03.13
✎
08:17
|
посмотри в модуле набора записей регистра Авансы
|
|||
2
ksandr_mrg
26.03.13
✎
08:22
|
(1) посмотри что? %)
|
|||
3
butterbean
26.03.13
✎
08:24
|
(2) ну вдруг там добавляются записи
|
|||
4
ksandr_mrg
26.03.13
✎
08:26
|
Сообщить(строка(Выборка2.Ссылка1.Абонент) + " " +строка(ДвиженияАвансы.Количество()));
для каждого документа 1 строка, т.е. до модификации в регистре Авансы всего 1 движение, откуда берется 2ое не понятно, нигде же его не создаю, а просто при переборе имеющихся меняю 1 реквизит. |
|||
5
ksandr_mrg
26.03.13
✎
08:52
|
up
|
|||
6
ДенисЧ
26.03.13
✎
08:54
|
Попробуй .Записать(Истина)...
|
|||
7
ksandr_mrg
26.03.13
✎
09:25
|
Таже песня
|
|||
8
КонецЕсли
26.03.13
✎
18:24
|
в (1) смотрел?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |