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:
Otevřete Průzkumníka řešení.
Rozbalte položku Součásti>Entity.
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
neboOR
.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“:
Nastavte podmínku o příležitostech:
Zadejte vzorec pro vážené výnosy:
Souhrnně:
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í“:
Na prvotního zájemce nastavte dvě podmínky:
Zadejte vzorec pro zpracování během jednoho týdne:
Zadejte vzorec pro zpracování během jednoho měsíce:
Souhrnně:
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“:
Zadejte vzorec pro výpočet rozdílu ve dnech
Souhrnně:
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átorOR
na operátorAND
, všechny operátoryOR
v klauzuli se změní na operátoryAND
.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říkladCustomer
, které může býtAccount
neboContact
. Nicméně, některé entity mají samostatná vyhledávací pole pro konkrétní entity, jako napříkladParentAccountid.<FieldName>
neboParentContactid.<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