web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Supply chain | Supply Chain Management, Commerce
Suggested Answer

Retail POS - Customer account payment

(0) ShareShare
ReportReport
Posted on by 680

Hi All,

I tried to test the payment with customer account in a retail POS. However I received the following message

"Customer ... does not exist or its acocunt is blocked"

2020_2D00_11_2D00_18-10_5F00_56_5F00_55_2D00_Dynamics-Retail-POS-and-7-more-pages-_2D00_-Work-_2D00_-Microsoft_0B20_-Edge.png

However, this customer is not blocked at all. Also, of course this customer exists in CustTable as well.

I debugged the related pieces of code and found that  the record is not retrieved from the database even if  the _custAccount (004009) was passed to this find() method correctly. 

    static CustTable find(CustAccount   _custAccount,
                          boolean       _forUpdate = false)
    {
        CustTable custTable;

        if (_custAccount)
        {
            if (_forUpdate)
            {
                custTable.selectForUpdate(_forUpdate);
            }

            select firstonly custTable
                index hint AccountIdx
                where custTable.AccountNum == _custAccount;
        }

        return custTable;
    }

What is the way to solve it? Should I set a real-time service profile in order to make it work? 

Thank you. 

I have the same question (0)
  • Guanghui Profile Picture
    Microsoft Employee on at

    How about other tender type, such as pay cash, credit card?

    can you run job to push the customer  data into channel database if you are sure customer is not blocked?

    can you show what's the call-stack which contains the CustTable.find() 

  • Suggested answer
    Guanghui Profile Picture
    Microsoft Employee on at

    The code is here:

    class\RetailTransactionServiceCustomer

    public static container validateCustomerStatus(CustAccount _custAccount, AmountMST  _salesAmount, CurrencyCode _currencyCode)

       {

           container   custStatus = [false,0];

           AmountMST   creditMax = 0;

           TypeOfCreditmaxCheck creditMaxCheck = CustParameters::find().CreditMaxCheck;

           #Define.UserTab('\t')

           if (_currencyCode != CompanyInfoHelper::standardCurrency())

               _salesAmount = CurrencyExchangeHelper::amountCur2MST(_salesAmount, _currencyCode);

           try

           {

               if (!CustTable::checkExistAndOpen(_custAccount, _salesAmount))

               {

                   custStatus = [false,strFmt("@RET4170018", _custAccount)];

               }

        }

    Please check the database and determine if CustTable::checkExistAndOpen(_custAccount, _salesAmount)) will return true, and restart IIS or SQL server service if necessary

  • ShawnDEV Profile Picture
    680 on at

    Hi,

    I already debugged that method you mentioned and if I step into methods called from this method, I come down to CustTable find () ..

    Then the record is not retrieved although the parameter is passed correctly..

    I can restart IIS but I don't think that will solve the issue.. But will try..

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Supply chain | Supply Chain Management, Commerce

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 101 Super User 2026 Season 2

#2
Paolo Cecchelli Profile Picture

Paolo Cecchelli 77 Super User 2026 Season 2

#3
Laurens vd Tang Profile Picture

Laurens vd Tang 66 Super User 2026 Season 2

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans