Vytvoření počítaného pole pro automatizaci ručních výpočtů

Toto téma se vztahuje na Dynamics 365 Customer Engagement (on-premises). Verzi Power Apps tohoto tématu naleznete na: Definování počítaných polí pro automatizaci ručních výpočtů

Vypočítaná pole umožňují automatizovat ruční výpočty používané v obchodních procesech. Prodejce může například chtít znát vážený výnos u příležitosti, který je založen na odhadovaném výnosu z příležitostí vynásobeném pravděpodobností. Nebo chce automaticky aplikovat slevu, jestliže objednávka je větší než 10 000 Kč. Počítané pole může obsahovat hodnoty vyplývající z mnoha jednoduchých matematických operátorů a podmíněných operací, jako například větší než nebo if-else (pokud-pak) a mnoha dalších. To vše lze provést pomocí funkce vypočítaných polí, nemusíte psát kód.

Funkce počítaných polí:

  • Počítaná pole obsahují výpočty, které používají pole z aktuální entity nebo souvisejících nadřazených entit.

  • U aktuální entity a souvisejících polí nadřazené entity je k dispozici podpora výrazu v částech Podmínka a Akce. Mezi vestavěné funkce patří:

    ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ADDYEARS, SUBTRACTHOURS, SUBTRACTDAYS, SUBTRACTWEEKS, SUBTRACTMONTHS, SUBTRACTYEARS, DIFFINDAYS, DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINYEARS, CONCAT, TRIMLEFT a TRIMRIGHT.

  • Bohatá podpora podmínek poskytuje větvení a více podmínek. Mezi logické operace patří operátory AND a OR.

  • Funkce pro vizuální úpravy zahrnují moderní uživatelské rozhraní a technologii IntelliSense v části AKCE.

  • Bezproblémová integrace počítaných polí ve formulářích, zobrazeních, grafech a sestavách je k dispozici v reálném čase.

  • Pokud jste aktualizovali organizaci Online na aktualizaci Dynamics 365 (online) z prosince 2016, můžete konfigurovat počítaná pole pro použití vlastních ovládacích prvků.

Několik příkladů počítaných polí

  • Vážené výnosy: Odhadované výnosy vynásobené pravděpodobností

  • Čistá hodnota: Aktiva odečtena podle závazků pro daný obchodní vztah

  • Náklady práce: Základní sazba až 40 hodin, plus další přesčas

  • Kontaktní číslo: Telefonní číslo pro příležitost podle obchodního vztahu nebo kontaktu

  • Skóre zájemce: Jedno pole, které poskytuje přehled o kvalitě daného zájemce

  • Sledovat podle: Reakce na aktivitu podle zadaného počtu dnů na základě priority

Důležité

Chcete-li vytvořit počítané pole, musíte mít oprávnění k zápisu u entity Profil zabezpečení polí. Pokud počítané pole používá zabezpečených polí při výpočtu, měli byste zvážit také zabezpečení počítaného pole, chcete-li uživatelům zabránit v přístupu k datům, pro která nemají dostatečná oprávnění. Editor počítaných polí poskytuje upozornění při vytváření počítaného pole, které používá zabezpečená pole při výpočtu, a navrhuje zabezpečení počítaného pole. Další informace: Zabezpečení na úrovni polí.

Příklady počítaných polí

Podívejme se příklady počítaných polí podrobněji. Budeme definovat počítaná pole pomocí Editoru pole. Chcete-li otevřít Editor pole:

  1. Otevřete Průzkumníka řešení.

  2. Rozbalte položku Součásti>Entity.

  3. Vyberte požadovanou entitu a zvolte Pole. Zvolte Nová.

    V editoru zadejte požadované informace pro pole, včetně položek Typ pole a Datový typ. Typ pole je Počítané. Dostupné datové typy pro počítané pole:

  • Jeden řádek textu

  • Sada možností

  • Dvě možnosti

  • Celé číslo

  • Desetinné číslo

  • Měna

  • Datum a čas

    Pomocí tlačítka Upravit vedle položky Typ pole přejdete do editoru definice počítaného pole, kde bylo vytvořeno nové počítané pole, ale nebyl nastaven žádný vzorec. Definice počítaného pole se skládá ze dvou částí: PODMÍNKA a AKCE.

  • V části Podmínka můžete určit entity, pole, operátor, typ a hodnotu. V rozevíracím seznamu pro položku Entita můžete zvolit aktuální entitu nebo související entitu. V rozevíracím seznamu Pole máte na výběr všechna dostupná pole pro entitu. V závislosti na operátoru, který zvolíte, je třeba zadat typ a hodnotu. Můžete zadat více podmínek pomocí operátorů AND nebo OR.

  • V části Akce zadejte vzorec pro počítané pole.

