Sdílet prostřednictvím


Kontrola konfigurované komponenty ER zabraňující problémům za běhu

Každá konfigurovaná komponenta pro formátování a mapování modeluelektronického výkaznictví (ER) může projít ověřením platnosti v době návrhu. Během tohoto ověřování se provádí kontrola konzistence, která pomáhá předcházet výskytu problémů za běhu, jako jsou chyby spuštění a snížení výkonu. U každého nalezeného problému poskytuje kontrola cestu k problematickému prvku. U některých problémů je k dispozici automatická oprava.

Ve výchozím nastavení se v následujících případech ověření automaticky použije u konfigurace ER, která obsahuje dříve zmíněné komponenty ER:

  • Importujte novou verzi konfigurace ER do vaší instance Microsoft Dynamics 365 Finance.
  • Změňte stav upravitelné konfigurace ER z hodnoty Koncept na Dokončeno.
  • Přeneste změny do upravitelné konfigurace ER použitím nové základní verze.

Toto ověření můžete explicitně spustit. Vyberte jednu z následujících tří možností a postupujte podle uvedených kroků:

  • Možnost 1:

    1. Přejděte do části Správa organizace > Elektronické výkaznictví > Konfigurace.
    2. Ve stromu konfigurací v levém podokně vyberte požadovanou konfiguraci ER, která obsahuje komponentu formátu nebo mapování modelu ER.
    3. Na pevné záložce Verze vyberte požadovanou verzi vybrané konfigurace ER.
    4. V podokně Akce klikněte na možnost Ověřit.
  • Možnost 2, pro formát ER:

    1. Přejděte do části Správa organizace > Elektronické výkaznictví > Konfigurace.
    2. Ve stromu konfigurací v levém podokně vyberte požadovanou konfiguraci ER, která obsahuje komponentu formátu ER.
    3. Na pevné záložce Verze vyberte požadovanou verzi vybrané konfigurace ER.
    4. V podokně akcí zvolte Návrhář.
    5. Na stránce Návrhář formátu v podokně akcí vyberte Ověřit.
  • Možnost 3, pro mapování modelu ER:

    1. Přejděte do části Správa organizace > Elektronické výkaznictví > Konfigurace.
    2. Ve stromu konfigurací v levém podokně vyberte požadovanou konfiguraci ER, která obsahuje komponentu mapování modelu ER.
    3. Na pevné záložce Verze vyberte požadovanou verzi vybrané konfigurace ER.
    4. V podokně akcí zvolte Návrhář.
    5. Na stránce Mapování modelu na zdroj dat v podokně Akce vyberte možnost Návrhář.
    6. Na stránce Návrhář mapování modelu v podokně Akce vyberte možnost Ověřit.

Chcete-li přeskočit ověření při importu konfigurace, postupujte takto.

  1. Přejděte do části Správa organizace > Elektronické výkaznictví > Konfigurace.
  2. Na stránce Konfigurace v podokně akcí na kartě Konfigurace ve skupině Pokročilá nastavení vyberte Parametry uživatelů.
  3. Nastavte možnost Po importu ověřit konfiguraci na Ne.

Chcete-li přeskočit ověření, když je změněn stav verze nebo základ, postupujte takto.

  1. Přejděte do části Správa organizace > Elektronické výkaznictví > Konfigurace.
  2. Na stránce Konfigurace v podokně akcí na kartě Konfigurace ve skupině Pokročilá nastavení vyberte Parametry uživatelů.
  3. Nastavte možnost Přeskočit ověření při změně stavu konfigurace a základu na Ano.

ER používá k seskupení inspekcí kontroly konzistence následující kategorie:

  • Proveditelnost - Inspekce, které detekují kritické problémy, ke kterým by za běhu mohlo dojít. Tyto problémy jsou většinou na úrovni Chyba.
  • Výkon - Inspekce, které detekují problémy, které by mohly způsobit neefektivní provádění konfigurovaných komponent ER. Tyto problémy jsou většinou na úrovni Upozornění.
  • Integrita dat - Inspekce, které detekují problémy, které by mohly způsobit ztrátu dat nebo problémy běhového prostředí. Tyto problémy jsou většinou na úrovni Upozornění.

Seznam inspekcí

Následující tabulka poskytuje přehled inspekcí, které ER poskytuje. Další informace o těchto inspekcích získáte pomocí odkazů v prvním sloupci, kterými přejdete na příslušné části tohoto článku. Tyto oddíly vysvětlují typy komponent, u kterých ER poskytuje kontroly, a návod na rekonfiguraci komponent ER, abyste zabránili problémům.

Jméno Kategorie Úroveň Zpráva
Převod typu Proveditelnost Chyba

Nelze převést výraz typu <typ> na pole typu <typ>.

Chyba za běhu: Výjimka pro typ

Kompatibilita typů Proveditelnost Chyba

Konfigurovaný výraz nelze použít jako vazbu aktuálního prvku formátu ke zdroji dat, protože tento výraz vrací hodnotu datového typu <typ>, tedy mimo rámec datových typů, které jsou podporovány aktuálním prvkem formátu typu <typ>.

Chyba za běhu: Výjimka typu

Chybějící konfigurační prvek Proveditelnost Chyba

Cesta nenalezena: <cesta>.

Chyba za běhu: Prvek konfigurace < cesta> nenalezen

Spustitelnost výrazu s funkcí FILTER Proveditelnost Chyba

Výraz seznamu funkce FILTER není dotazovatelný.

Chyba za běhu: Filtrování není podporováno. Chcete-li získat další podrobnosti o chybě, ověřte konfiguraci.

Spustitelnost zdroje dat GROUPBY Proveditelnost Chyba Cesta <cesta> nepodporuje dotazování.
Proveditelnost Chyba

Seskupení podle funkce nelze provést pomocí dotazu.

Chyba za běhu: Seskupení podle funkce nelze provést pomocí dotazu.

Spustitelnost zdroje dat JOIN Proveditelnost Chyba

Nelze připojit seznam <cesta>, který není filtrem v dotazu.

Chyba za běhu: Funkce datového zdroje JOIN by měla být výrazem filtru vypočítaného pole, který byl nesprávně volán.

Je vhodnější funkce FILTER nebo WHERE? Výkonnost Upozornění Použití funkce FILTER ve výrazu je z hlediska výkonu vhodnější než použití funkce WHERE. Vyberte možnost Opravit, aby došlo k automatickému nahrazení.
Je vhodnější funkce ALLITEMSQUERY nebo ALLITEMS? Výkonnost Upozornění Použití funkce ALLITEMSQUERY ve výrazu je z hlediska výkonu vhodnější než použití funkce ALLITEMS. Vyberte možnost Opravit, aby došlo k automatickému nahrazení.
Možnost výskytů prázdného seznamu Proveditelnost Upozornění

Seznam <cesta> nemá žádnou kontrolu výskytu prázdného seznamu, což může způsobit chybu za běhu. Přidejte kontrolu výskytu prázdného seznamu.

Chyba za běhu: Seznam je prázdný v cestě <cesta>

Potenciální problém: Řádek se naplní jednou, zatímco zdroj dat, ze kterého je naplněn, obsahuje více záznamů

Spustitelnost výrazu s funkcí FILTER (použití mezipaměti) Proveditelnost Chyba

Funkci FILTER nelze použít na vybraný typ zdroje dat. Zdroj dat typu Záznamy tabulky je použitelný pouze v případě, že není uložen do mezipaměti a nemá žádné ručně přidané vnořené zdroje dat.

Chyba za běhu: Filtrování není podporováno. Chcete-li získat další podrobnosti o chybě, ověřte konfiguraci.

Chybějící vazba Proveditelnost Upozornění

Cesta <cesta> nemá žádnou vazbu na žádný zdroj dat při používání mapování modelu.

Chyba za běhu: Cesta <cesta> není vázána

Nepropojená šablona Integrita dat Upozornění Soubor <název> není propojen s žádnými souborovými komponentami a bude odstraněn po změně stavu verze konfigurace.
Nesynchronizovaný formát Integrita dat Upozornění Definovaný název <název komponenty> neexistuje v listu aplikace Excel <název listu>
Nesynchronizovaný formát Integrita dat Upozornění

Značka <Ovládání obsahu označených slov> neexistuje v souboru šablony Wordu

Běhová chyba: Značka <Ovládání obsahu označených slov> neexistuje v souboru šablony Wordu.

Žádné výchozí mapování Integrita dat Chyba

