There are times when clients want to start hierarchy approval from a specific worker and not from the one who initiated the workflow and then traverse up the hierarchy.
Scenario:
This is what we want to achieve - add a new Start from
This Start from list get populated through getSupportedDataType() in class WorkflowHierarchyProviderHelper
Create a new event handler class and subscribe to the delegate as shown below.
P.S. WFOwner is the custom created EDT.
Add a new field on LedgerJournalTable and assign the WFOwner EDT to it. LedgerJournalTable is for reference as the above change is implemented for vendor invoice approval.
Scenario:
- Invoices are coming from third-party into FinOps and creating tax invoice registers
- Setting the Approved by field at tax invoice register line level
- AP Clerk/Administrator assigns these invoices to correct worker for approval
So, in the above scenario, the AP clerk initiated the workflow but the workflow will not go his/her line manager for approval instead it will be assigned to the owner (approved by) of the invoice.
This is what we want to achieve - add a new Start from
This Start from list get populated through getSupportedDataType() in class WorkflowHierarchyProviderHelper
Create a new event handler class and subscribe to the delegate as shown below.
P.S. WFOwner is the custom created EDT.
class ECL_WorkflowHierarchyProviderHelperEventHandler
{
[SubscribesTo(classstr(WorkflowHierarchyProviderHelper), delegatestr(WorkflowHierarchyProviderHelper, addAdditonalSupportedDataTypesDelegate))]
static void
addAdditonalSupportedDataTypesDelegate(Set _supportedDataTypes)
{
_supportedDataTypes.add(extendedTypeStr(WFOwner));
}
}Add a new field on LedgerJournalTable and assign the WFOwner EDT to it. LedgerJournalTable is for reference as the above change is implemented for vendor invoice approval.
Valuable post useful for everyone.Keep on sharing.
ReplyDeleteD365 Finance and Operations Training
D365 Finance and Operations Training in Hyderabad
D365 Operations Training