# Passing object values params to embedded view

**URL:** <https://forum.inductiveautomation.com/t/passing-object-values-params-to-embedded-view/107753>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [June 25, 2025, 7:44am UTC](https://forum.inductiveautomation.com/t/passing-object-values-params-to-embedded-view/107753 "2025-06-25T07:44:08Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Enrico\_Aramini](https://avatars.discourse-cdn.com/v4/letter/e/50afbb/32.png) [@Enrico\_Aramini](https://forum.inductiveautomation.com/u/Enrico_Aramini)\
**Post date:** [June 25, 2025, 7:44am UTC](https://forum.inductiveautomation.com/t/passing-object-values-params-to-embedded-view/107753/1 "2025-06-25T07:44:08Z")

</div>

Hi all, I am wondering what is in your experience the best practice to pass complex parameters to embedded views.  
This is my case: in a view I have an object

```python
custom .values = {
'JobID': '1001',
'ProdOrder': '50-001',
'IssueDate': 'Jan 1, 2025' }.
...
}

```

The view receive 2 params:

- CertID - the record id of the certificate to edit
- ChangeData - a string with the str(system.date.toMillis(system.date.now())

A change script on ChangeData param calls a script on the Project Library `loadData(self)` to populate the `custom.values` object reading data from a DB.

The view contains 20 embedded views each is an instance of the same view-template.  
Embedded views instance have a parameter 'dataArray' that has some components binded to the specific elements of the `custom.values` object. "value" is the binded component.

```python
Params.dataArray = [
  {
    "CurrentField": "JobID",
    "dim": "180px",
    "type": "label",
    "value": "Job"
  },
  {
    "CurrentField": "JobID",
    "dim": "300px",
    "type": "field",
    "value": "DesignerDefaultVal"
  },
  {
    "CurrentField": "ProdOrder",
    "dim": "180px",
    "type": "label",
    "value": "Production Order"
  },
  {
  "CurrentField": "ProdOrder",
     "dim": "300px",
    "type": "field",
    "value": "DesignerDefaultVal"
  }
]

```

Binding is, for example:

`props.params.dataArray[1].value -> custom.values['JobID']`  
`props.params.dataArray[3].value -> custom.values['ProdOrder']`

When I run the main view in the Designer it works fine, but when I launch the application on the browser, the embedded views update their values randomly. Some show DB data, some shows values that I saved in the designer (DesignerDefaultVal).

I tried creating a custom.triggerRefresh variable where I write an incremental integer. I changed the binding to  
`props.params.dataArray[1].value -> custom.triggerRefresh`

and a transform script:

```python
def transform(self, value, quality, timestamp):
	param=self.props.params.dataArray[1].CurrentField
	retVal=self.view.custom.values[param]
	return retVal

```

last row of code inside the `loadData` function increments the custom.triggerRefresh.

No improvement.

I tested the use of system.perspective.sendMessage('UpdEmb', scope='page') in the loadData script and I wrote a message handler on the template view (the view used in the embedded view) that logs its execution on wrapper.log file.

The message handler is on the root and does a

`self.getChild('fldValue').refreshBinding('props.text')`

It works the first time I launch the application but then it stops working. I tested different scope values.

Beside the sendMessage problem, I feel that the timing of events is the root cause of the problem, I can't find any explanantion on events time sequence along visualization of components.  
At this point I am wondering if I have to change the approach, I am missing something or I hit a bug.

Any hint is welcome, thank you.
