Dynamics 365 Business Central – webservice create an order

How to create and order using csharp (C#) and webservice.

C# code

        //your credentials for webservice 
        NetworkCredential myCred = new NetworkCredential();
        myCred.UserName = ConfigurationManager.AppSettings["xxxx"].ToString();
        myCred.Password = ConfigurationManager.AppSettings["xxxx"].ToString();
        myCred.Domain = ConfigurationManager.AppSettings["xxxx"].ToString();
        

        
        Ordrer_Service css = new Ordrer_Service();        
        css.Credentials = myCred;

        //create your order and update with customer
        Ordrer ord = new Ordrer();
        css.Create(ref ord);
        string _order = ord.No.ToString();          
        ord = css.Read(_order);        
        ord.Sell_to_Customer_No = "100";
        css.Update(ref ord);

        //create 3 sales order lines for this order
        ord.SalesLines = new Sales_Order_Line[3]; 
        for (int x = 0; x < 3; x++)
        {
            ord.SalesLines[x] = new Sales_Order_Line() { };
        }
        css.Update(ref ord);

        //sales ord line 0 - resource
        ord.SalesLines[0].TypeSpecified = true;
        ord.SalesLines[0].Type = Ordrer_Ref.Type.Resource;
        ord.SalesLines[0].FilteredTypeField = "Resource";
        ord.SalesLines[0].TotalSalesLine_Line_AmountSpecified = false;
        ord.SalesLines[0].Total_Amount_Excl_VATSpecified = false;
        ord.SalesLines[0].Total_Amount_Incl_VATSpecified = false;
        ord.SalesLines[0].Total_VAT_AmountSpecified = false;
        ord.SalesLines[0].Total_VAT_AmountSpecified = false;         
        ord.SalesLines[0].No ="BN";
        ord.SalesLines[0].Description = "DIVERSE VARE";
        ord.SalesLines[0].Quantity = 1;
        ord.SalesLines[0].QuantitySpecified = true;


        //sales ord line 1 - _blank_
        ord.SalesLines[1].TypeSpecified = true;
        ord.SalesLines[1].Type = Ordrer_Ref.Type._blank_;
        ord.SalesLines[1].Description = "Description blank line";
        ord.SalesLines[1].FilteredTypeField = "";  
        ord.SalesLines[1].TotalSalesLine_Line_AmountSpecified = false;
        ord.SalesLines[1].Total_Amount_Excl_VATSpecified = false;
        ord.SalesLines[1].Total_Amount_Incl_VATSpecified = false;
        ord.SalesLines[1].Total_VAT_AmountSpecified = false;
        ord.SalesLines[1].Total_VAT_AmountSpecified = false;

        //sales ord line 2 - Item
        ord.SalesLines[2].TypeSpecified = true;
        ord.SalesLines[2].Type = Ordrer_Ref.Type.Item;
        ord.SalesLines[2].FilteredTypeField = "Item";
        ord.SalesLines[2].No = "1-DIV";
        ord.SalesLines[2].Quantity = 1;
        ord.SalesLines[2].TotalSalesLine_Line_AmountSpecified = false;
        ord.SalesLines[2].Total_Amount_Excl_VATSpecified = false;
        ord.SalesLines[2].Total_Amount_Incl_VATSpecified = false;
        ord.SalesLines[2].Total_VAT_AmountSpecified = false;
        ord.SalesLines[2].Total_VAT_AmountSpecified = false;

        css.Update(ref ord);

Leave a comment