Designdetaljer: Bokföringsstruktur för artikelspårning
För att anpassas till funktionen för lagervärdering och för att få en enklare och mer robust lösning används artikeltransaktioner som den primära bäraren av artikelspårningsnummer.
Artikelspårningsnummer i ordernätverksenheter och icke orderrelaterade nätverksenheter anges i fältet Reservationstransaktion tabell (T337). Artikelspårningsnummer som är kopplade till historisk information hämtas direkt från de artikeltransaktioner som hör till transaktionen i fråga. Det betyder att artikeltransaktioner återspeglar artikelspårningspecifikationen för den bokförda orderraden.
Sidan Artikelspårningsrader hämtar informationen från T337 och artikeltransaktionerna och visar den via den tillfälliga tabellen, Spårningsspecifikation (T336). T336 innehåller också de temporära data på sidan Artikelspårningsrader för artikelspårning av antal som återstår att faktureras.
En-till-många-relation
Tabellen Artikeltrans. relation som används för att koppla en bokförd dokumentrad med dess relaterade artikeltransaktioner, består av två delar:
- En pekare till den bokförda dokumentraden, fältet Orderradnr.
- Ett löpnummer som pekar på en artikeltransaktion, fältet Artikellöpnr.
Funktionen för det befintliga fältet Löpnr, som gäller en artikeltransaktion till en bokförd dokumentrad, hanterar den typiska ett-till- ett-relationen när inget artikelspårningsnummer finns på den bokförda dokumentraden. Om artikelspårningsnummer finns är fältet Löpnr tom och en-till-flera-relationen hanteras av tabellen Artikeltrans. relation. Om den bokförda dokumentraden har artikelspårningsnummer men endast är knuten till en enda artikeltransaktion, hanterar fältet Löpnr relationen och ingen transaktion skapas i tabellen Artikeltrans. relation.
Codeuniterna 80 (Försäljningspost) och 90 (Inköpspost)
Om du vill dela artikeltransaktionerna vid bokföring omringas koden i codeunit 80 och codeunit 90 med loopar som körs via globala, tillfälliga postvariabler. Koden anropar codeunit 22 med en artikeljournalrad. Dessa variabler aktiveras när artikelspårningsnummer finns för dokumentraden. För att hålla koden enkel används alltid den här loopstrukturen. Om inga artikelspårningsnummer finns för dokumentraden infogas en enda post, och loopen körs bara en gång.
Bokför artikeljournalen
Artikelspårningsnummer överförs via de reservationstransaktioner som är relaterade till artikeltransaktionen, och loopen genom artikelspårningsnumren sker i codeunit 22 (Artikeljournal – bokför rad). Detta fungerar på samma sätt när en artikeljournalrad indirekt för att bokföra en försäljning eller inköp som när du använder en artikeljournalrad direkt. När artikeljournalen används direkt pekar fältet Källrad-ID på själva artikeljournalraden.
Codeunit 22 (Artikeljournal-bokf.rad)
Codeunit 80 (Försäljningspost) och 90 (Inköpspost) loopar anropet för codeunit 22 (Artikeljournal – bokför rad) under fakturabokföringen av artikelspårningsnummer samt vid faktureringen av befintliga leveranser eller kvitton.
Under antalsbokföring av artikelspårningsnummer hämtar codeunit 22 (Artikeljournal – bokför rad) från artikelspårningsnumren i transaktionerna i T337 (reservationstransaktion) som avser bokföringen. Dessa transaktioner placeras direkt på artikeljournalraden.
Codeunit 22 (Artikeljournal – bokför rad) går i en loop via artikelspårningsnumren och delar upp bokföringen i de artikeltransaktioner som har artikelspårningsnumren. Information om vilka artikeltransaktioner som skapas returneras tillbaka till T337 (reservationstransaktion) med hjälp av en temporär T336-post som anropas av en procedur i codeunit 22. Den här proceduren utfärdas när kodmodul 22 är klar att köras eftersom samtidigt, kodmodul 22-objekt innehåller information. När den tillfälliga T336-posten hämtas skapar codeunitsna 80 (försäljningspost) och 90 (inköpspost) poster i tabellen Artikeltrans. relation i syfte att koppla de skapade artikeltransaktionerna till den skapade utleverans- eller inleveransraden. Codeunit 80 (försäljningspost) eller 90 (inköpspost) omvandlar sedan de temporära T336-posterna (spårningsspecifikation) till verkliga T336-poster (spårningsspecifkation) som är kopplade till raden i fråga. Denna konvertering inträffar bara om den bokförda dokumentraden inte tas bort, eftersom det endast har bokförts delvis.
Se även
Designdetaljer: Artikelkoppling
Designdetaljer: Design för artikelspårning
Sök efter gratis e-inlärningsmoduler för Business Central här