Customization Tips for D365 for Finance and Operations
Hi all, I face this error, while extended existing custom report. I added some fields in temp table, after update logic in dp class, On report data set update.
But at run time report shows this error. While debugging the code, I found the error occur on mapping the new fields in temp table.
I build the whole model. After that error was removed.
Hi all, In some cases we can need to copy financial dimension from one object to other for example Customer to Sales order or Vendor to purchase order.
In Ax 2012 it little easy. But in D365 For finance and operations, it is little bit tricky.
I did this with following code snippet. With the help of out of box. LedgerDimensonDefaultFacade class i used the merge default dimension method and passed same table dimension in form and to dimension.
Result is interesting.
In Ax 2012 we get menu name with element.Args().CallMenu name, using taking decision on menu name.
But same logic we need to apply in Extension. But in D365 For finance and operations we did not overlay. Following code snippet helps me to implement similar logic in Extension.
final class IaLogisticsContactInfoGrid_Extension
/// <param name=”sender”></param>
/// <param name=”e”></param>
public static void LogisticsContactInfoGrid_OnInitialized(xFormRun sender, FormEventArgs e)
FormRun formRun = sender;
Hi did one customization, where I create Ledger Journal using X++ code. It was working perfectly fine with Ledger General Ledger entries. But threw error on creating Ledger for AR,PR Payment.
I created ledger with following code snippet. But it works only for Ledger for of Type Daily
AxLedgerJournalTable header = new AxLedgerJournalTable();
AxLedgerJournalTrans trans = new AxLedgerJournalTrans();
LedgerJournalNameId ledgerJournalNameId = “payment”;
I replaced the above code with following snippet it works perfectly fine, rest of the code is works fine
select firstonly ledgerJournalName
where ledgerJournalName.JournalName == parameters.LedgerJournalNameId &&
ledgerJournalName.JournalType == LedgerJournalType::CustPayment;
ledgerJournalTable.JournalName = ledgerJournalName.JournalName;
ledgerJournalTable.Name = ledgerJournalName.Name;
Hi every one, Today I have very small tip. During customization we need to add filters at run time. Specially in the case of inquiry forms. But Now we have to work with extension. Extensions are much more powerful then over layering.
So first one thing to copy Datasource OnQueryEXecuting event. And paste in Extension class.
The sample code snippet is here.
[FormDataSourceEventHandler(formDataSourceStr(HcmDiscussion, HcmTopicRef), FormDataSourceEventType::QueryExecuting)]
public static void HcmTopicRef_OnQueryExecuting(FormDataSource sender, FormDataSourceEventArgs e)
FormRun HcmDiscussionForm = sender.formRun();
I found following error, while running custom report.
Following message shown message.
Report run from controller class. I found “controller.parmArgs(_args);” was missing. That reason report threw this error.
Complete code will be similar.
I got error on My Dev box virtual machine. When I tried to restart AOS or IIS service.
I found that World wide web service is in stopping mode. Some reason it stuck. So I restart my machine.
AOS/ IIS works perfectly fine after restart. Basically two services need to run if you found this error
- IIS admin service.
- World wide web service
I did some customization in Business Document or some places these reports are called control document. In classic Ax 2012 we overlay and a lot of efforts saves. But In D365 use extension, which is more powerful feature.
With help of a following article I did customization at least 3 to 4 reports and these reports works fine.
But In one case. It did not work, the required report designer did not show in
Setup > Forms > Form setup. Click Print Management . And original report with design run instead of custom design.
I tried on multiple environment, but issue sustain.
By adding following code snippet in my Extended Controller class will resolve the issue. It works for me.
protected void outputReport()
reportDesign = ssrsReportStr(MyPurchPurchaseOrder,Report);
Amazing, I got requirement that Change request option need not in workflow. I opened the workflow approval in AOT. Approval all options were there. As compare to other AOT objects where we enable disabled two properties without creating extension are “Label” and visible. But here nothing found. There is no option to modify anything “out of the box” workflow.
While exploring workflow designer configuring Workflow. I found that some properties when we drag approval object on workflow designer. Not step object inside approval.
In properties, I found some options. That works for me.
On workflow dialog change request options is gone.