![]() |
#2 |
Moderator
|
В общем - короче - картина такая:
Код формы сопоставлений при заполнении сумм в specTrans, использует текущее значение суммы в валюте из custTransOpen/vendTransOpen. Теперь представим себе ситуацию: платеж на 100 рублей от 1 числа потом мы его 5ым числом с чем-то полностью сопоставляем, потом 20ым числом - отменяем сопоставление. Соответственно - в настоящий момент времени - у нас в открытой проводке сальдо равно 100 рублям и ты вполне можешь поставить эту цифру в сумму сопоставления. В то же время - по состоянию между 5ым и 20ыми числами - проводка БЫЛА СОПОСТАВЛЕНА. И пытаться ее снова сопоставить какой-то датой из этого промежутка - некорректно. Ну а методы на тему reversedAmount просто считают все отмененные сопоставления по проводке, отмененные не той датой, которой были проведены исходные сопоставления. А потом сумма этих отмененных сопоставлений вычитается из текущего баланса проводки (грубо говоря). Так что все логично. Чисто технически, выводить на форму сопоставления не текущие, а исторические сальдо каждой проводки на дату сопоставления было бы очень затратно с точки зрения нагрузки на сервер. Хотя с чисто финансовой точки зрения - это было бы логично. Тогда в specTrans попадала бы сумма сопоставления, основанная на реальном сальдо проводки на дату. Но поскольку технически такой режим сопоставления реализовать было невозможно, автор просто заткнул, как смог, дырку, поставив вычитание суммы отмененных другой датой сопоставлений из введенной пользователем суммы сопоставления. А ты как раз попал в граничный режим - то есть - не совсем понятно - как именно считать открытый баланс по проводке на 31.10. Была ли проводка на эту дату открытой, если сопоставление как раз только что отменили? |
|
|
За это сообщение автора поблагодарили: zemlyn (2). |
Теги |
ax3.0 |
|
|