Обнаружил глюк при автоматическом рассопопоставлении.
Если по клиенту есть достаточное большое количество сопоставленных проводок, ну например около 100 и одновременно с нескольких рабочих мест запустить автоматическое рассопопоставление, то могут возникать задваивания и затраивания рассопоставления.
т.е. SettleAmountCur в проводке CustTrans уже не в пределах от 0 до AmountCur, а вообще может иметь противоположный знак. Аналогично кривятся поля в таблице CustTransOpen
Вследствие такой фигни при попытке сопоставления могут возникать ошибки с сообщением что сумма слишком велика. (Что понятно, так как система при сопоставлении ориентируется на несопоставленный остаток, а он у этих проводок кривой)
У нас Axapta 3/0 SP3
База Oracle
Как лечить :
в методе
\Classes\CustVendReversePosting\canBeReversed_RU
поставить проверку для переданного _custVendSettlement
PHP код:
if ( !_custVendSettlement.CanBeReversed)
{
ret = false;
}
Интересно в последующих сервис паках и в 4-й версии Аксапты баг исправили или нет ? Кто нибудь сталкивался с такими проблемами ?
И еще, судя по всему глюк вызван тем что при разработке не учли версионность оракла, так что под MS SQL все нормально должно быть, глюк не должен проявляться.
Для автоматического сопоставления возможность "двойного сопоставления" не проверял, но возможно тоже глючит. У нас не воспроизводилось. Интересно мнение коллег...