smartobject property ID is required property for selected method load. value must be set


i have 1 Smartbox smartobject. i created 3 different views  from same smartobject (views have different columns on it). i created a form using these 3 views and form level submit button to save data to the smartbox db. up to now it works fine. i created a workflow which starts when a submit button is clicked in the form. In the workflow i have a usertask action. i used this form to show up. When i get an email from K2 with link, i get error "smartobject property ID is required property for selected method load. value must be set" when i clicked that link. I am doing something wrong.

 

i do not have complicated rules. Only rule is in button submit which save data from different views in a form to same smart object.

 

Isn't this possible? if possible, how i can make it work.. please help me!!


10 replies

Have you checked the order in which your rules are executing? Did you use a Smart Form client event? The smart form client event creates rules so it could be the order the rules are executing. Can you provide a screen shot of the rules in your form?

 

It has to be a rules/configuration issue, there just isn't enough information from which to make additional suggestions without more detail.

 

For reference this is a duplicate post of orignal post located here: http://community.k2.com/t5/K2-blackpearl/Open-worklist-item-email-link-error/m-p/90894#M28910

 

S.

screenshot attached!

Hi,

 

This error is clearly saying , when you are trying to invoke load method Primary key (ID*) is null . you will have to pass the ID to execute the laod method in any smart object , if you are using client activity then please check the URL . Are you passing ID in parameter or not ? if you are not passing please configure id in parameter and in load mapp the parameter in input this will work fine .

 

- Arvind

It could be a parameter as Avind suggests, but that is assuming you are using parameters. I think you mentioned reference in the other thread which in that case that would be pulled from the Workflow.

 

Thanks for the screen shots. As I mentioned earlier, you are going to have to do some detective work to track down where the issue is. In the screen shot below, which of those views are the views associated to your smartObject?

 

 

S.

Here is my url

 

/Runtime/Runtime/Form/NREM/?_State=Workflow+Task&SerialNo=171_15

 

none of my views have any parameters. One parameter is in form called SerialNo.

Thanks for this. So this tells us that you aren't passing anything in for an ID value to the form. That is neither good nor bad, just gives us more insight into how your form is configured.

 

Can you share a few screen shots of your open worklist item rule? If you are indeed using references we will see it in that configuration. what that is meaning is that your form is expecting the ID to come from data in the workflow (which is a better practice than passing a URL parameter - more secure). When the open worklist item rule is used it exposes data in the worklfow. You can then take that data and assign it to a value on your form for later use. In this case, you would be taking the necessary ID value from inside the workflow and assigning it to the ID property on the various views that use that smart object.

 

Also, I dropped you a note. Please check your community inbox (envelope next to your log in name in the upper right corner).

 

S.

Hi,

 

After taking a look at what is trying to be accomplished with your form, I think the snag you are hitting is centering around Item References. The reason this is proving to be a challenge is that your data for a single smart object is not contained in just one view, but used across several views. The data will need to be loaded and saved as a single unit. The current design tries to save per view which I can see would cause issue. I tried building out your scenario the way you have it constructed and hit the same issue with the Smart Object Property error.

 

What I had to do then was step back and think of a different way to build it. What I have done in the attached example is unbound the smart object from the views so they contain fields but not mapping to a smart object. I have added a data label on the form to store the return ID value from my smart object. On the form, when I click submit I call the create method of the smart object and save the ID value to the form control that I then pass into the workflow.

 

When I updated the workflow, I got rid of the item references and created a single datafield called RecordID. When I start the workflow I populate this value.

 

Later, in my workflow task state, when I open the worklist item I then update my form label with the ID I am pulling from the workflow and then call my Smart Object Load method passing in the ID value. 

 

My mappings for both the Create and Load methods reference fields across both my example views.

 

Item References can be a great thing working in the context of a single view and a single smart object, but can prove problematic in more complex form designs.

 

I'd love to hear from anyone reading this about their experiences with Item References. The Good, The Bad. 

 

Hope this helps. Good luck!

 

S.

Please help, I am having this same issue on opening a workitem and my troubleshooting points to the worfklow.

 

I resolved this by using execute view method in my form instead of execute a smartobject rule

On your save method/start workflow rule, are you passing the SMO id into a data label or parameter which should be passed into the workflow data field and mapped on the smartforms integartion wizard?

 

Help!

 

I have a 2 views (one where an instructor proposes a grade change, and the second where records enters a description under 'office use' to approve the form.

 

I am getting an error when trying to load the form for the approver.  Attaching screen shot.

 

I believe this error is related to the issue you fixed below.  I do not see how the problem is resolved.  Can you help?

 

Thanks!

 

 


Reply