Zu Content springen
Deutsch
  • Es gibt keine Vorschläge, da das Suchfeld leer ist.

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. Das Aussehen und die Inhalte deiner Skizzen
    6. Eine einzelne, spezifische Skizze exportieren
    7. Fotos aus Vermessungsfeld
    8. Mehrere Fotos aus Vermessungs-Feldern als Galerie
    9. Werte aus Listen
    10. Checkbox-Werte aus Feldern
    11. 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

{% raw %}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 #}

 

 

 

Alle Skizzen aus einem Vermessungsfeld

 

Alle Skizzen aus einem Vermessungsfeld erhält man mit folgendem Befehl: 

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

{# IMAGE getImage($measurement.sketch,Breite,Höhe) #}

{# END-FOR measurement #}

Wichtig: Wenn du Breite und Höhe gleichzeitig angibst, wird der Skizzen-Export gestreckt oder gestaucht, damit es die angegebenen Maße erhält. Das Seitenverhältnis von Breite zu Höhe wird also gezwungen verändert. Wenn du nur Breite oder nur Höhe angibst, zählt dieser Wert und der andere Wert wird entsprechend dem Seitenverhältnis angepasst. Wenn du einen Wert nicht angegeben möchtest, schreibe einfach undefined an seine Stelle, also z.B.: ($measurement.sketch,undefined,5).

In die Schleife kannst du außerdem noch einen oder beide der folgenden Befehle einfügen. Diese ermöglichen dir den Export des Anzeigenamens

{# $measurement.sketch.displayName #}

und den Export der Beschreibung der jeweiligen Skizze. 

{# $measurement.sketch.description #}

Wenn du beide mit exportieren möchtest, sieht dein Export-Befehl also am Ende so aus:

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

{# IMAGE getImage($measurement.sketch,Breite,Höhe) #}

{# $measurement.sketch.displayName #}

{# $measurement.sketch.description #}

{# END-FOR measurement #}

In den beiden optionalen Befehlen musst du keine Änderungen vornehmen.

 

Das Aussehen und die Inhalte deiner Skizzen

 

Du kannst deine Skizze noch weiter individualisieren, indem du Parameter durch Komma getrennt in geschweiften Klammern an den Skizzen-Aufruf anfügst.

 {# IMAGE getImage($measurement.sketch,17.5, 19, {fullBackground: true, withMarkers: false, withSymbols: true, withLengthsAndAreas: false, withDimensionLines: true}) #} 

  • withMarkers: true bzw. withMarkers: false
    • Das sind die dicken, farbigen Vermessungs-Punkte.
  • withSymbols: true bzw. withSymbols: false
    • Das sind die Symbole an Bauteilen und Vermessungspunkten.

Tipp: entweder withSymbols: true und withMarkers: false oder  withSymbols: false und withMarkers: true und nicht beide gleichzeitig auf true, damit die Skizze nicht zu überladen wird.

  • withDimensionLines: true bzw. withDimensionLines: false
    • Das sind die Bemaßungslinien.
  • withLengthsAndAreas: true bzw. withLengthsAndAreas: false
    • Das sind die Längenangaben an Teilstücken deiner Vermessung und die Flächengrößen von Polygonen.
  • fullBackground: true bzw. fullBackground: false
    • Bestimmt, ob die komplette Hintergrundgrafik mit exportiert werden soll (bei true) und dabei ggf. die Skizze kleiner exportiert wird, oder ob die Skizze Maximalgröße haben soll und dafür auch Teile der Hintergrundgrafik abgeschnitten werden (bei false und als Standardwert auch empfohlen).

 

Eine einzelne, spezifische Skizze exportieren

 

Wichtig: Diese Funktion kann zu unerwarteten Ergebnissen führen und sollte nur von erfahrenen Nutzerinnen und Nutzern verwendet werden. Da die Ausgabe eine spezifische Skizze basierend auf der Reihenfolge der Vermessungen ausgibt, ist es in den meisten Fällen ausreichend und ratsam, stattdessen dem Kapitel Alle Skizzen aus einem Vermessungsfeld zu folgen und alle Skizzen auszugeben.

Eine bestimmte 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 kannst du außerdem sowohl den Anzeigenamen der Vermessung exportieren

{# $measurement.sketch.displayName #}

als auch die Beschreibung der Vermessung

{# $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) #}

{% endraw %}