Sunday, October 30, 2016

Account number for transaction type vendor balance does not exist in Ax 2012

Error: 

Account number for transaction type vendor balance does not exist in Ax 2012 

Solution:-

Reason behind the error is "Configured account ". The account which we set in a Posting Profile should be present in a configured account structure.

Check Summery Account from assigned Posting profile for linked account.  


Go to the GL- Setup-Cart Of Account - Configure Account Structure 



Configure the same Summery Account for under the configured account form based on your setup and requirement
.




Thursday, October 27, 2016

Dimension description values in ax 2012

Issue :-

Need to get or update Dimension description value in AX 2012.

Solutions:-

Description values for dimension are always coming from different dimension forms. but the basics tables which we are using in this forms are below. we can directly access the tables to get these description values.

Mostly all dimensions values has different table according to dimension name (Bussiness Unit, Cost Center). we can get these values from tables which name has dimension label with it (OMOperating + Dimension values). Such as for Business Unit description you can access OMoperationBussinesUnit .

Few tables are:-
OMoperationBussinesUnit
DimAttributeFinancialTag.
   

Setup and configuration Bank Statement Upload for MT940 file in AX 2012


1.    Open the Bank accounts form. (Click Cash and bank management > Common > Bank 1.accounts > Bank accounts.)
2.   Open the Inbound ports form. (Click System administration > Setup > Services and 5.Application Integration Framework > Inbound port.)
3.    Select the bank account to reconcile and close the form.



4.    Create new service.
5.    In the Adapter field, select Files system adapter. 7.
6.    In the URI field, select a location to put the bank files in.

 
7.    On the Service contract customizations FastTab, click Service operations.
8.    In the Select service operations form, select the following entries in the Remaining service operations list, and move them to the Selected service operations list:
·        BankStmtService.create
·        BankStmtService.delete
·        BankStmtService.find
·        BankStmtService.getChangedKeys
·        BankStmtService.getKeys
·        BankStmtService.read


9.    Open the Application Object Tree (AOT) (press Ctrl+D), and expand the Resources node.
10.  Locate the resources starting with MT940.



11.  Right-click each resource, and then click Open. Then, in the Preview form, in the File type field, 13.select XML document.

12.  Click Export, and then close the AOT. Do the same for both resources. It will create a XSTLS file on the given location.

13.  In the Inbound ports form, on the Processing options FastTab, select the check box next to Transform all requests, and then click Inbound transforms


14.  In the Inbound transforms form, click Manage transforms.
15.  In the Manage transforms form, create a new entry. In the Type field, select XSL.
16.  Click Load, and then browse for the Extensible Stylesheet Language Transformation (XSLT) files 1 for the MT940 files. These files have the .xslt extension.



17.  Do the same thing for both files (MT940TXT-to-MT940XML.xslt & MT940XML-to-Reconciliation). These are the same files which we create by export through Resources node.

18.  In the Inbound transforms form, create a new entry. In the Transform name field, select the XSLT entries. When you receive a warning message, click Yes.
19.  Do the same thing for both files (MT940TXT-to-MT940XML.xslt & MT940XML-to-Reconciliation). Also take care of the sequences of the files.


20.  On the Troubleshooting FastTab, in the Logging mode field, select Original document.

On the Security FastTab, in the Restrict to partition field, select initial.
21.  Click Activate to activate the inbound port.


Import bank statement using advanced bank reconciliation

After you’ve set up the advanced bank reconciliation import, you can import electronic bank statements.

23.  Open the Cash and bank management parameters form. (Click Cash and bank 1.management > Setup > Cash and bank management parameters.)
24.  Click the Bank reconciliation link, and then select the options to use for advanced bank reconciliation.


25.  Click the Number sequences link, and then select a number sequence for Reconcile ID, 3.Statement ID, and Download ID. Close the form


26.  Open the Bank statement format form. (Click Cash and bank management > Setup > Bank reconciliation > Bank statement format.)
27.  Click New to create a new bank statement format.
28.  In the Inbound port field, select the inbound port that you created during the setup of advanced bank reconciliation import. Save and close the form.


Setup part for importing bank statement has been done. These are the main 3 setup (Resources and export file,Manage Transform and Statement format  ) which we need to take care before importing any statement.


Import Statement


·        Open the Bank accounts list page. (Click Cash and bank management > Common > Bank accounts.)
·        Select a bank account for which we will import the statement.
·        On the Action Pane, click Bank statements.

This will take you in the statement form select import statement from the form and select the file to be upload.

Penny difference error in Bank reconciliation. After upload MT940 in AX 2012

Issue:- 

After uploading MT940 I was doing Bank Reconciliation and trying to match the amount manually. But I was getting  this error "The difference between statement line amount -23,500,000.00 and total amount of bank documents 23,500,000.00 exceeds the allowed penny difference.".

Solutions:-

 Here we are considering that you are aware of all MT940 upload processor according to microsoft Dynamics white paper. if not then follow these steps http://axaptaworld-saklani.blogspot.ae/2016/10/setup-and-configuration-bank-statement.html .

