Monday, September 29, 2014

AX 2012 Issue: Missing module in Dynamics AX module navigation

Issue:
An end user seemed to be missing the entire Accounts Receivable module (Figure 1 below) in AX 2012.

Thought process:
My first thought was that the issue was security: if the user doesn't have permissions to any of the menu items under that module, the module won't show up. The issue is that the user was a power user and should obviously have access to almost all objects under AR. 

The giveaway:
A key indicator that the issue was specific to a single user; other users with the same role were able to to see it. That means it must be something else outside of security.

Solution:
The solution was that the module was unintentionally hidden. Make it visible (or hide it!) by going to File > 'View' > 'Modules' > Uncheck/Check the appropriate module(s) (Figure 2 below). When they are checked, they are visible. If they are unchecked, they are not visible. Once rechecking the AR module, we can see the module is back in place (Figure 3 below)

Note: This is a great way to hide modules that users may not need. It can simplify the modules list for end users who really only need to see specific things. For example, a retail power user may need to see customers, workers, etc. Since those example objects also exist in the AR, sales and marketing, and HR, the user will see the AR, Sales&Marketing, HR, and Retail modules. Since the user can get to everything they need in the Retail module, they may not want to see those other three modules. By hiding the other modules on a user by user basis, it will simplify their view of the system and seem less cluttered. 

Figure 1 - Missing Accounts Receivable module in AX 2012 navigation

Figure 2 - The accounts receivable module is unchecked, meaning that it is hidden.

Figure 3 - The Accounts Receivable module is now visible to the user

Tuesday, September 9, 2014

Dynamics AX 2012 R3 - Complete List of Out Of The Box Workflows

Microsoft Dynamics AX 2012 R3 comes with 75 workflow types in the base product. Identifying and leveraging these base workflow types can be highly beneficial to adding value to customers' implementations. The key is knowing what they are while analyzing a businesses needs to devise the best solution AX can offer with minimal modifications.

Just to clarify, these are the workflow types. There can be multiple workflows setups using one or more of the below workflows.

For total transparency, I used the code below to extract the list from the AOT. I hardcoded the 'en-us' but this can be set for whatever language you want.

