Міндет және алғышарттар

Операторға өтінімдер жиынын мақұлдауға не қабылдамауға және таңдалған әрекеттен кейін ортақ экспортқа оралуға мүмкіндік беру.

Бұл мысал демонстрациялық деректер мен баптауларды қолданады. Өндірістік қабылдаушыларды қоспас бұрын күтілетін нәтижені өз ортаңызда тексеріңіз. Мына идентификаторлар: demo_* мысал ретінде берілген: редакторда өз оқу қосылымдарыңызды немесе дереккөздеріңізді таңдаңыз. Төмендегі JSON дайын тасымалдау архивін емес, блоктар мен байланыстар құрылымын көрсетеді.

Оқу кіріс деректері

requests.csv

Request;Status
R1;Draft
R2;Draft

Блоктар, байланыстар және нақты баптаулар

Түсіндірме схемаҮлкейту ↗19. Сценарийді қолмен таңдау және тармақтарды біріктіру. Мысал құрылымы: 6 блок, 6 байланыс. Түйін идентификаторлары мен порттары сақталған.
19-ағын схемасы

19-мысал құрылымы: 6 блок, 6 байланыс. Бапталған графтың түйін идентификаторлары мен порттары сақталған.

Конструкторға көрсетілген блоктарды қосып, әрқайсының қасиеттерін ашыңыз және осы мәндерді орнатыңыз. Мына атаулар: demo_* оқу дереккөздері мен қосылымдарын анықтайды.

БлокБаптау
1
Файл
src
  • Рөл: source
  • Дереккөз: demo_approval
  • Оқу баптаулары:
    • Парақ: CSV
    • Ауқым: A1:B3
    • Алғашқы жол — тақырып: так
    • Бөлгіш: ;
2
Таңдау
choice
  • Тақырып: Рішення щодо набору заявок
  • Оқу баптаулары:
      • Идентификатор: approve
      • Белгі: Погодити
      • Идентификатор: reject
      • Белгі: Відхилити
  • wizard: так
3
Өріс мәндерін орнату
approved
  • assignments:
      • Өріс: Status
      • Дереккөз: constant
      • Мән түрі: text
      • Мәні: Approved
4
Өріс мәндерін орнату
rejected
  • assignments:
      • Өріс: Status
      • Дереккөз: constant
      • Мән түрі: text
      • Мәні: Rejected
5
Тармақтарды біріктіру
merge
  • Кірістер:
      • Идентификатор: approved
      • Белгі: Погоджено
      • Идентификатор: rejected
      • Белгі: Відхилено
  • Режим: single
6
Деректер экспорты
out
  • Пішім: csv
  • Файл атауы: decisions
  • Мақсаты: download
  • Бөлгіш: ;
  • Уақыт белдеуі: Europe/Kyiv

Порт байланыстары

  • src out → choice in
  • choice approve → approved in
  • choice reject → rejected in
  • approved out → merge approved
  • rejected out → merge rejected
  • merge out → out in
JSON түріндегі толық граф конфигурациясы
{
  "version": 3,
  "nodes": [
    {
      "id": "src",
      "type": "file",
      "label": "src",
      "config": {
        "role": "source",
        "source_id": "demo_approval",
        "options": {
          "sheet": "CSV",
          "range": "A1:B3",
          "header": true,
          "delimiter": ";"
        }
      }
    },
    {
      "id": "choice",
      "type": "choice",
      "label": "choice",
      "config": {
        "title": "Рішення щодо набору заявок",
        "options": [
          {
            "id": "approve",
            "label": "Погодити"
          },
          {
            "id": "reject",
            "label": "Відхилити"
          }
        ],
        "wizard": true
      }
    },
    {
      "id": "approved",
      "type": "set_fields",
      "label": "approved",
      "config": {
        "assignments": [
          {
            "field": "Status",
            "source": "constant",
            "value_type": "text",
            "value": "Approved"
          }
        ]
      }
    },
    {
      "id": "rejected",
      "type": "set_fields",
      "label": "rejected",
      "config": {
        "assignments": [
          {
            "field": "Status",
            "source": "constant",
            "value_type": "text",
            "value": "Rejected"
          }
        ]
      }
    },
    {
      "id": "merge",
      "type": "merge",
      "label": "merge",
      "config": {
        "inputs": [
          {
            "id": "approved",
            "label": "Погоджено"
          },
          {
            "id": "rejected",
            "label": "Відхилено"
          }
        ],
        "mode": "single"
      }
    },
    {
      "id": "out",
      "type": "export",
      "label": "out",
      "config": {
        "format": "csv",
        "filename": "decisions",
        "destination": "download",
        "delimiter": ";",
        "timezone": "Europe/Kyiv"
      }
    }
  ],
  "edges": [
    {
      "source": "src",
      "target": "choice",
      "source_port": "out",
      "target_port": "in"
    },
    {
      "source": "choice",
      "target": "approved",
      "source_port": "approve",
      "target_port": "in"
    },
    {
      "source": "choice",
      "target": "rejected",
      "source_port": "reject",
      "target_port": "in"
    },
    {
      "source": "approved",
      "target": "merge",
      "source_port": "out",
      "target_port": "approved"
    },
    {
      "source": "rejected",
      "target": "merge",
      "source_port": "out",
      "target_port": "rejected"
    },
    {
      "source": "merge",
      "target": "out",
      "source_port": "out",
      "target_port": "in"
    }
  ]
}

Күтілетін нәтиже

«Approve» таңдағаннан кейін decisions.csv ішінде R1/Approved және R2/Approved болады; rejected тармағы өткізіледі. «Reject» таңдағанда екі күй де Rejected. Бұл — бүкіл кіріс жиыны үшін бір шешім.

Іске қосу және тексеру

  1. Ағынды интерактивті орындап, «Approve» таңдаңыз.
  2. Екі жаңартылған өтінімді, бір белсенді тармақты және сәтті біріктіруді тексеріңіз.
  3. «Reject» арқылы қайта орындап, екі Rejected күйін тексеріңіз.

Жиі қателер

  • Choice әрқашан пайдаланушы жауабын талап етеді; пайдаланушысыз орындауға жарамайды.
  • Merge single бір белсенді тармақты күтеді; екі кестені қатар қосуға Union қолданыңыз.
  • Бір сценарийді қолмен таңдауды жолдарды шартпен бөлетін Router блогымен шатастырмаңыз.