Novinky pro vývojáře v aktualizaci z července 2017

S radostí oznamujeme, že aktualizace Dynamics 365 (online) z července 2017 je dostupná k vyzkoušení a nákupu. Brzy se dozvíte, kdy můžete aktualizovat své existující organizace.

Prohlédněte si také tyto odkazy:

V Dynamics 365 je předchozí funkčnost Dynamics CRM součástí sady inteligentních obchodních aplikací. Aplikace, které tvoří část této sady věnovanou řízení vztahů se zákazníky (CRM), se označují jako Customer Engagement a obsahují Sales, Customer Service, Field Service, Project Service Automation a s nimi související služby.

Integrace externích dat pomocí virtuálních entit

K dispozici je nový způsob integrace dat z externích systémů. Bez virtuálních entit lze externí data nejčastěji integrovat pomocí kódu na straně klienta, který načte a zobrazí externí data, nebo replikace na straně serveru a synchronizace externích dat s Dynamics 365 Customer Engagement. Virtuální entity nabízejí lepší přístup pro mnohé požadavky na integraci dat z externích systémů.

Vylepšení webového rozhraní API

Součástí této verze webového rozhraní API, našeho koncového bodu OData v4, jsou následující vylepšení:

  • K dispozici jsou vlastní akce, které vracejí typy EntityReference, Entity nebo EntityCollection.

  • Změny v chování rozhraní API jsou dostupné při použití nejnovější verze 9.0 této služby, starší chování zůstává dostupné ve verzi 8.x. Při upgradu nemusíte měnit kód.

  • K dispozici jsou teď nové zprávy GrantAccess, ModifyAccess a RetrieveSharedPrincipalsAndAccess využívající webové rozhraní API.

  • Snížili jsme množství metadat služby, protože standardně nejsou zahrnuté poznámky. Pokud poznámky potřebujete, můžete je zahrnout pomocí parametrů.

Vylepšení klientského rozhraní API

Se zavedením Sjednoceného rozhraní, které je součástí Aktualizace Dynamics 365 (online) z července 2017, došlo k určitým významným změnám klientských rozhraní API, aby byla zajištěna jejich konzistentní činnost mezi Sjednoceným rozhraním a webovým klientem.

Kontext spuštění a globální kontext

Na formuláři může být současně aktivních několik kontextů spuštění. Například formulář se stručným formulářem a editovatelnou mřížkou bude mít kontext pro entitu zobrazenou na formuláři, další kontext pro stručný formulář, kontext mřížky pro editovatelnou mřížku a kontext entity pro každý řádek v editovatelné mřížce. Primárním kontextem formuláře je Xrm.Page. Pokud se skript spustí u sekundárního kontextu (řádku mřížky, stručného formuláře, související entity), nebude Xrm.Page správným kontextem formuláře.

Kontext spuštění na formuláři se automaticky předá událostem formuláře a obslužným rutinám událostí. Místo použití statického objektu Xrm.Page ke získání kontextu formuláře byste teď měli pomocí metody executionContext.getFormContext získat instanci kontextu formuláře a pak ji použít ke spuštění metod klientského rozhraní API, abyste mohli používat stejné skripty u různých kontextů.

Objekt Xrm.Page.context, který se používá k odkazu na kontext na straně klienta, je navíc v této verzi zastaralý. Místo procházení kontextu formuláře byste teď měli pomocí nové metody Xrm.Utility.getGlobalContext získat globální kontext. Tato nová metoda obsahuje ekvivalent všech metod dostupných pro objekt Xrm.Page.context sloužících k načtení informací specifických pro organizaci nebo uživatele.

Nová klientská rozhraní API

V této verzi jsme zavedli celou řadu nových klientských rozhraní API.

Zde je seznam nových oborů názvů v této verzi obsahující nové a některé existující metody, které jsou přesunuté do těchto oborů názvů kvůli vylepšení návrhu objektového modelu.

Nový obor názvů Popis
Xrm.Device Obsahuje metody pro využití schopností mobilních zařízení.
Xrm.Encode Obsahuje metody související s použitím kódování atributů a XML u řetězců.
Xrm.Navigation Obsahuje nové metody pro vícestránkové dialogy a tok úlohy a některé existující metody přesunuté z oboru názvů Xrm.Utility.
Xrm.UI Obsahuje metody pro zobrazení a skrytí globálních oznámení na úrovni aplikace.
Xrm.WebApi Obsahuje metody pro provádění operací CRUD u záznamů; automaticky přepíná mezi online a offline režimem.
Xrm.WebApi.offline obsahuje metody pro provádění operací CRUD při práci v offline režimu.
Xrm.WebApi.online obsahuje metody pro provádění operací CRUD, Execute a ExecuteMultiple při práci v online režimu.

