Hi, #ServiceBackedRecords We have a use case wherein we need the dynamic fa

Hi, #ServiceBackedRecords
We have a use case wherein we need the dynamic facets in record list view based on user rights and security and hence can only go with Service Backed Records.
Now the issue is, we have 5 different facets categories, and when user selects more than one facet category at a time, the facets filtering does NOT work as expected. However, if the user selects any one facet at a time, it works perfectly fine.
Hence, it seems in the expression: local!queryCondition: index(ri!query, "logicalExpression|filter|search", null) - when user selects multiple facets a time, the value Appian returns in local!queryCondition is in some way which is not known and hence no appropriate input goes in the respective Query rules which are responsible for retruning appropriate data set.
NOTHING related to multiple facets selection for Service Backed records is mentioned in Appian documentation as well.

Could you please suggest the solution for the abov...

OriginalPostID-127230

OriginalPostID-127230

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer
    When multiple facets are selected rsp!query contains an array of "logicalExpression|filter|search" types, so after populating local!queryCondition you should then check index(local!queryCondition, "operator", {}). If the value of this is "=" you are working on 1 facet option which you say is working for you. If it returns "AND" then multiple facet options have been selected. This is where the code gets trickier as you have to extract these values by again using index(local!queryCondition, "logicalExpression|filter|search", {}) - this will give you your array of facet selections. From here you will have to loop through the array to extract your fields and values for the query. Hope this is of some help!
Reply
  • 0
    Certified Lead Developer
    When multiple facets are selected rsp!query contains an array of "logicalExpression|filter|search" types, so after populating local!queryCondition you should then check index(local!queryCondition, "operator", {}). If the value of this is "=" you are working on 1 facet option which you say is working for you. If it returns "AND" then multiple facet options have been selected. This is where the code gets trickier as you have to extract these values by again using index(local!queryCondition, "logicalExpression|filter|search", {}) - this will give you your array of facet selections. From here you will have to loop through the array to extract your fields and values for the query. Hope this is of some help!
Children
No Data