Inspicere den konfigurerede ER-komponent for at undgå kørselsproblemer
Alle konfigurerede komponenter i ER (elektronisk rapportering)-format og modeltilknytningskomponenten kan valideres på designtidspunktet. Under denne validering foretages en konsistenskontrol for at forhindre kørselsproblemer, der kan opstå, f.eks. kørselsfejl og reduktion af ydeevnen. For hvert enkelt problem, der findes, angiver kontrollen stien til et problematisk element. I forbindelse med nogle problemer findes der en automatisk rettelse.
Som standard anvendes valideringen automatisk i følgende tilfælde for en ER-konfiguration, der indeholder de tidligere nævnte ER-komponenter:
- Du importerer en ny version af en ER-konfiguration til din forekomst af Microsoft Dynamics 365 Finance.
- Du ændrer status for den redigerbare ER-konfiguration fra Kladde til Fuldført.
- Du rebaserer en redigerbar ER-konfiguration ved at anvende en ny basisversion.
Du kan køre denne validering eksplicit. Vælg en af følgende tre muligheder, og følg de trin, der er angivet:
Mulighed 1:
- Gå til Virksomhedsadministration > Elektronisk rapportering > Konfigurationer.
- Vælg den ønskede ER-konfiguration, der indeholder komponenten i ER-format eller komponten med ER-modeltilknytningen, i konfigurationstræet i venstre rude.
- I oversigtspanelet Versioner skal du vælge den ønskede version af den valgte ER-konfiguration.
- Vælg Valider i handlingsruden.
Mulighed 2 for ER-format:
- Gå til Virksomhedsadministration > Elektronisk rapportering > Konfigurationer.
- Vælg den ønskede ER-konfiguration, der indeholder komponenten i ER-format, i konfigurationstræet i venstre rude.
- I oversigtspanelet Versioner skal du vælge den ønskede version af den valgte ER-konfiguration.
- Vælg Designer i handlingsruden.
- I handlingsruden på siden Formatdesigner skal du vælge Valider.
Mulighed 3 for ER-modeltilknytning:
- Gå til Virksomhedsadministration > Elektronisk rapportering > Konfigurationer.
- Vælg den ønskede ER-konfiguration, der indeholder komponenten med ER-modeltilknytningen, i konfigurationstræet i venstre rude.
- I oversigtspanelet Versioner skal du vælge den ønskede version af den valgte ER-konfiguration.
- Vælg Designer i handlingsruden.
- Vælg Designer i handlingsruden på siden Tilknytning af model til datakilde.
- Vælg Valider i handlingsruden på siden Modeltilknytningsdesigner.
Hvis du vil springe valideringen over, når konfigurationen importeres, skal du følge disse trin.
- Gå til Virksomhedsadministration > Elektronisk rapportering > Konfigurationer.
- På siden Konfigurationer i handlingsruden skal du under fanen Konfigurationer i gruppen Avancerede indstillinger vælge Brugerparametre.
- Angiv indstillingen Valider konfiguration efter import til Nej.
Hvis du vil springe valideringen over, når du ændrer eller rebaserer versions status, skal du følge disse trin.
- Gå til Virksomhedsadministration > Elektronisk rapportering > Konfigurationer.
- På siden Konfigurationer i handlingsruden skal du under fanen Konfigurationer i gruppen Avancerede indstillinger vælge Brugerparametre.
- Angiv indstillingen Spring validering over ved ændring eller rebasering af konfigurations status til Ja.
ER bruger følgende kategorier til at gruppere inspektioner af konsistenskontrol:
- Mulighed for udførelse – Inspektioner, der registrerer kritiske problemer, der kan opstå på kørselstidspunktet. Disse problemer er hovedsageligt af typen Fejl.
- Ydeevne – Inspektioner, der registrerer problemer, der kan medføre ineffektiv udførelse af konfigurerede ER-komponenter. Disse problemer er hovedsageligt af typen Advarsel.
- Dataintegritet – Inspektioner, der registrerer problemer, der kan medføre tab af data eller kørselsproblemer. Disse problemer er hovedsageligt af typen Advarsel.
Liste over inspektioner
I nedenstående tabel vises en oversigt over de inspektioner, ER tilbyder. Du kan finde flere oplysninger om disse inspektioner ved at bruge linkene i første kolonne til at gå til de relevante afsnit i denne artikel. I disse afsnit forklares de komponenttyper, som ER tilbyder inspektion af, og hvordan du kan omkonfigurere ER-komponenter for at undgå problemer.
Navn | Kategori | Niveau | Melding |
---|---|---|---|
Typekonvertering | Mulighed for udførelse | Fejl |
Et udtryk af typen <type> kan ikke konverteres til et felt af typen <type>. Kørselsfejl: Undtagelse for type |
Typekompatibilitet | Mulighed for udførelse | Fejl |
Det konfigurerede udtryk kan ikke bruges som binding for elementet i det aktuelle format til en datakilde, da dette udtryk returnerer en værdi af datatypen <type>, der ligger uden for det område af datatyper, som understøttes af elementet i det aktuelle format af typen <type>. Kørselsfejl: Undtagelsestype |
Konfigurationselementet mangler | Mulighed for udførelse | Fejl |
Stien blev ikke fundet <sti>. Kørselsfejl: Der blev ikke fundet et element i konfigurations<stien> |
Mulighed for udførelse af et udtryk med FILTER-funktion | Mulighed for udførelse | Fejl |
Der kan ikke forespørges om FILTER-funktionens listeudtryk. Kørselsfejl: Filtrering understøttes ikke. Valider konfigurationen for at få flere oplysninger om dette. |
Mulighed for udførelse af en GROUPBY-datakilde | Mulighed for udførelse | Fejl | Stien <sti> understøtter ikke forespørgsler. |
Mulighed for udførelse | Fejl |
Funktionen Gruppér efter kan ikke udføres med forespørgslen. Kørselsfejl: Funktionen Gruppér efter kan ikke udføres med forespørgslen. |
|
Mulighed for udførelse af en JOIN-datakilde | Mulighed for udførelse | Fejl |
Kan ikke joinforbinde en <sti> til en liste, der ikke er et filter i en forespørgsel. Kørselsfejl: Den joinforbundne funktion skal være et filterudtryk. Det beregnede felt er kaldt forkert. |
Funktionen FILTER foretrækkes frem for WHERE | Ydeevne | Advarsel! | Det foretrækkes at bruge funktionen FILTER til udtrykket frem for WHERE fra et ydeevneperspektiv. Vælg Ret for at erstatte den automatisk. |
Funktionen ALLITEMSQUERY foretrækkes frem for ALLITEMS | Ydeevne | Advarsel! | Det foretrækkes at bruge funktionen ALLITEMSQUERY til udtrykket frem for ALLITEMS fra et ydeevneperspektiv. Vælg Ret for at erstatte den automatisk. |
Overvejelse i forbindelse med sager med tom liste | Mulighed for udførelse | Advarsel! |
Liste<stien> indeholder ikke kontrol af, om sagen har en tom liste. Det kan resultere i en fejl på kørselstidspunktet. Tilføj kontrol af, om sagen har en tom liste. Kørselsfejl: Listen er tom på <stien> Potentielt problem:: Linjen udfyldes én gang, mens en datakilde, som den er udfyldt fra, indeholder flere poster |
Mulighed for udførelse af et udtryk med FILTER-funktion (cachelagring) | Mulighed for udførelse | Fejl |
FILTER-funktionen kan ikke anvendes på den valgte type datakilde. En datakilde af tabelposttypen kan kun anvendes, hvis den ikke er cachelagret, og der ikke er tilføjet indlejrede datakilder manuelt. Kørselsfejl: Filtrering understøttes ikke. Valider konfigurationen for at få flere oplysninger om dette. |
Manglende binding | Mulighed for udførelse | Advarsel! |
Stien <sti> har ingen binding til datakilder, når den bruger modellens tilknytning. Kørselsfejl: Stien <sti> er ikke bundet |
Ikke sammenkædet skabelon | Dataintegritet | Advarsel! | Filens <navn> er ikke kædet sammen med nogen filkomponenter og fjernes, når status for konfigurationsversion er ændret. |
Ikke synkroniseret format | Dataintegritet | Advarsel! | Det definerede navn <komponentnavn> findes ikke i Excel-arket <arknavn> |
Ikke synkroniseret format | Dataintegritet | Advarsel! |
<Kodet kontrol af Word-indhold> kode findes ikke i Word-skabelonfilen Kørselsfejl:<Kodet kontrol af Word-indhold> kode findes ikke i Word-skabelonfilen. |
Ingen standardtilknytning | Dataintegritet | Fejl |
Der findes mere end én modeltilknytning for datamodellen for <modelnavnet (rodbeskrivelsen)> i konfigurationers <konfigurationsnavne adskilt af komma>. Angiv en af konfigurationerne som standard Kørselsfejl: Der findes mere end én modeltilknytning for datamodellen for <modelnavnet (rodbeskrivelsen)> i konfigurationer <konfigurationsnavne adskilt af komma>. Angiv en af konfigurationerne som standard. |
Uoverensstemmende indstilling af komponenter i sidehoved eller sidefod | Dataintegritet | Fejl |
Sidehoveder/sidefødder (<komponenttype: sidehoved eller sidefod>) er uoverensstemmende Kørsel: Den sidste konfigurerede komponent bruges under kørsel, hvis kladdeversionen af det konfigurerede ER-format udføres. |
Uoverensstemmende indstilling af sidekomponent | Dataintegritet | Fejl | Der er mere end to områdekomponenter uden replikering. Fjern unødvendige komponenter. |
Mulighed for udførelse af et udtryk med ORDERBY-funktion | Mulighed for udførelse | Fejl |
Der kan ikke forespørges om ORDERBY-funktionens listeudtryk. Kørselsfejl: Sortering understøttes ikke. Valider konfigurationen for at få flere oplysninger om dette. |
Forældet applikationsgenstand | Dataintegritet | Alarm |
Elementet <sti> er markeret som forældet. Eksempel på kørselsfejl: Klasse '<sti>' blev ikke fundet. |
Typekonvertering
ER undersøger, om datatypen for et datamodelfelt er kompatibel med datatypen for et udtryk, der er konfigureret som binding for dette felt. Hvis datatyperne ikke er kompatible, opstår der en valideringsfejl i ER-modeltilknytningsdesigneren. Den meddelelse, du modtager, angiver, at ER ikke kan konvertere et udtryk af typen A til et felt af typen B.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere komponenterne af typerne ER-datamodeller og ER-modeltilknytninger samtidigt.
Tilføj et felt med navnet X i datamodeltræet, og vælg Heltal som datatype.
I ruden Datakilder for modeltilknytning skal du tilføje en datakilde af typen Beregnet felt.
Navngiv den nye datakilde Y, og konfigurer den, så den indeholder udtrykket
INTVALUE(100)
.Bind X til Y.
I datamodeldesigneren skal du ændre datatypen for X-feltet fra Heltal til Int64.
Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner.
Vælg Valider for at inspicere modeltilknytningskomponenten for den valgte ER-konfiguration på siden Konfigurationer.
Bemærk, at der opstår en valideringsfejl. Meddelelsen angiver, at værdien af den typen Heltal, som udtrykket
INTVALUE(100)
i Y-datakilden returnerer, ikke kan gemmes i datamodelfeltet X af typen Int64.
I følgende illustration vises den kørselsfejl, der opstår, hvis du ignorerer advarslen og vælger Kør for at køre et format, der er konfigureret til at bruge modeltilknytningen.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
Opdater datamodelstrukturen ved at ændre datatypen for datamodelfeltet, så den svarer til datatypen for det udtryk, der er konfigureret til bindingen af det pågældende felt. I det foregående eksempel skal datatypen for feltet X ændres tilbage til Heltal.
Indstilling 2
Opdater modeltilknytningen ved at ændre udtrykket for den datakilde, der er bundet til datamodelfeltet. I det foregående eksempel skal udtrykket for datakilden Y ændres til INT64VALUE(100)
.
Typekompatibilitet
ER undersøger, om datatypen for et formatelement er kompatibel med datatypen for et udtryk, der er konfigureret som binding for det pågældende formatelement. Hvis datatyperne ikke er kompatible, opstår der en valideringsfejl i ER-operationsdesigneren. Den meddelelse, du modtager, angiver, at det konfigurerede udtryk ikke kan bruges som binding for elementet i det aktuelle format til en datakilde, da udtrykket returnerer en værdi af datatypen A, der ligger uden for området af de datatyper, som understøttes af elementet i det aktuelle format af typen B.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere komponenterne af typerne ER-datamodel og ER-format samtidigt.
Tilføj et felt med navnet X i datamodeltræet, og vælg Heltal som datatype.
Tilføj et formatelement af typen Numerisk i formatstrukturtræet.
Navngiv det nye formatelement Y. Vælg Heltal som datatype i feltet Numerisk type.
Bind X til Y.
Skift datatypen for Y-formatelementet fra Heltal til Int64 i formatstrukturtræet.
Vælg Valider for at inspicere den redigerbare formatkomponent på siden Formatdesigner.
Bemærk, at der opstår en valideringsfejl. Meddelelsen angiver, at det konfigurerede udtryk kun kan acceptere Int64-værdier. Derfor kan værdien af X-datamodelfeltet for typen Heltal ikke angives i formatelementet Y.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
Opdater formatstrukturen ved at ændre datatypen for formatelementet Numerisk, så den svarer til datatypen for det udtryk, du har konfigureret til bindingen af det pågældende element. I det foregående eksempel skal værdien Numerisk type for formatelementet X ændres tilbage til Heltal.
Indstilling 2
Opdater formattilknytningen for formatelementet X ved at ændre udtrykket fra model.X
til INT64VALUE(model.X)
.
Konfigurationselementet mangler
ER kontrollerer, om bindingsudtrykkene kun indeholder datakilder, der er konfigureret i den redigerbare ER-komponent. For alle bindinger, der indeholder en datakilde, som mangler i den redigerbare ER-komponent, opstår der en valideringsfejl i ER-operationsdesigneren eller i ER-modeltilknytningsdesigneren.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere komponenterne af typerne ER-datamodeller og ER-modeltilknytninger samtidigt.
Tilføj et felt med navnet X i datamodeltræet, og vælg Heltal som datatype.
I ruden Datakilder for modeltilknytning skal du tilføje en datakilde af typen Beregnet felt.
Navngiv den nye datakilde Y, og konfigurer den, så den indeholder udtrykket
INTVALUE(100)
.Bind X til Y.
Slet datakilden Y i ruden Datakilder i modeltilknytningsdesigneren.
Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner.
Bemærk, at der opstår en valideringsfejl. Meddelelsen angiver, at bindingen af datamodelfeltet X indeholder den sti, der refererer til datakilden Y, men denne datakilde blev ikke fundet.
Automatisk løsning
Vælg Ophæv binding for at løse dette problem automatisk ved at fjerne den manglende datakildebinding.
Manuel løsning
Indstilling 1
Ophæv bindingen af datamodelfeltet X for at stoppe henvisningen til den ikke-eksisterende Y-datakilde.
Indstilling 2
I ruden Datakilder i ER-modeltilknytningsdesigneren skal du tilføje datakilden Y igen.
Mulighed for udførelse af et udtryk med FILTER-funktion
Den indbyggede ER-funktion FILTER bruges til at få adgang til programtabeller, visninger eller dataenheder ved at foretage et enkelt SQL-kald for at hente de nødvendige data som en liste over poster. En datakilde af typen Postliste bruges som argument for denne funktion og angiver programkilden for kaldet. ER kontrollerer, om der kan oprettes en direkte SQL-forespørgsel til en datakilde, der refereres til i FILTER
-funktionen. Hvis der ikke kan oprettes en direkte forespørgsel, opstår der en valideringsfejl i ER-modeltilknytningsdesigneren. Den meddelelse, du modtager, angiver, at det ER-udtryk, der inkluderer FILTER
-funktionen, ikke kan køres på kørselstidspunktet.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere ER-modeltilknytningskomponenten.
Tilføj en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Kreditor. I feltet Tabel skal du vælge VendTable for at angive, at denne datakilde vil anmode om tabellen VendTable.
Tilføj en datakilde af typen Beregnet felt.
Navngiv den nye datakilde FilteredVendor, og konfigurer den, så den indeholder udtrykket
FILTER(Vendor, Vendor.AccountNum="US-101")
.Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner, og kontroller, at udtrykket
FILTER(Vendor, Vendor.AccountNum="US-101")
i datakilden Kreditor kan forespørges.Rediger datakilden Kreditor ved at tilføje et indlejret felt af typen Beregnet felt for at få det relevante kreditorkontonummer.
Navngiv det nye indlejrede felt $AccNumber, og konfigurer det, så det indeholder udtrykket
TRIM(Vendor.AccountNum)
.Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner, og kontroller, at udtrykket
FILTER(Vendor, Vendor.AccountNum="US-101")
i datakilden Kreditor kan forespørges.Bemærk, at der opstår en valideringsfejl, fordi datakilden Kreditor indeholder et indlejret felt af typen Beregnet felt, der ikke tillader, at udtrykket i datakilden FilteredVendor oversættes til den direkte SQL-sætning.
I følgende illustration vises den kørselsfejl, der opstår, hvis du ignorerer advarslen og vælger Kør for at køre et format, der er konfigureret til at bruge modeltilknytningen.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
I stedet for at føje et indlejret felt af typen Beregnet felt til datakilden Kreditor, skal du føje det indlejrede felt $AccNumber til datakilden FilteredVendor og konfigurere det, så det indeholder udtrykket TRIM(FilteredVendor.AccountNum)
. På denne måde kan udtrykket FILTER(Vendor, Vendor.AccountNum="US-101")
køres på SQL-niveau og beregne det indlejrede felt $AccNumber bagefter.
Indstilling 2
Rediger udtrykket i datakilden FilteredVendor fra FILTER(Vendor, Vendor.AccountNum="US-101")
til WHERE(Vendor, Vendor.AccountNum="US-101")
. Det anbefales ikke, at du ændrer udtrykket for en tabel, der har en stor mængde data (transaktionstabel), fordi alle poster hentes, og valg af de nødvendige poster sker i hukommelsen. Denne fremgangsmåde kan derfor forårsage dårlig ydeevne. Yderligere oplysninger finder du i ER-funktionen WHERE.
Mulighed for udførelse af en GROUPBY-datakilde
Datakilden GROUPBY opdeler forespørgselsresultatet i grupper af poster, normalt med det formål at foretage en eller flere sammenlægninger af hver gruppe. Alle GROUPBY-datakilder kan konfigureres, så de køres enten på databaseniveau eller i hukommelsen. Når en GROUPBY-datakilde konfigureres, så den køres på databaseniveau, kontrollerer ER, om der kan oprettes en direkte SQL-forespørgsel til en datakilde, der henvises til i den pågældende datakilde. Hvis der ikke kan oprettes en direkte forespørgsel, opstår der en valideringsfejl i ER-modeltilknytningsdesigneren. Den meddelelse, du modtager, angiver, at den konfigurerede GROUPBY-datakilde ikke kan køres på kørselstidspunktet.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere ER-modeltilknytningskomponenten.
Tilføj en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Trans. I feltet Tabel skal du vælge VendTrans for at angive, at denne datakilde skal anmode om tabellen VendTrans.
Tilføj en datakilde af typen Gruppér efter.
Navngiv den nye datakilde GroupedTrans, og konfigurer den på følgende måde:
- Vælg datakilden Trans som den postkilde, der skal grupperes.
- Vælg Forespørgsel i feltet Udførselssted for at angive, at du vil køre denne datakilde på databaseniveau.
Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner, og kontroller, at den konfigurerede datakilde GroupedTrans kan forespørges.
Rediger datakilden Trans ved at tilføje et indlejret felt af typen Beregnet felt for at få det relevante kreditorkontonummer.
Navngiv den nye datakilde $AccNumber, og konfigurer den, så den indeholder udtrykket
TRIM(Trans.AccountNum)
.Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner, og kontroller, at den konfigurerede datakilde GroupedTrans kan forespørges.
Bemærk, at der opstår en valideringsfejl, fordi datakilden Trans indeholder et indlejret felt af typen Beregnet felt, der ikke tillader, at kaldet til datakilden GroupedTrans oversættes til den direkte SQL-sætning.
I følgende illustration vises den kørselsfejl, der opstår, hvis du ignorerer advarslen og vælger Kør for at køre et format, der er konfigureret til at bruge modeltilknytningen.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
I stedet for at føje et indlejret felt af typen Beregnet felt til datakilden Trans, skal du tilføje det indlejrede felt $AccNumber for elementet GroupedTrans.lines for datakilden GroupedTrans og konfigurere det, så det indeholder udtrykket TRIM(GroupedTrans.lines.AccountNum)
. På denne måde kan datakilden GroupedTrans køres på SQL-niveau og beregne det indlejrede felt $AccNumber bagefter.
Indstilling 2
Rediger værdien i feltet Udførselssted for datakilden GroupedTrans fra Forespørgsel til I hukommelsen. Det anbefales ikke, at du ændrer værdien for en tabel, der har en stor mængde data (transaktionstabel), fordi alle poster hentes, og gruppering og aggregering sker i hukommelsen. Denne fremgangsmåde kan derfor forårsage dårlig ydeevne.
Mulighed for udførelse af en JOIN-datakilde
Datakilden JOIN kombinerer poster fra to eller flere databasetabeller baseret på relaterede felter. Alle JOIN-datakilder kan konfigureres, så de køres enten på databaseniveau eller i hukommelsen. Når en JOIN-datakilde konfigureres, så den køres på databaseniveau, kontrollerer ER, om der kan oprettes en direkte SQL-forespørgsel til datakilder, der henvises til i den pågældende datakilde. Hvis der ikke kan oprettes en direkte SQL-forespørgsel med mindst én henvist datakilde, opstår der en valideringsfejl i ER-modeltilknytningsdesigneren. Den meddelelse, du modtager, angiver, at den konfigurerede JOIN-datakilde ikke kan køres på kørselstidspunktet.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere ER-modeltilknytningskomponenten.
Tilføj en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Kreditor. I feltet Tabel skal du vælge VendTable for at angive, at denne datakilde vil anmode om tabellen VendTable.
Tilføj en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Trans. I feltet Tabel skal du vælge VendTrans for at angive, at denne datakilde skal anmode om tabellen VendTrans.
Tilføj en datakilde af typen Beregnet felt som det indlejrede felt for datakilden Kreditor.
Navngiv den nye datakilde FilteredTrans, og konfigurer den, så den indeholder udtrykket
FILTER(Trans, Trans.AccountNum=Vendor.AccountNum)
.Tilføj en datakilde af typen Join.
Navngiv den nye datakilde JoinedList, og konfigurer den på følgende måde:
- Tilføj datakilden Kreditor som det første sæt poster, der skal joinforbindes.
- Tilføj datakilden Vendor.FilteredTrans som det andet sæt poster, der skal joinforbindes. Vælg INNER som type.
- Vælg Forespørgsel i feltet Udfør for at angive, at du vil køre denne datakilde på databaseniveau.
Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner, og kontroller, at den konfigurerede datakilde JoinedList kan forespørges.
Rediger udtrykket for datakilden Vendor.FilteredTrans fra
FILTER(Trans, Trans.AccountNum=Vendor.AccountNum)
tilWHERE(Trans, Trans.AccountNum=Vendor.AccountNum)
.Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner, og kontroller, at den konfigurerede datakilde JoinedList kan forespørges.
Bemærk, at der opstår valideringsfejl, fordi udtrykket for datakilden Vendor.FilteredTrans ikke kan oversættes til det direkte SQL-kald. Derudover gør det direkte SQL-kald det ikke muligt at oversætte kaldet for datakilden JoinedList til den direkte SQL-sætning.
I følgende illustration vises den kørselsfejl, der opstår, hvis du ignorerer advarslen og vælger Kør for at køre et format, der er konfigureret til at bruge modeltilknytningen.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
Skift udtrykket for datakilden Vendor.FilteredTrans fra WHERE(Trans, Trans.AccountNum=Vendor.AccountNum)
tilbage til FILTER(Trans, Trans.AccountNum=Vendor.AccountNum)
, som advarslen foreslår.
Indstilling 2
Rediger værdien i feltet Udfør for datakilden JoinedList fra Forespørgsel til I hukommelsen. Det anbefales ikke, at du ændrer værdien for en tabel, der har en stor mængde data (transaktionstabel), fordi alle poster hentes, og joinforbindelse foregår i hukommelsen. Denne fremgangsmåde kan derfor forårsage dårlig ydeevne. Der vises en valideringsadvarsel, som oplyser dig om denne risiko.
Funktionen FILTER foretrækkes frem for WHERE
Den indbyggede ER-funktion FILTER bruges til at få adgang til programtabeller, visninger eller dataenheder ved at foretage et enkelt SQL-kald for at hente de nødvendige data som en liste over poster. Funktionen WHERE henter alle poster fra den givne kilde og vælger poster i hukommelsen. En datakilde af typen Postliste bruges som argument for begge funktioner og angiver en kilde til hentning af poster. ER kontrollerer, om der kan oprettes et direkte SQL-kald til en datakilde, der refereres til i WHERE-funktionen. Hvis der ikke kan oprettes et direkte kald, vises der en valideringsadvarsel i ER-modeltilknytningsdesigneren. Den meddelelse, du modtager, anbefaler, at du bruger funktionen FILTER i stedet for funktionen WHERE for at øge effektiviteten.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere ER-modeltilknytningskomponenten.
Tilføj en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Trans. I feltet Tabel skal du vælge VendTrans for at angive, at denne datakilde skal anmode om tabellen VendTrans.
Tilføj en datakilde af typen Beregnet felt som det indlejrede felt for datakilden Kreditor.
Navngiv den nye datakilde FilteredTrans, og konfigurer den, så den indeholder udtrykket
WHERE(Trans, Trans.AccountNum="US-101")
.Tilføj en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Kreditor. I feltet Tabel skal du vælge VendTable for at angive, at denne datakilde vil anmode om tabellen VendTable.
Tilføj en datakilde af typen Beregnet felt.
Navngiv den nye datakilde FilteredVendor, og konfigurer den, så den indeholder udtrykket
WHERE(Vendor, Vendor.AccountNum="US-101")
.Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner.
Bemærk, at valideringsadvarsler anbefaler, at du bruger funktionen FILTER i stedet for funktionen WHERE for datakilderne FilteredVendor og FilteredTrans.
Automatisk løsning
Vælg Ret for automatisk at erstatte funktionen WHERE med funktionen FILTER i udtrykket for alle datakilder, der vises i gitteret under fanen Advarsler for denne type inspektion.
Du kan også vælge rækken for en enkelt advarsel i gitteret og derefter vælge Ret markeret. I dette tilfælde ændres udtrykket automatisk i den datakilde, der er nævnt i den valgte advarsel.
Manuel løsning
Du kan manuelt justere udtrykkene for alle datakilderne i valideringsgitteret ved at erstatte funktionen WHERE med funktionen FILTER.
Funktionen ALLITEMSQUERY foretrækkes frem for ALLITEMS
De indbyggede ER-funktioner ALLITEMS og ALLITEMSQUERY returnerer en flad værdi i Postliste, der består af en liste over poster, som repræsenterer alle elementer, som svarer til den angivne sti. ER kontrollerer, om der kan oprettes et direkte SQL-kald til en datakilde, der refereres til i ALLITEMS-funktionen. Hvis der ikke kan oprettes et direkte kald, vises der en valideringsadvarsel i ER-modeltilknytningsdesigneren. Den meddelelse, du modtager, anbefaler, at du bruger funktionen ALLITEMSQUERY i stedet for funktionen ALLITEMS for at øge effektiviteten.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere ER-modeltilknytningskomponenten.
Tilføj en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Kreditor. I feltet Tabel skal du vælge VendTable for at angive, at denne datakilde vil anmode om tabellen VendTable.
Tilføj en datakilde af typen Beregnet felt for at få poster for flere kreditorer.
Navngiv den nye datakilde FilteredVendor, og konfigurer den, så den indeholder udtrykket
FILTER(Vendor, OR(Vendor.AccountNum="US-101",Vendor.AccountNum="US-102"))
.Tilføj en datakilde af typen Beregnet felt for at få transaktioner for alle filtrerede kreditorer.
Navngiv den nye datakilde FilteredVendorTrans, og konfigurer den, så den indeholder udtrykket
ALLITEMS(FilteredVendor.'<Relations'.'VendTrans.VendTable_AccountNum')
.Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner.
Bemærk, at der opstår en valideringsadvarsel. I meddelelsen anbefales det, at du bruger funktionen ALLITEMSQUERY i stedet for funktionen ALLITEMS for datakilden FilteredVendorTrans.
Automatisk løsning
Vælg Ret for automatisk at erstatte funktionen ALLITEMS med funktionen ALLITEMSQUERY i udtrykket for alle datakilder, der vises i gitteret under fanen Advarsler for denne type inspektion.
Du kan også vælge rækken for en enkelt advarsel i gitteret og derefter vælge Ret markeret. I dette tilfælde ændres udtrykket automatisk i den datakilde, der er nævnt i den valgte advarsel.
Manuel løsning
Du kan manuelt justere udtrykkene for alle de datakilder, der nævnes i valideringsgitteret, ved at erstatte funktionen ALLITEMS med funktionen ALLITEMSQUERY.
Overvejelse i forbindelse med sager med tom liste
Du kan konfigurere din ER-format- eller -modeltilknytningskomponent, så den får feltværdien for en datakilde til typen Postliste. ER kontrollerer, om designet overvejer det tilfælde, hvor en datakilde, der kaldes, ikke indeholder poster (dvs. den er tom), for at forhindre kørselsfejl, når en værdi hentes fra et felt i en post, der ikke findes.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere komponenterne af typerne ER-datamodel, ER-modeltilknytning og ER-format samtidigt.
Tilføj et rodelement med navnet Root3 i datamodeltræet.
Rediger elementet Root3s ved at tilføje et indlejret element af typen Postliste.
Navngiv det nye indlejrede element Kreditor.
Rediger elementet Kreditor på følgende måde:
- Tilføj et indlejret felt af typen Streng, og giv det navnet Name.
- Tilføj et indlejret felt af typen Streng, og giv det navnet AccountNumber.
I ruden Datakilder for modeltilknytning skal du tilføje en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Kreditor. I feltet Tabel skal du vælge VendTable for at angive, at denne datakilde vil anmode om tabellen VendTable.
Tilføj en datakilde af typen Generelt \ Brugerinputparameter for at søge efter en kreditorkonto i kørselsdialogboksen.
Navngiv den nye datakilde RequestedAccountNum. Angiv Kreditors kontonummer i feltet Etiket. Behold standardværdien i feltet Navn på operationsdatatype, Beskrivelse.
Tilføj en datakilde af typen Beregnet felt for at filtrere en kreditor, der forespørges om.
Navngiv den nye datakilde FilteredVendor, og konfigurer den, så den indeholder udtrykket
FILTER(Vendor, Vendor.AccountNum=RequestedAccountNum)
.Bind datamodelelementerne til konfigurerede datakilder på følgende måde:
- Bind FilteredVendor til Kreditor.
- Bind FilteredVendor.AccountNum til Vendor.AccountNumber.
- Bind FilteredVendor.'name()' til Vendor.Name.
Tilføj følgende elementer i formatstrukturtræet for at generere et udgående dokument i XML-format, der indeholder kreditoroplysningerne:
Tilføj rod-XML-elementet Sætning.
Tilføj det indlejrede XML-element Part for XML-elementet Sætning.
Tilføj følgende indlejrede XML-attributter for XML-elementet Part:
- Navn
- AccountNum
Bind formatelementer til de angivne datakilder på følgende måde:
- Bind formatelementet Sætning\Part\Name til datakildefeltet model.Vendor.Name.
- Bind formatelementet Sætning\Part\AccountNum til datakildefeltet model.Vendor.AccountNumber.
Vælg Valider for at inspicere den redigerbare formatkomponent på siden Formatdesigner.
Bemærk, at der opstår en valideringsfejl. Meddelelsen angiver, at der muligvis udløses en fejl for de konfigurerede formatkomponenter Sætning\Part\Name og Sætning\Part\AccountNum på kørselstidspunktet, hvis listen
model.Vendor
er tom.
I følgende illustration vises den kørselsfejl, der opstår, hvis du ignorerer advarslen. Vælg Kør for at køre formatet, og vælg kontonummeret for en kreditor, der ikke findes. Da den ønskede kreditor ikke findes, vil listen model.Vendor
være tom (dvs. at den ikke indeholder nogen poster).
Automatisk løsning
Du kan vælge Ophæv binding for den valgte række i gitteret under fanen Advarsler. Den binding, der peges på i kolonnen Sti, fjernes automatisk fra formatelementerne.
Manuel løsning
Indstilling 1
Du kan binde formatelementet Sætning\Part\Name til datakildeelementet model.Vendor
. På kørselstidspunktet kalder denne binding først datakilden model.Vendor
. Når model.Vendor
returnerer en tom postliste, køres de indlejrede formatelementer ikke. Derfor forekommer der ingen valideringsadvarsler for denne formatkonfiguration.
Indstilling 2
Skift bindingen for formatelementet Sætning\Part\Name fra model.Vendor.Name
til FIRSTORNULL(model.Vendor).Name
. Den opdaterede binding konverterer betinget den første post i datakilden model.Vendor
typen Postliste til en ny datakilde af typen Post. Den nye datakilde indeholder det samme sæt felter.
- Hvis mindst én post er tilgængelig i datakilden
model.Vendor
, udfyldes felterne i den pågældende post med værdierne fra felterne i den første post i datakildenmodel.Vendor
. I dette tilfælde returnerer den opdaterede binding kreditorens navn. - Ellers udfyldes alle felter i den post, der oprettes, med standardværdien for datatypen i det pågældende felt. I dette tilfælde returneres den tomme streng som standardværdi for datatypen Streng.
Derfor forekommer der ingen valideringsadvarsler for Sætning\Part\Name, når det er bundet til udtrykket FIRSTORNULL(model.Vendor).Name
.
Indstilling 3
Hvis du eksplicit vil angive de data, der er angivet i et genereret dokument, når datakilden model.Vendor
af typen Postliste ikke returnerer poster (teksten Ikke tilgængelig i dette eksempel), skal du ændre bindingen af formatelementet Sætning\Part\Name fra model.Vendor.Name
til IF(NOT(ISEMPTY(model.Vendor)), model.Vendor.Name, "Not available")
. Du kan også bruge udtrykket IF(COUNT(model.Vendor)=0, model.Vendor.Name, "Not available")
.
Yderligere overvejelser
I inspektionen får du også en advarsel om et andet potentielt problem. Efterhånden som du binder formatelementerne Sætning\Part\Name og Sætning\Part\AccountNum til de rette felter for datakilden model.Vendor
af typen Postliste, køres disse bindinger og henter værdierne for de rette felter for den første i datakilden model.Vendor
, hvis denne liste ikke er tom.
Da du ikke har bundet formatelementet Sætning\Part til datakilden model.Vendor
, vil elementet Sætning\Part ikke blive gentager for hver post i datakilden model.Vendor
under formatudførelse. Et genereret dokument vil i stedet kun blive udfyldt med oplysninger fra den første post på listen over poster, hvis den pågældende liste indeholder flere poster. Der kan derfor være et problem, hvis formatet er beregnet til at udfylde et genereret dokument med oplysninger om alle kreditorer fra datakilden model.Vendor
. Du kan løse dette problem ved at binde elementet Sætning\Part til datakilden model.Vendor
.
Mulighed for udførelse af et udtryk med FILTER-funktion (cachelagring)
Flere indbyggede ER-funktioner, herunder FILTER og ALLITEMSQUERY, bruges til at få adgang til programtabeller, visninger eller dataenheder ved at foretage et enkelt SQL-kald for at hente de nødvendige data som en liste over poster. En datakilde af typen Postliste bruges som argument for hver af disse funktioner og angiver en programkilde for kaldet. ER kontrollerer, om der kan oprettes et direkte SQL-kald til en datakilde, der refereres til i en af disse funktioner. Hvis der ikke kan oprettes et direkte kald, fordi datakilden var markeret som cachelagret, opstår der en valideringsfejl i ER-modeltilknytningsdesigneren. Den meddelelse, du modtager, angiver, at det ER-udtryk, der indeholder en af disse funktioner, ikke kan køres på kørselstidspunktet.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere ER-modeltilknytningskomponenten.
Tilføj en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Kreditor. I feltet Tabel skal du vælge VendTable for at angive, at denne datakilde vil anmode om tabellen VendTable.
Tilføj en datakilde af typen Generelt \ Brugerinputparameter for at søge efter en kreditorkonto i kørselsdialogboksen.
Navngiv den nye datakilde RequestedAccountNum. Angiv Kreditors kontonummer i feltet Etiket. Behold standardværdien i feltet Navn på operationsdatatype, Beskrivelse.
Tilføj en datakilde af typen Beregnet felt for at filtrere en kreditor, der forespørges om.
Navngiv den nye datakilde FilteredVendor, og konfigurer den, så den indeholder udtrykket
FILTER(Vendor, Vendor.AccountNum=RequestedAccountNum)
.Markér den konfigurerede Kreditor-datakilde som cachelagret.
Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner.
Bemærk, at der opstår en valideringsfejl. Meddelelsen angiver, at funktionen FILTER ikke kan anvendes på den cachelagrede Kreditor-datakilde.
I følgende illustration vises den kørselsfejl, der opstår, hvis du ignorerer advarslen og vælger Kør for at køre formatet.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
Fjern flaget Cache fra datakilden Kreditor. Datakilden FilteredVendor bliver derefter eksekverbar, men datakilden Kreditor, der refereres til i tabellen VendTable, åbnes, hver gang datakilden FilteredVendor kaldes.
Indstilling 2
Rediger udtrykket i datakilden FilteredVendor fra FILTER(Vendor, Vendor.AccountNum="US-101")
til WHERE(Vendor, Vendor.AccountNum="US-101")
. I dette tilfælde åbnes datakilden Kreditor, der refereres til i tabellen VendTable, kun under det første opkald fra datakilden Kreditor. Valg af poster sker dog i hukommelsen. Denne fremgangsmåde kan derfor forårsage dårlig ydeevne.
Manglende binding
Når du konfigurerer en ER-formatkomponent, tilbydes ER-basisdatamodellen som standarddatakilde for ER-formatet. Når det konfigurerede ER-formatet køres, bruges standardmodeltilknytningen for basismodellen til at udfylde datamodellen med programdata. ER-formatdesigneren viser en advarsel, hvis du binder et formatelement til et datamodelelement, der ikke er bundet til en datakilde i den modeltilknytning, der aktuelt er valgt som standardmodeltilknytning for det redigerbare format. Denne bindingstype kan ikke køres på kørselstidspunktet, fordi det format, der køres, ikke kan udfylde et bundet element med programdata. Derfor opstår der en fejl på kørselstidspunktet.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere komponenterne af typerne ER-datamodel, ER-modeltilknytning og ER-format samtidigt.
Tilføj et rodelement med navnet Root3 i datamodeltræet.
Rediger elementet Root3s ved at tilføje et nyt indlejret element af typen Postliste.
Navngiv det nye indlejrede element Kreditor.
Rediger elementet Kreditor på følgende måde:
- Tilføj et indlejret felt af typen Streng, og giv det navnet Name.
- Tilføj et indlejret felt af typen Streng, og giv det navnet AccountNumber.
I ruden Datakilder for modeltilknytning skal du tilføje en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Kreditor. I feltet Tabel skal du vælge VendTable for at angive, at denne datakilde vil anmode om tabellen VendTable.
Tilføj en datakilde af typen Generelt \ Brugerinputparameter for at forespørge om en kreditorkonto i kørselsdialogboksen.
Navngiv den nye datakilde RequestedAccountNum. Angiv Kreditors kontonummer i feltet Etiket. Behold standardværdien i feltet Navn på operationsdatatype, Beskrivelse.
Tilføj en datakilde af typen Beregnet felt for at filtrere en kreditor, der forespørges om.
Navngiv den nye datakilde FilteredVendor, og konfigurer den, så den indeholder udtrykket
FILTER(Vendor, Vendor.AccountNum=RequestedAccountNum)
.Bind datamodelelementerne til konfigurerede datakilder på følgende måde:
- Bind FilteredVendor til Kreditor.
- Bind FilteredVendor.AccountNum til Vendor.AccountNumber.
Bemærk!
Datamodelfeltet Vendor.Name forbliver ubundet.
Tilføj følgende elementer i formatstrukturtræet for at generere et udgående dokument i XML-format, der indeholder oplysningerne om de kreditorer, der forespørges om:
Tilføj rod-XML-elementet Sætning.
Tilføj det indlejrede XML-element Part for XML-elementet Sætning.
Tilføj følgende indlejrede XML-attributter for XML-elementet Part:
- Navn
- AccountNum
Bind formatelementerne til de angivne datakilder på følgende måde:
- Bind formatelementet Sætning\Part til datakildeelementet
model.Vendor
. - Bind formatelementet Sætning\Part\Name til datakildefeltet model.Vendor.Name.
- Bind formatelementet Sætning\Part\AccountNum til datakildefeltet model.Vendor.AccountNumber.
- Bind formatelementet Sætning\Part til datakildeelementet
Vælg Valider for at inspicere den redigerbare formatkomponent på siden Formatdesigner.
Bemærk, at der opstår en valideringsadvarsel. Meddelelsen angiver, at datakildefeltet model.Vendor.Name ikke er bundet til nogen datakilde i den modeltilknytning, der er konfigureret til at blive brugt af formatet. Formatelementet Sætning\Part\Name udfyldes muligvis ikke ved kørsel, og der kan forekomme en kørselsundtagelse.
I følgende illustration vises den kørselsfejl, der opstår, hvis du ignorerer advarslen og vælger Kør for at køre formatet.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
Rediger den konfigurerede modeltilknytning ved at føje en binding til datakildefeltet model.Vendor.Name.
Indstilling 2
Rediger det konfigurerede format ved at fjerne en binding for formatelementet Sætning\Part\Name.
Ikke sammenkædet skabelon
Når du manuelt konfigurerer en ER-formatkomponent for at bruge en skabelon til at generere et udgående dokument, skal du tilføje elementet Excel\Fil manuelt, tilføje den ønskede skabelon som en vedhæftet fil til den redigerbare komponent og markere den vedhæftede fil i det tilføjede Excel\Fil-element. På denne måde angiver du, at det tilføjede element vil udfylde den valgte skabelon på kørselstidspunktet. Når du konfigurerer en version af formatkomponenten i Kladde-status, kan du føje flere skabeloner til den redigerbare komponent og derefter vælge hver skabelon i elementet Excel\Fil for at køre ER-formatet. På denne måde kan du se, hvordan de forskellige skabeloner udfyldtes på kørselstidspunktet. Hvis du har skabeloner, der ikke er valgt i nogen Excel\Fil-elementer, advarer ER-formatdesigneren dig om, at disse skabeloner slettes fra den version af ER-formatkomponenten, der kan redigeres, når dens status ændres fra Kladde til Fuldført.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere ER-formatkomponenten.
Tilføj elementet Excel\Fil i formatstrukturtræet.
I det Excel\Fil-element, du lige har tilføjet, kan du tilføje en Excel-projektmappefil, A.xlsx, som en vedhæftet fil. Brug den dokumenttype, der er konfigureret i ER-parametrene, til at angive lagringen af ER-formatskabeloner.
I Excel\Fil-elementet skal du tilføje en anden Excel-projektmappefil, B.xlsx, som en vedhæftet fil. Brug den samme dokumenttype, der bruges til projektmappefilen A.
Vælg projektmappefilen A i elementet Excel\Fil.
Vælg Valider for at inspicere den redigerbare formatkomponent på siden Formatdesigner.
Bemærk, at der opstår en valideringsadvarsel. Meddelelsen angiver, at projektmappefilen B.xlsx ikke er kædet sammen med nogen komponenter, og at den fjernes, når status for konfigurationsversionen ændres.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Rediger det konfigurerede format ved at fjerne alle skabeloner, der ikke er sammenkædet med et Excel\Fil-element.
Ikke synkroniseret format
Når du konfigurerer en ER-formatkomponent for at bruge en Excel-skabelon til at generere et udgående dokument, kan du tilføje elementet Excel\Fil manuelt, tilføje den ønskede skabelon som en vedhæftet fil til den redigerbare komponent og markere den vedhæftede fil i det tilføjede Excel\Fil-element. På denne måde angiver du, at det tilføjede element vil udfylde den valgte skabelon på kørselstidspunktet. Da den tilføjede Excel-skabelon er designet eksternt, kan det redigerbare ER-format indeholde Excel-navne, der mangler i den tilføjede skabelon. ER-formatdesigneren advarer dig om eventuelle uoverensstemmelser mellem egenskaberne for de ER-formatelementer, der refererer til navne, som ikke er medtaget i den tilføjede Excel-skabelon.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere ER-formatkomponenten.
Tilføj Excel\Fil-elementet Rapport i formatstrukturtræet.
I det Excel\Fil-element, du lige har tilføjet, kan du tilføje en Excel-projektmappefil, A.xlsx, som en vedhæftet fil. Brug den dokumenttype, der er konfigureret i ER-parametrene, til at angive lagringen af ER-formatskabeloner.
Vigtig
Kontrollér, at den tilføjede Excel-projektmappe ikke indeholder navnet ReportTitle.
Tilføj følgende Excel\Celle-element Titel som et indlejret element i elementet Rapport. I feltet Excel-interval skal du indtaste ReportTitle.
Vælg Valider for at inspicere den redigerbare formatkomponent på siden Formatdesigner.
Bemærk, at der opstår en valideringsadvarsel. Meddelelsen angiver, at navnet ReportTitle ikke findes på arket Ark1 i den Excel-skabelon, du bruger.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
Rediger det konfigurerede format ved at fjerne alle de elementer, der refererer til de Excel-navne, som mangler i skabelonen.
Indstilling 2
Opdater det redigerbare ER-format ved at importere en Excel-skabelon. Strukturen af det redigerbare ER-format synkroniseres med strukturen af den importerede Excel-skabelon.
Yderligere overvejelser
Hvis du vil vide, hvordan formatstrukturen kan synkroniseres med en ER-skabelon i skabeloneditoren for styring af forretningsdokumenter, skal du se Opdatere strukturen for en forretningsdokumentskabelon.
Ikke synkroniseret med et Word-skabelonformat
Når du konfigurerer en ER-formatkomponent for at bruge en Word-skabelon til at generere et udgående dokument, kan du tilføje elementet Excel\Fil manuelt, tilføje den ønskede Word-skabelon som en vedhæftet fil til den redigerbare komponent og markere den vedhæftede fil i det tilføjede Excel\Fil-element.
Bemærk!
Når Word-dokumentet er vedhæftet, viser ER-formatdesigneren det element, der kan redigeres, som Word\Fil.
På denne måde angiver du, at det tilføjede element vil udfylde den valgte skabelon på kørselstidspunktet. Da den tilføjede Word-skabelon er designet eksternt, kan det redigerbare ER-format indeholde Word-navne, der mangler i den tilføjede skabelon. ER-formatdesigneren advarer dig om eventuelle uoverensstemmelser mellem egenskaberne for de ER-formatelementer, der refererer til navne, som ikke er medtaget i den tilføjede Word-skabelon.
Du kan se et eksempel på, hvordan dette problem kan forekomme, under Konfigurere det format, der kan redigeres, hvis du vil udelade oversigtsafsnittet.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
Rediger det konfigurerede format ved at slette formlen Fjernet fra det formatelement, der nævnes i valideringsadvarslen.
Indstilling 2
Rediger brug af Word-skabelonen ved at tilføje den påkrævede mærkat til det relevante indhold i Word-kontrolelementet.
Ingen standardtilknytning
Når den Manglende bindende inspektion udføres, evalueres de inspicerede format bindinger i forhold til bindingerne fra den relevante modeltilknytningskomponent. Da du kan importere flere ER-modeltilknytningskonfigurationer til din finansforekomst, og hver konfiguration kan indeholde den relevante modeltilknytningskomponent, skal du vælge én konfiguration som standardkonfiguration. Ellers vil der forekomme en undtagelse, når du prøver at køre, redigere eller validere det inspicerede ER-format, og du vil modtage følgende meddelelse: "Der findes mere end én modeltilknytning for <model name (root descriptor)> datamodellen i konfigurationerne <configuration names separated by comma>. Angiv en af konfigurationerne som standard."
Du kan se et eksempel på, hvordan dette problem kan forekomme, og hvordan det kan rettes, under Administrer flere afledte tilknytninger for en enkelt modelrod.
Uoverensstemmende indstilling af komponenter i sidehoved eller sidefod
Når du konfigurerer en ER-formatkomponent til at bruge en Excel-skabelon til at generere et udgående dokument, kan du tilføje komponenten Excel\overskrift for at indsætte overskrifter øverst i et regneark i en Excel-projektmappe. Du kan også tilføje komponenten Excel\sidefod, hvis du vil udfylde sidefødder nederst i et regneark. For hver komponent i Excel\sidehoved eller Excel\sidefod, du tilføjer, skal du angive de Sidehoved-/sidefod-egenskaber, der skal angive de sider, komponenten skal føres for. Da du kan konfigurere flere komponenter i Excel\sidehoved eller Excel\sidefod til en komponent i et enkelt ark, og du kan generere forskellige sidehoveder eller sidefødder til forskellige typer sider i et Excel-regneark, skal du konfigurere en enkelt komponent i Excel\sidehoved eller Excel\sidefod for en bestemt værdi af egenskaben for udseende som sidehoved/sidefod. Hvis der er konfigureret mere end én komponent i Excel\sidehoved eller Excel\sidefod til en bestemt værdi af egenskaben for sidehovedets/sidefodens udseende, opstår der en valideringsfejl, og du modtager følgende fejlmeddelelse: "Sidehoveder/sidefødder (<komponenttype: sidehoved eller sidefod>) er uoverensstemmende."
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
Rediger det konfigurerede format ved at slette en af de uoverensstemmende komponenter Excel\sidehoved eller Excel\sidefod.
Indstilling 2
Rediger værdien for egenskaben for udseendet af sidehovedet eller sidefoden for en af de uoverensstemmende komponenter i Excel\sidehoved eller Excel\sidefod.
Uoverensstemmende indstilling af sidekomponent
Når du konfigurerer en ER-formatkomponent til at bruge en Excel-skabelon til at generere et udgående dokument, kan du tilføje Excel\-side komponenten for at sideopdele et genereret dokument ved at bruge ER-formler. For hver Excel\-side-komponent, du tilføjer, kan du tilføje mange indlejrede område-komponenter og stadig være kompatibel med følgende struktur:
- Den første indlejrede Område-komponent kan konfigureres, så egenskaben Replikeringsretning angives til Ingen replikering. Dette område bruges til at oprette sidehoveder i genererede dokumenter.
- Du kan tilføje mange andre indlejrede område-komponenter, hvor egenskaben Replikeringsretning er angivet som Lodret. Disse områder bruges til at udfylde genererede dokumenter.
- Den sidste indlejrede Område-komponent kan konfigureres, så egenskaben Replikeringsretning angives til Ingen replikering. Dette område bruges til at oprette sidefodsfødder i genererede dokumenter og til at tilføje de nødvendige sideskift.
Hvis du ikke følger denne struktur for et ER-format i ER-formatdesigneren på designtidspunktet, opstår der en valideringsfejl, og du modtager følgende fejlmeddelelse: "Der er mere end to områdekomponenter uden replikering. Fjern unødvendige komponenter."
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
Rediger det konfigurerede format ved at ændre egenskaben Replikeringsretning for alle uoverensstemmende Excel\-område-komponenter.
Mulighed for udførelse af et udtryk med ORDERBY-funktion
Den indbyggede ORDERBY ER-funktion bruges til at sortere posterne i en ER-datakilde for den Postlistetype, der er angivet som et argument for funktionen.
Argumenter til ORDERBY
-funktionen kan angives for at sortere poster til programtabeller, visninger eller dataenheder ved at foretage et kald til en enkelt database for at få de sorterede data som en liste over poster. En datakilde af typen Postliste bruges som argument for denne funktion og angiver programkilden for kaldet.
ER kontrollerer, om der kan oprettes en direkte databaseforespørgsel til en datakilde, der refereres til i ORDERBY
-funktionen. Hvis der ikke kan oprettes en direkte forespørgsel, opstår der en valideringsfejl i ER-modeltilknytningsdesigneren. Den meddelelse, du modtager, angiver, at det ER-udtryk, der inkluderer ORDERBY
-funktionen, ikke kan køres på kørselstidspunktet.
Følgende fremgangsmåde viser, hvordan dette problem kan opstå.
Start med at konfigurere ER-modeltilknytningskomponenten.
Tilføj en datakilde af typen Dynamics 365 for Operations \ Tabelposter.
Navngiv den nye datakilde Kreditor. I feltet Tabel skal du vælge VendTable for at angive, at denne datakilde vil anmode om tabellen VendTable.
Tilføj en datakilde af typen Beregnet felt.
Navngiv den nye datakilde OrderedVendors, og konfigurer den, så den indeholder udtrykket
ORDERBY("Query", Vendor, Vendor.AccountNum)
.Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner, og kontrollér, at udtrykket i datakilden OrderedVendors kan forespørges.
Rediger datakilden Kreditor ved at tilføje et indlejret felt af typen Beregnet felt for at få det relevante kreditorkontonummer.
Navngiv det nye indlejrede felt $AccNumber, og konfigurer det, så det indeholder udtrykket
TRIM(Vendor.AccountNum)
.Vælg Valider for at inspicere den redigerbare modeltilknytningskomponent på siden Modeltilknytningsdesigner, og kontrollér, at udtrykket i datakilden Vendor kan forespørges.
Bemærk, at der opstår en valideringsfejl, fordi datakilden Vendor indeholder et indlejret felt af typen Beregnet felt, der ikke tillader, at udtrykket i datakilden OrderedVendors oversættes til den direkte SQL-sætning. Samme fejl opstår under kørslen, hvis du ignorerer valideringsfejlen og vælger Kør for at køre denne modeltilknytning.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Indstilling 1
I stedet for at føje et indlejret felt af typen Beregnet felt til datakilden Vendor, skal du føje det indlejrede felt $AccNumber til datakilden FilteredVendors og konfigurere feltet, så det indeholder udtrykket TRIM(FilteredVendor.AccountNum)
. På denne måde kan udtrykket ORDERBY("Query", Vendor, Vendor.AccountNum)
køres på databaseniveau, og beregningen af det indlejrede felt $AccNumber kan foretages bagefter.
Indstilling 2
Rediger udtrykket i datakilden FilteredVendors fra ORDERBY("Query", Vendor, Vendor.AccountNum)
til ORDERBY("InMemory", Vendor, Vendor.AccountNum)
. Det anbefales ikke, at du ændrer udtrykket for en tabel, der har en stor mængde data (transaktionstabel), fordi alle poster hentes, og sortering af de nødvendige poster sker i hukommelsen. Denne fremgangsmåde kan derfor forårsage dårlig ydeevne.
Forældet applikationsgenstand
Når du designer en ER-modeltilknytningskomponent eller en ER-formatkomponent, kan du konfigurere et ER-udtryk til at kalde en applikationsgenstande i ER, f.eks. en databasetabel, en klassemetode osv. I Finans-version 10.0.30 og senere kan du tvinge ER til at advare dig om, at den applikationsgenstande, der henvises til, er markeret som forældet i kildekoden. Denne advarsel kan være nyttig, fordi forældede genstande til sidst fjernes fra kildekoden. Når du får besked om statussen for en genstand, kan det stoppe dig at bruge den forældede genstand i ER-komponenten, før den fjernes fra kildekoden, hvilket hjælper dig med at forhindre fejl i at kalde ikke-eksisterende applikationsgenstande fra en ER-komponent under kørslen.
Aktiver funktionen Valider forældede elementer i datakilder for elektronisk rapportering i arbejdsområdet til funktionsstyring for at begynde at evaluere den forældede attribut af programgenstande under inspektionen af en ER-komponent, der kan redigeres. Den forældede attribut evalueres i øjeblikket for følgende typer applikationsgenstande:
- Databasetabel
- Tabelfelt
- Tabelmetode
- Applikationsklasse
- Klassemetode
Bemærk!
Der vises en advarsel under inspektionen af den redigerbare ER-komponent for en datakilde, der kun henviser til en forældet genstand, når denne datakilde bruges i mindst én binding af denne ER-komponent.
Tip!
Når SysObsoleteAttribute-klassen bruges til at give kompileren besked om at udstede advarselsmeddelelser i stedet for fejl, viser inspektionsadvarslen den, der er angivet i kildekodeadvarslen på designtid i oversigtspanelet Detaljer på på modeltilknytningsdesigner eller Formatdesigner-siden.
I følgende illustration vises den valideringsadvarsel, der vises, når det forældede DEL_Email
-felt i CompanyInfo
-programtabellen er bundet til et datamodelfelt ved hjælp af den konfigurerede company
-datakilde.
Automatisk løsning
Det er ikke muligt at løse dette problem automatisk.
Manuel løsning
Rediger den konfigurerede modeltilknytning eller det konfigurerede format ved at fjerne alle bindinger til en datakilde, der henviser til en forældet applikationsgenstande.
Yderligere ressourcer
Bruge JOIN-datakilder til at hente data fra flere programtabeller i ER-modeltilknytninger
Spore kørslen af ER-formater til fejlfinding af problemer med ydeevnen
Oversigt over styring af forretningsdokumenter
Skjule Word-indhold i genererede rapporter
Administrere flere afledte tilknytninger for en enkelt modelrod