I'm having some issues understanding how to use indexes into a forEach taking the items from a expression rule.
I'll explain my problem a little bit deeper; I'm trying to get some of the properties from the RecordType "Anomalie", i would like to use the expression rule with get me all of the anomalies linked to a specific pension by the pensionid, and get the description, the name, the action related to it. But i'm having trubles indexing these properties once I call the expression rule. When I try to use fv!item.description into the description rich text field it seems like it doesn't recognize the object as a record type.
I pasted the code snippet for the forEach i have in the interface, does anyone had some similar issues and may give me suggestions on what to try to make it work? Thank you so much!!
(my finished product should be a card for each anomaly found linked to the record Beneficiary, each with their description, name and related action)
a!forEach(items: rule!SRI_AnomaliePensione(pensioneId: ri!record['recordType!SRI beneficiario.relationships.pensione.fields.chiavePensioneCorrente']), expression: a!cardLayout( contents: { a!richTextDisplayField( labelPosition: "COLLAPSED", value: { a!richTextItem(text: { "Anomalia" }, style: { "STRONG" }) } ), a!richTextDisplayField( labelPosition: "COLLAPSED", value: { "Descrizione anomalia" } */should be fv!item.description/* ), a!sideBySideLayout( items: { a!sideBySideItem( item: a!tagField( labelPosition: "COLLAPSED", tags: { a!tagItem( text: "Aperta", */should be fv!item.status/* backgroundColor: "#cc0000" ) } ) ), a!sideBySideItem( item: a!buttonArrayLayout( buttons: { a!buttonWidget( label: "Sana anomalia", */should be the recordActionField "sana anomalia" with identifie: fv!identifier /* size: "SMALL", width: "MINIMIZE", style: "SOLID" ) }, align: "END", marginBelow: "NONE" ) ) } ) }, height: "AUTO", style: "#efefef", shape: "SEMI_ROUNDED", marginBelow: "STANDARD", borderColor: "#1155cc", showShadow: true ))
Discussion posts and replies are publicly visible
francescagulinelli The rule returns a DataSubset, not a plain list.Add .data after your rule call to get the actual rows(rule!SRI_AnomaliePensione(...).data).Use bracket notation fv!item[recordType!...] instead of fv!item.description.
Shubham Aware said:The rule returns a DataSubset, not a plain list.
FYI, a!forEach() can inherently handle a simple array OR a dataSubset, and the properties are accessed via fv!item inside the forEach loops just the same.
Thank you for answering!
One question: if this is the case what is wrong that i can't see or reference the properties of the dataSubset from the fv!item inside the forEach?
As people suggested with the index( fv!item,'recordType!{SRI anomaliepensione.fields.description'," "), the forEach is working, is there another way to avoid using the index function?
Whoops, it appears I'm slightly wrong - apparently at least for RecordType data, it does make a difference to leave out the ".data" in either the "items" parameter or "value" parameter of the forEach loop. I believe traditional CDT-style queried data did not work this way, but now I'll have to go back and double check.
So you have the choice, you can either add ".data" in the "items" parameter or the "expression" parameter - in this example i've added it in the "expression" parameter and we can see it works.