Přidání aritmetických a logických operátorů do pravidel pomocí nástroje Microsoft Rules Composer (Preview)
Platí pro: Azure Logic Apps (Standard)
Důležité
Tato funkce je ve verzi Preview a podléhá dodatečným podmínkám použití pro microsoft Azure Preview.
Tato příručka popisuje, jak přidat aritmetické a logické operátory do pravidel v sadě pravidel pomocí nástroje Microsoft Rules Composer.
Požadavky
Stáhněte a nainstalujte nástroj Microsoft Rules Composer.
Soubor XML, který obsahuje sadu pravidel, na které chcete pracovat.
Přidání aritmetického operátoru do pravidla
K podmínce nebo akci v pravidle můžete přidat aritmetický operátor. Následující tabulka popisuje dostupné aritmetické operátory:
Aritmetický operátor | Popis |
---|---|
Přidat | Operátor sčítání, který přidá arg1 do arg2. |
Subtract | Operátor odčítání, který odečte arg1 od arg2. |
Násobit | Operátor násobení, který vynásobí arg1 arg2. |
Rozdělit | Operátor dělení, který vydělí arg1 arg2. |
Zbytek | Zbývající operátor, který provádí arg1 modulo arg2. |
V nástroji Microsoft Rules Composer načtěte soubor XML, který obsahuje úložiště pravidel, na které chcete pracovat.
V okně Průzkumníka sady pravidel vyhledejte a vyberte požadované pravidlo.
V okně Průzkumník fakta vyberte kartu Slovníky.
V části Funkce>slovníků>verze 1.0 přetáhněte aritmetický operátor, který chcete použít v podmínce v editoru podmínek nebo akci v editoru akcí.
V podmínce nebo argumentech akce zadejte hodnoty pro operandy vlevo a vpravo.
Pokud operandy mají různé typy, modul pravidel provede automatické číselné povýšení, kde modul převede menší typ operandu na větší typ operandu.
Předpokládejme například, že použijete operátor Add na operandu, který má typ int , a operand, který má dlouhý typ. Než modul provede operaci Přidat , modul převede typ int na dlouhý typ.
Pokud může modul zvýšit úroveň obou operandů na běžný typ, podporuje modul dvojité povýšení.
Předpokládejme například, že použijete operátor Add na operandu, který má typ int , a operand, který má typ uint . Než modul provede operaci Přidat , modul převede oba typy operandů na dlouhý typ.
Přidání logického operátoru do pravidla
Logický operátor můžete přidat do predikátu v podmínce. Následující tabulka popisuje dostupné logické operátory:
Logický operátor | Popis |
---|---|
A | Zkombinujte dva nebo více predikátů a vytvořte logický výraz AND . Vrátí hodnotu true , pokud se oba predikáty vyhodnotí jako true. V opačném případě vrátí hodnotu false. |
NEBO | Zkombinujte dva nebo více predikátů a vytvořte logický výraz OR . Vrátí hodnotu true , pokud se jeden predikát vyhodnotí jako true. V opačném případě vrátí hodnotu false. |
NE | Neguje logický výraz nebo predikát. Vrátí hodnotu true , pokud se predikát vyhodnotí jako false. V opačném případě vrátí hodnotu false. |
V nástroji Microsoft Rules Composer načtěte soubor XML, který obsahuje úložiště pravidel, na které chcete pracovat.
V okně Průzkumníka sady pravidel vyhledejte a vyberte požadované pravidlo.
V podokně KDYŽ, což je editor podmínek, v místní nabídce Podmínky vyberte jeden z následujících příkazů:
Logický operátor Popis Přidání logické funkce AND Zkombinujte dva nebo více predikátů a vytvořte logický výraz AND . Přidání logického or Zkombinujte dva nebo více predikátů a vytvořte logický výraz OR . Přidat logickou NOT Neguje logický výraz nebo predikát. V editoru podmínek otevřete místní nabídku operátora a přidejte požadované predikáty nebo vnořené logické operátory.
Pokud mají operandy různé typy, modul pravidel převede typ jednoho operandu tak, aby odpovídal typu druhého operandu, nebo převede typy obou operandů na společný typ před vyhodnocením výrazu.
Zpracování hodnot null
Následující část popisuje očekávané chování hodnot null přidružených k různým typům a poskytuje možnosti kontroly hodnoty null nebo existence konkrétního pole nebo člena.
Třídy .NET
U typů odvozených z typu Objekt můžete jejich pole nastavit na hodnotu null.
Jako argument pro parametry, které nejsou typy hodnot, můžete předat hodnotu null, ale na základě implementace člena se může zobrazit chyba za běhu.
Hodnotu null nelze použít pro porovnání, pokud návratový typ není typem objektu .
Elementy XML
Dokument XML nikdy nevrací hodnotu XML jako hodnotu null. Místo toho je tato hodnota prázdný řetězec nebo chyba "neexistuje". U prázdného řetězce může dojít k chybě při převodu určitých typů, například polí zadaných jako celočíselného typu při vytváření pravidla.
Nástroj Microsoft Rules Composer neumožňuje nastavit pole na hodnotu null nebo nastavit typ pole na Objekt.
Prostřednictvím objektového modelu můžete typ nastavit na Object. V tomto případě má vrácená hodnota typ, na který se XPath vyhodnotí, například Float, Boolean nebo String, na základě výrazu XPath.
Kontrola hodnoty null nebo existence
Při psaní pravidel samozřejmě chcete zkontrolovat, jestli pole existuje, než porovnáte jeho hodnotu. Pokud je ale pole null nebo neexistuje, při porovnávání hodnoty dojde k chybě.
Předpokládejme například, že máte následující pravidlo:
IF Product/Quantity Exists AND Product/Quantity > 1
Pokud produkt nebo množství neexistuje, pravidlo vyvolá chybu. Chcete-li tento problém obejít, můžete předat nadřazený uzel pomocné metodě, která vrátí hodnotu Product/Quantity , pokud daný prvek existuje, nebo vrátit něco jiného, pokud tento prvek neexistuje.
Následující příklad ukazuje aktualizované a nové pravidlo pomocné metody:
Pravidlo 1
IF Exists(Product/Quantity) THEN Assert(CreateObject(typeof(Helper), Product/Quantity))
Pravidlo 2
IF Helper.Value == X THEN...
Jako jiné možné řešení můžete vytvořit pravidlo, jako je například následující příklad:
IF Product/Quantity Exists THEN CheckQuantityAndDoSomething(Product/Quantity)
V předchozím příkladu funkce zkontroluje <CheckQuantityAndDoSomething>
hodnotu parametru a provede, pokud je splněna podmínka.
Poznámka:
Případně můžete upravit vlastnost pole XPath pro fakt XML tak, aby zachytila případné chyby, ale tento přístup se nedoporučuje.