Skapa en ny ER-lösning för att skriva ut en egen rapport
Följande steg beskriver hur en roll för användare i en systemadministratör, elektronisk rapportutvecklare eller en funktionell konsult för elektronisk rapportering kan konfigurera parametrar för ER-ramverk, utforma nödvändiga ER-konfigurationer för en ny ER-lösning för att komma åt data i en viss affärsdomän och skapa en anpassad rapport i Microsoft Office-formatet. Dessa steg kan slutföras i USMF-företaget.
Designa en modellmappning för den konfigurerade datamodellen
Skapa en ny konfiguration av modellmappning
- Designa en ny modellmappningskomponent
- Lägga till datakällor för att öppna programtabeller
- Lägga till datakällor för att öppna programuppräkningar
- Lägga till ER-etiketter för att generera en rapport på ett angivet språk
- Lägga till en datakälla som transformerar resultaten från att jämföra uppräkningsvärden till ett textvärde
- Binda datakällor till fält för datamodell
- Färdigställa modellmappningens utformning
Utveckla programartefakter för att anropa den utformade rapporten
Finjustera en designad ER-lösning
-
- Lägga till datakällor för att öppna ett datakontraktobjekt
- Lägga till en datakälla för åtkomst av mappningsposter för ER-format
- Lägga till en datakälla för åtkomst av formatmappningsposter för ett ER-format som körs
- Ange namnet på det ER-format som körs i datamodellen
- Färdigställa modellmappningens utformning
Kör ett format från programmet för att förhandsgranska det som ett PDF-dokument
-
I det här exemplet ska du skapa en ny ER-lösning för modulen enkät. Med den nya ER-lösningen kan du utforma en rapport genom att använda ett Microsoft Excel kalkylblad som en mall. Du kan sedan generera enkät-rapport i Excel-eller PDF-format, förutom att generera den befintliga rapporten från SQL Server Reporting Services (SSRS). Du kan också senare ändra den nya rapporten vid begäran. Ingen kod behövs.
Om du vill köra den befintliga rapporten går du till Enkät>Design>Enkätrapport.
I dialogrutan enkätrapport ange urvalskriterier. Använd ett filter så att rapporten bara innehåller SBCCrsExam enkät.
Följande bild visar den genererade versionen av SSRS-rapporten för SBCCrsExam-enkät.
Konfigurera ER-ramverket
Som användare i rollen Utvecklare för elektronisk rapportering måste du konfigurera den minsta uppsättningen ER-parametrar innan du kan börja använda ER-ramverket för att designa din nya ER-lösning.
Konfigurera ER-parametrar
Gå till Organisationsadministration>Arbetsytor>Elektronisk rapportering.
På arbetsytan Elektronisk rprogramortering väljer du Elektroniska rprogramorteringsparametrar.
På sidan parametrar för elektronisk rapportering på fliken allmänna anger du alternativet till aktivera designläge till Ja.
Ange följande parametrar på fliken Bilagor:
- Ange fältet Konfigurationer till Fil för USMF-företaget.
- Ange Jobbarkiv, Tillfälliga, Baslinje och Andra till Fil.
Mer information om ER-parametrar finns i Konfigurera om ER-ramverket.
Aktivera en ER-konfigurationsleverantör
Varje ER-konfiguration markeras som ägd av en ER-konfigurationsleverantör. Därför måste du aktivera en ER-konfigurationsleverantör i arbetsytan Elektronisk rapportering innan du börjar lägga till eller redigera ER-konfigurationer.
Notering
Endast ägaren till en ER-konfiguration kan redigera den. Därför måste en lämplig ER-konfigurationsleverantör aktiveras innan en ER-konfiguration kan redigeras arbetsytan Elektronisk rapportering.
Granska listan med ER-konfigurationsleverantörer
- Gå till Organisationsadministration>Arbetsytor>Elektronisk rapportering.
- I arbetsytan elektronisk rapportering i avsnittet Relaterade länkar väljer du Konfigurationsleverantörer.
- På sidan Konfigurationsleverantörer har varje konfigurationsleverantörspost ett unikt namn och en URL. Granska innehållet på den här sidan. Om det redan finns en post för Litware, Inc. (
https://www.litware.com
) hoppar du över nästa procedur Lägg till en ny ER-konfigurationsleverantör.
Lägg till en ny ER-konfigurationsleverantör
- Välj Konfigurationsleverantörer på sidan Leveranssätt.
- I fältet Namn anger du Litware, Inc..
- I fältet Internetadress anger du
https://www.litware.com
. - Välj Spara.
Aktivera en ER-konfigurationsleverantör
- Gå till Organisationsadministration>Arbetsytor>Elektronisk rapportering.
- I arbetsytan Elektronisk rapportering väljer du Litware, Inc. för din konfigurationsleverantör.
- Ställ in Ange aktiva.
Mer information om ER-konfigurationsleverantörer finns i Skapa konfigurationsleverantörer och markera dem som aktiva.
Ange urvalskriterier i dialogrutan för frågeformulär
Du måste skapa en ny ER-konfiguration som innehåller komponenten datamodellför affärsdomänen enkät. Den här datamodellen kommer senare att användas som datakälla när du designar ett ER-format för att generera enkät-rapporten.
Genom att slutföra stegen i avsnittet Importera en ny konfiguration för datamodell kan du importera den datamodell som krävs från den angivna XML-filen. Du kan också slutföra stegen i avsnittet Skapa en ny konfiguration för datamodell om du vill designa den här datamodellen från början.
Importera en ny konfiguration för datamodell
- Hämta filen enkätmodell.version.1.xml och spara den på den lokala datorn.
- Gå till Organisationsadministration>Arbetsytor>Elektronisk rapportering.
- På arbetsytan Elektronisk rapportering väljer du Rapporteringskonfiguration.
- På Åtgärdsfönster väljer du Byt>Läs in från XML-filen.
- Välj Bläddra och leta sedan reda på och markera filen enkätmodell.version.1.xml.
- Välj OK för att importera konfigurationen.
Om du vill fortsätta hoppar du över nästa procedur, skapa en ny konfiguration för datamodell.
Skapa en ny datamodellskonfiguration
- Gå till Organisationsadministration>Arbetsytor>Elektronisk rapportering.
- På arbetsytan Elektronisk rapportering väljer du Rapporteringskonfiguration.
- Välj Skapa konfiguration.
- I listrutan i fältet Namn anger du enkätmodell.
- Välj Skapa konfiguration för att skapa konfigurationen.
Namnge och datamodellen
- På sidan konfigurationer i konfigurationsträdet väljer du enkätmodell.
- Välj Designer.
- På sidan Datamodelldesigner på snabbfliken Allmänt i fält Namn ange Enkät.
Lägg till nya fält för datamodell
Välj Nytt på sidan Datamodelldesigner.
Gör så här i listrutan för att lägga till en datamodellnod:
- Välj modellrot som typ för den nya noden.
- I fältet Namn skriver du Rot.
- Välj Lägg till för att lägga till en ny nod.
Den här rotbeskrivningen används för att tillhandahålla data för rapporten enkät. En enskild datamodell kan ha flera beskrivare. Varje beskrivning kan anges för ett enda ER-format, för att identifiera de data som krävs för att generera rapporten.
Välj Ny igen och sedan, i rullgardinsmenyn för att lägga till en datamodellnod, följ dessa steg:
- Välj Underordnad av en aktiv nod som typ för den nya noden.
- Skriv Namn i fältet CompanyName.
- Välj Sträng i fältet Artikeltyp.
- Välj Lägg till för att lägga till ett nytt fält.
Det här fältet är obligatoriskt om du vill skicka namnet på det aktuella företaget till en ER-rapport som använder den här datamodellen som datakälla.
Välj Ny igen och sedan, i rullgardinsmenyn för att lägga till en datamodellnod, följ dessa steg:
- Välj Underordnad av en aktiv nod som typ för den nya noden.
- Skriv Namn i fältet Enkät.
- Välj Postlista i fältet Artikeltyp.
- Välj Lägg till för att lägga till ett nytt fält.
Detta fält kommer att användas för att skicka listan över enkäter på det aktuella företaget till en ER-rapport som använder den här datamodellen som datakälla.
Välj nod enkät .
Fortsätt att lägga till de obligatoriska fälten i den redigerbara datamodellen på samma sätt tills du har slutfört följande datamodellstruktur.
Sökväg för fält Datatyp Fältbeteckning/returnerat värde Rot Referenspunkten för att begära enkätdata. Root\CompanyName Sträng Namnet på det aktuella företaget. Root\ExecutionContext Registrera Information om formatkörning. Root\ExecutionContext\FormatName Sträng Namnet på ER-formatet som körs. Root\Questionnaire Postlista Listan över enkäter Root\Questionnaire\Active Sträng Status för aktuella enkäten. Root\Questionnaire\Code Sträng Kod för aktuell aktuella enkäten. Root\Questionnaire\Description Sträng Beskrivning för aktuella enkäten. Root\Questionnaire\QuestionnaireType Sträng Typ för aktuella enkäten. Root\Questionnaire\QuestionOrder Sträng Den numeriska ordningen för aktuella enkäten. Root\Questionnaire\ResultsGroup Registrera De resulterande parametrarna för aktuella enkäten. Root\Questionnaire\ResultsGroup\Code Sträng Identifieringskoden för den aktuella resultatgruppen. Root\Questionnaire\ResultsGroup\Description Sträng Beskrivning för aktuella resultatgruppen. Root\Questionnaire\ResultsGroup\MaxNumberOfPoints Realtal Det maximala antal poäng som kan intjänas. Root\Questionnaire\Question Postlista Listan med frågeställningar för den aktuella enkäten. Root\Questionnaire\Question\CollectionSequenceNumber Heltal Sekvensnumret för den aktuella svarssamlingen. Root\Questionnaire\Question\Id Sträng Identifieringskoden för den aktuella frågeställningen. Root\Questionnaire\Question\MustBeCompleted Sträng En flagga som anger om den aktuella frågeställningen måste besvaras. Root\Questionnaire\Question\PrimaryQuestion Sträng En flagga som anger om den aktuella frågeställningen är primär. Root\Questionnaire\Question\SequenceNumber Heltal Sekvensnumret för den aktuella frågeställningen. Root\Questionnaire\Question\Text Sträng Texten för den aktuella frågeställningen. Root\Questionnaire\Question\Answer Postlista Listan med svar för den aktuella frågeställningen. Root\Questionnaire\Question\Answer\CorrectAnswer Sträng En flagga som anger om det aktuella svaret är korrekt. Root\Questionnaire\Question\Answer\Points Realtal De poäng som intjänas när det aktuella svaret väljs. Root\Questionnaire\Question\Answer\SequenceNumber Heltal Sekvensnumret för det aktuella svaret. Root\Questionnaire\Question\Answer\Text Sträng Texten för det aktuella svaret. I bilden nedan visas den färdiga redigerbara datamodellen på sidan Datamodelldesigner.
Spara ändringarna.
Stäng sidan datamodelldesigner.
Färdigställa datamodellens utformning
- Gå till Organisationsadministration>Elektronisk rapportering>Konfigurationer.
- På sidan konfigurationer i konfigurationsträdet väljer du enkätmodell.
- På snabbfliken Versioner väljer du den konfigurationsversion som har statusen Utkast.
- Välj Ändra status>Slutför.
Status för version 1 av denna konfiguration ändras från utkast till slutförd. Version 1 kan inte längre ändras. Den här versionen innehåller den konfigurerade datamodellen och kan användas som grund för andra ER-konfigurationer. Version 2 av denna konfiguration skapas och har statusen utkast. Du kan redigera den här versionen för att justera datamodellen enkät.
Mer information om versionshantering för ER-konfigurationer finns i Översikt över elektroniska rapporter (ER).
Notering
Den konfigurerade datamodellen är din abstrakta representation av affärsdomänen enkät och innehåller inga relationer till artefakter som är specifika för Microsoft Dynamics 365 Finance.
Designa en modellmappning för den konfigurerade datamodellen
Som användare i rollen som elektronisk rapporteringsutvecklare måste du skapa en ny ER-konfiguration som innehåller en komponent för modellmappning för datamodellen enkät. Eftersom den här komponenten implementerar den konfigurerade datamodellen för Finance, är den Finance-specifik. Du måste konfigurera komponenten för modellmappning för att ange vilka programobjekt som ska användas för att fylla i den konfigurerade datamodellen med programdata vid körning. För att slutföra den här uppgiften måste du vara medveten om implementeringsinformationen för datastrukturen i affärsdomänen enkät i Finance.
Genom att slutföra stegen i avsnittet Importera en ny konfiguration för modellmappning som följer kan du importera den konfiguration av modellmappning som krävs från den angivna XML-filen. Du kan också slutföra stegen i avsnittet Skapa en ny konfiguration för modellmappning om du vill designa den här modellmappningen från början.
Importera en ny konfiguration för modellmappning
- Hämta filen enkätmappning.version.1.xml och spara den på den lokala datorn.
- Gå till Organisationsadministration>Arbetsytor>Elektronisk rapportering.
- På arbetsytan Elektronisk rapportering väljer du Rapporteringskonfiguration.
- På Åtgärdsfönster väljer du Byt>Läs in från XML-filen.
- Välj Bläddra och leta sedan reda på och markera filen enkätmappning.version.1.1.xml.
- Välj OK för att importera konfigurationen.
Om du vill fortsätta hoppar du över nästa procedur, skapa en ny konfiguration för modellmappning.
Skapa en ny konfiguration av modellmappning
Gå till Organisationsadministration>Elektronisk rapportering>Konfigurationer.
På sidan konfigurationer i konfigurationsträdet väljer du enkätmodell.
Välj Skapa konfiguration.
Gör följande i listrutan:
- I fältet Nytt väljer du Modellmappning baserat på datamodellenkäter.
- Ange enkätmappning i fältet Namn.
- I fältet Definition av datamodell välj definitionen Rot.
- Välj Skapa konfiguration för att skapa konfigurationen.
Designa en ny modellmappningskomponent
- På sidan konfigurationer i konfigurationsträdet väljer du enkätmappning.
- Välj designer om du vill öppna listan över mappningar.
- Välj den enkätmappning som automatiskt lades till för definitionen Rot
- Välj Designer om du vill starta konfigurationen av den valda mappningen.
En ny mappning läggs automatiskt till för definitionen rot. Den här mappningen har riktningen Till modell. Denna mappning kan därför användas för att fylla i en datamodell med de data som krävs.
Lägga till datakällor för att öppna programtabeller
Du måste konfigurera datakällor för att få åtkomst till programtabellerna som innehåller enkätuppgifter.
På sidan Modellmappingsdesigner i fönstret Datakälltyper väljer du Dynamics 365 for Operations\Tabellregister.
Lägg till en ny datakälla som ska användas för att komma åt KMCollection-registret, där varje post representerar en enda enkät:
- I fönstret Datakällor välj Lägg till rot.
- I dialogrutan i fältet Namn, ange enkät.
- I fältet Tabell ange KMCollection.
- Ange alternativet Fråga efter fråga till Ja. Du kan sedan ange alternativet filtrering för det här registret i dialogrutan för systemfråga under körning.
- Klicka på OK om du vill lägga till den nya datakällan.
I fönstret Datakälltyper välj Dynamics 365 for Operations\registerposter.
Lägg till en ny datakälla som ska användas för att komma åt KMQuestion-registret, där varje post representerar en enda fråga i en enkät:
- I fönstret Datakällor välj Lägg till rot.
- I dialogrutan i fältet Namn, ange Fråga.
- I fältet Tabell ange KMQuestion.
- Klicka på OK om du vill lägga till den nya datakällan.
I fönstret Datakälltyper välj Dynamics 365 for Operations\registerposter.
Lägg till en ny datakälla som ska användas för att komma åt KMAnswer-registret, där varje post representerar ett enda svar på en frågeställning i en enkät:
- I fönstret Datakällor välj Lägg till rot.
- I fältet Namn ange Svar.
- I fältet Tabell ange KMAnswer.
- Klicka på OK om du vill lägga till den nya datakällan.
I fönstret Datakälltyper välj Funktioner\Beräknade fält.
Lägg till ett nytt beräknat fält som ska användas för att komma åt en post i KMQuestionResultGroup-registret från alla poster i det överordnade KMCollection-registret:
- I fönstret Datakällor välj Enkät.
- Markera Lägg till.
- I dialogrutan i fältet Namn ange $ResultGroup.
- Välj Redigera recept.
- I ER-formelredigeraren, i fältet Formel, ange FIRSTORNULL(@.'<Relations'.KMQuestionResultGroup) för att använda sökväg 1:n-relation mellan registret KMCollection och KMQuestionResultGroup.
- Markera Spara och stäng sedan formelredigeraren.
- Klicka på OK om du vill lägga till nya beräknade fält.
I fönstret Datakälltyper välj Funktioner\Beräknade fält.
Lägg till ett nytt beräknat fält som ska användas för att komma åt poster i KMQuestion-registret från alla poster i det överordnade KMCollectionQuestion-registret:
- I fönstret Datakällor välj Enkät.
- Expandera noden <relationer som innehåller 1:n-relationer i KMCollection-registret.
- Välj relaterat KMCollectionQuestion-register och välj sedan Lägg till.
- I dialogrutan i fältet Namn ange $Question.
- Välj Redigera recept.
- I formelredigeraren i fältet Formel ange FIRSTORNULL (FILTER(Question, Question.kmQuestionId = @.kmQuestionId)) för att returnera lämpliga frågerader från KMQuestion-registret.
- Markera Spara och stäng sedan formelredigeraren.
- Klicka på OK om du vill lägga till nya beräknade fält.
I fönstret Datakälltyper välj Funktioner\Beräknade fält.
Lägg till ett nytt beräknat fält som ska användas för att komma åt svarsposter i KMAnswer-registret från alla poster i det överordnade KMQuestion-registret:
- I fönstret Datakällor, välj Questionnaire.<Relations.KMCollectionQuestion.$Question och välj sedan Lägg till.
- I dialogrutan i fältet Namn ange $Answer.
- Välj Redigera recept.
- I formelredigeraren i fältet Formel, ange FILTER (Answer, Answer.kmAnswerCollectionId = @.kmAnswerCollectionId) för att returnera lämpliga svarsposter från KMAswer-registret.
- Markera Spara och stäng sedan formelredigeraren.
- Klicka på OK om du vill lägga till nya beräknade fält.
I fönstret Datakälltyper välj Dynamics 365 for Operations\register.
Lägg till en ny datakälla som ska användas för att komma åt metoder i CompanyInfo-registret. Observera att metoden find() i det här registret returnerar en post som representerar ett företag för den aktuella Finance-instansen som den här mappningen anropas i kontexten för.
- I fönstret Datakällor välj Lägg till rot.
- I dialogrutan i fältet Namn, ange CompanyInfo.
- I fältet Tabell ange CompanyInfo.
- Klicka på OK om du vill lägga till den nya datakällan.
Lägga till datakällor för att öppna programuppräkningar
Du måste konfigurera datakällor för att få åtkomst till programuppräkningar och jämföra deras värden med värden i fälten för typen uppräkning i programtabellerna. Du måste använda resultatet av jämförelsen för att fylla i lämpliga fält i datamodellen.
På sidan Modellmappingsdesigner i fönstret Datakälltyper väljer du Dynamics 365 for Operations\Uppräkning.
Lägg till en ny datakälla som ska användas för att komma åt värden i uppräkningen EnumAppNoYes:
- I fönstret Datakällor välj Lägg till rot.
- I dialogrutan i fältet Namn, ange EnumAppNoYes.
- I fältet Uppräkning ange NoYes.
- Klicka på OK om du vill lägga till den nya datakällan.
I fönstret Datakälltyper välj Dynamics 365 for Operations\Uppräkning.
Lägg till en ny datakälla som ska användas för att komma åt värden i uppräkningen KMCollectionQuestionMode:
- I fönstret Datakällor välj Lägg till rot.
- Ange KMCollectionQuestionMode i dialogrutan i fältet namn.
- I fältet Uppräkning ange KMCollectionQuestionMode.
- Klicka på OK om du vill lägga till den nya datakällan.
Lägga till ER-etiketter för att generera en rapport på ett angivet språk
Du kan lägga till ER-etiketter för att konfigurera vissa av dina datakällor för att returnera värden som är beroende av språket som definieras i kontexten för modellmappningens anrop.
På sidan Modellmappingsdesigner i fönstret Datakällor väljer du Svar och sedan Redigera.
Aktivera fältet etikett.
Välj översätt.
I dialogrutan Textöversättning gör följande:
- I fältet Etikett-ID anger du PositiveAnswer.
- I fältet text på standardspråk anger du Ja.
- Välj översätt.
- I fältet Etikett-ID anger du NegativeAnswer.
- I fältet text på standardspråk anger du Nej.
- Välj översätt.
Stäng dialogrutan textöversättning.
Välj Avbryt.
Du har bara angett ER-etiketter för standardspråket. Information om hur ER-etiketter kan översättas till andra språk finns i utforma flerspråkiga rapporter.
Lägga till en datakälla som transformerar resultaten från att jämföra uppräkningsvärden till ett textvärde
Eftersom du måste transformera resultaten av jämförelsen mellan uppräkningsvärden och textvärden flera gånger för differenskällor kan det vara en bra idé att konfigurera den här logiken som en enda datakälla. Om du vill kunna använda datakällan igen måste du dock konfigurera den som parametriserad datakälla. För mer information, se Stöd parameteranrop till ER-datakällor för beräknad fälttyp.
På sidan Modellmappingsdesigner i fönstret Datakälltyper väljer du Allmänt\Tom behållare.
Lägg till en ny datakälla för behållare:
- I fönstret Datakällor välj Lägg till rot.
- I dialogrutan i fältet Namn, ange Stödprocess.
- Klicka på OK om du vill lägga till den nya datakällan för behållare.
I fönstret Datakälltyper välj Funktioner\Beräknade fält.
Lägg till en ny datakälla:
Välj Stödprocess i fönstret Datakällor.
Markera Lägg till.
Ange NoYesEnumToString i dialogrutan i fältet namn.
Välj Redigera recept.
Välj parametrar i formelredigeraren.
Följ dessa steg för att ange parametrar för det konfigurerade uttrycket:
- Välj Ny.
- I dialogrutan i fältet Namn, ange Argument.
- I fältet Typ välj datatypen Boolesk.
- Välj OK.
I fältet Formel ange IF (Argument = true, @"GER‑LABEL:PositiveAnswer", @"GER‑LABEL:NegativeAnswer") du vill returnera texten i motsvarande ER-etikett, beroende på språket för körningskontexten och värdet för den angivna parametern.
Markera Spara och stäng sedan formelredigeraren.
Klicka på OK om du vill lägga till den nya datakällan.
Binda datakällor till fält för datamodell
Du måste binda de konfigurerade datakällorna till fälten i datamodellen för att ange hur datamodellen ska fyllas i med programdata vid körning.
På sidan Modellmappingsdesigner i fönstret Datamodell väljer du CompanyName.
I fönstret Datakällor expanderar CompanyInfo och följer sedan de här stegen:
- Expandera noden CompanyInfo.find() som representerar find()-metoden i CompanyInfo-registret.
- Välj CompanyInfo.find().Name.
- Välj Bind om du vill fylla i namnet på det företag som den konfigurerade modellmappningen anropas i kontexten vid körning.
I fönstret Datamodell välj Enkät.
I fönstret Datakällor välj Enkät och välj sedan Bind för att fylla i enkätposter.
I fönstret Datamodell expanderar du Enkät och följer sedan de här stegen:
- I fönstret Datamodell välj Aktiv.
- I fönstret Datamodell välj Redigera.
- I fältet Formel ange Helper.NoYesEnumToString (@.Active = EnumAppNoYes.Yes) om du vill fylla det textberoende och språkberoende resultatet i jämförelsen mellan uppräkningsvärden.
Fortsätt att binda datakällor till datamodellfält på samma sätt tills du uppnår följande resultat.
Sökväg för fält Datatyp Åtgärd Bindningsuttryck CompanyName Sträng Bind CompanyInfo.'find()'.Name Enkät Postlista Bind Enkät Etikett\Aktiv Sträng Redigera Helper.NoYesEnumToString(@.active = EnumAppNoYes.Yes) Enkät\Kod Sträng Bind @.kmCollectionId Enkät\Beskrivning Sträng Bind @.Description Questionnaire\QuestionnaireType Sträng Bind @.'>Relations'.kmCollectionTypeId.Description Questionnaire\QuestionOrder Sträng Redigera CASE (@.questionMode,
EnumAppQuestionOrder.Conditional, "Conditional",
EnumAppQuestionOrder.Random, "Slumpmässig (procent i enkät)",
EnumAppQuestionOrder.RandomGroup, "Slumpmässig (procent i resultatgrupper)",
EnumAppQuestionOrder.Sequence, "Sekventiell",
"")Questionnaire\ResultsGroup Registrera Questionnaire\ResultsGroup\Code Sträng Bind @.'$ResultGroup'.kmQuestionResultGroupId Questionnaire\ResultsGroup\Description Sträng Bind @.'$ResultGroup'.description Questionnaire\ResultsGroup\MaxNumberOfPoints Realtal Bind @.'$ResultGroup'.maxPoint Questionnaire\Question Postlista Bind @.'<Relations'.KMCollectionQuestion Questionnaire\Question\CollectionSequenceNumber Heltal Bind @.answerCollectionSequenceNumber Questionnaire\Question\Id Sträng Bind @.kmQuestionId Questionnaire\Question\MustBeCompleted Sträng Redigera Helper.NoYesEnumToString(@.mandatory = EnumAppNoYes.Yes) Questionnaire\Question\PrimaryQuestion Sträng Bind @.parentQuestionId Questionnaire\Question\SequenceNumber Heltal Bind @.SequenceNumber Questionnaire\Question\Text Sträng Bind @.'$Question'.text Questionnaire\Question\Answer Postlista Bind @.'$Question'.'$Answer' Questionnaire\Question\Answer\CorrectAnswer Sträng Redigera Helper.NoYesEnumToString(@.correctAnswer = EnumAppNoYes.Yes) Questionnaire\Question\Answer\Points Realtal Bind @.point Questionnaire\Question\Answer\SequenceNumber Heltal Bind @.sequenceNumber Questionnaire\Question\Answer\Text Sträng Bind @.text Bilden nedan visar det slutliga tillståndet för den konfigurerade modellmappningen på sidan modellmappningsdesigner.
Spara ändringarna.
Stäng sidan modellmappningsdesigner.
Färdigställa modellmappningens utformning
- Gå till Organisationsadministration>Elektronisk rapportering>Konfigurationer.
- På sidan konfigurationer i konfigurationsträdet väljer du enkätmappning.
- På snabbfliken Versioner väljer du den konfigurationsversion som har statusen Utkast.
- Välj Ändra status>Slutför.
Status för version 1.1 av denna konfiguration ändras från utkast till slutförd. Version 1.1 kan inte längre ändras. Den här versionen innehåller den konfigurerade modellmappningen och kan användas som grund för andra ER-konfigurationer. Version 1.2 av denna konfiguration skapas och har statusen utkast. Du kan redigera den här versionen för att justera konfigurationen enkätmappningen.
Notering
Den konfigurerade modellmappningen är din Finance-specifika implementering av den abstrakta datamodellen som representerar affärsdomän enkät.
Utforma en mall för en anpassad rapport
ER-ramverket använder fördefinierade mallar för att generera rapporter i Microsoft Office-format (Excel-arbetsböcker eller Word-dokument). Medan den rapport som krävs skapas fylls en mall i med de data som krävs enligt det konfigurerade dataflöden. Därför måste du först designa en mall för din anpassade rapport. Den här mallen måste vara utformad som en Excel-arbetsbok, vars struktur representerar layouten i en anpassad rapport. Du måste namnge varje Excel-artikel som du tänker fylla i med nödvändiga data.
- Hämta filen enkätrapportmall.xslx och spara den på den lokala datorn.
- Öppna filen i Excel och granska arbetsbokens struktur.
Som visas i bilden nedan har den hämtade mallen utformats för att skriva ut angivna enkäter som visar en enkätfrågeställningar tillsammans med lämpliga svar.
Excel-namn har lagts till i den här mallen för ifyllning av enkätinformation. Du kan använda namnhanteraren för att granska Excel-namnen.
Rapportetiketter har lagts till som fast text på engelska. Du kan ersätta rapportetiketterna med nya Excel-namn som fyller i etiketterna med språkberoende text genom att använda etiketterna för återställningsformat etikett, på samma sätt som för språkberoende uttryck i den konfigurerade modellmappningen. I det här fallet måste du lägga till ER-etiketter i det redigerbara återställningsformatet.
Som visas i bilden nedan har det anpassade rapporthuvudet angetts för att Excel ska kunna göra sidindelning.
Designa ett format
Som användare i rollen funktionell konsult för elektronisk rapportering måste du skapa en ny ER-konfiguration som innehåller komponenten format. Du måste konfigurera formatkomponenten för att ange hur en rapportmall ska fyllas i med nödvändiga data vid körning.
Genom att slutföra stegen i avsnittet Importera en utformad formatkonfiguration kan du importera det format som krävs från den angivna XML-filen. Du kan också slutföra stegen i avsnittet Skapa en ny formatkonfiguration om du vill designa det här formatet från början.
Importera en utformad formatkonfiguration
- Hämta filen enkätformat.version.1.xml och spara den på den lokala datorn.
- Gå till Organisationsadministration>Arbetsytor>Elektronisk rapportering.
- På arbetsytan Elektronisk rapportering väljer du Rapporteringskonfiguration.
- På Åtgärdsfönster väljer du Byt>Läs in från XML-filen.
- Välj Bläddra och leta sedan reda på och markera filen enkätformat.version.1.1.xml.
- Välj OK för att importera konfigurationen.
Om du vill fortsätta hoppar du över nästa procedur, skapa en ny formatkonfiguration.
Skapa en ny formatkonfiguration
Gå till Organisationsadministration>Elektronisk rapportering>Konfigurationer.
På sidan konfigurationer i konfigurationsträdet väljer du enkätmodell.
Välj Skapa konfiguration.
Gör följande i listrutan:
I fältet Nytt väljer du Format baserat på datamodellenkäter.
Ange enkätrapport i fältet Namn.
I fältet Datamodellversion välj 1.
Notering
- Om du väljer en specifik version av basdatamodellen, kommer strukturen för motsvarande version av datamodellen att presenteras för dig som strukturen för datakällan Modell i det format som skapas.
- Fältet kan vara tomt. I så fall visas strukturen på utkast-versionen av datamodellen som en struktur för datakällan modell i det format som skapas. Du kan sedan justera modellen och omedelbart se justeringarna i formatet. Den här metoden kan förbättra effektiviteten hos ER-lösningen när du konfigurerar datamodellen, modellmappningen och formaterar samtidigt.
- Om du väljer en specifik version av basdatamodellen kan du senare växla till att använda utkast-versionen när du börjar redigera ett format.
I fältet Definition av datamodell välj definitionen Rot.
Välj Skapa konfiguration för att skapa konfigurationen.
Importera rapportmall
På sidan konfigurationer i konfigurationsträdet väljer du enkätrapport.
Välj Designer om du vill starta konfigureringen av ett anpassat format.
På sidan Formatdesigner på åtgärdsfönstret väljer du Importera>Importera från Excel.
Gör följande i dialogrutan:
- Välj Lägg till mall.
- Sök och markera den lokalt sparade filen enkätrapportmall.xslx och välj sedan Öppna.
- Välj OK för att importera mallen.
Formatelementet Excel\File läggs automatiskt till i det redigerbara formatet som ett rotelement. Dessutom läggs formatelementet Excel\Range eller formatelementet Excel\Cell automatiskt till för varje identifierat Excel-namn i den importerade mallen. Formatet Excel\Header som har kapslade Sträng-element läggs automatiskt till för att avspegla rubrikinställningarna för den importerade mallen.
Konfigurera ett format
På sidan Formatdesigner i formatträdet, välj rotelementet Excel.
Gå till fliken Format på sidans högra sida, ange en rapport i fältet Namn anger rapport.
I fältet Språkinställningar välj Användarinställningar om du vill köra rapporten på användarens önskade språk.
I fältet Kulturinställningar välj Användarinställningar om du vill köra rapporten i användarens önskade kultur.
Information om hur du anger språk och kulturkontexter för en ER-process finns i utforma flerspråkiga rapporter.
Expandera rotnoden i formatträdet och välj sedan ResultsGroup.
På fliken Format i fältet Replikeringsriktning välj Ingen replikering, eftersom du inte förväntar dig att ha flera resultatgrupper för en enda enkät.
Välj Spara.
Definiera databindningen för en rapportrubrik
Du måste ange en databindning för ett formatelement som används för att fylla i rubriken för en genererad rapport.
På sidan Formatdesigner på fliken Mappning till höger väljer du elementet Report\ReportTitle.
Välj Redigera recept.
Välj översätt i formelredigeraren.
I dialogrutan Textöversättning gör följande:
- I fältet Etikett-ID anger du ReportTitle.
- I fältet text på standardspråk anger du enkätrapport.
- Välj Översättoch välj sedan Spara.
- Välj Översätt om du vill stänga dialogrutan textöversättning.
Stäng formelredigeraren.
Du kan använda den här tekniken för att göra alla andra etiketter för den aktuella mallspråkberoende. Information om hur tillagda etiketter för en enskild ER-konfiguration kan översättas till alla språk som stöds finns i utforma flerspråkiga rapporter.
Granska modellens datakälla
- På sidan Formatdesigner på fliken Mappning välj datakällan modell som representerar basdatamodellen för det här ER-formatet.
- Välj Redigera.
- Granska informationen i dialogrutan Egenskaper för datakälla. Den här datakällan representerar version 1 av den datamodellkomponent för enkäter som finns i ER-konfigurationen för enkätmodell.
Binda formatelement till fält för datakällor
Om du vill ange hur en mall ska fyllas i vid körning måste du binda varje formatelement som är associerat med ett lämpligt Excel-namn till ett enda fält i det här formatets datakälla.
På sidan Formatdesigner i formatträdet, välj formatelementet Report\CompanyName.
På fliken mappning välj datakällfältet model.CompanyName på typen sträng.
Välj Bind om du vill ange ett företagsnamn i en mall.
I formatträdet, välj elementet Report\Questionnaire.
På fliken mappning välj datakällfältet model.Questionnaire på typen postlista.
Välj bind.
Välj Visa detaljer om du vill visa mer information för formatelement.
Områdesformatelement enkät intervall konfigureras som vertikalt replikerat. När den är bunden till en datakälla för typen postlista upprepas det korrekta intervallet enkät för Excel-mallen för varje post i den bundna datakällan.
Eftersom området enkät för Excel-mallen definieras mellan raderna 5 till 14, upprepas dessa rader för varje rapporterad enkät.
Konfigurera liknande bindningar för de återstående formatelementen enligt beskrivningen i följande tabell.
Notering
I den här tabellen förutsätter informationen i kolumnen "sökväg till datakälla" att den relativa sökvägen ER-funktion är aktiverad.
Formatera element för sökväg Sökväg för datakälla Excel\ReportTitle @"GER_LABEL:ReportTitle" Excel\CompanyName model.CompanyName Excel\Questionnaire model.Questionnaire Excel\Questionnaire\Active @.Active, där @ är model.Questionnaire Excel\Questionnaire\Code @.Code Excel\Questionnaire\Description @.Description Excel\Questionnaire\QuestionnaireType @.QuestionnaireType Excel\Questionnaire\QuestionOrder @.QuestionOrder Excel\Questionnaire\ResultsGroup\Code_ @.ResultsGroup.Code Excel\Questionnaire\ResultsGroup\Description_ @.ResultsGroup.Description Excel\Questionnaire\ResultsGroup\MaxNumberOfPoints @.ResultsGroup.MaxNumberOfPoint Excel\Questionnaire\Question @.Question Excel\Questionnaire\Question\CollectionSequenceNumber @.CollectionSequenceNumber, where @ is model.Questionnaire.Question Excel\Questionnaire\Question\Id @.Id Excel\Questionnaire\Question\MustBeCompleted @.MustBeCompleted Excel\Questionnaire\Question\PrimaryQuestion @.PrimaryQuestion Excel\Questionnaire\Question\SequenceNumber @.SequenceNumber Excel\Questionnaire\Question\Text @.Text Excel\Questionnaire\Question\Answer @.Answer Excel\Questionnaire\Question\Answer\CorrectAnswer @.CorrectAnswer, där @ är model.Questionnaire.Answer Excel\Questionnaire\Question\Answer\Points @.Points Excel\Questionnaire\Question\Answer\Text @.Text Välj Spara när du är klar.
Bilden nedan visar det slutliga tillståndet för den konfigurerade databindningar på sidan Formatdesigner.
Viktigt
Hela mängden med angivna datakällor och bindningar representerar en formatmappningskomponent i det konfigurerade formatet. Den här formatmappningen anropas när du kör det konfigurerade formatet för rapportgenerering.
Kör ett format som skapats från ER
Du kan nu köra ett utformat format för testning från sidan konfigurationer.
- Gå till Organisationsadministration>Elektronisk rapportering>Konfigurationer.
- På sidan konfiguration i konfigurationsträdet i vänster fönster expanderar du enkätmodell och väljer sedan enkätrapport.
- Välj Designer för formatversionen som har statusen utkast.
- Välj Formatdesigner på sidan Kör.
- I dialogrutan ER-parametrar på snabbfliken Poster som ska ingå konfigurerar du filtreringsalternativet så att bara enkäten SBCCrsExam ingår.
- Bekräfta filtreringsåtgärden genom att välja OK.
- Klicka på OK om du vill köra rapporten.
- Granska den genererade rapporten.
Som standard levereras en genererad rapport som en Excel-fil som du kan hämta. I följande illustrationer visas två sidor i den genererade rapporten i Excel-format.
Justera ett utformat format
Ändra ett format för att ändra namnet på ett skapat dokument
Som standard namnges ett genererat dokument med hjälp av den aktuella användarens alias. Genom att ändra formatet kan du ändra det här beteendet så att ett genererat dokument namnges baserat på din anpassade logik. Namnet på ett dokument kan till exempel baseras på dagens datum och aktuell tid och på rapportens titel.
- På sidan Formatdesigner välj rotobjekt Rapport.
- På fliken Mappning välj Redigera filnamn.
- I fältet Formel ange CONCATENATE ("GER‑LABEL:ReportTitle", " - ", DATETIMEFORMAT(SESSIONNOW(), "yyyy-MM-dd hh-mm-ss")).
- Markera Spara och stäng sedan formelredigeraren.
- Välj Spara.
Ändra ett format för att ändra ordning på frågeställningarna
Frågeställningarna ordnas inte korrekt i en genererad rapport. Du kan ändra ordningen genom att ändra formatet.
På sidan Formatdesigner välj rotobjekt Rapport.
På fliken Mappning i formatträdet, expandera Report\Questionnaire\Question.
På fliken Mappning välj model.Questionnaire.
Välj Lägg till>Functions\Calculated field och skriv sedan i fältet Namn ange OrderedQuestions.
Välj Redigera recept.
I formelredigeraren i fältet Formel anger du ORDERBY (model.Questionnaire.Question, model.Questionnaire.Question.SequenceNumber) om du vill beställa en lista med frågeställningar i den aktuella enkäten utifrån sekvensordernumret.
Markera Spara och stäng sedan formelredigeraren.
Välj OK för att slutföra posten för ett nytt beräknat fält.
På fliken Mappning välj model.Questionnaire.OrderedQuestions.
I formatträdet, välj Excel\Questionnaire\Question.
Välj Bind och bekräfta att den aktuella sökvägen model.Questionnaire.Questions ersätts av den nya sökvägen model.Questionnaire.OrderedQuestions i alla bindningar för kapslade element.
Välj Spara.
Kör ett ändrat format från ER
Du kan nu köra ett ändrat format för testning från ER-ramverket.
- Välj Formatdesigner på sidan Kör.
- I dialogrutan ER-parametrar på snabbfliken Poster som ska ingå konfigurerar du filtreringsalternativet så att bara enkäten SBCCrsExam ingår.
- Bekräfta filtreringsåtgärden genom att välja OK.
- Klicka på OK om du vill köra rapporten.
- Granska den genererade rapporten.
Följande bild visar en genererad rapport i Excel-format där frågeställningarna har beställts på rätt sätt.
Slutför formatdesignen
- Gå till Organisationsadministration>Elektronisk rapportering>Konfigurationer.
- På sidan konfigurationer i konfigurationsträdet i vänster fönster expanderar du enkätmodell och väljer sedan enkätrapport.
- På snabbfliken Versioner väljer du den konfigurationsversion som har statusen Utkast.
- Välj Ändra status>Slutför.
Status för version 1.1 av denna konfiguration ändras från utkast till slutförd. Version 1.1 kan inte längre ändras. Den här versionen innehåller det konfigurerade formatet och kan användas för att skriva ut din anpassade rapport. Version 1.2 av denna konfiguration skapas och har statusen utkast. Du kan redigera den här versionen för att justera formatet för rapporten enkät.
Notering
Det konfigurerade formatet är din design av enkät-rapporten och innehåller inga relationer till de Finance-specifika artefakter.
Utveckla programartefakter för att anropa den utformade rapporten
Som användare i rollen systemadministratör måste du utveckla en ny logik så att det konfigurerade ER-formatet kan anropas från programmets användargränssnitt för att skapa din anpassade rapport. För närvarande erbjuder ER inte någon möjlighet att konfigurera den här typen av logik. Därför krävs en del konstruktionsarbete.
För att utveckla den nya logiken måste du distribuera en topologi som stöder kontinuerlig version. Mer information finns i distribuera topologier som stöder kontinuerlig automatisering av bygga och testa. Du måste också ha tillgång till utvecklingsmiljön för den här topologin. Mer information om tillgängliga ER API:er finns i ER-ramverks-API.
Modifiera källkod
Lägga till en datakontraktklass
Lägg till den nya klassenQuestionnairesErReportContract till ditt Microsoft Visual Studio-projekt och skriv kod som anger det datakontrakt som ska användas för att köra det konfigurerade ER-formatet.
/// <summary>
/// This class is the data contract class for the <c>QuestionnairesErReportDP</c> class.
/// </summary>
/// <remarks>
/// This is the data contract class for the Questionnaires ER report.
/// </remarks>
[
DataContractAttribute,
SysOperationContractProcessingAttribute(classStr(QuestionnairesErReportUIBuilder))
]
public class QuestionnairesErReportContract extends ERFormatMappingRunBaseContract implements SysOperationValidatable
{
ERFormatMappingId formatMapping;
/// <summary>
/// Validates the report parameters.
/// </summary>
/// <returns>
/// true if no errors; otherwise, false.
/// </returns>
public boolean validate()
{
boolean ret = true;
if (!formatMapping)
{
ret = checkFailed(strFmt("@SYS26332", new SysDictType(extendedTypeNum(ERFormatMappingId)).label()));
}
return ret;
}
[
DataMemberAttribute('FormatMapping'),
SysOperationLabelAttribute(literalstr("@ElectronicReporting:FormatMapping")),
SysOperationHelpTextAttribute(literalstr("@ElectronicReporting:FormatMapping"))
]
public ERFormatMappingId parmFormatMapping(ERFormatMappingId _formatMapping = formatMapping)
{
formatMapping = _formatMapping;
return formatMapping;
}
}
Lägg till en UI-skaparklass
Lägg till den nya QuestionnairesErReportUIBuilder-klassen i Visual Studio-projektet och skriv kod för att skapa en dialogruta för körning som ska användas för att slå upp formatmappnings-ID:t för det återställningsformat som måste köras. Den angivna koden söker bara efter ER-format som innehåller en datakälla för den typ av Datamodell som refererar till enkät datamodell med definitionen Rot.
Notering
Alternativt kan du använda ER-integreringspunkter för att filtrera ER-format. Mer information finns i API för att visa sökning efter formatmappningar.
/// <summary>
/// The UIBuilder class for Questionnaires ER report
/// </summary>
class QuestionnairesErReportUIBuilder extends SysOperationAutomaticUIBuilder
{
public const str ERQuestionnairesModel = 'Questionnaires';
public const str ERQuestionnairesDataContainer = 'Root';
/// <summary>
/// Action after build of the dialog UI.
/// </summary>
public void postBuild()
{
DialogField formatMapping;
super();
formatMapping = this.bindInfo().getDialogField(this.dataContractObject(),
methodStr(QuestionnairesErReportContract, parmFormatMapping));
formatMapping.registerOverrideMethod(
methodStr(FormReferenceControl, lookupReference),
methodStr(QuestionnairesErReportUIBuilder, formatMappingLookup),
this);
}
/// <summary>
/// Performs the lookup form for format mapping.
/// </summary>
/// <param name="_referenceGroupControl">
/// The control to perform lookup form.
/// </param>
public void formatMappingLookup(FormReferenceControl _referenceGroupControl)
{
ERObjectsFactory::createFormatMappingTableLookupForControlAndModel(
_referenceGroupControl,
ERQuestionnairesModel,
ERQuestionnairesDataContainer).performFormLookup();
}
}
Lägga till en dataleverantörsklass
Lägg till den nya klassen QuestionnairesErReportDP till ditt Microsoft Visual Studio-projekt och skriv kod som introducerar den dataleverantör som ska användas för att köra det konfigurerade ER-formatet. Den angivna koden inkluderar bara datakontraktet för denna dataleverantör.
/// <summary>
/// Data provider class for Questionnaires ER report.
/// </summary>
public class QuestionnairesErReportDP
{
QuestionnairesErReportContract contract;
public static QuestionnairesErReportDP construct()
{
QuestionnairesErReportDP dataProvider;
dataProvider = new QuestionnairesErReportDP();
return dataProvider;
}
}
Lägga till en etikettfil
Lägg till den nya etikettfilen QuestionnairesErReportLabels_en-US till ditt Visual Studio-projekt och ange följande etiketter för nya användargränssnittsresurser:
- Etiketten @QuestionnairesReport för ett nytt menyalternativ som innehåller följande text på amerikansk engelska (en-US): Questionnaires report (powered by ER)
- Etiketten @QuestionnairesReportBatchJobDescription för en batch-jobbtitel om ett valt ER-format schemaläggs för körning av ett batchjobb
Lägg till en rapporttjänstklass
Lägg till den nya klassen QuestionnairesErReportService i Visual Studio-projektet och skriv kod som anropar ett ER-format, identifierar den med ett format mappnings-ID och tillhandahåller ett datakontrakt som parameter.
using Microsoft.Dynamics365.LocalizationFramework;
/// <summary>
/// The electronic reporting service class for Questionnaires ER report
/// </summary>
class QuestionnairesErReportService extends SysOperationServiceBase
{
public const str ERModelDataSourceName = 'model';
public const str DefaultExportedFileName = 'Questionnaires report';
public const str ParametersDataSourceName = 'RunTimeParameters';
/// <summary>
/// Generates report by using Electronic reporting framework
/// </summary>
/// <param name = "_contract">The Questionnaires report contract</param>
public void generateReportByGER(QuestionnairesErReportContract _contract)
{
ERFormatMappingId formatMappingId;
QuestionnairesErReportDP dataProvider;
dataProvider = QuestionnairesErReportDP::construct();
formatMappingId = _contract.parmFormatMapping();
if (formatMappingId)
{
try
{
ERIModelDefinitionParamsAction parameters = new ERModelDefinitionParamsUIActionComposite()
.add(new ERModelDefinitionObjectParameterAction(ERModelDataSourceName, ParametersDataSourceName, _contract, true));
// Call ER to generate the report.
ERIFormatMappingRun formatMappingRun = ERObjectsFactory::createFormatMappingRunByFormatMappingId(formatMappingId, DefaultExportedFileName);
if (formatMappingRun.parmShowPromptDialog(true))
{
formatMappingRun.withParameter(parameters);
formatMappingRun.withFileDestination(_contract.getFileDestination());
formatMappingRun.run();
}
}
catch
{
// An error occurred while exporting data.
error("@SYP4861341");
}
}
else
{
// There is no data available.
info("@SYS300117");
}
}
}
När du måste använda ett ER-format som kör programdata måste du konfigurera en datakälla för typen datamodellen i formatmappningen. Den här datakällan refererar till en specifik del av den angivna datamodellen genom att använda en enda rotdefinition. När ER-formatet körs anropar det denna datakälla för att komma åt lämplig ER-modellmappning som konfigurerats för en viss modell och rotdefinition.
All information som du kan förbereda i källkoden och butiken som en del av datakontraktet kan överföras till ER-format med hjälp av en ER-modellmappning av den här typen. I ER-modellmappningen måste du konfigurera en datakälla för objekt typen som refererar till QuestionnairesErReportContract. Om du vill identifiera en modellmappning måste du ange en datakälla som anropar den här modellmappningen. I den angivna koden är denna datakälla angiven av ERModelDataSourceName konstanten som har värdet modell. Om du vill identifiera vilken datakälla som används för att visa datakontraktet i modellmappningen måste du ange namnet på en datakälla. I den angivna koden är detta namn angivet av konstanten ParametersDataSourceName som har värdet RunTimeParameters.
Notering
I en ny miljö kan du behöva uppdatera ER-metadata så att den här typen av klass finns tillgänglig i ER-modellmappningsdesigner. Mer information finns i Konfigurera ER-ramverket.
Lägg till en rapportkontrollantklass
Lägg till den nya klassen QuestionnairesErReportController till ditt Visual Studio projekt och skriv kod som kör ett ER-format i antingen synkront läge eller batchläge, vilket du föredrar, i den dialogruta som har skapats baserat på logiken i den angivna klassen QuestionnairesErReportUIBuilder.
/// <summary>
/// The controller for Questionnaires ER report
/// </summary>
class QuestionnairesErReportController extends ERFormatMappingRunBaseController
{
/// <summary>
/// The main entrance of the controller
/// </summary>
/// <param name = "args">The arguments</param>
public static void main(Args args)
{
QuestionnairesErReportController operation;
operation = new QuestionnairesErReportController(
classStr(QuestionnairesErReportService),
methodStr(QuestionnairesErReportService, generateReportByGER),
SysOperationExecutionMode::Synchronous);
operation.startOperation();
}
/// <summary>
/// Gets caption of the dialog.
/// </summary>
/// <returns>Caption of the dialog</returns>
public ClassDescription defaultCaption()
{
ClassDescription batchDescription;
batchDescription = "Questionnaires report (powered by ER)";
return batchDescription;
}
}
Lägg till ett menyalternativ
Lägg till det nya menyalternativet QuestionnairesErReport till ditt Visual Studio-projektet. I egenskapen Objekt hänvisar det här menyalternativet till klassen QuestionnairesErReportController och används för att ange en användarbehörighet för att välja och köra ett ER-format. I egenskapen etikett refererar det här menyalternativet till etiketten @QuestionnairesReport som du skapade tidigare, så att korrekt text visas i programgränssnittet.
Lägg till ett menyalternativ till en meny
Lägg till den befintliga KM-menyn i Visual Studio-projektet. Du måste lägga till ett nytt QuestionnairesErReport-objekt av typen Utdata i den här menyn. Det här objektet måste referera till menyartikeln QuestionnairesErReport som beskrivs i föregående avsnitt.
Bygga ett Visual Studio-projekt
Bygg ditt projekt för att göra ett nytt menyalternativ tillgängligt för användare.
Kör ett format från programmet
Gå till Enkät>Design>Enkätrapport (drivs av ER).
I dialogrutan i fältet Formatmappning välj Enkätrapport.
Välj OK.
I dialogrutan Elektroniska rapportparametrar på snabbfliken Poster som ska ingå konfigurerar du filtreringsalternativet så att bara enkäten SBCCrsExam ingår.
Bekräfta filtreringsåtgärden genom att välja OK.
Klicka på OK om du vill köra rapporten.
Granska den genererade rapporten.
Finjustera en designad ER-lösning
Du kan ändra den konfigurerade ER-lösningen så att den använder dataleverantörsklassen som du utvecklade för att få åtkomst till detaljer i det ER-format som körs och så att det anger namnet på detta ER-format i en genererad rapport.
Ändra modellmappning
Lägga till datakällor för att öppna ett datakontraktobjekt
- Gå till Organisationsadministration>Elektronisk rapportering>Konfigurationer.
- På sidan konfigurationer i konfigurationsträdet i vänster fönster expanderar du enkätmodell och väljer sedan enkätmappning.
- Välj Designer om du vill öppna sidan Modell till mappning av datakälla.
- Välj Designer om du vill öppna den markerade mappningen i modellmappningsdesigner.
- På sidan Modellmappingsdesigner i fönstret Datakälltyper väljer du Dynamics 365 for Operations\Objekt.
- I fönstret Datakällor välj Lägg till rot.
- I dialogrutan i fältet Namn ange RunTimeParameters, som definieras i källkoden för klassen QuestionnairesErReportService.
- I fältet Klass ange QuestionnairesErReportContract, som har kodats tidigare.
- Välj OK.
- Expandera RunTimeParameters.
Den tillagda datakällan innehåller information om post-ID för den ER-formatmappning som körs.
Lägga till en datakälla för åtkomst av mappningsposter för ER-format
Fortsätt att redigera den valda modellmappningen genom att lägga till en datakälla för att komma åt mappningsposter för ER-format.
- På sidan Modellmappingsdesigner i fönstret Datakälltyper väljer du Dynamics 365 for Operations\Tabellregister.
- I fönstret Datakällor välj Lägg till rot.
- I dialogrutan i fältet Namn, ange ER1.
- I fältet Tabell ange ERFormatMappingTable.
- Välj OK.
Lägga till en datakälla för åtkomst av formatmappningsposter för ett ER-format som körs
Fortsätt att redigera den valda modellmappningen genom att lägga till en datakälla för att komma åt formatmappningsposter för det ER-format som körs.
- På sidan Modellmappingsdesigner i fönstret Datakälltyper väljer du Funktioner\Beräknade fält.
- I fönstret Datakällor välj Lägg till rot.
- I dialogrutan i fältet Namn, ange ER2.
- Välj Redigera recept.
- I formelredigeraren i fältet Formel ange FIRSTORNULL (FILTER(ER1, ER1.RecId = RunTimeParameters.parmFormatMapping)).
- Markera Spara och stäng sedan formelredigeraren.
- Välj OK.
Ange namnet på det ER-format som körs i datamodellen
Fortsätt att redigera den valda modellmappningen så att namnet på det ER-format som körs anges i datamodellen.
- På sidan Modellmappingsdesigner i fönstret Datamodell expandera ExecutionContext och välj sedan ExecutionContext\FormatName.
- I fönstret Datamodell välj Redigera för att konfigurera en databindning för den valda datamodellens fält.
- I formelredigeraren i fältet Formel anger du FIRSTORNULL (ER2.'>Relations'.Format).Name.
- Markera Spara och stäng sedan formelredigeraren.
Eftersom du använde fältet FormatName visar den konfigurerade modellmappningen namnet på ett ER-format som anropar modellmappningen under körningen.
Färdigställa modellmappningens utformning
- På sidan Modellmappningsdesigner välj Spara.
- Stäng sidan.
- Stäng sidan modellmappningar.
- På sidan konfigurationer i konfigurationsträdet, se till att konfigurationen enkätmappning fortfarande är vald. På snabbfliken Versioner väljer du den konfigurationsversion som har statusen Utkast.
- Välj Ändra status>Slutför.
Status för version 1.2 av denna konfiguration ändras från utkast till slutförd. Version 1.2 kan inte längre ändras. Den här versionen innehåller den konfigurerade modellmappningen och kan användas som grund för andra ER-konfigurationer. Version 1.3 av denna konfiguration skapas och har statusen utkast. Du kan redigera den här versionen för att justera modellmappningen enkät.
Ändra ett format
Du kan ändra det konfigurerade ER-formatet så att namnet visas i sidfoten i en rapport som genereras när ER-formatet körs.
Lägg till ett nytt formatelement.
- Gå till Organisationsadministration>Elektronisk rapportering>Konfigurationer.
- På sidan konfigurationer i konfigurationsträdet i vänster fönster expanderar du enkätmodell och väljer sedan enkätrapport.
- Välj Designer.
- På sidan Formatdesigner välj rotobjekt Rapport.
- Välj Lägg till om du vill lägga till ett nytt kapslat formatelement för det markerade rotobjektet rapport.
- Välj Excel\Footer.
- I fältet Namn ange Sidfot.
- Markera Report\Footer och välj sedan Lägg till.
- Välj Text\String.
Bind det tillagda formatelementet
- På sidan Formatdesigner på fliken Mappning i formatträdet för det aktiva elementet Footer\String välj Redigera formel.
- I formelredigeraren i fältet Formel ange CONCATENATE ("&C&10", FORMAT("Generated by'%1 ER solution", model.ExecutionContext.FormatName)).
- Markera Spara och stäng sedan formelredigeraren.
- Välj Spara.
Det konfigurerade formatet har nu ändrats så att namnet infogas i sidfoten i en genererad rapport med hjälp av elementet Footer\String.
Slutför formatdesignen
- Stäng sidan Formatdesigner.
- På sidan konfigurationer i konfigurationsträdet, se till att konfigurationen enkätrapport fortfarande är vald. På snabbfliken Versioner väljer du den konfigurationsversion som har statusen Utkast.
- Välj Ändra status>Slutför.
Status för version 1.2 av denna konfiguration ändras från utkast till slutförd. Version 1.2 kan inte längre ändras. Den här versionen innehåller det konfigurerade format och kan användas som grund för andra ER-konfigurationer. Version 1.3 av denna konfiguration skapas och har statusen utkast. Du kan redigera den här versionen för att justera rapporten enkät.
Kör ett format från programmet
- Gå till Enkät>Design>Enkätrapport (drivs av ER).
- I dialogrutan i fältet Formatmappning välj Enkätrapport.
- Välj OK.
- I dialogrutan ER-parametrar på snabbfliken Poster som ska ingå konfigurerar du filtreringsalternativet så att bara enkäten SBCCrsExam ingår.
- Bekräfta filtreringsåtgärden genom att välja OK.
- Klicka på OK om du vill köra rapporten.
- Granska den genererade rapporten i Excel-format.
Observera att den genererade rapportens sidfot innehåller namnet på det ER-format som användes för att generera den.
Kör ett format från ER
- Gå till Organisationsadministration>Elektronisk rapportering>Konfigurationer.
- På sidan konfigurationer i konfigurationsträdet i vänster fönster expanderar du enkätmodell och väljer sedan enkätrapport.
- Klicka på Kör i åtgärdsfönstret.
- I dialogrutan Elektroniska rapportparametrar på snabbfliken Poster som ska ingå konfigurerar du filtreringsalternativet så att bara enkäten SBCCrsExam ingår.
- Bekräfta filtreringsåtgärden genom att välja OK.
- Klicka på OK om du vill köra rapporten.
- Granska den genererade rapporten i Excel-format.
Observera att den genererade rapportens sidfot inte innehåller namnet på ER-formatet som användes för att generera den, eftersom datakontraktets objekt inte skickades till modellmappningen vid körning när det anropades av det ER-format som kördes från ER.
Konfigurera ett formatmål för förhandsvisning på skärmen
- Gå till Organisationsadministration>Elektronisk rapportering>Elektroniska rapporteringsmål.
- På sidan Destination för elektronisk rapportering lägger du till en målpost för det konfigurerade ER-formatet enkätrapport.
- På snabbfliken Filmål ange Skärmdestination för formatkomponenten Rapport som har lagts till som rotelement för det konfigurerade ER-formatet enkätrapport.
- På snabbfliken inställningar av PDF-konvertering konfigurera destinationen för att konvertera en rapport till PDF-format som använder sidorienteringen liggande.
Kör ett format från programmet för att förhandsgranska det som ett PDF-dokument
Gå till Enkät>Design>Enkätrapport (drivs av ER).
I dialogrutan i fältet Formatmappning välj Enkätrapport.
Välj OK.
I dialogrutan Elektroniska rapportparametrar på snabbfliken Poster som ska ingå konfigurerar du filtreringsalternativet så att bara enkäten SBCCrsExam ingår.
Bekräfta filtreringsåtgärden genom att välja OK.
På snabbfliken destinationer ser du att fältet resultat är angivet till skärm. Om du vill ändra det konfigurerade målet väljer du ändra.
Klicka på OK om du vill köra rapporten.
Granska den genererade rapporten i PDF-format.