# Flashcard Deck: Solution2 Architektur & Konventionen **Thema**: Solution2 ERP-System kennenlernen **Karten**: 20 --- ## Karte 1 | Basis **Q:** Was ist Solution2? **A:** Ein vollstaendiges deutsches ERP-System (Enterprise Resource Planning) gebaut auf Omnis Studio. Abdeckung: Verkauf, Einkauf, Fertigung, Lager, Qualitaet, Buchhaltung, HR, Mobile. --- ## Karte 2 | Basis **Q:** Welche Datenbank nutzt Solution2? **A:** PostgreSQL. Datenbank `masterdemo`, Schema `soluser`. Verbindung ueber den PostgreSQL-DAM (`PGSQLDAM`). --- ## Karte 3 | Basis **Q:** Was bedeutet das Praefix `w` bei einer Solution2-Klasse? **A:** Window-Klasse = UI-Formular. z.B. `wOrders` = das Auftragsformular, `wLogin` = der Login-Dialog. --- ## Karte 4 | Basis **Q:** Was bedeutet das Praefix `o`? **A:** Object-Klasse = Business-Logik. z.B. `oCreateInvoice` = Logik fuer Rechnungserstellung, `oLogin` = Login-Validierung. --- ## Karte 5 | Basis **Q:** Was bedeutet `T_` als Praefix? **A:** Table-Klasse = Daten-Cursor/Datenliste. z.B. `T_Orders` = Auftragsliste, `T_Super` = Basis-Table-Klasse fuer alle. --- ## Karte 6 | Basis **Q:** Welche 4 Audit-Spalten hat JEDE Solution2-Tabelle? **A:** `created` (TIMESTAMP), `modtime` (TIMESTAMP), `revisor` (INTEGER = Employee-ID), `valid` (BOOLEAN = Soft-Delete). Immer pruefen und setzen! --- ## Karte 7 | Mittel **Q:** Was ist das Dual-Signature-Pattern? **A:** Viele Geschaeftsdokumente benoetigen Vier-Augen-Prinzip: `firstsigned` (1. Unterschrift), `needsecondsignature` (braucht 2.?), `secondrevisor` (wer prueft), `secondsigned` (2. Unterschrift erteilt). --- ## Karte 8 | Mittel **Q:** Was ist `oSuperData`? **A:** Die Basis-Superklasse fuer fast alle Business-Logik-Objekte (`o`-Klassen). Enthaelt gemeinsame Methoden fuer Datenzugriff, Validierung, Navigation. --- ## Karte 9 | Mittel **Q:** Wie funktioniert das RBAC (Berechtigungssystem) in Solution2? **A:** Form-Path-basiert! Berechtigungsgruppen werden Navigation-Pfaden zugewiesen. `T_ModuleAccess2Methods` steuert den Zugriff auf Modul-Methoden. Nicht per Screen, sondern per Modul. --- ## Karte 10 | Mittel **Q:** Welche Library enthaelt den Login und die Navigation? **A:** `solution2` (die Haupt-Library). Klassen: `wLogin`, `oLogin`, `oLogon`, `oNavigate`, `wEnterprise`. --- ## Karte 11 | Mittel **Q:** Was macht die `solution2Services`-Library? **A:** Hintergrund-/Service-Layer: Push-Notifications, Warehouse-Success-Handler, Order-Callbacks, Container-Management, Zugriffskontrolle. --- ## Karte 12 | Mittel **Q:** Wie heisst der Auftrags-zu-Rechnung-Prozess? **A:** Orders -> Lieferschein (deliverynoteitems) -> Rechnungsfreigabe (customerinvoicerequirement mit invoicingallowed=true) -> Rechnung (customerinvoices) -> Buchhaltungsexport. --- ## Karte 13 | Fortgeschritten **Q:** Was ist die `MobileWork`-Library? **A:** Der Web/Mobile-Client von Solution2, gebaut mit Omnis JS Remote Forms. Klassen: `jsMainForm`, `jsMainFrame`, `jsMainMenu`. Laeuft im Browser. --- ## Karte 14 | Fortgeschritten **Q:** Was sind die wichtigsten Tabellen im Verkauf? **A:** `orders` (Auftraege, 103 Spalten!), `orderitems` (Positionen), `deliverynoteitems` (Lieferschein), `customerinvoices` (Rechnungen, 90 Spalten), `customerinvoiceitems` (Rechnungspositionen). --- ## Karte 15 | Fortgeschritten **Q:** Was ist ZUGFeRD/Factur-X in Solution2? **A:** E-Rechnungsformate. Solution2 erzeugt und verarbeitet elektronische Rechnungen ueber `oOmnis2Zugferd` und `oXML_eInvoice` in der AdminAccounting-Library. Pflicht in EU seit 2025! --- ## Karte 16 | Fortgeschritten **Q:** Was ist die `BasicTools`-Library? **A:** Shared Utilities: HTML-Generierung (`cHTML`), Datei-Import (`oImportFile`), Edit-Utilities (`oEdit`), Fehleranzeige. --- ## Karte 17 | Mittel **Q:** In welcher Library ist der Einkauf? **A:** `Purchase` - Bestellungen, Lieferanten, Wareneingaenge, E-Rechnungen. Klassen: `wSupplierInvoices`, `wPurchaseOrderStockReceipt`, `T_SupplierInvoices`. --- ## Karte 18 | Mittel **Q:** Wie heissen die Klassen fuer die Fertigung? **A:** In der `Manufacturing`-Library: `oPartList` (Stueckliste), `rCalculateProductCosts` (Kalkulation), `scResourceSpecification` (Ressourcen). --- ## Karte 19 | Fortgeschritten **Q:** Was ist `T_SuperVersion`? **A:** Erweiterte Basis-Table-Klasse mit Versionierung. Fuer Tabellen die eine Aenderungshistorie benoetigen. --- ## Karte 20 | Fortgeschritten **Q:** Wie werden Custom Fields (Zusatzfelder) in Solution2 umgesetzt? **A:** Ueber die Tabellen `additionalfields` (Felddefinition: Typ, Zuordnung, Druck-Flags) und `additionalfieldsgroups` (Gruppierung). Koennen an verschiedene Entitaeten gehaengt werden (Auftraege, Teile, Fertigungsschritte...). --- ## Spaced Repetition Tracking | Karte | Zuletzt | Naechste | Schwierigkeit | |-------|---------|----------|---------------| | (wird beim Ueben gefuellt) | | | |