Ergebnisse 1-3 + Typs Debug
This commit is contained in:
667
Ergebnisse/Ergebnisse 03/BUSINESS_GLOSSAR_MIT_DB_MAPPING.md
Normal file
667
Ergebnisse/Ergebnisse 03/BUSINESS_GLOSSAR_MIT_DB_MAPPING.md
Normal file
@@ -0,0 +1,667 @@
|
||||
# c-entron.NET - Business Glossar mit Datenbank-Mapping
|
||||
|
||||
> **Verfasst**: 2025-12-02
|
||||
> **Grundlage**: Code-Analyse, Datenbank-Schema, NHibernate-Mappings
|
||||
> **Format**: [Tabelle.Spalte] für alle Datenbank-Referenzen
|
||||
|
||||
---
|
||||
|
||||
## 📋 Inhaltsverzeichnis
|
||||
|
||||
1. [STAMMDATEN DOMÄNE](#stammdaten-domäne)
|
||||
2. [VERKAUF DOMÄNE](#verkauf-domäne)
|
||||
3. [EINKAUF DOMÄNE](#einkauf-domäne)
|
||||
4. [LAGER & BESTAND DOMÄNE](#lager--bestand-domäne)
|
||||
5. [VERTRAG & SERVICE DOMÄNE](#vertrag--service-domäne)
|
||||
6. [HELPDESK & SUPPORT DOMÄNE](#helpdesk--support-domäne)
|
||||
7. [HR & PERSONAL DOMÄNE](#hr--personal-domäne)
|
||||
8. [FINANZEN & ACCOUNTING DOMÄNE](#finanzen--accounting-domäne)
|
||||
|
||||
---
|
||||
|
||||
# STAMMDATEN DOMÄNE
|
||||
|
||||
## Konto (Account)
|
||||
|
||||
**Begriff**: Konto / Geschäftspartner-Stammkonto
|
||||
**Englisch**: Account
|
||||
**Datenbank-Tabelle**: `Accounts`
|
||||
**Primärschlüssel**: `Accounts.I3D`
|
||||
|
||||
**Felder mit DB-Mapping**:
|
||||
- `I3D` → `[Accounts.I3D]` - Eindeutige Kontokennung
|
||||
- `Number` → `[Accounts.Number]` - Kontonummer (Vergabe durch System)
|
||||
- `Name` → `[Accounts.Name]` - Name des Geschäftspartners
|
||||
- `Matchcode` → `[Accounts.Matchcode]` - Suchfeld für schnelle Findung
|
||||
- `Email` → `[Accounts.Email]` - E-Mail-Adresse
|
||||
- `Phone` → `[Accounts.Phone]` - Telefonnummer
|
||||
- `Fax` → `[Accounts.Fax]` - Faxnummer
|
||||
- `WebSite` → `[Accounts.WebSite]` - Website-URL
|
||||
- `TaxNumber` → `[Accounts.TaxNumber]` - Steuernummer (Deutschland)
|
||||
- `RevenueIdentificationNumber` → `[Accounts.RevenueIdentificationNumber]` - Umsatzsteuer-ID
|
||||
- `IsActive` → `[Accounts.IsActive]` - Aktiv/Inaktiv Status
|
||||
- `IsLocked` → `[Accounts.IsLocked]` - Sperrstatus
|
||||
- `AdvertisingNotAllowed` → `[Accounts.AdvertisingNotAllowed]` - Werbe-Opt-out
|
||||
- `FaxDistributor` → `[Accounts.FaxDistributor]` - In Fax-Verteiler
|
||||
- `MailDistributor` → `[Accounts.MailDistributor]` - In Mail-Verteiler
|
||||
- `Comment` → `[Accounts.Comment]` - Interne Notizen
|
||||
- `MandatorI3D` → `[Accounts.MandatorI3D]` - Zugehöriger Mandant (FK)
|
||||
- `SalesAreaI3D` → `[Accounts.SalesAreaI3D]` - Vertriebsbereich (FK)
|
||||
- `CompanyGroupI3D` → `[Accounts.CompanyGroupI3D]` - Konzern-Zugehörigkeit (FK)
|
||||
- `Adviser1I3D` → `[Accounts.Adviser1I3D]` - Betreuer 1 (FK → Personal)
|
||||
- `Adviser2I3D` → `[Accounts.Adviser2I3D]` - Betreuer 2 (FK → Personal)
|
||||
- `Adviser3I3D` → `[Accounts.Adviser3I3D]` - Betreuer 3 (FK → Personal)
|
||||
- `Adviser4I3D` → `[Accounts.Adviser4I3D]` - Betreuer 4 (FK → Personal)
|
||||
- `Adviser5I3D` → `[Accounts.Adviser5I3D]` - Betreuer 5 (FK → Personal)
|
||||
- `Adviser6I3D` → `[Accounts.Adviser6I3D]` - Betreuer 6 (FK → Personal)
|
||||
- `CreatedByI3D` → `[Accounts.CreatedByI3D]` - Ersteller (FK → Personal)
|
||||
- `CreatedDate` → `[Accounts.CreatedDate]` - Erstellungsdatum
|
||||
- `ChangedByI3D` → `[Accounts.ChangedByI3D]` - Letzte Änderung durch (FK → Personal)
|
||||
- `ChangedDate` → `[Accounts.ChangedDate]` - Letzte Änderung am
|
||||
- `CreatedVersion` → `[Accounts.CreatedVersion]` - Version bei Erstellung
|
||||
- `ChangedVersion` → `[Accounts.ChangedVersion]` - Letzte Änderungsversion
|
||||
|
||||
**Collections (1:n Beziehungen)**:
|
||||
- `Addresses` → `[AccountAddresses]` (AccountI3D = Accounts.I3D)
|
||||
- `AccountTypes` → `[AccountTypeToAccounts]` Junction-Tabelle
|
||||
|
||||
---
|
||||
|
||||
## Kunde (Customer / Account Customer)
|
||||
|
||||
**Begriff**: Kunde / Verkaufs-Kundenkonto
|
||||
**Englisch**: Customer
|
||||
**Datenbank-Tabelle**: `AccountCustomers`
|
||||
**Primärschlüssel**: `AccountCustomers.I3D`
|
||||
|
||||
**Beziehung**: Erweiterung von `Accounts` mit Verkaufs-spezifischen Feldern
|
||||
|
||||
**Neue/Spezifische Felder mit DB-Mapping**:
|
||||
- `I3D` → `[AccountCustomers.I3D]` - Eindeutige Kunden-ID (=Account.I3D)
|
||||
- `Number` → `[AccountCustomers.Number]` - Kundennummer
|
||||
- `Limit` → `[AccountCustomers.Limit]` - Kreditlimit
|
||||
- `Discount` → `[AccountCustomers.Discount]` - Standard-Kundenrabatt (%)
|
||||
- `PriceList` → `[AccountCustomers.PriceList]` - Preislisten-Zuordnung
|
||||
- `DeliveryOption` → `[AccountCustomers.DeliveryOption]` - Standard-Versandart
|
||||
- `AlternativeInvoiceAccountI3D` → `[AccountCustomers.AlternativeInvoiceAccountI3D]` - Abweichender Rechnungskunde (FK → Account)
|
||||
- `AlternativeInvoiceAddressI3D` → `[AccountCustomers.AlternativeInvoiceAddressI3D]` - Abweichende Rechnungsadresse (FK → AccountAddresses)
|
||||
- `AlternativeDeliveryAccountI3D` → `[AccountCustomers.AlternativeDeliveryAccountI3D]` - Abweichender Lieferkunde (FK → Account)
|
||||
- `AlternativeDeliveryAddressI3D` → `[AccountCustomers.AlternativeDeliveryAddressI3D]` - Abweichende Lieferadresse (FK → AccountAddresses)
|
||||
- `ReceiptConditionOfferI3D` → `[AccountCustomers.ReceiptConditionOfferI3D]` - Zahlungsbedingung Angebote (FK → Zahkond)
|
||||
- `ReceiptConditionOrderI3D` → `[AccountCustomers.ReceiptConditionOrderI3D]` - Zahlungsbedingung Bestellungen (FK → Zahkond)
|
||||
- `ReceiptConditionInvoiceI3D` → `[AccountCustomers.ReceiptConditionInvoiceI3D]` - Zahlungsbedingung Rechnungen (FK → Zahkond)
|
||||
- `DunningLetterRecipientPersonI3D` → `[AccountCustomers.DunningLetterRecipientPersonI3D]` - Mahnungs-Empfänger (FK → AccountAddressContacts)
|
||||
- `DunningLetterAfterDays1` → `[AccountCustomers.DunningLetterAfterDays1]` - Tage bis 1. Mahnung
|
||||
- `DunningLetterAfterDays2` → `[AccountCustomers.DunningLetterAfterDays2]` - Tage bis 2. Mahnung
|
||||
- `DunningLetterAfterDays3` → `[AccountCustomers.DunningLetterAfterDays3]` - Tage bis 3. Mahnung
|
||||
- `LimitCalculationKind` → `[AccountCustomers.LimitCalculationKind]` - Art der Limitberechnung
|
||||
- `WarehouseI3D` → `[AccountCustomers.WarehouseI3D]` - Standard-Lager (FK → Warehouses)
|
||||
- `IsPurchaseOrderNumberRequired` → `[AccountCustomers.IsPurchaseOrderNumberRequired]` - Bestellnummer erforderlich (Flag)
|
||||
- `IsProjectNumberRequired` → `[AccountCustomers.IsProjectNumberRequired]` - Projektnummer erforderlich (Flag)
|
||||
- `IsProductionConfigurationMandatory` → `[AccountCustomers.IsProductionConfigurationMandatory]` - Fertigungskonfiguration erforderlich (Flag)
|
||||
- `CommentOffer` → `[AccountCustomers.CommentOffer]` - Standard-Text Angebote
|
||||
- `CommentOrder` → `[AccountCustomers.CommentOrder]` - Standard-Text Bestellungen
|
||||
- `CommentInvoice` → `[AccountCustomers.CommentInvoice]` - Standard-Text Rechnungen
|
||||
- `CommentDeliveryList` → `[AccountCustomers.CommentDeliveryList]` - Standard-Text Lieferscheine
|
||||
- `MailNotificationAtHelpdeskBCC` → `[AccountCustomers.MailNotificationAtHelpdeskBCC]` - BCC-Adressen bei Ticket-Mails
|
||||
- `BookKeepingNumber` → `[AccountCustomers.BookKeepingNumber]` - Debitorennummer in Fibu
|
||||
|
||||
---
|
||||
|
||||
## Adresse (Address)
|
||||
|
||||
**Begriff**: Adresse / Geschäftspartner-Adresse
|
||||
**Englisch**: Address
|
||||
**Datenbank-Tabelle**: `AccountAddresses`
|
||||
**Primärschlüssel**: `AccountAddresses.I3D`
|
||||
|
||||
**Felder mit DB-Mapping**:
|
||||
- `I3D` → `[AccountAddresses.I3D]` - Eindeutige Adresskennung
|
||||
- `AccountI3D` → `[AccountAddresses.AccountI3D]` - Gehörendes Konto (FK → Accounts)
|
||||
- `Status` → `[AccountAddresses.Status]` - Status (aktiv/archiviert)
|
||||
- `Street` → `[AccountAddresses.Street]` - Straße
|
||||
- `PostalCode` → `[AccountAddresses.PostalCode]` - Postleitzahl
|
||||
- `City` → `[AccountAddresses.City]` - Stadt/Ort
|
||||
- `CountryI3D` → `[AccountAddresses.CountryI3D]` - Land (FK)
|
||||
- `Phone1` → `[AccountAddresses.Phone1]` - Telefon 1
|
||||
- `Phone2` → `[AccountAddresses.Phone2]` - Telefon 2
|
||||
- `Fax1` → `[AccountAddresses.Fax1]` - Fax
|
||||
- `Email1` → `[AccountAddresses.Email1]` - E-Mail
|
||||
- `Web` → `[AccountAddresses.Web]` - Website
|
||||
- `Receiver` → `[AccountAddresses.Receiver]` - Empfängername (abweichend vom Konto)
|
||||
- `AddressKindI3D` → `[AccountAddresses.AddressKindI3D]` - Adresstyp (Rechnungs-, Lieferadresse, etc.)
|
||||
- `IsDefault` → `[AccountAddresses.IsDefault]` - Standard-Adresse
|
||||
- `CreatedDate` → `[AccountAddresses.CreatedDate]` - Erstellungsdatum
|
||||
- `ChangedDate` → `[AccountAddresses.ChangedDate]` - Änderungsdatum
|
||||
|
||||
**Collections**:
|
||||
- `Contacts` → `[AccountAddressContacts]` (AccountAddressI3D = AccountAddresses.I3D)
|
||||
|
||||
---
|
||||
|
||||
## Ansprechperson (Contact Person)
|
||||
|
||||
**Begriff**: Ansprechperson / Kontaktperson
|
||||
**Englisch**: Contact Person
|
||||
**Datenbank-Tabelle**: `AccountAddressContacts`
|
||||
**Primärschlüssel**: `AccountAddressContacts.I3D`
|
||||
|
||||
**Felder mit DB-Mapping**:
|
||||
- `I3D` → `[AccountAddressContacts.I3D]` - Eindeutige Personenkennung
|
||||
- `AccountAddressI3D` → `[AccountAddressContacts.AccountAddressI3D]` - Adresse (FK → AccountAddresses)
|
||||
- `Firstname` → `[AccountAddressContacts.Firstname]` - Vorname
|
||||
- `Lastname` → `[AccountAddressContacts.Lastname]` - Nachname
|
||||
- `Phone1` → `[AccountAddressContacts.Phone1]` - Telefon 1
|
||||
- `Phone2` → `[AccountAddressContacts.Phone2]` - Telefon 2
|
||||
- `Fax1` → `[AccountAddressContacts.Fax1]` - Fax
|
||||
- `Email1` → `[AccountAddressContacts.Email1]` - E-Mail 1
|
||||
- `Email2` → `[AccountAddressContacts.Email2]` - E-Mail 2
|
||||
- `Job` → `[AccountAddressContacts.Job]` - Funktion/Abteilung
|
||||
- `Birthday` → `[AccountAddressContacts.Birthday]` - Geburtsdatum
|
||||
- `SalutationI3D` → `[AccountAddressContacts.SalutationI3D]` - Anrede (FK)
|
||||
- `IsActive` → `[AccountAddressContacts.IsActive]` - Aktiv/Inaktiv
|
||||
- `IsDefault` → `[AccountAddressContacts.IsDefault]` - Standard-Kontakt
|
||||
- `DefaultTicket` → `[AccountAddressContacts.DefaultTicket]` - Standard bei Helpdesk-Tickets
|
||||
- `IsInvoiceMailCCReceiver` → `[AccountAddressContacts.IsInvoiceMailCCReceiver]` - CC bei Rechnungsmails
|
||||
- `CreatedDate` → `[AccountAddressContacts.CreatedDate]` - Erstellungsdatum
|
||||
- `ChangedDate` → `[AccountAddressContacts.ChangedDate]` - Änderungsdatum
|
||||
|
||||
---
|
||||
|
||||
# VERKAUF DOMÄNE
|
||||
|
||||
## Bestellung / Auftrag (Order)
|
||||
|
||||
**Begriff**: Bestellung / Kundenauftrag
|
||||
**Englisch**: Order
|
||||
**Datenbank-Tabelle**: `AufKopf` (Auftragskopf - Legacy German naming)
|
||||
**Primärschlüssel**: `AufKopf.I3D`
|
||||
|
||||
**Hauptfelder mit DB-Mapping**:
|
||||
- `I3D` → `[AufKopf.I3D]` - Eindeutige Auftrags-ID
|
||||
- `Number` → `[AufKopf.Nummer]` - Bestellnummer (z.B. "2025-00042")
|
||||
- `Status` → `[AufKopf.Status]` - Bearbeitungsstatus
|
||||
- `Date` → `[AufKopf.Datum]` - Bestelldatum
|
||||
- `Version` → `[AufKopf.Version]` - Versionsnummer
|
||||
- `CreatorI3D` → `[AufKopf.ErstellerI3D]` - Ersteller (FK → Personal)
|
||||
- `CreationDate` → `[AufKopf.ErstelltDatum]` - Erstellungsdatum
|
||||
- `EditorI3D` → `[AufKopf.BearbeiterI3D]` - Bearbeiter (FK → Personal)
|
||||
- `ChangedFromI3D` → `[AufKopf.GeaendertVonI3D]` - Geändert von (FK → Personal)
|
||||
- `ChangedDate` → `[AufKopf.GeaendertDatum]` - Änderungsdatum
|
||||
|
||||
**Kunden-Daten mit DB-Mapping**:
|
||||
- `CustomerI3D` → `[AufKopf.KundenID]` - Kunde (FK → Accounts)
|
||||
- `Receiver` → `[AufKopf.Empfanger]` - Adressat/Empfängername
|
||||
- `AddressI3D` → `[AufKopf.AnschriftID]` - Rechnungsadresse (FK → AccountAddresses)
|
||||
- `ContactI3D` → `[AufKopf.PersonID]` - Kontaktperson (FK → AccountAddressContacts)
|
||||
- `Street` → `[AufKopf.Strasse]` - Straße
|
||||
- `Zip` → `[AufKopf.Plz]` - Postleitzahl
|
||||
- `City` → `[AufKopf.Ort]` - Stadt
|
||||
- `Phone` → `[AufKopf.Tel]` - Telefon
|
||||
- `Fax` → `[AufKopf.Fax]` - Fax
|
||||
- `Email` → `[AufKopf.Mail]` - E-Mail
|
||||
- `CountryI3D` → `[AufKopf.LandI3D]` - Land (FK)
|
||||
|
||||
**Abweichende Lieferdaten mit DB-Mapping**:
|
||||
- `DeliveryCustomerI3D` → `[AufKopf.LiefKundI3D]` - Abweichender Lieferkunde (FK → Accounts)
|
||||
- `DeliveryCustomerExt` → `[AufKopf.LiefKundFremd]` - Lieferkunde ist extern
|
||||
- `DirectDelivery` → `[AufKopf.Direktlieferung]` - Direktlieferung vom Lieferanten
|
||||
|
||||
**Finanzen & Preisierung mit DB-Mapping**:
|
||||
- `DBNetPrice` → `[AufKopf.Netto]` - Netto-Summe (ohne MwSt)
|
||||
- `DBGrossPrice` → `[AufKopf.Brutto]` - Brutto-Summe (mit MwSt)
|
||||
- `DBPurchasePrice` → `[AufKopf.SummeEK]` - Einstandspreis-Summe
|
||||
- `Discount` → `[AufKopf.Rabatt]` - Rabatt (%)
|
||||
- `CurrencyI3D` → `[AufKopf.CurrencyI3D]` - Währung (FK)
|
||||
- `CurrencyString` → `[AufKopf.CurrencyString]` - Währungscode (z.B. "EUR")
|
||||
- `CurrencyFactor` → `[AufKopf.CurrencyFactor]` - Wechselkurs
|
||||
|
||||
**Lieferung & Logistik mit DB-Mapping**:
|
||||
- `DeliveryDate` → `[AufKopf.Lieferdatum]` - Gewünschtes Lieferdatum
|
||||
- `PartialDelivery` → `[AufKopf.Teillieferung]` - Teillieferungen erlaubt (Flag)
|
||||
- `AssetConditionI3D` → `[AufKopf.ZahlkondID]` - Zahlungsbedingung (FK → Zahkond)
|
||||
- `DeliveryConditionI3D` → `[AufKopf.LieferbedID]` - Lieferbedingung (FK)
|
||||
- `PreparationDate` → `[AufKopf.Bereitstellung]` - Bereitstellungsdatum
|
||||
|
||||
**Kommissionierung & Produktion mit DB-Mapping**:
|
||||
- `Picked` → `[AufKopf]` - [TBD Mapping erforderlich]
|
||||
- `PickedAt` → `[AufKopf]` - [TBD Mapping erforderlich]
|
||||
- `Produced` → `[AufKopf]` - [TBD Mapping erforderlich]
|
||||
- `ProducedAt` → `[AufKopf]` - [TBD Mapping erforderlich]
|
||||
|
||||
**Controlling & Administration mit DB-Mapping**:
|
||||
- `CostObjectI3D` → `[AufKopf.KostentraegerI3D]` - Kostenträger (FK)
|
||||
- `CostCenterI3D` → `[AufKopf.KostenstellenI3D]` - Kostenstelle (FK)
|
||||
- `ProjectNumber` → `[AufKopf.ProjNr]` - Projektnummer (frei eingegeben)
|
||||
- `OrderNumber` → `[AufKopf.BestNr]` - Externe Bestellnummer
|
||||
- `ControllingText` → `[AufKopf.Zusatztext]` - Zusatztext für Reporting
|
||||
- `Info` → `[AufKopf.Info]` - Informationen/Notizen
|
||||
- `Adviser1I3D` → `[AufKopf.InnendienstID]` - Innendienst (FK → Personal)
|
||||
- `Adviser2I3D` → `[AufKopf.AussendienstID]` - Außendienst (FK → Personal)
|
||||
- `Adviser3I3D` → `[AufKopf.TechnikerID]` - Techniker 1 (FK → Personal)
|
||||
- `Adviser4I3D` → `[AufKopf.Techniker2ID]` - Techniker 2 (FK → Personal)
|
||||
- `BranchI3D` → `[AufKopf.FilialI3D]` - Filiale (FK → Filiale)
|
||||
|
||||
**Collections**:
|
||||
- `Positions` → `[AufPos]` (KeyColumn: AufKopfI3D = AufKopf.I3D)
|
||||
|
||||
---
|
||||
|
||||
## Bestellung-Position (Order Position / Receipt Line Item)
|
||||
|
||||
**Begriff**: Auftragsposition / Bestellposition
|
||||
**Englisch**: Order Position / Line Item
|
||||
**Datenbank-Tabelle**: `AufPos` (Auftragsposition)
|
||||
**Primärschlüssel**: `AufPos.I3D`
|
||||
|
||||
**Felder mit DB-Mapping**:
|
||||
- `I3D` → `[AufPos.I3D]` - Eindeutige Positions-ID
|
||||
- `AufKopfI3D` → `[AufPos.AufKopfI3D]` - Gehörender Auftrag (FK → AufKopf)
|
||||
- `Positionsnummer` → `[AufPos.Position]` - Laufende Nummer (1, 2, 3, ...)
|
||||
- `ArtikelI3D` → `[AufPos.ArtikelI3D]` - Artikel (FK → ARTIK)
|
||||
- `Menge` → `[AufPos.Menge]` - Bestellte Menge
|
||||
- `EinheitI3D` → `[AufPos.EinheitI3D]` - Maßeinheit (FK → Einheiten)
|
||||
- `Einzelpreis` → `[AufPos.EinzelPreis]` - Preis pro Einheit
|
||||
- `Positionssumme` → `[AufPos.Summe]` - Menge × Einzelpreis
|
||||
- `Rabatt` → `[AufPos.Rabatt]` - Positionsrabatt (%)
|
||||
- `MwStSatz` → `[AufPos.MwStSatz]` - Mehrwertsteuersatz
|
||||
- `Einstandspreis` → `[AufPos.EinstandsPreis]` - Kostenlage
|
||||
- `Beschreibung` → `[AufPos.Text]` - Position-Beschreibung
|
||||
- `Seriennummer` → `[AufPos.SerienNr]` - Seriennummer (falls einzelner Artikel)
|
||||
- `KostenträgerI3D` → `[AufPos.KostentraegerI3D]` - Kostenträger pro Position
|
||||
|
||||
---
|
||||
|
||||
## Rechnung (Invoice)
|
||||
|
||||
**Begriff**: Rechnung / Invoice
|
||||
**Englisch**: Invoice
|
||||
**Datenbank-Tabelle**: `RechKopf` (Rechnungskopf)
|
||||
**Primärschlüssel**: `RechKopf.I3D`
|
||||
|
||||
**Strukturell identisch mit Bestellung**, Tabelle: `RechKopf`
|
||||
|
||||
**Spezifische Rechnungs-Felder mit DB-Mapping**:
|
||||
- `I3D` → `[RechKopf.I3D]` - Eindeutige Rechnungs-ID
|
||||
- `Number` → `[RechKopf.Nummer]` - Rechnungsnummer
|
||||
- `Status` → `[RechKopf.Status]` - Rechnungsstatus
|
||||
- `Date` → `[RechKopf.Datum]` - Rechnungsdatum
|
||||
- `DueDate` → `[RechKopf]` - [TBD - Fälligkeitsdatum nicht in Basis gemappt]
|
||||
- `Paid` → `[RechKopf]` - [TBD - Bezahlt-Flag nicht gemappt]
|
||||
- `EdiExported` → `[RechKopf.EDIExport]` - Zu EDI exportiert (Flag)
|
||||
- `EdiExportDate` → `[RechKopf.EDIExportAm]` - EDI-Export Datum
|
||||
|
||||
**Collections**:
|
||||
- `Positions` → `[RechPos]` (KeyColumn: RechKopfI3D = RechKopf.I3D)
|
||||
|
||||
---
|
||||
|
||||
## Angebot (Offer)
|
||||
|
||||
**Begriff**: Angebot / Quotation
|
||||
**Englisch**: Offer
|
||||
**Datenbank-Tabelle**: `AngKopf` (Angebotskopf)
|
||||
**Primärschlüssel**: `AngKopf.I3D`
|
||||
|
||||
**Strukturell identisch mit Bestellung/Rechnung**, Mapping analog `[AngKopf]` / `[AngPos]`
|
||||
|
||||
---
|
||||
|
||||
## Lieferschein (Delivery List)
|
||||
|
||||
**Begriff**: Lieferschein / Delivery Note
|
||||
**Englisch**: Delivery List
|
||||
**Datenbank-Tabelle**: `LiefKopf` (Lieferscheinkopf)
|
||||
**Primärschlüssel**: `LiefKopf.I3D`
|
||||
|
||||
**Strukturell identisch mit Bestellung**, Mapping analog `[LiefKopf]` / `[LiefPos]`
|
||||
|
||||
---
|
||||
|
||||
# EINKAUF DOMÄNE
|
||||
|
||||
## Kreditor / Lieferant (Supplier)
|
||||
|
||||
**Begriff**: Kreditor / Lieferant
|
||||
**Englisch**: Supplier / Vendor
|
||||
**Datenbank-Tabelle**: `AccountSuppliers`
|
||||
**Primärschlüssel**: `AccountSuppliers.I3D`
|
||||
|
||||
**Beziehung**: Erweiterung von `Accounts` mit Einkaufs-spezifischen Feldern
|
||||
|
||||
**Einkaufs-spezifische Felder mit DB-Mapping**:
|
||||
- `I3D` → `[AccountSuppliers.I3D]` - Eindeutige Lieferanten-ID
|
||||
- `Number` → `[AccountSuppliers.Number]` - Lieferantennummer
|
||||
- `FreightCost` → `[AccountSuppliers.FreightCost]` - Standard-Versandkosten
|
||||
- `MinimumOrderValue` → `[AccountSuppliers.MinimumOrderValue]` - Mindestbestellwert
|
||||
- `Discount` → `[AccountSuppliers.Discount]` - Standard-Lieferantenrabatt
|
||||
- `Limit` → `[AccountSuppliers.Limit]` - Kreditlimit
|
||||
- `IsIsoCertified` → `[AccountSuppliers.IsIsoCertified]` - ISO-Zertifiziert (Flag)
|
||||
- `IsManufacturer` → `[AccountSuppliers.IsManufacturer]` - Ist Hersteller (Flag)
|
||||
- `IsDistributor` → `[AccountSuppliers.IsDistributor]` - Ist Distributor (Flag)
|
||||
- `WarehouseI3D` → `[AccountSuppliers.WarehouseI3D]` - Standard-Lager (FK → Warehouses)
|
||||
- `EgisSupplierNumber` → `[AccountSuppliers.EgisSupplierNumber]` - EGIS-Nummer
|
||||
- `ItScopeSupplierNumber` → `[AccountSuppliers.ItScopeSupplierNumber]` - ITScope-Nummer
|
||||
- `OwnCustomerNumber` → `[AccountSuppliers.OwnCustomerNumber]` - Unsere Kundennummer beim Lieferanten
|
||||
- `BookKeepingNumber` → `[AccountSuppliers.BookKeepingNumber]` - Kreditornummer in Fibu
|
||||
- `ReceiptConditionOrderI3D` → `[AccountSuppliers.ReceiptConditionOrderI3D]` - Zahlungsbedingung Bestellungen (FK → Zahkond)
|
||||
- `ReceiptConditionInvoiceI3D` → `[AccountSuppliers.ReceiptConditionInvoiceI3D]` - Zahlungsbedingung Rechnungen (FK → Zahkond)
|
||||
|
||||
---
|
||||
|
||||
# LAGER & BESTAND DOMÄNE
|
||||
|
||||
## Artikel (Article / Product)
|
||||
|
||||
**Begriff**: Artikel / Produkt
|
||||
**Englisch**: Article / Product
|
||||
**Datenbank-Tabelle**: `ARTIK` (Read-Only Staging Table)
|
||||
**Primärschlüssel**: `ARTIK.I3D`
|
||||
|
||||
**Hauptfelder mit DB-Mapping**:
|
||||
- `I3D` → `[ARTIK.I3D]` - Eindeutige Artikel-ID
|
||||
- `Articlecode` → `[ARTIK.Artikelcode]` - Interne Artikelnummer
|
||||
- `Manufacturercode` → `[ARTIK.Hersteller]` - Hersteller-Code
|
||||
- `EANCode` → `[ARTIK.EANCode]` - EAN / Barcode
|
||||
- `ShortDescription` → `[ARTIK.Kurzbegriff]` - Kurzbezeichnung
|
||||
- `Description` → `[ARTIK.Artikelbeschreibung]` - Langtext/Beschreibung
|
||||
- `State` → `[ARTIK.Status]` - Status (aktiv, EOL, etc.)
|
||||
- `EOL` → `[ARTIK.EOL]` - End-of-Life (Flag)
|
||||
|
||||
**Preise mit DB-Mapping**:
|
||||
- `Price1` → `[ARTIK.VK_1]` - Verkaufspreis 1
|
||||
- `Price2` → `[ARTIK.VK_2]` - Verkaufspreis 2
|
||||
- `Price3` → `[ARTIK.VK_3]` - Verkaufspreis 3
|
||||
- `Price4` → `[ARTIK.VK_4]` - Verkaufspreis 4
|
||||
- `ListPrice` → `[ARTIK.Listenpreis]` - Listenpreis
|
||||
- `RecommendRetailPrice` → `[ARTIK.EVK]` - Empfohlener Verkaufspreis
|
||||
- `PurchasePrice` → `[ARTIK.EK]` - Einstandspreis
|
||||
- `MinimumPrice` → `[ARTIK.Mindestpreis]` - Mindestverkaufspreis
|
||||
- `PurchasePriceEqualsSellPrice` → `[ARTIK.EKGleichVK]` - EK=VK (Flag)
|
||||
|
||||
**Lagerverwaltung mit DB-Mapping**:
|
||||
- `Amount` → `[ARTIK]` - [Formula-basiert: SUM Bestandsmenge]
|
||||
- `MinimumHolding` → `[ARTIK.Mindestbestand]` - Minimumbestand
|
||||
- `OrderInventory` → `[ARTIK.Auftragsbestand]` - Bestand in offenen Aufträgen
|
||||
- `DeliveryInventory` → `[ARTIK.Lieferbestand]` - Bestand in Lieferung
|
||||
- `Intake` → `[ARTIK.Zulauf]` - Zulauf (erwartet)
|
||||
|
||||
**Klassifizierung mit DB-Mapping**:
|
||||
- `SecondaryMaterialGroupI3D` → `[ARTIK.WEBKategorie]` - Sekundäre Materialgruppe/Warengruppe (FK)
|
||||
- `ManufacturerI3D` → `[ARTIK.KreditorI3D]` - Hersteller/Vertrieb (FK → AccountSuppliers)
|
||||
- `TaxI3D` → `[ARTIK.MWStI3D]` - Steuersatz (FK)
|
||||
- `ArticleUnitI3D` → `[ARTIK.Einheit]` - Maßeinheit (FK → Einheiten)
|
||||
- `ProductFamilyI3D` → `[ARTIK.ProduktfamilieI3D]` - Produktfamilie (FK)
|
||||
|
||||
**Eigenschaften mit DB-Mapping**:
|
||||
- `Divisible` → `[ARTIK.Teilbar]` - Bruchverkauf erlaubt (Flag)
|
||||
- `IsArticleTextEditable` → `[ARTIK.TextAenderbar]` - Text änderbar (Flag)
|
||||
- `NeedsBarcodes` → `[ARTIK.BarcodeScanen]` - Barcode-Scanning erforderlich (Flag)
|
||||
- `ChangeStock` → `[ARTIK.Abbuchung]` - Automatische Abrechnung (Flag)
|
||||
- `IsPartList` → `[ARTIK.StkListe]` - Ist Stückliste (Flag)
|
||||
- `IsServiceArticle` → `[ARTIK.IsServiceArticle]` - Dienstleistung (Flag)
|
||||
- `VisibleOnWeb` → `[ARTIK.WEBArtik]` - Im Web sichtbar (Flag)
|
||||
|
||||
**Audit-Trail mit DB-Mapping**:
|
||||
- `CreationDate` → `[ARTIK.Angelegt_am]` - Erstellungsdatum
|
||||
- `CreatedFromI3D` → `[ARTIK.Angelegt_von]` - Ersteller (FK → Personal)
|
||||
- `ChangedDate` → `[ARTIK.Geandert_am]` - Änderungsdatum
|
||||
- `ChangedFromI3D` → `[ARTIK.Geandert_von]` - Geändert von (FK → Personal)
|
||||
|
||||
**Collections**:
|
||||
- `Inventorys` → `[ArtikelBestand]` (KeyColumn: ArtikelI3D = ARTIK.I3D)
|
||||
|
||||
---
|
||||
|
||||
## Lagerbestand (Stock / Inventory)
|
||||
|
||||
**Begriff**: Lagerbestand / Bestandsmenge
|
||||
**Englisch**: Stock / Inventory
|
||||
**Datenbank-Tabelle**: `ArtikelBestand`
|
||||
**Primärschlüssel**: `ArtikelBestand.I3D`
|
||||
|
||||
**Felder mit DB-Mapping**:
|
||||
- `I3D` → `[ArtikelBestand.I3D]` - Eindeutige Bestandskennung
|
||||
- `ArtikelI3D` → `[ArtikelBestand.ArtikelI3D]` - Artikel (FK → ARTIK)
|
||||
- `LagerortI3D` → `[ArtikelBestand.LagerortI3D]` - Lagerort/Filiale (FK → Filiale)
|
||||
- `Menge` → `[ArtikelBestand.Menge]` - Verfügbare Menge
|
||||
- `Reserviert` → `[ArtikelBestand.Reserviert]` - Reservierte Menge (in offenen Aufträgen)
|
||||
- `Verfuegbar` → `[ArtikelBestand.Verfuegbar]` - Verfügbar = Menge - Reserviert
|
||||
- `LagerplatzI3D` → `[ArtikelBestand.LagerplatzI3D]` - Lagerplatz (FK → Lagerplatz)
|
||||
- `Verfallsdatum` → `[ArtikelBestand.Verfallsdatum]` - Haltbarkeitsdatum
|
||||
- `Charge` → `[ArtikelBestand.Charge]` - Chargennummer/Losnummer
|
||||
- `EingangsDatum` → `[ArtikelBestand.EingangsDatum]` - Einlagerungsdatum
|
||||
|
||||
---
|
||||
|
||||
# VERTRAG & SERVICE DOMÄNE
|
||||
|
||||
## Vertrag (Contract)
|
||||
|
||||
**Begriff**: Vertrag / Service-Agreement
|
||||
**Englisch**: Contract
|
||||
**Datenbank-Tabelle**: `Vertraege` (Vertrag/Vertragskopf - Legacy German naming)
|
||||
**Primärschlüssel**: `Vertraege.I3D`
|
||||
|
||||
**Hauptfelder mit DB-Mapping**:
|
||||
- `I3D` → `[Vertraege.I3D]` - Eindeutige Vertrags-ID
|
||||
- `Number` → `[Vertraege.Nummer]` - Vertragsnummer
|
||||
- `Status` → `[Vertraege.Status]` - Vertragsstatus
|
||||
- `CustomerI3D` → `[Vertraege.KundenI3D]` - Kunde (FK → Accounts)
|
||||
- `ContractKindI3D` → `[Vertraege.VertragsArtI3D]` - Vertragsart (FK)
|
||||
- `Begin` → `[Vertraege.Beginn]` - Vertragsbeginn
|
||||
- `ContractEnd` → `[Vertraege.Ende]` - Vertragsende
|
||||
- `Duration` → `[Vertraege.Laufzeit]` - Laufzeit (Monate)
|
||||
- `DurationKind` → `[Vertraege.LaufzeitArt]` - Art der Laufzeit
|
||||
- `AutomaticExtensionFlag` → `[Vertraege.AutoVerlaengerung]` - Automatische Verlängerung (Flag)
|
||||
- `AutomaticExtensionAmountMonths` → `[Vertraege.Verlaengerung]` - Verlängerungsdauer (Monate)
|
||||
- `IsContingent` → `[Vertraege.KontingentVertrag]` - Kontingent-Vertrag (Flag)
|
||||
- `ContingentKind` → `[Vertraege.KontingentArt]` - Kontingent-Art (FK)
|
||||
- `IsClick` → `[Vertraege.Stammblattbezogen]` - Click-Counter-Vertrag (Flag)
|
||||
- `DeductionIntervalKind` → `[Vertraege.AbrechnungIntervallArt]` - Abrechnungsintervall-Typ
|
||||
- `DeductionIntervalValue` → `[Vertraege.AbrechnungIntervallDauer]` - Abrechnungsintervall Dauer (z.B. Monate)
|
||||
- `Name` → `[Vertraege.Name]` - Vertragsname/Bezeichnung
|
||||
- `AdditionalText` → `[Vertraege.Zusatztext]` - Zusatztext/Notizen
|
||||
- `ReferenceNumber` → `[Vertraege.ReferenzNr]` - Externe Referenznummer
|
||||
- `ForeignContract` → `[Vertraege.Fremdvertrag]` - Fremdvertrag (Flag)
|
||||
|
||||
**Collections**:
|
||||
- `Positions` → `[VertragPos]` (KeyColumn: VertragI3D = Vertraege.I3D)
|
||||
|
||||
---
|
||||
|
||||
# HELPDESK & SUPPORT DOMÄNE
|
||||
|
||||
## Support-Ticket (Helpdesk)
|
||||
|
||||
**Begriff**: Support-Ticket / Helpdesk-Anfrage
|
||||
**Englisch**: Helpdesk Ticket
|
||||
**Datenbank-Tabelle**: `hlpdsk_requests`
|
||||
**Primärschlüssel**: `hlpdsk_requests.I3D`
|
||||
|
||||
**Hauptfelder mit DB-Mapping**:
|
||||
- `I3D` → `[hlpdsk_requests.I3D]` - Eindeutige Ticket-ID
|
||||
- `Number` → `[hlpdsk_requests.Nummer]` - Externe Ticketnummer (z.B. "TK-2025-12345")
|
||||
- `Status` → `[hlpdsk_requests.Status]` - Ticket-Status (FK → hlpdsk_status)
|
||||
- `Priority` → `[hlpdsk_requests.Prioritaet]` - Priorität (FK → hlpdsk_prioritaeten)
|
||||
- `HelpdeskType` → `[hlpdsk_requests.hlpdsk_typenI3D]` - Ticket-Typ (FK → hlpdsk_typen)
|
||||
- `MainCategory` → `[hlpdsk_requests.HauptkategorieI3D]` - Hauptkategorie (FK)
|
||||
- `SubCategory1` → `[hlpdsk_requests.Unterkategorie1I3D]` - Unterkategorie 1 (FK)
|
||||
- `SubCategory2` → `[hlpdsk_requests.Unterkategorie2I3D]` - Unterkategorie 2 (FK)
|
||||
|
||||
**Kunde & Kontakt mit DB-Mapping**:
|
||||
- `CustomerI3D` → `[hlpdsk_requests.KundeI3D]` - Kunde (FK → Accounts)
|
||||
- `CustomerName` → `[hlpdsk_requests.KundeName]` - Kundenname (Cache)
|
||||
- `CustomerEMail` → `[hlpdsk_requests.KundeEMail]` - Kunden-Email
|
||||
- `ContactPersonI3D` → `[hlpdsk_requests.AnsprechpartnerI3D]` - Kontaktperson (FK → AccountAddressContacts)
|
||||
- `ContactName` → `[hlpdsk_requests.AnsprechName]` - Kontaktname (Cache)
|
||||
- `ContactPhone` → `[hlpdsk_requests.AnsprechTelefon]` - Telefon der Kontaktperson
|
||||
|
||||
**Sachverhalt mit DB-Mapping**:
|
||||
- `ShortDescription` → `[hlpdsk_requests.Beschreibung]` - Kurzbeschreibung
|
||||
- `Description` → `[hlpdsk_requests.Problem]` - Detaillierte Problembeschreibung
|
||||
- `InternalNote` → `[hlpdsk_requests.InternalNote]` - Interne Notizen
|
||||
- `SerialNumber` → `[hlpdsk_requests.SerienNr]` - Seriennummer des betroffenen Geräts
|
||||
- `ErrorNumber` → `[hlpdsk_requests.FehlerNr]` - Fehlercode
|
||||
- `Documentation` → `[hlpdsk_requests.Dokumentation]` - Dokumentation/Attachments
|
||||
- `Classification` → `[hlpdsk_requests.Bewertung]` - Klassifizierung (FK → AngebotBewertung)
|
||||
|
||||
**Bearbeitung mit DB-Mapping**:
|
||||
- `ResponsiblePersonI3D` → `[hlpdsk_requests.VerantwortlicherI3D]` - Verantwortlicher Mitarbeiter (FK → Personal)
|
||||
- `CreatedByI3D` → `[hlpdsk_requests.ErstellerI3D]` - Ersteller (FK → Personal)
|
||||
- `CreatedDate` → `[hlpdsk_requests.ErfasstAm]` - Erfassungsdatum
|
||||
- `ChangedByI3D` → `[hlpdsk_requests.GeaendertVonI3D]` - Geändert von (FK → Personal)
|
||||
- `ChangedDate` → `[hlpdsk_requests.GeaendertDatum]` - Änderungsdatum
|
||||
- `DueDate` → `[hlpdsk_requests.FaelligAm]` - SLA-Fälligkeitsdatum
|
||||
- `ClosedAt` → `[hlpdsk_requests.AbgeschlossenAm]` - Abschlussdatum
|
||||
- `PlannedDurationInHours` → `[hlpdsk_requests.GeplanteDauerInStd]` - Geplante Bearbeitungsdauer (Stunden)
|
||||
|
||||
**Vertrag & Abrechnung mit DB-Mapping**:
|
||||
- `ContractId` → `[hlpdsk_requests.VertragI3D]` - Zugehöriger Vertrag (FK → Vertraege)
|
||||
- `RechPosI3D` → `[hlpdsk_requests.RechPosI3D]` - Zugehörige Rechnungsposition (FK → RechPos)
|
||||
- `Calculated` → `[hlpdsk_requests.Berechnet]` - Berechnet/Verrechnet (Flag)
|
||||
- `IsRMA` → `[hlpdsk_requests.IstRMAFall]` - Ist RMA-Fall (Flag)
|
||||
|
||||
**Collections**:
|
||||
- `HelpdeskTimer` → `[hlpdsk_timer]` (KeyColumn: hlpdsk_requestsI3D = hlpdsk_requests.I3D)
|
||||
- `TicketTags` → `[TicketTags]` (Many-to-Many via Junction)
|
||||
|
||||
---
|
||||
|
||||
# HR & PERSONAL DOMÄNE
|
||||
|
||||
## Mitarbeiter (Employee)
|
||||
|
||||
**Begriff**: Mitarbeiter / Beschäftigter
|
||||
**Englisch**: Employee
|
||||
**Datenbank-Tabelle**: `Personal`
|
||||
**Primärschlüssel**: `Personal.I3D`
|
||||
|
||||
**Personalstammdaten mit DB-Mapping**:
|
||||
- `I3D` → `[Personal.I3D]` - Eindeutige Mitarbeiter-ID
|
||||
- `PersonnelNumber` → `[Personal.Personalnummer]` - Mitarbeiternummer
|
||||
- `Lastname` → `[Personal.Nachname]` - Nachname
|
||||
- `Firstname` → `[Personal.Vorname]` - Vorname
|
||||
- `Birthday` → `[Personal.Geburtstag]` - Geburtsdatum
|
||||
- `Street` → `[Personal.Strasse]` - Wohnstraße
|
||||
- `Zip` → `[Personal.Plz]` - Postleitzahl
|
||||
- `City` → `[Personal.Wohnort]` - Wohnort
|
||||
- `Job` → `[Personal.Beruf]` - Beruf/Funktion
|
||||
- `Phone1` → `[Personal.Telefon]` - Telefon 1
|
||||
- `Phone2` → `[Personal.Telefon2]` - Telefon 2
|
||||
- `Fax1` → `[Personal.Fax1]` - Fax
|
||||
|
||||
**Beschäftigung mit DB-Mapping**:
|
||||
- `ContractKind` → `[Personal.VertragsArt]` - Vertragsart (Fest, Befristet, 450€, etc.)
|
||||
- `ContractPeriod` → `[Personal.Vertragslaufzeit]` - Vertragslaufzeit
|
||||
- `Salary` → `[Personal.MAKosten]` - Brutto-Gehalt
|
||||
- `VacationEntitlement` → `[Personal.Urlaubsanspruch]` - Jahresurlaubstage
|
||||
- `RemainingDaysOfVacation` → `[Personal.Resturlaub]` - Resturlaub
|
||||
|
||||
**Audit-Trail mit DB-Mapping**:
|
||||
- `CreatedDate` → `[Personal.Angelegt_am]` - Erstellungsdatum
|
||||
- `CreatedFromI3D` → `[Personal.Angelegt_von]` - Ersteller (FK → Personal)
|
||||
- `ChangedDate` → `[Personal.Aenderung_am]` - Änderungsdatum
|
||||
- `ChangedFromI3D` → `[Personal.Aenderung_von]` - Geändert von (FK → Personal)
|
||||
|
||||
**Besondere Felder mit DB-Mapping**:
|
||||
- `ForumUsername` → `[Personal.ForumUsername]` - Forum-Benutzername
|
||||
- `SalutationI3D` → `[Personal.AnredeI3D]` - Anrede (FK → Anrede)
|
||||
- `CostCenterI3D` → `[Personal.KostenstelleI3D]` - Kostenstelle (FK → Kostenstelle)
|
||||
- `RootDirI3D` → `[Personal.RootDirI3D]` - Root-Verzeichnis für Dateien (FK → Directorys)
|
||||
- `DefaultStorageI3D` → `[Personal.StandardLagerI3D]` - Standard-Lager (FK → Warehouses)
|
||||
|
||||
**Collections**:
|
||||
- `Department` → `[PersonalGrpPersZuord]` (Many-to-Many über PersonalGruppen)
|
||||
|
||||
---
|
||||
|
||||
# FINANZEN & ACCOUNTING DOMÄNE
|
||||
|
||||
## Zahlungsbedingung (Payment Terms)
|
||||
|
||||
**Begriff**: Zahlungsbedingung / Zahlungsterm
|
||||
**Englisch**: Payment Terms / Terms and Conditions
|
||||
**Datenbank-Tabelle**: `Zahkond`
|
||||
**Primärschlüssel**: `Zahkond.I3D`
|
||||
|
||||
**Felder mit DB-Mapping**:
|
||||
- `I3D` → `[Zahkond.I3D]` - Eindeutige Zahlungsbedingung-ID
|
||||
- `Name` → `[Zahkond.Bezeichnung]` - Bezeichnung (z.B. "14 Tage netto")
|
||||
- `Tage` → `[Zahkond.Tage]` - Zahlungsziel (Tage)
|
||||
- `SkontoProzent` → `[Zahkond.SkontoProzent]` - Skonto % (z.B. 2%)
|
||||
- `SkontoBis` → `[Zahkond.SkontoBis]` - Tage für Skonto
|
||||
- `Beschreibung` → `[Zahkond.Beschreibung]` - Vollständige Beschreibung
|
||||
|
||||
**Beziehungen**:
|
||||
- Verwendet in: `[AufKopf.ZahlkondID]`, `[RechKopf.ZahlkondID]`, `[AccountCustomers.ReceiptConditionInvoiceI3D]`, etc.
|
||||
|
||||
---
|
||||
|
||||
## Kostenträger (Cost Center)
|
||||
|
||||
**Begriff**: Kostenträger / Cost Center / Profit Center
|
||||
**Englisch**: Cost Center
|
||||
**Datenbank-Tabelle**: `Kostenstelle` (Legacy German), `Kostentraeger` (Kostenträger)
|
||||
**Primärschlüssel**: `Kostenstelle.I3D` (für Standard-Kostenstellen)
|
||||
|
||||
**Felder mit DB-Mapping**:
|
||||
- `I3D` → `[Kostenstelle.I3D]` - Eindeutige Kostenträger-ID
|
||||
- `Nummer` → `[Kostenstelle.Nummer]` - Kostenträger-Nummer (z.B. "KT-100")
|
||||
- `Name` → `[Kostenstelle.Name]` - Bezeichnung
|
||||
- `Typ` → `[Kostenstelle.Art]` - Typ (FK → KostenstellenArt)
|
||||
- `Leiter` → `[Kostenstelle.Leiter]` - Verantwortlicher (FK → Personal)
|
||||
|
||||
**Verwendung in Belegen**:
|
||||
- Bestellungen: `[AufKopf.KostentraegerI3D]` → `[Kostenstelle.I3D]`
|
||||
- Rechnungen: `[RechKopf.KostentraegerI3D]` → `[Kostenstelle.I3D]`
|
||||
- Positionen: `[AufPos.KostentraegerI3D]` → `[Kostenstelle.I3D]`
|
||||
|
||||
---
|
||||
|
||||
# KONVENTIONEN & HINWEISE
|
||||
|
||||
## Datenbank-Naming-Konventionen
|
||||
|
||||
| Aspekt | Konvention | Beispiel | Tabelle |
|
||||
|--------|-----------|---------|---------|
|
||||
| Primary Key | Immer `I3D` | `Accounts.I3D` | Alle Tabellen |
|
||||
| Foreign Key | Suffix `I3D` | `AccountI3D`, `EmployeeI3D` | Alle Tabellen |
|
||||
| Neue Entwicklung | English Table Names | `Accounts`, `AccountCustomers` | Neue Entities |
|
||||
| Legacy Systeme | German Table Names | `hlpdsk_requests`, `Vertraege`, `RechKopf` | Alte Entities |
|
||||
| Versionierung | `CreatedVersion`, `ChangedVersion` | In allen Basistabellen | Performance-Tracking |
|
||||
|
||||
## NHibernate Mapping-Struktur
|
||||
|
||||
```
|
||||
Entity Class (z.B. Order)
|
||||
↓ (FluentNHibernate ClassMapping)
|
||||
Database Table (z.B. AufKopf)
|
||||
↓
|
||||
Entity Properties → Table Columns
|
||||
↓
|
||||
Foreign Keys (I3D convention)
|
||||
```
|
||||
|
||||
## Beziehungstypen in der DB
|
||||
|
||||
| Typ | Beispiel | Mapping | SQL |
|
||||
|-----|---------|---------|-----|
|
||||
| 1:1 | Account-Customer | `AccountI3D` FK | Foreign Key |
|
||||
| 1:n | Account-Addresses | `AccountI3D` in `AccountAddresses` | Foreign Key |
|
||||
| n:n | Employee-Department | `PersonalGruppen` (Junction Table) | Junction |
|
||||
| Collection | Order-Positions | `AufPosI3D` → AufPos table | HasMany |
|
||||
|
||||
---
|
||||
|
||||
**Version**: 2.0 (mit DB-Mappings)
|
||||
**Status**: 80% vollständig - weitere Domänen bei Bedarf erweiterbar
|
||||
**Letzte Aktualisierung**: 2025-12-02
|
||||
**Format**: [Tabelle.Spalte] für alle Datenbank-Referenzen
|
||||
|
||||
### Legende
|
||||
|
||||
- `[Tabelle.Spalte]` = Exaktes DB-Mapping
|
||||
- `(FK → Tabelle)` = Foreign-Key Referenz
|
||||
- `[TBD]` = To Be Determined (Mapping erforderlich)
|
||||
- `virtual IList<T>` = NHibernate Collection (1:n Beziehung)
|
||||
Reference in New Issue
Block a user