VK Cbam Save, Vollm.ind.

This commit is contained in:
2026-02-24 13:54:29 +01:00
parent c6205619c6
commit 8fdf2b46d1
7 changed files with 212 additions and 13 deletions

View File

@@ -1,4 +1,5 @@
Imports VERAG_PROG_ALLGEMEIN Imports System.IO
Imports VERAG_PROG_ALLGEMEIN
Public Class frmVorauskasse_CBAM Public Class frmVorauskasse_CBAM
Public GesamtBetrag As Double = 0 Public GesamtBetrag As Double = 0
@@ -31,7 +32,7 @@ Public Class frmVorauskasse_CBAM
cATEZ_Greenpulse_CBAM_CostCalculation.calcCBAM_ByCertificatePrice(r.Cells("clmnTarif").Value, r.Cells("clmnWeight").Value, r.Cells("clmnCountry").Value, txtCalc_Defaut_CertPrice._value, r.Cells("clmnYear").Value, cost, emission, benchmark) cATEZ_Greenpulse_CBAM_CostCalculation.calcCBAM_ByCertificatePrice(r.Cells("clmnTarif").Value, r.Cells("clmnWeight").Value, r.Cells("clmnCountry").Value, txtCalc_Defaut_CertPrice._value, r.Cells("clmnYear").Value, cost, emission, benchmark)
If cost > 0 Then If cost > 0 Then
r.Cells("clmnKosten").Value = cost r.Cells("clmnKosten").Value = CDbl(cost.ToString("N2"))
r.Cells("cmlnEmission").Value = emission r.Cells("cmlnEmission").Value = emission
r.Cells("clmnBenchmark").Value = benchmark r.Cells("clmnBenchmark").Value = benchmark
GesamtBetrag += cost GesamtBetrag += cost
@@ -69,4 +70,158 @@ Public Class frmVorauskasse_CBAM
Next Next
cProgramFunctions.genExcelFromDT_NEW(dt, {"E:E"},, "CBAM Kosten",,,,,,, True) cProgramFunctions.genExcelFromDT_NEW(dt, {"E:E"},, "CBAM Kosten",,,,,,, True)
End Sub End Sub
Public Function getValues() As DataTable
Dim dt As New DataTable()
' Spalten anlegen
For Each col As DataGridViewColumn In MyDatagridview1.Columns
dt.Columns.Add(col.Name, GetType(String)) ' oder passenden Typ setzen
Next
' Zeilen kopieren
For Each row As DataGridViewRow In MyDatagridview1.Rows
If Not row.IsNewRow Then
Dim dr As DataRow = dt.NewRow()
For Each col As DataGridViewColumn In MyDatagridview1.Columns
dr(col.Name) = If(row.Cells(col.Name).Value, DBNull.Value)
Next
dt.Rows.Add(dr)
End If
Next
dt.TableName = "cbamdata"
Return dt
End Function
Public Function getValues_DATA() As String
Try
Dim sw As New StringWriter()
Dim dt = getValues()
dt.WriteXml(sw, XmlWriteMode.WriteSchema)
Return sw.ToString()
Catch ex As Exception
MsgBox("Fehler beim Exportieren der Daten: " & ex.Message & ex.StackTrace, MsgBoxStyle.Critical)
End Try
Return ""
End Function
Public Sub setValues_DATA(data As String)
Try
If data Is Nothing Then Exit Sub
If data = "" Then Exit Sub
Dim dt As New DataTable()
Dim sr As New StringReader(data)
dt.ReadXml(sr)
setValues(dt)
Catch ex As Exception
MsgBox("Fehler beim Laden der Daten: " & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Public Shared Function DATA_to_String(data As String) As String
Return DataTableToString_First4Cols(DATA_to_dt(data))
End Function
Public Shared Function DATA_to_dt(data As String) As DataTable
Try
If data Is Nothing Then Return Nothing
If data = "" Then Return Nothing
Dim dt As New DataTable()
Dim sr As New StringReader(data)
dt.ReadXml(sr)
Return dt
Catch ex As Exception
MsgBox("Fehler beim Laden der Daten: " & ex.Message, MsgBoxStyle.Critical)
End Try
Return Nothing
End Function
Public Shared Function DataTableToString_First4Cols(dt As DataTable) As String
If dt Is Nothing OrElse dt.Columns.Count = 0 Then
Return String.Empty
End If
Dim sb As New System.Text.StringBuilder()
' Anzahl der zu verwendenden Spalten (max 5)
Dim colCount As Integer = Math.Min(5, dt.Columns.Count)
' ---- Überschrift ----
For i As Integer = 0 To colCount - 1
sb.Append(dt.Columns(i).ColumnName.Replace("clmn", ""))
If i < colCount - 1 Then
sb.Append(" | ")
End If
Next
sb.AppendLine()
sb.AppendLine(New String("-"c, 50))
' ---- Zeilen ----
For Each dr As DataRow In dt.Rows
For i As Integer = 0 To colCount - 1
Dim value As Object = dr(i)
If value Is DBNull.Value OrElse value Is Nothing Then
sb.Append("")
Else
sb.Append(value.ToString())
End If
If i < colCount - 1 Then
sb.Append(" | ")
End If
Next
sb.AppendLine()
Next
Return sb.ToString()
End Function
Public Sub setValues(dt As DataTable)
Try
' WICHTIG: Auto-Generierung verhindern
MyDatagridview1.AutoGenerateColumns = False
' Falls vorher gebunden war: Binding lösen, damit nichts auto-generiert
If MyDatagridview1.DataSource IsNot Nothing Then
MyDatagridview1.DataSource = Nothing
End If
' Nur Zeilen löschen Spalten bleiben
MyDatagridview1.Rows.Clear()
If dt Is Nothing OrElse dt.Rows.Count = 0 Then Return
MyDatagridview1.SuspendLayout()
For Each dr As DataRow In dt.Rows
Dim rowIndex = MyDatagridview1.Rows.Add()
For Each col As DataGridViewColumn In MyDatagridview1.Columns
' getValues() nutzt col.Name -> daher hier auch col.Name
If dt.Columns.Contains(col.Name) Then
Dim v As Object = dr(col.Name)
MyDatagridview1.Rows(rowIndex).Cells(col.Index).Value =
If(v Is DBNull.Value, Nothing, v)
End If
Next
Next
Catch ex As Exception
MsgBox("Fehler beim Laden der Daten: " & ex.Message, MsgBoxStyle.Critical)
Finally
MyDatagridview1.ResumeLayout()
End Try
End Sub
End Class End Class

View File

@@ -18,6 +18,7 @@ Public Class usrcntlVorauskasse
Public ROLLE As String = "" Public ROLLE As String = ""
Dim VK_ID = -1 Dim VK_ID = -1
Dim SQL As New SQL Dim SQL As New SQL
Dim serializedData_CBAM As String = ""
Sub New() Sub New()
@@ -421,7 +422,7 @@ Public Class usrcntlVorauskasse
cboSprache.Visible = False cboSprache.Visible = False
Label17.Visible = False Label17.Visible = False
Select Case cboFirma._value Select Case cboFirma._value
Case "1" Case "1", "11"
Button6.Visible = True Button6.Visible = True
Case Else Case Else
Button6.Visible = False Button6.Visible = False
@@ -562,6 +563,7 @@ Public Class usrcntlVorauskasse
lklEintragAufheben.Visible = False lklEintragAufheben.Visible = False
End If End If
initKdNrLbl() initKdNrLbl()
serializedData_CBAM = ""
End Sub End Sub
Private Sub lklEintragAufheben_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklEintragAufheben.LinkClicked Private Sub lklEintragAufheben_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklEintragAufheben.LinkClicked
initControlsSave(Nothing) initControlsSave(Nothing)
@@ -684,6 +686,7 @@ Public Class usrcntlVorauskasse
VK.vk_Berechnung_SonstigeKostenText = VERAG_PROG_ALLGEMEIN.SQL.isNullNothing(txtSonstigeKostenText.Text) VK.vk_Berechnung_SonstigeKostenText = VERAG_PROG_ALLGEMEIN.SQL.isNullNothing(txtSonstigeKostenText.Text)
VK.vk_Berechnung_PP = VERAG_PROG_ALLGEMEIN.SQL.isNullNothingDbl(txtPapierePorti._value) VK.vk_Berechnung_PP = VERAG_PROG_ALLGEMEIN.SQL.isNullNothingDbl(txtPapierePorti._value)
VK.vk_serializedData_CBAM = serializedData_CBAM
End Sub End Sub
@@ -731,8 +734,12 @@ Public Class usrcntlVorauskasse
txtSonstigeKosten._value = If(VK.vk_Berechnung_SonstigeKosten, "") txtSonstigeKosten._value = If(VK.vk_Berechnung_SonstigeKosten, "")
txtSonstigeKostenText.Text = If(VK.vk_Berechnung_SonstigeKostenText, "Sonstige Kosten") txtSonstigeKostenText.Text = If(VK.vk_Berechnung_SonstigeKostenText, "Sonstige Kosten")
cboFiliale.changeItem(If(VK.vk_FilialeNr, ""))
txtAbfertigungsNr.Text = If(VK.vk_AbfertigungsNr, "")
txtPapierePorti._value = If(VK.vk_Berechnung_PP, "") txtPapierePorti._value = If(VK.vk_Berechnung_PP, "")
serializedData_CBAM = If(VK.vk_serializedData_CBAM, "")
End Sub End Sub
Sub setDefault() Sub setDefault()
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
@@ -877,8 +884,15 @@ Public Class usrcntlVorauskasse
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Dim f As New frmVorauskasse_CBAM Dim f As New frmVorauskasse_CBAM
' MsgBox(frmVorauskasse_CBAM.DATA_to_String(serializedData_CBAM))
f.setValues_DATA(serializedData_CBAM)
If f.ShowDialog(Me) = DialogResult.OK Then If f.ShowDialog(Me) = DialogResult.OK Then
If f.GesamtBetrag > 0 Then If f.GesamtBetrag > 0 Then
serializedData_CBAM = f.getValues_DATA
' txtEustSonstText.Text = "ZOLL" ' txtEustSonstText.Text = "ZOLL"
txtAndereAbgabenText.Text = "Est. CBAM Cost" txtAndereAbgabenText.Text = "Est. CBAM Cost"
@@ -887,6 +901,7 @@ Public Class usrcntlVorauskasse
txtAndereAbgabenBetrag._value = f.GesamtBetrag txtAndereAbgabenBetrag._value = f.GesamtBetrag
txtSonstigeKosten._value = f.Aufschlag txtSonstigeKosten._value = f.Aufschlag
initBerechnung() initBerechnung()
End If End If
End If End If
End Sub End Sub

View File

@@ -354,8 +354,9 @@ Public Class frmFormulare
Else Else
MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE Vollmacht", FormularManagerArten.DE_Vollmacht)) MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE Vollmacht", FormularManagerArten.DE_Vollmacht))
MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE Vollmacht (indirekt)", FormularManagerArten.DE_Vollmacht_indirekt)) ' MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE Vollmacht (indirekt)", FormularManagerArten.DE_Vollmacht_indirekt))
MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE Fiskal-Vollmacht", FormularManagerArten.DE_Fiskal)) MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE Fiskal-Vollmacht", FormularManagerArten.DE_Fiskal))
MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE/AT Vollmacht (indirekt)", FormularManagerArten.DE_Vollmacht_indirekt))
MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AT Vollmacht", FormularManagerArten.AT_Vollmacht)) MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AT Vollmacht", FormularManagerArten.AT_Vollmacht))
MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AT Vollmacht 4200 EV", FormularManagerArten.AT_Vollmacht_EV)) MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AT Vollmacht 4200 EV", FormularManagerArten.AT_Vollmacht_EV))
MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AT Fiskal-Vollmacht", FormularManagerArten.AT_Fiskal)) MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AT Fiskal-Vollmacht", FormularManagerArten.AT_Fiskal))

