• Skip to main content
  • Skip to primary sidebar
  • Home
  • About
  • Recommended Readings
    • 2022 Book Reading
    • 2023 Recommended Readings
    • Book Reading 2024
    • Book Reading 2025
  • Supply Chain Management Guide
  • PKM
  • Microsoft Excel

Ali Raza Zaidi

A practitioner’s musings on Dynamics 365 Finance and Operations

Dynamics 365 for Operations

Custom designs for business documents- Issue Original report was running instead customized, Dynamics 365 for finance and operations

January 21, 2019 by alirazazaidi

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.

https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/analytics/custom-designs-business-docs

 

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()

{

SRSCatalogItemName  reportDesign;

reportDesign = ssrsReportStr(MyPurchPurchaseOrder,Report);

this.parmReportName(reportDesign);

this.parmReportContract().parmReportName(reportDesign);

formletterReport.parmReportRun().settingDetail().parmReportFormatName(reportDesign);

super();

}

How to disabled workflow approval options in Dynamics 365 for finance and operations.

January 18, 2019 by alirazazaidi

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.

 

How to add custom privileges to out the box Role in dynamics 365 for finance and operations.

January 17, 2019 by alirazazaidi

While adding Privileges to certain role, I made this walk through.

 

After compiling code and no error in privilege in model. Copied the Label. From GUI, We can search privileges with labels text.

 

Go systems Administration

 

 

 

 

Security form, For current example I add my custom privilege into “Employee” Role That is out of the box.

Now click on Privilege. And all privileges will start showing.

 

 

Now form top menu, you found another link or menu item, Add reference

 

 

 

 

Form next window, filter with privilege label name.

 

 

 

When select the required privilege, check mark on grid. And then click

After adding selected privilege, you find underline unpublished objects 1. Now click on “Publish all”.

 

 

 

Now your role is active with new changes.

How to disabled check best practice in Dynamics 365 for finance and operations

December 26, 2018 by alirazazaidi

Buddy, Today I need to disabled the best practice check, It take too much time.

Usually rapid development, we did not care about best practice check. Otherwise compile take too much time.

For disabled is You have to unchecked the check box in Debug => options and then expand d365 node and then build

 

Custom lookup field and group reference field D365 for finance and operations

December 17, 2018 by alirazazaidi

Hi all following code snippet for custom lookup. Copy the onlookup event handler and copy in extension class and the following code snippet

 

Field based

[FormControlEventHandler(formControlStr(Txxxx, Txxxx_ChildName), FormControlEventType::Lookup)]
public static void xxxxx_DssChildName_OnLookup(FormControl sender, FormControlEventArgs e)
{
Query query = new Query();
QueryBuildDataSource qbds;
QueryBuildDataSource qbdsJoin;
SysTableLookup sysTableLookup = sysTableLookup::newParameters(tableNum(DirPartyTable), sender);

qbds= query.addDataSource(tableNum(DirPartyTable));
qbdsJoin= qbds.addDataSource(tableNum(DirPartyRelationship));
//qbdsJoin.relations( false);
//qbdsJoin.fields().dynamic(NoYes::Yes);
// hcmWorkerCaller = HcmWorker::find(currentWorker());
// qbds.addRange(fieldNum(DirPartyTable, RecId)).value(int642Str(HcmWorker::find(currentWorker()).Person));
qbdsJoin.addRange(fieldNum(DirPartyRelationship, parentparty)).value(int642Str(HcmWorker::find(currentWorker()).Person));
qbdsJoin.addLink(fieldNum(DirPartyTable, RecId), fieldNum(DirPartyRelationship, childparty));
qbdsJoin.joinMode(JoinMode::InnerJoin);

sysTableLookup.parmQuery(query);
sysTableLookup.addLookupfield(fieldNum(DirPartyTable, Name), true);
sysTableLookup.addLookupfield(fieldNum(DirPartyTable, RecId));
sysTableLookup.performFormLookup();

FormControlCancelableSuperEventArgs event = e as FormControlCancelableSuperEventArgs;
event.CancelSuperCall();

}

Reference based is as follow

