Szczegóły projektu: Struktura silnika księgowania
Interfejs księgowania i niektóre inne funkcje w codeunit 12 używają funkcji silnika księgowania do przygotowywania i wstawiania zapisów księgi głównej i zapisów VAT. Aparat księgowania jest również odpowiedzialny za tworzenie rejestru księgi głównej.
Funkcje w poniższej tabeli zapewniają standardową strukturę projektowania procedur księgowania (takich jak Code, CustPostApplyCustledgEntry, VendPostApplyVendLedgEntry, UnapplyCustLedgEntry, UnapplyVendLedgEntry i Reverse) oraz wyłączny dostęp do tabeli 17, G/L Entry.
| Rutyna | Opis |
|---|---|
| StartPostowanie | Inicjuje bufor księgowania TempGLEntryBuf, blokuje tabele wpisu G/L i VAT Entry oraz inicjuje Okres rozliczeniowy, Rejestr G/L i Kurs wymiany. Powinien być wywołany tylko raz, wtedy NextEntryNo wynosi 0. |
| KontynuujPostowanie | Sprawdza i księguje niezrealizowany podatek VAT dla poprzedniego przyrostu transakcji NextTransactionNo i przygotowuje księgowanie następnego wiersza. |
| FinishPosting | Uzupełnia księgowanie, wstawiając wpisy G/L z bufora tymczasowego do tabeli bazy danych. Zawsze używany razem z StartPosting. Sprawdza niespójności. |
| InitGLEntry | Służy do inicjowania nowego wpisu G/L dla Gen. Linia Jnl. Zwraca wartość GLEntry jako parametr. |
| InitGLEntryVAT | Tak samo jak InitGLEntry, ale także przypisuje Bal. Nr konta i SummarizeVAT. |
| InitGLEntryVATCopy | Podobny do InitGLEntryVAT, ale także kopiuje dane grup księgowania z wpisu VAT przed SummarizeVAT. |
| InsertGLEntry | Jedyna funkcja, która wstawia wpis G/L do globalnej tabeli TempGLEntryBuf. Zawsze używaj tej funkcji do wstawiania. |
| CreateGLEntry | Wykonuje InitGLEntry, przypisuje dodatkową kwotę waluty, a następnie wykonuje InsertGLEntry. Zastępuje kilka wierszy kodu pojedynczym wywołaniem funkcji. |
| CreateGLEntryBalAcc | Tak samo jak CreateGLEntry, ale także przypisuje Bal. Typ konta i Bal. Nr konta |
| CreateGLEntryVAT | Taki sam jak CreateGLEntry, ale z dodatkowym przetwarzaniem dla grup księgowania i zapisywania w tymczasowym buforze VAT:GLEntry.CopyPostingGroupsFromDtldCVBuf(DtldCVLedgEntryBuf,GenJnlLine."Gen. Posting Type");InsertVATEntriesFromTemp(DtldCVLedgEntryBuf,GLEntry); |
| CreateGLEntryVATCollectAdj | Taki sam jak CreateGLEntry, ale z dodatkowym zbieraniem korekt i zapisywaniem do tymczasowego bufora VAT:CollectAdjustment(AdjAmount,GLEntry.Amount,GLEntry."Additional-Currency Amount",OriginalDateSet);InsertVATEntriesFromTemp(DtldCVLedgEntryBuf,GLEntry); |
| CreateGLEntryFromVATEntry | Tak samo jak CreateGLEntry, ale także kopiuje grupy księgowe z wpisu VAT. |