Skapa ER-uttryck för att anropa programklassmetoder
Detta ämne beskriver hur du återanvänder befintlig programlogik i konfigurationer för elektronisk rapportering (ER) genom att anropa erforderliga metoder för programklasser i ER-uttryck. Värden på argument för att anropa klasser kan definieras dynamiskt vid körning. Värden kan till exempel baseras på information i parsingdokumentet för att säkerställa att detta är korrekt.
För exemplet i detta ämne ska du utforma en process som parsar inkommande bankutdrag för en uppdatering av programdata. Du erhåller inkommande bankutdrag som textfiler (.txt) som innehåller IBAN-koder (International Bank Account Number). Som en del av processen för import av bankutdrag måste du bekräfta riktigheten i IBAN-koden med hjälp av befintlig logik.
Förutsättningar
Procedurerna i detta ämne är avsedda för användare som har tilldelats rollen som Systemadministratör eller Elektronisk rapporteringsutvecklare.
Procedurerna kan slutföras med hjälp av valfri datauppsättning.
Om du vill slutföra dem måste du ladda ned och spara följande fil: SampleIncomingMessage.txt.
I det här exemplet ska du skapa erforderliga ER-konfigurationer för exempelföretaget Litware, Inc. Innan du slutför procedurerna i detta ämne måste du därför följa dessa steg.
- Gå till Organisationsadministration>Arbetsytor>Elektronisk rapportering.
- På sidan Lokaliseringskonfigurationer bekräftar du att konfigurationsleverantören för exempelföretaget Litware, Inc. är tillgängligt och har markerats som aktivt. Om du inte kan se denna konfigurationsleverantör måste du först slutföra stegen i Skapa konfigurationsleverantörer och markera dem som aktiva.
Importera en ny konfiguration för ER-modell
På sidan Lokaliseringskonfigurationer, i avsnittet Konfigurationsleverantörer, väljer du fönstret för konfigurationsleverantören Microsoft.
Välj Databaser.
På sidan Lokaliseringsdatabaser väljer du Visa filter.
Om du vill välja den globala databasposten lägger du till ett filterfält för Namn.
I fältet Namn anger du Global. Markera sedan filteroperatorn innehåller.
Välj Tillämpa.
Välj Öppna för att granska listan över ER-konfigurationer i vald databas.
På sidan Konfigurationsdatabas i konfigurationsträdet väljer du Betalningsmodell.
I snabbfliken Versioner, om knappen Importera är tillgänglig, väljer du den och sedan Ja.
Om knappen Importera inte är tillgänglig har du redan importerat vald version av ER-konfigurationen för Betalningsmodell.
Stäng sidan Konfigurationsdatabas och stäng sedan ner sidan Lokaliseringsdatabaser.
Lägg till en ny konfiguration för ER-format
Lägg till ett nytt ER-format som du vill dela upp inkommande bankutdrag i TXT-format.
På sidan Lokaliseringskonfigurationer väljer du fönstret Rapporteringskonfigurationer.
På sidan Konfigurationer i konfigurationsträdet i vänster panel, väljer du Betalningsmodell.
Välj Skapa konfiguration.
Gör följande i listrutan:
- I fältet Nytt anger du Format som baseras på datamodellen PaymentModel.
- I fältet Namn anger du Importformat för bankutdrag (exempel).
- I fältet Stöder dataimport väljer du Ja.
- Välj Skapa konfiguration för att slutföra skapandet av konfigurationen.
Designa konfiguration för ER-format – Format
Designa ett ER-format som representerar den externa filens förväntade struktur i TXT-format.
För den formatkonfiguration för Importformat för bankutdrag (exempel) som du har lagt till väljer du Designer.
På sidan Formatdesigner, i formatstrukturen i det vänstra fönstret, väljer du Lägg till rot.
Gör följande i dialogrutan som visas:
- I trädet väljer du Text\Sekvens om du vill lägga till en formatkomponent för Sekvens.
- I fältet Namn anger du Rot.
- I fältet Specialtecken väljer du Ny rad – Windows (CR LF). Utifrån den här inställningen beaktas varje rad i parsingfilen som en separat post.
- Välj OK.
Markera Lägg till.
Gör följande i dialogrutan som visas:
- I trädet väljer du Text\Sekvens.
- I fältet Namn anger du Rader.
- Välj Ett många i fältet Sammansatt. Baserat på denna inställning förväntas minst en rad finnas med i parsningfilen.
- Välj OK.
I trädet väljer du Rot\Rader och sedan Lägg till sekvens.
Gör följande i dialogrutan som visas:
- I fältet Namn anger du Fält.
- I fältet Sammansatt väljer du Exakt ett.
- Välj OK.
I trädet väljer du Rot\Rader\Fält och sedan Lägg till.
Gör följande i dialogrutan som visas:
- I trädet väljer du Text\Sträng.
- I fältet Namn anger du IBAN. 3.. Välj OK.
Välj Spara.
Konfigurationen har nu ställts in så att varje enskild rad i parsningfilen endast innehåller IBAN-koden.
Designa ER-formatkonfigurationen – mappa till en datamodell
Designa en ER-formatmappning där information från parsingfilen används för att fylla i en datamodell.
På sidan Formatdesigner väljer du Mappa format till model i åtgärdsfönstret.
På sidan Modell för mappning av datakälla väljer du Ny i åtgärdsfönstret.
I fältet Definition väljer du BankToCustomerDebitCreditNotificationInitiation.
I fältet Namn anger du Mappning till datamodell.
Välj Spara.
Välj Designer.
På sidan Modellmappingsdesigner, i trädet Datakälltyper, väljer du Dynamics 365 for Operations\Klass.
I avsnittet Datakällor väljer du Lägg till rot för att lägga till en datakälla som anropar befintlig programlogik för validering av IBAN-koder.
Gör följande i dialogrutan som visas:
- I fältet Namn anger du Kontrollera‑koder.
- I fältet Klass anger eller väljer du ISO7064.
- Välj OK.
I fältet Typer av datakälla följer du dessa steg:
- Expandera datakällan för format.
- Visa format\Root: Sequence(Root).
- Visa format\Root: Sequence(Root)\Rows: Sequence 1..* (rader).
- Visa format\Root: Sequence(Root)\Rows: Sequence 1..* (rader)\Fields: Sequence 1..1 (fält).
I trädet Datamodell följer du dessa steg:
- Visa fältet Betalningar för datamodellen.
- Visa Betalningar\Fordringsägarkonto(CreditorAccount).
- Visa Betalningar\Fordringsägarkonto(CreditorAccount)\Identifiering.
- Visa Betalningar\Fordringsägarkonto(CreditorAccount)\Identifiering\IBAN.
Följ dessa steg när du vill binda komponenter för konfigurerat format till datamodellfält:
- Välj format\Root: Sequence(Root)\Rows: Sequence 1..* (rader).
- Välj Betalningar.
- Välj bind. Utifrån den här inställningen beaktas varje rad i parsingfilen som en enskild betalning.
- Välj format\Root: Sequence(Root)\Rows: Sequence 1..* (rader)\Fields: Sequence 1..1 (fält)\IBAN: sträng(IBAN).
- Välj Betalningar\Fordringsägarkonto(CreditorAccount)\Identifiering\IBAN.
- Välj bind. Baserat på den här inställningen fylls fältet IBAN i datamodellen i med värdet från parsingfilen.
På fliken Valideringar följer du dessa steg för att lägga till en regel för validering som visar ett felmeddelande för samtliga rader i parsingfilen som innehåller en ogiltig IBAN-kod:
- Välj Ny och sedan Redigera villkor.
- På sidan Formeldesigner i trädet Datakälla visar du den datakälla för Kontrollera_koder som representerar programklassen ISO7064 för att visa klassens tillgängliga metoder.
- Välj Kontrollera koder\verifyMOD1271‑36.
- Välj Lägg till datakälla.
- I fältet Formel anger du följande uttryck: Check_codes.verifyMOD1271_36(format.Root.Rows.Fields.IBAN).
- Markera Spara och stäng sedan sidan.
- Välj Redigera meddelande.
- På sidan Formeldesigner i fältet Formel ange CONCATENATE("Invalid IBAN code has been found: ", format.Root.Rows.Fields.IBAN).
- Markera Spara och stäng sedan sidan.
Baserat på dessa inställningar kommer valideringsvillkoret att returnera FALSE för alla ogiltiga IBAN-koder genom att anropa befintlig verifyMOD1271_36-metod för programklass ISO7064. Observera att värdet för IBAN-koden definieras dynamiskt vid körning som argument för anropsmetod, baserat på innehållet i TXT-parsingfilen.
Välj Spara.
Stäng sidan Modellmappningsdesigner och stäng sedan sidan Modell för mappning av datakälla.
Kör mappning av filformat
För testningsändamål kör du formatmappningen med hjälp av samm SampleIncomingMessage.txt-fil som du tidigare laddade ned. Genererade utdata kommer att inkludera data som importeras från den valda textfilen och överförs till anpassad datamodell när den verkliga importen sker.
Ppå sidan Modell för mappning av datakälla välkjer du Kör.
På sidan Parametrar för elektronisk rapport väljer du Bläddra, letar upp filen SampleIncomingMessage.txt som du tidigare laddade ned, och väljer denna.
Välj OK.
Notera att Modell för mappning av datakälla visar ett felmeddelande om en ogiltig IBAN-kod.
Granska utdata i XML-format, vilket representerar de data som har importerats från den valda filen och integrerats i datamodellen. Observera att endast tre rader i den importerade textfilen bearbetades utan fel. IBAN-koden på rad 4 är ogiltig och har hoppats över.