if you are facing the same issue you can follow below steps.


1. Open the AOT (Ctrl + D) and go to the AOT node ‘Resources’

2. Locate the resources starting with MT940XML_to_Reconciliation_xlst

3. On the resource, right click and select ‘Open’ and select the File type as ‘XML document’
And export them

Disclaimer: this is a Microsoft suggestion and will not be responsible for its implantation or its effects whatsoever


It will get exported as an XSLT file

Right click on the file and choose open with Option Microsfot Visual studio 2013 (any version is fine)




Find this code

<xsl:template name="GetCreditDebitIndicator">
    <xsl:param name ="Direction" select ="''"/>
    <!--Reverse Debit Credit-->
    <xsl:choose>
      <xsl:when test="starts-with($Direction,'D') or starts-with($Direction,'RC')">
        <xsl:value-of select="'Debit'"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="'Credit'"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>


Replace with this code

<xsl:template name="GetCreditDebitIndicator">
    <xsl:param name ="Direction" select ="''"/>
    <!--Reverse Debit Credit-->
    <xsl:choose>
      <xsl:when test="starts-with($Direction,'D') or starts-with($Direction,'RC')">
        <xsl:value-of select="'Credit'"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="'Debit'"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>


Save the file in Vs and close the window and go to the "AX - System Administrator- Setup Services - inbound services " and find the service which you are using. Upload the same reconciliation file for the Service.

for Loding XMl file follow the steps from 12 to 17 in above given link. or in this link  http://axaptaworld-saklani.blogspot.ae/2016/10/setup-and-configuration-bank-statement.html

Penny difference error in Bank reconciliation. After upload MT940 in AX 2012

Issue:- 

After uploading MT940 I was doing Bank Reconciliation and trying to match the amount manually. But I was getting  this error "The difference between statement line amount -23,500,000.00 and total amount of bank documents 23,500,000.00 exceeds the allowed penny difference.".

Solutions:-

 Here we are considering that you are aware of all MT940 upload processor according to microsoft Dynamics white paper. if not then follow these steps http://axaptaworld-saklani.blogspot.ae/2016/10/setup-and-configuration-bank-statement.html .

if you are facing the same issue you can go for the below steps.

Please do the following

1. Open the AOT (Ctrl + D) and go to the AOT node ‘Resources’

2. Locate the resources starting with MT940XML_to_Reconciliation_xlst

3. On the resource, right click and select ‘Open’ and select the File type as ‘XML document’
And export them

Disclaimer: this is a Microsoft suggestion and will not be responsible for its implantation or its effects whatsoever


It will get exported as an XSLT file

Right click on the file and choose open with Option Microsfot Visual studio 2013 (any version is fine)




Find this code

<xsl:template name="GetCreditDebitIndicator">
    <xsl:param name ="Direction" select ="''"/>
    <!--Reverse Debit Credit-->
    <xsl:choose>
      <xsl:when test="starts-with($Direction,'D') or starts-with($Direction,'RC')">
        <xsl:value-of select="'Debit'"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="'Credit'"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>


Replace with this code

<xsl:template name="GetCreditDebitIndicator">
    <xsl:param name ="Direction" select ="''"/>
    <!--Reverse Debit Credit-->
    <xsl:choose>
      <xsl:when test="starts-with($Direction,'D') or starts-with($Direction,'RC')">
        <xsl:value-of select="'Credit'"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="'Debit'"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>


Save the file in Vs and close the window and go to the "AX - System Administrator- Setup Services - inbound services " and find the service which you are using. Upload the same reconciliation file for the Service.

for Loding XMl file follow the steps from 12 to 17 in above given link. or in this link  http://axaptaworld-saklani.blogspot.ae/2016/10/setup-and-configuration-bank-statement.html

Sunday, October 23, 2016

New SubMenu or node is not visible for other user right in Module or menu.

Issue:- 

I created a new sub menu named "Customized Report" under "AR- Report"  Path but new folder is not visible for other user rights.

Solution:-

Under privileges go to the entry point and check property "Access Level" is defined properly. If "No Access" is defined then change it according to your need.

Kindly Note - If we are creating a full Role (Including Privileges,Duties,Process Cycles) and assigning the same to an existing role then it could overwrite the existing role. In this case user can face the issues such as Couldn't create edit or delete the Journal or other things. So it's always recommended to  create the Privileges and Duties only for a new customization.

Monday, October 17, 2016

errors in Payroll classes Symmetry dynamics AX 2012 R3 in complication

 After AX installation ,I got very strange errors during compilation  of classes node.
All these classes were belong to Payroll modules.

Most errors described that Symmetry variable is not declare.

Later I discover that reference of ste-net.dll is missing in AOT.
This mysterious dll (mysterious for me) is found at  C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin

We can add  its reference by right click on reference node In AOT


Click on browse and go to  C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin
Select
Select and click on ok

As reference is added into AOT. Compilation errors are gone.

Fix Font Size and Spacing or environment misbehave in Dynamics AX 2012