Existuje více než jedno mapování modelu pro datový model <název modelu (deskriptor kořene)> v konfiguracích <názvy konfigurace oddělené čárkou>. Nastavte jednu z konfigurací jako výchozí

Běhová chyba Existuje více než jedno mapování modelu pro datový model <název modelu (deskriptor kořene)> v konfiguracích názvy <konfigurace oddělené čárkou>. Nastavte jednu z konfigurací jako výchozí.

Nekonzistentní nastavení komponent záhlaví nebo zápatí Integrita dat Chyba

Záhlaví/zápatí (<typ součásti: Záhlaví nebo zápatí>) jsou nekonzistentní

Runtime: Poslední nakonfigurovaná komponenta se používá za běhu, pokud je spuštěna konceptová verze nakonfigurovaného formátu ER.

Nekonzistentní nastavení komponenty Stránka Integrita dat Chyba Existují více než dvě komponenty rozsahu bez replikace. Odstraňte nepotřebné součásti.
Spustitelnost výrazu s funkcí ORDERBY Proveditelnost Chyba

Výraz seznamu funkce ORDERBY není dotazovatelný.

Chyba za běhu: Řazení není podporováno. Chcete-li získat další podrobnosti o chybě, ověřte konfiguraci.

Zastaralý artefakt aplikace Integrita dat Upozornění

Prvek <path> je označen jako zastaralý.
nebo
Prvek <path> je označen jako zastaralý se zprávou <text zprávy>.

Ukázka běhové chyby: Třída „<path>“ nebyla nalezena.

Převod typu

ER kontroluje, zda je datový typ pole datového modelu kompatibilní s datovým typem výrazu, který je konfigurován jako vazba daného pole. Pokud jsou datové typy nekompatibilní, dojde v návrháři mapování modelu ER k chybě ověření. Zpráva, kterou obdržíte, uvádí, že ER nemůže převést výraz typu A na pole typu B.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurovat datový model ER a komponenty mapování modelu ER současně.

  2. Ve stromu datového modelu přidejte pole s názvem X a jako datový typ vyberte Celé číslo.

    Pole X a datový typ Celé číslo byly přidány do stromu datového modelu na stránce Datový model.

  3. V podokně Zdroje dat mapování modelu přidejte zdroj dat typu Vypočítané pole.

  4. Pojmenujte nový zdroj dat jako Y a konfigurujte jej tak, aby obsahoval výraz INTVALUE(100).

  5. Navažte X na Y.

  6. V návrháři datového modelu změňte datový typ pole X z hodnoty Celé číslo na Int64.

  7. Výběrem příkazu Ověřit zkontrolujete upravitelnou komponentu mapování modelu na stránce Návrhář mapování modelu.

    Ověřování upravitelné komponenty mapování modelu na stránce Návrhář mapování modelu.

  8. Výběrem příkazu Ověřit zkontrolujete komponentu mapování modelu vybrané konfigurace ER na stránce Konfigurace.

    Kontrola komponenty mapování modelu na stránce Konfigurace.

  9. Všimněte si, že dojde k chybě ověření. Zpráva uvádí, že hodnotu typu Celé číslo, kterou vrátí výraz INTVALUE(100) zdroje dat Y, nelze uložit do pole datového modelu X typu Int64.

Následující obrázek ukazuje chybu za běhu, která nastane, pokud ignorujete upozornění a výběrem příkazu Spustit spustíte formát, který má konfigurováno použití mapování modelu.

Chyby za běhu na stránce Návrhář formátu.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Aktualizujte strukturu datového modelu změnou datového typu pole datového modelu tak, aby odpovídal datovému typu výrazu, který je konfigurován pro vazbu daného pole. V předchozím příkladu musíte datový typ pole X změnit zpět na Celé číslo.

Možnost 2

Aktualizujte mapování modelu změnou výrazu zdroje dat, který je svázán s polem datového modelu. V předchozím příkladu musíte změnit výraz zdroje dat Y na INT64VALUE(100).

Kompatibilita typů

ER kontroluje, zda je datový typ prvku formátu kompatibilní s datovým typem výrazu, který je konfigurován jako vazba daného prvku formátu. Pokud jsou datové typy nekompatibilní, dojde v návrháři operací ER k chybě ověření. Zpráva, kterou obdržíte, říká, že konfigurovaný výraz nelze použít jako vazbu aktuálního prvku formátu ke zdroji dat, protože tento výraz vrací hodnotu datového typu A, tedy mimo rámec datových typů, které jsou podporovány aktuálním prvkem formátu typu B.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurovat datový model ER a komponenty formátu ER současně.

  2. Ve stromu datového modelu přidejte pole s názvem X a jako datový typ vyberte Celé číslo.

  3. Ve stromu struktury formátu přidejte prvek formátu typu Číslo.

  4. Pojmenujte nový prvek formátu jako Y. V poli Číselný typ vyberte jako datový typ hodnotu Celé číslo.

  5. Navažte X na Y.

  6. Ve stromu struktury formátu změňte datový typ prvku formátu Y z hodnoty Celé číslo na Int64.

  7. Výběrem příkazu Ověřit zkontrolujete upravitelnou komponentu formátu na stránce Návrhář formátu.

    Ověření kompatibility typů na stránce Návrhář formátu.

  8. Všimněte si, že dojde k chybě ověření. Zpráva uvádí, že konfigurovaný výraz může přijmout pouze hodnoty typu Int64. Proto nelze hodnotu pole datového modelu X typu Celé číslo zadat do prvku formátu Y.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Aktualizujte strukturu formátu změnou datového typu prvku formátu Číslo tak, aby odpovídal datovému typu výrazu, který je konfigurován pro vazbu tohoto prvku. V předchozím příkladu musíte datový typ Číslo prvku formátu X změnit zpět Celé číslo.

Možnost 2

Aktualizujte mapování formátu prvku formátu X změnou výrazu z model.X na INT64VALUE(model.X).

Chybějící konfigurační prvek

ER zkontroluje, zda vazební výrazy obsahují pouze zdroje dat, které jsou konfigurovány v upravitelné komponentě ER. U každé vazby, která obsahuje zdroj dat, který chybí v upravitelné komponentě ER, dojde k chybě ověření v návrháři operací ER nebo návrháři mapování modelu ER.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurovat datový model ER a komponenty mapování modelu ER současně.

  2. Ve stromu datového modelu přidejte pole s názvem X a jako datový typ vyberte Celé číslo.

    Strom datového modelu s polem X a datovým typem Celé číslo na stránce Datový model.

  3. V podokně Zdroje dat mapování modelu přidejte zdroj dat typu Vypočítané pole.

  4. Pojmenujte nový zdroj dat jako Y a konfigurujte jej tak, aby obsahoval výraz INTVALUE(100).

  5. Navažte X na Y.

  6. V návrháři mapování modelu v podokně Zdroje dat odstraňte zdroj dat Y.

  7. Výběrem příkazu Ověřit zkontrolujete upravitelnou komponentu mapování modelu na stránce Návrhář mapování modelu.

    Kontrola upravitelné komponenty mapování modelu ER na stránce Návrhář mapování modelu.

  8. Všimněte si, že dojde k chybě ověření. Zpráva uvádí, že vazba pole datového modelu X obsahuje cestu, která odkazuje na zdroj dat Y, ale tento zdroj dat nebyl nalezen.

Automatické řešení

Výběrem příkazu Odpojit automaticky opravíte tento problém odstraněním vazby na chybějící zdroj dat.

Ruční řešení

Možnost 1

Odpojte pole datového modelu X, aby přestalo odkazovat na neexistující zdroj dat Y.

Možnost 2

V podokně Zdroje dat návrháře mapování modelu přidejte znovu zdroj dat Y.

Spustitelnost výrazu s funkcí FILTER

