Heinäkuun 2017 päivityksen uudet ominaisuudet kehittäjille

Meillä on ilo kertoa, että Dynamics 365 (online) -sovelluksen heinäkuun 2017 päivitys on käytettävissä sekä kokeilu- että ostoversiossa! Seuraa tietoja aiemmin luotujen organisaatioiden päivitysaikataulusta.

Katso myös nämä linkit:

Dynamics 365 sisältää aikaisemmat Dynamics CRM -toiminnot osana älykkäiden yrityssovellusten pakettia. Asiakassuhteiden hallintaan (CRM) liittyvistä sovelluksista käytetään nimeä Customer Engagement. Tämä sovelluspaketin osa sisältää Sales-, Customer Service-, Field Service- ja Project Service Automation -sovellukset sekä niihin liittyvät palvelut.

Ulkoisten tietojen integrointi virtuaalisten entiteettien avulla

Voit nyt integroida ulkoisista järjestelmistä noudettuja tietoja uudella tavalla. Yleisiä strategioita ulkoisten tietojen integrointiin ovat muun muassa ulkoisia tietoja noutava ja näyttävä asiakaspuolen koodi sekä ulkoisten tietojen palvelinpuolella tapahtuva replikointi ja synkronointi Dynamics 365:n Customer Engagement -osan sisällä. Virtuaaliset entiteetit ovat näitä parempi ratkaisu moniin ulkoisten järjestelmien tietojen integrointivaatimuksiin.

Parannukset Web-ohjelmointirajapintaan

Tämä Web-ohjelmointirajapinnan versio, OData v4 -päätepisteemme, sisältää seuraavat parannukset:

  • Käytettävissä on mukautettuja toimintoja, jotka palauttavat EntityReference-, Entity- tai EntityCollection-tyyppejä.

  • Ohjelmointirajapinnan toimintatavan muutokset on toteutettu palvelun uusimmalla versiolla (9.0). Vanhat toiminnot ovat edelleen käytettävissä versioissa 8.x. Sinun ei tarvitse muuttaa koodiasi, kun päivität version.

  • Uudet viestit: GrantAccess-, ModifyAccess- ja RetrieveSharedPrincipalsAndAccess-viestit ovat nyt käytettävissä Web-ohjelmointirajapintaa käytettäessä.

  • Olemme pienentäneet palvelun metatietojen määrää jättämällä huomautukset oletuksena pois. Jos tarvitset huomautuksia, voit sisällyttää ne parametrien avulla.

Parannukset asiakasohjelmien ohjelmointirajapintaan

Dynamics 365:n (online) heinäkuun 2017 päivitys sisältää Unified Interface -kehyksen, ja asiakasohjelmien ohjelmointirajapintaan on tehty joitakin merkittäviä muutoksia, jotta voidaan varmistaa niiden yhdenmukainen toiminta Unified Interface -liittymässä ja WWW-asiakasohjelmassa.

Suorituskonteksti ja yleinen konteksti

Lomakkeessa voi olla samaan aikaan käytössä useita suorituskonteksteja. Esimerkiksi lomakkeessa, jossa on pikalomake ja muokattava ruudukko, näkyy entiteetin konteksti lomakkeelle, toinen konteksti pikalomakkeelle, ruudukkokonteksti muokattavalle ruudukolle sekä entiteetin konteksti kullekin muokattavan ruudukon riville. Lomakkeen ensisijainen konteksti on Xrm.Page. Jos toissijaisessa kontekstissa (ruudukon rivillä, pikalomakkeessa tai liittyvässä entiteetissä) suoritetaan komentosarja, Xrm.Page ei ole oikea lomakkeen konteksti.

Lomakkeen suorituskonteksti välittyy automaattisesti lomakkeen tapahtumiin ja tapahtumakäsittelijöihin. Sen sijaan, että lomakkeen konteksti noudettaisiin staattisella Xrm.Page-objektilla, voit nyt noutaa lomakkeen kontekstin ilmentymän executionContext.getFormContext-metodilla ja käyttää sitä sitten asiakasohjelmien ohjelmointirajapinnan metodien suorittamiseen. Näin voit käyttää samoja komentosarjoja useissa konteksteissa.

