diff --git a/Jobs/ZUGFeRD/ImportZUGFeRDFiles.vb b/Jobs/ZUGFeRD/ImportZUGFeRDFiles.vb index 7cb74e47..fd603b81 100644 --- a/Jobs/ZUGFeRD/ImportZUGFeRDFiles.vb +++ b/Jobs/ZUGFeRD/ImportZUGFeRDFiles.vb @@ -1213,7 +1213,7 @@ Public Class ImportZUGFeRDFiles End Function Private Function DeleteExistingPropertyValues(pMessageId As String, pConnections As DatabaseConnections) As Boolean - Dim oDelSQL = $"DELETE FROM TBEDMI_ITEM_VALUE where REFERENCE_GUID = '{pMessageId}'" + Dim oDelSQL = $"DELETE FROM TBEDMI_ITEM_VALUE where REFERENCE_GUID = N'{pMessageId}'" Dim oStep As String = "TBEDMI_ITEM_VALUE Delete MessageID Items" Try diff --git a/Jobs/ZUGFeRD/XRechnungViewDocument.vb b/Jobs/ZUGFeRD/XRechnungViewDocument.vb index 31648bfe..6292f59e 100644 --- a/Jobs/ZUGFeRD/XRechnungViewDocument.vb +++ b/Jobs/ZUGFeRD/XRechnungViewDocument.vb @@ -24,7 +24,10 @@ Public Class XRechnungViewDocument Private Const MARGIN_LEFT As Integer = 10 Private Const MARGIN_TOP As Integer = 15 Private Const LINE_WIDTH As Integer = 200 - Private Const PAGE_HEIGHT_LIMIT As Integer = 275 + Private Const PAGE_HEIGHT_LIMIT As Integer = 278 ' ← war fälschlich auf 275 zurückgesetzt: bei 275 bleiben + ' bis zu 2 Zeilen (10mm) ungenutzter Platz vor dem Footer + ' (FOOTER_Y=280), wodurch Inhalt unnötig auf die nächste + ' Seite umbricht, obwohl noch Platz vorhanden wäre. Private Const FOOTER_Y As Integer = 280 Private Const FOOTER_TEXT_Y As Integer = 285 Private Const LINE_HEIGHT As Integer = 5 @@ -153,7 +156,7 @@ Public Class XRechnungViewDocument pdf.SetOrigin(PdfOrigin.PdfOriginTopLeft) pdf.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter) pdf.SetLineWidth(1) - pdf.SetTitle("xInvoice VisualReceipt (2.1)") + pdf.SetTitle("xInvoice VisualReceipt") pdf.SetAuthor("Digital Data GmbH, Ludwig Rinn Str. 16, 35452 Heuchelheim") ' Fonts initialisieren @@ -290,9 +293,29 @@ Public Class XRechnungViewDocument If (context.YPosition + requiredSpace) >= PAGE_HEIGHT_LIMIT Then CreateNewPage(context) + context.YDynamic = 0 ' Seitenbruch: YDynamic-Korrektur unten darf nicht greifen _logger.Debug($"Area-Switch [{context.CurrentArea}]: Page break BEFORE header! New YPosition: {context.YPosition}") End If + ' *** BUGFIX: Leerzeile vor Area-Header bei POSITION/DESCRIPTION-Übergang *** + ' + ' DrawAreaHeader zeichnet die Trennlinie bei: context.YPosition + LINE_HEIGHT. + ' Nach Areas die RenderMultiLineText verwenden (POSITION, ALLOWANCE), hat + ' HandleArticleTextFollowUp YPosition bereits auf YDynamic gesetzt – das ist + ' eine Zeile NACH dem letzten gerenderten Text (so arbeitet RenderMultiLineText). + ' DrawAreaHeader addiert nochmals +LINE_HEIGHT → insgesamt 2 Zeilen Abstand + ' statt der gewünschten 1 Zeile (= Trennlinie direkt nach dem letzten Inhalt). + ' + ' Erkennungsmerkmal: context.YDynamic > 0 bedeutet, der vorige Bereich hat + ' YPosition über den YDynamic-Sync bereits um 1 LINE_HEIGHT vorgerückt. + ' Korrektur: 1 LINE_HEIGHT wieder abziehen, damit DrawAreaHeader den richtigen + ' Abstand erzeugt. YDynamic selbst wird NICHT zurückgesetzt, damit + ' yPositionAlreadyAdvanced in HandlePositionAmountFollowUp weiterhin korrekt + ' erkennen kann, dass kein weiterer Vorschub nötig ist. + If context.YDynamic > 0 Then + context.YPosition -= LINE_HEIGHT + End If + DrawAreaHeader(context, areaCaption) DrawAreaSpecificHeaders(context) End If diff --git a/copy-binary.ps1 b/copy-binary.ps1 index 317ca9b5..74787557 100644 --- a/copy-binary.ps1 +++ b/copy-binary.ps1 @@ -6,7 +6,7 @@ param( ) $ArchiveFolderName = "Archiv" -$DestinationPath = "P:\Install .Net\0 DD - Bibliotheken\Modules\$ProjectName\" +$DestinationPath = "M:\Bibliotheken\Digital Data\DD_Modules\$ProjectName\" $DestinationFilePath = [IO.Path]::Combine($DestinationPath, $FileName) $ArchiveBasePath = [IO.Path]::Combine($DestinationPath, $ArchiveFolderName)