Do existujících oborů názvů byla zavedena následující nová rozhraní API:

Obor názvů Nová rozhraní API
Formulář – executionContext getUrl
Xrm.Page.data Událost a obslužné rutiny události OnLoad (addOnLoad a removeOnLoad)
isValid
Možnost saveOptions v metodě Xrm.Page.data.save(saveOptions) byla aktualizována o novou hodnotu s názvem SaveMode, která obslužné rutiny události onSave informuje o tom, proč dochází k ukládání.
Kolekce attributes
Xrm.Page.data.entity Kolekce relatedEntities
getEntityReference
isValid
Metoda save byla aktualizována tak, aby jako parametr bylo možné odeslat saveOptions.
Atribut Xrm.Page.data.entity isValid
setPrecision
Xrm.Page.ui Tři nová rozhraní API použitelná jen pro vícestránkové dialogy a toky založené na úlohách: getDefaultNextPageName, movePrevious a moveTo
setFormEntityName
Událost a obslužné rutiny události OnLoad (addOnLoad a removeOnLoad)
Xrm.Utility getAllowedStatusTransitions
getEntityMetadata
getGlobalContext
getLearningPathAttributeName
getResourceString
invokeProcessAction
lookupObjects
showHierarchyPage
showProgressIndicator
closeProgressIndicator
refreshParentGrid

Kromě těchto nových klientských rozhraní API bylo zahrnuto také několik dalších klientských rozhraní API pro konkrétní ovládací prvky, jako jsou mřížky, vyhledávání, sady možností a časovač. Další informace o těchto nových rozhraních API najdete na stránkách věnovaných konkrétnímu ovládacímu prvku.

Zastaralá klientská rozhraní API

Některá klientská rozhraní API jsou zastaralá a měli byste používat nová nebo vylepšená klientská rozhraní API místo těch, které jsou zmíněné v tomto seznamu: Některá klientská rozhraní API jsou zastaralá.

POZNÁMKA: Zastarání znamená, že tato klientská rozhraní API hodláme odebrat z některé budoucí hlavní verze Dynamics 365. Tato klientská rozhraní API budou nadále fungovat a jsou plně podporovaná, dokud nebudou oficiálně odebrána. Po odebrání už funkce nebo možnost nebude fungovat. Informujeme vás už teď, abyste měli dostatek času k naplánování a aktualizaci svého kódu před odebráním příslušné funkce nebo možnosti.

Podpora nového ovládacího prvku Časová osa ve Sjednoceném rozhraní v klientském rozhraní API

Nový ovládací prvek Časová osa zobrazuje jednotným způsobem příspěvky, aktivity a poznámky. Ovládací prvek Časová osa podporuje následující klientská rozhraní API:

  • getControlType: Vrací timelinewall.

  • getName

  • getParent

  • getLabel a setLabel

  • getVisible a setVisible

  • setFocus: Nastaví fokus na tlačítko Přidat v tomto ovládacím prvku.

  • refresh: Aktualizuje zeď na časové ose.

Další informace o těchto klientských rozhraních API najdete v článku Ovládací prvek Xrm.Page.ui (odkaz na straně klienta).

Vytváření a správa účelových obchodních aplikací založených na rolích

Obchodní aplikace v Dynamics 365 jsou modulární aplikace založené na rolích, které nabízejí funkce vycházející z úkolů konkrétní pracovní náplně vaší firmy, jako jsou prodej, služby a marketing. Tyto obchodní aplikace nabízejí uživatelům jednoduché a intuitivní prostředí a umožňují jim rychlou navigaci, snadné hledání a efektivní plnění úkolů.

Kromě použití Návrháře aplikací teď můžete obchodní aplikace vytvářet, spravovat, ověřovat a publikovat programově. Při vytváření aplikace si můžete vybrat, jestli je určená pro webového klienta nebo Sjednocené rozhraní.

Můžete použít:

  • Entitu AppModule k vytváření, správě a ověřování aplikací.

  • Entitu AppModuleComponent k vytváření a správě součástí aplikace, jako jsou formuláře, řídicí panely, zobrazení, grafy a obchodní procesy.

  • Entitu AppModuleRoles k přidružení a zrušení přidružení rolí zabezpečení, které definují přístup uživatelů k aplikaci.

V globálním kontextu (Xrm.Utility.getGlobalContext) jsou teď navíc dostupná následující nová klientská rozhraní API, která umožňují získat informace o aktuální aplikaci:

  • getCurrentAppUrl: Získá adresu URL aktuální aplikace.

  • getCurrentAppName: Získá název aktuální aplikace.

  • getCurrentAppProperties: Získá vlastnosti aktuální aplikace, mezi které patří appId, displayName, uniqueName, url, webResourceId a welcomePageId.

