MESO-XPO 1.0 Help

Release Notes

4.44

πŸ’Ž Added

  • βž• Erweiterungen XPO Objekte für WinLine 12 Patch 28

    • T001

    • T640

4.43

πŸ—οΈ Changed

  • Der Datentyp der Spalte c004 (Eigenschaft Administrator) der Systemtabelle t002srv (Benutzerstamm) wurde von int auf UserRightsEnum (thanks @tb) geändert

/// <summary> /// Definiert Benutzerrechte als Bitmaske mit dem Flags-Attribut. /// Jedes Recht entspricht einer Potenz von 2, sodass mehrere Rechte kombiniert /// und effizient in einer einzigen Ganzzahl gespeichert werden kΓΆnnen. /// </summary> [Flags] public enum UserRightsEnum { None = 0, CmsPublications = 1 << 0, // 2^0 = 1 BackupDataState = 1 << 1, // 2^1 = 2 RestoreDataState = 1 << 2, // 2^2 = 4 WebEditionAdmin = 1 << 3, // 2^3 = 8 WebEditionUserAdmin = 1 << 4, // 2^4 = 16 DataAdmin = 1 << 5, // 2^5 = 32 LicenseAdmin = 1 << 6, // 2^6 = 64 UserAdmin = 1 << 7, // 2^7 = 128 ArchiveAdmin = 1 << 8, // 2^8 = 256 MsmAdmin = 1 << 9, // 2^9 = 512 SystemAdmin = 1 << 10, // 2^10 = 1024 FormAdmin = 1 << 11, // 2^11 = 2048 CtkAdmin = 1 << 12, // 2^12 = 4096 TemplateEditing = 1 << 13, // 2^13 = 8192 (VorlagenBearbeiten) PermissionAssignment = 1 << 14, // 2^14 = 16384 (BerechtigungsVergabe) ThesisManagement = 1 << 15, // 2^15 = 32768 (Abschlussarbeiten) CashRegister = 1 << 16, // 2^16 = 65536 (Kasse) // ReSharper disable once InconsistentNaming GDPR_UKP_WLSmart = 1 << 17, // 2^17 = 131072 (DSGV_UKP_WLSmart) LogAccess = 1 << 18, // 2^18 = 262144 (Log) EmployeeAdmin = 1 << 19, // 2^19 = 524288 (MitarbeiterAdmin) ScoreAdmin = 1 << 20, // 2^20 = 1048576 (ScoreAdmin) CrmAdmin = 1 << 21, // 2^21 = 2097152 (CrmAdmin) GlobalAdmin = -1 // Alle Rechte gesetzt } public static class UserRightsExtensions { public static bool IsGlobalAdmin(this UserRightsEnum rights) { return rights == UserRightsEnum.GlobalAdmin; } /// <summary> /// PrΓΌft, ob ein bestimmtes Benutzerrecht gesetzt ist. /// </summary> public static bool HasRight(this UserRightsEnum rights, UserRightsEnum right) { return rights.IsGlobalAdmin() || (rights & right) == right; } /// <summary> /// PrΓΌft, ob der Benutzer ein Systemadministrator ist. /// </summary> public static bool IsSystemAdmin(this UserRightsEnum rights) { return rights.HasRight(UserRightsEnum.SystemAdmin); } /// <summary> /// PrΓΌft, ob der Benutzer ein Lizenzadministrator ist. /// </summary> public static bool IsLicenseAdmin(this UserRightsEnum rights) { return rights.HasRight(UserRightsEnum.LicenseAdmin); } /// <summary> /// PrΓΌft, ob der Benutzer ein Benutzeradministrator ist. /// </summary> public static bool IsUserAdmin(this UserRightsEnum rights) { return rights.HasRight(UserRightsEnum.UserAdmin); } /// <summary> /// PrΓΌft, ob der Benutzer ein Formularadministrator ist. /// </summary> public static bool IsFormAdmin(this UserRightsEnum rights) { return rights.HasRight(UserRightsEnum.FormAdmin); } /// <summary> /// PrΓΌft, ob der Benutzer ein CTK-Administrator ist. /// </summary> public static bool IsCtkAdmin(this UserRightsEnum rights) { return rights.HasRight(UserRightsEnum.CtkAdmin); } /// <summary> /// PrΓΌft, ob der Benutzer ΓΌber irgendeines der Administratorrechte verfΓΌgt. /// </summary> public static bool HasAnyAdminRights(this UserRightsEnum rights) { return rights.IsSystemAdmin() || rights.IsLicenseAdmin() || rights.IsUserAdmin() || rights.IsFormAdmin() || rights.IsCtkAdmin(); } }