Lisäksi asiakaspuolen kontekstiin viittaava Xrm.Page.context-objekti on vanhentunut tässä versiossa. Sinun tulisi nyt noutaa yleinen konteksti Xrm.Utility.getGlobalContext-metodilla sen sijaan, että kävisit läpi lomakkeen kontekstin. Uusi metodi sisältää vastaavuuden kaikille Xrm.Page.context-objektin käytettävissä oleville metodeille, jotka noutavat organisaatio- tai käyttäjäkohtaisia tietoja.

Uudet asiakasohjelmien ohjelmointirajapinnat

Olemme ottaneet tämän version yhteydessä käyttöön joukon uusia asiakasohjelmien ohjelmointirajapintoja.

Seuraavassa on luettelo tämän version nimitiloista, jotka sisältävät uusia metodeja sekä joitakin aiemmin käyttöön otettuja metodeja, jotka on siirretty näihin nimitiloihin objektimallin rakenteen parannusten yhteydessä.

Uusi nimitila Kuvaus
Xrm.Device Sisältää metodeja, jotka käyttävät mobiililaitteiden ominaisuuksia.
Xrm.Encode Sisältää metodeja, jotka liittyvät määritteiden ja XML-koodien käyttämiseen merkkijonoissa.
Xrm.Navigation Sisältää uusia metodeja monisivuisille dialogeille ja tehtävänkululle sekä joitakin vanhoja metodeja, jotka on siirretty Xrm.Utility-nimitilasta.
Xrm.UI Sisältää metodeja sovellustason globaalien ilmoitusten näyttämiseen ja piilottamiseen.
Xrm.WebApi Sisältää metodeja CRUD-toimintojen suorittamiseen tietueille; siirtyy online- ja offline-tilojen välillä automaattisesti.
Xrm.WebApi.offline sisältää metodeja CRUD-toimintojen suorittamiseen offline-tilassa.
Xrm.WebApi.online sisältää metodeja CRUD-, Execute- ja ExecuteMultiple-toimintojen suorittamiseen online-tilassa.

Vanhoissa nimitiloissa on otettu käyttöön seuraavat uudet ohjelmointirajapinnat:

Nimitila Uudet ohjelmointirajapinnat
Lomakkeen executionContext getUrl
Xrm.Page.data OnLoad-tapahtuma ja tapahtumakäsittelijät (addOnLoad ja removeOnLoad)
isValid
Xrm.Page.data.save(saveOptions)-metodin saveOptions on päivitetty sisältämään uusi arvo nimeltä SaveMode. Tämä arvo ilmoittaa onSave-tapahtumakäsittelijöille, miksi tallennus tapahtuu.
attributes-kokoelma
Xrm.Page.data.entity relatedEntities-kokoelma
getEntityReference
isValid
Päivitetty tallennusmetodilla, joka sallii saveOptions-arvon lähettämisen parametrina
Xrm.Page.data.entity-määrite isValid
setPrecision
Xrm.Page.ui Kolme uutta ohjelmointirajapintaa, jotka koskevat vain monisivuisia dialogeja ja tehtäväpohjaisia prosesseja: getDefaultNextPageName, movePrevious ja moveTo.
setFormEntityName
OnLoad-tapahtuma ja tapahtumakäsittelijät (addOnLoad ja removeOnLoad)
Xrm.Utility getAllowedStatusTransitions
getEntityMetadata
getGlobalContext
getLearningPathAttributeName
getResourceString
invokeProcessAction
lookupObjects
showHierarchyPage
showProgressIndicator
closeProgressIndicator
refreshParentGrid

Näiden uusien asiakasohjelmien ohjelmointirajapintojen lisäksi ratkaisussa on mukana joitakin asiakasohjelmien rajapintoja tietyille ohjausobjekteille, kuten ruudukoille, haulle, asetusjoukolle ja ajastimelle. Lisätietoja näistä uusista ohjelmointirajapinnoista on ohjausobjektikohtaisilla sivuilla.

