Microsoft Dataverse og den forbedrede datakilde oplevelse

Oversigt

I maj 2021 var mange funktioner, der tidligere var valgfrie, blevet standardfunktionsmåden for alle nye apps. Denne artikel indeholder en vejledning til brugere, der har udviklet en app før introduktionen af nye funktioner, i opgradering af deres apps for at udnytte de seneste funktioner.

Indbygget Dataverse

Hvis du har oprettet en lærred-app enten med Dataverse eller Dynamics 365 Connector før November 2019, har du muligvis ikke fordelene ved at bruge den nuværende indbyggede forbindelsesoplevelse for Dataverse.

Hvis du har oprettet din app før november 2019 og ikke bruger en indbygget Dataverse-forbindelse, kan du i Indstillinger, på fanen Kommende funktioner og fanen "Udfaset" finde indstillingen Gør brugen af datakilder og Microsoft Dataverse-visninger bedre sammen med Relationsdata, valgmuligheder og andre nye funktioner til Microsoft Dataverse.

Hvordan opgraderer jeg?

Opgrader din app ved at undersøge indstillingerne for funktionerne, og benyt derefter følgende fremgangsmåde:

Relationsdata, grupperede indstillinger og andre nye funktioner i Microsoft Dataverse er slået Fra

Sektionen Udgået under Kommende funktioner. Hvis de er angivet til Fra, skal du fortsætte med følge anvisningerne som første trin i konverteringen.

Hvis du ikke kan se Relationsdata, grupperet indstilling og andre nye funktioner under Microsoft Dataverse i næste Generelle indstillinger, eller hvis den allerede er aktiveret, skal du springe følgende trin over og fortsætte til næste sektion.

  • Trin 1: Slå funktionen Brug viste navne Til:

    1. Slå funktionen Brug viste navne Til.
    2. Vent, indtil tilstandsovervågningen er færdig med at analysere din app.
    3. Gem, luk, og åbn din app igen.
    4. Løs alle formelfejl.
    5. Gem, luk, og åbn din app igen.

    Mulige fejl og løsningsforslag:

    Det er muligt, at nogle af de nye viste navne kan være i konflikt med viste navne for andre tabeller, felter eller kontrolelementer. Du kan f.eks. have et kontrolelement og et felt med samme navn. Du kan ændre navnet på kontrolelementet til en entydig værdi for at løse problemet.

    Ved konflikter mellem felters og tabellers viste navne kan du muligvis se en formel, der forventer en tabel, men som fortolkes til et lokalt feltnavn.

    Brug den firkantede klammeparentes med et @-symbol til at angive et globalt omfang, så det kan fortolkes i tabellen, f.eks. [@tableName].

  • Trin 2: Slå funktionerne Relationsdata, grupperede indstillinger og andre nye funktioner for Microsoft Dataverse og Brug GUID-datatyper i stedet for strenge Til:

    1. Slå funktionen Relationsdata, grupperede indstillinger og andre nye funktioner for Microsoft Dataverse Til.
    2. Slå funktionen Brug af GUID-datatyper i stedet for strenge Til.
    3. Vent, indtil tilstandsovervågningen er færdig med at analysere din app.
    4. Løs alle formelfejl.
    5. Gem, luk, og åbn din app igen.

    Mulige fejl og løsningsforslag:

    Der kan opstå fejl i denne fase, hvis du bruger et valgfelt eller hårdt kodede GUID-tekstværdier.

    • Valgværdier: Hvis du bruger valgfeltet med et tekst-id for valgværdien, skal du i stedet bruge prik-notation til at referere til valgværdien. F.eks. kan du ændre Patch(Accounts, OptionSet1 = “12345”) til Patch(Accounts, OptionSet.Item1), hvor Item1 svarer til værdien 12345.
      Flere oplysninger: Detaljerede eksempler.
    • GUID'er: Hvis du bruger en statisk GUID-streng som f.eks. 015e45e1044e49f388115be07f2ee116, kan du konvertere den til en funktion, der returnerer et GUID-objekt, f.eks. GUID(“015e45e1044e49f388115be07f2ee116”).
    • Opslag: Hvis du bruger opslagsfunktioner til at hente opslagsværdier på første niveau, f.eks. Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), skal du overveje at bruge ThisItem.PrimaryContacts (hvor PrimaryContacts er navnet på tabellen) i stedet.

