Sichtbeleg und delete edmi item values mit N''

This commit is contained in:
Developer01
2026-07-01 12:22:59 +02:00
parent 7efc9872e9
commit 484d8de29d
3 changed files with 27 additions and 4 deletions

View File

@@ -1213,7 +1213,7 @@ Public Class ImportZUGFeRDFiles
End Function End Function
Private Function DeleteExistingPropertyValues(pMessageId As String, pConnections As DatabaseConnections) As Boolean 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" Dim oStep As String = "TBEDMI_ITEM_VALUE Delete MessageID Items"
Try Try

View File

@@ -24,7 +24,10 @@ Public Class XRechnungViewDocument
Private Const MARGIN_LEFT As Integer = 10 Private Const MARGIN_LEFT As Integer = 10
Private Const MARGIN_TOP As Integer = 15 Private Const MARGIN_TOP As Integer = 15
Private Const LINE_WIDTH As Integer = 200 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_Y As Integer = 280
Private Const FOOTER_TEXT_Y As Integer = 285 Private Const FOOTER_TEXT_Y As Integer = 285
Private Const LINE_HEIGHT As Integer = 5 Private Const LINE_HEIGHT As Integer = 5
@@ -153,7 +156,7 @@ Public Class XRechnungViewDocument
pdf.SetOrigin(PdfOrigin.PdfOriginTopLeft) pdf.SetOrigin(PdfOrigin.PdfOriginTopLeft)
pdf.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter) pdf.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter)
pdf.SetLineWidth(1) pdf.SetLineWidth(1)
pdf.SetTitle("xInvoice VisualReceipt (2.1)") pdf.SetTitle("xInvoice VisualReceipt")
pdf.SetAuthor("Digital Data GmbH, Ludwig Rinn Str. 16, 35452 Heuchelheim") pdf.SetAuthor("Digital Data GmbH, Ludwig Rinn Str. 16, 35452 Heuchelheim")
' Fonts initialisieren ' Fonts initialisieren
@@ -290,9 +293,29 @@ Public Class XRechnungViewDocument
If (context.YPosition + requiredSpace) >= PAGE_HEIGHT_LIMIT Then If (context.YPosition + requiredSpace) >= PAGE_HEIGHT_LIMIT Then
CreateNewPage(context) 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}") _logger.Debug($"Area-Switch [{context.CurrentArea}]: Page break BEFORE header! New YPosition: {context.YPosition}")
End If 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) DrawAreaHeader(context, areaCaption)
DrawAreaSpecificHeaders(context) DrawAreaSpecificHeaders(context)
End If End If

View File

@@ -6,7 +6,7 @@ param(
) )
$ArchiveFolderName = "Archiv" $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) $DestinationFilePath = [IO.Path]::Combine($DestinationPath, $FileName)
$ArchiveBasePath = [IO.Path]::Combine($DestinationPath, $ArchiveFolderName) $ArchiveBasePath = [IO.Path]::Combine($DestinationPath, $ArchiveFolderName)