April 13, 2015

System trade line number increment is not specified.

Hi Friends,

I faced one Error while creating Purchase Order from Approved Purchase Requisition
Error Message:
System trade line number increment is not specified.
Purchase order creation has been cancelled due to errors

clip_image001

Reason: As mentioned in error message there is one parameter missing.'

Possible Solution:Click on “System Parameter” from infolog window or go to
System administration -> Setup -> System Parameter
Under System Line Number, Change the increment from 0 to 1.

clip_image002

Now try again to create PO.

clip_image003

Double click on purchase order number to open PO from.

- Harry

April 08, 2015

How to deploy Dynamics AX instance on Azure through LifeCycle Service (LCS)- Part II

Hi All,

In my previous post we discussed how to configure your Azure account with LCS services and how upload LifecycleServicesDeployment certification on Azure portal.
In this post i will show you how to deploy the AX using LCS on Azure.
Step: 1 Login into your LCS account, select the project you want to deploy. Go to environment and click on ‘+’ symbol

image

In next screen you need to choose topology to deply.
DEMO: for demo purpose
DEVTEST: For development or testing
Here we will use DEMO topology, click on DEMO
image ‘'

On next screen you need to choose Product version. Click on “Demo AX 2012 R3 CU8”
image

On the next screen give a name for this instance. (You can select a different size). Click on next.
image

It will ask for a confirmation for deployment. Click on deploy.
Now LCS will deploy the environment on Azure, this may take some time to complete this step.
image


Now on right side tile click on VM Name “DEMO####”
image

It will download a RDC file. Save this file and open with user name and Password.
image

Your Cloud VM is ready for use.
- Harry

April 01, 2015

New book released Microsoft Dynamics AX 2012 R3 Reporting Cookbook

Hi Folks,
I am very happy to share with all of you that my new book just released in market.
Microsoft Dynamics AX 2012 R3 Reporting Cookbook
image

This book is recommended for Dynamics AX developers and .NET-based SSRS developers looking to familiarize themselves with the new AX reporting framework.
This book contain 10 chapters 

1: UNDERSTANDING AND CREATING SIMPLE SSRS REPORTS
2: ENHANCING YOUR REPORT – VISUALIZATION AND INTERACTION
3: REPORT PROGRAMMING MODEL
4: REPORT PROGRAMMING MODEL – RDP
5: INTEGRATING EXTERNAL DATASOURCES
6: BEYOND TABULAR REPORTS
7: UPGRADING AND ANALYZING REPORTS
8: TROUBLESHOOTING AND OTHER ADVANCED RECIPES
9: DEVELOPING REPORTS WITH COMPLEX DATABASES
10: UNIT TEST CLASS AND BEST PRACTICES USED FOR REPORTS

For details check on web stores to get your copy.
- Harry

March 27, 2015

Auto Settlement of Sales Invoice in AX

In an organization where thousands (or more) of sales transaction happening every day, and here is this auto settlement requirement comes in picture. Auto settlement process save a ton of time to manually settlement of each and every customer or record. There are three different ways to perform a auto settlement of the sales invoices.

1. By Sales parameter select auto settlement.
2. By select open transaction at the time of invoice posting
3. Through X++ code

1. By Sales parameter select auto settlement: Go to AR/Setup/Parameter under settlement tab you will found a check box for automatic settlement. Select this check box. And your system will auto settle your sales invoice.
clip_image002

This will settle a transaction whenever you post a payment journal.

2. By select open transaction at the time of invoice posting: You can also choose the open transaction at the time of invoice journal creation. At the time of invoicing click on “open transaction settle” button, this will open a new form to select records to be settle from open transaction of that customer.


clip_image004

clip_image006

3. Finally we have code as well (I love this part ;)): So here we are to do some tricky things. Yes, we can do the settlement by X++ code as well. Below code is an example in Job. You can use the same logic for any trigger point in AX.

static void theAxapta_AutosettlePayment(Args _args)
{
CustTable custTable;
CustTrans invCustTrans, payCustTrans;
SpecTransManager manager;
CustVendTransData custVendTransData;
;
custTable = CustTable::find("504411");
// Find the oldest unsettled invoice
select firstonly invCustTrans
order by TransDate asc
where invCustTrans.AccountNum == custTable.AccountNum &&
invCustTrans.TransType == LedgerTransType::Sales &&
!invCustTrans.closed;
// Find the oldest unsettled payment
select firstonly payCustTrans
order by TransDate asc
where payCustTrans.AccountNum == custTable.AccountNum &&
payCustTrans.TransType == LedgerTransType::Payment &&
!payCustTrans.closed;
ttsbegin;
// Create an object of the CustVendTransData class with the invoice transaction as parameter
custVendTransData = CustVendTransData::construct(invCustTrans);
// Mark it for settlement
custVendTransData.markForSettlement(CustTable);
// Create an object of the CustVendTransData class with the payment transaction as parameter
custVendTransData = CustVendTransData::construct(payCustTrans);
//mark it for settlement
custVendTransData.markForSettlement(CustTable);
ttscommit;
// Settle all marked transactions
if(CustTrans::settleTransact(custTable, null, true,
SettleDatePrinc::DaysDate, systemdateget()))
info("Transactions settled");
}

Enjoy…..

- Harry