4.42

πŸ’Ž Added

  • Neue berechnete Eigenschaften in Klasse Bestellvorschlag (Dispotabelle t014)

    • IstReservierungszeileFuerAuftragVonLager

  • Erweiterung der folgenden Datenobjekte für WinLine 2025 Patch 27

    • EldaUnfallmeldungAuva (T441)

    • L16Arbeitnehmerrecord (T471)

    • Produktionslauf (T324)

    • Produktionsvorlauf (T342)

    • TempProdjournaltabelle (T224)

    • Zahlungskonditionen (T226)

4.41

πŸ’Ž Added

  • Neue berechnete Eigenschaften in Klasse Bestellvorschlag (Dispotabelle t014)

    • IstReservierungszeileFuerAuftragVonBestellung

4.40

πŸ’Ž Added

  • Neue berechnete Eigenschaften in Klasse Bestellvorschlag (Dispotabelle t014)

    • IstReservierungszeile, IstReservierungVonBestellung, IstReservierungVonLager, IstReservierungszeileFuerAuftrag, IstReservierungVonProduktion

  • Neue XPCollection Eigenschaften Dispozeilen und Reservierungszeilen in BestelldateiMitte

4.39

πŸ—οΈ Changed

  • MesoXPO.Helper: Verweis auf aktuelle Version umgestellt

4.38

πŸ’Ž Added

  • Patch 26:

    • Füge neue Tabelle T640 (EBillingSchemata) für E-Rechnung hinzu

    • Füge neue Spalten in Tabellen T357 (FaktBelegart), EldaArbeitsUndEntgeltbestFuerKrankengeld und XmlVorlagen für E-Rechnung hinzu

4.37

πŸ’Ž Added

  • Erweitere Systemtabellen T620CMP (FormsDefinition), T256CMP (ShareTreeDefintion), T255CMP (ShareEntries) und T391CMP (TemplateDefinition) um neue Spalten WinLine Edition 2025

  • Füge Systemtabellen T113CMP (ActionServerDefinitionen) hinzu

  • Füge neue ID Spalten für E-Rechnung in T054 (KontenstammFakt) hinzu

πŸ› Fixed

  • WinLine Edition 2025 enthält nun auch wieder Tabellen der Edition 2024

πŸ—οΈ Changed

  • Stelle auf Microsoft.Data.Sql um

4.36

πŸ’Ž Added

  • DevEx 24.2

πŸ—οΈ Changed

  • füge SqlClient NuGet hinzu

  • Entferne .NET6 für DevEx 24.2

4.35

πŸ’Ž Added

  • BestelldateiMitte enthält die berechnete Eigenschaft Buchungswert um den Wert der Position inkl. Rundungseinstellung und Rabattsperre zu berechnen

  • BestelldateiKopf enthält die berechnete Eigenschaft Preislistendefinition

  • BestelldateiKopf enthält die berechnete XpCollection Buchungen (für Rechnungen)

  • BestelldateiKopf enthält die berechnete XpCollection OffenePosten (für Rechnungen)

  • Preislistendefinition enthält die berechnete Eigenschaft Waehrung

4.34

πŸ’Ž Added

  • Bankverbindungen in ViewKontenstamm und Kontenstamm

  • βž– Asm1 Assembly (unsafe)

4.33

