Ana içeriğe geç

Koşullar ve formüller

Yapılandırılabilir bir ürünün her seçenek bileşimi için ayrı ürün ağacı ve rota açılmaz. Ürünün tek bir ürün ağacı (süper ağaç) ve tek bir rotası (süper rota) olur; satırlara ve operasyonlara kural yazılır. Satış siparişinde müşterinin seçtiği değerler (yapılandırma) üretim emrine taşınır ve emir yayınlanırken kurallar bu değerlerle çözülür: hangi malzeme satırı gelecek, kaç birim gelecek, hangi operasyon yapılacak, kaç dakika sürecek.

Bu sayfa kuralların tamamını anlatır. Her örnek demo şirketinde kuruldu ve sonucu ürün ağacının Yapılandırarak Dene penceresiyle ya da gerçek bir üretim emriyle doğrulandı.

Demo kartları

Örneklerin çoğu demo şirketinde bu sayfa için açılmış kurgusal kartlarla: DMO-KSL-01 Ölçülü bantlı konveyör, DMO-KSL-02 Yapılandırılabilir dağıtım panosu, DMO-KSL-03 Temizlik ürünü partisi, DMO-KSL-04 Ölçüye göre dolap. Seçenek koşullu hazır örnekler: MAM-0003 Ofis çalışma masası, MAM-0006 Paslanmaz depolama tankı, MAM-0001 Motor kontrol panosu.

Kuralların haritası​

KuralNerede tanımlanırNe karar verirNasıl yazılırSonuç türü
Yapılandırma ön koşuluÜrün Ana Verileri › kart › Yapılandırma › özelliğin İşlemler › KoşulÖzellik satışta sorulur muDeğer işaretlenir (aktarım kitabında KABIN = OZEL_OLCU)—
Kısıt (Sınır koy)Aynı sekme › Nesne Bağımlılıkları › Kural Ekleİzin verilmeyen bileşim kaydedilir miİfadeEvet/Hayır
Prosedür (Değer hesapla)Aynı yerBir özelliğin değeri ne olurİfade ya da karar tablosuÖzelliğin türü
Satır koşulu (seçenek koşulu)Ürün Ağaçları › revizyon › satırın Kuralı Düzenle düğmesi › Satır KuralıMalzeme satırı emre gelir miSeçenekli özellikte değer işaretlenir—
İfadeli seçim koşuluSatır Kuralı › İfadeli koşul › KoşulMalzeme satırı emre gelir miİfadeEvet/Hayır
Formüllü miktarSatır Kuralı › Formüllü miktar (Özellik × katsayı ya da İfade)Satırın miktarıKatsayı ya da ifadeSayı
Operasyon seçim koşuluRotalar › revizyon › operasyonun Seçim koşulu ve formüller düğmesi › Seçim koşuluOperasyon emre gelir miİfadeEvet/Hayır
Süre formülüAynı yer › Hazırlık formülü (dk) · Makine formülü (dk) · İşçilik formülü (dk)Operasyonun süresiİfadeSayı (dakika)

Ağaç satırı ve operasyon kuralları yalnız yapılandırılabilir kartın ağacında ve rotasında yazılabilir. Yapılandırılabilir olmayan kartın ağacına koşul yazılırsa kayıt şu iletiyle reddedilir: Seçim koşulu yalnız yapılandırılabilir kartın ürün ağacında kullanılır. (miktar formülünde Miktar formülü yalnız yapılandırılabilir kartın ürün ağacında kullanılır., rotada Seçim koşulu ve formüllü süre yalnız yapılandırılabilir kartın rotasında kullanılır.).

Ne zaman ve hangi sırayla değerlendirilir​

  1. Değer girişi — satış siparişi satırında (ya da Yapılandırarak Dene penceresinde) özellik değerleri girilir. Ön koşulu sağlanmayan özellik gösterilmez; değeri verilemez, zorunluluğu uygulanmaz. Zorunlu, sorulan ve boş bırakılan özellik satırı kaydettirmez.
  2. Nesne bağımlılıkları listedeki sırayla uygulanır: prosedürler hesaplanan değeri yazar, kısıtlar bileşimi denetler. Kısıt yalnız sonucu bilinen durumda denetlenir.
  3. Üretim emri yayınlanınca (Yayınla) ağaç çözülür. Malzeme ihtiyaçları ve operasyonlar emre bu anda yazılır; yayından önce emirde malzeme satırı yoktur. Satırlar satır numarası sırasıyla, her satırda:
    1. Seçenek koşulu — her koşul özelliğinde, girilen değer işaretli değerlerden biri olmalı.
    2. İfadeli seçim koşulu — sonuç Evet olmalı. Hayır ya da bilinmiyor ise satır gelmez.
    3. Miktar — sabit, Miktar + katsayı × değer ya da Miktar + ifadenin sonucu.
  4. Seçilen satırlarda aynı kart iki kez çıkmamalı; hiç satır seçilmemişse emir açılmaz.
  5. Rota çözülür — her operasyonda seçim koşulu (Evet ise gelir), sonra hazırlık, makine ve işçilik formülleri. Formülsüz süre rotadaki sabit değerdir.
  6. Emir miktarına ölçekleme — satır miktarı × emir miktarı ÷ ağacın temel miktarı, varsa montaj ve bileşen firesiyle büyütülür. Miktar formülden geldiyse ya da fire varsa sonuç bileşen biriminin ondalık hassasiyetine yukarı yuvarlanır (ADET 0, KG/M/M2 3 ondalık).
Yapılandırarak Dene ile emir arasındaki fark

Yapılandırarak Dene ve emir aynı çözücüyü kullanır. Pencere temel miktar başına ve yuvarlamadan gösterir; emirde fire ve birim yuvarlaması eklenir. Örnek: pencerede 60,288 KG görünen sac satırı %5 bileşen firesiyle emirde 63,303 KG olur (60,288 × 1,05 = 63,3024 → yukarı 63,303).

İfade dili​

Kısıt, prosedür, ifadeli seçim koşulu, miktar formülü, operasyon koşulu ve süre formülü aynı dili kullanır. Kurallar sunucuda değerlendirilir; ekrandaki Sına düğmesi kaydetmeden aynı denetimi yapar.

