Befehle für Exportvorlagen – Spickzettel

Du kennst dich mit den Grundlagen für Exportvorlagen schon aus? Dann findest du hier in aller Kürze die passenden Befehle.

Bevor du loslegst

Dieser Artikel dient nur als Spicker, wenn du dich bereits mit Exportvorlagen auskennst. Wir haben dir auch eine ausführliche Anleitung geschrieben, die dir alles im Detail erklärt: Welche Einstellungen kann ich in meinen Exportvorlagen vornehmen?

In diesem Artikel erfährst du, wo du deine Exportvorlage anschließend in Vaira hochladen kannst: Wie kann ich eine Export-Vorlage für einen Workflow hochladen?

Übersicht und Schnellnavigation

  1. Syntax für normale Datenexports
    1. Text, Zahl, Datum, Zeitstempel, Benutzer und Auswahlfeld
    2. Einzelne Fotos aus Foto-Feldern
    3. Mehrere Fotos aus Foto-Feldern als Galerie
    4. Skizze aus Vermessungsfeld
    5. Fotos aus Vermessungsfeld
    6. Mehrere Fotos aus Vermessungs-Feldern als Galerie
    7. Werte aus Listen
    8. Checkbox-Werte aus Feldern
    9. Checkbox-Werte aus Listen
  2. Syntax für Bedingungen
    1. Bestimmte Werte (nicht) im Export anzeigen
  3. Syntax für Formatierungen
    1. Die Anzahl der Nachkommastellen

Syntax für normale Datenexports

Bei den folgenden Befehlen musst du nur die fettgedruckten Werte anpassen. Alles andere darfst du nicht verändern. Nur so kann Vaira mit den Befehlen arbeiten. Achte also bitte darauf, immer den richtigen Klammer-Typ zu nutzen, jedes Anführungszeichen und jedes Komma zu übernehmen.

Tipp für alle, die Programmieren können: innerhalb der -Blöcke kannst du mit normalem JavaScript arbeiten.

Text, Zahl, Datum, Zeitstempel, Benutzer und Auswahlfeld

Diese Feldtypen teilen sich alle den gleichen Aufruf:

