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
setundSetFieldist besonders hilfreich, um Zwischenergebnisse zu speichern und zu verwenden. - Wichtig:
SetFieldmuss innerhalb vonProcess()aufgerufen werden, da es sonst nicht funktioniert. - Felder, die mit
SetFieldbeschrieben 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.