Logo
programming4us
programming4us
programming4us
programming4us
Home
programming4us
XP
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server
programming4us
Windows Phone
 
Windows Server

Microsoft Dynamics AX 2009 : Processing Business Tasks - Creating sales orders

- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019
1/1/2012 6:13:35 PM
Creating sales orders in Dynamics AX is very similar to creating purchase orders both in the application and from code.

In this recipe, we will create a new sales order from code. We will use a similar approach to that which we used in the Creating purchase orders recipe.

How to do it...

  1. 1. Open AOT and create a new class called SalesOrderCreate with the following code:

    class SalesOrderCreate

    {
    }
    public static void main(Args _args)

    {
    NumberSeq numberSeq;
    SalesTable salesTable;
    SalesLine salesLine;
    ;
    ttsbegin;
    numberSeq = NumberSeq::newGetNumFromCode(
    SalesParameters::numRefSalesId().numberSequence,
    true);
    salesTable.SalesId = numberSeq.num();
    salesTable.initValue();
    salesTable.CustAccount = '1101';
    salesTable.initFromCustTable();
    if (!salesTable.validateWrite())
    {
    throw Exception::Error;
    }
    salesTable.insert();
    salesLine.SalesId = salesTable.SalesId;
    salesLine.ItemId = '1205';
    salesLine.createLine(true, true, true, true, true, true);
    ttscommit;
    }



  2. 2. Run the class to create a new sales order.

  3. 3. Open Accounts receivable | Sales Order Details to view the newly created sales order:

How it works...

First we create a new class, which will run our code using its main(). Here, we place all the code into a ttsbegin/ttscommit pair to make sure everything is rolled back if something goes wrong.

The method starts with generating the next number for a new sales order.

Next, we call initValue() and initFromCustTable() to initialize various purchTable fields. Note that initFromCustTable() works slightly different from, i.e. we set CustAccount first and call the method afterwards instead of passing CustTable as an argument. Normally, the customer account should come from a user selection screen or some other source. For demonstration purposes, we simply use customer 1101 from the list. initFromVendTable()

Once validation is completed successfully by using validateWrite(), we create a sales order header record by calling salseTable.insert().

Next, we create sales order lines. First, we assign the sales order number and then we specify the item number. As before, the item number should come from user input or some other source. For demonstration purposes, we use item 1205 from the inventory list.

And finally, we call createLine() on the salesLine table to create a line. This method could be called a number of times depending on how many lines need to be created. The method accepts a number of optional boolean arguments:

  • Perform data validations before saving? The default is false.

  • Initialize from SalesTable table? The default is false.

  • Initialize from InventTable table? The default is false.

  • Calculate inventory quantity? The default is false.

  • Add miscellaneous charges? The default is true.

  • Use trade agreements to calculate item price? The default is false.

  • Reserve the item? The default is false.

  • Ignore customer credit limit? The default is false.

  • An inventory transaction number used to copy product model information. This argument is used only when the Product Builder module is active. The default is empty.

Other -----------------
- Microsoft Dynamics AX 2009 : Processing Business Tasks - Creating purchase orders
- Active Directory Domain Services 2008 : Delete a Computer Object
- Active Directory Domain Services 2008 : Create a Computer Object
- Windows Server 2008 Server Core : Managing the System Time with the W32Tm Utility
- Microsoft Dynamics CRM 4.0 Accelerators : Analytics Accelerator (part 2) - Analytics Accelerator Installation
- Microsoft Dynamics CRM 4.0 Accelerators : Analytics Accelerator (part 1)
- Microsoft Dynamic CRM 4.0 : Google Maps Integration
- Microsoft Systems Management Server 2003 : Disaster Recovery - Backing Up the Site Through Systems Management Server
- Microsoft Systems Management Server 2003 : Disaster Recovery - Backup Process Flow
- InfoPath with Sharepoint 2010 : Create a Master or Detail Display Form for SharePoint Lists
 
 
Top 10
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
 
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server