donderdag 4 juli 2013

On Hand Inventory fields explained

source: http://social.technet.microsoft.com/wiki/contents/articles/6116.dynamics-ax-on-hand-inventory.aspx
MS Dynamics AX 2009 has a very detailed information about inventory items; it gives a comprehensive information regarding stock which gives a clear vision about what in stock, what is reserved for customer or to be issued out, what is ordered from vendor or received in, and what have been posted or still in open transaction.
The below table descript the information in Items On hand form under Inventory Management->Common Forms->Item details->On hand button

Or
it could be accessed through Sales Order/ Purchase Order/Inventory Movement/Production Order under Inventory button->On Hand

#
Label
Description
Comment
1
Physical inventory
Total available quantities
 
2
Physical reserved
Quantities reserved in Sales Order
 
3
Available Physical
Available physical quantities for transactions
3 = 1 – 2
4
Ordered in total
Total quantities in open
Purchase Order
(did not received yet)
 
5
Ordered reserved
Quantities reserved from Purchase Order (did not received yet)
 
6
Available for reservation
Quantities in open Purchase Orders
(did not received yet) available for reservation
6 = 3 + (4 – 5)
7
On order in total
Quantity in open Sales Order
(did not delivered yet)
 
8
Total Available
Net available physical quantities for transaction
8 = 6 – 7
       
9
Posted quantity
Quantities posted financially
 
10
Deducted
Quantities have physical packing list
updates in Sales Order
 
11
Picked
Quantities have picking list
update in Sales Order
 
12
Received
Quantities have physical updates
in Purchase Order
 
13
Registered
Quantities have registered
in Purchase Order
 
       
14
Physical cost amount
Amount posted in ledger physically
 
15
Financial cost amount
Amount posted in leader financially
 
16
Cost price
Item average cost
 

vrijdag 25 januari 2013

Call Non-Static Method Dynamically

http://stackoverflow.com/questions/9098704/dynamics-ax-call-non-static-method-dynamically

public static anytype callMethod(str _className, str _methodName, container _parameters, Object _object = null)
{
    DictClass dictClass;
    anytype returnValue;
    Object object;
    ExecutePermission permission;

    // Grants permission to execute the DictClass.callObject method.
    // DictClass.callObject runs under code access security.
    permission = new ExecutePermission();
    permission.assert();

    if (_object != null)
    {
        dictClass = new DictClass(classidget(_object));
        object = _object;
    }
    else
    {
        dictClass = new DictClass(className2Id(_className));
        object = dictClass.makeObject();
    }

    if (dictClass != null)
    {
        switch (conLen(_parameters))
        {
            case 0:
                returnValue = dictClass.callObject(_methodName, object);
                break;
            case 1:
                returnValue = dictClass.callObject(_methodName, object, conPeek(_parameters, 1));
                break;
            case 2:
                returnValue = dictClass.callObject(_methodName, object, conPeek(_parameters, 1), conPeek(_parameters, 2));
                break;
             //... Continue this pattern for the number of parameters you need to support.
        }
    }

    // Closes the code access permission scope.
    CodeAccessPermission::revertAssert();

    return returnValue;
}

woensdag 2 januari 2013

Custom Lookup - company id

public void lookup()
{
    SysTableLookup sysTableLookup;
    Query query;
    ;

    sysTableLookup = SysTableLookup::newParameters(tablenum(DataArea),this, false);
    sysTableLookup.addLookupfield(fieldnum(DataArea, Id), true);
    sysTableLookup.addLookupfield(fieldnum(DataArea, Name));

    query = new Query();
    query.addDataSource(tablenum(DataArea));
    query.dataSourceTable(tablenum(DataArea)).addRange(fieldnum(DataArea,IsVirtual)).value(int2str(0));
    sysTableLookup.parmQuery(query);

    sysTableLookup.performFormLookup();
}

vrijdag 14 september 2012

How to: Search Application Object Properties

 

Source: http://msdn.microsoft.com/en-us/library/aa661186(v=ax.50).aspx

  1. Click the node that you want to search in the Application Object Tree (AOT).
    For example, click the Tables node to search for a table property.

  2. Press Ctrl+F to open the Find dialog box.

  3. Set the Search field to All nodes.

  4. Type an expression in the Containing text field of the format:

    PropertyName : *#PropertyValue

    For example, to find all instances where the TableGroup property is set to Parameter, type:

    TableGroup: *#Parameter

dinsdag 29 mei 2012

WMS in Microsoft Dynamics AX 2009. Outbound Process Setup

Picking over multiple warehouses can be setup in the shipment reservation sequence.


Shipment reservation sequence


The shipment reservation sequence defines how and where the shipment reservation process reserves. You set up shipment reservation processes under [Inventory management > Setup > Distribution > Shipment reservation sequence].

In this example, the reservation sequence at first tries to reserve inventory from Warehouse 23 and if this warehouse does not have enough physical inventory, Warehouse 22 is the next.




The shipment reservation process contains different layers: Reservation sequence -> Reservation combinations -> Reservation methods.

The reservation combination must be enabled for pallet transports and picking route logic.

Outbound rules

To control the process after picking, an outbound rule must be used and associated with the shipment. In this case, the picked inventory must be delivered to the shipment staging area and it must be loaded before the shipment can be sent.


Source: http://blogs.msdn.com/b/dynamicsaxscm/archive/2009/04/26/wms-in-microsoft-dynamics-ax-2009-outbound-process-setup.aspx