Nový typ atributu: sada možností s vícenásobným výběrem

Úpravci teď mohou definovat nový typ atributu, který umožňuje výběr několika možností. Jeho součástí jsou nové operátory podmínek dotazu pro tvorbu dotazů, které načítají data na základě vybraných možností.

Podpora sad možností s vícenásobným výběrem u skriptů ve formulářích

Sady možností s vícenásobným výběrem jsou dostupné pro Sjednocené rozhraní a webového klienta. Sady možností s vícenásobným výběrem jsou dostupné pro následující typy formulářů: hlavní, rychlé vytvoření a rychlé zobrazení. Sady možností s vícenásobným výběrem nebudou podporovány u starších formulářů.

Sady možností s vícenásobným výběrem podporují všechna klientská rozhraní API určená pro atributy a ovládací prvky sady možností. Jediný rozdíl je v tom, že návratová hodnota určitých metod nebude jedna hodnota, ale pole.

Zadáním celočíselných hodnot možností do adresy URL, která se používá k otevření formuláře, můžete také nastavit hodnotu sady možností s vícenásobným výběrem pro nové záznamy.

Vytváření vlastních ovládacích prvků

Možnost vytváření ovládacích prvků se vydává jako ukázková funkce. CCF (Custom Control Framework) poskytuje rozšiřitelnou architekturu pro tvorbu součástí uživatelského rozhraní, které umožňují vizualizaci a interakci s daty v aplikaci. Pomocí CCF budete moci definovat součásti uživatelského rozhraní, které jsou řízené metadaty, konfigurovatelné a opakovaně použitelné. Budete moci definovat ovládací prvky pro individuální pole, mřížky a podmřížky.

Integrace webhooků

Pomocí webhooků budete moci data z Dynamics 365 Customer Engagement integrovat s vlastním zdrojovým kódem hostovaným v externích službách. K určení okamžiku, kdy se mají data Customer Engagement publikovat do externí služby, můžete použít nástroj pro registraci modulů plug-in. Webhooky jsou jednoduché vzory HTTP sloužící k propojení webových rozhraní API a služeb pomocí modelu publikování/odběr. Odesílatelé webhooků informují příjemce o událostech tak, že koncovým bodům příjemců posílají žádosti s určitými informacemi o těchto událostech. S využitím modelu webhooků můžete koncový bod zabezpečit pomocí ověřovací hlavičky nebo parametrických klíčů dotazu. Získáte tak alternativu k ověřovacímu modelu SAS, který můžete v současnosti používat k integraci se službou Azure Service Bus.

Webové prostředky vektorových obrázků

Pro všechny ikony zobrazené v aplikaci se používají vektorové obrázky. Vektorové obrázky jsou definované jako formát Scalable Vector Graphics (SVG), což je formát vektorových obrázků založený na kódu XML. Výhoda vektorových obrázků oproti obrázkovým webovým prostředkům spočívá v tom, že umožňují změnu velikosti. Místo vytvoření několika velikostí obrázku můžete definovat jeden obrázek a pak ho opakovaně používat. Tento webový prostředek můžete použít k definování jediné ikony entity místo obrázků s různými velikostmi.

Podpora lokalizovatelných řešení

K ukládání lokalizovaných řetězců svých řešení můžete použít webové prostředky RESX. Formát RESX XML se běžně používá k definování lokalizovaných prostředků, takže jsou k dispozici nástroje pro práci s tímto typem souborů a dodavatelé lokalizace budou vědět, jak s nimi pracovat. Webové prostředky RESX můžete přidružit k libovolnému webovému prostředku JavaScript, který je používá, a pomocí nového rozhraní API na straně klienta získat za běhu přístup k lokalizovaným řetězcům.

Závislosti webových prostředků JavaScript

Webové prostředky JavaScript často potřebují provádět interakce s jinými prostředky, což mohou být jiné javascriptové knihovny, obrázky, hodnoty atributů nebo nový webový prostředek RESX pro lokalizované řetězce. Při konfiguraci teď můžete webový prostředek JavaScript přidružit k libovolným závislým prostředkům tak, aby byl tento prostředek dostupný, až bude potřeba.

Pokud je webový prostředek JavaScript přidružený k jinému druhu webového prostředku, zavede se tento webový prostředek automaticky, když se webový prostředek JavaScript vyžaduje v aplikaci. Pokud je webový prostředek JavaScript použitý ve skriptu formuláře přidružený k nějakému atributu konkrétní entity, bude tento atribut entity dostupný skriptu, i když se pole tohoto atributu na formuláři nenachází.

Vylepšení Centra interaktivních služeb

