Odložení provádění prvků XML ve formátech elektronického výkaznictví
Přehled
Můžete použít návrháře operací architektury elektronického výkaznictví pro konfiguraci komponenty formátu řešení elektronického výkaznictví, které se používá ke generování odchozích dokumentů ve formátu XML. Hierarchická struktura konfigurované součásti formátu sestává z prvků formátu různých typů. Tyto prvky formátu se používají k vyplňování vygenerovaných dokumentů s požadovanými informacemi za běhu. Při spuštění formátu elektronického výkaznictví jsou ve výchozím nastavení prvky formátu spouštěny ve stejném pořadí, v jakém jsou uvedeny v hierarchii formátu: jeden po druhém, shora dolů. Avšak v době návrhu můžete změnit pořadí provádění pro libovolné prvky XML v konfigurované součásti formátu.
Zapnutím možnosti odloženého provedení pro prvek XML v konfigurovaném formátu můžete odložit (pozdržet) provedení tohoto prvku. V tomto případě se prvek nespustí, dokud nejsou spuštěny všechny ostatní prvky nadřazené položky.
Chcete-li získat další informace o této funkci, vyplňte příklad tomto článku.
Omezení
Možnost odloženého provedení je podporována pouze u prvků XML, které jsou nakonfigurovány pro formát elektronického výkaznictví, který slouží ke generování odchozích dokumentů ve formátu XML.
Možnost odloženého provedení je podporována pouze u prvků XML, které se nacházejí pouze v jednom dalším prvku XML. Proto není použitelné pro prvky XML, které se nacházejí v jiných typech prvků formátu (například v prvku posloupnost XML).
Možnost odloženého provedení není podporována u prvků XML, které se nacházejí v prvku formátu Common\File, pokud je možnost Rozdělit soubor nastavena na Ano. Informace o rozdělení souborů XML naleznete v části Rozdělení generovaných souborů XML na základě velikosti souboru a množství obsahu.
Příklad: Odložení provádění prvku XML ve formátu elektronického výkaznictví
Následující postup vysvětluje, jak může uživatel v roli správce systému nebo funkčního konzultanta elektronického výkaznictví konfigurovat formát elektronického výkaznictví, který obsahuje prvek XML, kde se pořadí provádění liší od pořadí v hierarchii formátu.
Tyto kroky lze provést ve společnosti USMF v aplikaci Microsoft Dynamics 365 Finance.
Předpoklady
K dokončení tohoto příkladu v tomto tématu musíte mít přístup ke společnosti USMF v aplikaci Finance pro některou z následujících rolí:
- Funkční konzultant elektronického výkaznictví
- Správce systému
Pokud jste ještě nedokončili příklad v článku Odložení provádění prvků posloupnosti ve formátech elektronického výkaznictví, stáhněte si následující konfigurace ukázkového řešení elektronického výkaznictví.
Popis obsahu | Název souboru |
---|---|
Konfigurace datového modelu elektronického výkaznictví | Model to learn deferred elements.version.1.xml |
Konfigurace mapování modelu elektronického výkaznictví | Mapping to learn deferred elements.version.1.1.xml |
Než začnete, musíte také stáhnout a uložit následující konfiguraci ukázkového řešení elektronického výkaznictví do svého místního počítače.
Popis obsahu | Název souboru |
---|---|
Konfigurace formátu elektronického výkaznictví | Format to learn deferred XML elements.version.1.1.xml |
Import ukázkových konfigurací elektronického výkaznictví
Přejděte na Správa organizace>Pracovní prostory>Elektronické výkaznictví.
Vyberte Konfigurace vykazování.
Na stránce Konfigurace, pokud Model to learn deferred elements není ve stromu konfigurací k dispozici, importujte konfiguraci datového modelu elektronického výkaznictví:
- Vyberte Exchange a poté vyberte Načíst ze souboru XML.
- Vyberte Procházet najděte a vyberte soubor Model to learn deferred elements.1.xml a poté vyberte OK.
Pokud konfigurace Mapping to learn deferred elements není ve stromu konfigurací k dispozici, importujte konfiguraci datového modelu elektronického výkaznictví:
- Vyberte Exchange a poté vyberte Načíst ze souboru XML.
- Vyberte Procházet najděte a vyberte soubor Mapping to learn deferred elements.1.xml a poté vyberte OK.
Import konfigurace formátu elektronického výkaznictví:
- Vyberte Exchange a poté vyberte Načíst ze souboru XML.
- Vyberte Procházet najděte a vyberte soubor Format to learn deferred XML elements.1.1.xml a poté vyberte OK.
Ve stromu konfigurace rozbalte Model to learn deferred elements.
Zkontrolujte seznam importovaných konfigurací elektronického výkaznictví ve stromu konfigurace.
Aktivace poskytovatele konfigurace
Přejděte na Správa organizace>Pracovní prostory>Elektronické výkaznictví.
Na stránce Konfigurace lokalizace v části Poskytovatelé konfigurace ověřte, že je uveden poskytovatel konfigurace ukázkové společnosti Litware, Inc. (
http://www.litware.com
) a že je označen jako aktivní. Není-li tento poskytovatel konfigurace uveden v seznamu nebo není-li označen jako aktivní, postupujte podle kroků v článku Vytvoření poskytovatele konfigurace a jeho označení jako aktivního.
Kontrola importovaného mapování modelu
Zkontrolujte nastavení součásti mapování modelu elektronického výkaznictví, která je nakonfigurována pro přístup k daňovým transakcím a vystavení přístupových dat na vyžádání.
Přejděte na Správa organizace>Pracovní prostory>Elektronické výkaznictví.
Vyberte Konfigurace vykazování.
Na stránce Konfigurace ve stromu konfigurací rozbalte Model to learn deferred elements.
Vyberte konfiguraci Mapping to learn deferred elements.
Výběrem možnosti Návrhář otevřete seznam mapování.
Chcete-li zkontrolovat podrobnosti mapování, vyberte možnost Návrhář.
Vyberte Zobrazit podrobnosti.
Zkontrolujte zdroje dat, které jsou nakonfigurovány pro přístup k daňovým transakcím:
Datový zdroj Transakce typu Záznam tabulky je nakonfigurován pro přístup k záznamům tabulky aplikace TaxTrans.
Datový zdroj Doklady typu Vypočítané pole je nakonfigurován tak, aby vracel požadované kódy dokladů (INV-10000349 a INV-10000350) jako seznam záznamů.
Datový zdroj Filtrovaný typu Vypočítané pole je nakonfigurován tak, aby ze zdroje dat Transakce vybral pouze daňové transakce požadovaných dokladů.
Pole $TaxAmount typu Vypočítané pole je přidáno do datového zdroje Filtrované za účelem vystavení hodnoty daně s opačným znaménkem.
Datový zdroj Seskupený typu Seskupit podle je nakonfigurován tak, aby seskupoval filtrované daňové transakce datového zdroje Filtrované.
Pole agregace TotalSum datového zdroje Seskupený je nakonfigurováno tak, aby shrnoval hodnoty pole $TaxAmount datového zdroje Filtrované pro všechny filtrované daňové transakce zdroje dat.
Zkontrolujte, jakým způsobem jsou nakonfigurované zdroje dat navázány na datový model a jakým způsobem vystavují data přístupu k jejich zpřístupnění ve formátu elektronického výkaznictví:
- Datový zdroj Filtrovaný je navázán na pole Data.List datového modelu.
- Pole $TaxAmount datového zdroje Filtrovaný je navázán na pole Data.List.Value datového modelu.
- Pole TotalSum datového zdroje Seskupený je navázán na pole Data.Summary.Total datového modelu.
Zavřete stránky Návrhář mapování modelu a Mapování modelu.
Kontrola importovaného formátu
Na stránce Konfigurace ve stromu konfigurace vyberte konfiguraci Format to learn deferred XML elements.
Chcete-li zkontrolovat podrobnosti formátu, vyberte možnost Návrhář.
Vyberte Zobrazit podrobnosti.
Zkontrolujte nastavení součástí formátu elektronického výkaznictví, které jsou nakonfigurovány pro generování odchozího dokumentu ve formátu XML, který obsahuje podrobnosti o daňových transakcích:
- Prvek XML Report\Message je nakonfigurován tak, aby vyplnil odchozí dokument jedním uzlem, který obsahuje vnořené prvky XML (Záhlaví, Záznam a Souhrn).
- Prvek fXML Report\Message\Header je nakonfigurován tak, aby vyplnil odchozí dokument jedním uzlem záhlaví, který zobrazuje datum a čas zahájení zpracování.
- Prvek XML Report \Message\Record je nakonfigurován tak, aby vyplnil odchozí dokument jedním uzlem záznamu, který zobrazuje podrobnosti jednotlivé daňové transakce.
- Prvek XML Report\Message\Summary je nakonfigurován tak, aby vyplnil odchozí dokument jedním uzlem souhrnu, který zahrnuje souhrn hodnot daně ze zpracovaných daňových transakcí.
Na kartě Mapování zkontrolujte následující podrobnosti:
- Prvek Report\Message\Header nemusí být vázán na zdroj pro generování jednoho uzlu v odchozím dokumentu.
- Atribut ExecutionDateTime generuje datum a čas (včetně milisekund), kdy je přidán uzel záhlaví.
- Prvek Report\Message\Record je vázán na seznam model.Data.List pro generování jednoho uzlu záznamu pro každý záznam z vázaného seznamu.
- Atribut TaxAmount je vázán na model.Data.List.Value (který je zobrazen jako @.Value v zobrazení relativní cesty) pro generování hodnoty daně aktuální daňové transakce.
- Atribut RunningTotal je zástupný symbol pro mezisoučet hodnot daně. V současné době nemá tento atribut žádný výstup, protože pro něj není nakonfigurována ani vazba ani výchozí hodnota.
- Atribut ExecutionDateTime generuje datum a čas (včetně milisekund), kdy je v této sestavě zpracována aktuální transakce.
- Prvek Report\Message\Summary nemusí být vázán na datový zdroj pro generování jednoho uzlu v odchozím dokumentu.
- Atribut TotalTaxAmount je vázán na model. Data.Summary.Total pro vygenerování součtu hodnot daně zpracovaných daňových transakcí.
- Atribut ExecutionDateTime generuje datum a čas (včetně milisekund), kdy je přidán uzel souhrnu.
Spuštění importovaného formátu
Na stránce Návrhář formátu zvolte Spustit.
Stáhněte soubor, který webový prohlížeč nabízí, a otevřete jej k revizi.
Povšimněte si, že souhrnný uzel představuje součet hodnot daně pro zpracované transakce. Vzhledem k tomu, že formát je konfigurován pro použití vazby model.Data.Summary.Total pro vrácení tohoto souhrnu, vypočte se součet voláním agregace TotalSum datového zdroje Seskupený typu GroupBy v mapování modelu. Pro výpočet této agregace prochází mapování modelů všechny transakce, které byly vybrány ve zdroji dat Filtrované. Porovnáním dob provádění na souhrnném uzlu a v posledním uzlu záznamu můžete určit, že výpočet součtu trvá 12 milisekund (MS). Porovnáním dob provádění prvního a posledního uzlu záznamu můžete určit, že generování všech uzlů záznamu trvalo 9 ms. Z tohoto důvodu je nutné celkem 21 ms.
Upravte formát tak, aby výpočet byl založen na generovaném výstupu.
Pokud je objem transakce mnohem větší než objem v aktuálním příkladu, může se čas výpočtu zvýšit a způsobit problémy s výkonem. Změnou nastavení formátu můžete předejít těmto problémům s výkonem. Protože přistupujete k hodnotám daně, které mají být zahrnuty do generované sestavy, můžete tyto informace znovu použít k výpočtu hodnot daně. Další informace naleznete v tématu Konfigurace formátu počítání a sčítání.
Na stránce Návrhář formátu na kartě Formát vyberte ve stromu formátu prvek souboru Sestava.
Nastavte možnost Podrobnosti výstupu shromažďování na Ano. Nyní můžete tento formát konfigurovat použitím obsahu vygenerované sestavy jako zdroje dat, ke kterému lze získat přístup pomocí vestavěných funkcí elektronického výkaznictví v kategorii shromažďování dat.
Na kartě Mapování vyberte prvek XML Report\Message\Record.
Konfigurujte výraz Název klíče shromážděných dat jako
WsColumn
.Konfigurujte výraz Hodnota klíče shromážděných dat jako
WsRow
.Vyberte atribut Report\Message\Record\TaxAmount.
Konfigurujte výraz Název klíče shromážděných dat jako
SummingAmountKey
.Toto nastavení je možné vzít v úvahu při plnění virtuálního listu, kde je hodnota buňky A1 připojena k hodnotě částky daně z každé zpracované daňové transakce.
Vyberte atribut Report\Message\Record\RunningTotal a poté zvolte Upravit vzorec.
Nakonfigurujte výraz
SUMIF(SummingAmountKey, WsColumn, WsRow)
pomocí vestavěné funkce elektronického výkaznictví SUMIF a poté zvolte Uložit.Zavřete stránku Návrhář vzorce.
Vyberte Uložit a potom Spustit.
Stáhněte a zkontrolujte soubor, který webový prohlížeč nabízí, a otevřete jej k revizi.
Poslední uzel záznamu obsahuje mezisoučet hodnot daně, který se vypočítává pro všechny zpracované transakce s použitím generovaného výstupu jako zdroje dat. Tento zdroj dat začíná od začátku sestavy a pokračuje k poslední daňové transakci. Uzel souhrnu obsahuje součet hodnot daně ze všech zpracovaných transakcí, které jsou vypočteny v mapování modelu pomocí zdroje dat typu GroupBy. Všimněte si, že tyto hodnoty jsou stejné. Z tohoto důvodu lze použít souhrn založený na výstupu namísto GroupBy. Porovnáním dob provádění prvního uzlu záznamu a uzlu souhrnu můžete určit, že generování všech uzlů záznamu a součtu trvalo 11 ms. Proto, pokud jde o generování uzlů řádku a sčítání daňových hodnot, je upravený formát přibližně dvakrát rychlejší než původní formát.
Vyberte atribut Report\Message\Summary\TotalTaxAmount a poté zvolte Upravit vzorec.
Zadejte výraz
SUMIF(SummingAmountKey, WsColumn, WsRow)
namísto existujícího výrazu.Vyberte Uložit a potom Spustit.
Stáhněte a zkontrolujte soubor, který webový prohlížeč nabízí, a otevřete jej k revizi.
Povšimněte si, že mezisoučet daňových hodnot v posledním uzlu záznamu se nyní rovná součtu v uzlu souhrnu.
Vložení hodnot součtu založeného na výstupu v záhlaví sestavy
Je-li například nutné v záhlaví sestavy zobrazit součet daňových hodnot, můžete formát upravit.
Na stránce Návrhář formátu na kartě Formát vyberte prvek XML Report\Message\Summary.
Vyberte Přesunout nahoru.
Vyberte Uložit a potom Spustit.
Stáhněte a zkontrolujte soubor, který webový prohlížeč nabízí, a otevřete jej k revizi.
Všimněte si, že součet hodnot daně v uzlu souhrnu se nyní rovná 0 (nula), protože tento součet je nyní vypočten na základě generovaného výstupu. Je-li generován první uzel záznamu, vygenerovaný výstup dosud neobsahuje uzly záznamu s podrobnostmi transakce. Tento formát lze nakonfigurovat tak, aby odložil provádění prvku Report\Message\Summary, dokud prvek Report\Message\Record nebyl spuštěn pro všechny daňové transakce.
Odložení provedení prvku XML tak, aby byl použit vypočtený součet
Na stránce Návrhář formátu na kartě Formát vyberte prvek XML Report\Message\Summary.
Nastavte možnost Odložené provedení na Ano.
Vyberte Uložit a potom Spustit.
Stáhněte a zkontrolujte soubor, který webový prohlížeč nabízí, a otevřete jej k revizi.
Prvek Report\Message\Summary je nyní spuštěn pouze po spuštění všech ostatních položek, které jsou vnořeny pod svým nadřazeným prvkem Report\Message. Proto je spuštěn po spuštění prvku Report\Message\Record pro všechny daňové transakce datového zdroje model.Data.List. Doba provádění prvního a posledního uzlu záznamu a uzlů záhlaví a souhrnu, odhalí tuto skutečnost.