Показать сообщение отдельно
Старый 12.08.2005, 16:09   #17  
kvan is offline
kvan
Moderator
Аватар для kvan
Дети Юза
 
775 / 49 (3) +
Регистрация: 07.08.2002
Адрес: Donetsk
Столкнулся с той же проблемой.
Добавление группировки по полю InventTransId решает проблему не полностью.

Смысл такой - если нет проводок в TaxTrans - в map добавляеться значение с пустым ключом - см. макрос #TransNotLiable и места в коде

PHP код:
mapTransAmountsCur.insert(#TransNotLiable, transAmountsCur.pack());
...
mapTransAmountsMST.insert(#TransNotLiable, transAmountsMST.pack()); 
Дальше смотрим в метод addFactureTransAmounts класса FactureCalcSettlement_RU и видим, что в map добавляеться ключ #factureTransKey данные в который беруться из _factureTrans, в котором тот же номер лота далеко не пустой.

А теперь возвращаемся к методу calc в классе FactureCalcSettlement_RU и строке:
PHP код:
if (smallSettledAmounts.amountInclVAT() && mapFactureAmountsDetail.exists(#keyInvoice2facture)) 
Смотрим как формируеться ключ #keyInvoice2facture и что он содержит.
А теперь вспоминаем разницу между содержимым ключей #TransNotLiable и #factureTransKey.

Решение по понятным причинам на форум не могу выложить.
(ПМ и так на меня бурчит (Саша привет!), что я много времени торчу на форуме)
Но могу сказать что в методе addFactureTransAmounts класса FactureCalcSettlement_RU в этом месте:
PHP код:
_mapAmounts.insert(#factureTransKey, structAmounts.pack()); 
использую свой ключ в зависимости от определенного условия.

P.S. Кто столкнулся с этим и кому лень думать - в аську