U Centra interaktivních služeb došlo k následujícím změnám:

  • Centrum interaktivních služeb se teď jmenuje Centrum služeb zákazníkům a je dostupné jako aplikace Sjednoceného rozhraní.

  • Centrum služeb zákazníkům používá formulář typu Hlavní místo formuláře typu Hlavní – interaktivní prostředí. Při upgradu ze starší verze Dynamics 365 Customer Engagement budou všechny formuláře typu Hlavní – interaktivní prostředí převedeny na formulář typu Hlavní. Všechny přizpůsobitelné formuláře typu Hlavní – interaktivní prostředí budou během upgradu nastaveny na neaktivní a po upgradu budete muset převedené formuláře povolit, aby je bylo možné používat. Všechny formuláře typu Hlavní – interaktivní prostředí převedené na formulář typu Hlavní budou mít navíc nižší pořadí než existující formuláře typu Hlavní, aby nedocházelo ke konfliktům v pořadí formulářů. To zajišťuje, aby se uživatelům po upgradu zobrazil ve webovém klientovi správný formulář.

  • V nové aplikaci Centrum služeb zákazníkům je teď u všech entit povolené interaktivní prostředí. To znamená, že vlastnost EntityMetadata.IsInteractionCentricEnabled, která označuje, jestli je u entity povolené interaktivní prostředí, už není relevantní. Odpovídající nastavení této vlastnosti v nástroji pro vlastní nastavení – Povolit pro interaktivní prostředí – je v aktuální verzi odebráno, přičemž vlastnost EntityMetadata.IsInteractionCentricEnabled bude z některé budoucí verze Dynamics 365 SDK for Customer Engagement odebrána.

Přepsání výchozího chování při otevření datových řádků v mřížce vázané na entitu

Při provedení jakékoli z následujících akcí v datovém řádku v mřížce vázané na entitu se v současnosti otevře záznam entity:

  • Dvojité kliknutí na datový řádek nebo kliknutí na odkaz na primární atribut v řádku

  • Výběr datového řádku a stisknutí klávesy ENTER

  • Výběr datového řádku na dotykově ovládaném zařízení

Mohou nastat situace, kdy nechcete, aby se záznam entity otevřel. Například u záznamů správy dokumentů potřebujete místo zobrazení záznamu otevřít sharepointový web. Přepsáním tohoto výchozího chování teď můžete definovat vlastní chování.

Pro entitu teď můžete vytvořit definici příkazu s Mscrm.OpenRecordItem jako hodnotou atributu Id (<CommandDefinition> (RibbonDiffXml)) a definovat pro tento příkaz vlastní akci <Actions> (RibbonDiffXml). Když se pokusíte otevřít záznam z mřížky vázané na entitu, bude Customer Engagement hledat u entity toto ID příkazu, a pokud ho najde, místo otevření záznamu entity (výchozí chování) spustí vlastní akci.

Vylepšení toků obchodních procesů

Toky obchodních procesů byly vylepšeny o následující změny:

  • Ve Sjednoceném rozhraní teď metoda setDisplayState umožňuje u ovládacího prvku obchodního procesu nastavit kromě „rozbaleného” a „sbaleného” stavu také „plovoucí” stav. Podobně metoda getDisplayState může vrátit „plovoucí”, „rozbalený” nebo „sbalený” stav v závislosti na stavu ovládacího prvku obchodního procesu. Plovoucí stav není použitelný u webového klienta.

  • Akce procesu teď můžete spouštět pomocí nového klientského rozhraní API s názvem Xrm.Utility.invokeProcessAction. Možnost programového spouštění akcí procesu pomocí tohoto nového klientského rozhraní API má v této verzi podobu ukázkové funkce.

    • Ve webovém klientovi lze pomocí nového klientského rozhraní API spustit jakoukoli akci procesu. Ve Sjednoceném rozhraní lze ale pomocí nového klientského rozhraní API spouštět jen akce procesu, které mohou běžet jako krok obchodního procesu.

    • Průběh akčního kroku procesu lze získat a nastavit pomocí těchto dvou nových klientských rozhraní API: getProgress a setProgress. Pomocí těchto metod lze získat a nastavit jeden z následujících stavů průběhu kroku: Žádný: 0, Zpracování: 1, Dokončeno: 2, Chyba: 3 nebo Neplatný: 4. Tato nová klientská rozhraní API mají v této verzi také podobu ukázkové funkce.

    • Klientská rozhraní API getProgress a setProgress nejsou podporovaná pro datový krok procesu.

  • Ke spuštění toku úlohy teď můžete použít rozhraní API na straně klienta Xrm.Navigation.openTaskFlow.

Viz také

Novinky v řešení Unified Service Desk pro vývojáře a úpravce

Příručka pro vývojáře Dynamics 365 Customer Engagement