Dear all, I have a Order CDT that have as a property a list of Customers (C

Dear all,
I have a Order CDT that have as a property a list of Customers (Customers being defined also as a CDT). In the Records Tab we need to display only Order record, and inside the Record View we need to display a link, to another screen, to see a Grid View with the Customers of the Order.
The thing is that we do not want to see Customers in the Record Tab.
As implementation, I was thinking at having for the Order Record two views, one to display the lending page of the Order ( Summary) and one to display the Grid View for the Customers allocated to the Order (Customers). I defined the interface rules and I tried to use the a!recordLink for this but I receive this error: "The record view does not exist or you do not have permission to see it. (APNX-1-4205-015)"
I call the Customers View using the following code:
a!linkField(
links: a!recordLink(
label: "View Customer",
recordType: cons!ORDER...

OriginalPostID-166177

OriginalPostID-166177

  Discussion posts and replies are publicly visible

  • ..._RECORD,
    identifier: ri!ID,
    dashboard: "Customers"
    )
                        )                    
    I suspect is from the way I define "dashboard" property, since if I change to "Summary" I get the same error and if I delete the "dashboard" property everything works perfectly.

    Thanks in advance!
  • @octavianp If I understand the problem correctly, I think there is a problem with the value of 'dashboard' attribute you are making use of in the a!recordLink() function and here goes some explanation assuming that the security is properly set on the record type, underlying data source and record views.

    You could derive the 'dashboard' attribute by looking at the url of the Record View in the browser's url as follows:

    Eaxmple 1: Url of the 'Summary' Record View always ends up with the 'summary' (present after /view/ at the last in the url) and this is the default value of the dashboard attribute in a!recordLink() function if you don't provide any value to the 'dashboard' argument.

    https://testsite.com/suite/tempo/#!/records/type/auditAssignment/item/jcByvBcbxJX4UwmANxo_F8NHTUbmP0F-HTHQIVcjII6kiL_TXC3vKF7F6_q9Kq1i75HRVyIMCj8/view/summary

    a!linkField(
    links: a!recordLink(
    label: "View Customer",
    recordType: cons!ORDER_RECORD,
    identifier: ri!ID,
    dashboard: "summary"
    )
    \ t)\ t

    Example 2: Other Record Views ends up with an identifier auto generated by Appian. For the dashboard other than Summary, you can find a unique identifier which may be similar to '_F9S_ow' (present after /view/ at the last in the url) as shown below (an example from our Appian instance).
    https://testsite.com/suite/tempo/#!/records/type/auditAssignment/item/jcByvBcbxJX4UwmANxo_F8NHTUbmP0F-HTHQIVcjII6kiL_TXC3vKF7F6_q9Kq1i75HRVyIMCj8/view/_F9S_ow

    a!linkField(
    links: a!recordLink(
    label: "View Customer",
    recordType: cons!ORDER_RECORD,
    identifier: ri!ID,
    dashboard: "_F9S_ow"
    )
    \ t)

    Hope the above explanation gives you leads to some extent. Please do let us know if you have any follow up questions.
  • Writing "summary" as value for "dashboard" property works, but it leads me to the thought that is not a direct connection between the View Name defined in Record Type and the value of "dashboard" property (since the View Name is actually Summary)… is this correct?
    I tried using “_cust_rw99” but I receive: “Could Not Retrieve Record View An error was encountered while processing your request”.
    I tried using the following but the old error occurs:
    a!linkField(
    links: a!recordLink(
    label: "View Customer",
    recordType: cons!ORDER_RECORD,
    identifier: ri!ID,
    dashboard: "custrv99"
    ))          
    I noticed a gap between the link generated with summary and "custrv99":
    For the summary, the link looks like this: /suite/tempo/records/type/6kvpZw/item/isBD1ySebbWrdxIbXYHcKX8wRhVYs6n7vLsqWfSht_YaPDf8r7kWMcmZZeq/view/summary
    For the custrv99, the link looks like this: /suite/tempo/records/item/lMBD1ySebbWrdxIbXZPfb3SwjKQwaQceHWxD8CiV7D9IngUgFUfLdSrMnwsRrMA-0KsHgFJRan_cidU7E3DtMBvcxpE-oycYNwrm_8E6iFiO-Oy5A/view/custrv99
    Regarding the security...I wouldn't take into consideration this aspect since I checked "All Users - Any authenticated user can view this record type"
  • @octavianp "it leads me to the thought that is not a direct connection between the View Name defined in Record Type and the value of "dashboard" property (since the View Name is actually Summary)… is this correct? "- Correct.

    Let's say your url is as follows:
    https://testsite.com/suite/tempo/#!/records/type/auditAssignment/item/jcByvBcbxJX4UwmANxo_F8NHTUbmP0F-HTHQIVcjII6kiL_TXC3vKF7F6_q9Kq1i75HRVyIMCj8/view/_cust_rw99
    In this case the value of the dashboard attribute should be _cust_rw99 i.e. dashboard: "_cust_rw99". Ignore the space (if any) present after the url.

    Further I would like to suggest to consider the security if you are testing the functionality with the basic user. For this make sure that the record type, record view, underlying source (Data Store or Process Instance) are given security in which basic user is a part of. Else you can safely skip the security for time being if you are testing the functionality as a system administrator.

    And finally I would like to suggest to cross check the data type of the identifier and the value of it. It should be the primary key in the cons!ORDER_RECORD and further it should hold a valid value.