Vanhentuneet asiakasohjelmien ohjelmointirajapinnat

Jotkin asiakasohjelmien ohjelmointirajapinnat ovat vanhentuneet. Niiden sijasta tulee käyttää tässä luettelossa mainittuja uusia tai paranneltuja ohjelmointirajapintoja: Jotkin asiakasohjelmien ohjelmointirajapinnat ovat vanhentuneet

HUOMAUTUS: Vanhentuminen tarkoittaa, että aiomme poistaa asiakasohjelmien ohjelmointirajapinnan kaikista Dynamics 365:n tulevista pääversioista. Asiakasohjelmien ohjelmointirajapintaa voi edelleen käyttää, ja se on täysin tuettu siihen saakka, kun se poistetaan virallisesti. Poistamisen jälkeen toiminto tai ominaisuus ei enää toimi. Ilmoitamme sinulle vanhentumisista nyt, jotta sinulla on riittävästi aikaa suunnitella ja päivittää koodisi ennen toiminnon tai ominaisuuden poistamista.

Asiakasohjelmien ohjelmointirajapinnan tuki Unified Interface -liittymän uudelle aikajanan ohjausobjektille

Uusi aikajana-ohjausobjekti näyttää viestit, aktiviteetit ja muistiinpanot yhtenäisessä näkymässä. Aikajana-ohjausobjekti tukee seuraavia asiakasohjelmien ohjelmointirajapintoja:

  • getControlType: palauttaa arvon “timelinewall”

  • getName

  • getParent

  • getLabel ja setLabel

  • getVisible ja setVisible

  • setFocus: siirtää kohdistuksen ohjausobjektin Lisää-painikkeeseen

  • refresh: päivittää aikajanaseinän.

Tietoja näistä asiakasohjelmien ohjelmointirajapinnoista on ohjeaiheessa Xrm.Page.ui-ohjausobjekti (asiakaspuolen viite).

Luo ja hallitse roolipohjaisia ja tarkoituksen mukaan luotuja liiketoimintasovelluksia

Dynamics 365:n liiketoimintasovellukset ovat roolipohjaisia, modulaarisia sovelluksia, joiden tarjoamat tehtäväpohjaiset toiminnot kohdistuvat tiettyyn liiketoiminnan alueeseen, kuten myyntiin, palveluun tai markkinointiin. Näiden liiketoimintasovellusten käyttö on helppoa: käyttäjät voivat siirtyä nopeasti paikasta toiseen, löytää etsimänsä helposti ja suorittaa tehtävänsä tehokkaasti.

Sovellusten suunnitteluohjelman käytön lisäksi voit nyt luoda, hallita, tarkistaa ja julkaista liiketoimintasovelluksia ohjelmallisesti. Kun luot sovelluksen, voit valita, onko se tarkoitettu WWW-asiakasohjelmalle vai Unified Interface -liittymälle.

Käytössäsi ovat seuraavat entiteetit:

  • AppModule-entiteetti sovellusten luontiin, hallintaan ja tarkistukseen

  • AppModuleComponent-entiteetti sovelluksen komponenttien, kuten lomakkeiden, koontinäyttöjen, näkymien, kaavioiden ja liiketoimintaprosessien, luontiin ja hallintaan

  • AppModuleRoles-entiteetti niiden käyttöoikeusroolien liittämiseen ja poistamiseen, jotka määrittävät käyttäjien oikeudet sovellukseen.

Lisäksi yleisessä kontekstissa (Xrm.Utility.getGlobalContext) voi nyt käyttää seuraavia uusia, sovelluksiin liittyviä asiakasohjelmien ohjelmointirajapintoja, joiden avulla voit noutaa tietoja nykyisestä sovelluksesta:

  • getCurrentAppUrl: noutaa nykyisen sovelluksen URL-osoitteen

  • getCurrentAppName: noutaa nykyisen sovelluksen nimen

  • getCurrentAppProperties: noutaa nykyisen sovelluksen ominaisuudet (esimerkiksi appId-, displayName-, uniqueName-, url-, webResourceId- ja welcomePageId-arvot).