View File

@@ -2433,12 +2433,12 @@ Public Class usrCntlSpeditionsBuchSuche
'Problem mit beträge ''Problem mit beträge
If cboFiliale._value = "" Then 'If cboFiliale._value = "" Then
rpt.Dispose() : print.Dispose() ' rpt.Dispose() : print.Dispose()
MsgBox("Bitte Filiale angeben!") ' MsgBox("Bitte Filiale angeben!")
Exit Sub ' Exit Sub
End If 'End If
Dim FirmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Dim FirmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
If cboFiliale._value <> "" Then If cboFiliale._value <> "" Then
@@ -2500,7 +2500,8 @@ Public Class usrCntlSpeditionsBuchSuche
inner JOIN leistungen ON RechnungsausgangPositionen.LeistungsNr=leistungen.LeistungsNr inner JOIN leistungen ON RechnungsausgangPositionen.LeistungsNr=leistungen.LeistungsNr
WHERE 1=1 WHERE 1=1
" & SpedBuchWhere & " " & SpedBuchWhere & "
and Speditionsbuch.Abfertigungsart=" & rpt.Fields.Item("Abfertigungsart").Value & " and Speditionsbuch.Abfertigungsart=" & rpt.Fields.Item("Abfertigungsart").Value &
If(CheckBox1.Checked, " and Speditionsbuch.FilialenNr='" & If(rpt.Fields.Item("FilialenNr") IsNot Nothing, rpt.Fields.Item("FilialenNr").Value, "") & "'", "") & "
and leistungen.Abfertigungskosten=1" and leistungen.Abfertigungskosten=1"
Dim RgBetrag As Double = SQL.getValueTxtBySqlVarList(sqlstrRg, "FMZOLL", SpedBuchList, 0) Dim RgBetrag As Double = SQL.getValueTxtBySqlVarList(sqlstrRg, "FMZOLL", SpedBuchList, 0)
@@ -2509,7 +2510,8 @@ Public Class usrCntlSpeditionsBuchSuche
inner JOIN Vorkosten ON Vorkosten.FilialenNr=Speditionsbuch.FilialenNr and Vorkosten.AbfertigungsNr=Speditionsbuch.AbfertigungsNr and Vorkosten.UnterNr=Speditionsbuch.UnterNr inner JOIN Vorkosten ON Vorkosten.FilialenNr=Speditionsbuch.FilialenNr and Vorkosten.AbfertigungsNr=Speditionsbuch.AbfertigungsNr and Vorkosten.UnterNr=Speditionsbuch.UnterNr
WHERE 1=1 WHERE 1=1
" & SpedBuchWhere & " " & SpedBuchWhere & "
and Speditionsbuch.Abfertigungsart=" & rpt.Fields.Item("Abfertigungsart").Value & "" and Speditionsbuch.Abfertigungsart=" & rpt.Fields.Item("Abfertigungsart").Value &
If(CheckBox1.Checked, " and Speditionsbuch.FilialenNr='" & If(rpt.Fields.Item("FilialenNr") IsNot Nothing, rpt.Fields.Item("FilialenNr").Value, "") & "'", "") & ""
Dim VkBetrag As Double = SQL.getValueTxtBySqlVarList(sqlstrVK, "FMZOLL", SpedBuchList, 0) Dim VkBetrag As Double = SQL.getValueTxtBySqlVarList(sqlstrVK, "FMZOLL", SpedBuchList, 0)

