Zum Hauptinhalt springen

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​

FeldTypErforderlichBeschreibung
rtIdOctoObjectIdJaDie ID der zu aktualisierenden System Query
nameStringNeinNeuer Anzeigename
queryCkTypeIdStringNeinNeuer abzufragender Entitätstyp
columns[String]NeinNeue Liste von Spaltenpfaden
sorting[SortInput]NeinNeue Sortierkonfiguration
fieldFilter[FieldFilterInput]NeinNeue Filterkonfiguration
attributeSearchFilterAttributeSearchFilterInputNeinNeue Wildcard-Suchkonfiguration
textSearchFilterTextSearchFilterInputNeinNeue 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​

FeldTypBeschreibung
rtIdOctoObjectIdDie 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.