Uusi määritetyyppi: monivalinta-asetusjoukko

Mukauttajat voivat nyt määrittää uudentyyppisen määritteen, joka mahdollistaa useiden asetusten valinnan. Tämä työ sisältää uusia kyselyehto-operaattoreita, joiden avulla voit kirjoitetut kyselyt noutavat tietoja valittujen vaihtoehtojen perusteella.

Lomakkeiden komentosarjojen tuki monivalinta-asetusjoukoille.

Monivalinta-asetusjoukot ovat käytettävissä Unified Interface -liittymässä ja WWW-asiakasohjelmassa. Monivalinta-asetusjoukot ovat käytettävissä seuraaville lomaketyypeille: päälomake, pikaluontilomake ja pikalomake. Monivalinta-asetusjoukot eivät ole tuettuja vanhoissa lomakkeissa.

Monivalinta-asetusjoukot tukevat kaikkia asetusjoukkotyyppisten määritteiden ja ohjausobjektien tukemia työasemaohjelmien ohjelmointirajapintoja. Ainoa ero on se, että tiettyjen metodien palauttama arvo on matriisi yksittäisen arvon sijasta.

Voit myös asettaa monivalinta-asetusjoukon kenttien arvot uusille tietueille määrittämällä asetuksille kokonaislukuarvot siinä URL-osoitteessa, josta lomake avataan.

Luo mukautettuja ohjausobjekteja

Mahdollisuus luoda ohjausobjekteja julkaistaan esiversion ominaisuutena. Custom Control Framework (CCF) tarjoaa laajennettavuuskehyksen sellaisten käyttöliittymän komponenttien rakentamiseen, joilla voidaan visualisoida sovelluksen tietoja ja olla niiden kanssa vuorovaikutuksessa. CCF:n avulla voit määrittää käyttöliittymän komponentteja, jotka ovat metatietoja käyttäviä, määritettäviä ja uudelleenkäytettäviä ratkaisun osia. Voit määrittää ohjausobjektit yksittäisille kentille, ruudukoille ja aliruudukoille.

Webhook-integrointi

Voit integroida Dynamics 365:n Customer Engagement -osan tiedot omaan mukautettuun, ulkoisissa palveluissa isännöityyn koodiisi käyttämällä webhook-takaisinkutsuja. Laajennusten rekisteröintityökalun avulla voit määrittää, milloin Customer Engagement -tiedot tulisi lähettää ulkoiseen palveluun. Webhook on kevyt HTTP-kaava, joka liittää Web-ohjelmointirajapinnat ja -palvelut julkaisu-/tilausmalliin. Webhook-lähettäjät ilmoittavat vastaanottajille tapahtumista lähettämällä vastaanottajan päätepisteisiin pyynnön, joka sisältää tietoja tapahtumista. Webhook-mallissa voit suojata päätepisteesi käyttämällä todennusotsikkoa tai kyselyparametrin avaimia. Tämä on vaihtoehto Azuren palveluväylässä yleisesti käytettävälle SAS-todennusmallille.

Vektorikuvien verkkoresurssit

Käytä vektorikuvia sovelluksessa esiintyvissä kuvakkeissa. Vektorikuvat määritetään XML-pohjaisessa SVG (Scalable Vector Graphics) -vektorimuodossa. Vektorikuvien etu muihin kuvaverkkoresursseihin on se, että ne voidaan skaalata. Voit määrittää yhden vektorikuvan ja käyttää sen uudelleen sen sijaan, että määrittäisit monenkokoisia kuvia. Tämän verkkoresurssin avulla voit määrittää entiteetille yhden kuvakkeen erikokoisten kuvien sijasta.

Lokalisoitavien ratkaisujen tuki

