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.
Zainicjuj zmienną za pomocą listy zadań
Załóżmy, że masz listę zadań w tablicy i chcesz wyświetlić listę zadań w drugim pilocie.
Wybierz pozycję Dodaj węzeł (+), aby dodać węzeł, a następnie wybierz pozycję Zarządzanie>zmiennymi Ustaw wartość zmiennej.
Zaznacz pole w obszarze Ustaw zmienną, a następnie wybierz opcję Utwórz nowy.
Wybierz nową zmienną (na przykład),
Var1
aby wyświetlić panel Właściwości zmiennej.Nazwij zmienną coś istotnego, na przykład
EmployeeTaskList
.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.
Wybierz pozycję Dodaj węzeł (+) i pozycję Przeanalizuj wartość> zarządzaniazmiennymi.
W obszarze Przeanalizuj wartość wybierz zmienną utworzoną
EmployeeTaskList
w poprzedniej sekcji.W obszarze Typ danych wybierz pozycję Z przykładowych danych.
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ź.
W obszarze Zapisz jako wybierz pozycję Utwórz nową zmienną.
Wybierz nową zmienną i zmień nazwę zmiennej na
TaskTable
.
Wyświetl dane na karcie adaptacyjnej
Aby wyświetlić dane na karcie adaptacyjnej, należy użyć węzła Komunikat.
Wybierz + Dodaji Karta adaptacyjna z listy rozwijanej.
Wybierz sekcję Media, aby wyświetlić panel właściwości karty adaptacyjnej.
Wewnątrz panelu właściwości karty adaptacyjnej po prawej stronie wybierz listę rozwijaną </> Edytuj JSON i zmień ją na Formuła.
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 } ) } ] }
Teraz można odwoływać się do właściwości rekordu JSON przy użyciu technologii w podobny sposób
Topic.TaskTable.employeeName
.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
}
)
}
]
}