Hi,
I am trying to use startProcessLink in a grid view Interface so that an user can edit the selected record by selecting a location Name. This is my first time using this method.
When I am selecting an entry, I am getting an error message:
An Error Has Occurred No process parameter found corresponding to override [name=pv!locationId]. Non-parameter process variables cannot be overridden.
a!gridColumn( label: "Location Name", sortField: "description", value: a!linkField( links: { a!startProcessLink( label: fv!row.description, processModel: cons!BC_PM_ADD_LOCATION, processParameters: { locationId: fv!row.locationId } ) } ),
My process model is working fine. So how and where do I fix it?
Please advice me.
Thanks
Discussion posts and replies are publicly visible
Have you marked the variable 'locationId' as a parameter?
Also, for your use case I recommend looking into record actions https://docs.appian.com/suite/help/20.3/Record_Action_Component.html
It's a much better design pattern and allows your uses to open forms in dialogs instead of a new page.
Also, I recommend setting your form as a Start Form
Hi Danny,
Thank you for your inputs. I haven't marked Location Id as a parameter. I have location parameter of CDT type and cancel as parameters.
I tried using the record action but not able to pull in the action in my interface. I manually typed the name manageLocations.
I am getting the error: Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error at function a!recordActionField [line 4]: Invalid index: Cannot index property 'actions' of type Text into type RecordType
a!recordActionField( actions:{ a!recordActionItem( action: 'recordType!{853ab9ac-cf5f-4aa8-950b-97bb7de9adab}BC Location'.actions.manageLocations ), }, )
Also, you mean to say that I should add the below form as start form? or the add/edit form as start form? Please clarify.
I fixed the record action problem.
But I still want to know how to pass process parameters in process link in an interface in my case?
You did it the right way. Have a process variable configured as parameter and pass the value in a dictionary.
What exactly did not work?
For the record action, you can only pass in the ID for that record. In your case, using location ID should be all you need because then you can query additional information on the form itself