Del via


Forstå oppføringsreferanser og polymorfiske oppslag i lerretsapper

Da du skrev et forskningsdokument på skolen, måtte du sannsynligvis oppgi en liste over referansene på slutten. Du inkluderte ikke en kopi av det faktiske bakgrunnsmaterialet du brukte, men i stedet en webkobling, en boktittel og forfatter, eller annen informasjon, slik at noen kan spore den opprinnelige kilden. Du blandet ulike typer kilder i én liste, avisartikler ved siden av lydinnspillinger, hver med sine egne spesifikke detaljer for et riktig sitat. Wikipedia-artikler inneholder for eksempel ofte en lang liste over referanser.

I lerretsapper jobber du ofte med kopier av oppføringer som lastes ned fra datakilder. Du bruker funksjonene LookUp og Filter og Galleri-kontrollens Selected-egenskap for å identifisere oppføringen du vil ha. Alle oppføringene fra Filter eller Valgt kommer til å være av samme tabelltype, slik at du kan bruke felt med en enkel .Field-notasjon. Disse kopiene inneholder ofte referanseinformasjon, slik at du kan bruke Patch-funksjonen til å oppdatere den opprinnelige kilden.

Lerretsapper støtter også oppføringsreferanser. På samme måte som en referanse til forskningsdokument, refererer en oppføringsreferanse til en oppføring uten å inkludere en fullstendig kopi av den. En slik referanse kan referere til en oppføring i enhver tabell. Du kan også kombinere oppføringer fra ulike tabeller i én kolonne, slik som i referanser til forskningsartikler.

Mange operasjoner i oppføringsreferanser er identiske for å arbeide med oppføringer. Du kan sammenligne oppføringsreferanser med hverandre og i fullstendige oppføringer. Du kan angi en oppføringsreferanses verdi med Patch-funksjonen på samme måte som et oppslag med en fullstendig oppføring.

Det finnes én viktig bruksforskjell: Du får ikke direkte tilgang til feltene i en oppføringsreferanse uten først å angi hvilken tabell den refererer til. Dette skyldes at lerretsapper krever at alle typer kalles når du skriver formler. Fordi du ikke vet typen oppføringsreferanse før appen kjører, kan du ikke bruke den enkle .Field-notasjonen direkte. Du må først fastsette tabelltypen dynamisk med IsType-funksjonen og deretter bruke .Field-notasjon på resultatet av AsType-funksjonen.

Tabelltype refererer til skjemaet for hver oppføring i en tabell. Hver tabell har et unikt sett med felter med forskjellige navn og datatyper. Hver oppføring i tabellen arver denne strukturen. To oppføringer har samme tabelltype hvis de kommer fra samme tabell.

Obs!

Du kan velge mellom mange forskjellige koblinger for å koble til ulike datakildetyper for lerretsapper. Når du arbeider med lerretsapper i Power Apps Studio, kalles imidlertid kolonner i Microsoft Dataverse for felter, på lignende måte som alle andre datakilder. Kolonne brukes bare når det refereres til en kolonne i Dataverse. Mer informasjon: Oppdatering av Dataverse-terminologi

Polymorfe oppslag

Microsoft Dataverse støtter relasjoner mellom oppføringer. Hver oppføring i tabellen Forretningsforbindelser har oppslagskolonnen Primær kontakt til en oppføring i Kontakter-tabellen. Oppslaget kan bare referere til en oppføring i Kontakter og kan ikke referere til en oppføring i Team-tabellen. Den siste detaljen er viktig fordi du alltid vet hvilke kolonner som er tilgjengelige for oppslaget.

Dataverse støtter også polymorfe oppslag, som kan referere til en oppføring fra en hvilken som helst tabell i et sett. Eier-kolonnen kan for eksempel referere til en oppføring i Brukere-tabellen eller Team-tabellen. Den samme oppslagskolonnen i ulike oppføringer kan referere til oppføringer i forskjellige tabeller. I dette tilfellet vet du ikke alltid hvilke kolonner er tilgjengelige.

Referanser til lerretsoppføringer er utformet for å fungere med polymorfiske oppslag i Dataverse. Du kan også bruke oppføringsreferanser utenfor denne konteksten, som er forskjellen mellom de to konseptene.

I den neste delen begynner du å utforske disse begrepene ved å jobbe med Eier-oppslaget.

