Variablen in Geschäftsprozessen von Bitrix24 sind Zellen, in denen der Prozess Zwischenwerte speichert: das Ergebnis einer Aktion, ein berechnetes Datum, die Antwort eines externen Systems. Zusammen mit den Startparametern und Konstanten verwandeln sie eine Vorlage von einem starren Szenario in ein konfigurierbares. Die meisten „der Prozess funktioniert nicht"-Fälle sind in der Praxis Fehler genau in den Variablen: falscher Typ, leerer Wert, fehlerhafte Einsetzung. Betrachten wir den Aufbau und die typischen Verarbeitungstechniken.

Wodurch unterscheidet sich eine Variable von einem Parameter und einer Konstante?

Drei Entitäten in den Vorlageneinstellungen. Parameter werden im Moment des Starts ausgefüllt — von demjenigen, der den Prozess startet (zum Beispiel „Rabattgrund"); innerhalb des Prozesses werden sie nur gelesen. Variablen leben im Inneren: der Prozess schreibt und liest sie im Verlauf neu — hier legt man die Ergebnisse von Aktionen ab. Konstanten werden einmalig in der Vorlage festgelegt (Betragsschwelle, Abteilungs-ID) und ändern sich ohne Eingriff in die Logik. Die praktische Regel: alles, was Sie einen Menschen fragen — Parameter; alles, was Sie im Verlauf berechnen — Variable; alle „magischen Zahlen" — Konstanten, sonst muss man bei einer Änderung der Schwelle in allen Bedingungen danach suchen.

Wie setzt man Werte in Aktionen ein?

In jedem Feld einer Aktion funktioniert „Wert einsetzen" — eine Auswahl aus dem Baum: Dokumentfelder (Deal, Lead), Parameter, Variablen, Konstanten, Ergebnisse vorheriger Aktionen und Systemwerte. Unter der Haube sind das Vorlagen der Art {=Document:TITLE} oder {=Variable:total}. Zwei Fallstricke: Mehrfachfelder werden als kommagetrennte Liste eingesetzt — für die elementweise Verarbeitung muss man sie zuerst zerlegen; und ein leerer Wert wird als leere Zeichenkette eingesetzt, nicht als „nichts" — die Bedingung „gleich leer" und „gleich """ sind in Bitrix24 nicht immer dasselbe, prüfen Sie es an einem Testeintrag.

Wie verarbeitet man Zeichenketten und wählt Werte nach Bedingung aus?

Standardmäßige String-Funktionen gibt es im Designer wenige, und hier helfen Einzeiler-Roboter aus. Auswahl nach Bedingung ohne einen „Bedingung"-Zweig in zwei Blöcke: der ternäre Operator gibt einen von zwei Werten anhand eines Vergleichs zurück — „wenn der Rabatt leer ist, nimm 0" wird mit einer Aktion gelöst. Ein Fragment aus dem Text holen — die Telefonnummer aus einem Kommentar, die Rechnungsnummer aus einer E-Mail: „Per regulärem Ausdruck extrahieren". Eine Liste in Elemente zerlegen — Tags durch Komma, Namen in Bestandteile: „Zeichenkette an Trennzeichen aufteilen" gibt ein Array und die Anzahl der Teile zurück, danach sind die Elemente über den Index zugänglich.

Wie holt man einen Wert aus einer JSON-Antwort?

Wenn der Prozess per HTTP-Anfrage zu externen Systemen geht, kommt die Antwort als JSON-Zeichenkette an — gebraucht wird aber ein einzelnes Feld aus einer verschachtelten Struktur. Der Roboter „Wert aus JSON nach Pfad extrahieren" nimmt eine Zeichenkette und einen Pfad der Art data.items.0.price entgegen und gibt den Wert in eine Variable zurück. Die Verkettung „HTTP-Anfrage → JSON nach Pfad → ins Feld schreiben" ist das Standardmuster der Integration ohne Code: ein Kurs aus einer externen API, ein Bestellstatus aus dem Buchhaltungssystem, Lagerbestände vom Lager.

Warum ist die Variable leer: Checkliste

Vier häufige Ursachen. Die Aktion, die die Variable hätte ausfüllen sollen, wurde nicht ausgeführt — schauen Sie ins Prozessprotokoll, der Zweig könnte sie umgangen haben. Der Typ stimmte nicht: in eine Variable vom Typ „Zahl" wurde eine Zeichenkette mit Leerzeichen geschrieben — der Wert ging stillschweigend verloren. Das Ergebnis der Aktion wurde aus dem falschen Block genommen: beim Kopieren von Blöcken zeigt die Einsetzung weiter auf den alten. Ein Mehrfachwert wird als Einzelwert gelesen: statt des Elements wurde die ganze Liste eingesetzt. Die Debugging-Regel: schreiben Sie nach jeder wichtigen Aktion die Variable vorübergehend in den Kommentar der Karte — so sehen Sie den realen Wert auf jedem Schritt.

Fazit

Variablen sind das Gedächtnis des Prozesses, und Disziplin bei ihnen zahlt sich aus: Parameter für die Eingabe, Konstanten für Schwellenwerte, Variablen für Ergebnisse. Und die Wertverarbeitung — Auswahl nach Bedingung, Zerlegen von Zeichenketten und JSON — übernehmen Einzeiler-Roboter aus dem Roboteka-Katalog, damit man nicht grundlos Verzweigungen aufbaut.