De uitvoering van XML-elementen in ER-indelingen uitstellen
Overzicht
U kunt de Operations-ontwerper van het ER-raamwerk gebruiken om de indelingscomponent te configureren van een ER-oplossing die wordt gebruikt om uitgaande documenten in een XML-indeling te genereren. De hiërarchische structuur van de geconfigureerde indelingscomponent bestaat uit indelingselementen van verschillende typen. Deze indelingselementen worden gebruikt om gegenereerde documenten te vullen met de vereiste informatie tijdens runtime. Wanneer u een ER-indeling uitvoert, worden de indelingselementen standaard in dezelfde volgorde uitgevoerd als waarin deze worden weergegeven in de opmaakhiërarchie: één voor één, van boven naar beneden. In de ontwerpfase kunt u echter de uitvoeringsvolgorde wijzigen voor alle XML-elementen van de geconfigureerde indelingscomponent.
Door de optie Uitgestelde uitvoering in te schakelen voor een XML-element in de geconfigureerde indeling kunt u de uitvoering van dat element uitstellen. In dat geval wordt het element pas uitgevoerd als alle andere elementen van het bovenliggende element zijn uitgevoerd.
Voor meer informatie over deze functie kunt u het voorbeeld in dit artikel uitvoeren.
Beperkingen
De optie Uitgestelde uitvoering wordt alleen ondersteund voor XML-elementen die zijn geconfigureerd voor een ER-indeling die wordt gebruikt om uitgaande documenten in XML-indeling te genereren.
De optie Uitgestelde uitvoering wordt alleen ondersteund voor XML-elementen die zich in slechts één ander XML-element bevinden. Het is daarom niet van toepassing op XML-elementen die zich in andere typen opmaakelementen bevinden (bijvoorbeeld in een XML-reekselement).
De optie Uitgestelde uitvoering wordt niet ondersteund voor XML-elementen die zich in het opmaakelement Common\File bevinden wanneer de optie Bestand splitsen is ingesteld op Ja. Zie voor meer informatie over het splitsen van XML-bestanden Gegenereerde XML-bestanden splitsen op basis van bestandsgrootte en hoeveelheid inhoud.
Voorbeeld: de uitvoering van een XML-element in een ER-indeling uitstellen
In de volgende stappen wordt uitgelegd hoe een gebruiker in de rol Systeembeheerder of consultant voor elektronische rapportage een ER-indeling kan configureren die een XML-element bevat waarvoor de volgorde van uitvoering verschilt van de volgorde in de indelingshiërarchie.
Deze stappen kunnen in het bedrijf USMF worden uitgevoerd in Microsoft Dynamics 365 Finance.
Vereisten
Als u de voorbeelden in dit onderwerp wilt voltooien, moet u toegang hebben tot het bedrijf USMF in Finance voor een van de volgende rollen:
- Functioneel consultant elektronische rapportage
- Systeembeheerder
Als u het voorbeeld nog niet hebt ingevuld in het artikel De uitvoering van reekselementen in ER-indelingen uitstellen, downloadt u de volgende configuraties van de voorbeeld-ER-oplossing.
Omschrijving inhoud | Bestandsnaam |
---|---|
Configuratie van model voor ER-gegevens | Model voor het leren van uitgestelde elementen.versie.1.xml |
Configuratie van ER-modeltoewijzing | Toewijzing voor het leren van uitgestelde elementen.versie.1.xml |
Voordat u begint, moet u ook de volgende configuratie van de voorbeeld-ER-oplossing downloaden en opslaan op uw lokale computer.
Omschrijving inhoud | Bestandsnaam |
---|---|
ER-indelingsconfiguratie | Indeling voor het leren van uitgestelde XML-elementen.versie.1.1.xml |
De voorbeeld-ER-configuraties importeren
Ga naar Organisatiebeheer>Werkruimten>Elektronische rapportage.
Selecteer Rapportageconfiguraties.
Als op de pagina Configuraties de configuratie Model voor het leren van uitgestelde elementen niet beschikbaar is in de configuratiestructuur, importeert u de ER-gegevensmodelconfiguratie:
- Selecteer Uitwisselenen selecteer vervolgens Laden uit XML-bestand.
- Selecteer Bladeren, zoek en selecteer het bestand Model om uitgestelde elementen te leren.1.xml en selecteer vervolgens OK.
Als de configuratie Toewijzing voor het leren van uitgestelde elementen niet beschikbaar is in de configuratiestructuur, importeert u de configuratie van de ER-modeltoewijzing:
- Selecteer Uitwisselenen selecteer vervolgens Laden uit XML-bestand.
- Selecteer Bladeren, zoek en selecteer het bestand Toewijzing om uitgestelde elementen te leren.1.1.xml en selecteer vervolgens OK.
De ER-indelingsconfiguratie importeren:
- Selecteer Uitwisselenen selecteer vervolgens Laden uit XML-bestand.
- Selecteer Bladeren, zoek en selecteer het bestand Indeling om XML-elementen te leren.1.1.xml en selecteer vervolgens OK.
Vouw in de configuratiestructuur Model om uitgestelde elementen te leren uit.
Bekijk de lijst met geïmporteerde ER-configuraties in de configuratiestructuur.
Een configuratieprovider activeren
Ga naar Organisatiebeheer>Werkruimten>Elektronische rapportage.
Controleer op de pagina Lokalisatieconfiguraties in de sectie Configuratieproviders of de configuratieprovider voor het voorbeeldbedrijf Litware, Inc. (
http://www.litware.com
) wordt vermeld en of het is gemarkeerd als Actief. Als deze configuratieprovider niet wordt vermeld of als deze niet is gemarkeerd als actief, volgt u de stappen in het artikel Een configuratieprovider maken en als actief markeren.
De geïmporteerde modeltoewijzing controleren
Controleer de instellingen van de ER-modeltoewijzingscomponent die is geconfigureerd om op verzoek toegang te krijgen tot belastingstransacties en toegang te verlenen tot gegevens waartoe toegang is verkregen.
Ga naar Organisatiebeheer>Werkruimten>Elektronische rapportage.
Selecteer Rapportageconfiguraties.
Vouw op de pagina Configuraties in de configuratiestructuur Model voor het leren van uitgestelde elementen uit.
Selecteer de configuratie Toewijzing voor het leren van uitgestelde elementen.
Selecteer Ontwerper om de lijst met toewijzingen te openen.
Selecteer Ontwerper om de toewijzingsdetails te controleren.
Selecteer Details weergeven.
De gegevensbronnen controleren die zijn geconfigureerd voor toegang tot belastingstransacties:
De Transacties-gegevensbron van het type Tabelrecord is geconfigureerd om toegang te krijgen tot records van de toepassingstabel TaxTrans.
De gegevensbron Boekstukken van het type Berekende veld wordt zo geconfigureerd dat de vereiste boekstukcodes (INV-10000349 en INV-10000350) als een lijst met records worden geretourneerd.
De gegevensbron Gefilterd van het type Berekend veld wordt zo geconfigureerd dat er alleen belastingstransacties van de vereiste boekstukken worden geselecteerd in de gegevensbron Transacties.
Het veld $TaxAmount van het type Berekend veld wordt toegevoegd voor de gegevensbron Gefilterd om de belastingswaarde beschikbaar te maken die het tegenovergestelde teken heeft.
De gegevensbron Gegroepeerd van het type Groeperen op is geconfigureerd om gefilterde belastingstransacties van de gegevensbron Gefilterd te groeperen.
Het aggregatieveld TotalSum van de gegevensbron Gegroepeerd is geconfigureerd om waarden van het veld $TaxAmount van de gegevensbron Gefilterd samen te vatten voor alle gefilterde belastingstransacties van die gegevensbron.
Bekijk hoe de geconfigureerde gegevensbronnen aan het gegevensmodel zijn gebonden en hoe ze gegevens waartoe toegang is verkregen, beschikbaar maken in ER-indeling:
- De gegevensbron Gefilterd is gebonden aan het veld Gegevens.Lijst van het gegevensmodel.
- Het veld $TaxAmount van de gegevensbron Gefilterd is gebonden aan het veld Data.List.Value van het gegevensmodel.
- Het veld TotalSum van de gegevensbron Gegroepeerd is gebonden aan het veld Gegevens.Overzicht.Totaal van het gegevensmodel.
Sluit de pagina's Ontwerper modeltoewijzing en Modeltoewijzingen.
De geïmporteerde indeling controleren
Selecteer op de pagina Configuraties in de configuratiestructuur de configuratie Indeling voor het leren van XML-elementen.
Selecteer Ontwerper om de indelingsdetails te controleren.
Selecteer Details weergeven.
Controleer de instellingen van de ER-indelingscomponenten die zijn geconfigureerd voor het genereren van een uitgaand document in XML-indeling dat details bevat van de belastingstransacties:
- Het XML-element Rapport\Bericht is zo geconfigureerd dat het uitgaande document wordt gevuld met één knooppunt dat de geneste XML-elementen(Koptekst, Record en Samenvatting) bevat.
- Het XML-element Rapport\Bericht\Koptekst is zo geconfigureerd dat het uitgaande document wordt gevuld met één koptekstregel die de datum en tijd aangeeft waarop de verwerking begint.
- Het XML-element Rapport \Bericht\Record is zo geconfigureerd dat het uitgaande document wordt gevuld met één recordknooppunt waarin de details van afzonderlijke belastingstransacties worden weergegeven.
- Het XML-element Rapport\Bericht\Samenvatting is zo geconfigureerd dat het uitgaande document wordt gevuld met één samenvattingsknooppunt dat de som van de belastingswaarden uit de verwerkte belastingtransacties bevat.
Controleer de volgende gegevens op het tabblad Toewijzing:
- Het element Rapport\Bericht\Koptekst hoeft niet aan een gegevensbron te zijn gekoppeld om één knooppunt in een uitgaand document te genereren.
- Het kenmerk ExecutionDateTime genereert de datum en tijd (inclusief milliseconden) wanneer het koptekstknooppunt wordt toegevoegd.
- Het element Rapport\Bericht\Record is gebonden aan de lijst model.Gegevens.Lijst om één recordknooppunt te genereren voor elke record in de gebonden lijst.
- Het kenmerk TaxAmount is aan model.Data.List.Value gekoppeld (wordt weergegeven als @.Value in de relatieve padweergave) om de belastingwaarde van de huidige belastingstransactie te genereren.
- Het kenmerk RunningTotal is een tijdelijke aanduiding voor het lopende totaal van de belastingswaarden. Dit kenmerk heeft momenteel geen uitvoer, omdat er geen binding of standaardwaarde voor is geconfigureerd.
- Het kenmerk ExecutionDateTime genereert de datum en tijd (inclusief milliseconden) wanneer de huidige transactie in dit rapport wordt verwerkt.
- Het element Rapport\Bericht\Samenvatting hoeft niet aan een gegevensbron te zijn gekoppeld om één knooppunt in een uitgaand document te genereren.
- Het kenmerk TotalTaxAmount is aan model.Gegevens.Samenvatting.Totaal gebonden om de som van de belastingswaarden van de verwerkte belastingstransacties te genereren.
- Het kenmerk ExecutionDateTime genereert de datum en tijd (inclusief milliseconden) wanneer het samenvattingsknooppunt wordt toegevoegd.
De geïmporteerde indeling uitvoeren
Selecteer Uitvoeren op de pagina Indelingsontwerper.
Download het bestand dat door de webbrowser wordt aangeboden en open het bestand ter controle.
U ziet dat het samenvattingsknooppunt de som van de belastingswaarden voor de verwerkte transacties weergeeft. Omdat de indeling is geconfigureerd voor het gebruik van de binding model.Gegevens.Samenvatting.Totaal om dit totaal te retourneren, wordt de som berekend door de TotalSum-aggregatie van de gegevensbron Gegroepeerd van het type GroupBy aan te roepen in de modeltoewijzing. Voor het berekenen van deze aggregatie doorloopt de modeltoewijzing bij herhaling alle transacties die in gegevensbron Gefilterd zijn geselecteerd. Door de uitvoeringstijden van het samenvattingsknooppunt en het laatste recordknooppunt te vergelijken kunt u vaststellen dat de berekening van de som 12 milliseconden (ms) duurde. Door de uitvoeringstijden van de het eerste en het laatste recordknooppunt te vergelijken kunt u vaststellen dat het genereren van alle recordknooppunten 9 milliseconden (ms) duurde. Daarom was er in totaal 21 ms nodig.
De indeling wijzigen zodat de berekening wordt gebaseerd op gegenereerde uitvoer
Als het volume van transacties veel groter is dan het volume in het huidige voorbeeld, kan de berekeningstijd toenemen en resulteren in prestatieproblemen. Door de instelling van de indeling te wijzigen kunt u deze prestatieproblemen voorkomen. Aangezien u toegang tot belastingswaarden hebt om deze op te nemen in het gegenereerde rapport, kunt u deze informatie opnieuw gebruiken om belastingswaarden te berekenen. Zie Indeling configureren voor tellen en totaliseren voor meer informatie.
Selecteer op de pagina Indelingsontwerper op het tabblad Indeling het bestandselement Rapport in de indelingsstructuur.
Stel de optie Uitvoerdetails verzamelen in op Ja. U kunt deze indeling nu configureren door de inhoud van een gegenereerd rapport te gebruiken als gegevensbron die toegankelijk is via de ingebouwde ER-functies in de categorie Gegevensverzameling.
Selecteer op het tabblad Toewijzing het XML-element Rapport\Bericht\Record.
Configureer de expressie Sleutelnaam verzamelde gegevens als
WsColumn
.Configureer de expressie Sleutelwaarde verzamelde gegevens als
WsRow
.Selecteer het kenmerk Rapport\Bericht\Record\TaxAmount.
Configureer de expressie Sleutelnaam verzamelde gegevens als
SummingAmountKey
.U kunt deze instelling beschouwen als de afhandeling van een virtueel werk blad, waarbij de waarde van cel A1 wordt toegevoegd met de waarde van het belastingsbedrag uit elke verwerkte belastingstransactie.
Selecteer het kenmerk Rapport\Bericht\Record\RunningTotal en selecteer vervolgens Formule bewerken.
Configureer de
SUMIF(SummingAmountKey, WsColumn, WsRow)
-expressie met behulp van de ingebouwde ER-functie SUMIF en selecteer vervolgens Opslaan.Sluit de pagina Formuleontwerper.
Selecteer Opslaan en vervolgens Uitvoeren.
Download en controleer het bestand dat door de webbrowser wordt aangeboden.
Het laatste recordknooppunt bevat het lopende totaal van belastingswaarden die voor alle verwerkte transacties worden berekend door de gegenereerde uitvoer als gegevensbron te gebruiken. Deze gegevensbron begint aan het begin van het rapport en gaat door tot met de laatste belastingstransactie. Het samenvattingsknooppunt bevat de som van de belastingswaarden voor alle verwerkte transacties die worden berekend in de modeltoewijzing met behulp van de gegevensbron van het type GroupBy. U ziet dat deze waarden gelijk zijn. Daarom kan de op uitvoer gebaseerde optelling worden gebruikt in plaats van GroupBy. Door de uitvoeringstijden van de het eerste recordknooppunt en het samenvattingsknooppunt te vergelijken kunt u vaststellen dat het genereren van alle recordknooppunten en het totaliseren 11 milliseconden (ms) duurde. Daarom is de aangepaste indeling ongeveer twee keer sneller dan de oorspronkelijke indeling voor wat betreft het genereren van recordknooppunten en het totaliseren van belastingswaarden.
Selecteer het kenmerk Rapport\Bericht\Samenvatting\TotalTaxAmount en selecteer vervolgens Formule bewerken.
Voer de
SUMIF(SummingAmountKey, WsColumn, WsRow)
-expressie in plaats van de bestaande expressie in.Selecteer Opslaan en vervolgens Uitvoeren.
Download en controleer het bestand dat door de webbrowser wordt aangeboden.
Zoals u ziet, is het lopende totaal van de belastingswaarden in het laatste recordknooppunt gelijk aan de som in het samenvattingsknooppunt.
Waarden van op uitvoer gebaseerde totalisatie in de rapportkoptekst plaatsen
Als u bijvoorbeeld de som van de belastingswaarden in de koptekst van uw rapport moet presenteren, kunt u de indeling wijzigen.
Selecteer op de pagina Indelingsontwerper op het tabblad Indeling het XML-element Rapport\Bericht\Samenvatting.
Selecteer Omhoog verplaatsen.
Selecteer Opslaan en vervolgens Uitvoeren.
Download en controleer het bestand dat door de webbrowser wordt aangeboden.
De som van de belastingswaarden in het samenvattingsknooppunt is nu gelijk aan 0 (nul), omdat dit totaal nu wordt berekend op basis van de gegenereerde uitvoer. Wanneer het eerste recordknooppunt wordt gegenereerd, bevat de gegenereerde uitvoer nog geen recordknooppunten met transactiedetails. U kunt deze indeling zo configureren dat de uitvoering van het reekselement Rapport\Bericht\Samenvatting wordt uitgevoerd totdat het element Rapport\Bericht\Record voor alle belastingstransacties is uitgevoerd.
De uitvoering van het samenvattings-XML-element uitstellen zodat het berekende totaal wordt gebruikt
Selecteer op de pagina Indelingsontwerper op het tabblad Indeling het XML-element Rapport\Bericht\Samenvatting.
Stel de optie Uitgestelde uitvoering in op Ja.
Selecteer Opslaan en vervolgens Uitvoeren.
Download en controleer het bestand dat door de webbrowser wordt aangeboden.
Het element Rapport\Bericht\Overzicht wordt nu alleen uitgevoerd nadat alle andere artikelen die zijn genest onder het bovenliggend element, Rapport\Bericht, zijn uitgevoerd. Daarom wordt het uitgevoerd nadat het reekselement Rapport\Bericht\Record is uitgevoerd voor alle belastingstransacties van de gegevensbron model.Gegevens.Lijst. De uitvoeringstijden van het eerste en laatste recordknooppunt en van het koptekst- en samenvattingsknooppunt onthullen dit feit.