View File

@@ -68,6 +68,7 @@ Public Class cVorauskasse
Property vk_SendungId As Object = Nothing Property vk_SendungId As Object = Nothing
Property vk_AvisoId As Object = Nothing Property vk_AvisoId As Object = Nothing
Property vk_VermerkId As Object = Nothing Property vk_VermerkId As Object = Nothing
Property vk_serializedData_CBAM As Object = Nothing
Dim SQL As New SQL Dim SQL As New SQL
@@ -143,6 +144,7 @@ Public Class cVorauskasse
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_SendungId", vk_SendungId)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_SendungId", vk_SendungId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_AvisoId", vk_AvisoId)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_AvisoId", vk_AvisoId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_VermerkId", vk_VermerkId)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_VermerkId", vk_VermerkId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_serializedData_CBAM", vk_serializedData_CBAM))
Return list Return list
End Function End Function

View File

@@ -31,6 +31,7 @@ Partial Class frmVorlagen
Me.Label2 = New System.Windows.Forms.Label() Me.Label2 = New System.Windows.Forms.Label()
Me.lblCount = New System.Windows.Forms.Label() Me.lblCount = New System.Windows.Forms.Label()
Me.dgvVolagen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.dgvVolagen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.Button2 = New System.Windows.Forms.Button()
CType(Me.dgvVolagen, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.dgvVolagen, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
@@ -105,12 +106,23 @@ Partial Class frmVorlagen
Me.dgvVolagen.Size = New System.Drawing.Size(1094, 569) Me.dgvVolagen.Size = New System.Drawing.Size(1094, 569)
Me.dgvVolagen.TabIndex = 9 Me.dgvVolagen.TabIndex = 9
' '
'Button2
'
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.Location = New System.Drawing.Point(833, 609)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(225, 44)
Me.Button2.TabIndex = 14
Me.Button2.Text = "Vorlage direkt öffnen"
Me.Button2.UseVisualStyleBackColor = True
'
'frmVorlagen 'frmVorlagen
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(1117, 665) Me.ClientSize = New System.Drawing.Size(1117, 665)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.lblCount) Me.Controls.Add(Me.lblCount)
Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.txtSuche) Me.Controls.Add(Me.txtSuche)
@@ -134,4 +146,5 @@ Partial Class frmVorlagen
Friend WithEvents txtSuche As Windows.Forms.TextBox Friend WithEvents txtSuche As Windows.Forms.TextBox
Friend WithEvents Label2 As Windows.Forms.Label Friend WithEvents Label2 As Windows.Forms.Label
Friend WithEvents lblCount As Windows.Forms.Label Friend WithEvents lblCount As Windows.Forms.Label
Friend WithEvents Button2 As Windows.Forms.Button
End Class End Class

