From cf63fd8c395b08d49e45aadc8339255d394582fb Mon Sep 17 00:00:00 2001 From: Developer01 Date: Mon, 17 Nov 2025 12:42:17 +0100 Subject: [PATCH] Update GDPIcture --- Interfaces/Interfaces.vbproj | 96 ++++++++++++++------------- Interfaces/My Project/AssemblyInfo.vb | 4 +- Interfaces/app.config | 2 +- Interfaces/packages.config | 6 +- Jobs/App.config | 2 + Jobs/My Project/AssemblyInfo.vb | 4 +- Jobs/ZUGFeRD/XRechnungViewDocument.vb | 82 +++++++++++++++++------ c | 66 ++++++++++++++++++ 8 files changed, 188 insertions(+), 74 deletions(-) create mode 100644 c diff --git a/Interfaces/Interfaces.vbproj b/Interfaces/Interfaces.vbproj index 4668da2e..9bcc5e07 100644 --- a/Interfaces/Interfaces.vbproj +++ b/Interfaces/Interfaces.vbproj @@ -55,74 +55,80 @@ ..\packages\DocumentFormat.OpenXml.Framework.3.2.0\lib\net46\DocumentFormat.OpenXml.Framework.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.CAD.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.CAD.DWG.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Common.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Document.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Email.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.HTML.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.Formats.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.OpenDocument.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.OpenXML.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.PDF.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.RTF.dll - - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll + + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.SVG.dll - ..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll + ..\packages\GdPicture.14.3.19\lib\net462\GdPicture.NET.14.wia.gateway.dll True ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + ..\packages\GdPicture.14.3.19\lib\net462\NativeSDK.Settings.dll + + + ..\packages\GdPicture.14.3.19\lib\net462\NativeSDK.Settings.Edition.dll + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll @@ -185,8 +191,8 @@ ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll - - ..\packages\System.Text.Json.8.0.5\lib\net462\System.Text.Json.dll + + ..\packages\System.Text.Json.8.0.6\lib\net462\System.Text.Json.dll ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll @@ -302,11 +308,11 @@ powershell.exe -command "& { &'$(SolutionDir)copy-binary.ps1' '$(TargetPath)' '$(TargetFileName)' '$(ConfigurationName)' '$(ProjectName)' }" - + Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". - + \ No newline at end of file diff --git a/Interfaces/My Project/AssemblyInfo.vb b/Interfaces/My Project/AssemblyInfo.vb index 6f812d00..20a72a6e 100644 --- a/Interfaces/My Project/AssemblyInfo.vb +++ b/Interfaces/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/Interfaces/app.config b/Interfaces/app.config index b84988d8..a28a6d31 100644 --- a/Interfaces/app.config +++ b/Interfaces/app.config @@ -40,7 +40,7 @@ - + diff --git a/Interfaces/packages.config b/Interfaces/packages.config index a99c4105..a5d9f6c0 100644 --- a/Interfaces/packages.config +++ b/Interfaces/packages.config @@ -3,8 +3,8 @@ - - + + @@ -26,7 +26,7 @@ - + \ No newline at end of file diff --git a/Jobs/App.config b/Jobs/App.config index d05987f0..6f0dcee6 100644 --- a/Jobs/App.config +++ b/Jobs/App.config @@ -5,6 +5,8 @@ + + diff --git a/Jobs/My Project/AssemblyInfo.vb b/Jobs/My Project/AssemblyInfo.vb index 23a3e63c..b89fb4e8 100644 --- a/Jobs/My Project/AssemblyInfo.vb +++ b/Jobs/My Project/AssemblyInfo.vb @@ -30,5 +30,5 @@ Imports System.Runtime.InteropServices ' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern ' übernehmen, indem Sie "*" eingeben: - - + + diff --git a/Jobs/ZUGFeRD/XRechnungViewDocument.vb b/Jobs/ZUGFeRD/XRechnungViewDocument.vb index aea1b2a2..f6be6bad 100644 --- a/Jobs/ZUGFeRD/XRechnungViewDocument.vb +++ b/Jobs/ZUGFeRD/XRechnungViewDocument.vb @@ -8,6 +8,8 @@ Imports GdPicture14 Imports System.Drawing Imports System.Linq Imports System.Text.RegularExpressions +'11.11.2025 + Public Class XRechnungViewDocument Private ReadOnly _logger As Logger Private ReadOnly _logConfig As LogConfig @@ -74,8 +76,6 @@ Public Class XRechnungViewDocument - MyGDPicturePDF.EnableCompression(True) - MyGDPicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft) MyGDPicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter) MyGDPicturePDF.SetLineWidth(1) @@ -121,6 +121,7 @@ Public Class XRechnungViewDocument Dim oYPlus As Integer = 0 Dim oCreateTextBox As Boolean = False Dim oInvHasDiscount As Boolean = False + Dim oYDyn As Integer = 0 For Each oRow As DataRow In pDTItemValues.Rows Dim Y_eq_lastrow As Boolean = CBool(oRow.Item("Y_eq_lastrow")) Dim oRowCaption As String = oRow.Item("Row_Caption") @@ -226,14 +227,12 @@ Public Class XRechnungViewDocument ' gdpicturePDF.DrawText(fontResName, 10, yPosition, XRechnungStrings.Seperator_Line) yPosition += 5 ElseIf oArea = "POSITION" Then - MyGDPicturePDF.DrawText(fontResName, 10, yPosition, "Pos#") MyGDPicturePDF.DrawText(fontResName, 19, yPosition, "Anz./am.") MyGDPicturePDF.DrawText(fontResName, 35, yPosition, "Einh/Unit") MyGDPicturePDF.DrawText(fontResName, 50, yPosition, "Pos.Text") MyGDPicturePDF.DrawText(fontResName, 163, yPosition, "Steuer/Tax") MyGDPicturePDF.DrawText(fontResName, 181, yPosition, "Betrag/Sum") - yPosition += 5 ElseIf oArea = "ALLOWANCE" Then MyGDPicturePDF.DrawText(fontResName, 10, yPosition, "Pos#") ' MyGDPicturePDF.DrawText(fontResName, 20, yPosition, "Betrag/Amount") @@ -257,9 +256,8 @@ Public Class XRechnungViewDocument oIsPosition = True If oItemSPECNAME = "INVOICE_POSITION_AMOUNT" Then oPosCount += 1 - - - + oYDyn = 0 + yPosition += 5 oPosTerm = "" MyGDPicturePDF.DrawText(fontResName, 10, yPosition, oPosCount) ' @@ -304,7 +302,7 @@ Public Class XRechnungViewDocument If {"INVOICE_POSITION_AMOUNT", "POSITION_ALLOWANCE_ACTUAL_AMOUNT", "RECEIPT_ALLOWANCE_ACTUAL_AMOUNT"}.Contains(oItemSPECNAME) Then oPosCount += 1 oYPlus = 0 - + oYDyn = 0 yPosition += 5 oPosTerm = "" MyGDPicturePDF.DrawText(fontResName, 10, yPosition, oPosCount) @@ -317,15 +315,17 @@ Public Class XRechnungViewDocument End If MyGDPicturePDF.DrawText(fontResName, 181, yPosition, oTerm) Else - Dim oYDyn As Integer = yPosition - 5 + If oYDyn = 0 Then + oYDyn = yPosition + End If Dim oPartsNL As List(Of String) = StringFunctions.SplitTextByNewLine(oItemValue) For Each olinepart As String In oPartsNL Dim oParts As List(Of String) = StringFunctions.SplitText_Length(olinepart, 67) ' Durchlaufen der einzelnen Teile in einer Schleife For Each part As String In oParts + MyGDPicturePDF.DrawText(fontResName, 19, oYDyn, part) oYDyn += 5 oYPlus += 5 - MyGDPicturePDF.DrawText(fontResName, 19, oYDyn, part) Next Next End If @@ -345,15 +345,19 @@ Public Class XRechnungViewDocument End If oPosDesc = "" oPosDesc = oItemValue - Dim oYDyn As Integer = yPosition - 5 + If oYDyn = 0 Then + oYDyn = yPosition + End If + Dim oPartsNL As List(Of String) = StringFunctions.SplitTextByNewLine(oItemValue) + For Each olinepart As String In oPartsNL Dim oParts As List(Of String) = StringFunctions.SplitText_Length(olinepart, 67) ' Durchlaufen der einzelnen Teile in einer Schleife For Each part As String In oParts + MyGDPicturePDF.DrawText(fontResName, oX, oYDyn, part) oYDyn += 5 oYPlus += 5 - MyGDPicturePDF.DrawText(fontResName, oX, oYDyn, part) Next Next @@ -364,15 +368,17 @@ Public Class XRechnungViewDocument Dim cleanedText As String = RemoveNewlinesAndTabs(oItemValue) Dim oParts As List(Of String) = StringFunctions.SplitText_Length(cleanedText, 70) ' Durchlaufen der einzelnen Teile in einer Schleife - Dim oYDyn As Integer = yPosition + If oYDyn = 0 Then + oYDyn = yPosition + End If Dim oPartsNL As List(Of String) = StringFunctions.SplitTextByNewLine(oItemValue) For Each olinepart As String In oPartsNL Dim oPartsPN As List(Of String) = StringFunctions.SplitText_Length(olinepart, 70) ' Durchlaufen der einzelnen Teile in einer Schleife For Each part As String In oPartsPN + MyGDPicturePDF.DrawText(fontResName, 50, oYDyn, part) oYDyn += 5 oYPlus += 5 - MyGDPicturePDF.DrawText(fontResName, 50, oYDyn, part) Next Next @@ -383,15 +389,17 @@ Public Class XRechnungViewDocument Dim cleanedText As String = RemoveNewlinesAndTabs(oItemValue) Dim oParts As List(Of String) = StringFunctions.SplitText_Length(cleanedText, 70) ' Durchlaufen der einzelnen Teile in einer Schleife - Dim oYDyn As Integer = yPosition + If oYDyn = 0 Then + oYDyn = yPosition + End If Dim oPartsNL As List(Of String) = StringFunctions.SplitTextByNewLine(oItemValue) For Each olinepart As String In oPartsNL Dim oPartsPN As List(Of String) = StringFunctions.SplitText_Length(olinepart, 70) ' Durchlaufen der einzelnen Teile in einer Schleife For Each part As String In oPartsPN + MyGDPicturePDF.DrawText(fontResName, 50, oYDyn, part) oYDyn += 5 oYPlus += 5 - MyGDPicturePDF.DrawText(fontResName, 50, oYDyn, part) Next Next 'oPosTerm += $" {oItemValue}" @@ -481,9 +489,12 @@ Public Class XRechnungViewDocument End If Else If oItemSPECNAME = "INVOICE_POSITION_TAX_AMOUNT" And oYPlus > 0 Then - yPosition += oYPlus - 5 + yPosition += oYPlus ElseIf oItemSPECNAME = "RECEIPT_ALLOWANCE_CHARGE_INDICATOR" Then yPosition -= 5 + Else + + End If End If oIndex += 1 @@ -497,6 +508,8 @@ Public Class XRechnungViewDocument Return Nothing End If + MyGDPicturePDF.EnableCompression(True) + 'Finalize And save the PDF oPDFStatus = MyGDPicturePDF.SaveToFile(oOutputPath) If oPDFStatus = GdPictureStatus.OK Then @@ -523,13 +536,40 @@ Public Class XRechnungViewDocument Return Nothing End Try End Function + 'Private Function FormatCurrency(ByVal pValue As String, pCurrencySymbol As String) As String + ' pValue = pValue.Replace(".", ",") + ' Dim oBetrag As Decimal = pValue + ' Dim oFormatiert As String = oBetrag.ToString("N2", New Globalization.CultureInfo("de-DE")) + ' oFormatiert = $"{oFormatiert} {pCurrencySymbol}" + ' Return oFormatiert + 'End Function Private Function FormatCurrency(ByVal pValue As String, pCurrencySymbol As String) As String - pValue = pValue.Replace(".", ",") - Dim oBetrag As Decimal = pValue + pValue = pValue.Trim() + + Dim oBetrag As Decimal + Dim culture As Globalization.CultureInfo + + ' Erkennung des Dezimaltrennzeichens + If pValue.Contains(",") AndAlso Not pValue.Contains(".") Then + culture = New Globalization.CultureInfo("de-DE") ' Komma → deutsches Format + ElseIf pValue.Contains(".") AndAlso Not pValue.Contains(",") Then + culture = New Globalization.CultureInfo("en-US") ' Punkt → englisches Format + Else + ' Mischformat oder Tausendertrennzeichen → Fallback auf aktuelle Culture + culture = Globalization.CultureInfo.CurrentCulture + End If + + ' Parsen mit gewählter Culture + If Not Decimal.TryParse(pValue, Globalization.NumberStyles.Any, culture, oBetrag) Then + Throw New FormatException($"Ungültiger Zahlenwert: {pValue}") + End If + + ' Formatieren mit deutscher Culture Dim oFormatiert As String = oBetrag.ToString("N2", New Globalization.CultureInfo("de-DE")) - oFormatiert = $"{oFormatiert} {pCurrencySymbol}" - Return oFormatiert + Return $"{oFormatiert} {pCurrencySymbol}" End Function + + Private Function FormatStringT(ByVal text As String) As String Return text.Replace(vbCr, " - ").Replace(vbLf, "").Replace(vbTab, " ") End Function diff --git a/c b/c new file mode 100644 index 00000000..c14064b4 --- /dev/null +++ b/c @@ -0,0 +1,66 @@ +51798a28 (HEAD -> master) HEAD@{0}: reset: moving to 51798a28f5fddb5b5e62e5e3944dfa8cea4bb12a +ec3a677c HEAD@{1}: commit: MS Jobs Sichtbeleg +48406884 HEAD@{2}: pull --progress --no-edit --no-stat --recurse-submodules=no origin: Fast-forward +204aaaeb HEAD@{3}: commit: Korrektur +ec378ba3 HEAD@{4}: commit: Modules.Interfaces: Version 2.3.7.0 +35b19cde HEAD@{5}: commit: Modules.Interfaces: Fehlende Elemente der Codeliste UNTDID 7161 (Charge codes) nachgetragen, passend zur Version 2.3.x +9ae5465c HEAD@{6}: commit: Modules.Jobs: Version 3.0.3.0 +82139fc3 HEAD@{7}: commit: Modules.Jobs: 4000 Zeichen-Grenze +f4ba4d9e HEAD@{8}: commit: Modules.Interface: Listen-Items Handling (Item_Type = 4) +0aabc12f HEAD@{9}: commit: Modules.Jobs: Version 3.0.2.0 +adbd0fe9 HEAD@{10}: commit: Modules.Jobs: Kürzen der ITEM_VALUE-Werte entfernt. Tabelle muss VARCHAR(max) vorsehen. +2d6a2df4 HEAD@{11}: commit: Modules.Jobs: Version 3.0.1.0 +e7ccb748 HEAD@{12}: commit: Modules.Interfaces: Version 2.3.6.0 +05355c93 HEAD@{13}: commit: Readonly Property +2007bb91 HEAD@{14}: commit: Modules.Interfaces & Modules.Jobs: Weitergabe der ErrorCodes in den Exceptions, um sie im WebService auswerten zu können. +d7d2ecf8 HEAD@{15}: commit: Modules.Jobs: Replace Case-Insensitiv +447c7ea6 HEAD@{16}: commit: Modules.Jobs: Version 3.0.0.0 +32bb14db HEAD@{17}: commit: Modules.Jobs: Strings-Vergleiche sollten unbedingt mit string.equals() erfolgen! +a5226a81 HEAD@{18}: commit: Modules.Interfaces: Try/Catch und logging +b534c4c7 HEAD@{19}: commit: Modules.Interfaces: Version 2.3.5.0 +dc801383 HEAD@{20}: commit: Modules.Jobs: Version 2.9.9.0 +477bb511 HEAD@{21}: commit: Modules.Interfaces & Modules.Jobs: ZUGFeRD 2.3.x-Logik angepasst. Auswertung der XML-Tabelle korrigiert, das Dictionary wird erst später erstellt. +0b66b805 HEAD@{22}: commit: Modules.Jobs: Version 2.9.8.0 +5fd924d4 HEAD@{23}: commit: Modules.Interfaces: Version 2.3.4.0 +e8ebc302 HEAD@{24}: commit: Modules.Interface + Modules.Jobs: ITEM_TYPE = 4 / Description enthält jetzt BT-Feld-Info / Kommentare / Abfrage BT-Felder +262805d1 HEAD@{25}: commit: Modules.Interface: Datumsformat immer 8-stellig (yyyyMMdd) aufbereiten +623807c5 HEAD@{26}: commit: Modules.Interfaces: Version 2.3.3 +aee7997c HEAD@{27}: commit: Modules.Interfaces: Date/DateTime (yyyy-MM-dd) und Decimal/Numeric-Werte mit CultureInfo.Invariant.Culture speichern. +82a95faa HEAD@{28}: commit: Modules.Jobs: Version 2.9.7.0 +af7534df HEAD@{29}: commit: Modules.Interfaces: Version 2.3.2.0 +fa2c2a64 HEAD@{30}: commit: Modules.Jobs: Keine Hochkomma-Ersetzung mehr bei Bulk-Insert +390a5247 HEAD@{31}: commit: Modules.Interfaces: Belegarten in ZUGFeRD 2.3.x korrigiert und fehlende nachgetragen. +0ed99610 HEAD@{32}: commit: Leere Strings (item_type = 0) nicht mehr in die DB schreiben +2e0ae13a HEAD@{33}: commit: Modules.Jobs: Version 2.9.6.0 +267e0387 HEAD@{34}: commit: Modules.Jobs: Prüfe ob Value überhaupt einen Wert hat, sonst wird auch keine Datei erstellt +2673755b HEAD@{35}: commit: Jobs: base64 / varbinary +5052ce4f HEAD@{36}: commit: Modules.Jobs: Version 2.9.5.0 +717909d7 HEAD@{37}: commit: Modules.Jobs: MIME-Typen (pdf, xlsx, odt) - Fehlerhandling ergänzt, wenn Dateien nicht erstellt werden können. +04a408ab HEAD@{38}: commit: Jobs: MIME-Types + File-Extension + xlsx-Dateien +face3c76 HEAD@{39}: commit: Modules.Database: Version 2.3.6.0 +2d3a1cd2 HEAD@{40}: commit: Korrektur von MS in master nachgezogen +43e95a20 HEAD@{41}: checkout: moving from Update-Net-8 to master +c0054d41 (Update-Net-8) HEAD@{42}: checkout: moving from master to Update-Net-8 +43e95a20 HEAD@{43}: checkout: moving from Update-Net-8 to master +c0054d41 (Update-Net-8) HEAD@{44}: checkout: moving from master to Update-Net-8 +43e95a20 HEAD@{45}: checkout: moving from Update-Net-8 to master +c0054d41 (Update-Net-8) HEAD@{46}: checkout: moving from master to Update-Net-8 +43e95a20 HEAD@{47}: commit: Modules.Jobs: Version 2.9.4.0 +05d0bd60 HEAD@{48}: commit: Modules.Interfaces: Version 2.3.1.0 +7e70c059 HEAD@{49}: commit: Auslesen von embedded Files aus einer XML-Datei +0261d237 HEAD@{50}: pull --progress --no-edit --no-stat --recurse-submodules=no origin: Fast-forward +ea7fe74e HEAD@{51}: pull --progress --no-edit --no-stat --recurse-submodules=no origin: Merge made by the 'ort' strategy. +df04b0a7 HEAD@{52}: commit: Modules.Jobs: Version 2.9.3.0 +ce652760 HEAD@{53}: commit: Modules.Base: version 1.3.9.0 +17d5acee HEAD@{54}: commit: Neue Datum-Konvertierungsfunktion +c7afa2f7 HEAD@{55}: commit: Modules.Interfaces: Version 2.2.9.0 +4d5ab649 HEAD@{56}: commit: Peppol in UBL2.1 umbenannt +f4c3e9b3 HEAD@{57}: commit: Modules.Interfaces: Version 2.2.8.0 +9d76b17b HEAD@{58}: commit: Integration ZUGFeRD 2.3.3 XSD Schema +2ec92511 HEAD@{59}: commit: Modules.Jobs: Version 2.9.2.0 +8e1b9d21 HEAD@{60}: commit: Modules.Interfaces - Version 2.2.7.0 +7ac596b9 HEAD@{61}: pull --progress --no-edit --no-stat --recurse-submodules=no origin: Merge made by the 'ort' strategy. +cf9650be HEAD@{62}: commit: Peppol 3017 / UBL Logik +5774eb76 HEAD@{63}: pull --progress --no-edit --no-stat --recurse-submodules=no origin: Fast-forward +7602f2c8 HEAD@{64}: commit: Nuget Update - GDPicture +c74b7782 HEAD@{65}: clone: from http://git.dd:3000/AppStd/Modules