X++ code to create purchase order manually in D365 F&O

  

Using NumberSequence we can create purchid automatically but this is old method of doing

         NumberSeq   numberSeq;

        PurchTable  purchTable;

        PurchLine   purchLine;

        ;

    

        ttsBegin;

        // geting number sequence

        numberSeq = NumberSeq::newGetNum(PurchParameters::numRefPurchId());

        numberSeq.used();

        // Asign purch id

        purchTable.PurchId = numberSeq.num();

        // calling table initvalue method

        purchTable.initValue();

        // find the vendor account

        purchTable.initFromVendTable(VendTable::find('1001'));

        // validation

        //if (!purchTable.validateWrite())

        //{

        //    throw Exception::Error;

        //}

        //// insert data


        purchTable.InventSiteId= 'DC';

        purchTable.InventLocationId= 'DC';

        purchTable.insert();


        //purchLine.clear();

        purchLine.initValue();

        purchLine.PurchId   = purchTable.PurchId;

        purchLine.ItemId    = '0001';

       

        // Purch line creation

        purchLine.createLine(true, true, true, true, true, true);

        ttsCommit;

        info(strFmt("Purchase order '%1' has been created",purchTable.PurchId));



                                             or 


Using Data entities also we can do this (Prefered way of doing)


class BASPurchOrderCreation

{

    public static void main(Args _args)

    {

        PurchPurchaseOrderHeaderV2Entity    purchPurchaseOrder;

        PurchPurchaseOrderLineV2Entity        purchPurchaseOrderLine;

        //Header creation

        purchPurchaseOrder.initValue();

        purchPurchaseOrder.OrderVendorAccountNumber='1001';

        purchPurchaseOrder.insert();


        PurchId purchId = purchPurchaseOrder.PurchaseOrderNumber;


        //Line creation

        purchPurchaseOrderLine.initValue();

        purchPurchaseOrderLine.PurchaseOrderNumber=purchId;

        purchPurchaseOrderLine.ItemNumber='0001';

        purchPurchaseOrderLine.ReceivingSiteId='DC';

        purchPurchaseOrderLine.ReceivingWarehouseId='DC';

        purchPurchaseOrderLine.insert();


        info(strFmt("Purchase Order number is %1",purchPurchaseOrder.PurchaseOrderNumber));      

    }


}

Comments

Popular posts from this blog

How to Create a wizard in x++ d365

how to post trade agreement journals automatically using x++ code

X++ code to CREATE AND POST A TRADE AGREEMENT IN MICROSOFT DYNAMICS 365 in D365 F & O