πŸ’Ž Added

  • WinLine Edition 2025

  • .NET 9.0 Support

  • βž– DevEx 21.2 Support

4.32

πŸ’Ž Added

  • Kostenstelle und Kostenträger Objekt in CrmIncidencesUndSchritte

4.31

πŸ› Fixed

  • πŸ—οΈ Korrigiere Pseudo Eigenschaften für Beziehungen in der OData WEB API

4.30

πŸ› Fixed

  • πŸ—οΈ Korrigiere Eigenschaft WorkflowGruppeTabelle für CrmIncidencesUndSchritte Objekt

4.29

πŸ’Ž Added

  • DevEx 24.1

4.28

πŸ’Ž Added

  • Füge Optionen TrustServerCertificate in SqlConnectionString Ermittlung für den Mandanten hinzu

4.27

Breaking Changes

  • ProductionFlagEnum Enum ergänzt und der Eigenschaft ProduktionsFlag in der Klasse ArtikelstammDatei zugewiesen

πŸ› Fixed

  • Session Zugriff in BenutzerdefinierteSpaltenWerteAlsDictionary der CompanyBaseMesoyear BasisKlasse korrigiert

4.26

πŸ’Ž Added

  • Füge Methode BenutzerdefinierteSpaltenWerteAlsDictionary der CompanyBaseMesoyear BasisKlasse hinzu

4.25

πŸ’Ž Added

  • Verhindere das Laden von leeren oder nicht mehr vorhandenen Eigenschaften in HinterlegteEigenschaften der CompanyBaseMesoyear BasisKlasse

4.24

πŸ› Fixed

  • Leere Eigenschaften in Methode EigenschaftswerteAlsDictionary

4.23

πŸ’Ž Added

  • Füge Methode EigenschaftswerteAlsDictionary der CompanyBaseMesoyear BasisKlasse hinzu

4.22

πŸ’Ž Added

  • Füge WinLine Edition 2023 Patch 20 Änderungen hinzu (Tabellen Anlagendaten, AnStammSvZusatz und AnStammViewOesterreich)

4.21

πŸ› Fixed

  • πŸͺ² MesoDataUnitOfWork Eigenschaft TemplateTyp wieder auf Enum umgestellt

4.20

πŸ› Fixed

  • πŸͺ² WinLine2023 und WinLine2024 spezifische Spalten wieder eingeblendet

4.19

πŸ’Ž Added

  • ⬆️ DevEx 23.2

    • net8 Support

  • Neue Methode GetMesoSql in Klasse MesoDataUnitOfWork um Ersetzung von ~~~~ und yyyy in einem angegebenen SQL Statement vorzunehmen

  • MesoObjectLayer unterstützt nun auch asynchrones Laden von Objekten

  • Neue Eigenschaft AnsprechpartnerPersonen in Klasse ViewKontenstamm und Kontenstamm welche den Firmenansprechpartner ausschließt (-COMP)

  • Neue Eigenschaft Hauptansprechpartner in Klasse ViewKontenstamm und Kontenstamm welche den Hauptansprechpartner liefert

4.18

πŸ’Ž Added

  • Mesonic (c) WinLine Edition 2024 (Version 12, Patch 17)

    • Neue Spalten in T349 Lagerortumbuchungsarten

    • Neue Spalten in folgenden Systemtabellen:

      • T602CMP PowerReportDatenquelle

      • T391CMP TemplateDefinition

      • T620CMP FormsDefinition

4.17

πŸ’Ž Added

  • Klasse LagerorteBuchungsjournal mit Verweis auf Lagerorte Stamm und Lagerbuchungsjournal

  • Klasse BIUnitOfWork um per DI eine Verbindung zur BI-Datenbank zu kapseln

  • System Klasse Telefonnummern

  • System Klasse EmailEingang

  • System Klasse EmailEingangAttachments

  • Abstrakte Klasse PowerReportFormBase für FORM-Object Tabellen

4.16

πŸ’Ž Added

  • NET6 Framework

4.15