View File

@@ -34,7 +34,6 @@ Public Class frmVorlagen
If dgvVolagen.SelectedRows.Count = 0 Then Exit Sub If dgvVolagen.SelectedRows.Count = 0 Then Exit Sub
Dim r As DataGridViewRow = dgvVolagen.SelectedRows(0) Dim r As DataGridViewRow = dgvVolagen.SelectedRows(0)
Dim cDATENSERVER As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(r.Cells("da_kategorie").Value, r.Cells("da_ordner").Value, r.Cells("da_uOrdner1").Value, r.Cells("da_uOrdner2").Value, r.Cells("da_uOrdner3").Value, r.Cells("da_name").Value) Dim cDATENSERVER As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(r.Cells("da_kategorie").Value, r.Cells("da_ordner").Value, r.Cells("da_uOrdner1").Value, r.Cells("da_uOrdner2").Value, r.Cells("da_uOrdner3").Value, r.Cells("da_name").Value)
MsgBox(cDATENSERVER.DATA_LIST.LIST.Count)
cDATENSERVER.OPEN_SINGLE() cDATENSERVER.OPEN_SINGLE()
End Sub End Sub
@@ -66,4 +65,16 @@ Public Class frmVorlagen
End If End If
End Sub End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If dgvVolagen.SelectedRows.Count = 0 Then Exit Sub
Try
Dim r As DataGridViewRow = dgvVolagen.SelectedRows(0)
Dim cDATENSERVER As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(r.Cells("da_kategorie").Value, r.Cells("da_ordner").Value, r.Cells("da_uOrdner1").Value, r.Cells("da_uOrdner2").Value, r.Cells("da_uOrdner3").Value, r.Cells("da_name").Value)
cDATENSERVER.OPEN_SINGLE_ORIG()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Class End Class