Przegląd wiersza postów dziennika ogólnego
Codeunit 12, Gen. Jnl.-Post Line, jest głównym obiektem aplikacji do księgowania księgi głównej i jest jedynym miejscem do wstawiania wpisów księgi głównej, podatku VAT oraz księgowości odbiorcy i dostawcy. Ta codeunit jest również używana do wszystkich operacji Apply, Unapply i Reverse.
W systemie Microsoft Dynamics NAV 2013 R2 codeunit został przeprojektowany, ponieważ stał się bardzo duży, z około 7 600 wierszami kodu. Architektura została zmieniona, a codeunit został prostszy i łatwiejszy w utrzymaniu. Ta dokumentacja opisuje zmiany i zawiera informacje, które będą potrzebne do uaktualnienia.
Stara architektura
Stara architektura miała następujące cechy:
- Szeroko wykorzystywał zmienne globalne, co zwiększało możliwość ukrytych błędów z powodu użycia zmiennych o niewłaściwym zakresie.
- Istniało wiele długich procedur (z ponad 100 liniami kodu), które miały również wysoką złożoność cyklomatyczną (to znaczy wiele instrukcji zagnieżdżonych CASE, REPEAT, IF), co sprawiło, że kod był bardzo trudny do odczytania i utrzymania.
- Kilka procedur, które były stosowane tylko lokalnie i miały być stosowane tylko lokalnie, nie zostało oznaczonych jako lokalne.
- Większość procedur nie miała parametrów i wykorzystywała zmienne globalne. Niektóre używały parametrów i zastąpiły zmienne globalne wartościami lokalnymi.
- Wzorce kodu do przeszukiwania kont księgi głównej i tworzenia zapisów księgi głównej i podatku VAT nie były ustandaryzowane i różniły się w zależności od miejsca. Ponadto wystąpiło wiele duplikacji kodu i złamanej symetrii między kodem odbiorcy i dostawcy.
- Duża część kodu w codeunit 12, około 30 procent, dotyczyła rabatu płatności i obliczeń tolerancji, chociaż te funkcje nie są potrzebne w wielu krajach lub regionach.
- Księgowanie, Stosowanie, Niestosowanie, Odwrócenie, Rabat i tolerancja płatności oraz Korekta kursu walutowego zostały połączone razem w codeunit 12 przy użyciu długiej listy zmiennych globalnych.
Nowa architektura
W Business Central codeunit 12 ma następujące ulepszenia:
- Codeunit 12 został przekształcony w mniejsze procedury (wszystkie mniej niż 100 linii kodu).
- Standaryzowane wzorce wyszukiwania kont księgi głównej zostały zaimplementowane przy użyciu funkcji pomocniczych z tabel grup księgowania.
- Zaimplementowano strukturę aparatu księgowania w celu zarządzania rozpoczęciem i zakończeniem transakcji oraz wyodrębnienia tworzenia do księgi głównej i zapisów VAT, pobierania korekty podatku VAT oraz obliczania dodatkowych kwot walutowych.
- Wyeliminowano duplikację kodu.
- Wiele funkcji pomocniczych zostało przeniesionych do odpowiednich tabel wprowadzania księgi odbiorców i dostawców.
- Użycie zmiennych globalnych zostało zminimalizowane, dzięki czemu każda procedura używa parametrów i hermetyzuje własną logikę aplikacji.
Zobacz też
Szczegóły projektu: Struktura interfejsuksięgowania
Szczegóły projektu: Struktura silnikaksięgowania
Szczegóły projektu: Wiersz wpisu dziennika ogólnego (Dynamics NAV)