System Queries
Dieses Kapitel beschreibt, wie System Queries aktualisiert werden. Einen Überblick über System Queries und ihre Anwendungsfälle finden Sie unter System Queries.
Eine System Query aktualisieren
Verwenden Sie die Mutation systemQuerys.update, um eine bestehende System Query zu aktualisieren:
mutation updateQuery($entities: [SystemQueryInputUpdate]!) {
runtime {
systemQuerys {
update(entities: $entities) {
rtId
ckTypeId
name
queryCkTypeId
columns
sorting {
attributePath
sortOrder
}
fieldFilter {
attributePath
operator
comparisonValue
}
attributeSearchFilter {
attributePaths
searchValue
}
textSearchFilter {
searchValue
}
}
}
}
}
Name und Spalten aktualisieren
Aktualisieren Sie den Anzeigenamen und fügen Sie neue Spalten hinzu:
{
"entities": [
{
"rtId": "693c66ce464d7d9e1396cf1f",
"name": "Active Energy Meters (Extended)",
"columns": ["name", "voltage", "ampere", "power", "state", "description"]
}
]
}
Filter aktualisieren
Ändern Sie die Filterkriterien:
{
"entities": [
{
"rtId": "693c66ce464d7d9e1396cf1f",
"fieldFilter": [
{ "attributePath": "state", "operator": "EQUALS", "comparisonValue": "OFF" },
{ "attributePath": "voltage", "operator": "GREATER_THAN", "comparisonValue": 220 }
]
}
]
}
Sortierung aktualisieren
Ändern Sie die Sortierreihenfolge:
{
"entities": [
{
"rtId": "693c66ce464d7d9e1396cf1f",
"sorting": [
{ "attributePath": "voltage", "sortOrder": "DESCENDING" },
{ "attributePath": "name", "sortOrder": "ASCENDING" }
]
}
]
}
Suchfilter aktualisieren
Ändern Sie die Konfiguration der Attributsuche:
{
"entities": [
{
"rtId": "693c66ce464d7d9e1396cf1f",
"attributeSearchFilter": {
"attributePaths": ["name", "description", "serialNumber"],
"searchValue": ""
}
}
]
}
Eingabefelder
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
rtId | OctoObjectId | Ja | Die ID der zu aktualisierenden System Query |
name | String | Nein | Neuer Anzeigename |
queryCkTypeId | String | Nein | Neuer abzufragender Entitätstyp |
columns | [String] | Nein | Neue Liste von Spaltenpfaden |
sorting | [SortInput] | Nein | Neue Sortierkonfiguration |
fieldFilter | [FieldFilterInput] | Nein | Neue Filterkonfiguration |
attributeSearchFilter | AttributeSearchFilterInput | Nein | Neue Wildcard-Suchkonfiguration |
textSearchFilter | TextSearchFilterInput | Nein | Neue Volltextsuchkonfiguration |
Nur die angegebenen Felder werden aktualisiert. Felder, die nicht in der Aktualisierungsanfrage enthalten sind, bleiben unverändert.
Antwort
Die Mutation gibt die aktualisierte System Query zurück:
{
"data": {
"runtime": {
"systemQuerys": {
"update": [
{
"rtId": "693c66ce464d7d9e1396cf1f",
"ckTypeId": "System/Query",
"name": "Active Energy Meters (Extended)",
"queryCkTypeId": "Industry.Energy/EnergyMeter",
"columns": ["name", "voltage", "ampere", "power", "state", "description"],
"sorting": [
{ "attributePath": "voltage", "sortOrder": "DESCENDING" },
{ "attributePath": "name", "sortOrder": "ASCENDING" }
]
}
]
}
}
}
}
Daten über eine System Query aktualisieren
System Queries können auch verwendet werden, um die von der Query zurückgegebenen Entitäten zu aktualisieren. Dies ist nützlich, wenn Sie Daten in einem tabellarischen Format ändern möchten (z. B. aus Excel oder einem Datenraster).
mutation updateQueryData($queryRtId: OctoObjectId!, $entities: [RtQueryRowUpdate!]!) {
runtime {
runtimeQuery(rtId: $queryRtId) {
update(entities: $entities) {
rtId
ckTypeId
rtWellKnownName
rtVersion
cells {
items {
attributePath
value
}
}
}
}
}
}
Variablen:
{
"queryRtId": "693c66ce464d7d9e1396cf1f",
"entities": [
{
"rtId": "693c51af464d7d9e1396cf12",
"cells": [
{ "attributePath": "contact.firstName", "value": "Janet" },
{ "attributePath": "contact.address.street", "value": "New Street 123" }
]
}
]
}
Struktur von RtQueryRowUpdate
| Feld | Typ | Beschreibung |
|---|---|---|
rtId | OctoObjectId | Die ID der zu aktualisierenden Entität |
cells | [RtQueryCellUpdate!] | Liste der zu aktualisierenden Zellen (Attributpfad und Wert) |
Antwort
Die Mutation gibt die aktualisierten Zeilen mit ihren aktuellen Zellwerten zurück:
{
"data": {
"runtime": {
"runtimeQuery": {
"update": [
{
"rtId": "693c51af464d7d9e1396cf12",
"ckTypeId": "EnergyCommunity/Customer",
"rtWellKnownName": null,
"rtVersion": 2,
"cells": {
"items": [
{ "attributePath": "contact.firstName", "value": "Janet" },
{ "attributePath": "contact.address.street", "value": "New Street 123" },
{ "attributePath": "contact.address.cityTown", "value": "Berlin" }
]
}
}
]
}
}
}
}
Dieser Ansatz erlaubt es Werkzeugen wie Office-Add-ins, Daten über eine System Query zu lesen, Benutzer sie in einer Tabellenkalkulation bearbeiten zu lassen und Änderungen anhand derselben Query-Definition zurückzuschreiben.