Voit tallentaa ratkaisuiden lokalisoidut merkkijonot RESX-verkkoresurssien avulla. RESX XML -muotoa käytetään yleisesti lokalisoitujen resurssien määrittämiseen, joten tämäntyyppisten tiedostojen käsittelyyn on myös yleisiä työkaluja, joita lokalisointikumppanit ovat tottuneet käyttämään. Voit liittää RESX-verkkoresurssit mihin tahansa niitä käyttävään JavaScript-verkkoresurssiin, joten voit käyttää lokalisoituja merkkijonoja ajon aikana uuden työasemapuolen ohjelmointirajapinnan kautta.

JavaScript-verkkoresurssien riippuvuudet

JavaScript-verkkoresurssien täytyy usein olla vuorovaikutuksessa muiden resurssien kanssa. Tällaisia voivat olla esimerkiksi muut JavaScript-kirjastot, kuvat, määritteiden arvot tai lokalisoiduille merkkijonoille käytettävä uusi RESX-verkkoresurssi. Voit nyt määrittää JavaScript-verkkoresurssin olemaan yhteydessä minkä tahansa riippuvaisen resurssin kanssa niin, että resurssi on käytettävissä silloin, kun sitä tarvitaan.

Kun JavaScript-verkkoresurssi liitetään toisenlaiseen verkkoresurssiin, kyseinen resurssi latautuu automaattisesti, kun JavaScript-verkkoresurssia pyydetään sovelluksessa. Kun lomakkeen komentosarjassa käytettävä JavaScript-verkkoresurssi liitetään tietyn entiteetin määritteeseen, kyseinen entiteetin määrite on komentosarjan käytettävissä silloinkin, kun määrite ei sisälly lomakkeeseen.

Parannukset vuorovaikutteiseen palvelukeskukseen

Vuorovaikutteiseen palvelukeskukseen on tehty seuraavat muutokset:

  • Vuorovaikutteinen palvelukeskus on nyt nimeltään asiakaspalvelukeskus, ja se on käytettävissä Unified Interface -sovelluksena.

  • Asiakaspalvelukeskus käyttää Ensisijainen-lomaketyyppiä Ensisijainen – vuorovaikutteinen kokemus -lomaketyypin asemesta. Jos päivität Dynamics 365 Customer Engagementin aikaisemmasta versiosta, järjestelmä muuntaa kaikki Ensisijainen – vuorovaikutteinen kokemus -tyyppiset lomakkeet Ensisijainen-tyyppisiksi. Kaikki mukautettavat Ensisijainen – vuorovaikutteinen kokemus -tyyppiset lomakkeet muuttuvat päivityksen aikana passiivisiksi, ja sinun täytyy ottaa muunnetut lomakkeet käyttöön päivityksen jälkeen voidaksesi käyttää niitä. Lisäksi kaikki Ensisijainen-tyyppisiksi lomakkeiksi muunnetut Ensisijainen – vuorovaikutteinen kokemus -tyyppiset lomakkeet ovat prioriteettijärjestyksessä alempana kuin järjestelmässä jo olleet Ensisijainen-tyyppiset lomakkeet, jotta vältetään lomakkeiden järjestykseen liittyvät ristiriidat. Tämä varmistaa, että käyttäjät näkevät oikean lomakkeen WWW-asiakasohjelmassa myös päivityksen jälkeen.

  • Vuorovaikutteinen kokemus on nyt käytettävissä kaikissa Asiakaspalvelukeskus-sovelluksen entiteeteissä. Tämä tarkoittaa, että EntityMetadata.IsInteractionCentricEnabled-ominaisuusella, joka määrittää, voidaanko entiteetti ottaa käyttöön vuorovaikutteisessa kokemuksessa, ei enää ole merkitystä. Vastaava tämän ominaisuuden asetus mukautustyökalussa, Ota käyttöön vuorovaikutteista kokemusta varten, poistetaan nykyisestä versiosta, ja EntityMetadata.IsInteractionCentricEnabled-ominaisuus poistetaan Dynamics 365 SDK for Customer Engagement -kehityspaketin tulevassa versiossa.

