Skip to main content
sarathkumr268295
August 21, 2024
Question

Getting StartIndex must not be greater than TotalCount issue

  • August 21, 2024
  • 10 replies
  • 0 views

Hi All,

We are getting the following error as startindex cannot be greater than totalCount. Start index was 31 and totalcount was 0. We are using process report query for querying the data and for paginginfo, we are using fv!paginginfo. We are getting the above error only in prod and we are being notified via the error mail as part of the new appian release. No user has reported this issue. We are not able to understand why this error is occuring. One observation was when errors are triggered, startindex is having 11, 21,31,51 etc. Any suggestions will be helpful

10 replies

stefanhelzle0001
August 21, 2024

Without more details this is so hard to tell. I think the error message is obvious. If you can shore more, we might come up with ideas what the root cause could be.

sarathkumr268295
August 22, 2024

Unfortunately, this is all the information we have. Additional info is we are using the following query in a dashboard where we show 10 tasks per page in a read only grid. The user can select on those tasks and will assign to themselves and start working on those tasks.
Page size is 10 and paginginfo for the query has been configured as fv!paginginfo. 

karumurua531442
August 22, 2024

hi [mention:b08a9915dde2428e9c6dfef8cba0cdd6:e9ed411860ed4f2ba0265705b8793d05]   could you post your code snippet please that would be better idea

sarathkumr268295
August 22, 2024

a!queryProcessAnalytics(
  report: cons!REPORT_NAME,
  query: a!query(
    logicalExpression: a!queryLogicalExpression(
      operator: "AND",
      filters: {
        a!queryFilter(
          field: "c14",
          operator: "<>",
          value: loggedInUser(),
          applyWhen: ri!taskAssignement = cons!NAME[2]
        ),
        a!queryFilter(
          field: "c17",
          operator: "in",
          value: ri!PM_ID
        ),
      },
      logicalExpressions: {
        a!queryLogicalExpression(
          operator: "OR",
          filters: {
            a!queryFilter(
              field: "c4",
              operator: "=",
              value: ri!search
            )
            
          },
          ignoreFiltersWithEmptyValues: true
        ),
        a!queryLogicalExpression(
          operator: "OR",
          filters: {
            a!queryFilter(
              field: "c22",
              operator: "=",
              value: loggedInUser(),
              applyWhen: ri!taskAssignement = cons!NAME[2]
            ),
            
          },
          ignoreFiltersWithEmptyValues: true()
        )
      },
      ignoreFiltersWithEmptyValues: true
    ),
    pagingInfo: ri!pagingInfo
  )
)

This is the query we are using in the read only grid. We are calling this query in the data parameter of the readonly grid and for ri!paging info, we are passing fv!paginginfo as the value.

csteward
August 22, 2024

We see this error regularly when filters are changed which reduces the data set size, after paging has been used.  For instance, if you have a grid with paging set to 10 rows:

- Current filters return 30 items total, grid shows 1-10
- The user pages to items 11-20
- The user changes filters, which reduces the result set to 8 items
- An error occurs because paging startIndex remains at 11, but there are only 8 items in the new data set

In that situation, any time the data set can be reduced by filters/etc, the resolution is to manually reset paging startIndex to 1 when any filters are by utilizing a!save().

Appian

sarathkumr268295
August 27, 2024

Hi Chris
Sorry for the delay in response. But how we can update startindex to 1 because we are using fv!paginginfo as the paging parameter which is calculated automatically by the grid. When i try to update the startindex to fv!paginginfo, its showing fv!paginginfo as improperly scoped variable. Any suggestion will be helpful

tim.clarke
August 27, 2024

If you are using custom fields for your filters, which it looks like you are doing with a search text box, you can't rely on fv!pagingInfo and will instead have to manage the paging with a local variable and therefore reset it any time a user adds a filter value.