Users unable to click on task description to view task details..

have created an application using the Quick Apps designer. When a user is assigned a task, he should be able to click on the task description which will take him to the task details. Then from here, he can either update the task notes or mark the task as complete. This is the standard workflow that has successfully worked for months when I've created past applications in the Quick Apps designer.

But for some strange reason, users are now unable to click on the task description; so they're unable to view the task details. The task description just isn't clickable. Thinking the issue may have been caused by a system update or patch, I asked my system administrator about it. He says no updates were made to the system since August [that's when it last worked correctly]. 

I've tried creating new applications with all the default settings and no custom changes made to any of the files. But the problem still occurs.

Can someone give me a few pointers on how I can fix this?

  Discussion posts and replies are publicly visible

Parents
  • Are you sure that the task assigned is still active and not expired or completed ?

  • Yes, I am sure. Every new task, including the tasks I've assigned to myself, has this same problem.

  • 0
    Certified Lead Developer
    in reply to Pauly

    In that case. You can manually add the links on the text. Its not a tough task.

  • Can you please provide a summary of how I can manually add the links on the text? Sorry, I'm still learning Appian.

  • 0
    Certified Lead Developer
    in reply to Pauly

    Can you please show the code you are using for displaying grid?

  • a!localVariables(
      local!pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 5),
      /* Retrieve data from the process report to use here */
      local!report: a!queryProcessAnalytics(
        report: cons!IZPFL_OPEN_TASKS_REPORT,
        contextProcessModels: cons!IZPFL_SEND_TASK_MODEL,
        query: a!query(
          filter: a!queryFilter(
            field: "c7",
            operator: "=",
            value: ri!recordId
          ),
          pagingInfo: local!pagingInfo
        )
      ),
      {
        a!gridField(
        /* If there is no data, display nothing.                                       *
         * Otherwise, iterate over the column rule to show a grid of task information. */
          label: local!report.name,
          showWhen: local!report.totalCount > 0,
          instructions: local!report.description,
          data: local!report,
          columns: {
            a!forEach(
              items: local!report.columnConfigs,
              expression: rule!IZPFL_TaskGridColumn(
                columnConfig: fv!item,
    
                filterByRecord: true
              )
            )
          },
          pagingSaveInto: local!pagingInfo
        )
      }
    )

  • 0
    Certified Lead Developer
    in reply to Pauly

    What is the field name in which you are retrieving the Task ID? Ex. c1,c2,c3 ?

  • Also paste the code inside the rule IZPFL_TaskGridColumn

  • Everytime I try opening IZPFL_TaskGridColumn in the Appian designer to view the code, this error immediately pops up. This is surely related to my problem, but I'm not sure why this problem occurs even after I've created a brand new application.

  • According to the code in IZPL_TaskReport, the field name is possibly "barcode" or "id"?

    a!localVariables(
      local!pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 25),
      local!sendingTask: false,
      local!sendTaskSuccess,
      local!toOrFrom: "my tasks",
      /* Retrieve data from the process report to use here */
      local!report: a!refreshVariable(
        value: a!queryProcessAnalytics(
          report: cons!IZPFL_OPEN_TASKS_REPORT,
          contextProcessModels: cons!IZPFL_SEND_TASK_MODEL,
          /* Filter for tasks assigned to the current user or sent by the current user.      *
           * c8 is the field that holds the assignee, c1 is the field that holds the sender. */
          query: a!query(
            filter: a!queryFilter(
              field: if(local!toOrFrom = "my tasks", "c8", "c1"),
              operator: "=",
              value: loggedInUser()
            ),
            pagingInfo: local!pagingInfo
          )
        ),
        /* Retrieve the data each minute to display the latest tasks */
        refreshInterval: 1,
        /* Retrieves the data each time a new task is sent to display the latest tasks */
        refreshOnVarChange: local!sendTaskSuccess
      ),
      /* Retrieve record names to use on record links, because the process report only has record IDs */
      local!recordNames: a!queryEntity(
        entity: cons!IZPFL_ANOMALY_DSE,
        query: a!query(
          selection: a!querySelection(
            columns: {
              a!queryColumn(field: "id"),
              a!queryColumn(field: "barcode")
            }
          ),
          /* Filter to only retrieve records that have open tasks assigned to the current user.  *
           * c7 is the report field that holds record IDs, and the union() call removes          *
           * duplicates from the list.                                                           */
          filter: a!queryFilter(
            field: "id",
            operator: "in",
            value: union(tointeger(index(local!report.data, "c7", {})), tointeger({}))
          ),
          pagingInfo: a!pagingInfo(startIndex: 1, batchSize: -1)
        ),
        fetchTotalCount: false
      ),
      {
        /* The first half of the interface shows the controls for sending tasks */
        rule!IZPFL_SendTaskFromReport(
          sendingTask: local!sendingTask,
          sendTaskSuccess: local!sendTaskSuccess
        ),
        a!buttonLayout(
          showWhen: not(local!sendingTask),
          secondaryButtons: a!buttonWidget(
            label: "Send New Task",
            value: true,
            saveInto: {
              local!sendingTask,
              a!save(local!sendTaskSuccess, null)
            }
          )
        ),
        /* The second half of the interface shows the tasks assigned to the current user */
        a!radioButtonField(
          labelPosition: "COLLAPSED",
          choiceLabels: {"My open tasks", "Open tasks sent by me"},
          choiceValues: {"my tasks", "sent by me"},
          choiceLayout: "COMPACT",
          value: local!toOrFrom,
          saveInto: local!toOrFrom
        ),
        a!gridField(
          labelPosition: "COLLAPSED",
          rowHeader: 1,
          instructions: local!report.description,
          emptyGridMessage: if(
            local!toOrFrom = "my tasks",
            "You have no open tasks in the 3FS-V12 application",
            "No tasks sent by you are currently open in the 3FS-V12 application"
          ),
          data: local!report,
          columns: {
            a!forEach(
              items: local!report.columnConfigs,
              expression: rule!IZPFL_TaskGridColumn(
                columnConfig: fv!item,
                recordNames: local!recordNames.data,
                filterByRecord: false,
                toOrFrom: local!toOrFrom
              )
            )
          },
          pagingSaveInto: local!pagingInfo
        )
      }
    )

  • 0
    Certified Lead Developer
    in reply to Pauly

    Let me give you an idea of how this works.
    You have a Task Report which is getting all the tasks of a user. You need to open that report and edit it. Add a new column Task ID (tp!id) and then save it. After that you'll start seeing it in QueryProcessAnalytics. Once it is visible there, you need to add a link on the column where you will pass the respective Task ID of that particular row in a!processTaskLink(). Once you do it all, you will be able to see a functioning link.

Reply
  • 0
    Certified Lead Developer
    in reply to Pauly

    Let me give you an idea of how this works.
    You have a Task Report which is getting all the tasks of a user. You need to open that report and edit it. Add a new column Task ID (tp!id) and then save it. After that you'll start seeing it in QueryProcessAnalytics. Once it is visible there, you need to add a link on the column where you will pass the respective Task ID of that particular row in a!processTaskLink(). Once you do it all, you will be able to see a functioning link.

Children
No Data