Integrovaná funkce ER FILTER se používá pro přístup k aplikačním tabulkám, pohledům nebo datovým entitám umístěním jediného volání SQL, které získá požadovaná data jako seznam záznamů. Zdroj dat typu Seznam záznamů se používá jako argument této funkce a určuje zdroj aplikace pro volání. ER kontroluje, zda lze navázat přímý dotaz SQL do zdroje dat, na který se odkazuje ve funkci FILTER. Pokud nelze navázat přímý dotaz, dojde v návrháři mapování modelu ER k chybě ověření. Zpráva, kterou obdržíte, uvádí, že výraz ER obsahující funkci FILTER nelze spustit za běhu programu.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurací komponenty mapování modelu ER.

  2. Přidejte zdroj dat typu Záznamy tabulky \ Dynamics 365 for Operations.

  3. Pojmenujte nový zdroj dat jako Vendor. V poli Tabulka vyberte VendTable a určete tak, že tento zdroj dat bude požadovat tabulku VendTable.

  4. Přidejte zdroj dat typu Vypočítané pole.

  5. Pojmenujte nový zdroj dat jako FilteredVendor a konfigurujte jej tak, aby obsahoval výraz FILTER(Vendor, Vendor.AccountNum="US-101").

  6. Výběrem příkazu Ověřit zkontrolujte upravitelnou komponentu mapování modelu na stránce návrháře mapování modelů stránku a ověřte, zda výraz FILTER(Vendor, Vendor.AccountNum="US-101") ve zdroji dat Vendor lze používat v dotazech.

  7. Upravte zdroj dat Vendor přidáním vnořeného pole typu Vypočítané pole a získejte oříznuté číslo účtu dodavatele.

  8. Pojmenujte nové vnořené pole jako $AccNumber a konfigurujte jej tak, aby obsahovalo výraz TRIM(Vendor.AccountNum).

  9. Výběrem příkazu Ověřit zkontrolujte upravitelnou komponentu mapování modelu na stránce návrháře mapování modelů stránku a ověřte, zda výraz FILTER(Vendor, Vendor.AccountNum="US-101") ve zdroji dat Vendor lze používat v dotazech.

    Ověření výrazu, který má funkci FILTER, lze zkontrolovat dotazem na stránce Návrhář mapování modelů.

  10. Všimněte si, že dojde k chybě ověření, protože zdroj dat Vendor obsahuje vnořené pole typu Vypočítané pole, které neumožňuje přeložit výraz FilteredVendor zdroje dat na přímý příkaz SQL.

Následující obrázek ukazuje chybu za běhu, která nastane, pokud ignorujete upozornění a výběrem příkazu Spustit spustíte formát, který má konfigurováno použití mapování modelu.

Chyby za běhu, ke kterým dochází při spuštění upravitelného formátu na stránce Návrhář formátů.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Místo přidání vnořeného pole typu Vypočítané pole do zdroje dat Vendor přidejte vnořené pole $AccNumber do zdroje dat FilteredVendor a konfigurujte jej tak, aby obsahoval výraz TRIM(FilteredVendor.AccountNum). Tímto způsobem lze výraz FILTER(Vendor, Vendor.AccountNum="US-101") spustit na úrovni SQL a vypočítat vnořené pole $AccNumber později.

Možnost 2

Změňte výraz zdroje dat FilteredVendor z FILTER(Vendor, Vendor.AccountNum="US-101") na WHERE(Vendor, Vendor.AccountNum="US-101"). Nedoporučujeme měnit výraz pro tabulku, která obsahuje velké množství dat (transakční tabulka), protože budou načteny všechny záznamy a výběr požadovaných záznamů bude proveden v paměti. Tento přístup proto může způsobit špatný výkon. Další informace viz část Funkce WHERE ER.

Spustitelnost zdroje dat GROUPBY

Zdroj dat GROUPBY rozděluje výsledek dotazu do skupin záznamů, obvykle za účelem provedení jedné nebo více agregací v každé skupině. Každý zdroj dat GROUPBY lze konfigurovat tak, aby běžel na úrovni databáze nebo v paměti. Když je zdroj dat GROUPBY konfigurován tak, aby byl spuštěn na úrovni databáze, ER zkontroluje, zda lze navázat přímý dotaz SQL do zdroje dat, na který se tento zdroj dat odkazuje. Pokud nelze navázat přímý dotaz, dojde v návrháři mapování modelu ER k chybě ověření. Zpráva, kterou obdržíte, uvádí, že konfigurovaný zdroj dat GROUPBY nelze spustit za běhu.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurací komponenty mapování modelu ER.

  2. Přidejte zdroj dat typu Záznamy tabulky \ Dynamics 365 for Operations.

  3. Pojmenujte nový zdroj dat jako Trans. V poli Tabulka vyberte hodnotu VendTrans a určete tak, že tento zdroj dat bude vyžadovat tabulku VendTrans.

  4. Přidejte zdroj dat typu Seskupit podle.

  5. Pojmenujte nový zdroj dat jako GroupedTrans a konfigurujte jej následujícím způsobem:

    • Vyberte zdroj dat Trans jako zdroj záznamů, které by měly být seskupeny.
    • V poli Místo provedení vyberte Dotaz a určete tak, že chcete spustit tento zdroj dat na úrovni databáze.

    Konfigurace zdroje dat na stránce Upravit parametry „Seskupit podle“.

  6. Výběrem příkazu Ověřit zkontrolujte upravitelnou komponentu mapování modelu na stránce návrháře mapování modelů a ověřte, zda je možné konfigurovaný zdroj dat GroupedTrans používat v dotazech.

  7. Upravte zdroj dat Trans přidáním vnořeného pole typu Vypočítané pole a získejte oříznuté číslo účtu dodavatele.

  8. Pojmenujte nový zdroj dat jako $AccNumber a konfigurujte jej tak, aby obsahoval výraz TRIM(Trans.AccountNum).

    Konfigurace zdroje dat na stránce návrháře mapování modelů.

  9. Výběrem příkazu Ověřit zkontrolujte upravitelnou komponentu mapování modelu na stránce návrháře mapování modelů a ověřte, zda je možné konfigurovaný zdroj dat GroupedTrans používat v dotazech.

    Po ověření komponenty mapování modelu ER a ověření konfigurovaného zdroje dat je možné zdroj dat používat v dotazech na stránce návrháře mapování modelů.

  10. Všimněte si, že dojde k chybě ověření, protože zdroj dat Trans obsahuje vnořené pole typu Vypočítané pole, které neumožňuje přeložit volání určené pro zdroj dat GroupedTrans na přímý příkaz SQL.

Následující obrázek ukazuje chybu za běhu, která nastane, pokud ignorujete upozornění a výběrem příkazu Spustit spustíte formát, který má konfigurováno použití mapování modelu.

Chyby za běhu, ke kterým dochází při ignorování upozornění na stránce Návrhář formátů.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Místo přidání vnořeného pole typu Vypočítané pole zadejte do zdroje dat Trans přidejte vnořené pole $AccNumber pro položku GroupedTrans.lines zdroje dat GroupedTrans a konfigurujte jej tak, aby obsahovalo výraz TRIM(GroupedTrans.lines.AccountNum). Tímto způsobem lze zdroj dat GroupedTrans spustit na úrovni SQL a vypočítat vnořené pole $AccNumber později.

Možnost 2

Změňte hodnotu pole Místo provedení pro zdroj dat GroupedTrans z hodnoty Dotaz na V paměti. Nedoporučujeme měnit hodnotu pro tabulku, která obsahuje velké množství dat (transakční tabulka), protože budou načteny všechny záznamy a seskupení spolu s agregací budou provedeny v paměti. Tento přístup proto může způsobit špatný výkon.

Spustitelnost zdroje dat JOIN

