edu-senex/edu/content/cheatsheets/solution2-cheatsheet.md

3,3 KiB

Solution2 ERP Cheat Sheet

Klassen-Praefixe - Was ist was?

w = Window (UI-Formular)        wOrders, wLogin, wCustomerInvoicesWithList
o = Object (Business-Logik)     oOrders, oLogin, oCreateInvoice
T_ = Table (Daten-Cursor)       T_Orders, T_Parts, T_Super
sc = Schema (Datenstruktur)     scOrderItems, scStaffWorkTimeLog
Q = Query                       QMOResourcesProcessingQuantity
r = Report (Druckbericht)       rInvoice, rDeliveryNote, rCompanyList
js = JS Remote Form (Web)       jsMainForm, jsSubForm, jsMainMenu
b = Base-Objekt (Submodul)      bobjs

Superklassen-Hierarchie

wMainWindow -----> Haupt-Dateneingabe-Fenster
wBaseWindow -----> Modale/Hilfs-Fenster
wSubWindow  -----> Eingebettete Sub-Panels
oSuperData  -----> Basis fuer Business-Logik-Objekte
T_Super     -----> Basis fuer alle Table-Klassen
T_SuperVersion --> Versionierte Table-Klasse

Die 22 Libraries

Library Bereich
solution2 Kern: Login, Navigation, Enterprise, Mitarbeiter, Kalender
solution2Services Hintergrund-Services, Push, Callbacks
BasicTools HTML, Import, Edit-Utilities
DBAccess Datenbank-Zugriff, Berechtigungen
Sales Auftraege, Lieferscheine, Rechnungen
Purchase Einkauf, Lieferanten, E-Rechnungen
Customer Kundenstamm, Berichte, Aktivitaeten
Manufacturing Fertigungsauftraege, Stuecklisten, Kalkulation
QualityInspection Qualitaetsprotokolle, Labor
AdminAccounting Buchhaltung, Export, ZUGFeRD
PPS Produktionsplanung (MRP)
StaffWorkTime Arbeitszeit, Urlaub
MobileWork Mobile/Web-Client (Remote Forms)
_Analysis_SIM Analyse/Simulation

Datenbank-Pattern

DB: masterdemo    Schema: soluser    Engine: PostgreSQL

JEDE Tabelle hat:
- created (TIMESTAMP)     Erstellungszeitpunkt
- modtime (TIMESTAMP)     Letzte Aenderung
- revisor (INTEGER)       Wer hat geaendert (Employee-ID)
- valid (BOOLEAN)         Soft-Delete Flag

VIELE Tabellen haben Dual-Signature:
- firstsigned (BOOLEAN)
- needsecondsignature (BOOLEAN)
- secondrevisor (INTEGER)
- secondsigned (BOOLEAN)

Die wichtigsten Tabellen

STAMMDATEN:
  contact              Kontakte/Ansprechpartner
  warehouse            Lager
  dunninglevels        Mahnstufen

VERKAUF:
  orders               Auftraege (103 Spalten!)
  orderitems           Auftragspositionen
  deliverynoteitems    Lieferscheinpositionen
  customerinvoices     Ausgangsrechnungen (90 Spalten)
  customerinvoiceitems Rechnungspositionen

EINKAUF:
  purchaseorder        Bestellungen (72 Spalten)
  supplierinvoices     Eingangsrechnungen
  stockreceipt         Wareneingaenge
  stockreceiptitems    Wareneingangs-Positionen

LAGER:
  stockrotationlog     Lagerbewegungen
  inventoryquantities  Bestandsmengen
  inventoryvalues      Bestandswerte

FERTIGUNG:
  qualityprotocolpending  Qualitaetspruefungen

Typischer Geschaeftsprozess-Flow

Auftrag (orders)
    |
    v
Lieferschein (deliverynoteitems)
    |
    v
Rechnung-Freigabe (customerinvoicerequirement)
    |
    v
Rechnung (customerinvoices)
    |
    v
Buchhaltung-Export (transfertoadminaccounting)

RBAC-System

Berechtigungen = Form-Path-basiert
  -> Berechtigungsgruppen werden Form-Pfaden zugewiesen
  -> Nicht pro Screen, sondern pro Modul/Navigation
  -> T_ModuleAccess2Methods steuert Methoden-Zugriff