Değerler ve yazımı​

NeNasıl yazılırÖrnek
SayıOndalık ayırıcı nokta1.05, 2.5, 12
Metin, seçenek koduTek tırnak; tırnağın içinde tırnak iki kez'PVC', 'OZEL_OLCU', 'Ali''nin'
Evet/HayırEVET / HAYIR (ya da TRUE / FALSE)KORUMA = EVET
ÖzellikÖzelliğin kodu; harf, rakam ve alt çizgiBOY, CIKIS_SAYISI
Özel karakterli kodKöşeli ayraç[EN-1], [BOY] * 2

Kod ve anahtar sözcükler büyük/küçük harf ayırmaz (bant_genisligi = '800' de çalışır). Metin karşılaştırması da büyük/küçük harf ve baştaki/sondaki boşluğu ayırmaz: BANT_TIPI = 'pvc' ve BANT_TIPI = ' PVC ' Evet verir.

Özellik türüne göre ifadedeki değer​

Özellik türüİfadede okunanDoğruYanlış
SeçimSeçeneğin kodu (metin)BANT_GENISLIGI = '800'BANT_GENISLIGI = 800 (sayı) · BANT_GENISLIGI = '800 mm' (seçeneğin adı)
Tam Sayı, OndalıkSayıCIKIS_SAYISI > 12, BOY * 2BOY > '10'
Evet/HayırEvet/HayırKORUMA = EVETKORUMA = 'EVET', KORUMA = 1
Tarih'yyyy-MM-dd' metniTESLIM >= '2027-01-01'—
MetinMetin (boş metin girilmemiş sayılır)DOLU(ACIKLAMA)ACIKLAMA <> '' (boşsa bilinmiyor)

Seçeneğin adı (ekranda görünen, ör. "800 mm") ifadede kullanılmaz; karşılaştırma kodla yapılır. Kartın özellik ve seçenek kodları kural penceresinde Özellikler ve … değerleri düğmeleriyle imlecin olduğu yere yazılır.

İşleçler ve öncelik​

Öncelik düşükten yükseğe: VEYA → VE → DEĞİL → karşılaştırma → + - → * / → tekli -. Parantez her zaman önce.

İşleçAnlamıEşdeğer yazımÖrnek → sonuç
+ - * /Hesap—2 + 3 * 4 → 14 · 10 / 4 → 2,5
+ metindeBirleştirme—BANT_TIPI + '-' + BANT_GENISLIGI → PVC-600
= <>Eşit · eşit değil!= = <>BOY != 6 (BOY 6) → Hayır
< <= > >=Karşılaştırma—BOY = 6.0 (BOY 6) → Evet
IN ( … )Listedekilerden biriİÇİNDEBOY IN (6, 12) (BOY 12) → Evet
VEİkisi birdenAND
VEYABiri yeterOR
DEĞİLTersiDEGIL, NOTDEĞİL BOY > 10 VE BOY > 5 (BOY 8) → Evet
  • Karşılaştırma zincirlenmez: BOY > 10 > 2 yazılamaz (Beklenmeyen '>' (konum 10).). İki koşulu VE ile bağlayın.
  • DEĞİL yalnız hemen sağındaki karşılaştırmayı tersine çevirir: DEĞİL A VE B = (DEĞİL A) VE B. Birden çok koşulun tersi için parantez: DEĞİL (A VEYA B).
  • Karşılaştırmanın iki yanı aynı türde olmalı; Evet/Hayır yalnız = ve <> ile karşılaştırılır.
  • Hesap yalnız sayılarla: KORUMA + 1 → '+' yalnız sayılarla kullanılır.

Fonksiyonlar​

FonksiyonEşdeğerNe yaparÖrnek → sonuç
EGER(koşul, a, b)EĞER, IFKoşul Evet ise a, Hayır ise b; bilinmiyorsa bilinmiyor. Yalnız seçilen dal hesaplanırEGER(BOY > 10, 2, 1) (BOY 12) → 2
YUVARLA(x[, n])ROUNDn ondalığa yuvarlar (n 0–10, boş = 0); yarım yukarıYUVARLA(2.345, 2) → 2,35 · YUVARLA(2.5) → 3
YUKARIYUVARLA(x, adım)ROUNDUPBir sonraki adımın katına yukarı (adım > 0)YUKARIYUVARLA(2.37, 0.5) → 2,5
TAVAN(x)CEILBir üst tam sayıTAVAN(2.1) → 3 · TAVAN(-2.5) → -2
TABAN(x)FLOORBir alt tam sayıTABAN(2.9) → 2 · TABAN(-2.5) → -3
MIN(a, b, …)—En küçüğü (bir ya da daha çok değer)MIN(3, BOY, 8) (BOY 5) → 3
MAX(a, b, …)—En büyüğüMAX(0.6, CIKIS_SAYISI * 0.05) (20) → 1
MUTLAK(x)ABSİşareti atarMUTLAK(2 - BOY) (BOY 5) → 3
DOLU(özellik)SPECIFIEDÖzellik girildiyse Evet, girilmediyse Hayır — asla bilinmiyor vermezDOLU(KORUMA)
TABLO('KOD')TABLEDeğerler varyant tablosunun bir satırına uyuyor muYalnız kısıt ve prosedürde
TABLODEGER('KOD', 'SÜTUN')LOOKUP, TABLODEĞERUyan satırın sütun değeriYalnız kısıt ve prosedürde

Ağaç satırının seçim koşulu ve miktar formülü varyant tablosu sorgulamaz: Seçim koşulu varyant tablosu sorgulamaz. · Miktar formülü varyant tablosu sorgulamaz. Tablodan gelen bir değer gerekiyorsa onu bir prosedürle hesaplanan özelliğe yazın, satırda o özelliği okuyun (Örnek 8). İfade en çok 1000 karakter olabilir.

Bilinmeyen değer — üç değerli mantık​

Girilmemiş (ya da ön koşulu sağlanmadığı için sorulmamış) özellik bilinmiyordur. Bilinmeyenle yapılan hesap ve karşılaştırma da bilinmiyor verir. Sonuç bu nedenle Evet, Hayır ya da bilinmiyor olur.