Zdroj dat JOIN kombinuje záznamy ze dvou nebo více databázových tabulek na základě souvisejících polí. Každý zdroj dat JOIN lze konfigurovat tak, aby běžel na úrovni databáze nebo v paměti. Když je zdroj dat JOIN konfigurován tak, aby byl spuštěn na úrovni databáze, ER zkontroluje, zda lze navázat přímý dotaz SQL do zdrojů dat, na které se tento zdroj dat odkazuje. Pokud nelze navázat přímý dotaz SQL s nejméně jedním odkazovaným zdrojem dat, dojde v návrháři mapování modelu ER k chybě ověření. Zpráva, kterou obdržíte, uvádí, že konfigurovaný zdroj dat JOIN nelze spustit za běhu.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurací komponenty mapování modelu ER.

  2. Přidejte zdroj dat typu Záznamy tabulky \ Dynamics 365 for Operations.

  3. Pojmenujte nový zdroj dat jako Vendor. V poli Tabulka vyberte VendTable a určete tak, že tento zdroj dat bude požadovat tabulku VendTable.

  4. Přidejte zdroj dat typu Záznamy tabulky \ Dynamics 365 for Operations.

  5. Pojmenujte nový zdroj dat jako Trans. V poli Tabulka vyberte hodnotu VendTrans a určete tak, že tento zdroj dat bude vyžadovat tabulku VendTrans.

  6. Přidejte zdroj dat typu Vypočítané pole jako vnořené pole zdroje dat Vendor.

  7. Pojmenujte nový zdroj dat jako FilteredTrans a konfigurujte jej tak, aby obsahoval výraz FILTER(Trans, Trans.AccountNum=Vendor.AccountNum).

  8. Přidejte zdroj dat typu Spojit.

  9. Pojmenujte nový zdroj dat jako JoinedList a konfigurujte jej následujícím způsobem:

    1. Přidejte zdroj dat Vendor jako první sadu záznamů, která bude spojena.
    2. Přidejte zdroj dat Vendor.FilteredTrans jako druhou sadu záznamů, která bude spojena. Vyberte typ spojení INNER.
    3. V poli Provést vyberte Dotaz a určete tak, že chcete spustit tento zdroj dat na úrovni databáze.

    Konfigurace zdroje dat na stránce návrháře spojení.

  10. Výběrem příkazu Ověřit zkontrolujte upravitelnou komponentu mapování modelu na stránce návrháře mapování modelů a ověřte, zda je možné konfigurovaný zdroj dat JoinedList používat v dotazech.

  11. Změňte výraz zdroje dat Vendor.FilteredTrans z FILTER(Trans, Trans.AccountNum=Vendor.AccountNum) na WHERE(Trans, Trans.AccountNum=Vendor.AccountNum).

  12. Výběrem příkazu Ověřit zkontrolujte upravitelnou komponentu mapování modelu na stránce návrháře mapování modelů a ověřte, zda je možné konfigurovaný zdroj dat JoinedList používat v dotazech.

    Ověření upravitelné komponenty mapování modelu a ověření, že je možné konfigurovaný zdroj dat JoinedList používat v dotazech na stránce návrháře mapování modelu.

  13. Všimněte si, že dojde k chybě ověření, protože výraz zdroje dat Vendor.FilteredTrans nelze přeložit na přímé volání SQL. Přímé volání SQL navíc neumožňuje volání zdroje dat JoinedList, které má být přeloženo do přímého příkazu SQL.

    Chyby za běhu z neúspěšného ověření zdroje dat JoinedList na stránce návrháře mapování modelů.

Následující obrázek ukazuje chybu za běhu, která nastane, pokud ignorujete upozornění a výběrem příkazu Spustit spustíte formát, který má konfigurováno použití mapování modelu.

Spuštění upravitelného formátu na stránce Návrhář formátů.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Změňte výraz zdroje dat Vendor.FilteredTrans z WHERE(Trans, Trans.AccountNum=Vendor.AccountNum) zpět na FILTER(Trans, Trans.AccountNum=Vendor.AccountNum), jak doporučovalo zobrazené upozornění.

Aktualizovaný výraz zdroje dat na stránce návrháře mapování modelů.

Možnost 2

Změňte hodnotu pole Provést pro zdroj dat JoinedList z hodnoty Dotaz na V paměti. Nedoporučujeme měnit hodnotu v tabulce, která obsahuje velké množství dat (transakční tabulka), protože budou načteny všechny záznamy a seskupení bude provedeno v paměti. Tento přístup proto může způsobit špatný výkon. Zobrazí se upozornění ověření, které vás bude informovat o tomto riziku.

Je vhodnější funkce FILTER nebo WHERE?

Integrovaná funkce ER FILTER se používá pro přístup k aplikačním tabulkám, pohledům nebo datovým entitám umístěním jediného volání SQL, které získá požadovaná data jako seznam záznamů. Funkce WHERE načte všechny záznamy z daného zdroje a provede výběr záznamů v paměti. Zdroj dat typu Seznam záznamů se používá jako argument obou funkcí a určuje zdroj pro načtení záznamů. ER kontroluje, zda lze navázat přímé volání SQL do zdroje dat, na který se odkazuje ve funkci WHERE. Pokud nelze navázat přímé volání, je v návrháři mapování modelu ER vyvoláno upozornění ověření. Zpráva, kterou obdržíte, doporučuje použít funkci FILTER namísto WHERE, která pomůže zlepšit efektivitu.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurací komponenty mapování modelu ER.

  2. Přidejte zdroj dat typu Záznamy tabulky \ Dynamics 365 for Operations.

  3. Pojmenujte nový zdroj dat jako Trans. V poli Tabulka vyberte hodnotu VendTrans a určete tak, že tento zdroj dat bude vyžadovat tabulku VendTrans.

  4. Přidejte zdroj dat typu Vypočítané pole jako vnořené pole zdroje dat Vendor.

  5. Pojmenujte nový zdroj dat jako FilteredTrans a konfigurujte jej tak, aby obsahoval výraz WHERE(Trans, Trans.AccountNum="US-101").

  6. Přidejte zdroj dat typu Záznamy tabulky \ Dynamics 365 for Operations.

  7. Pojmenujte nový zdroj dat jako Vendor. V poli Tabulka vyberte VendTable a určete tak, že tento zdroj dat bude požadovat tabulku VendTable.

  8. Přidejte zdroj dat typu Vypočítané pole.

  9. Pojmenujte nový zdroj dat jako FilteredVendor a konfigurujte jej tak, aby obsahoval výraz WHERE(Vendor, Vendor.AccountNum="US-101").

  10. Výběrem příkazu Ověřit zkontrolujete upravitelnou komponentu mapování modelu na stránce Návrhář mapování modelu.

    Kontrola upravitelné komponenty mapování modelu ER na stránce Návrhář mapování modelu.

  11. Všimněte si, že upozornění ověření doporučují používat funkci FILTER namísto funkce WHERE u zdrojů dat FilteredVendor a FilteredTrans.

    Doporučení použití funkce FILTER namísto funkce WHERE na stránce návrháře mapování modelů.

Automatické řešení

Výběrem příkazu Opravit automaticky nahradíte funkci WHERE funkcí FILTER ve výrazu všech zdrojů dat, které se objevují v mřížce na kartě Upozornění pro tento typ kontroly.

Alternativně můžete vybrat řádek pro jedno upozornění v mřížce a poté vybrat příkaz Opravit vybrané. V tomto případě se výraz automaticky změní pouze ve zdroji dat, který je uveden ve vybraném upozornění.

Výběrem možnosti Opravit automaticky nahradíte funkci WHERE funkcí FILTER na stránce návrháře mapování modelů.

Ruční řešení

Výrazy všech zdrojů dat, které jsou uvedeny v ověřovací mřížce, můžete ručně upravit nahrazením funkce WHERE za funkci FILTER.

Je vhodnější funkce ALLITEMSQUERY nebo ALLITEMS?

Integrované funkce ER ALLITEMS a ALLITEMSQUERY se používají k získání ploché hodnoty seznamu záznamů, která se skládá ze seznamu záznamů, které představují všechny položky odpovídající zadané cestě. ER kontroluje, zda lze navázat přímé volání SQL do zdroje dat, na který se odkazuje ve funkci ALLITEMS. Pokud nelze navázat přímé volání, je v návrháři mapování modelu ER vyvoláno upozornění ověření. Zpráva, kterou obdržíte, doporučuje použít funkci ALLITEMSQUERY namísto ALLITEMS, která pomůže zlepšit efektivitu.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurací komponenty mapování modelu ER.

  2. Přidejte zdroj dat typu Záznamy tabulky \ Dynamics 365 for Operations.

  3. Pojmenujte nový zdroj dat jako Vendor. V poli Tabulka vyberte VendTable a určete tak, že tento zdroj dat bude požadovat tabulku VendTable.

  4. K získání záznamů za několik dodavatelů přidejte zdroj dat typu Vypočítané pole.

  5. Pojmenujte nový zdroj dat jako FilteredVendor a konfigurujte jej tak, aby obsahoval výraz FILTER(Vendor, OR(Vendor.AccountNum="US-101",Vendor.AccountNum="US-102")).

  6. K získání transakcí všech vyfiltrovaných dodavatelů přidejte zdroj dat typu Vypočítané pole.

  7. Pojmenujte nový zdroj dat jako FilteredVendorTrans a konfigurujte jej tak, aby obsahoval výraz ALLITEMS(FilteredVendor.'<Relations'.'VendTrans.VendTable_AccountNum').

  8. Výběrem příkazu Ověřit zkontrolujete upravitelnou komponentu mapování modelu na stránce Návrhář mapování modelu.

    Kontrola upravitelné komponenty mapování modelu na stránce Návrhář mapování modelu.

  9. Všimněte si, že se zobrazí upozornění ověření. Zpráva doporučuje použít funkci ALLITEMSQUERY namísto funkce ALLITEMS pro zdroj dat FilteredVendorTrans.

    Doporučení použití funkce ALLITEMSQUERY namísto funkce ALLITEMS na stránce návrháře mapování modelů.

