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