{# field("taskID/fieldID") #}

Einzelne Fotos aus Fotofeldern

Bei diesem Feldtyp musst du neben einer auf Bilder angepassten Grundstruktur auch die Breite und Höhe zusätzlich angeben.

{# FOR img IN field("taskID/fieldID") #}

{# IMAGE getImage($img, Breite,Höhe) #}

{# END-FOR img #}

Breite und Höhe werden in cm angegeben, mindestens ein Wert muss angegeben werden, nicht angegebene Werte werden mit undefined angegeben. Wenn du nur einen Wert angibst, bleibt das Seitenverhältnis erhalten; bei Breite und Höhe wird das Bild ggf. verzerrt, um zu passen.

Mehrere Fotos aus Foto-Feldern als Galerie

Das Exportieren von Fotos als Galerie benötigt zunächst ein Kommando direkt vor (bzw. oberhalb) deiner Tabelle. Füge dort den folgenden Code in deine Word-Vorlage ein:

{# EXEC

const imagesPerRow = 3;

var images = field("taskID/fieldID");

gallery = [];

while (images.length > 0) {

      gallery.push(images.slice(0, imagesPerRow));

      images = images.slice(imagesPerRow);

}

#}

Anschließend folgt die Tabelle:

{# FOR row IN gallery #}

 

 

{# IMAGE getImage($row[0], 5.5) #}

{# IF $row.length > 1 #}

{# IMAGE getImage($row[1], 5.5) #}

{# END-IF #}

{# IF $row.length > 2 #}

{# IMAGE getImage($row[2], 5.5) #}

{# END-IF #}

{# END-FOR row #}

 

 

 

Fotos aus Vermessungsfeld

Der Befehl lautet:

{# FOR measurement IN field("taskID/fieldID") #}

{# FOR img IN $measurement.images #}

{# $img.featureId #}

{# IMAGE getImage($img, Breite,Höhe) #}

{# END-FOR img #}

{# END-FOR measurement #}

 

Mehrere Fotos aus Vermessungs-Feldern als Galerie

Das Exportieren von Vermessungs-Fotos als Galerie benötigt zunächst ein Kommando direkt vor (bzw. oberhalb) deiner Tabelle. Füge dort den folgenden Code in deine Word-Vorlage ein:

{# FOR measurement IN field(“taskID/fieldID”) #}

 

{# EXEC

const imagesPerRow = 3;

var images = measurement.images;

gallery = [];

while (images.length > 0) {

      gallery.push(images.slice(0, imagesPerRow));

      images = images.slice(imagesPerRow);

}

#}

Anschließend die Tabelle:

{# FOR row IN gallery #}

 

 

{# IMAGE getImage($row[0], 5.5) #}

{# IF $row.length > 1 #}

{# IMAGE getImage($row[1], 5.5) #}

{# END-IF #}

{# IF $row.length > 2 #}

{# IMAGE getImage($row[2], 5.5) #}

{# END-IF #}

{# END-FOR row #}

 

 

 

Skizze aus Vermessungsfeld

Die Skizze aus einem Vermessungsfeld erhält man mit folgendem Befehl: 

{# IMAGE getImage(field("taskID/fieldID“)[0].sketch,Breite,Höhe) #}

Breite und Höhe werden in cm angegeben, mindestens ein Wert muss angegeben werden, nicht angegebene Werte werden mit undefined angegeben. Wenn du nur einen Wert angibst, bleibt das Seitenverhältnis erhalten; bei Breite und Höhe wird das Bild ggf. verzerrt, um zu passen.

Optional innerhalb der Schleife hinzufügen: Anzeigenamen der Vermessung exportieren

{# $measurement.sketch.displayName #}

Optional innerhalb der Schleife hinzufügen: Beschreibung der Vermessung exportieren

{# $measurement.sketch.description #}

Werte aus Listen

Das Exportieren von Listen benötigt zunächst ein Kommando direkt vor (bzw. oberhalb) deiner Tabelle. Füge dort den folgenden Code in deine Word-Vorlage ein:

{# EXEC

def = (val) => val ? val: 1;

#}

Der Aufbau deiner Tabelle:

Material Einheit Menge Positionsnummer

{# FOR item IN field("taskID/listID") #}

 

 

 

{# $item.asset #}

{# $item.values.attributeID #}

{# def($item.values.attributeID) #}

{# $item.values.attributeID #}

{# END-FOR item #}

     

Den Code kannst du jeweils einfach am Stück schreiben – die Zeilenumbrüche kommen hier nur daher, dass die Tabelle zu klein ist.

Checkbox-Werte aus Feldern

Auch hier musst du vor bzw. oberhalb der Checkbox einen Befehl hinzufügen:

{# EXEC

jaNein = (v) => (v? "Ja": "Nein");

simple = (v) => (v? "X": "_");

retro = (v) => (v? "☒": "☐");

#}

Zum Abrufen einer Box:

{# jaNein(field("taskID/boxID")) #}

Du kannst in deinem Befehl also jaNein auch durch simple oder retro ersetzen, um so die Darstellung zu ändern.

Checkbox-Werte aus Listen

Ganz ähnlich kann man auch Checkbox-Werte aus Listen exportieren. Hier setzt du auch vor bzw. oberhalb der Liste den Code von oben:

{# EXEC

jaNein = (v) => (v? "Ja": "Nein");

simple = (v) => (v? "X": "_");

retro = (v) => (v? "☒": "☐");

#}

Anschließend erstellst du wieder eine Liste, wie du es schon bei Werten aus Listen allgemein gemacht hast:

Material Fehlerfrei Verbaut?  Zufrieden?

{# FOR item IN field("taskID/fieldID") #}

 

 

 

{# $item.asset #}

{# jaNein($item.values.boxID) #}

{# simple($item.values.boxID) #}

{# retro($item.values.boxID) #}

{# END-FOR item #}

     

In den einzelnen Attribut-Zellen kannst du dann auswählen, wie das (Nicht-)Ankreuzen dargestellt werden soll per jaNein, simple und retro. Die boxID ersetzt du wieder mit der richtigen ID der Box, die du dort abfragen möchtest.

Syntax für Bedingungen

Du kannst auch Einstellungen in deiner Exportvorlage vornehmen, damit bestimmte Werte – wie zum Beispiel eine 0 – auch gar nicht exportiert werden.

Auch bei den folgenden Befehlen musst du nur die fettgedruckten Werte individuell anpassen, der Rest ist allgemeiner Befehls-Code und darf nicht verändert werden.

Bestimmte Werte (nicht) im Export anzeigen

Wenn-Abfrage mit Werten (1. Fall WENN NICHT GLEICH, 2. Fall WENN GLEICH):

{# IF field("taskID/fieldID") != 0 #}

{# field("taskID/fieldID") #}

{# END-IF #}

{# IF field("taskID/fieldID") == 1 #}

{# field("taskID/fieldID") #}

{# END-IF #}

== bedeutet ist gleich.
!= bedeutet ist nicht gleich.
> bedeutet ist größer als.
< bedeutet ist kleiner als.

Wichtig bei Vergleichen mit Worten ist, dass du sie in Anführungszeichen (wie bei "Rohr") setzt. Auf Zahlen hin kannst du auch ohne Anführungszeichen hin abfragen.

{# IF field("taskID/fieldID") == "Rohr"}

{# field("taskID/fieldID") #}

{# END-IF #}

Syntax für Formatierungen

Die Anzahl von Nachkommastellen einstellen

Über den Wert in der Klammer kannst du bestimmen, wie viele Nachkommastellen angezeigt werden soll. Die Zahl wird aufgerundet.

{# Field("taskID/fieldID").toFixed(3) #}