Del via


Microsoft Dataverse og funksjonen for å forbedre datakilde

Oversikt

Mange funksjoner som tidligere var valgfrie, ble i mai 2021 standard virkemåte for alle nye apper. Denne artikkelen gir brukere som utviklet en app før innføringen av nye funksjoner, veiledning om hvordan de kan oppgradere appen for å utnytte de nyeste funksjonene.

Opprinnelig Dataverse

Hvis du opprettet en lerretsapp med enten Dataverse eller Dynamics 365 Connector før november 2019, kan det hende du ikke har fordelene ved å bruke den gjeldende opprinnelige tilkoblingsopplevelsen for Dataverse.

Hvis du opprettet appen før november 2019 og ikke bruker en opprinnelig Dataverse-tilkobling, finner du alternativet Forbedre datakildeopplevelse og Microsoft Dataverse-visninger i Avviklet-fanen i fanen Kommende funksjoner i Innstillinger sammen med Relasjonsdata, valg og andre nye funksjoner for Microsoft Dataverse.

Hvordan oppgraderer jeg?

Oppgrader appen ved å undersøke innstillingene for funksjonene, og klikk deretter ved å følge retningslinjene nedenfor:

Relasjonsdata, alternativsett og andre nye funksjoner for Microsoft Dataverse er Av

Merk av for delen Avviklet under Kommende funksjoner. Hvis satt til Av, fortsetter du med følgende instruksjoner som et første trinn i konverteringen.

Hvis du ikke ser Relasjonsdata, alternativsett og andre nye funksjoner for Microsoft Dataverse i Generelle innstillinger ikke vises, eller hvis det allerede er , kan du hoppe over fremgangsmåten nedenfor og fortsette til neste del.

  • Trinn 1: Sett funksjonen Bruk visningsnavn til :

    1. Sett funksjonen Bruk visningsnavn til .
    2. Vent til helsemonitoren er ferdig med å analysere appen.
    3. Lagre, lukk, og åpne appen på nytt.
    4. Løs alle formelfeil.
    5. Lagre, lukk, og åpne appen på nytt.

    Mulige feil og forslag:

    Det kan hende at noen av de nylig viste visningsnavnene er i konflikt med visningsnavnene for andre tabeller, felter eller kontroller. Du kan for eksempel ha en kontroll og et felt med samme navn. Du kan endre navnet på kontrollen med en unik verdi for å løse dette.

    Når det gjelder konflikter mellom navn på felt- og tabellvisninger, vises kanskje en formel som forventer en tabell, men løses til et feltnavn med lokalt omfang.

    Bruk hakeparenteser med et @-symbol til å angi et globalt omfang, slik at det løses til tabellen. Eksempel: [@tableName].

  • Trinn 2: Sett funksjonene Relasjonsdata, alternativsett og andre nye funksjoner for Microsoft Dataverse og Bruk GUID-datatyper i stedet for strenger til :

    1. Sett funksjonen Relasjonsdata, alternativsett og andre nye funksjoner for Microsoft Dataverse til .
    2. Sett funksjonen Bruk GUID-datatyper i stedet for strenger til .
    3. Vent til helsemonitoren er ferdig med å analysere appen.
    4. Løs alle formelfeil.
    5. Lagre, lukk, og åpne appen på nytt.

    Mulige feil og forslag:

    Det kan hende at du får feil på dette trinnet hvis du bruker et valgfelt eller hardkodede GUID-tekstverdier.

    • Valgverdier: Hvis du bruker valgfelt med en tekstidentifikator for valgverdien, bruker du i stedet punktnotasjonen til å referere til valgverdien. Du kan for eksempel endre Patch(Accounts, OptionSet1 = “12345”) til Patch(Accounts, OptionSet.Item1), der Item1 tilsvarer verdien 12345.
      Mer informasjon: Detaljerte eksempler.
    • GUID-er: Hvis du bruker en statisk GUID-streng, for eksempel 015e45e1044e49f388115be07f2ee116, kan du konvertere den til en funksjon som returnerer et GUID-objekt, for eksempel GUID(“015e45e1044e49f388115be07f2ee116”).
    • Oppslag: Hvis du bruker oppslagsfunksjoner til å hente oppslagsverdier på første nivå, for eksempel Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), bør du i stedet vurdere å bruke ThisItem.PrimaryContacts (der PrimaryContacts er navnet på tabellen).

Forbedre datakildeopplevelse og Microsoft Dataverse-visninger er Av