[FormControlEventHandler(formControlStr(xxxxx, Txeee_dddd), FormControlEventType::Lookup)]
public static void ddddee_DSSPerson_OnLookup(FormControl sender, FormControlEventArgs e)
{

Query query = new Query();
QueryBuildDataSource qbds;
QueryBuildDataSource qbdsJoin;
SysReferenceTableLookup _sysTableLookup = SysReferenceTableLookup::newParameters(tableNum(DirPartyTable), sender);

qbds= query.addDataSource(tableNum(DirPartyTable));
qbdsJoin= qbds.addDataSource(tableNum(DirPartyRelationship));
//qbdsJoin.relations( false);
//qbdsJoin.fields().dynamic(NoYes::Yes);
// hcmWorkerCaller = HcmWorker::find(currentWorker());
// qbds.addRange(fieldNum(DirPartyTable, RecId)).value(int642Str(HcmWorker::find(currentWorker()).Person));
qbdsJoin.addRange(fieldNum(DirPartyRelationship, parentparty)).value(int642Str(HcmWorker::find(currentWorker()).Person));
qbdsJoin.addLink(fieldNum(DirPartyTable, RecId), fieldNum(DirPartyRelationship, childparty));
qbdsJoin.joinMode(JoinMode::InnerJoin);

_sysTableLookup.parmQuery(query);
_sysTableLookup.addLookupfield(fieldNum(DirPartyTable, Recid));
_sysTableLookup.addLookupfield(fieldNum(DirPartyTable, Name));
//, true);
// _sysTableLookup.addLookupfield(fieldNum(DirPartyTable, recid));
_sysTableLookup.performFormLookup();

FormControlCancelableSuperEventArgs event = e as FormControlCancelableSuperEventArgs;
event.CancelSuperCall();
}

 

Table method extension and grid field mapping Dynamics 365 for finance and operations

December 4, 2018 by alirazazaidi

Hi all, here is small tip, I learned today, so document it

 

I need a custom method in table extension. And then this method need to call in field mapping inside Grid. Interesting it is amazing easy.

 

So like other extensions. You have to create a class add a attribute and make in static class show it will extension of certain table. And now create a method Suppose I need extension for PurchRFQScoring table

 

[ExtensionOf(tableStr(PurchRFQScoring))]

public static class PurchRFQScoring_Extension

{

 

[SysClientCacheDataMethodAttribute(true)]  //This attribute will cache your display method.

public static display Name ScoringName(PurchRFQScoring _this)

{

return PurchRFQScoringRFQCaseCriteria::find(_this.ScoringRFQCaseCriteria).name;

}

 

}

 

Now compile solution. And open the grid and from field mapping, set table In source. And in field you have to add method with class reference like

 

PurchRFQScoring_Extension::ScoringName

So Where comes fields in Workflow conditions. Dynamics 365 For finance and operations

November 30, 2018 by alirazazaidi

During writing custom workflow. I found interesting things. Worth to share. In workflow condition screen. I did not found a lot of options. First thing I found that these Fields in conditions comes from field group we used in Approval creation wizard. But where to come child level fields. ??

 

Interestingly, these child level fields comes from  Workflow Document Query. Required child fields comes from child or tables in main data source of query.

Following screenshots will helps you to more understanding

 

 

Avoid Over layering in Development of Workflows on Existing Form Extension version – Dynamics 365 for finance and operations

November 23, 2018 by alirazazaidi

Hi all,  My fellow Sohail Shaikh wrote an excellent blog Post, I used it in my customization to avoid overlay methods in some of out of the box table.

http://d365technext.blogspot.com/2018/07/avoid-over-layering-in-development-of.html

 

 

That article made my day and worked perfectly fine. But here one thing that article missed.  How we have to set form designer the custom workflow in list page . Something like If I copied from Sheiks sabs article.

 

 

There is error when I created on initialized of custom table in a extension class for list page . I got following error.

 

 

So it is not possible, I still not figure out. Later possible I will got they way to do so. Any how I achieved this in extension for interaction class.  I copied the  post event of initializeQuery method and copied in my class and following code will work for me. To enable or disabled workflow in list page

 

[PostHandlerFor(classStr(TableListPageInteraction), methodStr(ListPageInteraction, initializeQuery))]

public static void TableListPageInteraction_Post_initializeQuery(XppPrePostArgs args)