Poznámka:

V rámci akce můžete použít data z vyhledávání záznamů. Nejprve musíte vybrat vyhledávací pole a potom zadejte tečku. Poté vyberte jedno z polí, které jsou k dispozici u související entity. Například u <LookupFieldName>.<RelatedFieldName> můžete vybrat: ParentAccountId.AccountNumber.

Všimněte si, že zabezpečení na úrovni pole bude u související entity ignorováno, takže pokud se v poli, ke kterému přistupujete, nacházejí citlivá data, doporučujeme zabezpečit i počítané pole.

Vážený výnos příležitosti

V tomto příkladu používáme pole entity příležitost k výpočtu vážených výnosů podle pravděpodobnosti příležitosti. V editoru pole pro entitu příležitost můžeme vytvořit pole s názvem „Vážené výnosy“ a zadat typ pole jako Počítané a typ dat Měna. V editoru definice pro počítané pole v části Podmínka můžeme určit příležitost s hodnotou Stav = Otevřená. V části AKCE vzorec vypočte vážené výnosy podle odhadovaných výnosů příležitosti vynásobených pravděpodobností příležitosti. Následující snímek obrazovky znázorňuje podrobné definování počítaného pole Vážené výnosy.

Vytvořte počítané pole nazvané „Vážené výnosy“:

Vážený výnos příležitosti v aplikaci Dynamics 365 for Customer Engagement.

Nastavte podmínku o příležitostech:

Nastavení vážených výnosů v aplikaci Dynamics 365 for Customer Engagement.

Zadejte vzorec pro vážené výnosy:

Nastavení odhadované hodnoty vážených výnosů v aplikaci Dynamics 365 for Customer Engagement.

Souhrnně:

Vážený výnos na odhadovaný výnos v aplikaci Dynamics 365 for Customer Engagement.

Datum zpracování příležitosti

V tomto příkladu používáme pole prvotního zájemce o příležitosti k výpočtu příslušného data zpracování příležitosti. V editoru pole pro entitu příležitost můžeme vytvořit pole s názvem „Datum zpracování“ a zadat typ pole jako Počítané a typ dat Datum a čas. V editoru definice počítaného pole v části Podmínka můžeme určit dvě podmínky: časový rámec nákupu a předpokládanou hodnotu zájemce. V AKCI nabízíme dva vzorce, jeden pro zpracování bezprostřední příležitosti během jednoho týdne, druhý pro zpracování během jednoho měsíce, pokud není pravděpodobné, že příležitost nastane ihned. Následující snímek obrazovky znázorňuje podrobné definování počítaného pole Datum zpracování.

Vytvořte počítané pole nazvané „Datum zpracování“:

Vytvořte počítané pole nazvané Datum zpracování.

Na prvotního zájemce nastavte dvě podmínky:

Nastavení první podmínky pro vypočítané pole.

Nastavení druhé podmínky pro vypočítané pole.

Zadejte vzorec pro zpracování během jednoho týdne:

Zadejte vzorec pro vypočítané pole.

Zadejte vzorec pro zpracování během jednoho měsíce:

Zadejte druhý vzorec.

Souhrnně:

Nastavení podmínek If-Then a Else data zpracování v aplikaci Dynamics 365 for Customer Engagement.

Dnů od vytvoření záznamu

V tomto příkladu používáme funkci DIFFINDAYS pro výpočet rozdílu ve dnech od doby, kdy byl záznam vytvořen, do aktuálního data.

Vytvořte počítané pole nazvané „Vypočtený rozdíl ve dnech“:

Vytvoření počítaného pole v Dynamics 365 For Customer Engagement.

Zadejte vzorec pro výpočet rozdílu ve dnech

Počítané pole, funkce DIFFINDAYS.

Souhrnně:

Rozdíl ve dnech od vytvoření záznamu.

Syntaxe funkcí počítaného pole

Následující tabulka obsahuje informace o syntaxi funkcí poskytovaných v části AKCE počítaného pole.

Tip

Názvy funkcí jsou uvedeny velkými písmeny.

Syntaxe funkce Popis Návratový typ
ADDDAYS (celé číslo, datum a čas) Vrátí nové datum a čas, který odpovídá danému datu a čas plus určený počet dní. Datum a čas
ADDHOURS (celé číslo, datum a čas) Vrátí nové datum a čas, který odpovídá danému datu a čas plus určený počet hodin. Datum a čas
ADDMONTHS (celé číslo, datum a čas) Vrátí nové datum a čas, který odpovídá danému datu a čas plus určený počet měsíců. Datum a čas
ADDWEEKS (celé číslo, datum a čas) Vrátí nové datum a čas, který odpovídá danému datu a čas plus určený počet týdnů. Datum a čas
ADDYEARS (celé číslo, datum a čas) Vrátí nové datum a čas, který odpovídá danému datu a čas plus určený počet roků. Datum a čas
SUBTRACTDAYS (celé číslo, datum a čas) Vrátí nové datum a čas, který odpovídá danému datu a čas minus určený počet dní. Datum a čas
SUBTRACTHOURS (celé číslo, datum a čas) Vrátí nové datum a čas, který odpovídá danému datu a čas minus určený počet hodin. Datum a čas
SUBTRACTMONTHS (celé číslo, datum a čas) Vrátí nové datum a čas, který odpovídá danému datu a čas minus určený počet měsíců. Datum a čas
SUBTRACTWEEKS (celé číslo, datum a čas) Vrátí nové datum a čas, který odpovídá danému datu a čas minus určený počet týdnů. Datum a čas
SUBTRACTYEARS (celé číslo, datum a čas) Vrátí nové datum a čas, který odpovídá danému datu a čas minus určený počet roků. Datum a čas
DIFFINDAYS (datum a čas, datum a čas) Vrací rozdíl mezi dvěma poli Datum a čas ve dnech. Pokud obě data a oba časy spadají do stejného dne, rozdíl je nula. Celé číslo
DIFFINHOURS (datum a čas, datum a čas) Vrací rozdíl mezi dvěma poli Datum a čas v hodinách. Celé číslo
DIFFINMINUTES (datum a čas, datum a čas) Vrací rozdíl mezi dvěma poli Datum a čas v minutách. Celé číslo
DIFFINMONTHS (datum a čas, datum a čas) Vrací rozdíl mezi dvěma poli Datum a čas v měsících. Pokud obě data a oba časy spadají do stejného měsíce, rozdíl je nula. Celé číslo
DIFFINWEEKS (datum a čas, datum a čas) Vrací rozdíl mezi dvěma poli Datum a čas v týdnech. Pokud obě data a oba časy spadají do stejného týdne, rozdíl je nula. Celé číslo
DIFFINYEARS (datum a čas, datum a čas) Vrací rozdíl mezi dvěma poli Datum a čas v letech. Pokud obě data a oba časy spadají do stejného roku, rozdíl je nula. Celé číslo
CONCAT (jeden řádek textu, jeden řádek textu, … jeden řádek textu) Vrátí řetězec, který je výsledkem zřetězení dvou nebo více řetězců. String
TRIMLEFT (jeden řádek textu, celé číslo) Vrátí řetězec obsahující kopii zadaného řetězce bez prvních N znaků. String
TRIMRIGHT (jeden řádek textu, celé číslo) Vrátí řetězec obsahující kopii zadaného řetězce bez posledních N znaků. Řetězcové

Poznámka:

Všechny funkce DIFF vyžadují, aby první pole Datum a čas a druhé pole Datum a čas měly stejné chování: Místní čas uživatele, Pouze datum nebo Nezávislý na časovém pásmu. Pokud chování druhého pole neodpovídá chování prvního pole, zobrazí se chybová zpráva označující, že druhé pole nelze použít v aktuální funkci. Další informace: Chování a formát pole Datum a čas

