Sukonfigūruoto ER komponento patikrinimas, kad nekiltų vykdymo problemų
Kiekvieną sukonfigūruotą elektroninių ataskaitų (ER) formatą ir modelio susiejimo komponentą galima patikrinti dizaino metu. Atliekant šį tikrinimą, vykdomas vientisumo patikrinimas siekiant išvengti galinčių kilti vykdymo problemų, pavyzdžiui, vykdymo klaidų ir našumo suprastėjimo. Kiekvienai aptiktai problemai patikra pateikia probleminio elemento kelią. Kai kurioms problemoms spręsti galima taikyti automatinę pataisą.
Numatyta, kad ER konfigūracijos, apimančios anksčiau minėtus komponentus, tikrinimas automatiškai taikomas tolesniais atvejais.
- Naują ER konfigūracijos versiją importuojate į savo Microsoft Dynamics 365 finansų egzempliorių.
- Redaguojamo ER konfigūracijos būseną keičiate iš Juodraštis įBaigtas.
- Galite iš naujo sukurti redaguojamą ER konfigūraciją pritaikę naują pagrindinę versiją.
Galite tiesiogiai vykdyti šį tikrinimą. Pasirinkite vieną iš tolesnių trijų parinkčių ir atlikite nurodytus veiksmus.
1 parinktis.
- Eikite į Organizacijos administravimo > elektronines > ataskaitų konfigūracijas.
- Konfigūracijos medyje, esančiame kairiojoje srityje, pasirinkite pageidaujamą ER konfigūraciją, kurioje yra ER formato arba ER modelio susiejimo komponentas.
- Versijose "FastTab" pasirinkite norimą pasirinktos ER konfigūracijos versiją.
- Veiksmų srityje pasirinkite Tikrinti.
2 ER formato parinktis.
- Eikite į Organizacijos administravimo > elektronines > ataskaitų konfigūracijas.
- Konfigūracijos medyje, esančiame kairiojoje srityje, pasirinkite pageidaujamą ER konfigūraciją, kurioje yra ER formato komponentas.
- Versijose "FastTab" pasirinkite norimą pasirinktos ER konfigūracijos versiją.
- Veiksmų srityje pasirinkite konstruktorių .
- Formato dizaino įrankio puslapio veiksmų srityje pasirinkite Tikrinti.
3 ER modelio susiejimo parinktis.
- Eikite į Organizacijos administravimo > elektronines > ataskaitų konfigūracijas.
- Konfigūracijos medyje, esančiame kairiojoje srityje, pasirinkite pageidaujamą ER konfigūraciją, kurioje yra ER modelio susiejimo komponentas.
- Versijose "FastTab" pasirinkite norimą pasirinktos ER konfigūracijos versiją.
- Veiksmų srityje pasirinkite konstruktorių .
- Modelio ir duomenų šaltinio susiejimo puslapyje , veiksmų srityje, pasirinkite Konstruktorius .
- Modelio susiejimo dizainerio puslapio veiksmų srityje pasirinkite Tikrinti.
Norėdami praleisti tikrinimą, kai importuojama konfigūracija, atlikite šiuos veiksmus.
- Eikite į Organizacijos administravimo > elektronines > ataskaitų konfigūracijas.
- Konfigūracijos puslapio veiksmų srities skirtuke Konfigūracijos, papildomų parametrų grupėje, pasirinkite Vartotojo parametrai.
- Importinę pasirinktį Patikrinkite konfigūraciją nustatykite kaip Ne.
Norėdami praleisti tikrinimą, kai versijos būseną pakeičiate arba pritaikote kitoje vietoje, atlikite šiuos veiksmus.
- Eikite į Organizacijos administravimo > elektronines > ataskaitų konfigūracijas.
- Konfigūracijos puslapio veiksmų srities skirtuke Konfigūracijos, papildomų parametrų grupėje, pasirinkite Vartotojo parametrai.
- Konfigūracijos būsenos keitimo ir pakartotinio bazės keitimo metu nustatykite pasirinktį Praleisti tikrinimą kaip Taip.
ER naudoja tolesnes kategorijas, kad būtų galima grupuoti vientisumo patikras.
- Vykdomoji programa – tikrinimai, aptinkami kritinės problemos, kurios gali atsirasti vykdymo metu. Šios problemos dažniausiai yra klaidos lygyje.
- Našumas – patikrinimai, kurie aptinka problemas, kurios gali neefektyviai vykdyti sukonfigūruotus ER komponentus. Šios problemos dažniausiai yra perspėjimo lygyje.
- Duomenų vientisumas – tikrinimai, aptikę problemas, kurios gali sukelti duomenų praradimo arba apdorojimo laiko problemų. Šios problemos dažniausiai yra perspėjimo lygyje.
Patikrinimų sąrašas
Toliau pateikiamoje lentelėje apžvelgiami ER suteikiami patikrinimai. Norėdami gauti daugiau informacijos apie šiuos tikrinimus, naudodami pirmo stulpelio saitus pereisite į atitinkamus šio straipsnio skyrius. Šiuose skyriuose paaiškinami komponentų, kuriems ER suteikia patikrinimų, tipai ir tai, kaip galima iš naujo sukonfigūruoti ER komponentus, kad būtų išvengta problemų.
Pavadinimas / vardas ir (arba) pavardė | Kategorija | Lygis | Laiškas |
---|---|---|---|
Tipo konvertavimas | Vykdomumas | Klaida |
Negalima konvertuoti tipo <tipas> reiškinio į tipo <type> lauką. Apdorojimo laiko klaida: tipo išimtis |
Tipo suderinamumas | Vykdomumas | Klaida |
Sukonfigūruoto reiškinio negalima naudoti kaip dabartinio formato elemento susiejimo su duomenų šaltiniu, nes šis reiškinys pateikia duomenų tipo <tipas> reikšmę, kuri nepatenka į duomenų tipus, kuriuos palaiko dabartinio formato elementas, kurio tipas – <tipas>. Apdorojimo laiko klaida: Tipo išimtis |
Trūksta konfigūracijos elemento | Vykdomumas | Klaida |
Kelias nerastas <kelias>. Vykdyklės klaida: konfigūracijos maršruto <elementas> nerastas |
Išraiškos su FUNKCIJA FILTER vykdomoji išraiška | Vykdomumas | Klaida |
Funkcijos FILTER sąrašo išraiška užklausų nepalaiko. Vykdyklės klaida: filtravimas nepalaikomas. Norėdami apie tai gauti daugiau informacijos, patvirtinkite konfigūraciją. |
GROUPBY duomenų šaltinio vykdomoji programa | Vykdomumas | Klaida | Kelias <kelias> nepalaiko užklausų. |
Vykdomumas | Klaida |
Funkcijos Grupuoti pagal negalima vykdyti naudojant užklausą. Vykdyklės klaida: funkcijos Grupuoti pagal vykdyti naudojant užklausą negalima. |
|
JOIN duomenų šaltinio vykdomoji programa | Vykdomumas | Klaida |
Negalima prijungti sąrašo <kelio>, kuris nėra užklausos filtras. Apdorojimo laiko klaida: Funkcija Apjungtas duomenų šaltinis turi būti neteisingai iškviestas filtro išraiškos apskaičiuojamas laukas. |
FILTER ir WHERE funkcijos preferability | Našumas | Perspėjimas | Našumo atžvilgiu geriau naudoti reiškinio funkciją FILTER, o ne WHERE. Pasirinkite Taisyti, norėdami pakeisti automatiškai. |
ALLITEMSQUERY ir ALLITEMS funkcijos preferability | Našumas | Perspėjimas | Našumo atžvilgiu geriau naudoti reiškinio funkciją ALLITEMSQUERY, o ne ALLITEMS. Pasirinkite Taisyti, norėdami pakeisti automatiškai. |
Tuščių sąrašo atvejų svarstymas | Vykdomumas | Perspėjimas |
Sąrašo <kelias> neapima tuščio sąrašo atvejo patikros, todėl vykdant gali įvykti klaida. Įtraukite tuščio sąrašo atvejo patikrą. Vykdyklės klaida: sąrašas maršrute tuščias <> Galimas išdavimas: eilutė užpildoma vieną kartą, kol duomenų šaltinyje yra keli įrašai |
Išraiškos su FILTER funkcija (kaupimas talpykloje) vykdomoji informacija | Vykdomumas | Klaida |
Funkcijos FILTER negalima itaikyti pasirinktam duomenų šaltinio tipui. Tipo Lentelės įrašai duomenų šaltinis taikomas tik tada, kai jis nėra įtrauktas į talpyklą ir nėra neautomatiniu būdu įdėtų duomenų šaltinių. Vykdyklės klaida: filtravimas nepalaikomas. Norėdami apie tai gauti daugiau informacijos, patvirtinkite konfigūraciją. |
Trūksta susiejimo | Vykdomumas | Perspėjimas |
Kelyje <kelias> nėra susiejimo su jokiu duomenų šaltinyje naudojant modelio susiejimą. Vykdyklės klaida: maršrutas <nėra> apribotas |
Nesu susietas šablonas | Duomenų vientisumas | Perspėjimas | Failo <vardas> nesusietas su jokiais failo komponentais ir bus pašalintas pakeitus konfigūracijos versijos būseną. |
Nesinchronizuotas formatas | Duomenų vientisumas | Perspėjimas | Nurodyto pavadinimo <komponento pavadinimas> nėra „Excel“ lape <lapo pavadinimas> |
Nesinchronizuotas formatas | Duomenų vientisumas | Perspėjimas |
<"Word" šablono> faile nėra pažymėtos "Word" turinio valdiklio žymės Vykdyklės klaida:< "Word" šablono> faile nėra pažymėtos "Word" turinio valdymo žymės. |
Nėra numatytojo susiejimo | Duomenų vientisumas | Klaida |
Daugiau nei vienas modelio susiejimas naudojamas <modelio pavadinimo (šakninio aprašo)> duomenų modeliui konfigūracijose, kai <konfigūracijų pavadinimai atskiriami kableliu>. Nustatykite vieną iš konfigūracijų kaip numatytąją Apdorojimo laiko klaida: Konfigūracijos konfigūracijos pavadinimuose, atskirtuose kableliais, yra daugiau nei vienas modelio susiejimas modelio pavadinimui ( <> šakninis aprašas) duomenų modeliui <>. Nustatykite vieną iš konfigūracijų kaip numatytąją. |
Nesuderinamas antraštės arba poraštės komponentų parametras | Duomenų vientisumas | Klaida |
Antraštės / poraštės (<komponento tipas: antraštė arba poraštė>) yra nesuderinamos Runtime: Paskutinis sukonfigūruotas komponentas naudojamas vykdyklėje, jei vykdoma sukonfigūruoto ER formato juodraščio versija. |
Nesuderinamas puslapio komponento nustatymas | Duomenų vientisumas | Klaida | Yra daugiau nei du diapazono komponentai be dublikatų. Prašome pašalinti nereikalingus komponentus. |
Išraiškos su ORDERBY funkcija vykdomoji išraiška | Vykdomumas | Klaida |
Funkcijos ORDERBY sąrašo išraiška užklausų nepalaiko. Vykdyklės klaida: Rūšiavimas nepalaikomas. Norėdami apie tai gauti daugiau informacijos, patvirtinkite konfigūraciją. |
Nebenaudojatas programos artefaktas | Duomenų vientisumas | Įspėjimas |
<Elemento maršrutas> yra pažymėtas kaip pasenęs. Vykdyklės klaidos pavyzdys: klasės maršrutas<> nerastas. |
Tipo konvertavimas
ER tikrina, ar duomenų modelio lauko duomenų tipas yra suderinamas su reiškinio, sukonfigūruoto kaip šio lauko susiejimas, duomenų tipu. Jei duomenų tipai yra nesuderinami, ER modelio susiejimo kūrimo įrankyje įvyksta tikrinimo klaida. Pranešime, kurį gaunate, teigiama, kad ER negali konvertuoti A tipo reiškinio į B tipo lauką.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite vienu metu konfigūruoti ER duomenų modelį ir ER modelio susiejimo komponentus.
Duomenų modelio medyje pridėkite lauką, pavadintą X, ir pasirinkite Integer kaip duomenų tipą.
Modelio susiejimo dizaino įrankio duomenų šaltinio srityje įtraukite duomenų šaltinį, kurį nurodo lauko tipas Apskaičiuotas .
Pavadinkite naują duomenų šaltinį Y ir sukonfigūruokite jį, kad jame būtų išraiška
INTVALUE(100)
.Susieti X su Y.
Duomenų modelio konstruktoriuje pakeiskite X lauko duomenų tipą iš Integer įInt64.
Pasirinkite Tikrinti, kad būtų patikrintas redaguojamas modelio susiejimo komponentas modelio susiejimo dizaino įrankio puslapyje.
Pasirinkite Tikrinti , kad būtų patikrintas konfigūracijos puslapyje pasirinktos ER konfigūracijos modelio susiejimo komponentas .
Atkreipkite dėmesį, kad įvyksta tikrinimo klaida. Pranešimas nurodo, kad integer
INTVALUE(100)
tipo vertė, kurios Yduomenų šaltinio išraiškos negalima saugoti Int64 tipo Xduomenų modelio lauke.
Toliau pateikta iliustracija rodo vykdyklės klaidą, kuri įvyksta, jei nepaisote perspėjimo, ir pasirinkite Vykdyti, norėdami paleisti formatą, kuris sukonfigūruotas naudoti modelio susiejimą.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Atnaujinkite duomenų modelio struktūrą, keisdami duomenų modelio lauko duomenų tipą, kad jis atitiktų reiškinio, sukonfigūruoto šiam laukui susieti, duomenų tipą. Pateiktame pavyzdyje X lauko duomenų tipas turi būti pakeistas atgal į Integer .
2 pasirinktis
Atnaujinkite modelio susiejimą, pakeisdami duomenų šaltinio reiškinį, susietą su duomenų modelio lauku. Pateiktame pavyzdyje Y duomenų šaltinio išraiška turi būti pakeista INT64VALUE(100)
.
Tipo suderinamumas
ER tikrina, ar formato elemento duomenų tipas yra suderinamas su reiškinio, sukonfigūruoto kaip šio formato elemento susiejimas, duomenų tipu. Jei duomenų tipai yra nesuderinami, ER operacijų kūrimo įrankyje įvyksta tikrinimo klaida. Gautame pranešime norodoma, kad sukonfigūruoto reiškinio negalima naudoti kaip dabartinio formato elemento susiejimo su duomenų šaltiniu, nes šis reiškinys pateikia A duomenų tipo reikšmę, kuri nepatenka į duomenų tipus, kuriuos palaiko dabartinio formato elementas, kurio tipas – B.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite vienu metu konfigūruoti ER duomenų modelį ir ER formato komponentus.
Duomenų modelio medyje pridėkite lauką, pavadintą X, ir pasirinkite Integer kaip duomenų tipą.
Formato struktūros medyje pridėkite skaitinio tipo formato elementą.
Pavadinkite naują formato elementą Y. Skaitinio tipo lauke kaip duomenų tipą pasirinkite Vertę.
Susieti X su Y.
Formato struktūros medyje pakeiskite Y formato elemento duomenų tipą iš Integer įInt64.
Pasirinkite Tikrinti, ar puslapyje Formato konstruktorius norite patikrinti redaguojamą formato komponentą .
Atkreipkite dėmesį, kad įvyksta tikrinimo klaida. Pranešime teigiama, kad sukonfigūruotoje išraiškoje gali būti tik Int64 vertės. Todėl Y formato elemente negalima įvesti tipo Integer X duomenų modelio lauko vertės.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Atnaujinkite formato struktūrą pakeitę skaitinio formato elemento duomenų tipą taip, kad ji atitiktų išraiškos, kurią sukonfigūravote tam elementui įpareigojant, duomenų tipą. Ankstesniame pavyzdyje X formato elemento skaitinėtipo vertė turi būti pakeista atgal į integer.
2 pasirinktis
Atnaujinkite X formato elemento formato susiejimą pakeisdami išraišką iš model.X
į INT64VALUE(model.X)
.
Trūksta konfigūracijos elemento
ER tikrina, ar susiejimo reiškiniai apima tik tuos duomenų šaltinius, kurie sukonfigūruoti redaguojamame ER komponente. Dėl kiekvieno susiejimo, apimančio duomenų šaltinį, kurio trūksta redaguojamame ER komponente, įvyksta tikrinimo klaida ER operacijų kūrimo įrankyje arba ER modelio susiejimo kūrimo įrankyje.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite vienu metu konfigūruoti ER duomenų modelį ir ER modelio susiejimo komponentus.
Duomenų modelio medyje pridėkite lauką, pavadintą X, ir pasirinkite Integer kaip duomenų tipą.
Modelio susiejimo dizaino įrankio duomenų šaltinio srityje įtraukite duomenų šaltinį, kurį nurodo lauko tipas Apskaičiuotas .
Pavadinkite naują duomenų šaltinį Y ir sukonfigūruokite jį, kad jame būtų išraiška
INTVALUE(100)
.Susieti X su Y.
Modelio susiejimo dizaino įrankio duomenų šaltinio srityje panaikinkite Y duomenų šaltinį.
Pasirinkite Tikrinti, kad būtų patikrintas redaguojamas modelio susiejimo komponentas modelio susiejimo dizaino įrankio puslapyje.
Atkreipkite dėmesį, kad įvyksta tikrinimo klaida. Pranešime nurodoma, kad X duomenų modelio lauko susiejime yra maršrutas, susijęs su Y duomenų šaltiniu, bet šis duomenų šaltinis nerastas.
Automatinis sprendimas
Pasirinkite " Unbind" , norėdami automatiškai išspręsti šią problemą, pašalindami trūkstamą duomenų šaltinio susiejimą.
Neautomatinis sprendimas
1 pasirinktis
Atsiekite X duomenų modelio lauką, kad būtų sustabdyta nuoroda į neexistuojantį Y duomenų šaltinį.
2 pasirinktis
Modelio susiejimo dizaineryje duomenų šaltinių srityje dar kartą įtraukite Y duomenų šaltinį.
Išraiškos su FUNKCIJA FILTER vykdomoji išraiška
Įdiegta ER funkcija naudojama norint pasiekti programų lenteles, rodinius ar duomenų objektus, pateikiant vieną SQL iškvietimą, kad būtini duomenys būtų gauti kaip įrašų sąrašas. Įrašų sąrašo tipo duomenų šaltinis naudojamas kaip šios funkcijos argumentas ir nurodo iškvietimo programos šaltinį. ER patikrina, ar galima nustatyti tiesioginę SQL užklausą duomenų šaltiniui, kuris nurodytas funkcijoje FILTER
. Jei tiesioginės užklausos nustatyti negalima, ER modelio susiejimo kūrimo įrankyje įvyksta tikrinimo klaida. Pranešimas, kurį gaunate, reiškia, kad ER išraiškos FILTER
, kurioje yra ši funkcija, negalima vykdyti vykdyklėje.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite konfigūruoti ER modelio susiejimo komponentą.
Pridėti duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio tiekėją . Lentelės lauke pasirinkite VendTable, norėdami nurodyti , kad šis duomenų šaltinis pareikalauti lentelės VendTable.
Įtraukite lauko Apskaičiuotas duomenų šaltinį.
Pavadinkite naują duomenų šaltinį FilteredVendor ir sukonfigūruokite jį, kad jame būtų išraiška
FILTER(Vendor, Vendor.AccountNum="US-101")
.Pasirinkite Tikrinti, ar galima patikrinti redaguojamą modelio susiejimo komponentą modelio susiejimo konstruktoriaus puslapyje, ir patikrinkite, ar išraiškos
FILTER(Vendor, Vendor.AccountNum="US-101")
tiekėjo duomenų šaltinyje galima užklausti.Modifikuokite tiekėjo duomenų šaltinį įtraukdami įdėtmąjį lauko tipo Apskaičiuotas lauką , kad gautumėte koreguojamąjį tiekėjo sąskaitos numerį.
Pavadinkite naują įdėtuoju lauku $AccNumber sukonfigūruokite jį, kad jame būtų išraiška
TRIM(Vendor.AccountNum)
.Pasirinkite Tikrinti, ar galima patikrinti redaguojamą modelio susiejimo komponentą modelio susiejimo konstruktoriaus puslapyje, ir patikrinkite, ar išraiškos
FILTER(Vendor, Vendor.AccountNum="US-101")
tiekėjo duomenų šaltinyje galima užklausti.Atkreipkite dėmesį, kad įvyko tikrinimo klaida, nes tiekėjo duomenų šaltinyje yra įdėtojo lauko tipo Apskaičiuotas laukas, kuris neleidžia išversti FilteredVendor duomenų šaltinio išraiškos į tiesioginį SQL sakinį.
Toliau pateikta iliustracija rodo vykdyklės klaidą, kuri įvyksta, jei nepaisote perspėjimo, ir pasirinkite Vykdyti, norėdami paleisti formatą, kuris sukonfigūruotas naudoti modelio susiejimą.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Užuot į tiekėjo duomenų šaltinį įdėję įdėtmąjį apskaičiuoto lauko tipą, prie FilteredVendor duomenų šaltinio pridėkite$AccNumber įdėtmąjį lauką ir sukonfigūruokite jį, kad jame būtų išraiška. TRIM(FilteredVendor.AccountNum)
Tokiu būdu išraišką FILTER(Vendor, Vendor.AccountNum="US-101")
galima vykdyti SQL lygyje ir po to $AccNumber įdėtąjį lauką.
2 pasirinktis
Keisti FilteredVendor duomenų šaltinio išraišką iš į FILTER(Vendor, Vendor.AccountNum="US-101")
WHERE(Vendor, Vendor.AccountNum="US-101")
. Nerekomenduojame keisti lentelės, kurioje yra didelis duomenų kiekis (operacijų lentelės), reiškinio, nes visi įrašai bus iškviečiami, o reikiami įrašai pasirenkami naudojant atmintį. Todėl, naudojant šį metodą, gali suprastėti našumas. Daugiau informacijos ieškokite WHERE ER funkcija.
GROUPBY duomenų šaltinio vykdomoji programa
GROUPBY duomenų šaltinis padalija užklausos rezultatus į įrašų grupes, paprastai, kad būtų galima atlikti vieną ar daugiau kiekvienos grupės telkimų. Kiekvieną GROUPBY duomenų šaltinį galima konfigūruoti, kad jis būtų vykdomas duomenų bazės lygiu arba atmintyje. Kai GROUPBY duomenų šaltinis sukonfigūruotas taip, kad jis būtų vykdomas duomenų bazės lygiu, ER patikrina, ar galima nustatyti tiesioginę SQL užklausą duomenų šaltinyje, kuris nurodytas šiame duomenų šaltinyje. Jei tiesioginės užklausos nustatyti negalima, ER modelio susiejimo kūrimo įrankyje įvyksta tikrinimo klaida. Pranešimas, kurį gaunate, reiškia, kad sukonfigūruoto GROUPBY duomenų šaltinio negalima paleisti apdorojimo laiku.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite konfigūruoti ER modelio susiejimo komponentą.
Pridėti duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio ę. Lentelės lauke pasirinkite VendTrans, norėdami nurodyti , kad šis duomenų šaltinis paprašys lentelės VendTrans.
Įtraukite duomenų šaltinį Grupuoti pagal tipą.
Pavadinkite naują duomenų šaltinį GroupedTrans ir sukonfigūruokite jį tokiu būdu:
- Pasirinkite Trans duomenų šaltinį kaip įrašų, kuriuos reikia sugrupuoti, šaltinį.
- Lauke Vykdymo vieta pasirinkite Užklausa , kad nurodykite , jog norite paleisti šį duomenų šaltinį duomenų bazės lygiu.
Pasirinkite Tikrinti, kad būtų patikrintas redaguojamas modelio susiejimo komponentas modelio susiejimo konstruktoriaus puslapyje, ir patikrinkite, ar galima užklausti sukonfigūruoto GroupedTrans duomenų šaltinio.
Modifikuokite operacijos duomenų šaltinį įtraukdami įdėtmąjį lauko tipo Apskaičiuotas lauką , kad gautumėte koreguojamąjį tiekėjo sąskaitos numerį.
Pavadinkite naują duomenų $AccNumber ir sukonfigūruokite jį, kad jame būtų išraiška
TRIM(Trans.AccountNum)
.Pasirinkite Tikrinti, kad būtų patikrintas redaguojamas modelio susiejimo komponentas modelio susiejimo konstruktoriaus puslapyje, ir patikrinkite, ar galima užklausti sukonfigūruoto GroupedTrans duomenų šaltinio.
Atkreipkite dėmesį, kad įvyko tikrinimo klaida, nes operacijosduomenų šaltinyje yra įdėtojo lauko tipo Apskaičiuotas laukas, kuris neleidžia iškviesti GroupedTrans duomenų šaltinio kaip tiesioginio SQL išrašo.
Toliau pateikta iliustracija rodo vykdyklės klaidą, kuri įvyksta, jei nepaisote perspėjimo, ir pasirinkite Vykdyti, norėdami paleisti formatą, kuris sukonfigūruotas naudoti modelio susiejimą.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Užuot į operacijos duomenų šaltinį įtraukę įdėtmąjį lauko Apskaičiuotų laukų tipą$AccNumber , pridėkite GroupedTrans.lines elemento GroupedTrans.lineselementą kaip GroupedTrans duomenų šaltinį ir sukonfigūruokite jį, kad jame būtų išraiška. TRIM(GroupedTrans.lines.AccountNum)
Tokiu būdu GroupedTrans duomenų šaltinį galima vykdyti SQL lygyje ir po to $AccNumber įdėtąjį lauką.
2 pasirinktis
Pakeiskite duomenų šaltinio GroupedTrans lauko Vykdymo vieta reikšmę iš Užklausos į Atmintyje . Nerekomenduojame keisti lentelės, kurioje yra didelis duomenų kiekis (operacijų lentelės), reikšmės, nes visi įrašai bus iškviečiami, o grupavimas ir telkimas atliekami naudojant atmintį. Todėl, naudojant šį metodą, gali suprastėti našumas.
JOIN duomenų šaltinio vykdomoji programa
JOIN duomenų šaltinis sujungia įrašus iš dviejų ar daugiau duomenų bazės lentelių, paremtų susijusiais laukais. Kiekvienas JOIN duomenų šaltinis gali būti konfigūruojamas taip, kad jis būtų vykdomas duomenų bazės lygiu arba atmintyje. Kai JOIN duomenų šaltinis konfigūruojamas taip, kad jis būtų vykdomas duomenų bazės lygiu, ER patikrina, ar galima nustatyti tiesioginę SQL užklausą duomenų šaltiniams, kurie nurodyti šiame duomenų šaltinyje. Jei tiesioginės SQL užklausos su bent vienu nurodytu duomenų šaltiniu nustatyti negalima, ER modelio susiejimo kūrimo įrankyje įvyksta tikrinimo klaida. Pranešimas, kurį gaunate, reiškia, kad sukonfigūruoto JOIN duomenų šaltinio apdorojimo metu paleisti negalima.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite konfigūruoti ER modelio susiejimo komponentą.
Pridėti duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio tiekėją . Lentelės lauke pasirinkite VendTable, norėdami nurodyti , kad šis duomenų šaltinis pareikalauti lentelės VendTable.
Pridėti duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio ę. Lentelės lauke pasirinkite VendTrans, norėdami nurodyti , kad šis duomenų šaltinis paprašys lentelės VendTrans.
Įtraukite apskaičiuoto lauko tipo duomenų šaltinį kaip tiekėjo duomenų šaltinio įdėtmąjį lauką.
Pavadinkite naują duomenų šaltinį FilteredTrans ir sukonfigūruokite jį, kad jame būtų išraiška
FILTER(Trans, Trans.AccountNum=Vendor.AccountNum)
.Įtraukti sujungimo tipo duomenų šaltinį.
Pavadinkite naują duomenų šaltinį JoinedList ir sukonfigūruokite jį taip:
- Pridėkite tiekėjo duomenų šaltinį kaip pirmą įrašų rinkinį, sujungtą.
- Įtraukite Vendor.FilteredTrans duomenų šaltinį kaip antrąjį įrašų rinkinį, prie kurio reikia prisijungti. Pasirinkite INNER kaip tipą.
- Lauke Vykdyti pasirinkite Užklausą , kad nurodykite, jog norite paleisti šį duomenų šaltinį duomenų bazės lygiu.
Pasirinkite Tikrinti, kad būtų patikrintas redaguojamas modelio susiejimo komponentas modelio susiejimo konstruktoriaus puslapyje, ir patikrinkite, ar galima užklausti sukonfigūruoto JoinedList duomenų šaltinio.
Keisti tiekėjo išraišką.FilteredTrans duomenų šaltinio iš į
FILTER(Trans, Trans.AccountNum=Vendor.AccountNum)
WHERE(Trans, Trans.AccountNum=Vendor.AccountNum)
.Pasirinkite Tikrinti, kad būtų patikrintas redaguojamas modelio susiejimo komponentas modelio susiejimo konstruktoriaus puslapyje, ir patikrinkite, ar galima užklausti sukonfigūruoto JoinedList duomenų šaltinio.
Atkreipkite dėmesį, kad įvyko tikrinimo klaida, nes tiekėjo išraiškos.FilteredTrans duomenų šaltinio negalima išversti į tiesioginį SQL iškvietimą. Be to, tiesioginis SQL iškvietimas neleidžia išversti joinedList duomenų šaltinio į tiesioginį SQL sakinį.
Toliau pateikta iliustracija rodo vykdyklės klaidą, kuri įvyksta, jei nepaisote perspėjimo, ir pasirinkite Vykdyti, norėdami paleisti formatą, kuris sukonfigūruotas naudoti modelio susiejimą.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Pakeiskite tiekėjo išraišką.FilteredTrans duomenų šaltinį atgal WHERE(Trans, Trans.AccountNum=Vendor.AccountNum)
, nes įspėjama FILTER(Trans, Trans.AccountNum=Vendor.AccountNum)
.
2 pasirinktis
Pakeiskite joinedList duomenų šaltinio lauko Vykdyti reikšmę iš Užklausos į Atmintyje . Nerekomenduojame keisti lentelės, kurioje yra didelis duomenų kiekis (operacijų lentelės), reikšmės, nes visi įrašai bus iškviečiami, o jungimas įvyksta atmintyje. Todėl, naudojant šį metodą, gali suprastėti našumas. Rodomas patikrinimo įspėjimas, informuojantis apie šią riziką.
FILTER ir WHERE funkcijos preferability
Įdiegta ER funkcija naudojama norint pasiekti programų lenteles, rodinius ar duomenų objektus, pateikiant vieną SQL iškvietimą, kad būtini duomenys būtų gauti kaip įrašų sąrašas. Where funkcija išrenra visus įrašus iš drastos šaltinio ir įrašo pasirinkimą atmintyje. Įrašų sąrašo tipo duomenų šaltinis naudojamas kaip abiejų funkcijų argumentas ir nurodo įrašų rinkimo šaltinį. ER patikrina, ar galima nustatyti tiesioginį SQL iškvietimą duomenų šaltiniui, kuris nurodytas where funkcijoje . Jei tiesioginės iškvietos nustatyti negalima, ER modelio susiejimo kūrimo įrankyje pateikiamas tikrinimo įspėjimas. Pranešimas, kurį gaunate, rekomenduoja naudoti funkciją FILTER , o ne funkciją WHERE , kuri padeda gerinti efektyvumą.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite konfigūruoti ER modelio susiejimo komponentą.
Pridėti duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio ę. Lentelės lauke pasirinkite VendTrans, norėdami nurodyti , kad šis duomenų šaltinis paprašys lentelės VendTrans.
Įtraukite apskaičiuoto lauko tipo duomenų šaltinį kaip tiekėjo duomenų šaltinio įdėtmąjį lauką.
Pavadinkite naują duomenų šaltinį FilteredTrans ir sukonfigūruokite jį, kad jame būtų išraiška
WHERE(Trans, Trans.AccountNum="US-101")
.Pridėti duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio tiekėją . Lentelės lauke pasirinkite VendTable, norėdami nurodyti , kad šis duomenų šaltinis pareikalauti lentelės VendTable.
Įtraukite lauko Apskaičiuotas duomenų šaltinį.
Pavadinkite naują duomenų šaltinį FilteredVendor ir sukonfigūruokite jį, kad jame būtų išraiška
WHERE(Vendor, Vendor.AccountNum="US-101")
.Pasirinkite Tikrinti, kad būtų patikrintas redaguojamas modelio susiejimo komponentas modelio susiejimo dizaino įrankio puslapyje.
Atkreipkite dėmesį, kad tikrinimo įspėjimai rekomenduoja naudoti funkciją FILTER, o ne funkciją WHERE , kuri skirta FilteredVendor ir FilteredTrans duomenų šaltiniams.
Automatinis sprendimas
Pasirinkite Taisyti , jei norite automatiškai pakeisti funkciją WHEREfunkcija FILTER visų duomenų šaltinių, rodoų šio tipo patikrinimo įspėjimų skirtuko tinklelyje, išraiška.
Kitu atveju, tinklelyje galite pasirinkti vieno perspėjimo eilutę ir pasirinkti Taisyti . Šiuo atveju reiškinys automatiškai pakeičiamas tik tame duomenų šaltinyje, kuris paminėtas pasirinktame įspėjime.
Neautomatinis sprendimas
Visų duomenų šaltinių išraiškas tikrinimo tinklelyje galite koreguoti neautomatiniu būdu, pakeisdami funkciją WHERE funkcija FILTER .
ALLITEMSQUERY ir ALLITEMS funkcijos preferability
Įtaisytosios ALLITEMSir ALLITEMSQUERY ER funkcijos grąžina plokščią įrašų sąrašo vertę, kurią sudaro įrašų sąrašas, kuriame vaizduojamos visos prekes, kurios atitinka nurodytą maršrutą. ER patikrina, ar galima nustatyti tiesioginį SQL iškvietimą duomenų šaltiniui, kuris nurodytas ALLITEMS funkcijoje . Jei tiesioginės iškvietos nustatyti negalima, ER modelio susiejimo kūrimo įrankyje pateikiamas tikrinimo įspėjimas. Pranešime, kurį gaunate, rekomenduojama naudoti FUNKCIJĄ ALLITEMSQUERY , o ne ALLITEMS funkciją , kad būtų pagerintas efektyvumas.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite konfigūruoti ER modelio susiejimo komponentą.
Pridėti duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio tiekėją . Lentelės lauke pasirinkite VendTable, norėdami nurodyti , kad šis duomenų šaltinis pareikalauti lentelės VendTable.
Įtraukite lauko Apskaičiuotas duomenų šaltinį, kad gautumėte įrašus keliems tiekėjams.
Pavadinkite naują duomenų šaltinį FilteredVendor ir sukonfigūruokite jį, kad jame būtų išraiška
FILTER(Vendor, OR(Vendor.AccountNum="US-101",Vendor.AccountNum="US-102"))
.Įtraukite lauko Apskaičiuotas tipo duomenų šaltinį , kad gautumėte visų filtruotus tiekėjus.
Pavadinkite naują duomenų šaltinį FilteredVendorTrans ir sukonfigūruokite jį, kad jame būtų išraiška
ALLITEMS(FilteredVendor.'<Relations'.'VendTrans.VendTable_AccountNum')
.Pasirinkite Tikrinti, kad būtų patikrintas redaguojamas modelio susiejimo komponentas modelio susiejimo dizaino įrankio puslapyje.
Atkreipkite dėmesį, kad pateikiamas tikrinimo įspėjimas. Pranešime rekomenduojama naudoti funkciją ALLITEMSQUERY , o ne ALLITEMS funkciją, kuri skirta FilteredVendorTrans duomenų šaltiniui.
Automatinis sprendimas
Pasirinkite Taisyti , kad funkcija ALLITEMSbūtų automatiškai pakeičiama funkcija ALLITEMSQUERY visų duomenų šaltinių, kurie rodomi šio tipo patikrinimo įspėjimų skirtuko tinklelyje, išraiška.
Kitu atveju, tinklelyje galite pasirinkti vieno perspėjimo eilutę ir pasirinkti Taisyti . Šiuo atveju reiškinys automatiškai pakeičiamas tik tame duomenų šaltinyje, kuris paminėtas pasirinktame įspėjime.
Neautomatinis sprendimas
Galite rankiniu būdu koreguoti visų duomenų šaltinių, paminėtų tikrinimo tinklelyje, išraiškas pakeisdami FUNKCIJĄ ALLITEMS, pakeičiant funkciją ALLITEMSQUERY .
Tuščių sąrašo atvejų svarstymas
Galite konfigūruoti savo ER formato arba modelio susiejimo komponentą, kad gautumėte duomenų šaltinio, kuris yra įrašų sąrašo tipo, lauko vertę. ER tikrina, ar jūsų dizainas numato atvejį, kai iškviestame duomenų šaltinyje nėra įrašų (t. y., jis tuščias), kad būtų išvengta vykdymo klaidų, kai reikšmė gaunama iš neegzistuojančio įrašo lauko.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite vienu metu konfigūruoti ER duomenų modelio, ER modelio susiejimo ir ER formato komponentus.
Duomenų modelio medyje pridėkite šakninį elementą, kuris pavadintas Root3.
Modifikuokite Root3 elementą įtraukdami įrašų sąrašo tipo įdėtinį elementą.
Pavadinkite naują įdėtosios prekės tiekėją .
Modifikuokite tiekėjo prekę šiuo būdu:
- Įtraukite įdėtojo eilutės tipo lauką ir pavadinkite jį pavadinimu.
- Įtraukite įdėtojo eilutės tipo lauką ir pavadinkite jį AccountNumber.
Modelio susiejimo konstruktoriuje, duomenų šaltinio srityje, pridėkite duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio tiekėją . Lentelės lauke pasirinkite VendTable, norėdami nurodyti , kad šis duomenų šaltinis pareikalauti lentelės VendTable.
Įtraukite duomenų šaltinį: Bendra \ Vartotojo įvesties parametro tipas, kad būtų galima ieškoti tiekėjo kodo apdorojimo laiko dialogo lange.
Pavadinkite naują duomenų šaltinį RequestedAccountNum. Lauke Žyma įveskite tiekėjo sąskaitos numerį. Lauke Operacijų duomenų tipo pavadinimas palikite numatytąją vertę,Aprašymas .
Įtraukite apskaičiuoto lauko tipo duomenų šaltinį, kad filtruoumėte tiekėją, dėl kurio buvo užklaustos.
Pavadinkite naują duomenų šaltinį FilteredVendor ir sukonfigūruokite jį, kad jame būtų išraiška
FILTER(Vendor, Vendor.AccountNum=RequestedAccountNum)
.Susiekite duomenų modelio elementus su sukonfigūruotas duomenų šaltiniais toliau nurodytu būdu.
- Susieti FilteredVendor su tiekėju .
- Susiekite FilteredVendor.AccountNum su Vendor.AccountNumber.
- Susieti FilteredVendor.'name()'suVendor.Name.
Formato struktūros medyje įtraukite tolesnius elementus, kad būtų sugeneruotas siunčiamas XML formato dokumentas, kuriame būtų pateikta tiekėjo informacija.
Įtraukite išrašo šakninį XML elementą.
Kaip išrašo XML elementą įtraukite įdėtojo šalies XML elementą.
Šalies XML elementui pridėkite šiuos įdėtuosius XML atributus:
- Pavadinimas / vardas ir (arba) pavardė
- AccountNum
Susiekite formato elementus su pateiktais duomenų šaltiniais toliau nurodytu būdu.
- Susiekite formato elementą Statement\Party\Name su duomenų šaltinio lauku model.Vendor.Name.
- Susiekite formato elementą Statement\Party\AccountNum su duomenų šaltinio lauku model.Vendor.AccountNumber.
Pasirinkite Tikrinti, ar puslapyje Formato konstruktorius norite patikrinti redaguojamą formato komponentą .
Atkreipkite dėmesį, kad įvyksta tikrinimo klaida. Pranešimas rodo, kad vykdymo metu gali būti pateikti sukonfigūruotų Statement\Party\Nameir Statement\Party\AccountNum
model.Vendor
formato komponentų klaida, jei sąrašas tuščias.
Toliau esanti iliustracija rodo vykdyklės klaidą, kuri įvyksta, jei nepaisote perspėjimo, pasirinkite Vykdyti, norėdami paleisti formatą ir pasirinkite nelydimo tiekėjo sąskaitos numerį. Kadangi pageidaujamo tiekėjo nėra, sąrašas model.Vendor
bus tuščias (t.vz., nebus įrašų).
Automatinis sprendimas
Skirtuke Įspėjimai pasirinktos eilutės tinklelyje galite pasirinkti Unbind . Susiejimas, nurodytas stulpelyje Maršrutas , automatiškai pašalinamas iš formato elementų.
Neautomatinis sprendimas
1 pasirinktis
Galite susieti Statement \Party\Name formato elementą su duomenų model.Vendor
šaltinio elementu. Apdorojimo metu šis susiejimas pirmiausia iškeis model.Vendor
iš duomenų šaltinio. Kai model.Vendor
grąžinamas tuščias įrašų sąrašas, įdėtųjų formato elementų paleisti nereikia. Todėl nepateikiama jokių tikrinimo įspėjimų dėl šios formato konfigūracijos.
2 pasirinktis
Pakeiskite statement \Party\Name formato elemento susiejimą iš model.Vendor.Name
į FIRSTORNULL(model.Vendor).Name
. Atnaujintas susiejimas sąlygiškai konvertuoja pirmą model.Vendor
įrašo sąrašo tipo duomenų šaltinio įrašą į naują įrašo tipo duomenų šaltinį. Šiame naujame duomenų šaltinyje yra tas pats laukų rinkinys.
- Jei duomenų šaltinyje yra
model.Vendor
bent vienas įrašas, to įrašo laukuose įrašomos pirmo duomenų šaltiniomodel.Vendor
įrašo laukų vertės. Šiuo atveju atnaujintas susiejimas pateikia tiekėjo vardą / pavadinimą. - Kitu atveju kiekvienas sukurto įrašo laukas užpildomas numatytąja to lauko duomenų tipo reikšme. Šiuo atveju tuščia eilutė grąžinama kaip numatytoji eilutės duomenų tipo vertė.
Todėl, kai elementas susietas su išraiška , nėra įspėjimų dėl Statement\Party\Name formato elemento tikrinimo FIRSTORNULL(model.Vendor).Name
.
3 parinktis
Jei norite model.Vendor
tiesiogiai nurodyti duomenis, kurie įvesti sugeneruotame dokumente, kai įrašų sąrašo tipo duomenų šaltinis negrąžina jokių įrašų ( tekstas šiame pavyzdyje negalimas), pakeiskite Statement\Party\Namemodel.Vendor.Name
IF(NOT(ISEMPTY(model.Vendor)), model.Vendor.Name, "Not available")
formato elemento susiejimą. Taip pat galite naudoti išraišką IF(COUNT(model.Vendor)=0, model.Vendor.Name, "Not available")
.
Papildomos pastabos
Be to, tikrinant įspėjama apie kitą galimą problemą. Pagal numatytuosius nustatymus, kai susiejate statement\Party\Nameir Statement\Party\AccountNum formato model.Vendor
elementus su atitinkamais įrašų sąrašo tipo duomenų šaltinio laukais model.Vendor
, tie susiejimai bus paleisti ir, jei sąrašas nėra tuščias, bus verčių atitinkamų duomenų šaltinio įrašo laukų vertės.
Kadangi nesiribojote sakinio\model.Vendor
įrašo formato elementu su duomenų šaltiniu, vykdant formatą nebusmodel.Vendor
paįjungtas kiekvienas duomenų šaltinio įrašas. Vietoj to sugeneruotas dokumentas bus užpildomas informacija tik iš pirmojo įrašų sąrašo įrašo, jei tame sąraše bus keli įrašai. Todėl gali kilti problema, jei formatas skirtas sugeneruotui dokumentui užpildyti informacija apie visus duomenų šaltinio tiekėjus model.Vendor
. Norėdami išspręsti šią problemą, susiekite Statement\Party elementą su duomenų model.Vendor
šaltiniu.
Išraiškos su FILTER funkcija (kaupimas talpykloje) vykdomoji informacija
Kelios įtaisytosios ER funkcijos, įskaitant FILTERir ALLITEMSQUERY, naudojamos norint pasiekti programų lenteles, rodinius ar duomenų objektus, pateikiant vieną SQL iškvietimą, kad būtini duomenys būtų gauti kaip įrašų sąrašas. Įrašų sąrašo tipo duomenų šaltinis naudojamas kaip kiekvienos iš šių funkcijų argumentas ir nurodo iškvietimo programos šaltinį. ER tikrina, ar galima nustatyti tiesioginę SQL iškvietą duomenų šaltiniui, kuris nurodytas vienoje iš šių funkcijų. Jei nepavyko nustatyti tiesioginio iškvietimo, nes duomenų šaltinis buvo pažymėtas kaip talpykloje, ER modelio susiejimo konstruktoriuje įvyksta tikrinimo klaida. Gautame pranešime teigiama, kad ER reiškinio, apimančio vieną iš šių funkcijų, negalima vykdyti vykdymo metu.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite konfigūruoti ER modelio susiejimo komponentą.
Pridėti duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio tiekėją . Lentelės lauke pasirinkite VendTable, norėdami nurodyti , kad šis duomenų šaltinis pareikalauti lentelės VendTable.
Įtraukite duomenų šaltinį: Bendra \ Vartotojo įvesties parametro tipas, kad būtų galima ieškoti tiekėjo kodo apdorojimo laiko dialogo lange.
Pavadinkite naują duomenų šaltinį RequestedAccountNum. Lauke Žyma įveskite tiekėjo sąskaitos numerį. Lauke Operacijų duomenų tipo pavadinimas palikite numatytąją vertę,Aprašymas .
Įtraukite apskaičiuoto lauko tipo duomenų šaltinį, kad filtruoumėte tiekėją, dėl kurio buvo užklaustos.
Pavadinkite naują duomenų šaltinį FilteredVendor ir sukonfigūruokite jį, kad jame būtų išraiška
FILTER(Vendor, Vendor.AccountNum=RequestedAccountNum)
.Sukonfigūruotą tiekėjo duomenų šaltinį pažymėkite kaip talpyklą.
Pasirinkite Tikrinti, kad būtų patikrintas redaguojamas modelio susiejimo komponentas modelio susiejimo dizaino įrankio puslapyje.
Atkreipkite dėmesį, kad įvyksta tikrinimo klaida. Pranešimas rodo, kad funkcijos FILTER negalima taikyti talpykloje esamame tiekėjo duomenų šaltinyje.
Toliau pateikta iliustracija rodo vykdyklės klaidą, kuri įvyksta, jei nepaisote perspėjimo, ir norėdami paleisti formatą pasirinkite Vykdyti.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Pašalinkite talpyklos vėliavėlę iš tiekėjo duomenų šaltinio. Tada FilteredVendor duomenų šaltinis taps vykdytinuoju, tačiau lentelėje VendTable nurodytas tiekėjo duomenų šaltinis bus pasiekti kiekvieną kartą, kai bus iškviestas FilteredVendor duomenų šaltinis.
2 pasirinktis
Keisti FilteredVendor duomenų šaltinio išraišką iš į FILTER(Vendor, Vendor.AccountNum="US-101")
WHERE(Vendor, Vendor.AccountNum="US-101")
. Šiuo atveju tiekėjo duomenų šaltinis , nurodytas VendTable lentelėje, bus pasiekti tik per pirmą tiekėjo duomenų šaltinio iškvietimą. Tačiau įrašų parinkimas bus atliekamas atmintyje. Todėl, naudojant šį metodą, gali suprastėti našumas.
Trūksta susiejimo
Kai konfigūruojate ER formato komponentą, bazinis ER duomenų modelis pasiūlomas kaip numatytasis to ER formato duomenų šaltinis. Paleidus sukonfigūruotą ER formatą, duomenų modeliui užpildyti programos duomenimis naudojamas numatytasis pagrindinio modelio susiejimas. ER formato kūrimo įrankyje rodomas įspėjimas, jei formato elementą susiejate su duomenų modelio elementu, kuris nėra susieta su jokiu duomenų šaltiniu modelio susiejime, kuris šiuo metu pasirinktas kaip numatytasis redaguojamo formato modelio susiejimas. Šio tipo susiejimo negalima vykdyti vykdymo metu, nes vykdomas formatas negali užpildyti susieto elemento programos duomenimis. Todėl vykdymo metu įvyksta klaida.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite vienu metu konfigūruoti ER duomenų modelio, ER modelio susiejimo ir ER formato komponentus.
Duomenų modelio medyje pridėkite šakninį elementą, kuris pavadintas Root3.
Modifikuokite Root3 elementą įtraukdami naują įrašų sąrašo tipo įdėtinį elementą.
Pavadinkite naują įdėtosios prekės tiekėją .
Modifikuokite tiekėjo prekę šiuo būdu:
- Įtraukite įdėtojo eilutės tipo lauką ir pavadinkite jį pavadinimu.
- Įtraukite įdėtojo eilutės tipo lauką ir pavadinkite jį AccountNumber.
Modelio susiejimo konstruktoriuje, duomenų šaltinio srityje, pridėkite duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio tiekėją . Lentelės lauke pasirinkite VendTable, norėdami nurodyti , kad šis duomenų šaltinis pareikalauti lentelės VendTable.
Įtraukite duomenų šaltinį į parametro tipą Bendra \ Vartotojo įvestis, kad užklausumėte apie tiekėjo kodą apdorojimo laiko dialogo lange.
Pavadinkite naują duomenų šaltinį RequestedAccountNum. Lauke Žyma įveskite tiekėjo sąskaitos numerį. Lauke Operacijų duomenų tipo pavadinimas palikite numatytąją vertę,Aprašymas .
Įtraukite apskaičiuoto lauko tipo duomenų šaltinį, kad filtruoumėte tiekėją, dėl kurio buvo užklaustos.
Pavadinkite naują duomenų šaltinį FilteredVendor ir sukonfigūruokite jį, kad jame būtų išraiška
FILTER(Vendor, Vendor.AccountNum=RequestedAccountNum)
.Susiekite duomenų modelio elementus su sukonfigūruotas duomenų šaltiniais toliau nurodytu būdu.
- Susieti FilteredVendor su tiekėju .
- Susiekite FilteredVendor.AccountNum su Vendor.AccountNumber.
Banknotas
Šis Vendor.Name modelio laukas lieka nesusietas.
Formato struktūros medyje įtraukite tolesnius elementus, kad būtų sugeneruotas siunčiamas XML formato dokumentas, kuriame būtų pateikta informacija apie tiekėją, dėl kurio pateikta užklausa.
Įtraukite išrašo šakninį XML elementą.
Kaip išrašo XML elementą įtraukite įdėtojo šalies XML elementą.
Šalies XML elementui pridėkite šiuos įdėtuosius XML atributus:
- Pavadinimas / vardas ir (arba) pavardė
- AccountNum
Susiekite formato elementus su pateiktais duomenų šaltiniais toliau nurodytu būdu.
- Susiekite Statement\Party formato elementą su duomenų
model.Vendor
šaltinio elementu. - Susiekite formato elementą Statement\Party\Name su duomenų šaltinio lauku model.Vendor.Name.
- Susiekite formato elementą Statement\Party\AccountNum su duomenų šaltinio lauku model.Vendor.AccountNumber.
- Susiekite Statement\Party formato elementą su duomenų
Pasirinkite Tikrinti, ar puslapyje Formato konstruktorius norite patikrinti redaguojamą formato komponentą .
Atkreipkite dėmesį, kad pateikiamas tikrinimo įspėjimas. Pranešimas nurodo, model.Vendor.Name duomenų šaltinio laukas nėra susietas su bet kuriuo modelio susiejimo duomenų šaltiniu, kuris sukonfigūruotas naudoti šiuo formatu. Todėl apdorojimo laiku negalima užpildyti Statement\Party\Name formato elemento ir gali įvykti apdorojimo laiko išimtis.
Toliau pateikta iliustracija rodo vykdyklės klaidą, kuri įvyksta, jei nepaisote perspėjimo, ir norėdami paleisti formatą pasirinkite Vykdyti.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Modifikuokite sukonfigūruotą modelio susiejimą pridėdami duomenų model.Vendor.Name susiejimą.
2 pasirinktis
Modifikuokite sukonfigūruotą formatą pašalindami sakinio \šalies\pavadinimo formato elemento susiejimą.
Nesu susietas šablonas
Kai neautomatiniu būdu konfigūruojate ER formato komponentą, kad galėtumėte naudoti šabloną siunčiamam dokumentui generuoti, turite rankiniu būdu pridėti Excel\ Failo elementą, pridėti reikiamą šabloną kaip redaguojamo komponento priedą ir pasirinkti tą priedą pridėtame Excel\File elemente . Tokiu būdu nurodote, kad įtrauktas elementas užpildys pasirinktą šabloną vykdymo metu. Kai konfigūruojate formato komponento versiją būsenoje Juodraštis, į redaguojamą komponentą galite įtraukti kelis šablonus, o tada pasirinkti kiekvieną Excel\File elemento šabloną, kad būtų paleistas ER formatas. Tokiu būdu galite matyti, kaip vykdant užpildomi skirtingi šablonai. Jei yra šablonų, kurių nepasirinkta jokioje Excel\Failo elementuose, ER formato dizaineris įspėja, kad šie šablonai bus panaikinti iš redaguojamo ER formato komponento versijos, kai jo būsena pakeičiama iš Juodraštis į Baigta.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite konfigūruoti ER formato komponentą.
Formato struktūros medyje pridėkite Excel\File elementą.
Prie ką tik pridėto "Excel\File " elemento kaip priedą pridėkite " Excel" darbaknygės failą A.xlsx. Norėdami nurodyti ER formato šablonų saugojimą , naudokite dokumento tipą, sukonfigūruotą ER parametruose.
Norėdami naudoti "Excel\File" elementą kaip priedą įtraukite kitą " Excel" darbaknygės failą, B.xlsx. Naudoti tą patį dokumento tipą, kuris naudojamas su darbaknygės failu A.
Excel \ failo elemente pasirinkite darbaknygės failą A.
Pasirinkite Tikrinti, ar puslapyje Formato konstruktorius norite patikrinti redaguojamą formato komponentą .
Atkreipkite dėmesį, kad pateikiamas tikrinimo įspėjimas. Pranešime teigiama, kad darbaknygės failas B.xlsx nėra susietas su jokiais komponentais ir kad jis bus pašalintas pakeitus konfigūracijos versijos būseną.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
Modifikuokite sukonfigūruotą formatą pašalindami visus šablonus, kurie nėra susieti su jokio Excel\Failo elementu.
Nesinchronizuotas formatas
Konfigūruojant ER formato komponentą taip, kad jis galėtų naudoti Excel šabloną siunčiamam dokumentui generuoti, galite rankiniu būdu pridėti Excel\ Failo elementą, pridėti reikiamą šabloną kaip redaguojamo komponento priedą ir pasirinkti tą priedą prie pridėto Excel\Failo elemento. Tokiu būdu nurodote, kad įtrauktas elementas užpildys pasirinktą šabloną vykdymo metu. Kadangi įtrauktas „Excel“ šablonas sukurtas išorėje, redaguojamajame ER formate gali būti „Excel“ pavadinimų, kurių nėra įtrauktame šablone. ER formato kūrimo įrankis įspėja apie visus skirtumus tarp ER formato elementų ypatybių, susijusių su pavadinimais, kurie neįtraukti į įtrauktą „Excel“ šabloną.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite konfigūruoti ER formato komponentą.
Formato struktūros medyje pridėkite Excel\File elemento ataskaitą.
Prie ką tik pridėto "Excel\File " elemento kaip priedą pridėkite " Excel" darbaknygės failą A.xlsx. Norėdami nurodyti ER formato šablonų saugojimą , naudokite dokumento tipą, sukonfigūruotą ER parametruose.
Svarbu
Įsitikinkite, kad pridėtoje "Excel" darbaknygėje nėra pavadinimo ReportTitle.
Įtraukite Excel\Cell elemento pavadinimą kaip įdėtuoju ataskaitos elemento elementu. Excel diapazono lauke įveskite ReportTitle.
Pasirinkite Tikrinti, ar puslapyje Formato konstruktorius norite patikrinti redaguojamą formato komponentą .
Atkreipkite dėmesį, kad pateikiamas tikrinimo įspėjimas. Pranešime teigiama, kad "ReportTitle" pavadinimo nėra "Excel" šablono, kurį naudojate, lapo 1 lape.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Modifikuokite sukonfigūruotą formatą, pašalindami visus elementus, nurodančius „Excel“ pavadinimus, kurių trūksta šablone.
2 pasirinktis
Atnaujinkite redaguojamą ER formatą importuodami Excel šabloną. Redaguojamo ER formato struktūra bus sinchronizuojama su importuoto "Excel" šablono struktūra.
Papildomos pastabos
Norėdami sužinoti, kaip formato struktūrą sinchronizuoti su ER šablonu verslo dokumentų valdymo šablono doroklyje, žr. Verslo dokumentų šablono struktūros atnaujinimas.
Nesinchronizuota su Word šablono formatu
Konfigūruojant ER formato komponentą, kad jis galėtų naudoti Word šabloną siunčiamam dokumentui generuoti, galite rankiniu būdu pridėti Excel\ Rinkmenos elementą, pridėti reikiamą Word šabloną kaip redaguojamo komponento priedą ir pasirinkti tą priedą pridėtame Excel\Rinkmenos elemente.
Banknotas
Kai Pridėtas Word dokumentas, ER formato dizaineris pateikia redaguojamą elementą kaip Word\File.
Tokiu būdu nurodote, kad įtrauktas elementas užpildys pasirinktą šabloną vykdymo metu. Kadangi įtrauktas „Word“ šablonas sukurtas išorėje, redaguojamajame ER formate gali būti nuorodų į „Word“ turinio valdiklius, kurių nėra pridėtame šablone. ER formato kūrimo įrankis įspėja apie visus skirtumus tarp ER formato elementų ypatybių, susijusių su turinio valdikliais, kurie neįtraukti į įtrauktą „Word“ šabloną.
Pvz., kuriame parodyta, kaip ši problema gali kilti, žr. Konfigūruoti redaguojamą formatą, kad suvestinės skyrius būtų sulaikytas.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Modifikuokite sukonfigūruotą formatą panaikindami pašalintą formulę iš formato elemento, kuris nurodytas tikrinimo perspėjime.
2 pasirinktis
Modifikuokite naudodami Word šabloną pridėdami reikiamą žymę prie atitinkamo Word turinio valdiklio.
Nėra numatytojo susiejimo
Kai atliekamas trūkstamas susiejimas, patikrinti formato susiejimai yra įvertinami pagal atitinkamo modelio susiejimo komponento susiejimus. Kadangi galite importuoti kelias ER modelio susiejimo konfigūracijas į savo finansų egzempliorių, kiekvienoje konfigūracijoje gali būti taikytinas modelio susiejimo komponentas, vieną konfigūraciją reikia pasirinkti kaip numatytąją. Kitaip, kai bandote paleisti, redaguoti arba patvirtinti ER formatą, įvyks išimtis <ir gausite tokį pranešimą: "> Konfigūracijose, atskirtose kableliais, yra daugiau nei vienas modelio pavadinimo (šakninio aprašo) < duomenų modelio susiejimas>. Nustatykite vieną iš konfigūracijų kaip numatytąją.“
Pvz., kuriame parodyta, kaip ši problema gali atsirasti ir kaip ji gali būti fiksuota, žr. Kelis išvestinius susiejimus vieno modelio šakniniame modelyje.
Nesuderinamas antraštės arba poraštės komponentų parametras
Kai konfigūruojate ER formato komponentą, kad jis galėtų naudoti Excel šabloną siunčiamam dokumentui generuoti, galite pridėti Excel\Antraštės komponentą, kad antraštės būtų užpildytos Excel darbaknygėje darbalapio viršuje. Be to, norėdami užpildyti poraštes darbalapio apačioje, galite pridėti "Excel\Footer " komponentą. Kiekvienam excel \antraštei arbaExcel\Poraštės komponentui, kurį įtraukiate, turite nustatyti ypatybę Antraštės/ poraštės išvaizda, kad būtų nurodyti puslapiai, kuriuose vykdomas komponentas. Kadangi galite konfigūruoti kelis Excel\Headerarba Excel\Footer komponentus vienam lapo komponentui ir galite generuoti skirtingas antraštes ar poraštes skirtingo tipo puslapiams Excel darbalapyje, turite sukonfigūruoti vieną Excel\Antraštęarba Excel\Poraštėskomponentą tam tikrai ypatybės Antraštė/ poraštė vertei. Jei daugiau nei vienas Excel\Antraštė arba Excel\Poraštėskomponentas yra sukonfigūruotas tam tikrai ypatybės Antraštės/ poraštės išvaizdai vertei, įvyksta tikrinimo klaida, ir gaunate tokį klaidos pranešimą: "Antraštės/poraštės (<komponento tipas:> Antraštė arba Poraštė) yra prieštaringos".
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Modifikuokite sukonfigūruotą formatą panaikindami vieną iš nenuoseklių Excel\Header arbaExcel\Footer komponentų .
2 pasirinktis
Modifikuokite vieno iš nenuoseklių Excel\Antraštėsarba Excel\Poraštės komponentų ypatybės Antraštė/poraštė vertę .
Nesuderinamas puslapio komponento nustatymas
Konfigūruokite ER formato komponentą, kad jis galėtų naudoti Excel šabloną siunčiamam dokumentui generuoti, galite įtraukti Excel\Page komponentą į sugeneruotą dokumentą puslapių formatu, naudodami ER formules. Kiekvienam įtraukiam Excel\Page komponentui galite įtraukti daug įdėtųjų diapazono komponentų ir vis dar liks suderinami su šia struktūra:
- Pirmasis įdėtasis diapazono komponentas gali būti konfigūruojamas taip, kad nustatyta replikavimo krypties ypatybė Nėra dublikatų . Šis diapazonas naudojamas sugeneruotų dokumentų puslapių antraštėms kurti.
- Galite pridėti daug kitų įdėtųjų diapazono komponentų , kurių ypatybė Dubliavimo kryptis nustatyta kaip Vertikalus. Šie diapazonai yra naudojami sugeneruotiems dokumentams užpildyti.
- Paskutinį įdėtąjį diapazono komponentą galima konfigūruoti taip, kad būtų nustatyta replikavimo krypties ypatybė Nėra dublikatų. Šis diapazonas naudojamas kurti sugeneruotų dokumentų poraštes ir įtraukti reikiamus puslapio lūžius.
Jei kūrimo metu ER formato rengyklėje nesivadovaujate šia ER formato struktūra, įvyksta tikrinimo klaida ir gaunate tokį klaidos pranešimą: „Daugiau nei du diapazono komponentai neturi replikavimo. Prašome pašalinti nereikalingus komponentus.”
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Modifikuokite sukonfigūruotą formatą pakeisdami visų nenuoseklių Excel\Range komponentų ypatybę Dubliavimo kryptis.
Išraiškos su ORDERBY funkcija vykdomoji išraiška
Integruota ER funkcija ORDERBY naudojama Įrašų sąrašo tipo, nurodyto kaip funkcijos argumentas, ER duomenų šaltinio įrašams rikiuoti.
Funkcijos ORDERBY
argumentai gali būti nurodyti, norint rikiuoti programų lentelių, rodinių ar duomenų objektų įrašus, pateikiant vieną duomenų bazės iškvietimą, kad surikiuoti duomenys būtų gauti kaip įrašų sąrašas. Įrašų sąrašo tipo duomenų šaltinis naudojamas kaip funkcijos argumentas ir nurodo iškvietimo programos šaltinį.
ER patikrina, ar galima nustatyti duomenų šaltinio, kuris nurodytas funkcijoje, tiesioginės duomenų bazės užklausą ORDERBY
. Jei tiesioginės užklausos nustatyti negalima, ER modelio susiejimo kūrimo įrankyje įvyksta tikrinimo klaida. Pranešimas, kurį gaunate, reiškia, kad ER išraiškos ORDERBY
, kurioje yra ši funkcija, negalima vykdyti vykdyklėje.
Toliau pateikti veiksmai rodo, kaip gali kilti ši problema.
Pradėkite konfigūruoti ER modelio susiejimo komponentą.
Pridėti duomenų šaltinį\ Dynamics 365 for Operations Lentelės įrašų tipas.
Pavadinkite naują duomenų šaltinio tiekėją . Lentelės lauke pasirinkite VendTable, norėdami nurodyti , kad šis duomenų šaltinis pareikalauti lentelės VendTable .
Įtraukite lauko Apskaičiuotas duomenų šaltinį.
Pavadinkite naują duomenų šaltinį OrderedVendors ir sukonfigūruokite jį, kad jame būtų išraiška
ORDERBY("Query", Vendor, Vendor.AccountNum)
.Pasirinkite Tikrinti,ar galima patikrinti redaguojamą modelio susiejimo komponentą modelio susiejimo konstruktoriaus puslapyje, ir patikrinkite, ar galima užklausti išraišką OrderedVendors duomenų šaltinyje.
Modifikuokite tiekėjo duomenų šaltinį įtraukdami įdėtmąjį lauko tipo Apskaičiuotas lauką , kad gautumėte koreguojamąjį tiekėjo sąskaitos numerį.
Pavadinkite naują įdėtuoju lauku $AccNumber sukonfigūruokite jį, kad jame būtų išraiška
TRIM(Vendor.AccountNum)
.Pasirinkite Tikrinti, ar galima patikrinti redaguojamą modelio susiejimo komponentą modelio susiejimo konstruktoriaus puslapyje, ir patikrinkite, ar išraiškos tiekėjo duomenų šaltinyje galima užklausti.
Atkreipkite dėmesį, kad įvyko tikrinimo klaida, nes tiekėjo duomenų šaltinyje yra įdėtojo lauko tipo Apskaičiuotas laukas, kuris neleidžia išversti OrderedVendors duomenų šaltinio išraiškos į tiesioginį duomenų bazės išrašą. Ta pati klaida įvyksta vykdyklės metu, jei nepaisote tikrinimo klaidos ir pasirenkate Vykdyti, kad būtų vykdomas šis modelio susiejimas.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
1 pasirinktis
Užuot į tiekėjo duomenų šaltinį įdėję įdėtmąjį apskaičiuoto lauko tipą, pridėkite$AccNumberįdėtmąjį lauką prie FilteredVendors duomenų šaltinio ir sukonfigūruokite lauką, kad jame būtų išraiška. TRIM(FilteredVendor.AccountNum)
Tokiu būdu išraišką ORDERBY("Query", Vendor, Vendor.AccountNum)
galima vykdyti duomenų bazės lygiu, o įdėtojo lauko $AccNumber skaičiuoti galima vėliau.
2 pasirinktis
Pakeiskite FilteredVendors duomenų šaltinio išraišką iš į ORDERBY("Query", Vendor, Vendor.AccountNum)
ORDERBY("InMemory", Vendor, Vendor.AccountNum)
. Patariame pakeisti lentelės, kurioje yra didelis duomenų kiekis (operacijų lentelė), išraišką, nes bus išrinkti visi įrašai ir atmintyje bus užsakyta reikiamas įrašas. Todėl, naudojant šį metodą, gali suprastėti našumas.
Nebenaudojatas programos artefaktas
Kurdami ER modelio susiejimo komponentą arba ER formato komponentą, galite konfigūruoti ER išraišką, kad ER iškviestų programos artefaktui, pavyzdžiui, duomenų bazės lentelei, klasės metodui ir t. t. Jei finansinė versija 10.0.30 arba vėlesnė, galite priversti ER įspėti jus, kad nurodytas programos artefaktas šaltinio kode yra pažymėtas kaip pasenęs. Šis įspėjimas gali būti naudingas, nes paprastai nebenaudojami artefaktai galiausiai pašalinami iš šaltinio kodo. Informuojant apie artefakto būseną galima sustabdyti nebenaudojamo artefakto redagavimo ER komponente, prieš šalinant iš šaltinio kodo, padedant išvengti klaidų iškvietime neesamų programos artefaktų iš ER komponento.
Įgalinkite nebenaudojamus elektroninių ataskaitų duomenų šaltinių funkcijos elementus funkcijų valdymo darbo srityje, kad pradėtumėte vertinti nebenaudojamą programos artefaktų atributą redaguojamo ER komponento patikrinimo metu. Dabar pasenęs atributas vertinamas dėl šių programos artefaktų tipų:
- Duomenų bazės lentelė
- Lentelės laukas
- Lentelės metodas
- Programos klasė
- Klasės metodas
Banknotas
Duomenų šaltinio, kuris nurodo nebenaudojamą artefakmą, redaguojamo ER komponento patikrinimo metu rodomas perspėjimas tik tada, kai šis duomenų šaltinis naudojamas bent viename šio ER komponento susiejime.
Patarimas
Kai klasė SysObsoleteAttribute naudojama norint informuoti kompiliatoriaus perspėjimo pranešimus , o ne klaidas, patikrinimo perspėjime pateikiama informacija, nurodyta šaltinio kodo įspėjime dizaino laiku modelio susiejimo konstruktoriaus arba formato dizaino įrankio puslapio informacijos "FastTab ".
Šioje iliustracijoje rodomas tikrinimo įspėjimas, kuris įvyksta, kai pasenęs DEL_Email
CompanyInfo
programos lentelės laukas yra susietas su duomenų modelio lauku naudojant sukonfigūruotą duomenų company
šaltinį.
Automatinis sprendimas
Nėra parinkties šiai problemai išspręsti automatiškai.
Neautomatinis sprendimas
Modifikuokite sukonfigūruotą modelio susiejimą ar formatą pašalindami visus susiejimus su duomenų šaltiniu, kuris nurodo nebenaudojantį programos artefaktu.
Papildomi ištekliai
Naudokite JOIN duomenų šaltinius duomenims iš kelių programos lentelių gauti ER modelių susiejimuose
Sekti ER formatų vykdymą, norint pašalinti efektyvumo problemas
Verslo dokumentų valdymo peržiūra