πŸ’Ž Added

  • SystemTabelle t006Cmp (List Beschreibungen) hinzugefügt

  • SystemTabelle t006Cmp (List Details) hinzugefügt

  • SystemTabelle t380Cmp (Filter Header) hinzugefügt

  • SystemTabelle t381cmp (Filter Einträge) hinzugefügt

  • SystemTabelle t550cmp (Objekt Berechtigungen) hinzugefügt

  • SystemTabelle t562cmp (DEÜV Mandant) hinzugefügt

Refactored

  • Klasse Kontaktestamm11 in KontaktestammView umbenannt

  • Klasse Konstanten11 in KonstantenT513 umbenannt

4.14

πŸ’Ž Added

  • SystemTabelle t444CMP (Globale Parameter) hinzugefügt

Refactored

  • Allgemeine Enums in neues Paket MesoXPO.Models ausgelagert

4.13

Refactored

  • MesoXPO.Bussines Versionsangleichung

4.12

πŸ’Ž Added

  • Tabellen T390CMP-T392CMP (Template, TemplateDefinition, TemplateVorbelegung) hinzugefügt

4.11

Refactored

  • Unnötige Referenz auf DevExpress.Xpo.Extenstions entfernt

4.10

πŸ’Ž Added

  • Für die MESOAPI OData Anwendung wurden diverse 1:1 Eigenschaften durch Methoden (wie z.B. ErmittleTextstamm) bereitgestellt, da diese aufgrund fehlender ForeignKeys im Standard nicht abgebildet werden können

  • ArtikelstammDatei

  • ArtikelView

  • ArtikelLagereinstellungen

  • ArtikelPeriodenwerte

  • ArtikelPreise

  • ArtikelTexte

  • ArtikelMatch

  • ArtikelstammLagerorte

  • BestelldateiKopf

  • BestelldateiMitte

  • Bestellvorschlag

  • CrmIncidencesUndSchritte

  • CrmUploads

  • Eigenschaften

  • Jahrejournal

  • KontakteStamm

  • Kontenstamm

  • Lagerbuchungsjournal

  • Lagerortejournal

  • ObjektWorkflow

  • OffenePosten

  • Preisliste

  • Produktionslauf

  • Projekterfassung

  • Projektstamm

  • Statistik

  • Steuerleisten

  • BenutzerBenutzergruppe

  • UvaFormularpos

  • ViewKontenstamm

4.9

πŸ› Fixed

  • vertauschte Spalte Benutzernummer und BenutzergruppenNummer in Systemtabelle BenutzerBenutzergruppe

4.8

πŸ’Ž Added

  • DevEx 23.1 Paket

4.7

πŸ’Ž Added

  • ArtikelstammLagerorte mit neuem Verweis auf LagerorteStamm

4.6

πŸ› Fixed

  • Benutzerstamm:

    • Ermittlung der zugehörigen Gruppen (Eigenschaft Gruppen) konnte fehlschlagen, wenn der Benutzer den (alten, virtuellen) WebEdition Gruppen 10-13 angehörte bzw. die Benutzergruppe nicht vorhanden war

4.5

πŸ’Ž Added

  • WinLine Edition 2023, Patch 11

    • Neue Spalten in Tabelle Betriebsdatenstamm (T486)

      • MbgmAbMonat (63)

      • MbgmAbJahr (64)

4.4

πŸ—οΈ Refactoring

  • Naming der Methode BestelldateiKopf.BelegLaden korrigiert => heißt nun BestelldateiKopf.LadeBeleg

4.3

πŸ’Ž Added

  • Methode BestelldateiKopf.BelegLaden Ermittelt einen WinLine Beleg anhand der Belegnummer, bei mehreren Belegen mit derselben Nummer wird der erste geliefert. Optional kann der Belegbereich Einkauf/Verkauf eingeschränkt werden

  • WinLine Edition 2023:

    • Neue FormObject Systemtabellen (620,621)

    • Spalten der Projekterfassung, die für die WinLine Edition 2023 geplant waren, wurden in Patch 10 entfernt

    • Neue Spalten WinLine Edition 2023 in Materialentnahmescheinandruck, Produktionslauf und Produktionsvorlag

  • Neue Systemtabellen 602,603,604,608 (allgemein)