static void daxWorkflowAnalyzer(Args _args)
{
    #AOT
    #Properties
    TreeNodeIterator          templateNodes;
    TreeNode                      templateNode;
    SysDictWorkflowType template;
 
    templateNodes = TreeNode::findNode(#WorkflowTypesPath).AOTiterator();
    templateNode = templateNodes.next();
 
    while (templateNode)
    {      
        info(strFmt("%1 - %2", SysLabel::labelId2String2(findProperty(templateNode.AOTgetProperties(), #PropertyLabel), 'en-us'),
                               SysLabel::labelId2String2(findProperty(templateNode.AOTgetProperties(), #PropertyHelpText), 'en-us')));
     
        templateNode = templateNodes.next();
    }
}

WORKFLOW DESCRIPTION
Advanced ledger entry workflow Use this type to create approval workflows for advance ledger entries
Bank reconciliation journal approval workflow Use this type to create approval workflows for Bank Reconciliation journals
Budget account entry workflow Use this type to create review workflows for budget account entries
Budget plan workflows Use this type to create and review workflows for budget plans
Budget register entry workflow Use this type to create review workflows for budget register entries
Case management workflow Use this type to create a workflow for cases
Catalog import product approval Use this type to create review workflows for imported catalog products
Catalog import approval Use this type to create review workflows for imported catalogs
Customer bank remittance workflow Use this type to create approval workflows for customer bank remittance journals
Customer draw bill of exchange workflow Use this type to create approval workflows for customer draw bill of exchange journals
Customer free text invoice workflow Use this type to create approval workflows for free text invoices
Customer payment workflow Use this type to create approval workflows for customer payment journals
Customer protest bill of exchange workflow Use this type to create approval workflows for customer protest bill of exchange journals
Customer recurring invoice workflow Use this type to create approval workflows for recurring invoices
Customer redraw bill of exchange workflow Use this type to create approval workflows for customer redraw bill of exchange journals
Customer settle bill of exchange workflow Use this type to create approval workflows for customer settle bill of exchange journals
Document handling Workflow type for document handling
Human resources actions workflow Use this type to create workflows for personnel actions, such as to create new positions or to modify positions
Worker actions hire Workflows for worker actions of the Hire type
Worker actions terminate Workflows for worker actions of the Terminate worker type
Worker actions transfer Workflows for worker actions of the Transfer worker type
Signing limits workflow Use this template to create a workflow for review of signing limit requests
Time and attendance days total workflow Use this type to create approval workflows for time and attendance days total records
Time and attendance journal registration workflow Use this type to create approval workflows for time and attendance journal registration records
Ledger allocations journal workflow Use this type to create approval workflows for allocation journals
Ledger daily journal workflow Use this type to create approval workflows for daily journals
Ledger eliminations journal workflow Use this type to create approval workflows for eliminations journal
Ledger fixed assets budget journal workflow Use this type to create approval workflows for fixed asset budget journals
Ledger post fixed assets journal workflow Use this type to create approval workflows for post fixed asset journals
Customer rebate workflow Customer rebate workflow type
Review original budget workflow Use this type to review an original budget
Review budget revision workflow Use this type to review a budget revision
Review project invoice proposals Use this type to review project invoice proposals
Review project quotations Use this type to review project quotations
Purchase agreement approval workflow Use this type to create approval workflows for purchase agreements
Commitments approval Use this template to create approval workflows for commitment documents
Delivery due date notification workflow Use this type to create delivery due date notification workflows for unconfirmed product receipts
Invoice received notification workflow Use this type to create invoice received notification workflows for unconfirmed product receipts
Product receipt failed notification workflow Use this type to create notifications workflows for failed product receipts
Unconfirmed product receipt rejection notification workflow Use this type to create notification workflows for rejected unconfirmed product receipts
Purchase order line workflow Use this type to create review- and approval workflows for purchase order lines
Purchase requisition line review Use this type to create review workflows for purchase requisition lines 
Purchase requisition review Use this type to create review workflows for purchase requisitions 
Purchase order workflow Use this type to create review- and approval workflows for purchase orders
Retail catalog approval workflow Retail catalog approval workflow type
Trade allowance workflow Trade allowance workflow type
Vendor rebate approval Vendor rebate workflow approval type
Freight Invoice Approval Workflow to support invoice approval
Cash advance request Use this type to create approval workflows for cash advance requests
Dispute management Use this type to create workflows for credit card dispute management
Expense report auto posting Use this type to create document automatic posting workflows for expense reports
Expense report Use this type to create document approvals for expense reports
Expense line item auto posting Use this type to create line item automatic posting workflows for expense reports
Expense line item Use this type to create line item approvals for expense reports
Travel requisition Use this type to create approval workflows for travel requisitions
VAT tax recovery Use this type to create approval workflows for VAT tax recovery
Review timesheet workflow Use this type to review a timesheet
Review timesheet line workflow Use this type to review a timesheet line
User request workflow Use this type to create user provisioning workflows for user requests
Inactivate user request workflow Use this type to create user inactivation workflows for inactivate user requests
Vendor bank remittance journal workflow Use this type to create approval workflows for vendor bank remittance journals
Vendor disbursement journal workflow Use this type to create approval workflows for vendor disbursement journals
Vendor draw promissory note journal workflow Use this type to create approval workflows for vendor draw promissory note journals
Vendor invoice approval journal workflow Use this type to create approval workflows for vendor invoice approval journals
Vendor invoice journal workflow Use this type to create approval workflows for vendor invoice recording journals
Vendor invoice register journal workflow Use this type to create approval workflows for vendor invoice register journals
Vendor invoice workflow Use this type to create review workflows for vendor invoices
Vendor invoice line workflow Use this type to create review workflows for vendor invoice lines
Vendor redraw promissory note journal workflow Use this type to create approval workflows for vendor redraw promissory note journals
Vendor category application workflow Use this type to create approval workflows for vendor category application requests
Vendor category justification workflow Use this type to create approval workflows for vendor category justification requests
Vendor add application workflow Use this type to create approval workflows for vendor add application requests
Vendor add justification workflow Use this type to create approval workflows for vendor add justification requests
Vendor status change request workflow Use this type to create approval workflows for vendor status change requests
Vendor settle promissory note journal workflow Use this type to create approval workflows for vendor settle promissory note journals