logologo
Mulai
Panduan
Pengembangan
Plugin
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Mulai
Panduan
Pengembangan
Plugin
API
logologo
Alur Kerja
Ikhtisar
Mulai Cepat

Pemicu

Ikhtisar
Peristiwa Tabel Data
Tugas Terjadwal
Peristiwa Sebelum Aksi
Peristiwa Setelah Aksi
Peristiwa Aksi Kustom
Persetujuan
Webhook

Node

Ikhtisar

AI

LLM

Kontrol Alur

Kondisi
Cabang Multi-kondisi
Perulangan
Variabel
Cabang Paralel
Panggil Alur Kerja
Output Alur
Pemetaan Variabel JSON
Tunda
Selesai

Kalkulasi

Kalkulasi
Kalkulasi Tanggal
Kalkulasi JSON

Operasi Data

Tambah Data
Perbarui Data
Kueri Data
Hapus Data
Operasi SQL

Penanganan Manual

Penanganan Manual
Persetujuan
Tembusan (CC)

Perluas Tipe

Permintaan HTTP
Skrip JavaScript
Notifikasi
Kirim Email
Respons
Pesan Respons
Variabel
Catatan Eksekusi
Manajemen Versi
Opsi Lanjutan

Pengembangan Ekstensi

Ikhtisar
Perluas Tipe Pemicu
Perluas Tipe Node
Referensi API
Previous PageCabang Multi-kondisi
Next PageVariabel
TIP

Dokumen ini diterjemahkan oleh AI. Untuk ketidakakuratan apa pun, silakan lihat versi bahasa Inggris

#Perulangan

This feature is provided by the plugin «Alur Kerja: Node Perulangan»

#Pendahuluan

Perulangan setara dengan struktur sintaks seperti for/while/forEach dalam bahasa pemrograman. Ketika Anda perlu mengulang beberapa operasi dalam jumlah tertentu atau untuk suatu koleksi data (array), Anda dapat menggunakan node perulangan.

#Instalasi

Ini adalah plugin bawaan dan tidak memerlukan instalasi.

#Membuat Node

Di antarmuka konfigurasi alur kerja, klik tombol plus ("+") di alur untuk menambahkan node "Perulangan":

Membuat Node Perulangan

Setelah membuat node perulangan, sebuah cabang di dalam perulangan akan dibuat. Anda dapat menambahkan sejumlah node di dalam cabang ini. Node-node ini tidak hanya dapat menggunakan variabel dari konteks alur kerja, tetapi juga variabel lokal dari konteks perulangan, misalnya, objek data yang diulang dalam koleksi perulangan, atau indeks hitungan perulangan (indeks dimulai dari 0). Cakupan variabel lokal terbatas di dalam perulangan. Jika ada perulangan bertingkat, Anda dapat menggunakan variabel lokal dari perulangan spesifik di setiap tingkatan.

#Konfigurasi Node

20241016135326

#Objek Perulangan

Perulangan akan menangani tipe data objek perulangan yang berbeda dengan cara yang berbeda:

  1. Array: Ini adalah kasus yang paling umum. Anda biasanya dapat memilih variabel dari konteks alur kerja, seperti beberapa hasil data dari node kueri, atau data relasi banyak-ke-satu yang dimuat sebelumnya. Jika array dipilih, node perulangan akan mengulang setiap elemen dalam array, menetapkan elemen saat ini ke variabel lokal dalam konteks perulangan untuk setiap iterasi.

  2. Angka: Ketika variabel yang dipilih adalah angka, angka tersebut akan digunakan sebagai jumlah iterasi. Nilai angka hanya mendukung bilangan bulat positif; angka negatif tidak akan masuk ke perulangan, dan bagian desimal dari angka akan diabaikan. Indeks hitungan perulangan dalam variabel lokal juga merupakan nilai objek perulangan. Nilai ini dimulai dari 0. Misalnya, jika objek perulangan adalah angka 5, objek dan indeks dalam setiap perulangan akan secara berurutan: 0, 1, 2, 3, 4.

  3. String: Ketika variabel yang dipilih adalah string, panjangnya akan digunakan sebagai jumlah iterasi, memproses setiap karakter dari string berdasarkan indeks.

  4. Lainnya: Tipe nilai lain (termasuk tipe objek) diperlakukan sebagai objek perulangan satu item dan hanya akan berulang sekali. Situasi ini biasanya tidak memerlukan perulangan.

Selain memilih variabel, Anda juga dapat langsung memasukkan konstanta untuk tipe angka dan string. Misalnya, memasukkan 5 (tipe angka) akan menyebabkan node perulangan berulang 5 kali. Memasukkan abc (tipe string) akan menyebabkan node perulangan berulang 3 kali, memproses karakter a, b, dan c secara berurutan. Di alat pemilihan variabel, pilih tipe yang diinginkan untuk konstanta.