Gør brugen af datakilder og Microsoft Dataverse-visninger bedre er slået Fra

Brug følgende vejledning til at slå funktionen Forbedret brug af datakilder og Microsoft Dataverse-visninger Til:

  1. Fjern de eksisterende forbindelser for Dataverse-datakilder.
  2. Slå funktionen Forbedret brug af datakilder og Microsoft Dataverse-visninger Til:
  3. Tilføj Dataverse-forbindelsen ved hjælp af det nye funktion til valg af datakilder.
  4. Gem applikationen.

Bemærk

Hvis din applikation er meget stor, kan det tage et stykke tid at tilføje datakildeforbindelser. Du må ikke lukke applikationen under processen.

Konvertering af lærredapps med Dynamics 365 Connector

Hvis du vil konvertere appen, der bruger Dynamics 365 Connector, skal du fjerne og tilføje forbindelserne til datakilderne. Følg fremgangsmåden nedenfor for at konvertere dine forbindelser til datakilderne.

  1. Sørg for at slå funktionen Forbedret brug af datakilder og Microsoft Dataverse-visninger Til:

  2. Fjern de eksisterende forbindelser for Dynamics 365-datakilder.

  3. Føj forbindelserne for datakilderne til Dataverse ved hjælp af den nye funktion til valg af datakilder.

    Bemærk

    • Hvis du har forbindelse til andre miljøer (end det aktuelle), skal du vælge kategorien Tabel og derefter vælge indstillingen Flere (...) for at ændre miljøet. Du kan derefter vælge en tabel fra et andet miljø, du vil føje til programmet. Forbindelser på tværs af lejeren fungerer ikke sammen med den forbedrede oprindelige connector. Du skal bruge dataintegration for at få adgang til data på tværs af lejere.
    • Du skal opfylde et af følgende krav for at kunne se et miljø, som du vil føje forbindelsen til:
      • Du er Ejer af appen, eller appen deles med dig som Medejer.
      • Du er medlem af mindst en af disse sikkerhedsroller: Miljøadministrator, Miljøproducent eller Systemadministrator. Du kan finde flere oplysninger om sikkerhedsrollerne i et miljø ved at gå til Konfigurere brugersikkerhed til ressourcer i et miljø.
  4. Gem applikationen.

Mulige fejl og løsningsforslag:

Der kan være fejl, når du konverterer, hvis du ikke bruger Viste navne, hvis du bruger GUID-strenge, eller hvis du bruger et valg.

  • Hvis kontrolelementets navn er i konflikt, skal du ændre navnet på kontrolelementet til et andet og entydigt navn.
  • Ved konflikter mellem et felts og en tabels viste navne får du muligvis vist en formel, der forventer en tabel, men som alternativ vælger et mere lokalt feltnavn. Brug den firkantede klammeparentes med et @-symbol til at angive et globalt omfang, så det kan fortolkes i tabellen, f.eks. [@tableName].
  • Valgværdier: Hvis du bruger et valgfelt med et tekst-id for valgværdien, skal du i stedet bruge prik-notation til at referere til valgværdien. F.eks. kan du ændre Patch(Accounts, OptionSet1 = “12345”) til Patch(Accounts, OptionSet.Item1), hvor Item1 svarer til værdien 12345.
    Flere oplysninger: Detaljerede eksempler.
  • GUID'er: Hvis du bruger en statisk GUID-streng som f.eks. 015e45e1044e49f388115be07f2ee116, kan du konvertere den til en funktion, der returnerer et GUID-objekt, f.eks. GUID(“015e45e1044e49f388115be07f2ee116”).
  • Opslag: Hvis du bruger opslagsfunktioner til at hente opslagsværdier på første niveau, f.eks. Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), skal du overveje at bruge ThisItem.PrimaryContacts (hvor PrimaryContacts er navnet på tabellen) i stedet.
  • I forbindelse med alle polymorfe referencer skal du se afsnittet Detaljerede eksempler nedenfor.

