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

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Suggested Answer

LineAmount value not being set directly when creating sales order by code

(0) ShareShare
ReportReport
Posted on by 1,552

Hi,

I'm creating a sales order using this code. And I noticed that when I set the salesLineAmount and the i call salesLine.createLine(true, false, true, true, true, true);  -- Then LineAmount changes back to 0. So I had to update SalesLine again as you can see in order to fill the line amount with the value that I need -- why is that?? why it gets changed to 0?

public void createSalesOrder(XXReqHeader _reqHeader, XXReqLine _reqLine)
{
    SalesTable  salesTable;
    SalesLine   salesLine;
    CustTable   custTable;
    
    select firstonly custTable where custTable.AccountNum == _reqHeader.AccountNum();
    salesTable.CustAccount = custTable.AccountNum;
    
    salesTable.SalesId  = NumberSeq::newGetNum(SalesParameters::numRefSalesId()).num();
             
    salesTable.initValue();
                 
    salesTable.initFromCustTable();
    if(_reqHeader.Currency())
    {
        salesTable.CurrencyCode = _reqHeader.Currency();
    } 
    if(salesTable.validateWrite())
    {
        salesTable.insert();
    }
    
    salesLine.initFromSalesTable(_salesTable);
    
    salesLine.ItemId        = _reqLine.ItemId();
    salesLine.Name          = _reqLine.ItemName();
    salesLine.SalesQty      = _reqLine.Qty();
    salesLine.SalesPrice    = _reqLine.Price();
    salesLine.LineAmount    = _reqLine.LineAmount();
    
    salesLine.createLine(true, false, true, true, true, true);
    
    this.updateSalesLine(salesLine, _reqLine);
}


public void updateSalesLine(SalesLine _salesLine, XXReqLine _reqLine)
{
        salesLine salesLineLocal;

        select firstonly forupdate salesLineLocal where salesLineLocal.SalesId == _salesLine.SalesId
                                && salesLineLocal.LineNum == _salesLine.LineNum;

        salesLineLocal.Name             = _reqLine.ItemName();
        salesLineLocal.LineAmount       = _reqLine.LineAmount();
        if(_reqLine.SalesUnit())
        {
            salesLineLocal.SalesUnit        = _reqLine.SalesUnit();
        }
       
        salesLineLocal.update();

    }








I have the same question (0)
  • Suggested answer
    Mohit Rampal Profile Picture
    12,565 Moderator on at

    Hi, Why do you need to specify LineAmount in code, isn't it calculating automatically.

    check this out

    paragchapre.com/.../

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

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Congratulations to our 2025 Community Spotlights

Thanks to all of our 2025 Community Spotlight stars!

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 512 Super User 2026 Season 1

#2
Giorgio Bonacorsi Profile Picture

Giorgio Bonacorsi 386

#3
Adis Profile Picture

Adis 259 Super User 2026 Season 1

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans