Dela via


Microsoft Dataverse och den förbättrade upplevelsen av datakällan

Översikt

I maj 2021 är många funktioner som tidigare var valfria standardfunktioner för alla nya appar. Den här artikeln innehåller vägledning för användare som har utvecklat en app innan de nya funktionerna introduceras, om hur de uppgraderar sin app för att få tillgång till de senaste funktionerna.

Inbyggd Dataverse

Om du skapade en arbetsyteapp med antingen Dataverse eller Dynamics 365 Connector före november 2019 kanske du inte har till gång till fördelarna med den aktuella funktionen för intern anslutning för Dataverse.

Om du skapade din app före november 2019 och du inte använder en native Dataverse-anslutning, sedan i Inställningar på fliken Kommande funktioner, på fliken "Retired" hittar du alternativet Förbättra datakällans upplevelse och Microsoft Dataverse-vyer tillsammans med Relationsdata, val och andra nya funktioner för Microsoft Dataverse.

Hur gör jag för att uppgradera?

Uppgradera din app genom att kontrollera inställningarna för funktionerna och följ anvisningarna nedan:

Relationsdata, alternativuppsättningar och andra nya funktioner för Microsoft Dataverse är Av

Kontrollera avsnittet Indraget under Kommande funktioner. Om värdet är Av fortsätter du med följande instruktioner som ett första steg i konverteringen.

Om du inte kan se Relationella data, alternativuppsättningar och andra nya funktioner för Microsoft Dataverse under Allmänna inställningar, eller om det redan är , hoppa då över följande steg och fortsätt till nästa avsnitt.

  • Steg 1: aktivera funktionen Använd visningsnamn till :

    1. Ange Använd visningsnamn till .
    2. Vänta tills hälsoövervakaren är klar med analysen av din app.
    3. Spara, stäng och öppna appen igen.
    4. Lös alla formelfel.
    5. Spara, stäng och öppna appen igen.

    Möjliga fel och förslag:

    Det är möjligt att vissa av de nyligen visade visningsnamnen kan komma i konflikt med visningsnamnen för andra tabeller, fält eller kontroller. Du kan till exempel ha en kontroll och ett fält med samma namn. Du kan ändra namnet på kontrollen med ett unikt värde som ska åtgärdas.

    För alla fält och visningsnamn en konflikt kan du se en formel som förväntar sig en tabell men som matchas med ett lokalt omfattande fältnamn.

    Använd fyrkantssymbolen med en @ symbol för att ange en global omfattning så att den matchas mot tabellen, till [@tableName].

  • Steg 2: Ange Relationsdata, alternativuppsättningar och andra nya funktioner för Microsoft Dataverse och Använd GUID typer av data istället för strängar till :

    1. Ange Relationsdata, alternativuppsättningar och andra nya funktioner för Microsoft Dataverse till .
    2. Aktivera funktionen Använd GUID typer av data istället för strängar till .
    3. Vänta tills hälsoövervakaren är klar med analysen av din app.
    4. Lös alla formelfel.
    5. Spara, stäng och öppna appen igen.

    Möjliga fel och förslag:

    Det går att ha fel i det här stadiet om du använder ett urvalsfält eller hårdkodade GUID-textvärden.

    • Valfrihetsvärden: Om du använder ett alternativfält med en textidentifierare för valvärdet använder du punktmarkering i stället för att referera till valvärdet. Till exempel ändras Patch(Accounts, OptionSet1 = “12345”) till Patch(Accounts, OptionSet.Item1) där Item1 motsvarar värdet 12345.
      Mer information: detaljerade exempel.
    • GUIDs: om du använder en statisk GUID-sträng, t.ex. 015e45e1044e49f388115be07f2ee116, konverterar du den till en funktion som returnerar ett GUID-objekt, t.ex. GUID(“015e45e1044e49f388115be07f2ee116”).
    • Uppslag: Om du använder uppslagsfunktioner för att få uppslagsvärden på den första nivån, t.ex. Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), bör du överväga att använda ThisItem.PrimaryContacts (där PrimaryContacts är namnet på tabellen) istället.

Förbättrade datakälla upplevelsen och Microsoft Dataverse vyer är Av

Använd följande instruktion för att aktivera förbättra datakällaerfarenheter och Microsoft Dataverse vyer är funktionen :

  1. Ta bort de befintliga Dataverse datakälla anslutningarna.
  2. Slå funktionen Förbättrade datakälla upplevelsen och Microsoft Dataverse vyer.
  3. Lägg till Dataverse-anslutningen med den nya urvalsfunktionen för datakälla.
  4. Spara programmet.

Anteckning

Om programmet är extremt stort kan det ta en stund att lägga till dina datakällaanslutningar. Stäng inte programmet under den här processen.

Konvertera arbetsappar med Dynamics 365 connector

Om du vill konvertera appen som använder Dynamics 365 connector måste du ta bort och lägga till anslutningarna till dina datakällor. Använd stegen nedan om du vill konvertera dina anslutningar till dina datakällor.

  1. Säkerställ Förbättrade datakälla upplevelsen och Microsoft Dataverse vyer anges till .

  2. Ta bort de befintliga Dynamics 365 datakälla anslutningarna.

  3. Lägg till anslutningarna till datakällorna Dataverse med hjälp av den nya datakälla urvalsfunktionen.

    Anteckning

    • Om du har anslutningar till andra miljöer (andra än aktuella) väljer du Tabell-kategorin och alternativet Mer (...) för att ändra miljön. Du kan sedan välja en tabell från en annan miljö som ska läggas till i programmet. Anslutningar mellan klientorganisationer fungerar inte med den förbättrade inbyggda kopplingen. Du måste använda dataintegrering för att få åtkomst mellan klientorganisationer.
    • Du måste uppfylla ett av följande krav för att kunna se en miljö som du vill lägga till anslutningen för:
      • Du är ägare av appen eller så delas appen med dig som en delägare.
      • Du är medlem i minst en av de här säkerhetsrollerna: Miljöadministratör, Miljöskapare eller Systemadministratör. Om du vill ha mer information om säkerhetsrollerna i en miljö går du till Konfigurera användarsäkerhet för resurser i en miljö.
  4. Spara programmet.

Möjliga fel och förslag:

Det går att få felmeddelanden när du konverterar om: du inte använder visningsnamn, om du använder GUID-strängar eller om du använder ett val.

  • Om kontrollnamns konflikter ändras ändrar du kontrollens namn till annorlunda och unikt.
  • För alla fält och visningsnamn en konflikt kan du se en formel som förväntar sig en tabell men som matchas med ett lokalt omfattande fältnamn. Använd fyrkantssymbolen med en @ symbol för att ange en global omfattning så att den matchas mot tabellen, till [@tableName].
  • Valfrihetsvärden: Om du använder ett alternativfält med en textidentifierare för valvärdet använder du punktmarkering i stället för att referera till valvärdet. Till exempel ändras Patch(Accounts, OptionSet1 = “12345”) till Patch(Accounts, OptionSet.Item1) där Item1 motsvarar värdet 12345.
    Mer information: detaljerade exempel.
  • GUIDs: om du använder en statisk GUID-sträng, t.ex. 015e45e1044e49f388115be07f2ee116, konverterar du den till en funktion som returnerar ett GUID-objekt, t.ex. GUID(“015e45e1044e49f388115be07f2ee116”).
  • Uppslag: Om du använder uppslagsfunktioner för att få uppslagsvärden på den första nivån, t.ex. Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), bör du överväga att använda ThisItem.PrimaryContacts (där PrimaryContacts är namnet på tabellen) istället.
  • Mer information om polymorf referenser finns i avsnittet detaljerade exempel nedan.

Detaljerade exempel

Konvertera din app för att använda de nya datatyperna alternativuppsättningarna och två alternativ med stödjande kontroller kan vara utmanande när du uppgraderar en app för att använda den nya funktionen Förbättra datakälla upplevelse och Microsoft Dataverse vyer.

Val

Separata fält _myfield och _myfield_label användes för att välja tidigare. Det finns en enskild myfield som kan användas både för jämförelse mellan språk och för att få den språkspecifika etiketten.

Ta bort och lägga till datakort