Detaljerede eksempler

Det kan være en udfordring at konvertere din app til at bruge de nye datatyper Grupper af indstillinger og To indstillinger med understøttende kontrolelementer, når du opgraderer en app til at bruge den nye funktion Øg datakildeoplevelsen og visningerne af Microsoft Dataverse.

Valg

Separate _myfield- og _myfield_label-felter blev tidligere benyttet til valg. Nu er der et enkelt myfield, der både kan bruges til landestandarduafhængige sammenligninger og til at få det landestandardspecifikke navn.

Fjernelse og tilføjelse af datakort til valg

Vi anbefaler, at du fjerner eksisterende datakort og tilføjer dem igen, for at kunne arbejde med dit valg. Hvis du f.eks. arbejder med tabellen Konto og valgmuligheden Kategori, vil egenskaben DataField for datakortet være angivet til _accountcategorycode_label. På feltlisten kan du se, at datakortet er af typen Streng:

OptionSet med navn med gammel syntaks.

Med den nye Forbedret brug af datakilder og Microsoft Dataverse-visninger kan du ikke længere se _accountcategorycode_label. Den er erstattet af accountcategorycode. Dit kort er nu afmærket som brugerdefineret, og du kan se fejl. Fjern det gamle datakort, og tilføj Valget igen. Det nye datakort er Valg-baseret.

OptionSet med nyt typografinavn.

Redigering af valgfilterudtryk for at bruge ny syntaks

Hvis du tidligere ville bruge en værdi af typen Valgmulighed i et filterudtryk, skulle du bruge feltet Værdi. Eksempel:

Filter(Account,'Category Value' = "1")

Du skal redigere denne formel. Valgtekst-id bruges ikke længere til værdien. Dette udtryk skal opdateres til:

Filter(Account, Category= ‘Category (Accounts)’.’Preferred Customer’)

'Kategori(Konti)' er navnet på den fasttekst, der bruges i feltet Kategori i tabellen Konti. Dette er et lokalt valg. Du kan læse mere om lokale og globale valg her: Globale valg.

Redigering af valgs Patch-sætninger til at bruge ny syntaks

I det følgende kan du se et eksempel på en tidligere Patch-sætning til valg:

Patch( Accounts, First(Accounts), { ‘Category Value’: 1 } ) )

Du skal opdatere dine sætninger, så de følger denne formular:

Patch( Accounts, First(Accounts), { Category: ‘Category (Accounts)’.’Preferred Customer’ } )

Fjernelse af flertydige valg

Hvis det viste navn på et valg-felt og navnet på et valg er det samme, skal du fjerne formlens flertydighed. Hvis du vil fortsætte med at bruge eksemplet med kategorikoden Konti, betyder @ brug af valget, ikke feltet.

Filter(Accounts, 'Category Code' = [@’Category Code’].'Preferred Customer')

To indstillinger

Fjernelse og tilføjelse af datakort til Ja/Nej

Du kan fjerne eksisterende datakort og tilføje dem igen, så du kan arbejde med Ja/Nej. Datatyperne blev tidligere betragtes som simple booleske – f. eks. true/on og false/off uden etiketter:

Ja/Nej – gammel typografi.

Med den nye Forbedret brug af datakilder og Microsoft Dataverse-visninger vil dit kort nu blive afmærket som brugerdefineret, og du kan se fejl. Fjern det gamle datakort, og tilføj valget igen. Du kan som standard se et kontrolelement af typen Rediger med to indstillinger, når du har tilføjet indstillingen.

Ja/Nej – ny typografi.

Hvis du foretrækker knappen Slå til/fra for det booleske felt, kan du låse datakortet op og erstatte kontrolelementet på datakortet med en Slå til/fra-knap. Du skal også angive disse egenskaber for Slå til/fra-knappen.

