|
0
zak555
25.09.09
✎
14:25
|
док делает лишнее движение по регистру ПартииНаличие на копейку
это происходит из-за неокругления ОбщаяСуммаДокумента
будет ли корректно, если эту переменную округлить?
Процедура СкорретироватьДвиженияПартийПоАвансам()
ОбщаяСуммаДокумента = глПересчет(глОбщаяСуммаДокумента(Контекст), Валюта, Курс, глРубли, 1, Кратность, 1);
ОбщаяСуммаПоУчету = 0;
РегистрВзаиморасчетов = СоздатьОбъект("Регистр.Поставщики");
Если РегистрВзаиморасчетов.ВыбратьДвиженияДокумента(ТекущийДокумент()) = 1 Тогда
Пока РегистрВзаиморасчетов.ПолучитьДвижение() = 1 Цикл
Если РегистрВзаиморасчетов.КодОперации <> глКО.ТаможенныеПлатежи Тогда
Если РегистрВзаиморасчетов.Приход = 1 Тогда
ОбщаяСуммаПоУчету = ОбщаяСуммаПоУчету - РегистрВзаиморасчетов.ОценкаРуб;
Иначе
ОбщаяСуммаПоУчету = ОбщаяСуммаПоУчету + РегистрВзаиморасчетов.ОценкаРуб;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ОбщаяСуммаПоУчету <> 0 Тогда
// если документ не отражается по книгам покупок/продаж, корректировать не надо
ТаблицаКорректировкиПартий = глСоздатьТаблицу_ЗдесьСработалМатоФильтр_КорректировкиПартий();
глЗаполнитьТаблицуПоДвижениямРегистраПартий(ТаблицаКорректировкиПартий, Контекст);
глСкорретироватьСуммыПартий(ТаблицаКорректировкиПартий, ОбщаяСуммаДокумента, ОбщаяСуммаПоУчету);
глЗаписатьДвиженияРегистраПартийПоТаблице(ТаблицаКорректировкиПартий, Контекст);
КонецЕсли;
КонецПроцедуры // СкорретироватьДвиженияПартийПоАвансам()
|
|