Vi rekommenderar att du tar bort befintliga datakort och lägger tillbaka dem i enlighet med dina egna val. Om du till exempel arbetar med tabellen Konto och valet Kategori ser du att egenskapen DataField för datakorten har angetts till _accountcategorycode_label. Du kan se att datakortet har en typ av sträng i listan:

OptionSet med gammalt stilnamn.

Med den nya förbättrade funktionen datakälla erfarenheter och Microsoft Dataverse vyer visas inte längre _accountcategorycode_label. Den ersätts av accountcategorycode. Ditt kort markeras nu som anpassat och du ser fel. Ta bort det gamla datakortet och lägg till Val på nytt. Det nya datakortet är Val.

OptionSet med nytt stilnamn.

Redigera valfiltret för att använda ny syntax

Om du tidigare vill använda ett valvärde i ett filteruttryck måste du använda fältet Värde. Till exempel:

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

Du måste redigera den här formeln. Alternativtext-identifer används inte längre för värdet. Det här uttrycket bör uppdateras till:

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

'Category(Accounts)' är det uppräkningsnamn som används i fältet Kategori i tabellen Konton. Det här är ett lokalt val. Du kan läsa mer om lokala och globala val här: Globala val.

Redigera programutdrag för val så att ny syntax används

Följande är ett exempel på en tidigare programkorrigeringssats för val:

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

Du måste uppdatera dina uttryck för att följa det här formuläret:

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

Disambiguation vid valfrihet

Om visningsnamnet för ett val fält och namnet på valet är detsamma, du måste göra tydlig på formeln. Om du vill fortsätta använda exemplet med kategorikod för konton måste @ använda alternativet, inte fältet.

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

Två alternativ

Ta bort och lägga till datakort ja/nej

Ta bort befintliga datakort och lägger tillbaka dem i enlighet med ditt ja/nej. Datatyperna identifierades tidigare som enkla boolesk, t.ex. sant/på och falskt/av utan etiketter:

Ja/Nej – gammal stil.

Med den nya funktionen Förbättrade datakälla erfarenheter och Microsoft Dataverse vyer kortet nu som anpassat och du ser fel. Ta bort det gamla datakortet och lägg till Val på nytt. En redigeringskontroll med två alternativ visas som standard när du har lagt till.

Ja/Nej – ny stil.

Om du föredrar växlingskontroll för fältet boolesk kan du låsa upp datakortet och ersätta kontrollen i datakortet med en växling i stället. Du måste också ange de här egenskaperna för växling.

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 )

Två alternativ vippströmställare.

Förfina korrigeringsuttryck med två alternativ

Om du använder funktionen Patch med två alternativ fungerar "som det är". Den stöder direkt användning av sant och falskt, ungefär som boolesk. Den enda skillnaden är att om du har angett värdet i en Etikett-kontroll som har värdet sant och falskt visas nu de två alternativ etiketterna i stället.

Polymorfa uppslag

Följande riktlinjer hjälper dig att uppgradera programmet om det refereras till polymorf fält. För de första uppslagen från samma fält refererar support till en begränsad uppsättning med flera tabeller. På samma sätt som med referenser på andra språk är en postreferens en pekare till en viss post i en viss tabell. En postreferens innehåller tabellinformationen som gör att den kan peka på en post i flera andra tabeller, som skiljer sig från en vanlig sökning som bara kan peka på poster i en tabell.

Åtkomst, ange och filter för en posts ägare fält

Till exempel kan fältet Ägare i en tabell referera till en post i tabellen Användare eller tabellen Team. Samma uppslagsfält i olika poster kan referera till poster i olika tabeller.

Fält för polymorfisk ägare.

Polymorf med Filter och Patch

Postreferenser kan användas på samma sätt som en fullständig post:

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

Eftersom en referens kan peka på olika tabeller måste du vara specifik. Du kan inte använda ThisItem.Owner.Name, som namnfältet i tabellen Team är Teamnamn och namnfältet i tabellen Användare är Fullständigt namn. Power Apps vet inte vilken typ av uppslag du refererar till tills du kör appen.

Så här löser du problemet:

  1. Lägg till datakällorna för de entitetstyper som ägaren kan vara; i det här exemplet är användare och team).
  2. Använd fler funktioner om du vill göra avsikten tydlig.

