Detaily návrhu: struktura zaúčtování sledování zboží
Pro sladění s funkcí kalkulace zásob a pro získání jednoduššího a robustnějšího řešení se jako primární nosič čísel pro sledování položek používají položky knihy položek.
Sledovací čísla položek u entit sítě objednávky a entit sítě bez objednávky jsou uvedena v tabulce Rezervační záznam (T337). Sledovací čísla položek související s historickými informacemi se získávají přímo z položek knihy položek, které se vztahují k dané transakci. To znamená, že položky knihy položek odrážejí specifikaci sledování položek řádku zaúčtované objednávky.
Stránka Řádky sledování položek načítá informace z T337 a položky knihy položek a zobrazuje je prostřednictvím dočasné tabulky, Specifikace sledování (T336). T336 také uchovává dočasná data na stránce Řádky sledování položek pro sledovací množství položek, která zbývají k fakturaci.
Vztah jeden k mnoha
Tabulka Vztah záznamu položky, která se používá k propojení zaúčtovaného řádku dokladu se souvisejícími položkami knihy položek, se skládá ze dvou hlavních částí:
- Ukazatel na zaúčtovaného řádku dokladu, pole Č. řádku objednávky.
- Číslo záznamu ukazující na záznam knihy položek, pole Č. záznamu položky.
Funkčnost stávajícího pole Č. záznamu, které vytváří vztah záznamu knihy položek se zaúčtovaným řádkem dokladu, zpracovává typický vztah jedna ku jedné, když na zaúčtovaném řádku dokladu neexistují žádná sledovací čísla položek. Pokud existují sledovací čísla položek, pak pole Č. záznamu je ponecháno prázdné a relaci jeden k mnoha zpracovává tabulka Vztah záznamu položky. Pokud zaúčtovaný řádek dokladu obsahuje sledovací čísla položek, ale vztahuje se pouze k jedné knize položek, pak pole Č. zadání zpracovává vztah a žádný záznam není vytvořen v tabulce Vztah záznamu položky.
Codeunit 80 (Sales-Post) a 90 (Purch-Post)
Pro rozdělení záznamů knihy položek během účtování je kód v codeunit 80 a codeunit 90 obklopen smyčkami, které procházejí globálními proměnnými dočasného záznamu. Tento kód volá codeunit 22 s řádkem deníku položek. Tyto proměnné se inicializují, když pro řádek dokladu existují sledovací čísla položek. Aby byl kód jednoduchý, vždy se používá tato smyčková struktura. Pokud pro řádek dokladu neexistují žádná sledovací čísla položek, vloží se jeden záznam a smyčka se spustí pouze jednou.
Zaúčtování deníku položek
Sledovací čísla položek jsou přenášena prostřednictvím záznamů rezervace, které se vztahují k záznamu knihy položek, a procházení sledovacích čísel položek probíhá v codeunit 22 (Item Jnl.-Post Line). Tento koncept funguje stejným způsobem, když je řádek deníku položek použit nepřímo k zaúčtování prodejní nebo nákupní objednávky, jako když je řádek deníku položek použit přímo. Když je deník položek použit přímo, pole ID zdrojového řádku ukazuje na samotný řádek deníku položek.
Codeunit 22 (Deník položek – řádek zaúčtování)
Codeunit 80 (Sales-Post) a 90 (Purch-Post) opakují volání codeunit 22 (Item Jnl.-Post Line) během zaúčtování faktur se sledovacími čísly položek a během fakturace existujících zásilek nebo příjmů.
Během zaúčtování množství sledovacích čísel položek codeunit 22 (Item Jnl.-Post Line) načte sledovací čísla položek ze záznamů v T337 (záznam rezervace), které se vztahují k zaúčtování. Tyto záznamy jsou umístěny přímo na řádku deníku položek.
Codeunit 22 (Item Jnl.-Post Line) prochází sledovací čísla položek a rozděluje zaúčtování do příslušných záznamů knihy položek, které obsahují sledovací čísla položek. Informace o tom, které položky knihy položek jsou vytvořeny, se vrátí do T337 (záznam rezervace) pomocí dočasného záznamu T336, který je volán procedurou v codeunit 22. Tato procedura se spustí, když codeunit 22 dokončí svůj běh, protože v tomto okamžiku objekt codeunit 22 obsahuje informace. Když je načten dočasný záznam T336, codeunit 80 (Sales-Post) a 90 (Purch-Post) vytvoří záznamy v tabulce Vztah záznamu položky pro propojení vytvořených záznamů knihy položek s vytvořeným řádkem odeslání nebo příjmu. Codeunit 80 (Sales-Post) a 90 (Purch-Post) pak převedou dočasné záznamy T336 (specifikace sledování) na skutečné záznamy T336 (specifikace sledování), které souvisejí s dotyčným řádkem. K tomuto převodu však dojde pouze v případě, že řádek zaúčtovaného dokladu není smazán, protože je zaúčtován pouze částečně.
Viz také
Detaily návrhu: Sledování zboží
Detaily návrhu: Návrh sledování položek
Zde najdete bezplatné e-learningové moduly pro Business Central