Ohita tietorivien oletusavaustoiminta entiteettiin sidotussa ruudukossa

Tällä hetkellä entiteettitietue avautuu oletusarvoisesti aina, kun jokin seuraavista toiminnoista suoritetaan entiteettiin sidotun ruudukon tietorivillä:

  • tietorivin kaksoisnapsauttaminen tai rivin ensisijaisen määritteen linkin napsauttaminen

  • tietorivin valitseminen ja ENTER-näppäimen painaminen

  • tietorivin valitseminen kosketusnäyttölaitteessa.

Joissakin tilanteissa et ehkä halua entiteettitietueen avautuvan. Esimerkiksi tiedostojen hallintatietueiden tapauksessa on ehkä parempi avata SharePoint-sivusto tietueen näyttämisen sijasta. Voit nyt ohittaa oletustoiminnan ja määrittää mukautetun toiminnan.

Voit luoda entiteetille komentomäärityksen, jossa Id-määritteen (<CommandDefinition> (RibbonDiffXml)) arvona on Mscrm.OpenRecordItem, ja määrittää mukautetun toiminnon komennolle <Actions> (RibbonDiffXml). Customer Engagement etsii tätä entiteetin komentotunnusta, kun yrität avata tietueen entiteettiin sidotusta ruudukosta. Jos tunnus löytyy, ratkaisu suorittaa mukautetun toiminnon sen sijaan, että se avaisi entiteettitietueen (oletustoiminta).

Parannukset liiketoimintaprosesseihin

Olemme tehneet seuraavat parannukset liiketoimintaprosesseihin:

  • Unified Interface -liittymän setDisplayState-metodissa voi nyt asettaa liiketoimintaprosessin ohjausobjektin laajennetun ja kutistetun tilan lisäksi myös kelluvaan tilaan. Vastaavasti getDisplayState-metodi voi palauttaa arvon "kelluva", "laajennettu" tai "kutistettu" liiketoimintaprosessin ohjausobjektin tilan mukaan. Kelluva tila ei ole käytössä WWW-asiakasohjelmassa.

  • Voit nyt suorittaa prosessitoimintoja käyttämällä uutta asiakasohjelmien ohjelmointirajapintaa nimeltä Xrm.Utility.invokeProcessAction. Mahdollisuus suorittaa prosessitoimintoja ohjelmallisesti uuden asiakasohjelmien ohjelmointirajapinnan avulla julkaistaan tässä julkaisussa esiversion ominaisuutena.

    • Voit suorittaa WWW-asiakasohjelmassa minkä tahansa prosessitoiminnon käyttämällä uutta asiakasohjelmien ohjelmointirajapintaa. Unified Interface -liittymässä uutta asiakasohjelmien ohjelmointirajapintaa voidaan kutienkin käyttää vain prosessitoiminnoille, jotka voidaan suorittaa liiketoimintaprosessin vaiheena.

    • Nouda ja aseta prosessitoiminnon vaiheen tilanne käyttämällä uusia asiakasohjelmien ohjelmointirajapintoja getProgress ja setProgress. Näillä metodeilla voit noutaa ja asettaa jonkin seuraavista vaiheen tilanteen tiloista: Ei mitään: 0, Käsitellään: 1, Valmis: 2, Virhe: 3 tai Virheellinen: 4. Myös nämä uudet asiakasohjelmien ohjelmointirajapinnat julkaistaan tässä julkaisussa esiversion ominaisuutena.

    • getProgress- ja setProgress-ohjelmointirajapintoja ei voi käyttää prosessin tietovaiheissa.

  • Voit nyt suorittaa tehtävänkulun uuden asiakaspuolen Xrm.Navigation.openTaskFlow-ohjelmointirajapinnan avulla.

Katso myös

Unified Service Desk -ratkaisun uudet ominaisuudet kehittäjille ja mukauttajille

Dynamics 365 Customer Engagementin kehittäjän opas