Bruk følgende instruksjon til å sette funksjonen Forbedre datakildeopplevelse og Microsoft Dataverse-visninger til :

  1. Fjern eksisterende Dataverse-datakildetilkoblinger.
  2. Slå funksjonen Forbedre datakildeopplevelse og Microsoft Dataverse-visninger.
  3. Legg til Dataverse-tilkoblingen ved hjelp av den nye opplevelsen for valg av datakilde.
  4. Lagre appen.

Obs!

Hvis appen er svært stor, kan det ta litt tid å legge til datakildetilkoblingene igjen. Ikke lukk appen under denne prosessen.

Konvertere lerretsapper med Dynamics 365 Connector

Hvis du vil konvertere appen som bruker Dynamics 365 Connector, må du fjerne og legge til tilkoblingene i datakildene. Følg fremgangs måten nedenfor for å konvertere tilkoblingene til datakildene.

  1. Kontroller at funksjonen Forbedre datakildeopplevelse og Microsoft Dataverse-visninger er satt til .

  2. Fjern eksisterende Dynamics 365-datakildetilkoblinger.

  3. Legg til tilkoblingene til datakildene for Dataverse ved hjelp av den nye opplevelsen for valg av datakilde.

    Obs!

    • Hvis du har tilkoblinger til andre miljøer (andre enn det gjeldende), velger du Tabell-kategorien og deretter alternativet Mer (...) for å endre miljøet. Du kan deretter velge en tabell fra et annet miljø som skal legges til i programmet. Tilkoblinger på tvers av leiere fungerer ikke med den forbedrede, opprinnelige koblingen. Du må bruke dataintegrering for å få tilgang til kryssleieren for data.
    • Du må oppfylle ett av følgende krav for å kunne se et miljø du vil legge til en tilkobling i:
      • Du er eier av appen, eller appen deles med deg som medeier.
      • Du er medlem av minst én av disse sikkerhetsrollene: Miljøadministrator, Miljøoppretter eller Systemadministrator. Hvis du vil ha mer informasjon om sikkerhetsrollene i et miljø, kan du gå til Konfigurere brukersikkerhet for ressurser i et miljø.
  4. Lagre appen.

Mulige feil og forslag:

Det går an å få feil når du konverterer hvis du ikke bruker ikke visningsnavn, hvis du bruker GUID-strenger, eller hvis du bruker et valg.

  • Hvis navnet på kontrollen er i konflikt, endrer du navnet på kontrollen til et annet, unikt navn.
  • Når det gjelder konflikter mellom navn på felt- og tabellvisninger, vises kanskje en formel som forventer en tabell, men løses til et feltnavn med et mer lokalt omfang. Bruk hakeparenteser med et @-symbol til å angi et globalt omfang, slik at det løses til tabellen. Eksempel: [@tableName].
  • Valgverdier: Hvis du bruker et valgfelt med en tekstidentifikator for valgverdien, bruker du i stedet punktnotasjonen til å referere til valgverdien. Du kan for eksempel endre Patch(Accounts, OptionSet1 = “12345”) til Patch(Accounts, OptionSet.Item1), der Item1 tilsvarer verdien 12345.
    Mer informasjon: Detaljerte eksempler.
  • GUID-er: Hvis du bruker en statisk GUID-streng, for eksempel 015e45e1044e49f388115be07f2ee116, kan du konvertere den til en funksjon som returnerer et GUID-objekt, for eksempel GUID(“015e45e1044e49f388115be07f2ee116”).
  • Oppslag: Hvis du bruker oppslagsfunksjoner til å hente oppslagsverdier på første nivå, for eksempel Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), bør du i stedet vurdere å bruke ThisItem.PrimaryContacts (der PrimaryContacts er navnet på tabellen).
  • For alle polymorfe referanser kan du se delen detaljerte eksempler nedenfor.

Detaljerte eksempler

Det kan være vanskelig å konvertere appen slik at den bruker de nye datasettene Alternativsett og To alternativer med støttekontroller, mens du oppgraderer en app slik at den bruker den nye funksjonen Forbedre datakildefunksjonen og Microsoft Dataverse-visningene.

Valgmuligheter

Atskilte _myfield- og _myfield_label-felter ble tidligere brukt til valg. Nå finnes det én enkelt myfield som kan brukes både til uavhengige sammenligninger av nasjonale innstillinger data og til å hente etiketten som er spesifikk for den nasjonale innstillingen.

Fjerne og legge til datakort for valg

