Workflow Item Reference.


Badge +7

I have a Workflow Item Reference smart object with a List Method.      This list method has a parameter when initially loading, I get a list with a few records and load up the Item  Reference.      when I try to load this Item Reference into a list view later I get  this message.

 

SmartObject property clientArrangmentId_1 is a required property for selected mehtod List. Value must be set.      

 

What is going on exactly?   How can I get around this?  


5 replies

Userlevel 1
Badge +8

Hi Capz

 

I have not used a list method for an item reference before, however my guess is that the item reference is not storing the parameter value. I'm not sure item references were supposed to be used this way (i.e. with parameters). If you can look at the item reference XML stored by the workflow (you might be able to access this from the viewflow) you may be able to confirm this.

 

My suggestion is to not use an item reference but pass the required values (i.e. any parameters) to your workflow as data fields and then back to your form as parameters when you open it from the workflow.

Badge +7

Thanks for the reply Andrew,

 

The smart object with the parameter actually calls a WCF service which returns a subset of data based on that parameter.    My original intention was to keep this data in the work flow to use as a 'draft'   until the workflow reached an approved stage where the data could be commited to the database.

 

 

Another question :  Does the item reference actually store all the data in the list in XML?  Or does it simple store the Smart Object and approporiate method?

 

 

Userlevel 1
Badge +8

Hi Capz

 

The item reference does not store any smartobject data, except for any values it needs to execute the method.

Badge +7

Ah excellent.   Thanks again Andrew.

 

 

I'm thinking maybe the best way would be to serialize the list  into a datafield, yes?

Userlevel 1
Badge +8

I would just save the necessary values to execute the list method again, pass them to your form, and run the list method on the form.

Reply