AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 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).
Старый 12.02.2012, 00:46   #2  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от _AxDevel_ Посмотреть сообщение
Axapta 4.0 SP2 EE
система 4.0.25.01.121Разработан функционал по переброске с контрагента на поставщика и наоборот через сложную проводку в ГК. Не через транзитный счёт ГК. Допустим, выполнена переброска с клиента на поставщика.
Да, хорошо...

Цитата:
Сообщение от _AxDevel_ Посмотреть сообщение
Axapta 4.0 SP2 EEПоставщик и клиент имеют разные аналитики, например, аналитику Контрагент.
А вы уверены, что именно так - надо?

[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);
            }
У меня два вопроса. В чём смысл этой выборки? Как починить? Я предполагаю, что для варианта "Сальдо клиента"-"Сальдо поставщика" нужно дописать в выборке выбор LedgerTrans по "Сальдо клиента", а не наоборот по "не равно".
Господа-товарищи,

На систему, в которой вы сейчас пытаетесь что-то улучшить - затрачено примерно 10^3 человеко-лет. Причем - не худших человеков, насколько мне, например, видно.

Оно работает. Если вы что-то там допилили - эт ваша ровно ответственность. Так, нет?

Вы полезли... в непонятное ... вам ... удачи

Я бы - не лез.
__________________
Best Regards,
Roman

Последний раз редактировалось RVS; 12.02.2012 в 00:55.
Старый 13.02.2012, 09:37   #3  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
замечательно, ни одного слова по существу вопроса. Хотелось услышать ответ хотя бы на 1-й вопрос.
Старый 28.02.2012, 09:43   #4  
_AxDevel_ is offline
_AxDevel_
Участник
 
69 / 12 (1) ++
Регистрация: 20.08.2008
Адрес: Ижевск-Москва
up
Старый 22.07.2014, 01:43   #5  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Цитата:
Выполняется сопоставление. Нереализованная курсовая реверсируется. И вот тут баг. Аналитика для проводки-реверса выбирается из той части проводки-переброски, которая по постингу не равна "Сальдо клиента", получаем часть "Сальдо поставщика".
Правильный вопрос - в 2009-ой это место выглядит также. Похоже эта выборка не учитывает возможности создания половинок проводок ГК с разными аналитиками. Если по каким-то причинам в одном пакете корреспонденции в ГК будет 2 проводки с разными аналитиками - аналитика для сторно нереализованной курсовой будет определена неверно. Далее - разойдутся обороты ГК с модульными и т.п...
Поделитесь, пожалуйста, как вы решили проблему?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Расчет курсовой разницы по кассе Serge_DD DAX: Функционал 2 25.02.2010 05:25
Отмена курсовой разницы по Поставщику tolstjak DAX: Функционал 6 15.10.2008 08:46
Параметры ГК по расчету курсовой разницы Ax 4.0 nmariya DAX: Функционал 2 10.12.2007 11:34
AX 3.0 Расчет курсовой разницы Lyuboff DAX: Функционал 1 26.10.2007 12:19
Стыдно - создание заявки - Ошибка: нет курсовой разницы robocomp DAX: Функционал 7 27.06.2005 18:23
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:09.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.