Udostępnij za pośrednictwem


Wyświetlaj dane z tablic w kartach adaptacyjnych

Karty adaptacyjne to wszechstronne narzędzie służące do tworzenia interaktywnych i wciągających rozmów w Copilot Studio języku i mogą być używane do wyświetlania szeregu elementów. W tym artykule, dla uproszczenia, używamy zakodowanego na stałe przykładu. Jednak prawdopodobnie uzyskasz dane z bardziej dynamicznego źródła, takiego jak lista SharePoint , przy użyciu Power Automate.

Zrzut ekranu przedstawiający kartę adaptacyjną wyświetlającą informacje o pracowniku.

Zainicjuj zmienną za pomocą listy zadań

Załóżmy, że masz listę zadań w tablicy i chcesz wyświetlić listę zadań w drugim pilocie.

  1. Wybierz pozycję Dodaj węzeł (+), aby dodać węzeł, a następnie wybierz pozycję Zarządzanie>zmiennymi Ustaw wartość zmiennej.

  2. Zaznacz pole w obszarze Ustaw zmienną, a następnie wybierz opcję Utwórz nowy.

  3. Wybierz nową zmienną (na przykład), Var1 aby wyświetlić panel Właściwości zmiennej.

  4. Nazwij zmienną coś istotnego, na przykład EmployeeTaskList.

  5. Wklej następujący kod JSON w polu Do wartości :

    {
        "employeeName": "Alice",
        "employeeID": "E12345",
        "employeeDepartment": "HR",
        "employeeTasks": [
            {
                "taskID": "T001",
                "taskDescription": "Review employee benefits",
                "dueDate": "2023-10-15"
            },
            {
                "taskID": "T002",
                "taskDescription": "Conduct new hire orientation",
                "dueDate": "2023-09-30"
            },
            {
                "taskID": "T003",
                "taskDescription": "Update HR policies",
                "dueDate": "2023-11-05"
            }
        ]
    }
    

Przeanalizuj dane JSON w tabeli

Ten węzeł zarządzania zmiennymi służy do konwertowania ciągu JSON na tabelę, która może być używana później na karcie adaptacyjnej.

  1. Wybierz pozycję Dodaj węzeł (+) i pozycję Przeanalizuj wartość> zarządzaniazmiennymi.

  2. W obszarze Przeanalizuj wartość wybierz zmienną utworzoną EmployeeTaskList w poprzedniej sekcji.

  3. W obszarze Typ danych wybierz pozycję Z przykładowych danych.

  4. Wybierz </> pobierz schemat z przykładowego kodu JSON, a następnie skopiuj i wklej ten sam kod JSON do sekcji Z przykładowych danych ustawień typu danych . Przykładowe dane automatycznie generują schemat i typ danych. Wybierz pozycję Potwierdź.

  5. W obszarze Zapisz jako wybierz pozycję Utwórz nową zmienną.

  6. Wybierz nową zmienną i zmień nazwę zmiennej na TaskTable.

Zrzut ekranu węzła Przeanalizuj wartość.

Wyświetl dane na karcie adaptacyjnej

Aby wyświetlić dane na karcie adaptacyjnej, należy użyć węzła Komunikat.

  1. Wybierz + Dodaji Karta adaptacyjna z listy rozwijanej.

  2. Wybierz sekcję Media, aby wyświetlić panel właściwości karty adaptacyjnej.

  3. Wewnątrz panelu właściwości karty adaptacyjnej po prawej stronie wybierz listę rozwijaną </> Edytuj JSON i zmień ją na Formuła.

  4. Wklej następujący kod.

    {
      type: "AdaptiveCard",
      version: "1.5",
      body: [
        {
          type: "TextBlock",
          text: "Employee Information",
          weight: "bolder",
          size: "large"
        },
        {
          type: "TextBlock",
          text: "Employee Name: " & Topic.TaskTable.employeeName,
          separator: true
        },
        {
          type: "TextBlock",
          text: "Employee ID: " & Topic.TaskTable.employeeID,
          separator: true
        },
        {
          type: "TextBlock",
          text: "Department: " & Topic.TaskTable.employeeDepartment,
          separator: true
        },
        {
          type: "TextBlock",
          text: "Tasks",
          weight: "bolder",
          size: "medium",
          separator: true
        },
        {
          type: "Container",
          items: 
            ForAll(Topic.TaskTable.employeeTasks,
              {
                type: "TextBlock",
                text: "- Task ID: " & taskID & ",  Description: " & taskDescription & ", Due Date: " & dueDate ,
                wrap: true
              }
          )
        }
      ]
    }
    
  5. Teraz można odwoływać się do właściwości rekordu JSON przy użyciu technologii w podobny sposób Topic.TaskTable.employeeName.

  6. Aby wyświetlić elementy tablicy na karcie adaptacyjnej, użyj elementu Container z właściwością pozycji.

