# Ürün ağacı satırına kural tanımlamak

> Süper ağaçta bir malzeme satırının hangi yapılandırmada geleceğini (seçenek koşulu, ifadeli koşul) ve miktarının nasıl hesaplanacağını (özellik × katsayı, ifade) tanımlamak.

URL: https://erpdocs.corexlogic.com/uretim/islemler/satir-kurali-tanimlama

- **Tür:** İşlem
- **Modül:** Üretim
- **Menü yolu:** Üretim › Ana Veriler › Ürün Ağaçları › ürün ağacı › revizyon › Düzenle
- **Ekran adresi:** `/erp/manufacturing/boms/{id}/revisions/{revisionId}/edit`
- **Gereken izin:** `erp-manufacturing-boms.edit`
- **Ön koşullar:**
  - Ağacın çıktı kartı yapılandırılabilir ve yapılandırma özellikleri tanımlı ([Yapılandırma özelliği tanımlamak](https://erpdocs.corexlogic.com/uretim/islemler/yapilandirma-ozelligi-tanimlama)).
  - Ağacın düzenlenebilir bir **taslak** revizyonu var (yayınlanmış revizyon değişmez; yeni revizyon açın).

Süper ağaçta her satır ya **koşulsuz**dur (her emre gelir) ya da kuralla seçilir. Miktar sabit olabilir ya da
yapılandırmadan hesaplanır. Dilin tamamı ve 25 örnek: [Koşullar ve formüller](https://erpdocs.corexlogic.com/uretim/kosullar).

## Adımlar

1. Taslak revizyonun detayında **Düzenle**'ye tıklayın.
   <!-- action: click · target: "Düzenle" · expect: "Revizyon Düzenle formu; her satırın altında kural özeti (ör. 'Koşulsuz — her konfigürasyonda gelir, miktar sabit.')" -->

   ![Süper ağaç taslağı — satırların kural özeti](https://erpdocs.corexlogic.com/img/screens/uretim/kosul-agac-satirlari.png)
   1. Kural özeti — formüllü miktar
   2. Seçenek koşulu ve formül
   3. Kuralı Düzenle — Satır Kuralı penceresi
   4. Formüllü satırda Miktar = sabit kısım

2. Kural yazılacak satırda **Kuralı Düzenle** düğmesine (satırın sağındaki ayar simgesi; ekran okuyucu adı 'N. satırın kuralını düzenle') tıklayın.
   <!-- action: click · target: "9. satırın kuralını düzenle" · expect: "Satır Kuralı — 9. satır penceresi" -->
3. Satır belirli seçeneklerde gelecekse ilgili özelliğin altındaki değerleri işaretleyin (aynı özellikte biri yeter, farklı özellikler birlikte aranır). Evet/Hayır özelliğinde **Fark etmez**, **Evet** ya da **Hayır**'ı seçin.
   <!-- action: choose · target: "Evet" · value: "Koruma Kapağı — Evet" -->

   ![Satır Kuralı penceresi — seçenek koşulu ve ifadeli koşul](https://erpdocs.corexlogic.com/img/screens/uretim/kosul-satir-kurali.png)
   1. Seçenek koşulu — işaretli değerlerden biri (VEYA)
   2. Evet/Hayır özelliği — ifadeye yazılır
   3. İfadeli koşul — Evet ise satır gelir
   4. Kod düğmeleri — imlecin yerine yazar

4. Sayısal sınır ya da birden çok özellik gerekiyorsa **İfadeli koşul** bölümünde **Koşul** alanına ifadeyi yazın; kodları **Özellikler** ve değer düğmeleriyle ekleyebilirsiniz. **Sına** ile denetleyin.
   <!-- action: fill · target: "Koşul" · value: "KORUMA = EVET" · expect: "İfade geçerli. Okunan özellikler: KORUMA." -->
5. **Formüllü miktar** bölümünde kipi seçin: **Sabit miktar**, **Özellik × katsayı** (**Özellik** ve **Katsayı** alanları) ya da **İfade**.
   <!-- action: choose · target: "İfade" -->
6. İfade kipinde **Miktar** alanına formülü yazın ve **Sına**'ya tıklayın.
   <!-- action: fill · target: "Miktar" · value: "BOY * 2.4" -->

   ![Satır Kuralı penceresi — Sına ve formüllü miktar](https://erpdocs.corexlogic.com/img/screens/uretim/kosul-satir-kurali-miktar.png)
   1. Sına — kaydetmeden denetim
   2. Miktar kipi: sabit, özellik × katsayı, ifade
   3. Miktar formülü — satırın Miktar alanına eklenir
   4. Uygula — revizyon kaydedilince geçerli

7. **Uygula** ile pencereyi kapatın. Formüllü satırda formun **Miktar** alanı sabit kısımdır — miktarı yalnız formül verecekse `0` yazın.
   <!-- action: click · target: "Uygula" -->
8. **Değişiklikleri Kaydet** ile revizyonu kaydedin.
   <!-- action: click · target: "Değişiklikleri Kaydet" -->

**Sonuç:** Kural taslak revizyona yazılır. Yayınlamadan önce [Yapılandırarak Dene](https://erpdocs.corexlogic.com/uretim/islemler/yapilandirarak-deneme) ile uç değerleri sınayın; revizyon yayınlanınca yeni emirler bu kuralla çözülür.

## Bilmeniz gerekenler

- Seçenek koşulu ile ifadeli koşul **birlikte** (VE) aranır. İfadeli koşul **Hayır** ya da **bilinmiyor** ise satır gelmez.
- Formüllü satırda miktar = **Miktar** alanı + formülün sonucu; sonuç sıfırdan büyük olmalı.
- **Özellik × katsayı** kipinde yalnız sayısal (Tam Sayı, Ondalık) özellikler listelenir; katsayı sıfırdan büyük
  olmalı (`Formül katsayısı sıfırdan büyük olmalı.`).
- İfade kipinde ifade boş bırakılamaz: `Miktar ifadesini yazın ya da sabit miktara dönün.`
- **Sına** sözdizimini ve kodları denetler; sonucun türünü (Evet/Hayır, sayı) ve değere bağlı hataları ancak
  Yapılandırarak Dene ya da emir yayını gösterir: [İletiler](https://erpdocs.corexlogic.com/uretim/kosullar#iletiler).
- Aynı kart iki satırda ancak seçenek koşulları birbirini dışlıyorsa olur; ifadeli koşul bu hesaba girmez
  (`Aynı stok kartı bir revizyonda yalnız bir malzeme satırında yer alabilir.`).
- Pencere yalnız yapılandırılabilir çıktının ağacında açılır. Toplu yazım için Ürün Ağaçları aktarım kitabının
  **SecimKosulu**, **MiktarFormulu** sütunları ve **Satır Koşulları** sayfası kullanılır.

## İlgili

- [Koşullar ve formüller](https://erpdocs.corexlogic.com/uretim/kosullar)
- [Ürün ağaçları](https://erpdocs.corexlogic.com/uretim/ekranlar/urun-agaclari)