Automatické řešení

Výběrem příkazu Opravit automaticky nahradíte funkci ALLITEMS funkcí ALLITEMSQUERY ve výrazu všech zdrojů dat, které se objevují v mřížce na kartě Upozornění pro tento typ kontroly.

Alternativně můžete vybrat řádek pro jedno upozornění v mřížce a poté vybrat příkaz Opravit vybrané. V tomto případě se výraz automaticky změní pouze ve zdroji dat, který je uveden ve vybraném upozornění.

Výběr příkazu Opravit vybrané na stránce návrháře mapování modelů.

Ruční řešení

Výrazy všech zdrojů dat, které jsou uvedeny v ověřovací mřížce, můžete ručně upravit nahrazením funkce ALLITEMS za funkci ALLITEMSQUERY.

Možnost výskytů prázdného seznamu

Komponentu formátu nebo mapování modelu ER můžete konfigurovat tak, abyste získali hodnotu pole zdroje dat typu Seznam záznamů. ER zkontroluje, zda váš návrh zohledňuje případ, kdy zdroj dat, který je volán, neobsahuje žádné záznamy (tedy je prázdný), aby se předešlo chybám za běhu při načtení hodnoty z pole neexistujícího záznamu.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurovat datový model ER, mapování modelu ER a komponenty formátu ER současně.

  2. Ve stromu datového modelu přidejte kořenovou položku s názvem Root3.

  3. Upravte položku Root3 přidáním vnořené položky typu Seznam záznamů.

  4. Pojmenujte novou vnořenou položku jako Vendor.

  5. Upravte položku Vendor následujícím způsobem:

    • Přidejte vnořené pole typu Řetězec a pojmenujte jej jako Name.
    • Přidejte vnořené pole typu Řetězec a pojmenujte jej jako AccountNumber.

    Přidání vnořených polí na stránce Datový model.

  6. V podokně Zdroje dat mapování modelu přidejte zdroj dat typu Dynamics 365 for Operations \ Záznamy tabulky.

  7. Pojmenujte nový zdroj dat jako Vendor. V poli Tabulka vyberte VendTable a určete tak, že tento zdroj dat bude požadovat tabulku VendTable.

  8. Přidejte zdroj dat typu Všeobecné \ Uživatelský vstupní parametr pro vyhledání účtu dodavatele v dialogovém okně modulu runtime.

  9. Pojmenujte nový zdroj dat jako RequestedAccountNum. Do pole Popisek zadejte Číslo účtu dodavatele. V poli Název datového typu Operations ponechte výchozí hodnotu Popis.

  10. K vyfiltrování dodavatele, o kterého se zajímáte, přidejte zdroj dat typu Vypočítané pole.

  11. Pojmenujte nový zdroj dat jako FilteredVendor a konfigurujte jej tak, aby obsahoval výraz FILTER(Vendor, Vendor.AccountNum=RequestedAccountNum).

  12. Vytvořte vazbu položek datového modelu na konfigurované zdroje dat následujícím způsobem:

    • Vytvořte vazbu položky FilteredVendor na položku Vendor.
    • Vytvořte vazbu položky FilteredVendor.AccountNum na položku Vendor.AccountNumber.
    • Vytvořte vazbu položky FilteredVendor.'name()' na položku Vendor.Name.

    Vázání položek datového modelu na stránce návrháře mapování modelů.

  13. Ve stromu struktury formátu přidejte následující položky, které generují odchozí dokument ve formátu XML obsahující podrobnosti o dodavateli:

    1. Přidejte kořenový prvek XML Statement.

    2. U prvku XML Statement přidejte vnořený prvek XML Party.

    3. U prvku XML Party přidejte následující vnořené atributy XML:

      • Jméno
      • AccountNum
  14. Navažte prvky formátu na poskytnuté zdroje dat následujícím způsobem:

    • Vytvořte vazbu prvku formátu Statement\Party\Name na pole zdroje dat model.Vendor.Name.
    • Vytvořte vazbu prvku formátu Statement\Party\AccountNum na pole zdroje dat model.Vendor.AccountNumber.
  15. Výběrem příkazu Ověřit zkontrolujete upravitelnou komponentu formátu na stránce Návrhář formátu.

    Ověření prvků formátu navázaných na zdroje dat na stránce Návrhář formátů.

  16. Všimněte si, že dojde k chybě ověření. Zpráva uvádí, že chyba může být za běhu vyvolána u konfigurovaných komponent formátu Statement\Party\Name a Statement\Party\AccountNum, pokud je seznam model.Vendor prázdný.

    Chyba ověření, která upozorňuje na potenciální chybu u konfigurovaných komponent formátu.

Následující obrázek ukazuje chybu za běhu, která nastane, pokud ignorujete upozornění, vyberete příkaz Spustit a zvolíte číslo účtu neexistujícího dodavatele. Protože požadovaný dodavatel neexistuje, seznam model.Vendor bude prázdný (to znamená, že nebude obsahovat žádné záznamy).

Chyby za běhu, ke kterým došlo za běhu mapování formátu.

Automatické řešení

Pro vybraný řádek v mřížce na kartě Upozornění můžete vybrat příkaz Zrušit vazbu. Vazba, na kterou se ukazuje ve sloupci Cesta, je automaticky odebrána z prvků formátu.

Ruční řešení

Možnost 1

Můžete navázat prvek formátu Statement\Party\Name na položku zdroje dat model.Vendor. Za běhu tato vazba volá nejprve zdroj dat model.Vendor. Když model.Vendor vrátí prázdný seznam záznamů, vnořené prvky formátu se nespustí. Proto u této konfigurace formátu nejsou vyvolána žádná upozornění ověření.

Vazba prvku formátu na položku zdroje dat na stránce Návrhář formátů.

Možnost 2

Změňte vazbu prvku formátu Statement\Party\Name z model.Vendor.Name na FIRSTORNULL(model.Vendor).Name. Aktualizovaná vazba podmíněně převede první záznam zdroje dat model.Vendor typu Seznam záznamů na nový zdroj dat typu Záznam. Tento nový zdroj dat obsahuje stejnou sadu polí.

  • Pokud je ve zdroji dat model.Vendor k dispozici alespoň jeden záznam, pole tohoto záznamu jsou vyplněna hodnotami polí prvního záznamu zdroje dat model.Vendor. V takovém případě aktualizovaná vazba vrátí název dodavatele.
  • V opačném případě je každé pole vytvořeného záznamu vyplněno výchozí hodnotou pro datový typ daného pole. V tomto případě je vrácen prázdný řetězec jako výchozí hodnota datového typu Řetězec.

Proto se pro prvek formátu Statement\Party\Name nevyskytují žádná upozornění ověření, když je vázán na výraz FIRSTORNULL(model.Vendor).Name.

Změněná vazba řeší upozornění ověření na stránce Návrhář formátů.

Možnost 3

Pokud chcete explicitně určit data, která se zadávají do generovaného dokumentu, když zdroj dat model.Vendor typu Seznam záznamů nevrátí žádné záznamy (v tomto příkladu text Not available), změňte vazbu prvku formátu Statement\Party\Name z hodnoty model.Vendor.Name na IF(NOT(ISEMPTY(model.Vendor)), model.Vendor.Name, "Not available"). Můžete také použít výraz IF(COUNT(model.Vendor)=0, model.Vendor.Name, "Not available").

Další faktor ke zvážení

Inspekce vás také upozorňuje na další možný problém. Ve výchozím nastavení při vazbě prvků formátu Statement\Party\Name a Statement\Party\AccountNum na příslušná pole zdroje dat model.Vendor typu Seznam záznamů budou tyto vazby spuštěny a načtou hodnoty odpovídajících polí prvního záznamu zdroje da model.Vendor, pokud tento seznam není prázdný.

Protože jste nevytvořili vazbu prvku formátu Statement\Party se zdrojem dat model.Vendor, prvek Statement\Party enebude během provádění formátu iterován pro každý záznam zdroje dat model.Vendor. Místo toho bude vygenerovaný dokument vyplněn informacemi pouze z prvního záznamu seznamu záznamů, pokud tento seznam obsahuje více záznamů. Proto může nastat problém, pokud je formát určen k vyplnění generovaného dokumentu informacemi o všech dodavatelích ze zdroje dat model.Vendor. Chcete-li tento problém napravit, vytvořte vazbu prvku Statement\Party se zdrojem dat model.Vendor.