Poznámka:

Datum – například 01/01/2015 – nelze zadat, protože hodnota Datum je vypočítané pole. Hodnoty polí Datum a Datum a čas lze pouze nastavit nebo porovnat pomocí jiných polí Datum a čas.

Ve funkci CONCAT můžete použít literály jako jediné řádky textu, pole entit, které obsahují jeden řádek textu, nebo kombinace obou. Příklad: CONCAT (jméno, příjmení, “je vedoucí.“). Pokud řetězcový literál obsahuje uvozovky, před každou značku vložte znak zpětného lomítka (\), takto: “Tento řetězec obsahuje \”uvozovky.\”” Tím je zajištěno, že uvozovky uvnitř řetězce nejsou považovány za speciální znaky, které oddělují řetězce.

Následující příklady ukazují, jak používat funkce TRIMLEFT a TRIMRIGHT. Obsahují počáteční řetězce a výsledné řetězce, vrácené funkcemi TRIMLEFT a TRIMRIGHT:

TRIMLEFT (“RXX10-3456789”, 3), vrátí řetězec “10-3456789”
TRIMRIGHT (“20-3456789RXX”, 3), vrátí řetězec “20-3456789”

Důležité informace o počítaných polích

Měli byste znát určité podmínky a omezení při práci s počítanými poli:

  • Uložené dotazy, grafy a vizualizace mohou mít maximálně 10 jedinečných počítaných polí.

  • Hodnoty počítaného pole nejsou zobrazeny v režimu Customer Engagement Outlook Offline v zobrazení dlaždic nebo v hlavních formulářích entity.

  • Maximální počet zřetězených počítaných polí je 5.

  • Počítané pole nemůže odkazovat samo na sebe nebo mít cyklické řetězy.

  • Pokud změníte některý z operátorů podmínky v klauzuli více podmínek, všechny operátory podmínky se aktualizují dle této podmínky. Například, když v klauzuli IF (x > 50) OR (y ==10) OR (z < 5) změníte operátor OR na operátor AND, všechny operátory OR v klauzuli se změní na operátory AND.

  • K nadřazeným polím můžete přistupovat prostřednictvím vyhledávacího pole nadřazené entity, jako například <LookupFieldName>.<FieldName>. To není možné u vyhledávacích polí s více entitami, jako například Customer, které může být Account nebo Contact. Nicméně, některé entity mají samostatná vyhledávací pole pro konkrétní entity, jako například ParentAccountid.<FieldName> nebo ParentContactid.<FieldName>.

  • Řazení je zakázáno na:

    • Počítaném poli obsahujícím pole nadřazeného záznamu.

    • Počítaném poli obsahujícím logické pole (například pole Adresa).

    • Počítaném poli obsahujícím jiné počítané pole.

  • Počítaná pole mohou zahrnovat pouze dvě entity.

    • Počítané pole může obsahovat pole z jiné entity (zahrnující dvě entity – aktuální entitu a nadřazený záznam).

    • Počítané pole nemůže obsahovat počítané pole z jiné entity, která také obsahuje další pole z jiné entity (zahrnující tři entity):
      Počítané pole (Aktuální entita) <- Počítané pole 1 (Nadřazený záznam) <- Počítané pole 2 (Nadřazený záznam).

  • Není možné spustit pracovní postupy nebo moduly plug-in na počítaných polí.

  • Nelze změnit existující jednoduché pole na počítané pole. Pokud aktuální aplikace používá JavaScript nebo moduly plug-in pro výpočet pole, nebude možné použít funkci počítaných polí bez vytvoření nového pole.

  • Pravidla vyhledávání duplicit nejsou aktivována na základě počítaných polí.

  • Zprůměrovaný souhrn nemůže odkazovat vypočtené pole, které používá jiné vypočítané pole, a to i v případ,ě že jsou všechna pole jiného počítaného pole na aktuální entitě.

Viz také

Vytváření a úprava polí
Definování souhrnných polí
Video: Souhrnná a počítaná pole v aplikaci Dynamics CRM 2015