Vi anbefaler at du fjerner eksisterende datakort og legger dem til på nytt, slik at de fungerer med valget ditt. Hvis du for eksempel arbeider med tabellen Forretningsforbindelse og valget Kategori, ser du at egenskapen DataField for datakortet settes til _accountcategorycode_label. I feltlisten kan du se at datakortet har typen Streng:

OptionSet med gammelt stilnavn.

Med den nye funksjonen Forbedret datakildeopplevelse og Microsoft Dataverse-visninger ser du ikke lenger _accountcategorycode_label. Den er erstattet av accountcategorycode. Kortet er nå merket som egendefinert, og det vises feil. Fjern det gamle datakortet, og legg til Valg på nytt. Det nye datakortet er Valg-følsomt.

OptionSet med nytt stilnavn.

Redigere valgfilteruttrykkene slik at de kan bruke ny syntaks

Hvis du tidligere ønsket å bruke en valgverdi i et filteruttrykk, måtte du bruke Verdi-feltet. Eksempel:

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

Du må redigere denne formelen. Valgtekstidentifikatoren brukes ikke lenger for verdien. Dette uttrykket må oppdateres til følgende:

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

'Category(Accounts)' er navnet på opplistingen som brukes i Kategori-feltet i tabellen Forretningsforbindelser. Dette er et lokalt valg. Du kan lese mer om lokale og globale valg her: Globale valg.

Redigere Patch-setninger for valg slik at de kan bruke ny syntaks

Det følgende er et eksempel på en tidligere Patch-setning for valg:

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

Du må oppdatere uttrykkene slik at de følger dette skjemaet:

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

Valgtvetydighet

Hvis visningsnavnet for et valgfelt og navnet på valget er det samme, må du gjøre formelen entydig. For å fortsette med eksemplet med kategorikode for forretningsforbindelser, impliserer @ bruk av valget, ikke feltet.

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

To alternativer

Fjerne og legge til datakort for Ja/Nei

Fjern eksisterende datakort, og legg dem til på nytt, slik at de fungerer med Ja/Nei. Datatypene ble tidligere gjenkjent som enkel boolsk, for eksempel sann/på og usann/av uten etiketter:

Ja/Nei – gammel stil.

Med den nye funksjonen Forbedret datakildeopplevelse og Microsoft Dataverse-visninger er kortet nå merket som tilpasset, og det vises feil. Fjern det gamle datakortet, og legg til valget på nytt. Du skal se en en redigeringskontroll med to alternativer som standard etter at du har lagt til.

Ja/Nei – ny stil.

Hvis du foretrekker vekslebryteren for det boolske feltet, kan du låse opp datakortet og erstatte kontrollen i datakortet med en vekslebryter i stedet. Du må også angi disse egenskapene på vekslebryteren.

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 )

Vekslebryter med to alternativer.

Funjustering av oppdateringserklæringer for to alternativer

Bruk av Patch-funksjonen med to alternativer skal fungere som den er. Det støtter direkte bruk av sann og usann, på samme måte som boolsk. Den eneste forskjellen er at hvis du hadde satt verdien i en Etikett-kontroll tidligere som viste sann og usann, vil den nå vise de to alternativetikettene i stedet.

Polymorfiske oppslag

Følgende retningslinjer hjelper deg med å oppgradere appen hvis den refererer til polymorfiske felt. Polymorfe oppslag fra samme felt har støtte for referanser til et begrenset sett med tabeller. En oppføringsreferanse er en peker til en bestemt oppføring i en bestemt tabell, på lignende måte som med referanser på andre språk. En oppføringsreferanse inneholder tabellinformasjonen som lar den peke mot en oppføring i andre tabeller, og dette er forskjellig fra et vanlig oppslag som bare kan peke mot oppføringer i én tabell.

Få tilgang til, angi og filtrere etter Eier-feltet for en oppføring

Eier-feltet i en tabell kan for eksempel referere til en oppføring i Brukere-tabellen eller Team-tabellen. Det samme oppslagsfeltet i ulike oppføringer kan referere til oppføringer i ulike tabeller.

Felt for polymorfisk eier.

Polymorfisk med filter og oppdatering

Oppføringsreferanser kan brukes på samme måte som en fullstendig oppføring:

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

Siden en referanse kan peke mot forskjellige tabeller, må du være spesifikk. Du kan ikke bruke ThisItem.Owner.Name, siden navnefeltet i Team-tabellen er Teamnavn og navnefeltet i Bruker-tabellen er Fullt navn. Power Apps vet ikke hvilken type oppslag du refererer til, før du kjører appen.

