Beschreibung
In Smenso kann ein Button so konfiguriert werden, dass Berechnungen direkt beim Klick auf den Button ausgeführt und das Ergebnis in ein spezifisches Feld geschrieben wird. Diese Funktion ermöglicht die dynamische Aktualisierung von Feldern mit Berechnungsergebnissen, ohne dass zusätzliche Schritte erforderlich sind.
Wichtig: SetField
kann nur innerhalb der Process()
-Funktion verwendet werden, die in einem Button (createButton
) definiert sein muss. Ohne diese Voraussetzung führt die Verwendung von SetField
zu einem Fehler.
Verwendung
Die Berechnungen werden innerhalb der action
-Definition des Buttons angegeben. Dabei können beliebige Berechnungen durchgeführt und anschließend mit SetField("Feldname", Wert)
in ein Ziel-Feld geschrieben werden.
Syntax
createButton(state, title, tooltip, action, [borderColor], [fillColor], [textColor], [successMessage], [failureMessage], [icon])
Beispiele
Beschreibung | Formel |
---|---|
Einfaches Rechnen und Schreiben |
createButton( 1, "Berechnung ausführen", "Berechnet die Gesamtkosten und schreibt sie in ein Feld", "Process( SetField('Gesamtkosten', sumAll('Kosten', true)) )", "", "", "", "Die Berechnung wurde erfolgreich ausgeführt.", "Fehler bei der Berechnung.", "calculator" ) |
Berechnungen mit Variablen |
createButton( 1, "Kostenberechnung", "Berechnet die Nettokosten und schreibt sie in ein Feld", "Process( set('Nettokosten', sumAll('Kosten', true) - flavor('Rabatt')), SetField('Nettokosten', get('Nettokosten')) )", "", "", "", "Die Nettokosten wurden berechnet.", "Fehler bei der Berechnung der Nettokosten.", "calculator" ) |
Bedingte Berechnungen mit if |
createButton( 1, "Konditionale Berechnung", "Berechnet die Nettokosten abhängig von der Kategorie und schreibt sie in ein Feld", "Process( set('BerechnetesErgebnis', if(flavor('Kategorie') == 'Marketing', sumAll('Kosten', true) * 0.9, sumAll('Kosten', true) ) ), SetField('Nettokosten', get('BerechnetesErgebnis')) )", "", "", "", "Die Berechnung wurde erfolgreich ausgeführt.", "Fehler bei der Berechnung.", "settings" ) |
Hinweise
- Die Kombination von
set
undSetField
ist besonders hilfreich, um Zwischenergebnisse zu speichern und zu verwenden. - Wichtig:
SetField
muss innerhalb vonProcess()
aufgerufen werden, da es sonst nicht funktioniert. - Felder, die mit
SetField
beschrieben werden, sollten zuvor korrekt definiert sein, um Fehler zu vermeiden. - Die Verwendung der
if
-Funktion ermöglicht komplexe konditionale Berechnungen und erhöht die Flexibilität der Button-Aktionen.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.