Toggle1.Default = ThisItem.’Do not allow Bulk Emails’
Toggle1.TrueText = ‘Do not allow Bulk Emails (Accounts)’.’Do Not Allow’
Toggle1.FalseText = ‘Do not allow Bulk Emails (Accounts)’.Allow
DataCard.Value = If( Toggle1.Value,
    ‘Do not allow Bulk Emails (Accounts)’.’Do Not Allow’,
    ‘Do not allow Bulk Emails (Accounts)’.Allow )

Omskifterknap med to indstillinger.

Raffinering af sætninger til Patch for to indstillinger

Brug af funktionen Patch sammen med To indstillinger skal fungere "som den er og forefindes". Funktionen understøtter direkte brug af true og false, svarende til booleske værdier. Den eneste forskel ses, når du tidligere har anbragt værdien i et kontrolelement af typen Etiket, som viste true og false, vil det nu i stedet vise etiketterne for de To indstillinger.

Polymorfe opslag

Følgende retningslinjer hjælper med at opgradere applikationen, hvis den refererede til de polymorfe felter. Polymorfe opslag fra samme felt understøtter referencer til et begrænset sæt af flere tabeller. På samme måde som henvisninger på andre sprog er en postreference en markør for en bestemt post i en bestemt tabel. En postreference indeholder tabeloplysningerne, så den kan pege på en post i flere andre tabeller, hvilket adskiller sig fra et normalt opslag, der kun kan pege på poster i én tabel.

Adgang, Angiv og Filtrer for feltet Ejer for en post

Feltet Ejer i en tabel kan f.eks. referere til en post i tabellen Brugere eller i tabellen Teams. Det samme opslagsfelt i forskellige poster kunne referere til poster i forskellige tabeller.

Feltet Polymorf ejer.

Polymorf ejer med Filter og Patch

Postreferencer kan bruges på samme måde som en fuld post:

Filter( Accounts, Owner = First( Teams ) )
Patch( Accounts, First( Accounts ), { Owner: First( Users ) })

Da en reference kan pege på forskellige tabeller, skal du være specifik. Du kan ikke bruge ThisItem.Owner.Name, da navnefeltet i tabellen Team er Teamnavn, og navnefeltet i tabellen Bruger er Fulde navn. Power Apps ved ikke, hvilken type opslag du henviser til, indtil du har kørt appen.

Sådan løses dette problem:

  1. Tilføj datakilderne for de objekttyper, som den pågældende ejer kan have. I det aktuelle eksempel er det Brugere og Teams.
  2. Brug flere funktioner til at gøre hensigten klar.

Der findes to nye funktioner, du kan benytte:

  • IsType – Kontrollerer, om en postreference er af en bestemt tabeltype.
  • AsType – Opretter en postreference til en bestemt tabeltype.

Med disse funktioner kan du skrive en formel, der viser navnet på ejeren, der er taget fra to felter med forskellige navne, baseret på tabeltypen Ejer:

If( IsType( ThisItem.Owner,  [@Teams]), 
    AsType( ThisItem.Owner, [@Teams]).'Team Name', 
    AsType( ThisItem.Owner, [@Users]).'Full Name' )

Galleri med AsType.

Global operator til fjernelse af flertydige udtryk for [@Teams] og [@Users] bruges til at sikre, at du refererer til den globale tabeltype. I dette tilfælde er det ikke nødvendigt, men det anbefales altid at være præcis. En til mange-relationer er ofte i konflikt med omfanget af galleriets post, og denne praksis undgår denne forvirring.

Få adgang til og angive feltet Kontonavn (datatypen Kunde) i tabellen Kontakter

Opslagsfeltet Kunde er et andet polymorf opslag, der minder om Ejer. Den enkelte tabel kan kun have ét ejerfelt. Men en tabel kan indeholde nul, et eller flere kundeopslagsfelter. Systemtabellen Kontakter indeholder feltet Kontonavn, som er et opslagsfelt for Kunde. Læs Vise felterne for en kunde for at få flere oplysninger.

