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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.01.2011, 20:16   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
Dynamics AX Sustained Engineering: POS Transaction with Sales Order that nets to $0.00 posting failure in statement
Источник: http://blogs.technet.com/b/dynamicsa...statement.aspx
==============

AX Retail R1: POS Transaction with Sales Order that nets to $0.00 posting failure in statement

Problem:

When a POS transaction contains a payment against a Sales Order and the net amount of the transaction is $0.00, the statement that contains the transaction will fail to post in Dynamics AX.

Reproducing the Error:

1. In AX Headquarters, create a Sales Order for a customer that contains one item for ($100).

2. In the POS, add this sales order to a transaction for the customer.

3. In the same POS transaction, add a Return item for the same price. Make sure that the “balance” of the transaction is $0.00 (customer owes no money).

4. Use the “Exact” button to finalize the transaction.

5. In AX Headquarters, run a P-job to pull the transaction into AX.

6. In AX Headquarters, create a new statement and use a date interval that will include the transaction you created.

7. Attempt to post the statement.

Result: The posting fails with an error: “Transactions on voucher xxx do not balance”



Resolution:

This issue is scheduled for resolution in R2 of Dynamics AX for Retail. To address the issue in R1, make the following code changes to these two methods:

\Classes\RBOStatementPost::postToCustomer()

\Classes\RBOStatementPost::postAggregatedCustomerVouchers():



Change 1: Move the “sCurrency…” line from inside the “if” and “while” block.

Old:

if (transactionPaymentTrans.AmountTendered)

totalAmountPaid += transactionPaymentTrans.AmountTendered;

else

totalAmountPaid += (transactionPaymentTrans.AmountCur * transactionPaymentTrans.ExchRate) / 100;

sCurrency = storeTable.Currency;

}

}



select sum(AmountCur)



New:

if (transactionPaymentTrans.AmountTendered)

totalAmountPaid += transactionPaymentTrans.AmountTendered;

else

totalAmountPaid += (transactionPaymentTrans.AmountCur * transactionPaymentTrans.ExchRate) / 100;

}

}



sCurrency = storeTable.Currency;



select sum(AmountCur)



Change 2: Change the following line.

Old:

if (totalAmountPaid )

New:

if ((-totalAmountPaid + tTransactionOrderInvoiceTrans.AmountCur) != 0)










Источник: http://blogs.technet.com/b/dynamicsa...statement.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX Sustained Engineering: How to prevent transaction reversal from posting to closed dimensions Blog bot DAX Blogs 0 22.04.2010 23:05
Dynamics AX Sustained Engineering: Sale Order Batch Invoicing reprints invoices from prior runs, when “Print” is set to ‘After’ on AR >> Periodic >> Sales Update >> Invoice form Blog bot DAX Blogs 0 24.03.2010 02:06
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Inside Dynamics AX 4.0: Transaction Semantics Blog bot DAX Blogs 0 31.10.2007 23:40
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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