Цитата:
Никто не сможет мне ответить на вопрос, от том, нормально ли сравнивать суммы оставшиеся для корреспонденции в классе LedgerBondVRef_RU (для 2.5 и LedgerBondTransObject_RU для 3 аксапты) с нолём, а не с границей округления (Currency::Amount(...))?
Я могу попробовать ответить. На сколько я понимаю именно так все и должно быть. Т.е. сравнивать нужно именно с нулем. Разница в округлении должна относиться на системный счет. Т.е. появляется еще одна проводка на 1, 2, 3 (или какя там разница получилась) копейки. И эта проводка должна корреспондировать с той, в которой для корреспонденции осталось 1, 2, 3 (или какя там разница получилась).
Почему она не корреспондируется это дркгой вопрос. В 3ей Ахарте проводка по округлению создается непосредственно в момент финального связывания всех проводок (LedgerVoucher.post()). Были замечены случаи когда этот механизм работает некорректно. В результате проводки не корреспондируется и Ахарта тактично предлагает нам скорреспондировать их руками.
Могу даже привести пример, если интересно.
1. создайте закупку с 1й строкой на сумму 1827.36 в валюте с курсом 555.00 к основной валюте.
2. сделайте к этой строке 2 накладных расхода на 2%и на 5%.
3. обработайте закупку
4. увидьте окошко, уведомляющее о некорреспондируемости
5. задумайтесь
Извините, если получилось непонятно.