İfadeDeğerlerSonuç
KORUMA = EVETKORUMA girilmedibilinmiyor → satır gelmez
KORUMA <> EVETKORUMA girilmedibilinmiyor → satır gelmez (Hayır değil!)
BOY * 2BOY girilmedibilinmiyor → miktar formülü emri açmaz
BOY > 10 VEYA KORUMA = EVETBOY 12, KORUMA girilmediEvet (EVET VEYA ? = Evet)
BOY > 10 VE KORUMA = EVETBOY 8, KORUMA girilmediHayır (HAYIR VE ? = Hayır)
DEĞİL DOLU(KORUMA) VEYA KORUMA = HAYIRKORUMA girilmediEvet
DEĞİL DOLU(KORUMA) VEYA KORUMA = HAYIRKORUMA EvetHayır
EGER(KORUMA = EVET, BOY * 2.4, 0)BOY 10, KORUMA girilmedibilinmiyor → emri açmaz

Bilinmeyenin etkisi kurala göre değişir:

KuralSonuç bilinmiyorsa
İfadeli seçim koşulu, operasyon seçim koşuluSatır / operasyon gelmez (Hayır gibi)
Miktar formülüHata: N. satırın miktar formülü bilinmiyor — okuduğu değerlerden biri konfigürasyonda yok (…)
Süre formülüHata: N numaralı operasyonun işçilik formülü hesaplanamadı — konfigürasyonda gereken değer yok.
KısıtDenetlenmez (geçer)

İsteğe bağlı (zorunlu olmayan) özelliği okuyan kuralı bu yüzden "girilmezse ne olsun" sorusuna göre yazın; gerekirse DOLU(…) kullanın.

Sözdizimi ve değerlendirme iletileri​

Sına düğmesi ve kayıt sözdizimini ve kodları denetler. Değere bağlı hatalar (sıfıra bölme, yanlış türde sonuç, eksik değer) ancak değerlerle — Yapılandırarak Dene'de ya da emir yayınında — ortaya çıkar.

