Skip to main content
August 9, 2023
Question

SORTING - Error at function fn!error [line 120]: Invalid field identifier: "#"urn:appian:record-field...

  • August 9, 2023
  • 6 replies
  • 0 views

Hello all,

Just checking to see if anyone knows how to sort a grid's field when the data property is not a typical query. Please see code below for what I mean.

The grid displays as expected with values and all, but when trying to sort the fields I get the error in the Subject above. Are there any other ways to sort other than [recordType.field] or [recordType.relationship.field]?

I did see an earlier post solution on here with similar error, but that scenario was quite direct working with recordData for the data property of the grid. Any input regarding this particular scenario would be much appreciated. Thanks

a!gridField(
      label: "Grid for  ",
      labelPosition: "COLLAPSED",
      emptyGridMessage: "No reports for this day",
      data: index(local!reportsPerDayOfLastSevenDays, local!selectedDay),
      columns: {
        a!gridColumn(
          label: cons!LABEL_NAME,
          sortField: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Rep Sched.fields.{f4d0c828-fe5b-4064-90b2-f12ce802e849}reportId',
          value: a!linkField(
            links: a!recordLink(
              label: index(
                fv!row,
                'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Rep Sched.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}lnurep.fields.{5c4a840d-3d2c-4bc9-9fb5-fc8041123628}reportName'
              ),

    6 replies

    August 9, 2023

    Hi,
    Can you confirm whether your doubt is regarding sorting the grid columns (as in line 9) or sorting the grid data (initial/secondary sorts)?
    I could see the SAIL error says the issue is on the line 120 which I think the issue might be with the grid initial/secondary sorts.

    Also, can you share the entire code, full error message and the data source (i.e. what type of data does the local!reportsPerDayOfLastSevenDays hold?) to understand where the issue exactly persists?

    lucasuAuthor
    August 9, 2023

    a!localVariables(
      local!days: a!forEach(
        items: enumerate(8),
        expression: today() + fv!item
      ),
      local!selectedDay: 1,
      local!reports: a!refreshVariable(
        value: a!queryRecordType(
          recordType: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule',
          fields: {
            'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport',
            'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{7422ffe6-d719-4a0d-8521-bb51449996db}LNUReportScheduleStatus.fields.{ebe49277-109e-4e20-89bf-e54e8b44bf0c}name',
            'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.relationships.{0d9e5c18-853e-43eb-8175-62e3745ab7fb}LNUReportFrequency.fields.{c9a403e8-4fc7-4448-a7a6-4838f041b5cc}description',
            'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.relationships.{d498dd3d-c1db-45b6-badc-5fd9bd848b33}LNUTaskOrder'
          },
          filters: {
            a!queryFilter(
              field: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.fields.{d01f51fe-816b-4d32-ab68-a98a39fd9f2a}isActive',
              operator: "=",
              value: true()
            ),
            a!queryFilter(
              field: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.fields.{6904f830-f63d-417e-b544-8f192e8a544a}dueDate',
              operator: "between",
              value: {
                local!days[1],
                local!days[length(local!days)]
              }
            )
          },
          pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 5000)
        ).data,
        refreshAfter: "RECORD_ACTION"
      ),
      local!sortedReports: a!forEach(
        items: local!days,
        expression: index(
          local!reports,
          wherecontains(
            fv!item,
            index(
              local!reports,
              'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.fields.{6904f830-f63d-417e-b544-8f192e8a544a}dueDate'
            )
          )
        )
      ),
      a!gridField(
          label: "Reports Grid",
          labelPosition: "COLLAPSED",
          emptyGridMessage: "No reports for",
          data: index(local!sortedReports, local!selectedDay),
          columns: {
            a!gridColumn(
              label: cons!LNU_TEXT_LABEL_NAME,
              sortField: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.fields.{f24b28f6-8f50-4aed-8f67-0b8c68620d11}reportId',
              value: a!linkField(
                links: a!recordLink(
                  label: index(
                    fv!row,
                    'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.fields.{5c4a840d-3d2c-4bc9-9fb5-fc8041123628}reportName'
                  ),
                  recordType: 'recordType!{d2b9cdf5-1822-45bd-9c65-dc7ad9d8092b}LNU Report',
                  identifier: index(
                    fv!row,
                    'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.fields.{f24b28f6-8f50-4aed-8f67-0b8c68620d11}reportId'
                  ),
                  dashboard: "summary"
                )
              )
            ),
            
            a!gridColumn(
              label: cons!LNU_TEXT_LABEL_FREQUENCY,
              sortField: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.relationships.{0d9e5c18-853e-43eb-8175-62e3745ab7fb}LNUReportFrequency.fields.{9ce8bd70-5158-494a-9c4b-4ef6eba91046}frequencyId',
              value: fv!row['recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.relationships.{0d9e5c18-853e-43eb-8175-62e3745ab7fb}LNUReportFrequency.fields.{c9a403e8-4fc7-4448-a7a6-4838f041b5cc}description']
            ),
            a!gridColumn(
              label: cons!LNU_TEXT_LABEL_TASK_ORDER,
              sortField: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.fields.{b59f74b2-1ceb-40e6-bc33-4204a58b6722}taskOrderId',
              value: fv!row['recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.relationships.{d498dd3d-c1db-45b6-badc-5fd9bd848b33}LNUTaskOrder.fields.{70225f06-cb2a-4495-bf36-992f8239e894}name']
            ),
            a!gridColumn(
              label: cons!LNU_TEXT_LABEL_ATTACHMENT_REQUIRED,
              sortField: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.fields.{fadd5987-ad8d-49b0-9dc9-3082d20599ad}attachmentRequired',
              value: if(
                fv!row['recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.fields.{fadd5987-ad8d-49b0-9dc9-3082d20599ad}attachmentRequired'],
                "Yes",
                "No"
              )
            ),
            a!gridColumn(
              label: cons!LNU_TEXT_LABEL_LNU,
              sortField: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.fields.{5831b3bb-57fa-4198-9648-60ef5fa4a43f}isLNU',
              value: if(
                fv!row['recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{5afa58bb-0a4b-4f63-94f0-58116be2d973}LNUReport.fields.{5831b3bb-57fa-4198-9648-60ef5fa4a43f}isLNU'],
                "Yes",
                "No"),
                width: "NARROW"
            ),
            a!gridColumn(
              label: cons!LNU_TEXT_LABEL_STATUS,
              sortField: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.fields.{c0a7290f-9ab8-4da7-bebc-102713417de5}scheduleStatusId',
              value: a!richTextDisplayField(
                value: {
                  a!richTextIcon(
                    icon: a!match(
                      value: index(
                        fv!row,
                        'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.fields.{c0a7290f-9ab8-4da7-bebc-102713417de5}scheduleStatusId'
                      ),
                      equals: cons!LNU_REPORT_SCHEDULE_STATUSES[1],
                      then: "arrow-circle-right",
                      equals: cons!LNU_REPORT_SCHEDULE_STATUSES[2],
                      then: "check-circle",
                      equals: cons!LNU_REPORT_SCHEDULE_STATUSES[3],
                      then: "envelope",
                      default: null
                    ),
                    caption: fv!row['recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.relationships.{7422ffe6-d719-4a0d-8521-bb51449996db}LNUReportScheduleStatus.fields.{ebe49277-109e-4e20-89bf-e54e8b44bf0c}name'],
                    color: a!match(
                      value: index(
                        fv!row,
                        'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.fields.{c0a7290f-9ab8-4da7-bebc-102713417de5}scheduleStatusId'
                      ),
                      equals: cons!LNU_REPORT_SCHEDULE_STATUSES[1],
                      then: "#4a4a4a",
                      equals: cons!LNU_REPORT_SCHEDULE_STATUSES[2],
                      then: "POSITIVE",
                      equals: cons!LNU_REPORT_SCHEDULE_STATUSES[3],
                      then: "ACCENT",
                      default: null
                    )
                  ),
                }
              ),
              align: "CENTER",
              width: "NARROW"
            ),
            a!gridColumn(
              label: "Submit",
              value: a!recordActionField(
                actions: {
                  a!recordActionItem(
                    action: 'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.actions.{b89f44e7-b4f2-4c75-a14f-662ca7cf6dd1}submitReport',
                    identifier: index(
                      fv!row,
                      'recordType!{8360b17d-94c9-478d-af7a-8e685ada463b}LNU Report Schedule.fields.{2f8eefae-de16-400e-9656-ade7d90314ce}scheduleId'
                    )
                  )
                },
                display: "ICON"
              ),
              align: "CENTER",
              width: "NARROW"
            ),
            
          },
          refreshAfter: "RECORD_ACTION"
        )
      }
    )

    stefanhelzle0001
    August 9, 2023

    The grid shows the data just like it is. If you want to show the data in a different order, you need to sort the data in that way. Use the todatasubset() function to do so.

    lucasuAuthor
    August 9, 2023

    Interesting, I will look that up now. 

    keerthanar849441
    July 12, 2024

    Any luck! Did you find any solution for this issue?

    davidj137213
    July 12, 2024

    Did you try what Stefan said? use datasubset for sorting data