Det finns två nya funktioner som du kan använda för att:

  • IsType – Kontrollerar om en postreferens är av en viss tabelltyp.
  • AsType – Förutsäger en postreferens till en viss tabelltyp.

Med dessa funktioner kan du skriva en formel som visar namnet på ägaren från två fält med olika namn, baserat på ägarens tabelltyp:

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

Galleri med som typ.

Global disambigueringsoperator för [@Teams] och [@Users] används för att säkerställa att du refererar till den globala tabelltypen. I det här fallet är det inte nödvändigt, men det rekommenderas att alltid vara klart. En till många-relationer ofta en konflikt i galleriets postdefinition och den här metoden undviker missförstånd.

Öppna och ange fältet Företagsnamn (en kunddatatyp) i tabellen Kontakter

Kunduppslagsfältet är en annan polymorf sökning som påminner om ägaren. Du kan bara ha ett Ägarfält per tabell. En tabell kan däremot innehålla uppslagsfälten noll, ett eller flera kunduppslag. Systemtabellen Kontakter inkluderar fältet Företagsnamn, vilket är ett kunduppslagsfält. Läs Visa fälten för en kund för mer information.

Öppna och ange fältet Ämne för aktivitetstabeller som fax, telefonsamtal, e-postmeddelanden

Polymorfa sökningar är inte begränsade till konton och kontakter. Listan med tabeller kan utökas med anpassade tabeller. Den här tabellen innehåller en polymorfisk uppslagstabell för Ämne som kan hänvisa till Konton, Kontakter och andra tabeller. Om du har ett galleri med datakälla som är inställt på fax kan du använda följande formel för att visa namnet som associeras med uppslagsfältet.

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 Angående uppslagsfält och Angående relationer om du vill ha mer information.

Visa en lista över alla aktiviteter för en post

I Dataverse anges tabeller som Fax, Uppgifter, E-postmeddelanden, Anteckningar, Telefonsamtal, Brev och Chattar som aktiviteter. Du kan också skapa egna anpassade aktivitetstabeller.

Du kan visa aktiviteter av en särskild typ (till exempel fax eller moms) eller alla aktiviteter som är associerade med en tabell, till exempel konto. Lägg till tabellen Aktiviteter och andra enskilda tabeller vars data du vill visa i appen.

Varje gång du lägger till en post i (till exempel tabellen Uppgifter) skapas en post i tabellen Aktivitet med fälten som är gemensamma för alla aktivitetstabeller. Mer information finns i aktivitetstabellen.

Följande exempel visar att alla aktiviteter som är associerade med kontot visas när du väljer ett konto:

Polymorfa aktiviteter.

Posterna visas i tabellen Aktivitet. Men du kan fortfarande använda funktionen IsType för att identifiera vilken typ av aktivitet de är. Innan du använder IsType med en tabelltyp måste du lägga till nödvändig datakälla.

Med hjälp av den här formeln kan du visa posttyp i en Etikett-kontroll 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.

Visa en lista över alla kommentarer för en post

När du skapar en tabell kan du aktivera bifogade filer. Om du markerar kryssrutan för att aktivera bifogade filer skapar du en Angående-relation med tabellen Anteckningar, vilket den här bilden visar i tabellen Konton:

Anteckningsfält.

Filtrering

Du kan inte läsa eller filtrera utifrån fältet ämne. Däremot är den omvända kommentarer en till många-relationen tillgänglig. Om du vill skapa en lista över alla anteckningar som är associerade till en kontotabell kan du använda följande formel:

First( Accounts ).Notes
Patch

Du kan inte ange fältet Anteckningar i en tabell med hjälp av Patch. För att lägga till en post i tabellens anteckningstabell kan du använda funktionen Relatera. Skapa anteckningen först på samma sätt som i det här exemplet:

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

Nästa steg

Se även

Vad är Dataverse?

Anteckning

Kan du berätta om dina inställningar för dokumentationsspråk? Svara i en kort undersökning. (observera att undersökningen är på engelska)

Undersökningen tar ungefär sju minuter. Inga personuppgifter samlas in (sekretesspolicy).