πŸ—οΈ Refactoring

  • CodeCleanup

4.2

πŸ› Fixed

  • Korrektur Versionszuordnung für neue Spalten in den Tabellen 26, 97, 136, 154, 300, 331, 386, 387, 409, 429, 494, 540, 600

4.1

πŸ’Ž Added

  • Neuer Parameter useNewSqlConnection für Methode GetColumnValueDirect um beim Lesen eine neue SQL Connection zu verwenden

πŸ› Fixed

  • Enums für die Artikelstammdatei Properties Artikeltyp, ChargeIdentflag wiederhergestellt

  • Property BestaetigtesLieferdatum in BestelldateiMitte auch für WinLine Edition 2022 aktiviert

4.0

πŸ—οΈ Refactoring

  • Es werden die letzten 3 DevExpress Versionen als NuGet Pakete bereitgestellt, aktuell

    • MesoXPO-DevEx22.2

    • MesoXPO-DevEx22.3

    • MesoXPO-DevEx21.2

  • Je NuGet Paket werden die letzten beiden WinLine Datenstandsversionen aktuell gehalten

  • Die Lizenznummer wurde daraufhin nun wie folgt geändert

    • WWWW.FF.MM, z.B. 2023.4.0

      • WWWW = WinLine Edition bzw. Datenstandsversion bei Datenstandserweiterung innerhalb einer Edition, z.B. 2023

      • FF = Funktionsversion, Funktionale Erweiterungen, zB. 4

      • MM = Minorversion, Patches/Fixes, zB. 1

πŸ’Ž Added

  • Neue Methode AddServernameAlias im DataLayerManager um SQL Server Aliasnamen anzugeben

  • BestelldateiKopf:

    • Objekt Verweis auf Vorbelegung Lagerort, Ausprägung 1 und Ausprägung 2

  • ArtikelStammdatei:

    • Objekt Verweis auf Ausprägung 1 und Ausprägung 2

1.3.5 und 1.3.6

πŸ—οΈ Refactoring

  • MesoXPO Helper in eigenes Projekt ausgelagert

πŸ› Fixed

  • Wieder aus der WinLine Edition 2023 entfernte Spalten der Projekterfassungstabelle T077 auch im Model entfernt

1.3.4

πŸ’Ž Added

  • Neue Methode DataLayerManager.CreateObjectTypesForUserDefinedTypes um abgeleitete Klassen für benutzerdefinierte Tabellenerweiterungen zu unterstützen. Siehe MesoXPO Dokumentation

  • Erweiterung der DataLayerManager.CreateDataLayer Methoden um Parameter userdefinedTypes um diese zu unterstützen

  • Neue Überlagerung der DataLayerManager.CreateDataLayer Methoden um direkt aus einer SystemUnitOfWork unter Angabe einer Mandanten-Nummer einen IDataLayer zu erzeugen

πŸ—οΈ Changed

  • Die Methode DataLayerManager.CreateDataLayer lädt nun nicht mehr im Standard die benutzerdefinierten Tabellen und Spalten, um keinen Konflikt mit ggf. angegebenen userdefinedTypes zu provozieren

1.3.3

πŸ› Fixed

  • ConnectionHelper.GetPersistentTypesWinLineData() liefert nun auch den Typ "BenutzerdefinierteSpalten"

1.3.2

  • Neue Attribute IsUserdefinedTable und IsUserdefinedColumn

  • Optimierungen und Fehlerkorrekturen im MesoObjectLayer in Bezug auf MesoYear

  • Projektstammverweis in Projekterfassung korrigiert

  • Neue kalkulierte ArtikelLagerwerte Eigenschaften für Lagerstand und Lagerwert

