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

112 Zeilen
3,3 KiB
Markdown

# 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
```