10.02.2012, 11:02 | #1 |
Участник
|
аналитика в реверсе курсовой разницы
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); } |
|
|
За это сообщение автора поблагодарили: kornix (2). |
12.02.2012, 00:46 | #2 |
Сенбернар
|
Цитата:
Цитата:
[QUOTE=_AxDevel_;267585]В итоге по клиенту была насчитана нереализованная курсовая разница. В ГК проводка по переброске состоит из двух частей: первая клиентская с постингом "Сальдо по Клиенту", вторая - "Сальдо по поставщику", аналитики у частей разные, соответствуют клиенту и поставщику соответственно. Выполняется сопоставление. Нереализованная курсовая реверсируется.[QUOTE] мдя... Цитата:
Сообщение от _AxDevel_
И вот тут баг.
Аналитика для проводки-реверса выбирается из той части проводки-переброски, которая по постингу не равна "Сальдо клиента", получаем часть "Сальдо поставщика". В итоге в проводке реверса нереализованной КР аналитика выбрана из поставщика. В этом косяк. 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); } На систему, в которой вы сейчас пытаетесь что-то улучшить - затрачено примерно 10^3 человеко-лет. Причем - не худших человеков, насколько мне, например, видно. Оно работает. Если вы что-то там допилили - эт ваша ровно ответственность. Так, нет? Вы полезли... в непонятное ... вам ... удачи Я бы - не лез.
__________________
Best Regards, Roman Последний раз редактировалось RVS; 12.02.2012 в 00:55. |
|
13.02.2012, 09:37 | #3 |
Участник
|
замечательно, ни одного слова по существу вопроса. Хотелось услышать ответ хотя бы на 1-й вопрос.
|
|
28.02.2012, 09:43 | #4 |
Участник
|
up
|
|
22.07.2014, 01:43 | #5 |
MCP
|
Цитата:
Выполняется сопоставление. Нереализованная курсовая реверсируется. И вот тут баг. Аналитика для проводки-реверса выбирается из той части проводки-переброски, которая по постингу не равна "Сальдо клиента", получаем часть "Сальдо поставщика".
Поделитесь, пожалуйста, как вы решили проблему? |
|