1.3.1

  • Neues Objekt MesoObjectLayer um automatische Filterung auf Basis Mandant und Wirtschaftsjahr zu ermöglichen

    // Verbindung zur SystemDatenbank MesoObjectLayer = SystemUnitOfWork.GetMesoObjectLayer("500M");
  • Neue Attribute IsBaseYearRelevantTable und IsYearIndependentTableAttribute

  • WinLine Edition 2023 Repository Änderungen

1.2.3

πŸ› Fixed

  • ConnectionHelper.GetPersistentTypesWinLineData() liefert nun auch den Typ "BenutzerdefinierteSpalten"

1.2.2

  • Die über DataLayerManager erzeugten DataLayer lesen automatisch die benutzerdefinierten Tabellen und Spalten in das verwendete XpDictionary

  • Neue Attribute IsUserdefinedTable und IsUserdefinedColumn

  • Optimierungen und Fehlerkorrekturen im MesoObjectLayer in Bezug auf MesoYear

  • Projektstammverweis in Projekterfassung korrigiert

  • Neue kalkulierte ArtikelLagerwerte Eigenschaften für Lagerstand und Lagerwert

1.2.1

  • Neues Objekt MesoObjectLayer um automatische Filterung auf Basis Mandant und Wirtschaftsjahr zu ermöglichen

1.2.0

  • Umstellung auf MesoXPO Namespace

1.1.40

  • Umstellung auf PersistentAlias für verknüpfte Datensätze wie z.B. ArtikelStammdatei.Hersteller > erlaubt direkte Verwendung in Queries

1.1.39

  • Neues Enum ArchiveTagDatatypeEnum für Archiv-Business-Klasse

1.1.38

  • Neue Methode ErmittleEigenschafswertAlsText für Basis-Objekte

1.1.37

  • CRMUploads mit Archivdokumentenzugriff

1.1.36

  • Belege enthalten nun eine Property auf verknüpfte CrmFälle

1.1.35

  • Passwort Methoden Prüfen und Setzen für Benutzerstamm

1.1.34

  • ts-spalte als FetchOnly in Benutzerstamm deklariert

1.1.33

  • Erweiterung Model System um BLZStamm

1.1.32

  • Erweiterung Business Archiv um optionale angabe Pfad zur Mesospool.exe

1.1.31

  • netstandard2.1 > netstandard2.0 für NET Framework Einbindung

1.1.30

  • ConnectionPooling als optionaler Parameter für UnitOfWorks

1.1.29

  • ServiceCollectionExtionsions für SystemDb ergänzt

1.1.28

  • Weitere Überladungen für BaseUnitOfWork (ConnectionString)

1.1.27

  • SystemUnitOfWork implementiert ThreadSafe und DataLayer Cache

1.1.26

  • BaseUnitOfWork DataLayer Cache implementiert um nicht je ConnectionString Anfrage einen neuen DataLayer zu erzeugen

1.1.25

  • Artikelview-Objekt implementiert IMesoObject (zugriff auf Eigenschaften)

1.1.24

  • Eigenschaftenhilfsmethoden zum Lesen und Schreiben ergänzt

1.1.23

  • Bugfix in Eigenschaftenermittlung für Basis-Objekte

1.1.22

  • Eigenschaftenermittlung für Basis-Objekte

1.1.21

  • SystemUnitOfWork liefert Mandatenconnectionstring

1.1.20

  • BugFix Null Exception in Bestand

1.1.19

  • Lagerwerte als Eigenschaft des Artikelstammdatei-Objektes

  • Lagerwerte mit Methoden für Bestand und verf. Bestand

1.1.18

  • Grafiken Systemtabelle bereitgestellt

1.1.12

  • Lagerortejournal für BestelldateiMitte aufgenommen

  • .NET Standard 2.0 > .NET Standard 2.1; DevEx 21.2.7

1.1.13

  • DevEx 22.1.3

1.1.16

  • Belegnummernlänge in WinLine von 20 auf 50 Zeichen

1.1.17

  • NET 6 und NETSTANDARD21

Last modified: 06 April 2025