YazımİletiNe zaman
BOY >= 10 VEİfade eksik bitti.Sına / kayıt
(BOY + 2')' bekleniyordu, ifade bitti.Sına / kayıt
'PVCKapanmamış metin (konum 1).Sına / kayıt
BANT_GENISLIGI = "800"Beklenmeyen karakter '"' (konum 18).Sına / kayıt
BOY * 1,05Beklenmeyen ',' (konum 8).Sına / kayıt
BOY % 2Beklenmeyen karakter '%' (konum 5).Sına / kayıt
KAREKOK(BOY)Bilinmeyen fonksiyon 'KAREKOK' (konum 1).Sına / kayıt
UZUNLUK > 10 (kartta yok)Seçim koşulundaki 'UZUNLUK' 'DMO-KSL-01' kartının özelliği değil.Sına / kayıt
TABLO('X') satırdaSeçim koşulu varyant tablosu sorgulamaz.Sına / kayıt
BOY / 0Sıfıra bölme.Değerle
EGER(BOY > 10, 2)EGER(koşul, a, b) üç değer alır.Değerle — Sına geçerli der
EGER(BOY, 1, 2)EGER'in koşulu Evet/Hayır olmalı.Değerle
BANT_GENISLIGI = 800'=' iki yanında aynı türde değer ister.Değerle
KORUMA = 'EVET''=' iki yanında aynı türde değer ister.Değerle
YUKARIYUVARLA(BOY, 0)YUKARIYUVARLA'nın adımı sıfırdan büyük olmalı.Değerle
YUVARLA(BOY, 11)YUVARLA'nın ondalık sayısı 0–10 arası tam sayı olmalı.Değerle
DOLU(BOY * 2)DOLU(özellik) tek özellik kodu alır.Değerle
MAX()MAX için değer sayısı yanlış.Değerle
BOY * 2 seçim koşulundaN. satırın seçim koşulu Evet/Hayır vermeli.Değerle — Sına geçerli der
Kısıt / prosedür formunda bilinmeyen kodifadedeki 'UZUNLUK' bu kartın özelliği değil.Sına / kayıt

Konum numarası ifadenin kaçıncı karakteri olduğunu söyler (1'den başlar). Değerle çıkan hata emirde satır numarasıyla gelir: 9. satırın miktar formülü: Sıfıra bölme.

Satır koşulu (seçenek koşulu)​

Satır Kuralı penceresinin üst bölümünde kartın her Seçim özelliği değerleriyle listelenir.

  • Bir özellikte hiç değer işaretlenmezse o özellik koşul değildir.
  • Aynı özellikte işaretli değerlerden biri yeter (VEYA): Tank Hacmi 1.000 L ya da 2.000 L.
  • Farklı özelliklerin koşulları birlikte aranır (VE): Renk Beyaz ve Masa Genişliği 140 cm.
  • Özellik girilmediyse satır gelmez; Yapılandırarak Dene nedenini yazar: Gelmez — Tank Hacmi girilmedi (koşul: 1.000 L).
  • Bir satır en çok 10 özellikte koşul taşır; bir özellik satırda yalnız bir kez yer alır.

Aynı kart iki satırda. Bir kart bir revizyonda normalde tek satırda olur. İstisna: iki satırın seçenek koşulları birbirini dışlıyorsa (ortak bir özellikte işaretli değerler kesişmiyorsa) aynı kart iki satırda olabilir — MAM-0006'da HAM-0031 3 mm sac bir satırda Tank Hacmi: 2.000 L ile 290 kg, ötekinde Tank Hacmi: 5.000 L ile 560 kg. İfadeli koşul bu hesaba girmez: BOY <= 10 ve BOY > 10 koşullu iki satıra aynı kart konamaz (Aynı stok kartı bir revizyonda yalnız bir malzeme satırında yer alabilir.). Böyle durumda tek satır ve EGER ile miktar yazın (Örnek 4).

Evet/Hayır özellikleri pencerede Fark etmez / Evet / Hayır düğmeleriyle gelir; seçim ifadeli koşula UZAKTAN_IZLEME = EVET biçiminde yazılır.

İfadeli seçim koşulu​

Satır Kuralı › İfadeli koşul › Koşul alanı. Sayısal sınır, birden çok özellik, VEYA ve DEĞİL gereken her seçim buradan yazılır.

  • Sonuç Evet ise satır gelir; Hayır ya da bilinmiyor ise gelmez.
  • İşaretli seçenek koşullarıyla birlikte (VE) aranır.
  • Boş = ifadeli koşul yok.

Formüllü miktar​

Satır Kuralı › Formüllü miktar üç kipten biri:

KipMiktarKural
Sabit miktarSatırın Miktar alanıMiktar sıfırdan büyük olmalı
Özellik × katsayıMiktar + katsayı × özelliğin değeriÖzellik sayısal (Tam Sayı/Ondalık); katsayı sıfırdan büyük
İfadeMiktar + ifadenin sonucuSonuç sayı olmalı
Miktar alanı formüle EKLENİR

Formüllü satırda Miktar alanı "sabit kısım"dır ve sıfır olabilir. 2 * BOY formülü ve Miktar 0,6 olan satırda BOY 6 m için miktar 2 × 6 + 0,6 = 12,6 olur. Miktarı yalnız formül versin istiyorsanız Miktar'a 0 yazın; 1 bırakırsanız her emre fazladan 1 birim gelir.

  • Hesaplanan miktar (sabit + formül) sıfırdan büyük olmalı: N. satırın konfigürasyona göre hesaplanan miktarı sıfırdan büyük değil.
  • Formül alternatif kartlara da uygulanır: alternatif kendi miktarı + aynı formül sonucu.
  • Bileşen firesi ve montaj firesi formülün sonucuna uygulanır; emirde birimin ondalığına yukarı yuvarlanır.
  • İfade kipindeki Sına sözdizimini ve kodları denetler; sonucun sayı olduğunu denetlemez.

Yapılandırma ön koşulu​

Bir özelliğin yalnız başka bir özellik belli bir değerdeyken sorulmasını sağlar: "Kabin Özel Ölçü seçilince Kabin Eni ve Kabin Boyu sorulsun."

  • Koşul özelliği aynı kartın Seçim ya da Evet/Hayır özelliği olmalı; sayısal özellik koşul olamaz.
  • Aynı özellikte işaretli değerlerden biri yeter (VEYA); farklı özellikler birlikte (VE).
  • Sorulmayan özellik boş kalır, zorunluluğu uygulanmaz; ona değer verilirse satır reddedilir: 'Kabin Eni' yalnız Kabin: Özel Ölçü (En x Boy) olduğunda girilir.
  • Sorulan zorunlu özellik boşsa: 'Kabin Eni' özelliğinin değeri girilmemiş.
  • Özellik kendisine koşul olamaz (Özellik kendisine koşul olamaz.); döngü kurulamaz (Bu koşul döngü kurar: koşul özelliği dolaylı olarak bu özelliğe bağlı.).
  • Mevcut varyantı geçersiz kılan koşul kaydedilmez: '…' varyantı bu koşulla geçersiz kalır: …
  • Zincir kurulabilir (A → B → C): koşul özelliği gizliyse ona bağlı özellik de gizlenir.

Ön koşul ve ağaç kuralı birlikte: ön koşulu sağlanmayan özellik kurallarda bilinmiyordur. Bu özelliği okuyan formülü EGER ile koruyun (Örnek 12) ya da satırı ön koşulla aynı seçenek koşuluna bağlayın (Örnek 9).

Aktarım kitabında (Ürün Aktarımı › Yapılandırma sayfası) ön koşul OnKosul sütununa yazılır:

YazımAnlamı
KABIN = OZEL_OLCUKabin Özel Ölçü ise sorulur
PERON_SAYISI = 3 / 43 ya da 4 ise (aynı özelliğin değerleri /)
KABIN = OZEL_OLCU; DIREK = EvetKabin Özel Ölçü ve Direk Evet ise (farklı özellikler ;)
boş hücreKoşul kaldırılır (sütun varsa); sütun yoksa mevcut koşul korunur

Değerler seçenek koduyla, Evet/Hayır özelliği Evet / Hayır ile yazılır. Okunamayan hücre: '…' okunamadı — biçim "ÖZELLİK = DEĞER" olmalı. · bilinmeyen özellik: Koşul özelliği '…' bulunamadı. · bilinmeyen değer: '…' değerlerinde '…' yok. · sayısal özellik: '…' koşul olamaz — yalnız seçim ve Evet/Hayır özellikleri koşul olur.

Süper rota: operasyon koşulu ve süre formülü​

Rota revizyonunda her operasyonun Seçim koşulu ve formüller düğmesi satırın altında dört alan açar: Seçim koşulu, Hazırlık formülü (dk), Makine formülü (dk), İşçilik formülü (dk).

  • Seçim koşulu Evet ise operasyon emre gelir; Hayır ya da bilinmiyorsa gelmez. Boş = her zaman.
  • Formül doluysa süre formülden hesaplanır ve sabit değerin yerine geçer (ağaç miktarındaki gibi eklenmez). Boş = rotadaki sabit süre.
  • Formülün sonucu 0 ile 1.000.000 dakika arasında olmalı; iki ondalığa yuvarlanır.
  • Hiç operasyon seçilmezse: Konfigürasyon rotanın hiçbir operasyonunu seçmiyor — rotanın seçim koşullarını düzeltin.
  • Makine ve işçilik süresi temel miktar başına, hazırlık parti başınadır.

Nesne bağımlılıkları: kısıt ve prosedür​

Kartın Yapılandırma sekmesindeki Nesne Bağımlılıkları bölümünde Kural Ekle:

  • Sınır koy (Kısıt) — ifade Evet vermeli. Hayır ise satış satırı kaydedilmez ve kuralın iletisi gösterilir (ileti boşsa Konfigürasyon kısıtı sağlanmıyor: <ifade>). "A ise B olmalı" kuralı DEĞİL A VEYA B biçiminde yazılır: BANT_TIPI <> 'PU' VEYA BOY <= 20.
  • Değer hesapla (Prosedür) — ifadenin (ya da karar tablosunun) sonucu bir özelliğe yazılır. Yazma biçimi Her zaman hesapla ise kullanıcı başka değer veremez ('Ayak Çifti Sayısı' değeri kuraldan hesaplanır (8); farklı değer verilemez.); Girilmezse hesapla ise yalnız özellik boşken yazılır, kullanıcının değeri korunur. Tam sayı özelliğe kesir yazan prosedür reddedilir — YUVARLA kullanın.
  • Tablodan seç (Tablo kısıtı) — değer bileşimi bir varyant tablosunun satırına uymalı.

Hesaplanan özellik ağaç satırında ve rotada diğer özellikler gibi okunur. Aynı hesap birden çok satırda gerekiyorsa bir kez prosedürde yapın, satırlarda sonucu okuyun.

Aktarım kitabında kural yazımı​

Kuralları ekrandan tek tek girmek yerine aktarım kitabıyla da yükleyebilirsiniz:

Kitap › sayfaSütunİçerik
Ürün Aktarımı kitabı › YapılandırmaOnKosulÖn koşul (KABIN = OZEL_OLCU)
Veri Aktarımı › Ürün Ağaçları kitabı › Ağaç SatırlarıSecimKosuluİfadeli seçim koşulu (BOY > 10)
Aynı sayfaMiktarFormuluİfadeli miktar; miktar = Miktar + formülün sonucu
Aynı kitap › Satır KoşullarıSatirNo, OzellikKodu, DegerKoduSeçenek koşulu — her değer bir satır
Veri Aktarımı › Rotalar kitabı › OperasyonlarSecimKosulu, HazirlikFormulu, MakineFormulu, IscilikFormuluSüper rota

Örnekler​

Her örnekte: ihtiyaç, özellikler, kural, girilen değerler ve sonuç, sık yapılan hata. "Sonuç" sütunu Yapılandırarak Dene penceresinin temel miktar (1 ADET) başına gösterdiğidir.

Yapılandırarak Dene — satırların sonucu ve miktar hesabı
  1. 1Özellik değerleri — satış satırındaki gibi girilir
  2. 2Prosedürle hesaplanan özellik (Ayak Çifti Sayısı)
  3. 3Kaç satır gelir, kaç satır gelmez
  4. 4Formüllü miktarın hesabı
  5. 5Satırın neden gelmediği
  6. 6İfadeli koşul Evet — satır gelir

Örnek 1 — Boya göre profil (konveyör)​

İhtiyaç: Konveyörün iki yan profili boy kadar, kesim payı %2. Özellik: BOY (Ondalık, m, 2–30, 0,5 adım). Satır: HAM-0035 Alüminyum konveyör profili, birim M, Miktar 0. Formül (İfade): 2 * BOY * 1.02

BOYSonuç
612,24 M
12,525,5 M

Sık hata: Miktar alanını 1 bırakmak — sonuç 13,24 M olur.

Örnek 2 — Seçenek koşulu ile formül birlikte (bant)​

İhtiyaç: PVC ya da PU bant; bant boyu 2 × BOY + 0,6 m ek payı. Satırlar: HAM-0056 PVC bant — seçenek koşulu Bant Tipi: PVC Endüstriyel; HAM-0057 PU bant — Bant Tipi: PU Gıdaya Uygun. İkisinde Miktar 0,6, formül 2 * BOY.

BOYBant TipiHAM-0056HAM-0057
6PVC12,6 MGelmez
12,5PUGelmez25,6 M

Yapılandırarak Dene miktarın hesabını da yazar: 2 * BOY + 0,6 = 12,6.

Örnek 3 — Adımla adet (taşıyıcı makara)​

İhtiyaç: Her 0,5 m'de bir makara, uçta bir fazla. Satır: HAM-0058 Taşıyıcı makara, ADET, Miktar 1, formül TAVAN(BOY / 0.5).

BOYSonuç
613 ADET
1021 ADET
12,526 ADET

Sık hata: BOY / 0.5 + 1 yazmak — boy 0,5'in katı değilse kesirli adet çıkar; emirde ADET yukarı yuvarlanır ama niyet belirsizleşir. Adet sayımında TAVAN / TABAN'ı açık yazın.

Örnek 4 — Sayısal sınırla iki seçenek (motor)​

İhtiyaç: 10 m'ye kadar 0,75 kW, üstünde 1,5 kW motor. Satırlar: HAM-0054 Motor redüktör 0,75 kW — ifadeli koşul BOY <= 10; HAM-0055 Motor redüktör 1,5 kW — BOY > 10.

BOYHAM-0054HAM-0055
101 ADET (koşul Evet: BOY <= 10)Gelmez (koşul Hayır: BOY > 10)
12,5Gelmez1 ADET

Sık hata: Sınırı iki satırda çakışık ya da boşluklu yazmak (BOY < 10 ve BOY > 10 — 10 m'de motor gelmez). Sınırın bir tarafı <=, öteki > olsun. Aynı kart iki satırda kullanılamaz; kart aynı, yalnız miktar değişiyorsa tek satırda EGER(BOY > 10, 2, 1) yazın.

Örnek 5 — İsteğe bağlı Evet/Hayır (koruma kapağı)​

İhtiyaç: Koruma kapağı istenirse metre başına 2,4 kg paslanmaz sac. Özellik: KORUMA (Evet/Hayır, isteğe bağlı). Satır: HAM-0030 Paslanmaz sac, KG, Miktar 0, ifadeli koşul KORUMA = EVET, formül BOY * 2.4.

BOYKORUMASonuç
12,5Evet30 KG
10HayırGelmez — koşul Hayır: KORUMA = EVET
6girilmediGelmez — koşulun okuduğu değer girilmedi: KORUMA = EVET

Sık hata 1: "Kapaksız" durum için KORUMA <> EVET yazmak — girilmemişse bilinmiyor olur ve satır gelmez. Doğrusu: DEĞİL DOLU(KORUMA) VEYA KORUMA = HAYIR. Sık hata 2: Koşulu formüle gömmek: EGER(KORUMA = EVET, BOY * 2.4, 0) — KORUMA girilmezse formül bilinmiyor olur ve emir açılmaz; ayrıca sonuç 0 olunca hesaplanan miktarı sıfırdan büyük değil hatası gelir. Satırın gelip gelmeyeceğini koşulla, miktarı formülle yazın.

Örnek 6 — Seçenek ve sayı birlikte (orta destek)​

İhtiyaç: 800 mm bantta, 12 m'den uzun konveyöre her 3 m'de 0,8 m orta destek profili. Satır: HAM-0032 Profil kutu 40x40, M, Miktar 0, ifadeli koşul BANT_GENISLIGI = '800' VE BOY > 12, formül TAVAN(BOY / 3) * 0.8.

Bant GenişliğiBOYSonuç
800 mm12,54 M
800 mm12Gelmez — koşul Hayır
600 mm12,5Gelmez

Sık hata: BANT_GENISLIGI = 800 (tırnaksız) — seçenek kodu metindir: '=' iki yanında aynı türde değer ister. Bu hata Sına'da değil, değerle çıkar.

Örnek 7 — Liste ile katsayı (bağlantı cıvatası)​

İhtiyaç: 600 ve 800 mm'de her 1,5 m için 8, 400 mm'de 4 cıvata. Cıvata geri sarfla düşer. Satır: HAM-0064 Cıvata M8x20, ADET, Miktar 0, Geri sarf işaretli, formül EGER(BANT_GENISLIGI IN ('600', '800'), 8, 4) * TAVAN(BOY / 1.5).

Bant GenişliğiBOYSonuç
600 mm632 ADET
400 mm1028 ADET
800 mm1264 ADET
800 mm12,572 ADET

Örnek 8 — Hesaplanan özellik (ayak çifti)​

İhtiyaç: Ayak çifti sayısı birden çok yerde (ağaç satırları, rota) kullanılacak; hesap tek yerde dursun. Kurulum: Karta AYAK_CIFTI (Tam Sayı, isteğe bağlı) özelliği; Nesne Bağımlılıkları › Kural Ekle › Değer hesapla, hedef Ayak Çifti Sayısı, Formül (gelişmiş), yazma biçimi Her zaman hesapla, ifade TAVAN(BOY / 1.5) + 1. Satır: HAM-0049 Ayar ayağı, ADET, Miktar 0, formül 2 * AYAK_CIFTI.

BOYAYAK_CIFTI (hesaplanan)HAM-0049
10816 ADET (2 * AYAK_CIFTI = 16)
12,51020 ADET

Hesaplanan değer emrin yapılandırma metninde de görünür (Ayak Çifti Sayısı: 10). Sık hata: Satışta hesaplanan özelliğe elle değer vermek: 'Ayak Çifti Sayısı' değeri kuraldan hesaplanır (8); farklı değer verilemez.

Örnek 9 — Ön koşullu ölçü ve seçenekle seçilen satır (pano kabini)​

İhtiyaç: Standart kabin stoktan gelen yarı mamul; özel ölçüde kabin sacı en × boy × 2 yüz × 15,7 kg/m². Özellikler: KABIN (Seçim: Standart (800x600) STD, Özel Ölçü (En x Boy) OZEL_OLCU); KABIN_EN, KABIN_BOY (Ondalık, m, zorunlu, ön koşul KABIN = OZEL_OLCU). Satırlar: YM-0001 Pano kabini — seçenek koşulu Kabin: Standart (800x600); HAM-0029 DKP sac 2 mm, KG, Bileşen firesi %5 — seçenek koşulu Kabin: Özel Ölçü (En x Boy), Miktar 0, formül KABIN_EN * KABIN_BOY * 2 * 15.7.

KabinEn × BoyYM-0001HAM-0029 (Dene)HAM-0029 (emirde)
Standartsorulmaz1 ADETGelmez—
Özel Ölçü1,2 × 1,6Gelmez60,288 KG63,303 KG (fire %5, yukarı)
Özel ÖlçügirilmediGelmezHataSatış satırı kaydedilmez

Son satırda pencere iki uyarı verir: Satış satırı bu değerlerle kaydedilemez: 'Kabin Eni' özelliğinin değeri girilmemiş. ve 2. satırın miktar formülü bilinmiyor — okuduğu değerlerden biri konfigürasyonda yok (KABIN_EN * KABIN_BOY * 2 * 15.7).

Örnek 10 — Sabit + özelliğe bağlı adet (klemens)​

İhtiyaç: Her çıkışa 4 klemens, toprak için 2 fazla. Özellik: CIKIS_SAYISI (Tam Sayı, 1–24). Satır: HAM-0014 Klemens, ADET, Miktar 2, formül 4 * CIKIS_SAYISI.

CIKIS_SAYISISonuç
418 ADET
626 ADET
1458 ADET
2082 ADET

Aynı sonuç Özellik × katsayı kipiyle de alınır: özellik Çıkış Sayısı, katsayı 4, Miktar 2.

Örnek 11 — Basamaklı miktar (kablo)​

İhtiyaç: İlk 6 çıkışa çıkış başı 3 m, sonrakilere 2 m kablo. Satır: HAM-0024 Kablo NYAF 2,5 mm², M, Miktar 0, formül EGER(CIKIS_SAYISI <= 6, 3 * CIKIS_SAYISI, 18 + 2 * (CIKIS_SAYISI - 6)).

CIKIS_SAYISISonuç
412 M
618 M
1434 M
2046 M

Üç basamak için EGER iç içe yazılır: EGER(X <= 6, …, EGER(X <= 12, …, …)).

Örnek 12 — Sorulmayan özelliği koruyan EGER (DIN ray)​

İhtiyaç: Standart kabinde 1,2 m ray; özel ölçüde en × 2, yarım metreye yukarı. Satır: HAM-0021 DIN ray, M, Miktar 0, formül EGER(KABIN = 'STD', 1.2, YUKARIYUVARLA(KABIN_EN * 2, 0.5)).

KabinKABIN_ENSonuç
Standartsorulmaz1,2 M
Özel Ölçü1,22,5 M (2,4 → 2,5)

EGER yalnız seçilen dalı hesaplar: standart kabinde KABIN_EN bilinmediği hâlde hata çıkmaz. Sık hata: YUKARIYUVARLA(KABIN_EN * 2, 0.5) tek başına — standart kabinde bilinmiyor olur, emir açılmaz.

Örnek 13 — VEYA ve tümleyeni DEĞİL (PLC ya da röle modülü)​

İhtiyaç: Profesyonel seride ya da 12'den fazla çıkışta PLC modülü, öteki durumlarda röle modülü. Satırlar: YM-0009 PLC modülü — SALT_SERISI = 'PRO' VEYA CIKIS_SAYISI > 12; YM-0008 Röle modülü — DEĞİL (SALT_SERISI = 'PRO' VEYA CIKIS_SAYISI > 12).

Şalt SerisiCIKIS_SAYISIYM-0009YM-0008
Ekonomik6Gelmez1 ADET
Ekonomik141 ADETGelmez
Profesyonel41 ADETGelmez

Tümleyeni DEĞİL ( … ) ile yazmak iki satırın hiçbir değerde çakışmamasını ve boş kalmamasını garanti eder. Sık hata: Parantezsiz DEĞİL SALT_SERISI = 'PRO' VEYA CIKIS_SAYISI > 12 — DEĞİL yalnız ilk karşılaştırmaya uygulanır.

Örnek 14 — VE'nin kısa devresi (pano fanı)​

İhtiyaç: 1,5 m²'den büyük özel kabine fan. Satır: HAM-0019 Pano fanı — KABIN = 'OZEL_OLCU' VE KABIN_EN * KABIN_BOY > 1.5.

KabinEn × BoySonuç
StandartsorulmazGelmez — koşul Hayır (ölçü bilinmese de)
Özel Ölçü1,2 × 1,6 = 1,921 ADET

HAYIR VE ? Hayır verir; bu yüzden standart kabinde "değer girilmedi" yerine düz "Hayır" görünür.

Örnek 15 — Özellik × katsayı kipi (sigorta)​

İhtiyaç: Her çıkışa bir sigorta. Satır: HAM-0008 Sigorta otomat C10, ADET, Miktar 0, kip Özellik × katsayı: özellik Çıkış Sayısı, katsayı 1.

CIKIS_SAYISISonuç (Dene'deki hesap)
66 ADET (1 × Çıkış Sayısı (6) = 6)
1414 ADET

İfade kipinde 1 * CIKIS_SAYISI aynı sonucu verir. Özellik × katsayı kipinde katsayı sıfırdan büyük olmalı (Formül katsayısı sıfırdan büyük olmalıdır.); kip ve ifade birlikte kullanılamaz (Miktar ya özellik × katsayı ya da ifadeli formülle hesaplanır — ikisi birden olmaz.).

Örnek 16 — Alt sınırlı miktar (bara)​

İhtiyaç: Profesyonel seride çıkış başı 5 cm bara, en az 0,6 m. Satır: HAM-0020 Bakır bara, M — seçenek koşulu Şalt Serisi: Profesyonel, Miktar 0, formül MAX(0.6, CIKIS_SAYISI * 0.05).

Şalt SerisiCIKIS_SAYISISonuç
Profesyonel40,6 M
Profesyonel201 M
Ekonomik14Gelmez

Üst sınır için MIN(üst, …), ikisi birden için MIN(üst, MAX(alt, …)).

Örnek 17 — Parti miktarına oranlı reçete (kimya)​

İhtiyaç: Bir parti (1 ADET) kaç kg üretilecekse hammadde o orana göre; tuz bir ondalığa yuvarlansın. Özellik: PARTI_KG (Ondalık, kg, 100–2000, 50 adım). Satırlar: HAM-0070 SLES — PARTI_KG * 0.12; HAM-0071 Tuz — YUVARLA(PARTI_KG * 0.015, 1); HAM-0075 Saf su — PARTI_KG * 0.865 (hepsinde Miktar 0).

PARTI_KGSLESTuzSu
50060 KG7,5 KG432,5 KG
1250150 KG18,8 KG (18,75 → 18,8)1081,25 KG
Oranlı ölçekleme için formül şart değil

Yalnız orantılı büyüyen reçetede ağacın Temel Miktar'ını partiye (ör. 1000 KG) ve emir miktarını üretilecek kg'a göre girin; her satır emir miktarıyla kendiliğinden ölçeklenir. Formül orantısız kısım için gerekir: yuvarlanan ambalaj adedi, seçeneğe bağlı katkı.

Örnek 18 — Ambalaj adedi ve koli (paketleme)​

İhtiyaç: 5 L bidon (5,2 kg dolum) ya da 1 L şişe (1,04 kg); bidonlar 4'lü, şişeler 12'li koliye. Özellik: AMBALAJ (Seçim: 5 L bidon B5L, 1 L şişe S1L). Satırlar (hepsi Miktar 0):

SatırSeçenek koşuluFormül
AMB-0001 Bidon 5 LTAmbalaj: 5 L bidonTAVAN(PARTI_KG / 5.2)
AMB-0004 Bidon kapağıAmbalaj: 5 L bidonTAVAN(PARTI_KG / 5.2)
AMB-0007 Koli 4'lüAmbalaj: 5 L bidonTAVAN(TAVAN(PARTI_KG / 5.2) / 4)
AMB-0002 Şişe 1 LTAmbalaj: 1 L şişeTAVAN(PARTI_KG / 1.04)
AMB-0008 Koli 12'liAmbalaj: 1 L şişeTAVAN(TAVAN(PARTI_KG / 1.04) / 12)
PARTI_KGAmbalajBidonKapakKoli 4'lüŞişeKoli 12'li
5005 L bidon979725GelmezGelmez
12501 L şişeGelmezGelmezGelmez1202101

Sık hata: Koli adedini TAVAN(PARTI_KG / 5.2 / 4) yazmak — önce bidonu tam sayıya yuvarlamadan koliye bölmek eksik koli verebilir. İç içe TAVAN kullanın.

Örnek 19 — Seçeneğe bağlı katkı (parfüm)​

Satır: HAM-0072 Parfüm, KG, Miktar 0, ifadeli koşul PARFUM = EVET, formül PARTI_KG * 0.003.

PARTI_KGPARFUMSonuç
1250Evet3,75 KG
500girilmediGelmez — koşulun okuduğu değer girilmedi: PARFUM = EVET

Örnek 20 — Ölçüye göre panel alanı ve renk (dolap)​

İhtiyaç: Gövde: iki yan (yükseklik × 60 cm derinlik), üst, alt ve her 40 cm'de bir raf (genişlik × 60 cm); renk panel kartını seçer. %10 kesim firesi. Özellikler: GEN_CM, YUK_CM (Tam Sayı, cm), RENK (Seçim), KAPAK (Seçim). Satırlar: HAM-0038 / HAM-0039 / HAM-0040 Melamin sunta Beyaz / Ceviz / Antrasit, M2, Bileşen firesi %10 — seçenek koşulu Renk: Beyaz / Ceviz / Antrasit, Miktar 0, formül (2 * YUK_CM * 60 + (TABAN(YUK_CM / 40) + 1) * GEN_CM * 60) / 10000.

Genişlik × YükseklikRenkGelen satırSonuç
120 × 200CevizHAM-00396,72 M2
180 × 160BeyazHAM-00387,32 M2

cm² → m² için / 10000. Arka panel (HAM-0041 MDF) GEN_CM * YUK_CM / 10000: 120 × 200 → 2,4 M2.

Örnek 21 — Kapak sayısı ve yüksekliğe göre menteşe (dolap)​

Satırlar: HAM-0045 Menteşe — seçenek koşulu Kapak Tipi: Menteşeli, formül EGER(YUK_CM > 180, 4, 3) * TAVAN(GEN_CM / 60); HAM-0046 Kulp — koşulsuz, formül EGER(KAPAK = 'SURGULU', 2, TAVAN(GEN_CM / 60)); HAM-0033 Profil (sürgü rayı) — Kapak Tipi: Sürgülü, formül 2 * GEN_CM / 100; HAM-0049 Ayar ayağı — EGER(GEN_CM > 120, 6, 4).

Genişlik × YükseklikKapakMenteşeKulpRayAyak
120 × 200Menteşeli82Gelmez4
180 × 160SürgülüGelmez23,6 M6

Örnek 22 — Yalnız seçenek koşullu ağaç (ofis masası, MAM-0003)​

Formül gerekmeyen, her bileşimin miktarı sabit olan ürün: panel kartı Renk × Masa Genişliği bileşiminden seçilir (dokuz satır, her biri iki özellikte birer değer), kenar bandı yalnız rengi okur.

Masa GenişliğiRenkKablo KanalıGelen panelBantKanal
140 cmBeyazVarHAM-0038 1,47 M2 (Renk Beyaz, Masa Genişliği 140 cm)HAM-0042 6 MHAM-0048 1 ADET

Örnek 23 — Aynı kart, birbirini dışlayan iki satır (tank, MAM-0006)​

HAM-0031 3 mm sac iki satırda: Tank Hacmi: 2.000 L → 290 KG, Tank Hacmi: 5.000 L → 560 KG. Koşullar aynı özellikte kesişmediği için izinli. HAM-0034 boru tek satırda 1.000 L / 2.000 L (VEYA) → 4 M.

Tank HacmiKarıştırıcıHAM-0031HAM-0034HAM-0059 / HAM-0060
2.000 LVar290 KG4 M1 / 1 ADET

Örnek 24 — Süper rota: süre ve operasyon seçimi (konveyör)​

DMO-KSL-01'in rotası; BOY 12,5, Bant Tipi PVC, Koruma Evet ile açılan UE-2026-000009 emrindeki süreler:

Op.OperasyonKuralEmirdeki süre
10Profil kesimMakine formülü 2 * BOY * 0.8 (hazırlık 10, işçilik 5 sabit)Makine 20 dk
20Şase ve makara montajıİşçilik formülü 30 + 6 * BOY105 dk
30Bant montajı ve gerdirmeİşçilik formülü EGER(BANT_TIPI = 'PU', 40, 25) + 2 * BOY50 dk
40Koruma kapağı montajıSeçim koşulu KORUMA = EVET, işçilik 3 * BOY37,5 dk
50Motor bağlantısıSabit 3030 dk
60Çalışma testiİşçilik EGER(BOY > 10, 30, 20)30 dk

Pano rotasında (DMO-KSL-02) KABIN = 'OZEL_OLCU' ile gelen kabin imalatının işçiliği 60 + 40 * KABIN_EN * KABIN_BOY → 1,2 × 1,6 m'de 136,8 dk; 20 + 8 * CIKIS_SAYISI → 14 çıkışta 132 dk; SALT_SERISI = 'PRO' VEYA CIKIS_SAYISI > 12 ile PLC programlama operasyonu gelir (UE-2026-000010).

Örnek 25 — Kısıt (izin verilmeyen bileşim)​

İhtiyaç: PU gıda bandı en çok 20 m üretilir. Kural: Sınır koy, ifade BANT_TIPI <> 'PU' VEYA BOY <= 20, ileti PU gıda bandı en çok 20 m boyda üretilir.

Bant TipiBOYSonuç
PU24Satış satırı kaydedilmez — PU gıda bandı en çok 20 m boyda üretilir.
PU12,5Geçer
PVC24Geçer

Aralık dışı değer kısıt gerektirmez; özelliğin En az / En çok / Adım alanları denetler: 'Boy' değeri izinli aralıkta değil (2–30 m, 0,5 m adım). (BOY 31 ya da 6,3).

Kural yazarken kontrol listesi​

  1. Satırın gelip gelmeyeceğini koşulla, miktarını formülle yazın; ikisini EGER(…, …, 0) içinde birleştirmeyin.
  2. Formüllü satırda Miktar alanını bilinçli doldurun (çoğu zaman 0).
  3. Seçenek kodunu tek tırnakla, Evet/Hayır'ı tırnaksız yazın; ondalığı nokta ile.
  4. İsteğe bağlı ve ön koşullu özellikleri okuyan kuralı "değer yoksa" durumuna göre kurun (DOLU, EGER).
  5. Sınırları kapsayıcı yazın: bir taraf <=, öteki >; tümleyen için DEĞİL ( … ).
  6. Aynı kart iki satırda gerekiyorsa koşulları seçenekle birbirini dışlayacak biçimde kurun; ifadeli koşul yetmez.
  7. Kaydetmeden önce Sına, kaydettikten sonra Yapılandırarak Dene ile uç değerleri deneyin (en küçük, en büyük, sınırın iki yanı, isteğe bağlı alan boş).

İlgili​