Vise kolonnene til en oppføringseier

Hver tabell i Dataverse inneholder en Eier-kolonne. Denne kolonnen kan ikke fjernes, du kan ikke legge til en ny, og den krever alltid en verdi.

Slik viser du denne kolonnen i tabellen Forretningsforbindelse:

  1. Logg på Power Apps.

  2. Velg Data > Tabeller i venstre rutelinje.

  3. Velg Forretningsforbindelse i listen over tabeller.

  4. Øverst i høyre hjørne åpner du Filter-listen (som er satt til Standard som standard), og deretter velger du Alle.

  5. Rull ned til Eier-kolonnen vises.

    Eier-kolonne i tabellen Forretningsforbindelse.

Denne oppslagskolonnen kan for eksempel referere til en oppføring fra Team-tabellen eller Brukere-tabellen. Ikke alle oppføringer i disse tabellene har tillatelse til å være en Eier. Kontroller rollene som støttes, hvis du får problemer.

Dette bildet viser et enkelt galleri med Forretningsforbindelser der tabellen Forretningsforbindelser er lagt til i appen som en datakilde:

Forretningsforbindelser som vises i en Galleri-kontroll.

Viktig

I dette emnet viser grafikken enkelte navn og andre verdier som ikke er en del av eksempeldataene som leveres med Dataverse. Trinnene viser nøyaktig hvordan du konfigurerer kontroller for et bestemt resultat, men opplevelsen vil variere avhengig av dataene i organisasjonen.

Hvis du vil vise eieren av hver forretningsforbindelse i galleriet, kan det hende du blir fristet til å bruke formelen ThisItem.Owner.Name. Navnefeltet i Team-tabellen er imidlertid Teamnavn, og navnefeltet i Bruker-tabellen er Fullt navn. Appen kan ikke vite hvilken type oppslag du arbeider med før du kjører appen, og den kan variere mellom oppføringer i tabellen Forretningsforbindelser.

Du trenger en formel som kan tilpasses dette avviket. Du må også legge til datakildene for tabelltypene som Eier kan være (i dette tilfellet Brukere og Team). Legg til disse tre datakildene i appen:

Tabellene Forretningsforbindelser, Team og Brukere i Data-ruten.

Med disse datakildene på plass kan du bruke denne formelen til å vise navnet på en bruker eller et team:

If( IsType( ThisItem.Owner, Teams ),
    "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
    "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )

Forretningsforbindelser som vises i en Galleri-kontroll med Eier-feltet vist.

I denne formelen tester IsType-funksjonen Eier-feltet mot Team-tabellen. Hvis den er av denne tabelltypen, konverterer AsType-funksjonen den til en Team-oppføring. På dette punktet får du tilgang til alle feltene i Team-tabellen, inkludert Teamnavn, ved å bruke .Field-notasjonen. Hvis IsType fastsetter at Eier ikke er en oppføring i Team-tabellen, må dette feltet være en oppføring i Brukere-tabellen fordi Eier-feltet er obligatorisk (kan ikke være tomt).

Hvis du vil bruke felter i en oppføringsreferanse, må du først bruke AsType-funksjonen til å konvertere den til en bestemt tabelltype. Du får ikke tilgang til felter direkte fra Eier-feltet, fordi systemet ikke vet hvilken tabelltype du vil bruke.

AsType-funksjonen returnerer en feil hvis Eier-feltet ikke samsvarer med tabelltypen som blir forespurt, slik at du kan bruke IfError-funksjonen til å forenkle denne formelen. Først slår du på den eksperimentelle funksjonene Feiladministrasjon på formelnivå:

Eksperimentell bruker for å aktivere feiladministrasjon på formelnivå.

Deretter erstatter du den forrige formelen med denne:

IfError(
    "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
    "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )

Filtrere basert på en eier

Gratulerer – du har fullført det vanskeligste aspektet ved å jobbe med en oppføringsreferanse. Andre brukstilfeller er enklere fordi de ikke har tilgang til felt i oppføringen. Dette gjelder for eksempel filtrering, som du vil se nærmere på i denne delen.

Legg til en Kombinasjonsboks-kontroll over galleriet, og angi disse egenskapene for den nye kontrollen:

  • Items: Users
  • SelectMultiple: false

Lagt til kombinasjons boks kontroll oven galleriet med Items-egenskap angitt til Users.

Hvis du vil filtrere galleriet etter en bestemt bruker som velges fra denne kombinasjonsboksen, angir du Items-egenskapen for galleriet til denne formelen:

Filter( Accounts, Owner = ComboBox1.Selected )

Filtrert galleri basert på verdi angitt i Kombinasjonsboks-kontrollen.

Viktig

Instruksjonene i dette emnet er nøyaktige hvis du følger fremgangsmåten nøyaktig. En formel som refererer til en kontroll ved hjelp av navnet, mislykkes imidlertid hvis kontrollen har et annet navn. Hvis du sletter og legger til en kontroll av samme type, endres antallet på slutten av kontrollens navn. For en formel som viser en feil, kontrollerer du at den inneholder riktige navn på alle kontrollene.

Du trenger ikke bruke IsType eller AsType fordi du sammenligner oppføringsreferanser med andre oppføringsreferanser eller fullstendige oppføringer. Appen kjenner tabelltypen for ComboBox1.Selected fordi den er avledet fra Brukere-tabellen. Forretningsforbindelser som eieren er et team for, samsvarer ikke med filtervilkåret.

Du kan bli litt mer fancy ved å støtte filtrering etter enten en bruker eller et team.

  1. Lag plass nær toppen av skjermen ved å endre størrelsen på galleriet og flytte kombinasjonsboksen, sette inn en Alternativ-kontroll over galleriet, og angi deretter disse egenskapene for den nye kontrollen:

    • Items: [ "All", "Users", "Teams" ]
    • Layout: Layout.Horizontal
  2. For Kombinasjonsboks-kontrollen angir du denne egenskapen (hvis kombinasjonsboksen forsvinner, velger du Users i Alternativknapp-kontrollen):

    • Visible: Radio1.Selected.Value = "Users"
  3. Kopier og lim inn Kombinasjonsboks-kontrollen, flytt kopien rett over originalen, og angi deretter disse egenskapene for kopien:

    • Items: Teams
    • Visible: Radio1.Selected.Value = "Teams"

    Appen viser bare én kombinasjonsboks om gangen, avhengig av tilstanden til Alternativknapp-kontrollen. Siden de er rett over hverandre, vises de for å være den samme kontrollen som endrer innholdet.

  4. Angi til slutt Items-egenskapen i Galleri-kontrollen til denne formelen:

    Filter( Accounts,
        Radio1.Selected.Value = "All"
        Or (Radio1.Selected.Value = "Users" And Owner = ComboBox1.Selected)
        Or (Radio1.Selected.Value = "Teams" And Owner = ComboBox1_1.Selected)
    )
    

    Filtrert galleri som viser alle oppføringer eller en bestemt bruker eller et team.

Med disse endringene kan du vise alle oppføringer eller filtrere dem basert på enten en bruker eller et team:

Animasjon som viser ulike filtrerte resultater basert på Alternativknapp-kontrollen og kombinasjonsboksene.

Formelen er fullstendig delegerbar. Delen som sammenligner alternativknappverdiene, er en konstant på tvers av alle oppføringer, og evalueres før resten av filteret sendes til Dataverse.

Hvis du vil filtrere etter eiertypen, kan du bruke IsType-funksjonen, men den er ennå ikke delegerbar.

Filtrer etter eiertype ved å bruke IsType.

Oppdatere eieren ved hjelp av Patch

Du kan oppdatere Eier-feltet på samme måte som et annet oppslag. Slik angir du eieren av gjeldende valgte forretningsforbindelse til det første teamet:

Patch( Accounts, Gallery1.Selected, { Owner: First( Teams ) } )

Denne metoden skiller seg ikke fra et vanlig oppslag fordi appen kjenner til typen for First( Teams ). Hvis du vil bruke den første brukeren i stedet, erstatter du den delen med First( Users ). Patch-funksjonen vet at Eier-feltet kan settes til en av disse to tabelltypene.

Slik legger du til denne funksjonaliteten i appen:

  1. I Trevisning-ruten velger du Alternativknapp-kontrollen og de to Kombinasjonsboks-kontrollene samtidig.

  2. Velg Kopier disse elementene på ellipsemenyen.

    Kopi av flere kontroller ved hjelp av trevisningen.

  3. Velg Lim inn på den samme menyen.

    Innliming av flere kontroller ved hjelp av trevisningen.

  4. Flytt de kopierte kontrollene til høyre for galleriet.

    Flyttet kopierte kontroller til høyre for galleriet.

  5. Velg den kopierte Alternativ-kontrollen, og endre disse egenskapene:

    • Items: [ "Users", "Teams" ]
    • Standard: If( IsType( Gallery1.Selected.Owner, Users ), "Users", "Teams" )

    Fjernet All-valget fra Alternativknapp-kontrollen.

  6. I Alternativ-kontrollen velger du Users, slik at Kombinasjonsboks-kontrollen som viser brukere, er synlig.

  7. Velg den synlige Kombinasjonsboks-kontrollen, og angi deretter egenskapen DefaultSelectedItems til denne formelen:

    If( IsType( Gallery1.Selected.Owner, Users ),
        AsType( Gallery1.Selected.Owner, Users ),
        Blank()
    )
    

    Standard egenskapssett for Users-kombinasjonsboksen.

  8. I Alternativ-kontrollen velger du Teams, slik at Kombinasjonsboks-kontrollen som viser team, er synlig.

  9. Velg Alternativ-kontrollen for å fjerne merkingen fra den nå usynlige Kombinasjonsboks-kontrollen for brukere.

  10. Velg den synlige Kombinasjonsboks-kontrollen for team, og angi deretter egenskapen DefaultSelectedItems til denne formelen:

    If( IsType( Gallery1.Selected.Owner, Teams ),
        AsType( Gallery1.Selected.Owner, Teams ),
        Blank()
    )
    

    Standard egenskapssett for Teams-kombinasjonsboksen.

  11. Sett inn en Knapp-kontroll, flytt den under Kombinasjonsboks-kontrollen og angi deretter knappens Text-egenskap til "Patch Owner".

  12. Angi OnSelect-egenskapen for knappen til denne formelen:

    Patch( Accounts, Gallery1.Selected,
        { Owner: If( Radio1_1.Selected.Value = "Users",
                     ComboBox1_2.Selected,
                     ComboBox1_3.Selected ) } )
    

    Formel angitt på Knapp-kontroll.

De kopierte kontrollene Alternativ og Kombinasjonsboks viser eieren for forretningsforbindelsen som er valgt i galleriet. Med de samme kontrollene kan du angi eieren av forretningsforbindelsen til alle team eller brukere ved å klikke på knappen:

Animasjon som viser Patch for eier med enten en bruker eller et team.

Vise eieren ved hjelp av et skjema

Du kan vise et Eier-felt i et skjema ved å legge til et egendefinert kort. På denne måten kan du ikke endre verdien i feltet med en skjemakontroll.

  1. Sett inn en Redigeringsskjema-kontroll, og endre deretter størrelsen på den og flytt den til nedre høyre hjørne.

  2. Egenskaper-fanen mot høyre del av skjermen åpner du Datakilde-listen og velger deretter Forretningsforbindelse.

    Form-kontroll som viser ytterligere felt med tomme verdier.

  3. Angi skjemaets Item-egenskap til Gallery1.Selected.

    Form-kontroll som viser flere felt fylt ut fra det valgte elementet i galleriet.

  4. I Egenskaper-fanen mot høyre del av skjermen velger du Rediger felt.

  5. I Felt-ruten velger du ellipsen, og deretter velger du Legg til et egendefinert kort.

    Kommando for å legge til et egendefinert kort.

    Det nye kortet vises nederst i skjemakontrollen.

  6. Endre størrelsen på kortet etter behov for å vise all teksten.

    Egendefinert, tomt kort satt inn.

  7. Sett inn en Etikett-kontroll i det egendefinerte kortet, og angi deretter etikettens Text-egenskap til formelen du brukte i galleriet:

    If( IsType( ThisItem.Owner, Teams ),
        "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
        "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
    

    Egendefinert kort som viser Eier-feltet i en Etikett-kontroll.

For hvert valg i galleriet vises flere felt for forretningsforbindelsen, inkludert eieren av oppføringen, i skjemaet. Hvis du endrer eieren ved hjelp av Patch-knappen, viser skjemakontrollen også denne endringen.

Animasjon som viser at skjemakontrollen reagerer på endringer i galleriet.

Vise kolonnene til en kunde

I Dataverse er oppslagskolonnen Kunde et annet polymorft oppslag som ligner svært mye på Eier.

Eier er begrenset til én per tabell, men tabeller kan omfatte null, én eller flere forekomster av oppslagskolonnen Kunde. Systemtabellen Kontakter omfatter kolonnen Firmanavn, som er en forekomst av oppslagskolonnen Kunde.

Kontakt-tabellen viser kolonnen Firmanavn som en Kunde-datatype som ikke er nødvendig.

Du kan legge til flere forekomster av oppslagskolonnen Kunde i en tabell ved å velge datatypen Kunde for en ny kolonne.

Kunde-datatypen fra listen over datatyper ved oppretting av en kolonne.

Et Kunde-oppslagsfelt kan referere til en oppføring fra tabellen Forretningsforbindelser eller Kontakter-tabellen. Du bruker funksjonene IsType og AsType med disse tabellene, så nå passer det godt å legge dem til som datakilder (du kan beholde Team og Brukere på plass).

Tabellene Forretningsforbindelser, Team, Brukere og Kontakter i Data-ruten.

Behandlingen av Kunde- og Eier-feltene er så likt at du kan bokstavelig talt kopiere appen (Fil > Lagre som, og angi deretter et annet navn) og gjøre disse enkle erstatningene:

Location Eksempel på Eier Eksempel på Kunde
Hele veien Eier 'Kundenavn'
Hele veien Brukere Forretningsforbindelser
Hele veien Team Kontakter
Galleriets Items-egenskap Forretningsforbindelser Kontakter
Skjemaets Items-egenskap Forretningsforbindelser Kontakter
Det første argumentet for Patch
i knappens OnSelect-egenskap
Forretningsforbindelser Kontakter
Items-egenskapen for alternativ i filteret [ "All", "Users", "Teams" ] [ "All", "Accounts", "Contacts" ]
Items-egenskapen for alternativ i Patch [ "Users", "Teams" ] [ "Accounts", "Contacts" ]
Visible-egenskapen i kombinasjonsboksen "Users" og "Teams" "Accounts" og "Contacts"

Det nye galleriet skal for eksempel ha denne Items-egenskapen:

Filter( Contacts,
    Radio1.Selected.Value = "All"
    Or (Radio1.Selected.Value = "Accounts" And 'Company Name' = ComboBox1.Selected)
    Or (Radio1.Selected.Value = "Contacts" And 'Company Name' = ComboBox1_1.Selected)
)

Kunde-app avledet fra Eier-appen med enkle endringer brukt.

To viktige forskjeller mellom Kunde og Eier krever en oppdatering for formlene i galleriet og skjemaet:

  1. Én-til-mange-relasjoner mellom Forretningsforbindelser og Kontakter prioriteres først når du refererer til disse tabelltypene etter navn. I stedet for Forretningsforbindelser buker du [@Accounts], og i stedet for Kontakter bruker du [@Contacts]. Når du bruker den globale tvetydighetsoperatoren sikrer du at du refererer til tabelltypen i IsType og AsType. Dette problemet finnes bare i oppføringskonteksten i galleri- og skjemakontrollene.

  2. Eier-feltet må ha en verdi, men Kunde-felt kan være tomme. Hvis du vil vise det riktige resultatet uten et typenavn, tester du denne saken ved hjelp av IsBlank-funksjonen og viser en tom tekststreng i stedet.

Begge disse endringene er i samme formel, som vises på det egendefinerte kortet i skjemaet, og i Text-egenskapen for galleriets Etikett-kontrollen:

If( IsBlank( ThisItem.'Company Name' ), "",
    IsType( ThisItem.'Company Name', Accounts ),
        "Account: " & AsType( ThisItem.'Company Name', Accounts ).'Account Name',
    "Contact: " & AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)

Oppdatering for Text-egenskap for Etikett-kontroll for undertittel i galleriet.

Med disse endringene kan du vise og endre feltet Firmanavn i Kontakter-tabellen.

Animasjon som viser hvordan valg av en kontakt endrer de andre kontrollene og skjemaet.

Forstå Angående-oppslagskolonner

Angående-oppslagskolonnen er litt forskjellig fra de du allerede har arbeidet med i dette emnet. Du starter med å bruke mønstrene som dette emnet beskrev tidligere, og deretter lærer du andre triks.

Du kan starte enkelt med Telefakser-tabellen. Denne tabellen har en polymorf Angående-oppslagskolonne, som kan referere til Forretningsforbindelser, Kontakter og andre tabeller. Du kan ta appen for Kunder og endre den for Fakser.

Location Eksempel på Kunde Eksempel på Fakser
Hele veien 'Kundenavn' Angående
Galleriets Items-egenskap Kontakter Telefakser
Skjemaets Items-egenskap Kontakter Telefakser
Det første argumentet for Patch
i knappens OnSelect-egenskap
Kontakter Telefakser

Du må, nok en gang, legge til en datakilde, denne gang for Fakser. Velg DatakilderVis-fanen:

Data-ruten viser tabellene Forretningsforbindelser, Team, Brukere, Kontakter og Telefakser.

En viktig forskjell for Angående er at den ikke er begrenset til Forretningsforbindelser og Kontakter. Listen over tabeller kan faktisk utvides med egendefinerte tabeller. Det meste av appen kan ha plass til dette punktet uten endringer, men du må oppdatere formelen for etiketten i galleriet og skjemaet:

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',
    ""
)

Oppdatert Text-egenskap for undertittelkontrollen for Angående-oppslag.

Når du har gjort disse endringene, arbeider du med Angående-opslagene på samme måte som du gjorde med Eier- og Kunde-oppslagene.

Animasjon som viser hvordan valg av et element i galleriet endrer de andre kontrollene og skjemaet.

Forstå Angående-relasjoner

Angående er forskjellig fra Eier og Kunde, fordi det første involverer en mange-til-én-relasjon. Per definisjon kan du bruke en omvendt én-til-mange-relasjon til å skrive First( Accounts ).Faxes.

La oss gå tilbake og se på tabelldefinisjonene. 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. Når du viser eller oppretter en aktivitetstabell, vises innstillingene for den under Flere innstillinger.

Innstilling for aktivitetstabell når du oppretter en tabell.

Andre tabeller kan knyttes til en aktivitetstabell hvis de er aktivert som en aktivitetsoppgave i innstillingene for tabellen. Forretningsforbindelser, Kontakter og mange andre standardtabeller betegnes slik (igjen under Flere innstillinger).

Innstilling for aktivitetsoppgave når du oppretter en tabell.

Alle aktivitetstabeller og aktivitetsoppgavetabeller har en underforstått relasjon. Hvis du endrer filteret til Alle øverst på skjermen, velger tabellen Telefakser og deretter Relasjoner-fanen, vises alle tabeller som kan være et mål for et Angående-oppslag.

Relasjoner i Telefakser-tabellen som viser mange-til-én-relasjoner for Angående.

Hvis du viser relasjonene for tabellen Forretningsforbindelser, vises alle tabellene som kan være en kilde til et Angående-oppslagsfelt.

Relasjoner i tabellen Forretningsforbindelser som viser mange-til-én-relasjoner for Angående.

Hva innebærer alt dette?

  • Når du skriver formler, må du ta hensyn til at listen over aktivitetstabeller ikke er fast, og at du kan opprette din egen. Formelen må kunne håndtere en aktivitetstabell du ikke forventer, på riktig måte.
  • Aktivitetsoppgaver og aktiviteter har en én-til-mange-relasjon. Du kan enkelt be om alle fakser som er relatert til en forretningsforbindelse.

Slik utforsker du dette konseptet i appen:

  1. Legg til et annet skjermbilde.

    Sett inn en tom skjerm.

  2. Sett inn en Galleri-kontroll, endre størrelsen på den, og flytt den til venstre på skjermen.

  3. I kategorien Egenskaper nær høyre side av skjermen, angir du Items-egenskapen til galleriet til Forretningsforbindelser.

    Angi Items til Forretningsforbindelser i egenskapsrute.

  4. Angi oppsettet for galleriet til Tittel, og angi deretter tittelfeltet til Navn på forretningsforbindelse.

    Angi Layout til Tittel for gallerikontroll i egenskapsruten.

  5. Legg til et nytt galleri, endre størrelsen på det, og flytt den til høyre på skjermen.

  6. Angi det nye galleriets Items-egenskap til Gallery2.Selected.Faxes.

    Dette trinnet returnerer den filtrerte listen over fakser for en gitt forretningsforbindelse.

    Angi Items-egenskapen for galleriet som viser fakser.

  7. Angi oppsettet for galleriet til Tittel og undertittel, og angi deretter Tittel-feltet for å vise Emne-feltet (det kan være et emne med små bokstaver).

    Angi tittel for Emne-feltet.

Når du velger et element fra listen over forretningsforbindelser, viser listen over fakser bare fakser for den forretningsforbindelsen.

Animasjon som viser valget i galleriet over forretningsforbindelser som driver listen over fakser.

Aktivitetstabell

Som forrige del beskriver, kan du vise alle faksene for en forretningsforbindelse. Du kan imidlertid også vise alle aktivitetene for en forretningsforbindelse, inkludert fakser, e-postmeldinger, telefonsamtaler og andre samhandlinger.

For det sistnevnte scenarioet bruker du Aktivitet-tabellen. Du kan vise denne tabellen ved å aktivere Alle i øvre høyre hjørne for å fjerne filteret fra listen over tabeller.

Liste over tabeller som viser Aktivitet-tabellen.

Aktivitet-tabellen er spesiell. Når du legger til en oppføring i Telefakser-tabellen, oppretter systemet også en oppføring i Aktivitet-tabellen med kolonnene som er felles for alle aktivitetstabeller. Av disse kolonnene er Emne en av de mest interessante.

Du kan vise alle aktiviteter ved å endre bare én linje i det forrige eksemplet. Erstatt Gallery2.Selected.Faxes med Gallery2.Selected.Activities.

Endring av Items-egenskapen for det andre galleriet fra fakser til aktiviteter.

Oppføringer kommer fra Aktivitet-tabellen, men du kan likevel bruke IsType-funksjonen til å identifisere hvilken type aktivitet de er. Du må legge til datakilden før du bruker IsType med en tabelltype.

Data-ruten viser alle tabellene som kreves for IsType-funksjonen.

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"
)

Angi tekstegenskapen til formel for å vise informasjon om fakser, telefonsamtaler og andre aktiviteter.

Du kan også bruke AsType for å få tilgang til feltene av den spesifikke typen. Denne formelen fastsetter for eksempel typen for hver aktivitet og viser telefonnummeret og samtaleretningen for telefonsamtaler fra tabellen Telefonnumre:

If( IsType( ThisItem, Faxes ), "Fax",
    IsType( ThisItem, 'Phone Calls' ),
       "Phone Call: " &
       AsType( ThisItem, 'Phone Calls' ).'Phone Number' &
       " (" & AsType( ThisItem, 'Phone Calls' ).Direction & ")",
    IsType( ThisItem, 'Email Messages' ), "Email Message",
    IsType( ThisItem, Chats ), "Chat",
    "Unknown"
)

Utvidet tekstegenskap med mer informasjon om en telefonsamtale.

Dette fører til at appen viser en fullstendig liste over aktiviteter. Emne-feltet vises for alle typer aktiviteter, uansett om formelen fører til en forretningsforbindelse eller ikke. For typer aktiviteter du kjenner til, kan du vise deres typenavn og typespesifikk informasjon om hver aktivitet.

Fullført skjerm som viser informasjon om ulike typer aktiviteter.

Notater-tabellen

Hittil har alle Angående-eksemplene vært basert på aktiviteter, men Notater-tabellen representerer et annet tilfelle.

Når du oppretter en tabell, kan du aktivere vedlegg.

Aktivere vedlegg og notater når du oppretter en tabell.

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:

Tabellen Forretningsforbindelser viser relasjon til Notater via en én-til-mange-relasjon.

Bortsett fra denne forskjellen bruker du Angående-oppslag på samme måte som du bruker aktiviteter. Tabeller som er aktivert for vedlegg, har en én-til-mange-relasjon til Notater, slik som i dette eksemplet:

First( Accounts ).Notes

Obs!

I skrivende stund er ikke Angående-oppslag tilgjengelig for Notater-tabellen. Du kan ikke lese eller filtrere basert på Angående-kolonnen, og du kan ikke angi kolonnen ved hjelp av Patch.

Den omvendte én-til-mange-relasjonen for Notes er imidlertid tilgjengelig, slik at du kan filtrere en liste over notater for en oppføring som er aktivert for vedlegg. Du kan også bruke Relate-funksjonen til å legge til et notat i en oppførings Notes-tabell, men notatet må opprettes først, som i dette eksemplet:

Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note" } ) )

Aktivitetsparter

I skrivende stund støtter ikke lerretsapper aktivitetsparter.

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).