Показать сообщение отдельно
Старый 10.02.2012, 11:02   #1  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
! аналитика в реверсе курсовой разницы
Axapta 4.0 SP2 EE
система 4.0.25.01.121

проблема в CustVendSettle.postExchRateLedgerTrans
История вопроса.
Разработан функционал по переброске с контрагента на поставщика и наоборот через сложную проводку в ГК. Не через транзитный счёт ГК. Допустим, выполнена переброска с клиента на поставщика.
Поставщик и клиент имеют разные аналитики, например, аналитику Контрагент. В итоге по клиенту была насчитана нереализованная курсовая разница.
В ГК проводка по переброске состоит из двух частей: первая клиентская с постингом "Сальдо по Клиенту", вторая - "Сальдо по поставщику", аналитики у частей разные, соответствуют клиенту и поставщику соответственно.
Выполняется сопоставление. Нереализованная курсовая реверсируется. И вот тут баг. Аналитика для проводки-реверса выбирается из той части проводки-переброски, которая по постингу не равна "Сальдо клиента", получаем часть "Сальдо поставщика". В итоге в проводке реверса нереализованной КР аналитика выбрана из поставщика. В этом косяк.
X++:
           if (_custVendTrans.TableId == tablenum(CustTrans))
           {
              balancePosting = LedgerPostingType::CustBalance;
           }
           else
           {
              balancePosting = LedgerPostingType::VendBalance;
           }
           // ........
           // некоторый код
           //.........
            while select * from ledgerTrans
            where ledgerTrans.Voucher    == _custVendTrans.Voucher 
                  && ledgerTrans.TransDate  == _custVendTrans.TransDate  
                  && ledgerTrans.Posting    != balancePosting
            {
                calcAmountPerDimension(ledgerTrans);
            }
У меня два вопроса. В чём смысл этой выборки? Как починить? Я предполагаю, что для варианта "Сальдо клиента"-"Сальдо поставщика" нужно дописать в выборке выбор LedgerTrans по "Сальдо клиента", а не наоборот по "не равно".
За это сообщение автора поблагодарили: kornix (2).