I have this action which runs fine on an itemtype1, I want to use the same action to be triggered when i am on another itemtype2 but itemtype1 is in a relationship.
Currently im getting an error when i click that action from the relationship,
I have this action which runs fine on an itemtype1, I want to use the same action to be triggered when i am on another itemtype2 but itemtype1 is in a relationship.
Currently im getting an error when i click that action from the relationship,
Probably an issue with the id of your target Item. When you want to use an Action in a grid AND relationship grid, you have to differentiate this in your Method. There are a couple of ways to do this. This is one of them:
var myId = null;
var myItem = null;
// Determine if Action was called from main grid or relationship grid
var relatedId = this.getProperty("related_id","");
// relatedId only exists when Action is called from relationship grid
if (relatedId)
{
myId = relatedId;
myItem = this.getPropertyItem("related_id");
}
else
{
myId = this.getID();
lytem = this;
}
Hello Angelalp
Im still getting error i added my code in your code below is that
The action basically help triggers a workflow on an action, It works fine when i do it on an item type but it has issues when i do it on a relationship grid
Innovator inn = this.getInnovator();
Aras.IOM.Innovator innovator = this.getInnovator();
// var myId;
// var myItem;
// Determine if Action was called from main grid or relationship grid
var relatedId = this.getProperty("related_id","");
// relatedId only exists when Action is called from relationship grid
if (relatedId)
{
var myId = relatedId;
var myItem = this.getPropertyItem("related_id");
}
else
{
var myId = this.getID();
var lytem = this;
}
string workflowMapName = "VSY Task";
Item workflowMap = innovator.getItemByKeyedName("Workflow Map", workflowMapName);
if ((workflowMap == null) | (workflowMap.getID().Length != 32))
{
return innovator.newError("Unable to retrieve Workflow Map '" + workflowMapName + "'");
}
// Instantiate and start the workflow.
Item workflow = this.instantiateWorkflow(workflowMap.getID());
if (workflow.isError())
{
return innovator.newError("Error instantiating workflow: " + workflow.getErrorDetail());
}
workflow.startWorkflow();
return this;
Ah ok. Your question was about something different than I expected.
For this usecase you can´t just copy paste my code, it was buggy anyway ;-)
What do you want to achieve? What is your current code doing? You seem to call your Workflow map, but for which purpose?
Ah ok. Your question was about something different than I expected.
For this usecase you can´t just copy paste my code, it was buggy anyway ;-)
What do you want to achieve? What is your current code doing? You seem to call your Workflow map, but for which purpose?