נוסחאות

נוסחאות הן שפת החישוב המובנית של GetMyBot. ניתן לחשב הנחה, לבנות מחרוזת, לבדוק תנאי, לטרנספורם רשימה או תאריך — ישירות בטקסט הודעה, בפעולת "חישוב" ובתנאי טבלת החלטות. התחביר קרוב לנוסחאות גיליונות אלקטרוניים ותומך בשמות פונקציות רוסיים (ובאנגלית).

היכן פועלות נוסחאות

  • בטקסט — הבנייה {{= ביטוי}} מחשבת את הביטוי ומכניסה את התוצאה. לדוגמה, {{= ROUND(param.total * 0.9) }}.
  • פעולת "חישוב" (compute) — מחשבת ביטוי ושומרת את התוצאה ב-ctx (שדה "שמור ב-ctx") ו/או בפרמטר מנוי (שדה "שמור בפרמטר").
  • טבלת החלטות — בפעולת "חישוב" במקום ביטוי אחד ניתן להגדיר רשימת כללים "כאשר → אז": מוחזר ערך הכלל הראשון שתנאו אמיתי, אחרת ערך ברירת המחדל.

תחביר

  • אופרטורים: אריתמטיקה + - * / %, השוואות == != < > <= >=, לוגיקה && || !, סוגריים ( ).
  • ליטרלים: מספרים (42, 3.14), מחרוזות במרכאות ("שלום"), בוליאניים (true, false).
  • הפניות לנתונים: בתוך ביטוי ניתן לגשת לפרמטרים וערכי הקשר לפי שם — param.total, ctx.items, recipient.email.
  • קריאת פונקציה: NAME(arg1, arg2). שמות אינם תלויי רישיות ומבינים כינויים רוסיים.

פונקציות

שמות ניתנים בצורה הקנונית (אנגלית); בסוגריים — הכינוי הרוסי, אם קיים. רישיות אינה משנה.

מתמטיקה

SUM, AVERAGE, MAX, MIN, MOD, POW, SQRT, PI, ROUND, CEIL, FLOOR, TRUNC, ABS, RANDBETWEEN.

טקסט

LEN, LEFT, RIGHT, MID, LOWER, UPPER, UPPERFIRST, REPEAT, CONCAT, SUBSTITUTE, FIND, SEARCH, FIELD, TRIM, LTRIM, RTRIM, PADLEFT, PADRIGHT, SPLIT, JOIN, STARTSWITH, ENDSWITH, CONTAINS, NL.

לוגיקה

IF, AND, OR, NOT, EMPTY, ISNUMBER, COALESCE.

רשימות

SORT, RSORT, UNIQUE, FILTER, FOREACH, REDUCE, INDEX, SLICE, COUNTA, COUNTUNIQUE, ARRAYADD, ARRAYREMOVE, ARRAYREPLACE, ARRAYFIND.

תאריך ושעה

TODAY, NOW, DATEADD, DATESUB, DATEDIF, DATEFORMAT, DATEVALUE, WEEKDAY.

JSON

TOJSON, FROMJSON, JSONPATH, JP, JSONOBJECT, JSONARRAY, KEYS, VALUES.

קריפטוגרפיה וקידוד

HASH, TOBASE64, FROMBASE64, FROMJWT, FROMJWK.

פרמטרים

PARAMID, PARAMREPLACE, PARAMREMOVE.

דוגמאות

  • הנחה 10% מסכום: {{= ROUND(param.total * 0.9) }}.
  • תנאי: {{= IF(param.total > 1000, "סיטונאי", "קמעוני") }}.
  • בניית מחרוזת: {{= CONCAT("הזמנה מס' ", ctx.order_id) }}.
  • גודל רשימה: {{= COUNTA(ctx.items) }}.

בדיקת נוסחה

בעורך פעולת "חישוב" יש כפתור בדיקה: מזינים ביטוי ונתונים לדוגמה, והפלטפורמה מחזירה את התוצאה ומסמנת שגיאות תחביר — מבלי לצאת מהבונה. שימושי לניפוי באגים בנוסחאות ארוכות לפני שמירת הריאקציה.

המשך