Spustitelnost výrazu s funkcí FILTER (použití mezipaměti)

Některé Integrované funkce ER, včetně FILTER a ALLITEMSQUERY, se používají pro přístup k aplikačním tabulkám, pohledům nebo datovým entitám umístěním jediného volání SQL, které získá požadovaná data jako seznam záznamů. Zdroj dat typu Seznam záznamů se používá jako argument každé z těchto funkcí a určuje zdroj aplikace pro volání. ER kontroluje, zda lze navázat přímé volání SQL do zdroje dat, na který se odkazuje v jedné z těchto funkcí. Pokud nelze navázat přímé volání, protože zdroj dat byl označen jako ukládaný do mezipaměti, dojde v návrháři mapování modelu ER k chybě ověření. Zpráva, kterou obdržíte, uvádí, že výraz ER obsahující jednu z těchto funkcí nelze spustit za běhu programu.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurací komponenty mapování modelu ER.

  2. Přidejte zdroj dat typu Záznamy tabulky \ Dynamics 365 for Operations.

  3. Pojmenujte nový zdroj dat jako Vendor. V poli Tabulka vyberte VendTable a určete tak, že tento zdroj dat bude požadovat tabulku VendTable.

  4. Přidejte zdroj dat typu Všeobecné \ Uživatelský vstupní parametr pro vyhledání účtu dodavatele v dialogovém okně modulu runtime.

  5. Pojmenujte nový zdroj dat jako RequestedAccountNum. Do pole Popisek zadejte Číslo účtu dodavatele. V poli Název datového typu Operations ponechte výchozí hodnotu Popis.

  6. K vyfiltrování dodavatele, o kterého se zajímáte, přidejte zdroj dat typu Vypočítané pole.

  7. Pojmenujte nový zdroj dat jako FilteredVendor a konfigurujte jej tak, aby obsahoval výraz FILTER(Vendor, Vendor.AccountNum=RequestedAccountNum).

  8. Označte konfigurovaný zdroj dat Vendor jako ukládaný v mezipaměti.

    Konfigurace komponenty mapování modelu na stránce Návrhář mapování modelu.

  9. Výběrem příkazu Ověřit zkontrolujete upravitelnou komponentu mapování modelu na stránce Návrhář mapování modelu.

    Ověření funkce FILTER použité na zdroj dat dodavatele ukládaný do mezipaměti na stránce návrháře mapování modelů.

  10. Všimněte si, že dojde k chybě ověření. Zpráva uvádí, že funkci FILTER nelze použít na zdroj dat Vendor, který je ukládán do mezipaměti.

Následující obrázek ukazuje chybu za běhu, která nastane, pokud ignorujete upozornění a výběrem příkazu Spustit spustíte formát.

Chyba za běhu, ke které dojde během provádění mapování formátu na stránce Návrhář formátů.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Odstraňte příznak Mezipaměť ze zdroje dat Vendor. Zdroj dat FilteredVendor zdroj dat se poté stane spustitelným, ale zdroj dat Vendor, na který se odkazuje v tabulce VendTable, bude přístupný pokaždé, když je volán zdroj dat FilteredVendor.

Možnost 2

Změňte výraz zdroje dat FilteredVendor z FILTER(Vendor, Vendor.AccountNum="US-101") na WHERE(Vendor, Vendor.AccountNum="US-101"). V tomto případě bude ke zdroji dat Vendor, na který se odkazuje v tabulce VendTable, přistupováno pouze během prvního volání zdroje dat Vendor. Výběr záznamů se však provede v paměti. Tento přístup proto může způsobit špatný výkon.

Chybějící vazba

Když konfigurujete komponentu formátu ER, nabídne se základní datový model ER jako výchozí zdroj dat pro formát ER. Když je spuštěn konfigurovaný formát ER, použije se k vyplnění datového modelu aplikačními daty výchozí mapování modelu pro základní model. Návrhář formátu ER zobrazí upozornění, pokud vytvoříte vazbu prvku formátu na položku datového modelu, která není vázána na žádný zdroj dat v tom mapování modelu, který je aktuálně vybrán jako výchozí mapování modelu pro upravitelný formát. Tento typ vazby nelze spustit za běhu, protože spuštěný formát nemůže vyplnit vázaný prvek daty aplikace. Proto za běhu dojde k chybě.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurovat datový model ER, mapování modelu ER a komponenty formátu ER současně.

  2. Ve stromu datového modelu přidejte kořenovou položku s názvem Root3.

  3. Upravte položku Root3 a přidejte do ní novou vnořenou položku typu Seznam záznamů.

  4. Pojmenujte novou vnořenou položku jako Vendor.

  5. Upravte položku Vendor následujícím způsobem:

    • Přidejte vnořené pole typu Řetězec a pojmenujte jej jako Name.
    • Přidejte vnořené pole typu Řetězec a pojmenujte jej jako AccountNumber.

    Přidání vnořených polí k položce dodavatele na stránce Datový model.

  6. V podokně Zdroje dat mapování modelu přidejte zdroj dat typu Dynamics 365 for Operations \ Záznamy tabulky.

  7. Pojmenujte nový zdroj dat jako Vendor. V poli Tabulka vyberte VendTable a určete tak, že tento zdroj dat bude požadovat tabulku VendTable.

  8. Přidejte zdroj dat typu Všeobecné \ Uživatelský vstupní parametr pro získání informací o účtu dodavatele v dialogovém okně modulu runtime.

  9. Pojmenujte nový zdroj dat jako RequestedAccountNum. Do pole Popisek zadejte Číslo účtu dodavatele. V poli Název datového typu Operations ponechte výchozí hodnotu Popis.

  10. K vyfiltrování dodavatele, o kterého se zajímáte, přidejte zdroj dat typu Vypočítané pole.

  11. Pojmenujte nový zdroj dat jako FilteredVendor a konfigurujte jej tak, aby obsahoval výraz FILTER(Vendor, Vendor.AccountNum=RequestedAccountNum).

  12. Vytvořte vazbu položek datového modelu na konfigurované zdroje dat následujícím způsobem:

    • Vytvořte vazbu položky FilteredVendor na položku Vendor.
    • Vytvořte vazbu položky FilteredVendor.AccountNum na položku Vendor.AccountNumber.

    Poznámka

    Pole datového modelu Vendor.Name zůstává nevázané.

    Položky datového modelu vázané na konfigurované zdroje dat a položka datového režimu, která zůstává neomezená na stránce Návrháře mapování modelů.

  13. Ve stromu struktury formátu přidejte následující položky, které generují odchozí dokument ve formátu XML obsahující podrobnosti o dodavatelích, kteří vás zajímají:

    1. Přidejte kořenový prvek XML Statement.

    2. U prvku XML Statement přidejte vnořený prvek XML Party.

    3. U prvku XML Party přidejte následující vnořené atributy XML:

      • Jméno
      • AccountNum
  14. Navažte prvky formátu na poskytnuté zdroje dat následujícím způsobem:

    • Vytvořte vazbu prvku formátu Statement\Party na položku zdroje dat model.Vendor.
    • Vytvořte vazbu prvku formátu Statement\Party\Name na pole zdroje dat model.Vendor.Name.
    • Vytvořte vazbu prvku formátu Statement\Party\AccountNum na pole zdroje dat model.Vendor.AccountNumber.
  15. Výběrem příkazu Ověřit zkontrolujete upravitelnou komponentu formátu na stránce Návrhář formátu.

    Ověření komponenty formátu ER na stránce Návrhář formátů.

  16. Všimněte si, že se zobrazí upozornění ověření. Zpráva uvádí, že pole zdroje dat model.Vendor.Name není vázáno na žádný zdroj dat v mapování modelu, který je konfigurován pro použití ve formátu. Proto prvek formátu Statement\Party\Name nemusí být za běhu vyplněn a může dojít k výjimce za běhu.

    Ověření komponenty formátu ER na stránce Návrhář formátů.

Následující obrázek ukazuje chybu za běhu, která nastane, pokud ignorujete upozornění a výběrem příkazu Spustit spustíte formát.

Spuštění upravitelného formátu na stránce Návrhář formátů.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Upravte konfigurované mapování modelu přidáním vazby pro pole zdroje dat model.Vendor.Name.

Možnost 2

Upravte konfigurovaný formát odebráním vazby pro prvek formátu Statement\Party\Name.

Nepropojená šablona