Issue :- 
Recently when I open AX 2012 R3 the fonts are incredibly large and mismanaged like below screen


You can make a simple change that will help you resolve this issue.  Follow these steps:


  1. Right-click on the icon you use to launch AX and select Properties.Properties in Dynamics AX
  2. Select the Compatibility tab.
  3.  Mark the option called:  Disable display scaling on high DPI Settings.Disable Display Scaling on High DPI Settings. 
  4. Launch AX using the Icon that you just changed the settings for.
You can see that the things normalized.  The navigation menu is much smaller and the area page increased in size.Area Page in Dynamics AX

AX 2012 R3 Kernel build version not changing after installing CU installation and Binary installation ?

Scenario:

I have installed AX 2012 R3 and upgrade he same with CU11 and run binary update also on client . My application version updated immidatily after installation from 6.3.4000.0 to 6.3.4000.123 but kernal version was remain same as 6.3.4000.0.

Note:-  Same error you can face in CU 8 or other version.

Solution;-

To successfully upgrade the kernel you need to upgrade to the latest Report Viewer 2012 and remove the AX Visual Studio Tools if they are installed. Report Version also required CLRType msi so download and install both with same version.

No matter if you are using Multi box installation and updating the client. You have to install both software in client environment also.

Run binary update after that and upgrade the client. Open the environment and check the version.   

Sunday, October 16, 2016

The deployment was aborted. You do not have privileges to deploy to server: . For deployment, you must have administrative rights to the SQL Server Reporting Services (SSRS) server. Contact your administrator to deploy.

Recently I faced one issue, I was trying to deploy the SSRS report, as soon as I select "Deploy Element" from AX.

" The deployment was aborted. You do not have privileges to deploy to server: <server name>. For deployment, you must have administrative rights to the SQL Server Reporting Services (SSRS) server. Contact your administrator to deploy."

After multiple tries i found out the reason for this issue, you need to give the Administrator rights (in reporting server machine Local Machine) to that user who is trying to deploy.

To add the user in local machine Group follow the below steps.


  1. Go in Computer management and then select "Local Group and Users".
  2. Now select "Groups".


4. Double click "Administrator" group and Add your user as shown below.



After go to the "SQL Reporting Service Configuration Server", go to the server Account and re select the value for Use Another Account field 






Tuesday, October 4, 2016

Create and post new ledger journal in AX 2012 through X++ code

Script for creation and posting of new ledger journal through X++ code.


static void VendPaymJournalCreate(Args _args)
{
        LedgerJournalTable          jourTable;
        LedgerJournalTrans          jourTrans;
        LedgerJournalTableData      jourTableData;
        LedgerJournalTransData      jourTransData;
        LedgerJournalStatic         jourStatic;
        DimensionDynamicAccount     ledgerDim;
        DimensionDynamicAccount     offsetLedgerDim;
        ledgerjournalcheckpost      post ;
        LedgerJournalTable          tablepost;
        ttsBegin;
        ledgerDim = DimensionStorage::getDynamicAccount('V000002',LedgerJournalACType::Vend);
        offsetLedgerDim = DimensionStorage::getDynamicAccount('ABDI316053',LedgerJournalACType::Bank);
        jourTableData = JournalTableData::newTable(jourTable);
        jourTable.JournalNum = jourTableData.nextJournalId();
        jourTable.JournalType = LedgerJournalType::Payment;
        jourTable.JournalName = 'PV16';
        jourTableData.initFromJournalName(LedgerJournalName::find(jourTable.JournalName));
        jourStatic = jourTableData.journalStatic();
        jourTransData = jourStatic.newJournalTransData(jourTrans,jourTableData);
        jourTransData.initFromJournalTable();
        jourTrans.CurrencyCode = 'AED';
        jourTrans.initValue();
        jourTrans.TransDate = systemDateGet();
        jourTrans.AccountType = LedgerJournalACType::Vend;
        jourTrans.LedgerDimension = ledgerDim;
        jourTrans.Txt = 'Vendor payment journal demo';
        jourTrans.OffsetAccountType = LedgerJournalACType::Bank;
        jourTrans.OffsetLedgerDimension = offsetLedgerDim;
        jourTrans.AmountCurDebit = 1000;
        jourTransData.create();
        jourTable.insert();
        tablepost = jourTable;
        ttsCommit;
        info(strFmt("Journal '%1' has been created", jourTable.JournalNum));
    //LedgerJournalTable      table;
    //ledgerjournalcheckpost  post ;
    //;
    //table = //LedgerJournalTable::find("JB0000191");
    post =  LedgerJournalCheckPost::newLedgerJournalTable(tablepost,true,true);

   // post = new LedgerJournalcheckPost::newLedgerJournalTable(table,NoYes::Yes,NoYes::Yes);
    post.run();
    info("Done");

}

Conversion of Disposition code, code was not specified - Error in D365 F&O for inter company purchase order return

 We crated the return order for inter company purchase order  and created a Item Arrival Journal through Arrival Overview in corresponding c...