# Nesne bağımlılığı eklemek (kısıt ve hesaplanan özellik)

> Yapılandırılabilir üründe izin verilmeyen bileşimi engelleyen kısıt ve bir özelliğin değerini formülle hesaplayan prosedür eklemek.

URL: https://erpdocs.corexlogic.com/uretim/islemler/nesne-bagimliligi-ekleme

- **Tür:** İşlem
- **Modül:** Üretim
- **Menü yolu:** Ana Veriler › Ürünler › Ürün Ana Verileri › ürün detayı › Yapılandırma › Nesne Bağımlılıkları
- **Ekran adresi:** `/erp/catalog/products/{id}?tab=yapilandirma`
- **Gereken izin:** `erp-catalog-items.edit`
- **Ön koşullar:**
  - Ürün yapılandırılabilir; prosedürün hedefi olacak özellik kartın yapılandırma özelliği (yoksa pencerede **Yeni özellik oluştur**).

Nesne bağımlılıkları ürünün yapılandırma kurallarıdır: hangi bileşim satılamaz (kısıt), hangi değer
hesaplanır (prosedür), hangi bileşimler tabloda izinli (tablo kısıtı). Dil: [İfade dili](https://erpdocs.corexlogic.com/uretim/kosullar#ifade-dili).

## Adımlar

1. Ürünün **Yapılandırma** sekmesinde **Nesne Bağımlılıkları** bölümüne inin ve **Kural Ekle**'ye tıklayın.
   <!-- action: click · target: "Kural Ekle" -->

   ![Kural Ekle — değer hesapla, sınır koy, tablodan seç](https://erpdocs.corexlogic.com/img/screens/uretim/kural-ekle.png)
   1. Prosedür — özelliğin değerini hesaplar
   2. Kısıt — izin verilmeyen bileşimi engeller
   3. Tablo kısıtı — varyant tablosu
   4. Formül — koşullar sayfasındaki dil

2. Kısıt için **Sınır koy**'u seçin. **Koşul** alanına bileşim geçerliyken Evet veren ifadeyi yazın; "A ise B olmalı" kuralı `DEĞİL A VEYA B` biçimindedir.
   <!-- action: fill · target: "Koşul" · value: "BANT_TIPI <> 'PU' VEYA BOY <= 20" -->
3. **Kullanıcıya ileti** alanına satışta gösterilecek cümleyi yazın. Sağdaki **Dene** panelinde örnek değer girip sonucu görün.
   <!-- action: fill · target: "Kullanıcıya ileti" · value: "PU gıda bandı en çok 20 m boyda üretilir." -->
4. Hesaplanan özellik için **Değer hesapla**'yı seçin; **Hesaplanacak özellik** listesinden hedefi, **Nasıl hesaplansın**'da **Formül (gelişmiş)**'i, **Ne zaman**'da **Her zaman hesapla** ya da **Girilmezse hesapla**'yı seçin ve **Formül** alanına ifadeyi yazın.
   <!-- action: fill · target: "Formül" · value: "TAVAN(BOY / 1.5) + 1" -->
5. **Etkin (pasif kural uygulanmaz)** işaretli kalsın; **Ekle**'ye tıklayın.
   <!-- action: click · target: "Ekle" · expect: "Kural Nesne Bağımlılıkları listesine eklenir" -->

**Sonuç:** Kurallar satış satırı kaydedilirken listedeki sırayla uygulanır: prosedür değeri yazar, kısıt bileşimi denetler. Hesaplanan özellik ürün ağacı ve rota kurallarında okunabilir; sonucu [Yapılandırarak Dene](https://erpdocs.corexlogic.com/uretim/islemler/yapilandirarak-deneme) ile görün.

## Bilmeniz gerekenler

- Kısıt yalnız sonucu **bilinen** durumda denetlenir; okuduğu özellik boşsa geçer.
- İleti boşsa satışta `Konfigürasyon kısıtı sağlanmıyor: <ifade>` gösterilir. Demo örneğinde PU bant ve 24 m:
  `PU gıda bandı en çok 20 m boyda üretilir.`
- **Her zaman hesapla** ile yazılan değeri kullanıcı değiştiremez:
  `'Ayak Çifti Sayısı' değeri kuraldan hesaplanır (8); farklı değer verilemez.`
- Tam sayı hedefe kesirli sonuç yazan prosedür reddedilir (`… tam sayı — prosedür … hesapladı (YUVARLA kullanın).`).
  Seçenekli hedefe yazılan sonuç hedefin seçenek kodlarından biri olmalı.
- Tarih özelliği prosedür hedefi olamaz.
- Mevcut bir varyantı bozan kural kaydedilmez; bir kartta en çok 50 kural olur.
- Kısıt ve prosedür `TABLO` / `TABLODEGER` ile varyant tablosu sorgulayabilir; ürün ağacı satırının kuralı
  sorgulayamaz — tablodan gelen değeri prosedürle bir özelliğe yazıp satırda okuyun.

## İlgili

- [Koşullar ve formüller — nesne bağımlılıkları](https://erpdocs.corexlogic.com/uretim/kosullar#nesne-bagimliliklari)
- [Yapılandırılabilir ürünler](https://erpdocs.corexlogic.com/uretim/ekranlar/yapilandirilabilir-urunler)