{

TableListPageInteraction TableListPageInteraction = args.getThis();

StatusTable RFQStatusTable = purchRFQCaseTableListPageInteraction.listPage().activeRecord(queryDataSourceStr(TableListPage, DDSRFQStatus)) as DDSRFQStatus;

FormRun formRun = TableListPageInteraction.listPage().formRun();

 

FormRun.design().workflowDatasource(formDataSourceStr(PurchRFQReplyTable, DDSRFQStatus));

FormRun.design().workflowEnabled(true);

FormRun.design().workflowType(workflowtypeStr(DSSRFQCaseWFType));

 

}

 

It works for me

Out of the box workflow labels Dynamics 365 for finance and operations

November 23, 2018 by alirazazaidi

Hi all, this is post is for me. I used to make workflow in Customization, Instead created new labels, I used out the box label for workflow menus

 

menu items labels

@SPS1299 Submit to workflow
@SPS1329 Cancel
@SPS1303 Delegate
@SPS1306 Resubmit
@SPS1301 Reject
@SYS38598 Approve
@SYS109045 RequestChange

@SYS109048 Resubmit

Status enum labels

@SPS1268 not submitted

@SPS1283 Submitted
@SPS1285 Approved

@SYS75939 Draft
@SYS784 Rejected

                    @SYS319813 Cancelled

@SYS319123 InReview

                        @SYS109045                  ChangeRequest

 

How to assign workflow instance to other then document originator Dynamics 365 for finance and operations

November 22, 2018 by alirazazaidi

In this webcast, I explain how to use Custom workflow participant provider. I got requirement that In HR Portal self service provider. HR can submit request on the behalf of some worker. But when HR submit the document in Workflow for approval. The first user will be the behalf-ed user, so he can review and confirm the requirement. And certainly that User / worker will be different then document originator. I achieved that with the help of Custom Workflow Participant Provider.

 

« Previous Page
Next Page »

Primary Sidebar

About

I am Dynamics AX/365 Finance and Operations consultant with years of implementation experience. I has helped several businesses implement and succeed with Dynamics AX/365 Finance and Operations. The goal of this website is to share insights, tips, and tricks to help end users and IT professionals.

Legal

Content published on this website are opinions, insights, tips, and tricks we have gained from years of Dynamics consulting and may not represent the opinions or views of any current or past employer. Any changes to an ERP system should be thoroughly tested before implementation.

Categories

  • Accounts Payable (2)
  • Advance Warehouse (2)
  • Asset Management (3)
  • Azure Functions (1)
  • Books (6)
  • Certification Guide (3)
  • Customization Tips for D365 for Finance and Operations (62)
  • D365OF (59)
  • Data Management (1)
  • database restore (1)
  • Dynamics 365 (58)
  • Dynamics 365 for finance and operations (135)
  • Dynamics 365 for Operations (165)
  • Dynamics AX (AX 7) (134)
  • Dynamics AX 2012 (274)
  • Dynamics Ax 2012 Forms (13)
  • Dynamics Ax 2012 functional side (16)
  • Dynamics Ax 2012 Reporting SSRS Reports. (31)
  • Dynamics Ax 2012 Technical Side (52)
  • Dynamics Ax 7 (65)
  • Exam MB-330: Microsoft Dynamics 365 Supply Chain Management (7)
  • Excel Addin (1)
  • Favorites (12)
  • Financial Modules (6)
  • Functional (8)
  • Implementations (1)
  • Lifecycle Services (1)
  • Logseq (4)
  • Management Reporter (1)
  • Microsoft Excel (4)
  • MS Dynamics Ax 7 (64)
  • MVP summit (1)
  • MVP summit 2016 (1)
  • New Dynamics Ax (19)
  • Non Defined (9)
  • Note taking Apps (2)
  • Obsidian (3)
  • Personal Knowledge Management (2)
  • PKM (14)
  • Power Platform (6)
  • Procurement (5)
  • procurement and sourcing (5)
  • Product Information Management (4)
  • Product Management (6)
  • Production Control D365 for Finance and Operations (10)
  • Sale Order Process (10)
  • Sale Order Processing (9)
  • Sales and Distribution (5)
  • Soft Skill (1)
  • Supply Chain Management D365 F&O (3)
  • Tips and tricks (278)
  • Uncategorized (165)
  • Upgrade (1)
  • Web Cast (7)
  • White papers (4)
  • X++ (7)

Copyright © 2025 · Magazine Pro On Genesis Framework · WordPress · Log in