Utsette kjøringen av sekvenselementer i ER-formater
Oversikt
Du kan bruke operasjonsutformingen i rammeverket for Elektronisk rapportering (ER) til å konfigurere formatkomponenten av en ER-løsning som brukes til å generere utgående dokumenter i et tekstformat. Den hierarkiske strukturen til den konfigurerte formatkomponenten består av formateringselementer av forskjellige typer. Disse formatelementene brukes til å fylle genererte dokumenter med påkrevd informasjon ved kjøretid. Når du kjører et ER-format, kjøres formatelementene som standard i samme rekkefølge som de presenteres i i formathierarkiet: ett etter ett, fra øverst til nederst. På utformingstidspunktet kan du imidlertid endre kjøringsrekkefølgen for alle sekvenselementer i den konfigurerte formatkomponenten.
Ved å aktivere Utsatt kjøring-alternativet for et sekvensformatelement i det konfigurerte formatet kan du utsette (skyve frem i tid) kjøringen av dette elementet. I dette tilfellet kjøres ikke elementet før alle andre elementer i det overordnede utvalget er kjørt.
Hvis du vil vite mer om denne funksjonen, kan du fullføre eksemplet i denne artikkelen.
Begrensninger
Utsatt kjøring-alternativet støttes bare for sekvenselementer som er konfigurert for et ER-format som brukes til å generere utgående dokumenter i tekstformat.
Utsatt kjøring-alternativet er ikke aktuelt for sekvenser som er konfigurert som trimmede sekvenser der maksimal lengde er begrenset.
Eksempel: Utsette kjøringen av et sekvenselement i et ER-format
Følgende trinn forklarer hvordan en bruker med rollen systemadministrator eller funksjonell konsulent for elektronisk rapportering kan konfigurere et ER-format som inneholder et sekvenselement der kjøringsrekkefølgen er forskjellig fra rekkefølgen i formathierarkiet.
Disse trinnene kan utføres i USMF-selskapet i Microsoft Dynamics 365 Finance.
Forutsetninger
For å fullføre dette eksempelet må du ha tilgang til USMF-selskapet i Finans for en av følgende roller:
- Funksjonell konsulent for elektronisk rapportering
- Systemansvarlig
Hvis du enda ikke har utført eksempelet i artikkelen Utsette kjøringen av XML-elementer i ER-formater, laster du ned følgende konfigurasjoner av ER-eksempelløsningen.
Innholdsbeskrivelse | Filnavn |
---|---|
ER-datamodellkonfigurasjon | Modell for å lære utsatte elementer.versjon.1.xml |
Konfigurasjon for ER-modellkartlegging | Kartlegge for å lære utsatte elementer.versjon.1.1.xml |
Før du begynner, må du også laste ned og lagre følgende konfigurasjon av ER-eksempelløsningen.
Innholdsbeskrivelse | Filnavn |
---|---|
ER-formatkonfigurasjon | Formatere for å lære utsatte sekvenser.versjon.1.1.xml |
Importere ER-eksempelkonfigurasjonene
Gå til Organisasjonsstyring>Arbeidsområder>Elektronisk rapportering.
Velg Rapporteringskonfigurasjoner.
På Konfigurasjoner-siden gjelder følgende: Hvis Modell for å lære utsatte elementer-konfigurasjonen er ikke tilgjengelig i konfigurasjonstreet, importerer du ER-datamodellkonfigurasjonen:
- Velg Veksle, og velg deretter Last inn fra XML-fil.
- Velg Bla gjennom, finn og velg Modell for å lære utsatte elementer.1.xml-filen og velg deretter OK.
Hvis Kartlegg for å lære utsatte elementer-konfigurasjonen er ikke tilgjengelig i konfigurasjonstreet, importerer du ER-modellkartleggingskonfigurasjonen:
- Velg Veksle, og velg deretter Last inn fra XML-fil.
- Velg Bla gjennom, finn og velg Kartlegge for å lære utsatte elementer.1.xml-filen og velg deretter OK.
Importer ER-formatkonfigurasjonen:
- Velg Veksle, og velg deretter Last inn fra XML-fil.
- Velg Bla gjennom, finn og velg Format for å lære utsatte sekvenser.1.xml-filen og velg deretter OK.
I konfigurasjonstreet utvider du Modell for å lære utsatte elementer.
Gjennomgå listen over importerte ER-konfigurasjoner i konfigurasjonstreet.
Aktivere en konfigurasjonsleverandør
Gå til Organisasjonsstyring>Arbeidsområder>Elektronisk rapportering.
På Lokaliseringskonfigurasjoner-siden i Konfigurasjonsleverandører-delen må du sørge for at konfigurasjonsleverandør for eksempelselskapet Litware, Inc. (
http://www.litware.com
) er oppført, og at den er merket som aktiv. Hvis denne konfigurasjonsleverandøren ikke er oppført, eller hvis den ikke er merket som aktiv, følger du trinnene i artikkelen Opprette en konfigurasjonsleverandør og merke den som aktiv.
Gjennomgå den importerte modellkartleggingen
Gjennomgå innstillingene for ER-modellkartleggingskomponenten som er konfigurert til å få tilgang til avgiftstransaksjoner, og som viser åpnede data på forespørsel.
Gå til Organisasjonsstyring>Arbeidsområder>Elektronisk rapportering.
Velg Rapporteringskonfigurasjoner.
På Konfigurasjoner-siden, i konfigurasjonstreet, utvider du Modell for å lære utsatte elementer.
Velg Kartlegge for å lære utsatte elementer-konfigurasjonen.
Velg Utforming for å åpne listen over tilordninger.
Velg Utforming for å se gjennom tilordningensdetaljer.
Velg Vis detaljer.
Gjennomgå datakildene som er konfigurert for å få tilgang til avgiftstransaksjoner:
Transaksjoner-datakilden til Tabelloppføring-typen er konfigurert til å få tilgang til oppføringer i TaxTrans-applikasjonstabellen.
Bilag-datakilden til Beregnet felt-typen er konfigurert til å returnere de påkrevde bilagskodene (INV-10000349 og INV-10000350) som en liste over oppføringer.
Filtrert-datakilden til Beregnet felt-typen er konfigurert til å velge, fra Transaksjoner-datakilden, bare avgiftstransaksjoner med de påkrevde bilagene.
$TaxAmount-feltet i Beregnet felt-typen legges til for Filtrert-datakilden for å eksponere avgiftsverdien som har det motsatte tegnet.
Gruppert-datakilden til Grupper etter-typen er konfigurert til å gruppere filtrerte avgiftstransaksjoner av Filtrert-datakilden.
TotalSum-aggregeringsfeltet i Gruppert-datakilden er konfigurert til å summere verdiene i $TaxAmount-feltet i Filtrert-datakilden for alle filtrerte avgiftstransaksjoner med denne datakilden.
Gjennomgå hvordan de konfigurerte datakildene er bundet til datamodellen, og hvordan de viser tilgjengelige data for å gjøre dem tilgjengelige i et ER-format:
- Filtrert-datakilden er bundet til Data.List-feltet for datamodellen.
- $TaxAmount-feltet for Filtrert-datakilden er bundet til Data.List.Value-feltet for datamodellen.
- TotalSum-feltet for Gruppert-datakilden er bundet til Data.Summary.Total-feltet for datamodellen.
Lukk sidene Modellkartleggingsutforming og Modellkartlegginger.
Gå gjennom det importerte formatet
På Konfigurasjoner-siden, i konfigurasjonstreet, velger du Formater for å lære utsatte sekvenser-konfigurasjonen.
Velg Utforming for å se gjennom formatdetaljer.
Velg Vis detaljer.
Gjennomgå innstillingene for ER-formatkomponentene som er konfigurert til å generere et utgående dokument i tekstformat, som inneholder detaljer om avgiftstransaksjonene:
Rapport\Linjer-sekvensformatelementet er konfigurert til å fylle det utgående dokumentet med én enkelt linje som genereres fra de nestede sekvenselementene (Topptekst, Oppføring og Sammendrag).
Rapport\Linjer\Topptekst-sekvensformatelementet er konfigurert til å fylle det utgående dokumentet med én enkelt topptekstlinje som viser dato og klokkeslett for når behandlingen starter.
Rapport \Linjer\Oppføring-sekvensformatelementet er konfigurert til å fylle det utgående dokumentet med én enkelt linje som viser detaljene for individuelle avgiftstransaksjoner. Disse avgiftstransaksjonene er atskilt med semikolon.
Rapport\Linjer\Sammendrag-sekvensformatelementet er konfigurert til å fylle det utgående dokumentet med én enkelt sammendragslinje som inkluderer summen av avgiftsverdiene fra de behandlede avgiftstransaksjonene.
På Kartlegging-fanen gjennomgår du følgende detaljer.
- Rapport\Linjer\Topptekst-elementet trenger ikke å være bundet til en datakilde for å generere én enkelt linje i et utgående dokument.
- Prefix1-elementet genererer P1-symboler for å indikere at linjen som legges til, er rapporttopptekstlinjen.
- ExecutionDateTime-elementet genererer datoen og klokkeslettet (inkludert millisekunder) topptekstlinjen legges til på.
- Rapport\Linjer\Oppføring-elementet er bundet til model.Data.List-listen for å generere én enkelt linje for hver oppføring fra den bundne listen.
- Prefix2-elementet genererer P2-symboler for å indikere at linjen som legges til, er for avgiftstransaksjonsdetaljene.
- TaxAmount-elementet er bundet til model.Data.List.Value (som vises som @.Value i den relative banevisningen) for å generere avgiftsverdien for den gjeldende avgiftstransaksjonen.
- RunningTotal-elementet er en plassholder for den løpende summen av avgiftsverdier. Dette elementet har for øyeblikket ingen utdata, fordi verken en binding eller en standardverdi er konfigurert for det.
- ExecutionDateTime-elementet genererer datoen og klokkeslettet (inkludert millisekunder) som den gjeldende transaksjonen behandles i denne rapporten på.
- Rapport\Linjer\Sammendrag-elementet trenger ikke å være bundet til en datakilde for å generere én enkelt linje i et utgående dokument.
- Prefix3-elementet genererer P3-symboler for å indikere at linjen som legges til, inneholder den totale avgiftsverdien.
- TotalTaxAmount-elementet er bundet til model.Data.Summary.Total for å generere summen av avgiftsverdiene for de behandlede avgiftstransaksjonene.
- ExecutionDateTime-elementet genererer datoen og klokkeslettet (inkludert millisekunder) sammendragslinjen legges til på.
Kjør det importerte formatet
På Formatutforming-siden velger du Kjør.
Last ned filen som nettleseren tilbyr, og åpne den for gjennomgang.
Vær oppmerksom på at sammendragslinje 22 representerer summen av avgiftsverdiene for de behandlede transaksjonene. Fordi formatet er konfigurert til å bruke model.Data.Summary.Total-bindingen til å returnere denne summen, beregnes summen ved å kalle til TotalSum-aggregeringen av Gruppert-datakilden til GroupBy-typen som bruker modellkartleggingen. For å beregne denne aggregeringen itererer modellkartlegging over alle transaksjoner som er valgt i Filtrert-datakilden. Ved å sammenligne kjøringstidene for linje 21 og 22 kan du bestemme at beregningen av summen tok 10 millisekunder (ms). Ved å sammenligne kjøringstidene for linje 2 og 21 kan du bestemme at genereringen av alle transaksjonslinjer tok 7 ms. Derfor var totalt 17 ms påkrevd.
Endre formatet slik at summeringen baseres på genererte utdata
Hvis transaksjonsvolumet er mye større enn volumet i det gjeldende eksemplet, kan det hende at summeringstiden øker og forårsaker ytelsesproblemer. Hvis du endrer innstillingen for formatet, kan du bidra til å forhindre disse ytelsesproblemene. Fordi du får tilgang til avgiftsverdier for å inkludere dem i den genererte rapporten, kan du bruke denne informasjonen til å summere avgiftsverdier. Hvis du vil ha mer informasjon, kan du se Konfigurere format for å utføre telling og summering.
På Formatutforming-siden i Format-fanen velger du Rapport-filelementet i formattreet.
Sett Samle inn utdatadetaljer-alternativet til Ja. Du kan nå konfigurere dette formatet ved å bruke innholdet i en eksisterende rapport som en datakilde, som du kan få tilgang til ved å bruke de innebygde ER-funksjonene i Datainnsamling-kategorien.
På Kartlegging-fanen velger du Rapport\Linjer-sekvenselementet.
Konfigurer Nøkkelnavn på innsamlede data-uttrykket som
WsColumn
.Konfigurer Nøkkelverdi for innsamlede data-uttrykket som
WsRow
.Velg det numeriske elementet Rapport\Linjer\Oppføring\TaxAmount.
Konfigurer Nøkkelnavn på innsamlede data-uttrykket som
SummingAmountKey
.Du kan anse denne innstillingen som oppfyllelsen av et virtuelt arbeidsark, der verdien av celle A1 tilføyes med verdien på avgiftsbeløpet fra hver behandlet avgiftstransaksjon.
Velg det numeriske elementet Rapport\Linjer\Oppføring\RunningTotal, og velg deretter Rediger formel.
Konfigurer
SUMIF(SummingAmountKey, WsColumn, WsRow)
-uttrykket ved å bruke den innebygde ER-funksjonen SUMIF.Velg Lagre.
Lukk siden Formelutforming.
Velg Lagre, og velg deretter Kjør.
Last ned og gjennomgå filen som nettleseren tilbyr.
Linje 21 inneholder den løpende summen av avgiftsverdiene, som er beregnet for alle behandlede transaksjoner ved å benytte de genererte utdataene som en datakilde. Denne datakilden starter fra begynnelsen av rapporten og fortsetter til den siste avgiftstransaksjonen. Linje 22 inneholder summen av avgiftsverdiene for alle behandlede transaksjoner som er beregnet i modellkartleggingen ved å benytte datakilden av GroupBy-typen. Vær oppmerksom på at disse verdiene er like. Derfor kan den utdatabaserte summeringen brukes i stedet for GroupBy. Ved å sammenligne kjøringstidene for linje 2 og 21 kan du bestemme at genereringen av alle transaksjonslinjene og summeringen tok 9 ms. Når det gjelder genereringen av detaljerte linjer og summeringen av avgiftsverdier, er det endrede formatet derfor omtrent to ganger raskere enn det opprinnelige formatet.
Velg det numeriske elementet Rapport\Linjer\Sammendrag\TotalTaxAmount, og velg deretter Rediger formel.
Angi
SUMIF(SummingAmountKey, WsColumn, WsRow)
-uttrykket i stedet for det eksisterende uttrykket.Velg Lagre, og velg deretter Kjør.
Last ned og gjennomgå filen som nettleseren tilbyr.
Vær oppmerksom på at den løpende summen av avgiftsverdier på den siste linjen over transaksjonsdetaljer nå er lik summen på sammendragslinjen.
Sett verdier av utdatabasert summering i rapporttoppteksten
Hvis du for eksempel må presentere summen av avgiftsverdier i rapportens topptekst, kan du endre formatet.
På Formatutforming-siden, i Format-fanen velger du Rapport\Linjer\Sammendrag-sekvenselementet.
Velg Flytt opp.
Velg Lagre, og velg deretter Kjør.
Last ned og gjennomgå filen som nettleseren tilbyr.
Legg merke til at summen av avgiftsverdier på sammendragslinje 2 nå er lik 0 (null), fordi denne summen nå beregnes på grunnlag av de genererte utdataene. Når linje 2 genereres, inneholder ikke de genererte utdataene linjer med transaksjonsdetaljer enda. Du kan konfigurere dette formatet til å utsette kjøringen av Rapport\Linjer\Sammendrag-sekvenselementet til Rapport\Linjer\Oppføring-sekvenselementet er kjørt for alle avgiftstransaksjoner.
Utsett kjøringen av sammendragssekvensen slik at beregnet sum brukes
På Formatutforming-siden, i Format-fanen velger du Rapport\Linjer\Sammendrag-sekvenselementet.
Sett Utsatt kjøring-alternativet til Ja.
Velg Lagre, og velg deretter Kjør.
Last ned og gjennomgå filen som nettleseren tilbyr.
Rapport\Linjer\Sammendrag-sekvenselementet kjøres nå bare etter alle andre elementer som er nestet under det overordnede elementet, Rapport\Linjer, har blitt kjørt. Derfor kjøres det etter at Rapport\Linjer\Oppføring-sekvenselementet har blitt kjørt for alle avgiftstransaksjoner med model.Data.List-datakilden. Kjøringstidene for linje 1, 2 og 3, og for den siste linjen, 22, avslører dette faktumet.