Když ručně nakonfigurujete komponentu formátu ER tak, aby pomocí šablony generovala odchozí dokument, musíte ručně přidat prvek Excel\File, přidat požadovanou šablonu jako přílohu upravitelné komponenty, a vybrat tuto přílohu v přidaném prvku Excel\File. Tímto způsobem dáváte najevo, že přidaný prvek za běhu vyplní vybranou šablonu. Při konfiguraci verze komponenty formátu ve stavu Koncept můžete do upravitelné komponenty přidat několik šablon a poté vybrat každou šablonu v prvku Excel\File, aby spustila formát ER. Tímto způsobem můžete vidět, jak jsou různé šablony vyplněny za běhu. Pokud máte šablony, které nejsou vybrány v žádném prvku Excel\File, návrhář formátu ER vás upozorní, že tyto šablony budou odstraněny z upravitelné verze komponenty formátu ER, když se jeho stav změní z Návrh na Dokončeno.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurací komponenty formátu ER.

  2. Ve stromu struktury formátu přidejte prvek Excel\File.

  3. U prvku Excel\File, který jste právě přidali, přidejte soubor sešitu aplikace Excel A.xlsx jako přílohu. Použijte typ dokumentu, který je konfigurován v parametrech ER k určení úložiště šablon formátu ER.

  4. U prvku Excel\File, který jste právě přidali, přidejte další soubor sešitu aplikace Excel B.xlsx jako přílohu. Použijte stejný typ dokumentu jako u souboru sešitu A.

  5. V prvku Excel\File vyberte soubor sešitu A.

  6. Výběrem příkazu Ověřit zkontrolujete upravitelnou komponentu formátu na stránce Návrhář formátu.

    Ověření komponenty upravitelného formátu souboru sešitu na stránce Návrhář formátů.

  7. Všimněte si, že se zobrazí upozornění ověření. Zpráva uvádí, že soubor sešitu B.xlsx není propojen se žádnými komponentami a že bude odstraněn po změně stavu verze konfigurace.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Upravte konfigurovaný formát odebráním všech šablon, které nejsou propojeny s žádným prvkem Excel\File.

Nesynchronizovaný formát

Když nakonfigurujete komponentu formátu ER tak, aby pomocí šablony Excelu generovala odchozí dokument, můžete ručně přidat prvek Excel\File, přidat požadovanou šablonu jako přílohu upravitelné komponenty, a vybrat tuto přílohu v přidaném prvku Excel\File. Tímto způsobem dáváte najevo, že přidaný prvek za běhu vyplní vybranou šablonu. Protože přidaná šablona Excelu byla navržena externě, může upravitelný formát ER obsahovat názvy aplikace Excel, které v přidané šabloně chybí. Návrhář formátu ER vás upozorní na jakékoli nesrovnalosti mezi vlastnostmi prvků formátu ER odkazující na názvy, které nejsou zahrnuty v přidané šabloně Excelu.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurací komponenty formátu ER.

  2. Ve stromu struktury formátu přidejte prvek Excel\File s názvem Report.

  3. U prvku Excel\File, který jste právě přidali, přidejte soubor sešitu aplikace Excel A.xlsx jako přílohu. Použijte typ dokumentu, který je konfigurován v parametrech ER k určení úložiště šablon formátu ER.

    Důležité

    Ujistěte se, že přidaný sešit Excelu neobsahuje název ReportTitle.

  4. Přidejte prvek Excel\Cell s názvem Title jako vnořený prvek prvku Report. Do pole Oblast Excelu zadejte ReportTitle.

  5. Výběrem příkazu Ověřit zkontrolujete upravitelnou komponentu formátu na stránce Návrhář formátu.

    Ověření vnořených prvků a polí na stránce Návrhář formátu.

  6. Všimněte si, že se zobrazí upozornění ověření. Zpráva uvádí, že název ReportTitle neexistuje v listu Sheet1 šablony aplikace Excel, kterou používáte.

    Upozornění ověření na fakt, že název ReportTitle neexistuje na listu Sheet1 šablony aplikace Excel.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Upravte konfigurovaný formát odebráním všech prvků odkazujících na názvy aplikace Excel, které v šabloně chybí.

Možnost 2

Aktualizujte upravitelný formát ER importem šablony aplikace Excel. Struktura upravitelného formátu ER bude synchronizována se strukturou importované šablony Excelu.

Další faktor ke zvážení

Chcete-li se naučit synchronizovat strukturu formátu se šablonou ER v editoru šablon Správy obchodních dokumentů, přečtěte si část Aktualizace struktury šablony obchodního dokumentu.

Není synchronizováno s formátem šablony Word

Když nakonfigurujete komponentu formátu ER tak, aby pomocí šablony Wordu generovala odchozí dokument, můžete ručně přidat prvek Excel\File, přidat požadovanou šablonu Wordu jako přílohu upravitelné komponenty, a vybrat tuto přílohu v přidaném prvku Excel\File.

Poznámka

Když je připojen dokument Word, návrhář formátu ER prezentuje upravitelný prvek jako Word\Soubor.

Tímto způsobem dáváte najevo, že přidaný prvek za běhu vyplní vybranou šablonu. Protože přidaná šablona Wordu byla navržena externě, může upravitelný formát ER obsahovat odkazy na ovládací prvky obsahu Wordu, které v přidané šabloně chybí. Návrhář formátu ER vás upozorní na jakékoli nesrovnalosti mezi vlastnostmi prvků formátu ER odkazující na ovládací prvky obsahu, které nejsou zahrnuty v přidané šabloně Wordu.

Příklad, který ukazuje, jak může k tomuto problému dojít, viz Konfigurace upravitelného formát tak, aby potlačil část shrnutí.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Upravte nakonfigurovaný formát odstraněním vzorce Odstraněno z prvku formátu, který je uveden ve upozornění na ověření.

Možnost 2

Upravte použití šablony Word pomocí přidání požadované značky k příslušnému ovládacímu prvku obsahu Word.

Žádné výchozí mapování

Když je provedena kontrola Chybí vazba, jsou zkontrolovány vazby kontrolovaného formátu proti vazbám příslušné komponenty mapování modelu. Protože můžete importovat několik konfigurací mapování modelu ER na vaši instanci Finance a každá konfigurace může obsahovat příslušnou komponentu mapování modelu, musí být vybrána jedna konfigurace jako výchozí konfigurace. Jinak při pokusu o spuštění, úpravy nebo ověření kontrolovaného formátu ER dojde k výjimce a zobrazí se následující zpráva: „Existuje více než jedno mapování modelu pro datový model <model name (root descriptor)> v konfiguracích <configuration names separated by comma>. Nastavte jednu z konfigurací jako výchozí.“

Příklad, který ukazuje, jak může k tomuto problému dojít a jak ho lze opravit, najdete v článku Správa několika odvozených mapování pro jeden kořen modelu.

Nekonzistentní nastavení komponent záhlaví nebo zápatí

Když nakonfigurujete komponentu formátu ER na použití šablony aplikace Excel ke generování odchozího dokumentu, můžete přidat komponentu Excel\Záhlaví k vyplnění záhlaví v horní části listu v sešitu aplikace Excel. Můžete také přidat komponentu Excel\Zápatí k vyplnění zápatí ve spodní části listu. Pro každý komponent Excel\Záhlaví nebo Excel\Zápatí, který přidáte, musíte nastavit vlastnost Vzhled záhlaví/zápatí k určení stránek, pro které je komponenta spuštěna. Protože jich můžete nakonfigurovat několik komponent Excel\Záhlaví nebo Excel\Zápatí pro jeden List a můžete vygenerovat různá záhlaví nebo zápatí pro různé typy stránek v listu aplikace Excel, musíte nakonfigurovat jednu komponentu Excel\Záhlaví nebo Excel\Zápatí komponenta pro konkrétní vlastnost Vzhled záhlaví/zápatí. Pokud je nakonfigurován více než jeden komponent Excel\Záhlaví nebo Excel\Zápatí pro konkrétní vlastnost Vzhled záhlaví/zápatí, dojde k chybě ověření a zobrazí se následující chybová zpráva: „Záhlaví/zápatí (<typ komponenty: Záhlaví nebo zápatí>) jsou nekonzistentní.“

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Upravte nakonfigurovaný formát odstraněním jednoho z nekonzistentních komponent Excel\Záhlaví nebo Excel\Zápatí.

Možnost 2

Upravte vlastnost Vzhled záhlaví/zápatí pro jeden z nekonzistentních komponent Excel\Záhlaví nebo Excel\Zápatí.

