> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# UPDATE - Perbarui

> Pelajari cara menggunakan fungsi UPDATE() di YiDA untuk memperbarui nilai komponen standar dan data subformulir pada formulir target berdasarkan kondisi tertentu, lengkap dengan contoh konfigurasi formula praktis.

Fungsi UPDATE() memperbarui nilai komponen standar pada formulir, serta data subformulir di dalamnya. Jika subformulir berisi beberapa rekam, hanya rekam yang memenuhi kondisi yang ditentukan yang akan diperbarui.

## Format

Format fungsi UPDATE() adalah:

```javascript theme={"theme":{"light":"github-light","dark":"github-dark"}}
UPDATE(TargetForm, MainCondition, SubCondition, TargetColumn1, TargetValue1, TargetColumn2, TargetValue2...)
```

* Formulir target: Formulir yang datanya akan diperbarui.

* Kondisi utama: Menemukan rekam yang akan diperbarui pada formulir target. Kondisi utama disusun menggunakan fungsi logika.

* Sub-kondisi: Digunakan ketika rekam yang akan diperbarui sudah teridentifikasi, tetapi nilai yang akan diperbarui berada di dalam subformulir pada rekam tersebut. Sub-kondisi menentukan rekam subformulir mana yang akan diperbarui. Sub-kondisi disusun menggunakan fungsi logika. Jika tidak ada nilai subformulir yang perlu diperbarui, masukkan "" — argumen ini tidak boleh dihilangkan.

* Kolom target:

* Nilai target: Nilai hasil pembaruan untuk kolom target. Nilai target dapat berupa nilai komponen pada formulir input saat ini, nilai komponen dari formulir target yang akan diperbarui, nilai tetap, atau nilai yang dihasilkan dari fungsi lain.

## Kasus penggunaan

### Perbarui data komponen standar pada formulir target dari data komponen standar pada formulir input

**Formulir yang digunakan**

* Formulir Inventaris: Nama Produk (Teks satu baris), Jumlah Stok (komponen Numerik)
* Formulir Pengiriman: Nama Produk (dropdown Pilih), Stok Saat Ini (komponen Numerik), Jumlah Pengiriman (komponen Numerik)

**Kebutuhan**

* Formulir Inventaris menyimpan jumlah stok dari sekumpulan produk. Produk dikirim keluar melalui Formulir Pengiriman.
* Nama produk pada Formulir Pengiriman berasal dari produk pada Formulir Inventaris.
* Pada Formulir Pengiriman, saat sebuah produk dipilih, jumlah stok saat ini akan ditampilkan.
* Saat melakukan pengiriman, jumlah pengiriman tidak boleh melebihi jumlah stok.
* Setelah pengiriman, jumlah stok produk terkait pada Formulir Inventaris harus dikurangi sesuai jumlah yang dikirim.

**Konfigurasi formula dan penjelasan**

* Deskripsi kebutuhan:

* Konfigurasi formula: Konfigurasikan formula pada aturan asosiasi bisnis Formulir Pengiriman sebagai berikut:

* Penjelasan formula:

### Perbarui data komponen standar pada formulir target dari data komponen subformulir pada formulir input

**Formulir yang digunakan**

* Formulir Pengiriman: Kategori Produk (dropdown Pilih), Subformulir Pengiriman (komponen subformulir). Subformulir Pengiriman berisi: Nama Produk (dropdown Pilih), Stok Saat Ini (komponen Numerik), Jumlah Pengiriman (komponen Numerik).
* Formulir Inventaris: Kategori Produk (dropdown Pilih), Nama Produk (Teks satu baris), Jumlah Stok (komponen Numerik)

**Kebutuhan**

Formulir Pengiriman mencakup detail pengiriman dan memungkinkan beberapa produk dikirim sekaligus. Untuk setiap produk yang dikirim, kurangi jumlah stok terkait pada Formulir Inventaris.

**Konfigurasi formula dan penjelasan**

* Deskripsi kebutuhan: Formulir Pengiriman mencakup detail pengiriman dan memungkinkan beberapa produk dikirim sekaligus. Untuk setiap produk yang dikirim, kurangi jumlah stok terkait pada Formulir Inventaris.

* Konfigurasi formula: Konfigurasikan formula pada aturan asosiasi bisnis Formulir Pengiriman sebagai berikut:

* Penjelasan formula:

### Perbarui data komponen subformulir pada formulir target dari data komponen standar pada formulir input

**Formulir yang digunakan**

* Formulir Inventaris: Kategori Produk (dropdown Pilih), Subformulir Inventaris (komponen subformulir). Subformulir Inventaris berisi Nama Produk (Teks satu baris) dan Jumlah Stok (komponen Numerik). Formulir Pengiriman: Kategori Produk (dropdown Pilih), Nama Produk (Teks satu baris), Jumlah Pengiriman (komponen Numerik)

**Kebutuhan**

Formulir Inventaris mencatat jumlah stok untuk beberapa produk. Setiap kali sebuah rekam dikirim melalui Formulir Pengiriman, jika data produk terkait ditemukan pada subformulir Formulir Inventaris, jumlah pengiriman akan dikurangi dari jumlah stok produk yang cocok.

**Konfigurasi formula dan penjelasan**

* Deskripsi kebutuhan: Formulir Inventaris mencatat jumlah stok untuk beberapa produk. Setiap kali sebuah rekam dikirim melalui Formulir Pengiriman, jika data produk terkait ditemukan pada subformulir Formulir Inventaris, jumlah pengiriman akan dikurangi dari jumlah stok produk yang cocok.

* Konfigurasi formula: Konfigurasikan formula pada aturan asosiasi bisnis Formulir Pengiriman sebagai berikut:

* Penjelasan formula:

## Catatan

* Saat memperbarui bidang formulir utama pada formulir target, fungsi UPDATE mendukung pembaruan hingga 100 rekam. Saat memperbarui detail subformulir pada suatu rekam di formulir target, paket Luang mendukung hingga 50 rekam detail, sedangkan Edisi Basic dan Edisi Professional mendukung hingga 500 rekam (default 50; atur batas rekam subformulir menjadi 500 pada halaman edit formulir).

* Fungsi UPDATE hanya dapat memproses data dalam satu komponen subformulir per eksekusi. Jika Anda perlu memproses data pada beberapa komponen subformulir, konfigurasikan beberapa fungsi UPDATE.

* Kondisi utama dan sub-kondisi disusun menggunakan fungsi logika. Kecuali AND dan OR, argumen pertama dari fungsi logika lainnya harus berupa komponen pada formulir target, dan urutan kedua argumen tersebut tidak dapat ditukar.

* Cakupan yang didukung untuk komponen formula Premium adalah sebagai berikut:

* Saat mengonfigurasi formula, muncul kesalahan "Execution failed, please check the business rule configuration". Apa yang harus dilakukan?

Issue ini dapat terjadi ketika bidang yang dikonfigurasi pada kondisi pencocokan melebihi batas bidang. Saat ini, ukuran kondisi kueri dibatasi kurang dari 1 KB (sekitar 512 karakter). Melebihi batas ini akan menyebabkan eksekusi gagal. Disarankan menggunakan bidang yang bersifat unik — seperti nomor seri, ID instans, atau nomor telepon — untuk pencocokan guna menghindari issue ini.