Właściwość pozycji przyjmuje jako wartość tablicę elementów. Każdy element tablicy jest wyświetlany na karcie adaptacyjnej przy użyciu funkcji 'ForAll' . Tablica Topic.TaskTable.employeeTasks jest odwołaniem, ponieważ umożliwia dostęp do poszczególnych właściwości.

Aby utworzyć temat bez poniższych instrukcji, można wybrać Otwórz edytor kodu z paska poleceń w prawym górnym rogu i wkleić do widoku edytora kodu następujący kod YAML.

kind: AdaptiveDialog
beginDialog:
  kind: OnRecognizedIntent
  id: main
  intent:
    displayName: Untitled
    triggerQueries:
      - array

  actions:
    - kind: SetVariable
      id: setVariable_uFs69M
      variable: Topic.EmployeeTaskList
      value: "{     \"employeeName\": \"Alice\",     \"employeeID\": \"E12345\",     \"employeeDepartment\": \"HR\",     \"employeeTasks\": [         {             \"taskID\": \"T001\",             \"taskDescription\": \"Review employee benefits\",             \"dueDate\": \"2023-10-15\"         },         {             \"taskID\": \"T002\",             \"taskDescription\": \"Conduct new hire orientation\",             \"dueDate\": \"2023-09-30\"         },         {             \"taskID\": \"T003\",             \"taskDescription\": \"Update HR policies\",             \"dueDate\": \"2023-11-05\"         }     ] }"

    - kind: ParseValue
      id: 58zKdp
      variable: Topic.TaskTable
      valueType:
        kind: Record
        properties:
          employeeDepartment: String
          employeeID: String
          employeeName: String
          employeeTasks:
            type:
              kind: Table
              properties:
                dueDate: String
                taskDescription: String
                taskID: String

      value: =Topic.EmployeeTaskList

    - kind: SendActivity
      id: sendActivity_oNXY1r
      activity:
        attachments:
          - kind: AdaptiveCardTemplate
            cardContent: |-
              ={
                type: "AdaptiveCard",
                version: "1.5",
                body: [
                  {
                    type: "TextBlock",
                    text: "Employee Information",
                    weight: "bolder",
                    size: "large"
                  },
                  {
                    type: "TextBlock",
                    text: "Employee Name: " & Topic.TaskTable.employeeName,
                    separator: true
                  },
                  {
                    type: "TextBlock",
                    text: "Employee ID: " & Topic.TaskTable.employeeID,
                    separator: true
                  },
                  {
                    type: "TextBlock",
                    text: "Department: " & Topic.TaskTable.employeeDepartment,
                    separator: true
                  },
                  {
                    type: "TextBlock",
                    text: "Tasks",
                    weight: "bolder",
                    size: "medium",
                    separator: true
                  },
                  {
                    type: "Container",
                    items: 
                      ForAll(Topic.TaskTable.employeeTasks,
                        {
                          type: "TextBlock",
                          text: "- Task ID: " & taskID & ",  Description: " & taskDescription & ", Due Date: " & dueDate ,
                          wrap: true
                        }
                    )
                  }
                ]
              }