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 :
Microsoft Dynamics AX (Archived)

Confirm single purch line x++ AX2012

(0) ShareShare
ReportReport
Posted on by

There is a way to confirm a selected lines from a purch order?

not to confirm de entire purch order

*This post is locked for comments

  • Community Member Profile Picture
    on at

    it does not work, the priocess confirmed the entire purch order

  • Community Member Profile Picture
    on at

    static void BTW_makePurchLineConfirm(Args _args)

    {

       PurchFormLetter             purchFormLetter;

       PurchFormletterParmData     purchFormLetterParmData;

       PurchParmUpdate             purchParmUpdate;

       PurchParmTable              purchParmTable;

       PurchParmLine               purchParmLine;

       PurchTable                  purchTable;

       PurchLine                   purchLine;

       PurchId                     purchId;

       Num                         vendPurchOrderId;

       int                         ierror;

       str                         errorTxt;

       ;

       setPrefix("Purchase Order");

       purchId             = "Purch-000001";

       purchTable          = PurchTable::find(purchId);

       vendPurchOrderId    = strFmt("%1-%2", purchId, int642str(VendPurchOrderJour::numberOfPurchOrder(purchTable) + 1));

       try

       {

           ttsBegin;

           // Set purchFormLetterParmData class

           purchFormLetterParmData = PurchFormletterParmData::newData(DocumentStatus::PurchaseOrder, VersioningUpdateType::Initial);

           purchFormLetterParmData.parmOnlyCreateParmUpdate(true);

           purchFormLetterParmData.createData(false);

           purchParmUpdate = purchFormLetterParmData.parmParmUpdate();

           // Set PurchParmTable table

           purchParmTable.clear();

           purchParmTable.TransDate                = systemDateGet();

           purchParmTable.Ordering                 = DocumentStatus::PurchaseOrder;

           purchParmTable.ParmJobStatus            = ParmJobStatus::Waiting;

           purchParmTable.Num                      = vendPurchOrderId;

           purchParmTable.PurchId                  = purchTable.PurchId;

           purchParmTable.PurchName                = purchTable.PurchName;

           purchParmTable.DeliveryName             = purchTable.DeliveryName;

           purchParmTable.DeliveryPostalAddress    = purchTable.DeliveryPostalAddress;

           purchParmTable.OrderAccount             = purchTable.OrderAccount;

           purchParmTable.CurrencyCode             = purchTable.CurrencyCode;

           purchParmTable.InvoiceAccount           = purchTable.InvoiceAccount;

           purchParmTable.ParmId                   = purchParmUpdate.ParmId;

           purchParmTable.insert();

           // Set PurchParmLine table

           while select purchLine

               where purchLine.PurchId == purchTable.purchId

               && purchLine.ItemId == "XXXXX"

           {

               purchParmLine.InitFromPurchLine(purchLine);

               purchParmLine.ReceiveNow    = PurchLine.PurchQty;

               purchParmLine.ParmId        = purchParmTable.ParmId;

               purchParmLine.TableRefId    = purchParmTable.TableRefId;

               purchParmLine.setQty(DocumentStatus::PurchaseOrder, false, true);

               purchParmLine.setLineAmount();

               purchParmLine.insert();

           }

           purchFormLetter = PurchFormLetter::construct(DocumentStatus::PurchaseOrder);

           purchFormLetter.createFromLines(true);

           purchFormLetter.transDate(systemDateGet());

           purchFormLetter.proforma(false);

           purchFormLetter.specQty(PurchUpdate::All);

           purchFormLetter.purchTable(purchTable);

           // This is the ID we hard code as the product receipt ID, if we do the posting via UI

           // user would have the option to manually enter this value

           purchFormLetter.parmParmTableNum(purchParmTable.ParmId);

           purchFormLetter.parmId(purchParmTable.ParmId);

           purchFormLetter.purchParmUpdate(purchFormLetterParmData.parmParmUpdate());

           purchFormLetter.run();

           ttsCommit;

           info(vendPurchOrderId);

       }

       catch

       {

           ttsAbort;

       }

    }

  • Community Member Profile Picture
    on at

    the purch order contains 3 lines, different items on each line, so I just chose one with that itemId

  • Community Member Profile Picture
    on at

    Ok, If I have one purch order with 3 lines, I want to confirm only one line, something like packingSlip, I want to chose the lines to confirm.

    I hope to have explained.

  • Community Member Profile Picture
    on at

    it does not work, Always posts all lines in the purch order, it does not matter if I select a single line.

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 August Top 10 Community Leaders

These are the community rock stars!

Leaderboard > 🔒一 Microsoft Dynamics AX (Archived)

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans