Ürün yapılandırma modellerindeki ifade kısıtlamaları ve tablo kısıtlamaları
Bu makalede ifade kısıtlamalarının ve tablo kısıtlamalarının kullanımı açıklanmaktadır. Kısıtlamalar ürünleri satış siparişi, satış teklifi, satınalma siparişi veya üretim emri için yapılandırdığınızda, seçebileceğiniz öznitelik değerlerini denetler. Kısıtlamaları nasıl oluşturmayı tercih ettiğinizde bağlı olarak ifade kısıtlamalarını veya tablo kısıtlamalarını kullanabilirsiniz.
Kısıtlamalar ürünleri satış siparişi, satış teklifi, satınalma siparişi veya üretim emri için yapılandırdığınızda, seçebileceğiniz öznitelik değerlerini denetlemek için kullanılır. Kısıtlamaları nasıl oluşturmayı tercih ettiğinizde bağlı olarak ifade kısıtlamalarını veya tablo kısıtlamalarını kullanabilirsiniz.
İfade kısıtlamaları nelerdir?
İfade kısıtlamaları, aritmetik ve Boole işleçlerini ve işlevlerini kullanan bir ifade tarafından belirlenir. Bir ifade kısıtlaması, ürün yapılandırma modelinde belirli bir bileşen için yazılır. Başka bir bileşen tarafından yeniden kullanılamaz veya bir başka bileşenle paylaşılamaz. Ancak, bir bileşen için ifade kısıtlamaları, bileşenin alt bileşenlerinin özniteliklerini referans gösterebilir.
Tablo kısıtlamaları nelerdir?
Tablo kısıtlamaları, bir ürün yapılandırdığınızda öznitelikler için izin verilen değerlerin birleşimlerini listeler. Tablo kısıtlaması tanımları genel olarak kullanılabilir. Ürün yapılandırma modelinde bir bileşen için bir tablo kısıtlaması oluşturduğunuzda, tablo kısıtlaması tanımı seçersiniz. İzin verilen birleşimleri oluşturmak için belirli türdeki öznitelikleri bileşenlere eklersiniz. Her öznitelik türü belirli bir değere sahiptir.
Bir tablo kısıtlaması örneği.
Bu örnek, hoparlör yapılandırmasını belirli bir kabin rengi ve ön cephesiyle nasıl sınırlandırabileceğinizi gösterir. İlk tablo, yapılandırma için genelde kullanılabilir olan kabin rengini ve ön cepheyi gösterir. Değerler Kabin rengi ve Izgara rengi öznitelik türleri için tanımlanır.
Öznitelik türü | Değerler |
---|---|
Kabin rengi | Siyah, Meşe, Pelesenk, Beyaz, |
Izgara rengi | Siyah, Metal, Beyaz |
Sonraki tablo, Renk ve kaplama tablo kısıtlamasıyla tanımlanan birleşimlerini gösterir. Bu tablo kısıtlamasını kullanarak bir hoparlörü meşe kaplamalı ve siyah ızgaralı, pelesenk kaplamalı ve beyaz ızgaralı ve benzeri şekilde yapılandırabilirsiniz.
Son | Izgara |
---|---|
Meşe | Siyah |
Venge | Beyaz |
Beyaz | Siyah |
Beyaz | Beyaz |
Siyah | Siyah |
Siyah | Metal |
Sistem tanımlı ve kullanıcı tanımlı tablo kısıtlamaları oluşturabilirsiniz. Daha fazla bilgi için, Sistem tanımlı ve kullanıcı tanımlı tablo kısıtlamaları bölümüne bakın.
Kısıtlamaları yazmak için hangi sözdizimi kullanılmalıdır?
Kısıtlamaları yazarken En İyi Duruma Getirme Modelleme Dili (OML) sözdizimini kullanmalısınız. Sistem, kısıtlamaları çözümlemek için Microsoft Solver Foundation kısıtlama çözücüsünü kullanır.
Tablo kısıtlamaları veya ifade kısıtlamaları kullanmam gerekir mi?
Kısıtlamaları nasıl oluşturmayı tercih ettiğinizde bağlı olarak ifade kısıtlamalarını ya da tablo kısıtlamalarını kullanabilirsiniz. İfade kısıtlaması tek bir ifade olduğunda bir matris olarak tablo kısıtlaması oluşturursunuz. Bir ürünü yapılandırdığınızda, ne tür bir kısıtlama kullanıldığının önemi yoktur. Aşağıdaki örnekte iki yöntem arasındaki fark gösterilir.
Bir ürünü aşağıdaki kısıtlama ayarlarını kullanarak yapılandırdığınızda bu kombinasyonlara izin verilir:
- Siyah renkte ve boyutu 30 veya 50 olan bir ürün
- Kırmızı renkte ve boyutu 20 olan bir ürün
Tablo kısıtlaması ayarı
Renk | Ebat |
---|---|
Siyah | 30 |
Siyah | 50 |
Kırmızı | 20 |
İfade kısıtlaması ayarı
(Renk == "Siyah" & (boyut == "30" | boyut == "50")) | (renk == "Kırmızı" & boyut = "20")
İfade kısıtlamaları yazarken bir işleç ya da parantezli yazım kullanmam gerekir mi?
Önek operatörleri ya da parantezli yazım kullanarak bir ifade kısıtlaması yazabilirsiniz. Min, Mak ve Mutlak işleçleri için parantezli yazım kullanamazsınız. Bu işleçler, çoğu programlama dilinde standart işleçler olarak dahil edilir.
İfade kısıtlamaları yazarken hangi işleçleri ve parantezli yazımı kullanabilirim?
Aşağıdaki tablolarda, ürün yapılandırma modelinde bir bileşen için bir ifade kısıtlaması yazarken kullanabileceğiniz işleçler ve parantezli yazım listelenmiştir. İlk tablodaki örnekler parantezli yazım ya da işleçler kullanılarak bir ifadenin nasıl yazılacağını gösterir.
İşleç | Açıklama | Sözdizimi | Örnekler |
---|---|---|---|
Gösterir | Bir koşul doğruysa, sınırlama b'yi uygulayın. | Implies[a, b], infix: a -: b |
|
Ve | Koşulların tümü doğru ise bu doğrudur. Koşulların sayısı 0 (sıfır) ise, Doğru değeri çıkar. | And[args], infix: a & b & ... & z |
|
Veya | Herhangi bir koşul doğru ise bu doğrudur. Koşulların sayısı 0 (sıfır) ise, Yanlış değeri çıkar. | Or[args], infix: a | b | ... | z |
|
Artı | Bu, koşullarını toplar. Koşulların sayısı 0 (sıfır) ise, 0 değeri çıkar. | Plus[args], infix: a + b + ... + z |
|
Eksi | Bu, çıkarımı negatif hale getirir. Tek bir koşula sahip olması gerekir. | Minus[expr], infix: -expr |
|
Abs | Bu, koşulunun mutlak değerini alır. Tek bir koşula sahip olması gerekir. | Abs[expr] | İşleç: Abs[x] |
Zaman | Bu, koşullarının ürününü alır. Koşulların sayısı 0 (sıfır) ise, 1 değeri çıkar. | Times[args], infix: a * b * ... * z |
|
Güç | Vu, üslü değer alır. Kuvveti sağdan sola uygular. (Diğer bir deyişle sağ ile ilişkilidir) Bu nedenle, Power[a, b, c], Power[a, Power[b, c]] ile eşdeğerdir. Power, üs yalnızca pozitif bir sabit sayı ise kullanılabilir. | Power[args], infix: a ^ b ^ ... ^ z |
|
Maks | Bu, en büyük koşulu oluşturur. Koşulların sayısı 0 (sıfır) ise, Sonsuzluk üretir. | Max[args] | İşleç: Max[x, y, 2] == z |
Minimum | Bu, en küçük koşulu oluşturur. Koşulların sayısı 0 (sıfır) ise, Sonsuzluk üretir. | Min[args] | İşleç: Min[x, y, 2] == z |
Not | Bu, koşulunun mantıksal tersini oluşturur. Tek bir koşula sahip olması gerekir. | Not[expr], infix: !expr |
|
Sonraki tablodaki örnekler parantezli yazımın nasıl yazılacağını gösterir.
Parantezli yazım | Açıklama |
---|---|
x + y + z | Ekleme |
x * y * z | Çarpma |
x - y | İkili çıkarma, negatife düşmüş bir ikinci varsa ikili toplama ile aynı şekilde çevrilir. |
x ^ y ^ z | Sağa birleşimli üs |
!x | Boole değil |
x -: y | Boole çıkarım |
x | y |
x & y & z | Boole ve |
x == y == z | Denklik |
x != y != z | Benzersiz |
x < y < z | Küçüktür |
x > y > z | Büyüktür |
x <= y <= z | Küçüktür veya eşittir |
x >= y >= z | Büyüktür veya eşittir |
(x) | Parantezler varsayılan önceliği geçersiz kılar. |
İfade kısıtlamalarım neden hatasız doğrulanmıyor?
Ayrılmış anahtar sözcükleri, öznitelikleri, bileşenleri veya ürün yapılandırma modelinde alt bileşenleri için çözücü ad olarak kullanamazsınız. Ayrılmış anahtar sözcüklerin bir listesi aşağıdadır:
- Üst
- Öğe
- Eşit
- Kat
- Eğer
- Küçüktür
- Büyüktür
- Gösterir
- Hata İletileri
- Maks.
- Min.
- Eksi
- Artı
- Güç
- Zamanlar
- Aralık
- Model
- Karar
- Hedef
Ek kaynaklar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin