A bound action exists for a specific table. It is required to be able to execute this bound action for a list of records, where it is currently only able to execute the action for one record at a time.
Requirements
Implement the following features:
UI element which allows specification of record collections.
Currently bound actions display the required Target input parameter. Remove this input parameter from the UI.
Add new UI for Target Modes:
Mode: Single Record
Allow the user to lookup a specific record. See the current implementation of the Lookup button.
Mode: Fetch XML
Allow the user to manually input a Fetch XML.
Mode: View
Load the system and user views for the bound table type from CRM and display those in a ComboBox.
Change the button Execute Custom Action accordingly.
If the action is a global action no change is required.
If the action is a bound action:
Retrieve the records based on the selected source.
For manual Fetch XML: Validation must occur before retrieving the records to prevent the user from defining a fetch XML which does not fetch the bound table type.
Simply validate that the fetch\@entity value of the fetch XML equals the related bound table type.
Implement paging to support large data sets.
Execute the action for each retrieved record.
Show the overall processing progress with a fitting loading message (similar to "Calling action for records X to Y...").
The XrmToolBox tool Bulk Workflow Execution may be a good reference for UI choices.
Sorry for the strict tone, I figured I'd write all of this as neutral as possible. However I'm open for discussion and would love to hear your thoughts. :)
Scenario
A bound action exists for a specific table. It is required to be able to execute this bound action for a list of records, where it is currently only able to execute the action for one record at a time.
Requirements
Implement the following features:
fetch
\@entity
value of the fetch XML equals the related bound table type.The XrmToolBox tool Bulk Workflow Execution may be a good reference for UI choices.
Sorry for the strict tone, I figured I'd write all of this as neutral as possible. However I'm open for discussion and would love to hear your thoughts. :)