Få adgang til og angive feltet Angående i aktivitetstabeller, f.eks. Faxer, Telefonopkald, Mails

Polymorfe opslag er ikke begrænset til Konti og Kontaktpersoner. Listen over tabeller kan udvides med brugerdefinerede tabeller. Tabellen Faxer indeholder f.eks. opslagsfeltet Angående, som kan referere til Konti, Kontakter og andre tabeller. Hvis du har et galleri, hvor datakilden er indstillet til Fax, kan du bruge følgende formel til at få vist det navn, der er knyttet til opslagsfeltet Angående.

If( IsBlank( ThisItem.Regarding ), "",
   IsType( ThisItem.Regarding, [@Accounts] ),
       "Account: " & AsType( ThisItem.Regarding, [@Accounts] ).'Account Name',
   IsType( ThisItem.Regarding, [@Contacts] ),
       "Contacts: " & AsType( ThisItem.Regarding, [@Contacts] ).'Full Name',
   "" )

Galleri med Angående.

Læs Opslagsfelter af typen Angående og Relationer for Angående for at få flere oplysninger.

Få adgang til listen over alle aktiviteter for en post

I Dataverse er tabeller som Faxer, Opgaver, Mails, Noter, Telefonopkald, Breve og Chat angivet som aktiviteter. Du kan også oprette dine egne brugerdefinerede aktivitetstabeller.

Du kan få vist aktiviteter af en bestemt type (f.eks. Faxer eller Moms) eller alle de aktiviteter, der er knyttet til en tabel, f.eks. firma. Tilføj tabellen Aktiviteter og andre individuelle tabeller, hvis data du vil have vist i lærredappen.

Hver gang du tilføjer en post (i f.eks. tabellen Opgaver), oprettes der en post i aktivitetstabellen med de felter, der er fælles for alle aktivitetstabeller. Læs aktivitetstabel for at få flere oplysninger.

I følgende eksempel kan du se, at når du vælger en konto, vises alle de aktiviteter, der er knyttet til den pågældende konto:

Polymorfe aktiviteter.

Posterne vises i tabellen Aktivitet. Men du kan stadig bruge funktionen IsType til at identificere, hvilken type aktivitet der er tale om. Inden du bruger IsType sammen med en tabeltype, skal du igen tilføje den nødvendige datakilde.

Ved hjælp af denne formel kan du få vist posttypen i et etiketkontrolelement i galleriet:

If( IsType( ThisItem, [@Faxes] ), "Fax",
   IsType( ThisItem, [@'Phone Calls'] ), "Phone Call",
   IsType( ThisItem, [@'Email Messages'] ), "Email Message",
   IsType( ThisItem, [@Chats] ), "Chat",
   "Unknown")

Ny Polymorphic-IsType.

Få adgang til listen over noter for en post

Når du opretter en tabel, kan du aktivere vedhæftede filer. Hvis du markerer afkrydsningsfeltet for aktivering af vedhæftede filer, opretter du en Angående-relation med tabellen Noter, som dette grafikelement viser for tabellen Konti:

Feltet Noter.

Filtrering

Du kan ikke læse eller filtrere baseret på feltet Angående. Men de omvendte Noter er en-til-mange-relation tilgængelig. Hvis du vil oprette en liste over alle de noter, der er knyttet til en firmatabel, kan du bruge følgende formel:

First( Accounts ).Notes
Patch

Du kan ikke angive feltet Noter i en tabel ved hjælp af Patch. Hvis du vil føje en post til tabellens notetabel, kan du bruge funktionen Relate. Du skal først oprette noten som i dette eksempel:

Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note", isdocument:'Is Document (Notes)'.No } ) )

Næste trin

Se også

Hvad er Dataverse?

Bemærk

Kan du fortælle os om dine sprogpræferencer for dokumentation? Tag en kort undersøgelse. (bemærk, at denne undersøgelse er på engelsk)

Undersøgelsen tager ca. syv minutter. Der indsamles ingen personlige data (erklæring om beskyttelse af personlige oplysninger).