How to reference process backed record field that is of image type derived by expression rule in the interface

Hi,

I have a process backed record and one of the column/field is of image type derived by expression rule as listed below:

a!documentImage(
rule!MP_getOverdueIndicator(rf!MilestoneScheduleTasks.NotApplicable,rf!MilestoneScheduleTasks.ProjEndDate,rf!MilestoneScheduleTasks.ActEndDate,rf!overdueInt)
)

How do i reference this field in the interface? i can use a!gridImageColumn but what would be the field i refer to in the local!datasubset.data. Any help is appreciated.

Thanks,

Meena

  Discussion posts and replies are publicly visible

Parents
  • Can you explain which interface you want to display this field on?

    • If you want to display this in the record list, what you have above should work fine
    • If you want to display this in the summary view, you should one or more rule inputs and reference the fields using ri!
    • If you want to display this outside of your record (e.g. on a report), then you would query the data first, store it in a local variable, and reference it using local!
  • Hi Peter,

    I want to display this on a interface/report. Currently, i tried doing these in diff. ways, but looks like it couldn't get the nested values. 

    /*a!gridImageColumn(
    label: "Indicator",
    field: "overDueInt",
    data: if(isnull(local!datasubset.data),"",a!documentImage(apply(rule!MP_getOverdueIndicator,
    index(index(local!datasubset.data,"MilestoneScheduleTasks",{}), "NotApplicable", {}),
    index(index(local!datasubset.data,"MilestoneScheduleTasks",{}), "ProjEndDate", {}),
    index(index(local!datasubset.data,"MilestoneScheduleTasks",{}), "ProjEndDate", {}),
    index(local!datasubset.data,"overdueInt",{}))
    ))
    ),*/
    a!gridImageColumn(
    label: "Overdue",
    field: "overDueInt",
    data: a!forEach(
    items: local!dataSubset.data,
    expression: if(isnull(fv!item),"",
    a!documentImage(rule!MP_getOverdueIndicator(
    index(index(fv!item,"MilestoneScheduleTasks",{}),"NotApplicable",{}),
    index(index(fv!item,"MilestoneScheduleTasks",{}),"ProjEndDate",{}),
    index(index(fv!item,"MilestoneScheduleTasks",{}),"ActEndDate",{}),
    fv!item.overdueInt)))
    )
    ),

    a!gridImageColumn(
    label: "OverdueNew",
    field: "overDueInt",
    data: a!forEach(
    items: local!dataSubset.data,
    expression: if(isnull(fv!item),"",
    a!documentImage(rule!MP_getOverdueIndicator(
    property(fv!item.MilestoneScheduleTasks,"NotApplicable",{}),
    property(fv!item.MilestoneScheduleTasks,"ProjEndDate",{}),
    property(fv!item.MilestoneScheduleTasks,"ActEndDate",{}),
    fv!item.overdueInt)))
    )
    ),

    My question is , instead of applying the rule to the data set again , how do i reference the derived record field in the interface?

    Thanks,

    Meena

  • I'm assuming you defined the "derived" field as a column in your record list grid? Appian doesn't really have the concept of a derived field, so there isn't a way to reference the data from that column elsewhere. That being said, you should still be able to run the same rule again like you suggested above. Does that not work? Are you receiving an error when running the expression above?

Reply
  • I'm assuming you defined the "derived" field as a column in your record list grid? Appian doesn't really have the concept of a derived field, so there isn't a way to reference the data from that column elsewhere. That being said, you should still be able to run the same rule again like you suggested above. Does that not work? Are you receiving an error when running the expression above?

Children