Nekonzistentní nastavení komponenty Stránka

Když konfigurujete komponentu formátu ER, abyste použili šablonu aplikace Excel ke generování odchozího dokumentu, můžete přidat komponentu Excel\Strana ke stránkování generovaného dokumentu pomocí vzorců ER. U každé komponenty Excel\Strana, kterou přidáte, můžete přidat mnoho vnořených komponent Rozsah a dodržet soulad s následující strukturou:

  • První vnořenou komponentu Rozsah lze konfigurovat tak, že vlastnost Směr replikace nastavíte na Žádná replikace. Tento rozsah se používá k vytváření záhlaví stránek ve vygenerovaných dokumentech.
  • Můžete přidat mnoho dalších vnořených komponent Rozsah, kde bude vlastnost Směr replikace nastavena na Vertikální. Tyto rozsahy se používají k vyplňování generovaných dokumentů.
  • Poslední vnořenou komponentu Rozsah lze konfigurovat tak, že vlastnost Směr replikace nastavíte na Žádná replikace. Tento rozsah se používá k vytváření zápatí stránky ve vygenerovaných dokumentech a k přidání požadovaných zlomů stránek.

Pokud tuto strukturu při návrhu formátu ER v návrháři formátu ER nedodržíte, dojde k chybě ověření a zobrazí se následující chybová zpráva: „Existuje více než dvě součásti rozsahu bez replikace. Odstraňte nepotřebné součásti.“

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Upravte konfigurovaný formát změnou vlastnosti Směr replikace u všech nekonzistentních komponent Excel\Rozsah.

Spustitelnost výrazu s funkcí ORDERBY

Integrovaná funkce ER ORDERBY se používá k řazení záznamů zdroje dat ER typu Seznam záznamů, který je zadán jako argument funkce.

Argumenty funkce ORDERBY lze zadat k řazení záznamů tabulek aplikace, pohledů nebo datových entit umístěním jediného volání databáze, které získá seřazená data jako seznam záznamů. Zdroj dat typu Seznam záznamů se používá jako argument této funkce a určuje zdroj aplikace pro volání.

ER kontroluje, zda lze navázat přímý dotaz databáze do zdroje dat, na který se odkazuje ve funkci ORDERBY. Pokud nelze navázat přímý dotaz, dojde v návrháři mapování modelu ER k chybě ověření. Zpráva, kterou obdržíte, uvádí, že výraz ER obsahující funkci ORDERBY nelze spustit za běhu programu.

Následující kroky ukazují, jak může k tomuto problému dojít.

  1. Začněte konfigurací komponenty mapování modelu ER.

  2. Přidejte zdroj dat typu Záznamy tabulky \ Dynamics 365 for Operations.

  3. Pojmenujte nový zdroj dat jako Vendor. V poli Tabulka vyberte VendTable, a určete tak, že tento zdroj dat bude požadovat tabulku VendTable.

  4. Přidejte zdroj dat typu Vypočítané pole.

  5. Pojmenujte nový zdroj dat jako OrderedVendors a konfigurujte jej tak, aby obsahoval výraz ORDERBY("Query", Vendor, Vendor.AccountNum).

    Konfigurace zdrojů dat na stránce návrháře mapování modelů.

  6. Výběrem příkazu Ověřit zkontrolujte upravitelnou komponentu mapování modelu na stránce návrháře mapování modelů a ověřte, že výraz ve zdroji dat OrderedVendors lze používat v dotazech.

  7. Upravte zdroj dat Vendor přidáním vnořeného pole typu Vypočítané pole a získejte oříznuté číslo účtu dodavatele.

  8. Pojmenujte nové vnořené pole jako $AccNumber a konfigurujte jej tak, aby obsahovalo výraz TRIM(Vendor.AccountNum).

  9. Výběrem příkazu Ověřit zkontrolujte upravitelnou komponentu mapování modelu na stránce návrháře mapování modelů stránku a ověřte, že výraz ve zdroji dat Vendor lze používat v dotazech.

    Ověření výrazu ve zdroji dat Vendor lze zkontrolovat dotazem na stránce Návrhář mapování modelů.

  10. Všimněte si, že dojde k chybě ověření, protože zdroj dat Vendor obsahuje vnořené pole typu Počítané pole, které neumožňuje přeložit výraz OrderedVendors zdroje dat na přímý příkaz databáze. Ke stejné chybě dojde za běhu, pokud chybu ověření ignorujete a vyberete Spustit ke spuštění tohoto mapování modelu.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Možnost 1

Místo přidání vnořeného pole typu Počítané pole do zdroje dat Vendor přidejte vnořené pole $AccNumber do zdroje dat FilteredVendors a konfigurujte ho tak, aby obsahovalo výraz TRIM(FilteredVendor.AccountNum). Tímto způsobem lze výraz ORDERBY("Query", Vendor, Vendor.AccountNum) spustit na úrovni databáze a vypočítat vnořené pole $AccNumber později.

Možnost 2

Změňte výraz zdroje dat FilteredVendors z ORDERBY("Query", Vendor, Vendor.AccountNum) na ORDERBY("InMemory", Vendor, Vendor.AccountNum). Nedoporučujeme měnit výraz pro tabulku, která obsahuje velké množství dat (transakční tabulka), protože budou načteny všechny záznamy a řazení požadovaných záznamů bude provedeno v paměti. Tento přístup proto může způsobit špatný výkon.

Zastaralý artefakt aplikace

Když navrhujete komponentu mapování modelu ER nebo komponentu formátu ER, můžete nakonfigurovat výraz ER pro volání artefaktu aplikace v ER, jako je databázová tabulka, metoda třídy atd. Ve Finance verze 10.0.30 a novější, můžete přinutit ER, aby vás varovalo, že odkazovaný artefakt aplikace je ve zdrojovém kódu označen jako zastaralý. Toto varování může být užitečné, protože obvykle jsou zastaralé artefakty nakonec odstraněny ze zdrojového kódu. Být informován o stavu artefaktu vám může zabránit v používání zastaralého artefaktu v upravitelné komponentě ER před jeho odstraněním ze zdrojového kódu, což pomáhá předcházet chybám při volání neexistujících artefaktů aplikace z komponenty ER za běhu.

Aktivujte funkci Ověřit zastaralé prvky zdrojů dat elektronického vykazování v pracovním prostoru Správa funkcí pro zahájení vyhodnocování zastaralého atributu artefaktů aplikace během kontroly upravitelné komponenty ER. Zastaralý atribut je aktuálně hodnocen pro následující typy aplikačních artefaktů:

  • Tabulka databáze
    • Pole tabulky
    • Metoda tabulky
  • Třída aplikace
    • Metoda třídy

Poznámka

Během kontroly upravitelné komponenty ER pro zdroj dat, který odkazuje na zastaralý artefakt, se zobrazí varování, pouze pokud je tento zdroj dat použit v alespoň jedné vazbě této komponenty ER.

Tip

Když je použita třída SysObsoleteAttribute k upozornění kompilátoru, aby místo chyb vydal varovné zprávy, varování inspekce představuje varování specifikované ve zdrojovém kódu v době návrhu v pevné záložce Podrobnosti na stránce Návrhář mapování modelů nebo Návrhář formátů.

Následující obrázek ukazuje varování o ověření, které se objeví, když je zastaralé pole DEL_Email tabulky aplikace CompanyInfo vázáno na pole datového modelu pomocí konfigurovaného zdroje dat company.

Zkontrolujte varování ověření na pevné záložce Podrobnosti na stránce Designer mapování modelu.

Automatické řešení

Není k dispozici žádná možnost automatického řešení tohoto problému.

Ruční řešení

Upravte mapování nebo formát nakonfigurovaného modelu odstraněním všech vazeb na zdroj dat, který odkazuje na zastaralý artefakt aplikace.

Další prostředky

Funkce elektronického výkaznictví ALLITEMS

Funkce elektronického výkaznictví ALLITEMSQUERY

Funkce el. výkaznictví INT64VALUE

Funkce INTVALUE ER

Funkce elektronického výkaznictví FILTER

Funkce elektronického výkaznictví WHERE

Použití zdrojů dat JOIN v mapování modelu ER k získání dat z více aplikačních tabulek

Sledování provedení formátů elektronického výkaznictví pro při řešení problémů s výkonem

Přehled správy obchodních dokumentů

Potlačit ovládací prvky obsahu Word v generovaných sestavách

Správa několika odvozených mapování pro jeden kořen modelu