#Kondisi Perulangan

Sejak versi v1.4.0-beta, opsi terkait kondisi perulangan telah ditambahkan. Anda dapat mengaktifkan kondisi perulangan di konfigurasi node.

Kondisi

Mirip dengan konfigurasi kondisi di node kondisi, Anda dapat menggabungkan konfigurasi dan menggunakan variabel dari perulangan saat ini, seperti objek perulangan, indeks perulangan, dll.

Waktu Pengecekan

Mirip dengan konstruksi while dan do/while dalam bahasa pemrograman, Anda dapat memilih untuk mengevaluasi kondisi yang dikonfigurasi sebelum setiap perulangan dimulai atau setelah setiap perulangan berakhir. Evaluasi kondisi pasca-perulangan memungkinkan node lain di dalam badan perulangan untuk dieksekusi satu putaran sebelum kondisi diperiksa.

Ketika Kondisi Tidak Terpenuhi

Mirip dengan pernyataan break dan continue dalam bahasa pemrograman, Anda dapat memilih untuk keluar dari perulangan atau melanjutkan ke iterasi berikutnya.

#Penanganan Kesalahan pada Node di Dalam Perulangan

Sejak versi v1.4.0-beta, ketika node di dalam perulangan gagal dieksekusi (karena kondisi tidak terpenuhi, kesalahan, dll.), Anda dapat mengonfigurasi alur selanjutnya. Tiga metode penanganan didukung:

  • Keluar dari alur kerja (seperti throw dalam pemrograman)
  • Keluar dari perulangan dan melanjutkan alur kerja (seperti break dalam pemrograman)
  • Melanjutkan ke objek perulangan berikutnya (seperti continue dalam pemrograman)

Defaultnya adalah "Keluar dari alur kerja", yang dapat diubah sesuai kebutuhan.

#Contoh

Misalnya, ketika sebuah pesanan dibuat, Anda perlu memeriksa stok untuk setiap produk dalam pesanan. Jika stok mencukupi, kurangi stok; jika tidak, perbarui produk dalam detail pesanan sebagai tidak valid.

  1. Buat tiga koleksi: Produk <-(1:m)-- Detail Pesanan --(m:1)-> Pesanan. Model datanya adalah sebagai berikut:

    Koleksi Pesanan

    Nama BidangTipe Bidang
    Detail PesananSatu-ke-Banyak (Detail Pesanan)
    Total Harga PesananAngka

    Koleksi Detail Pesanan

    Nama BidangTipe Bidang
    ProdukBanyak-ke-Satu (Produk)
    KuantitasAngka

    Koleksi Produk

    Nama BidangTipe Bidang
    Nama ProdukTeks Satu Baris
    HargaAngka
    StokBilangan Bulat
  2. Buat sebuah alur kerja. Untuk pemicu, pilih "Event Koleksi", dan pilih koleksi "Pesanan" untuk memicu "Setelah data ditambahkan". Anda juga perlu mengonfigurasi untuk memuat data relasi koleksi "Detail Pesanan" dan koleksi Produk di bawah detail:

    Node Perulangan_Contoh_Konfigurasi Pemicu

  3. Buat node perulangan dan pilih objek perulangan sebagai "Data pemicu / Detail Pesanan", yang berarti akan memproses setiap catatan dalam koleksi Detail Pesanan:

    Node Perulangan_Contoh_Konfigurasi Node Perulangan

  4. Di dalam node perulangan, buat node "Kondisi" untuk memeriksa apakah stok produk mencukupi:

    Node Perulangan_Contoh_Konfigurasi Node Kondisi

  5. Jika mencukupi, buat "node Perhitungan" dan "node Perbarui data" di cabang "Ya" untuk memperbarui catatan produk yang sesuai dengan stok yang telah dikurangi setelah perhitungan:

    Node Perulangan_Contoh_Konfigurasi Node Perhitungan

    Node Perulangan_Contoh_Konfigurasi Node Perbarui Stok

  6. Jika tidak, di cabang "Tidak", buat "node Perbarui data" untuk memperbarui status detail pesanan menjadi "tidak valid":

    Node Perulangan_Contoh_Konfigurasi Node Perbarui Detail Pesanan

Struktur alur kerja secara keseluruhan adalah sebagai berikut:

Node Perulangan_Contoh_Struktur Alur Kerja

Setelah mengonfigurasi dan mengaktifkan alur kerja ini, ketika pesanan baru dibuat, sistem akan secara otomatis memeriksa stok produk dalam detail pesanan. Jika stok mencukupi, stok akan dikurangi; jika tidak, produk dalam detail pesanan akan diperbarui menjadi tidak valid (agar total harga pesanan yang valid dapat dihitung).