Slik løser du dette problemet:

  1. Legg til datakildene for enhetstypene som eieren kan være (i gjeldende eksempel brukere og team).
  2. Bruk flere funksjoner til å gjøre hensikten klar.

Det finnes to nye funksjoner du kan bruke til å gjøre følgende:

  • IsType – Kontrollerer om en oppføringsreferanse er av en bestemt tabelltype.
  • AsType – Konverterer en oppføringsreferanse til en bestemt tabelltype.

Med disse funksjonene kan du skrive en formel som viser navnet på eieren som hentes fra to felter med ulike navn, basert på tabelltypen til eieren:

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

Galleri med Som type.

Global tvetydighetsoperator for [@Teams] og [@Users] brukes til å sikre at du refererer til den globale tabelltypen. Selv om det ikke er nødvendig i dette tilfellet, anbefales det at du alltid er tydelig. En-til-mange-relasjoner er ofte i konflikt med oppføringsomfanget for galleriet, og denne øvelsen unngår forvirring.

Få tilgang til og angi Firmanavn-feltet (en Kunde-datatype) i Kontakter-tabellen

Oppslagsfeltet for kunde er et annet polymorfisk oppslag som ligner på eier. Du kan bare ha ett Eier-felt per tabell. Men en tabell kan omfatte null, ett eller flere Kunde-oppslagsfelter. Systemtabellen Kontakter omfatter feltet Firmanavn, som er en forekomst av oppslagsfeltet Kunde. Les Vis feltene for en kunde for mer informasjon.

Få tilgang til og angi Angående-feltet for aktivitetstabeller, for eksempel Telefakser, Telefonsamtaler, E-postmeldinger

Polymorfiske oppslag er ikke begrenset til forretningsforbindelser og kontaktpersoner. Listen over tabeller kan utvides med egendefinerte tabeller. Telefakser-tabellen har for eksempel et polymorft Angående-oppslagsfelt, som kan referere til Forretningsforbindelser, Kontakter og andre tabeller. Hvis du har et galleri med datakilde satt til Fakser, kan du bruke følgende formel til å vise navnet som er knyttet til Angående-oppslagsfeltet.

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.

Les Angående-oppslagsfelt og Angående-relasjoner hvis du vil ha mer informasjon.

Tilgang til listen over alle aktiviteter for en oppføring

I Dataverse betegnes tabeller, for eksempel Telefakser, Oppgaver, E-postmeldinger, Notater, Telefonsamtaler, Brev og Chatter, som aktiviteter. Du kan også opprette dine egne egendefinerte aktivitetstabeller.

Du kan vise aktiviteter av en bestemt type (for eksempel Telefakser eller Avgifter) eller alle aktiviteter som er knyttet til en tabell, for eksempel forretningsforbindelse. Legg til Aktiviteter-tabellen og andre enkelttabeller som du har tenkt å vise data for i lerretsappen.

Hver gang du legger til en oppføring i (Oppgaver-tabellen for eksempel), opprettes det en oppføring i Aktivitet-tabellen med feltene som er felles for alle aktivitetstabellene. Les aktivitetstabellen hvis du vil ha mer informasjon.

Følgende eksempel viser at etter hvert som du velger en forretningsforbindelse, vises alle aktivitetene som er tilknyttet den forretningsforbindelsen:

Polymorfiske aktiviteter.

Oppføringene vises fra Aktivitet-tabellen. Men du kan fremdeles bruke IsType-funksjonen til å identifisere hvilken type aktivitet de er. Du må legge til den nødvendige datakilden før du bruker IsType med en tabelltype.

Ved hjelp av denne formelen kan du vise oppføringstypen i en etikettontroll 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.

Tilgang til listen over merknader for en oppføring

Når du oppretter en tabell, kan du aktivere vedlegg. Hvis du merker av for aktivering av vedlegg, oppretter du en Angående-relasjon til Notater-tabellen, som vises på dette bildet for tabellen Forretningsforbindelser:

Notatfelt.

Filtrering

Du kan ikke lese eller filtrere basert på Angående-feltet. Den omvendte en-til-mange-relasjonen Notes er imidlertid tilgjengelig. Hvis du vil vise alle notatene som er knyttet til en forretningsforbindelsestabell, kan du bruke følgende formel:

First( Accounts ).Notes
Patch

Du kan ikke angi Notater-feltet i en tabell ved hjelp av Patch. Hvis du vil legge til en oppføring i Notater-tabellen for en tabell, kan du bruke Relate-funksjonen. Opprett notatet først, som i dette eksemplet:

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

Neste trinn

Se også

Hva er Dataverse?

Obs!

Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)

Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).