diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb
index 82b085ff..219cb501 100644
--- a/SDL/Fakturierung/cAutomailversand.vb
+++ b/SDL/Fakturierung/cAutomailversand.vb
@@ -610,7 +610,7 @@ Public Class cAutomailversand
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "
"
- TextHTML &= cFakturierung.getSignature(AD.LandKz, FirmaID, True, True,,,,, , True)
+ TextHTML &= cFakturierung.getSignature(AD.LandKz, FirmaID, True, True,,,,,, True)
Mail.HTMLBody = "
" & TextHTML & "
"
Mail.To = MailTo
diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb
index 540d1ee1..a2a35469 100644
--- a/SDL/Fakturierung/cFakturierung.vb
+++ b/SDL/Fakturierung/cFakturierung.vb
@@ -3829,7 +3829,7 @@ Public Class cFakturierung
Case 24 'AMBAR
Dim defaultMail = getDefaultMail("AMBAR", departmentmailadress, fakturierung)
getSignature &= imgTag
- If displayFirmenmane Then getSignature &= "
AMBAR | IMPORT ZOLL
"
+ If displayFirmenmane Then getSignature &= "
AMBAR Logistic Services GmbH | Spedition - Zollservice - Lagerung
"
getSignature &= "D 83435 Bad Reichenhall, Reichenhallerstrasse 62
T +49 8651 9962492 | F +49 8651 9962493 | @ " & If(individuell, emailindividuell, defaultMail) & " | www.ambarlog.com | DE309105428
"
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
Case 21 'UNISPED
diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb
index 2672ea20..bbf46201 100644
--- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb
+++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb
@@ -1,4 +1,5 @@
Imports System.Web.UI.WebControls.Expressions
+Imports com.sun.xml.internal.rngom
Imports VERAG_PROG_ALLGEMEIN
Public Class usrCntlFaktAbrechnung
@@ -1803,17 +1804,8 @@ Public Class usrCntlFaktAbrechnung
With dgvAnhaenge
.Rows.Clear()
- If SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.AvisoID IsNot Nothing AndAlso SPEDBUCH.SendungID IsNot Nothing Then
- Dim dt = SQL.loadDgvBySql("SELECT [anh_docId],[anh_id],[anh_Art],[anh_Name] FROM [tblAvisoAnhaenge] where (anh_SendungsId='" & SPEDBUCH.SendungID & "' OR (anh_AvisoId='" & SPEDBUCH.AvisoID & "' AND anh_SendungsId is null))", "AVISO")
- If dt IsNot Nothing Then
- For Each r In dt.Rows
- .Rows.Add(0, r("anh_Art"), r("anh_Name"), r("anh_docId"), r("anh_id"))
- Next
- End If
-
-
- End If
+ LoadAvisoAttachmentsFromSPEDBUCH(dgvAnhaenge)
RECHNUNG.LOAD_ANHAENGE()
@@ -1826,36 +1818,16 @@ Public Class usrCntlFaktAbrechnung
.Rows.Add(0, "", RG_AH.Bezeichnung, RG_AH.dsId, RG_AH.anhId)
End If
Next
- '-----------------------------
- 'addCBamFlyer(dgvAnhaenge)
+
'-----------------------------
'ANHÄNGE SELEKTIEREN
'-----------------------------
- For Each RG_AH In RECHNUNG.ANHAENGE
- For Each r As DataGridViewRow In .Rows
- If r.Cells("clmnDsId").Value = RG_AH.dsId Or r.Cells("clmnAnhId").Value = 0 Then 'anh_id = 0 --> Anhang ohne AVISO-Bezug
- DirectCast(r.Cells("optAnhSel"), DataGridViewCheckBoxCell).Value = False
- End If
+ AutoSelectAttachments(dgvAnhaenge)
- If r.Cells("clmnBezeichnung").Value.ToString.ToLower.Contains("handelsrechnung") AndAlso kdFirmaRechnungAn.KdData_KUNDE_ERW IsNot Nothing AndAlso kdFirmaRechnungAn.KdData_KUNDE_ERW.kde_autoselect_handelsrechnung Then
- DirectCast(r.Cells("optAnhSel"), DataGridViewCheckBoxCell).Value = True
- End If
-
- Next
- Next
- '-----------------------------
- If RECHNUNG.ANHAENGE.Count = 0 Then
- For Each rowTemp In .Rows
- If rowTemp.Cells("clmnBezeichnung").Value.ToString.ToLower.Contains("handelsrechnung") AndAlso kdFirmaRechnungAn.KdData_KUNDE_ERW IsNot Nothing AndAlso kdFirmaRechnungAn.KdData_KUNDE_ERW.kde_autoselect_handelsrechnung Then
- DirectCast(rowTemp.Cells("optAnhSel"), DataGridViewCheckBoxCell).Value = True
- End If
- Next
- End If
End If
- 'Anhänge aus USTVA -> SPED-BUCH + Excel Pos-Liste
If SPEDBUCH IsNot Nothing AndAlso RECHNUNG IsNot Nothing AndAlso RECHNUNG.RK_ID > 0 Then
If FIRMA IsNot Nothing Then
If FIRMA.Firma_ID = 19 AndAlso SPEDBUCH.ErfassungsNr <> "" AndAlso SPEDBUCH.ErfassungsNr > 0 AndAlso (SPEDBUCH.Abfertigungsart = 114 Or SPEDBUCH.Abfertigungsart = 115 Or SPEDBUCH.Abfertigungsart = 10) Then
@@ -1866,120 +1838,12 @@ Public Class usrCntlFaktAbrechnung
Dim Antrag_LandKz = ""
If USTV.UStVAn_ID > 0 Then Antrag_LandKz = SQL.DLookup("LandKz", "[Länderverzeichnis für die Außenhandelsstatistik]", "Landnr='" & USTV.UStVAn_LandNr & "'", "FMZOLL")
- 'soll immer alle POS bekommen! laut Lidya! 28.04.2025 - aber nicht im Excel-Format sondern als PDF-Batinic 15.05.2025
- Dim dtPOSList As New DataTable
- Dim prt As String = func.generatePosList(USTV, "", "", "", False, "prt", dtPOSList, isVZ, IIf(RECHNUNG IsNot Nothing, RECHNUNG.RK_ID, -1))
- If prt <> "" Then
+ LoadPosList(dgvAnhaenge, func, USTV)
- Try
- Dim tmpPath = createPOSReport(dtPOSList, USTV)
- Dim reportAktualisiert As Boolean = False
+ loadUSTVAttachments(dgvAnhaenge, dt, Antrag_LandKz, USTV, func)
- If Not String.IsNullOrWhiteSpace(tmpPath) Then
-
- Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "POS_LISTE", "", "", SPEDBUCH.AbfertigungsNr & ".pdf", USTV.UStVAn_KuNr, False)
- If Not DS.hasITEMS OrElse (DS.hasITEMS AndAlso DS.da_date < USTV.UStVAn_Zeitstempel) Then
- Dim DS_NEW As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "POS_LISTE", "", "", SPEDBUCH.AbfertigungsNr & "_" & RECHNUNG.RK_ID & ".pdf", USTV.UStVAn_KuNr, False) ' Wechsel auf neues Namensschema
- If Not DS_NEW.hasITEMS Then
- DS_NEW.uploadDataToDATENSERVER(tmpPath,,, False,, True, True)
- reportAktualisiert = True
- ElseIf DS_NEW.da_date <= USTV.UStVAn_Zeitstempel Then
- DS_NEW.uploadDataToDATENSERVER(tmpPath,,, False,, True, True)
- reportAktualisiert = True
- End If
- DS = DS_NEW
- End If
-
-
-
- If .Rows.Count > 0 Then
- For Each r As DataGridViewRow In .Rows
- If .Columns.Contains("clmnBezeichnung") AndAlso r.Cells("clmnBezeichnung").Value = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then
- If reportAktualisiert Then
- .Rows.Remove(r)
- For Each ATT As cRechnungsausgangAnhaenge In RECHNUNG.ANHAENGE
- If ATT.Bezeichnung = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then
- Dim ANH_DEL As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangAnhaenge()
- ANH_DEL.DELETE(ATT.RK_ID, ATT.dsId)
- End If
- Next
- End If
-
-
- End If
-
- Next
-
- End If
- If RECHNUNG.ANHAENGE.Count > 0 Then
- If (RECHNUNG.DruckDatumZeit IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.Bezeichnung = DS.da_name)) OrElse RECHNUNG.DruckDatumZeit Is Nothing Then
- If reportAktualisiert Then .Rows.Add(-1, "POS-LIST", DS.da_name, DS.da_id, -1)
- End If
- Else
- .Rows.Add(-1, "POS-LIST", DS.da_name, DS.da_id, -1)
- End If
-
-
- End If
-
-
- Catch ex As Exception
-
- MsgBox(ex.Message & ex.StackTrace)
-
- End Try
-
- End If
-
- If dt IsNot Nothing Then
- For Each r In dt.Rows
-
- 'WARUM NOCHMAL not null??? -> weil laut lydia erst ab 2025 (und ab diesem Datum wird die daid in der USTVA_POS befüllt) die Dokumente digital mitgeschickt werden, vorher noch alles per POST!!!!!!!!!!!!!!!!!!
- If Not IsDBNull(r("UStVPo_daId")) Then
-
- If RECHNUNG.ANHAENGE IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.dsId = r("UStVPo_daId")) Then 'wenn der Anhang schon existiert!
-
- Dim DAID As String = ""
- DAID = func.getPDF(r("UStVPo_SchnittstellenNr"), r("UStVPo_ReNr"), r("UStVPo_ReDat"), r("UStVPo_daId"), False, True, Antrag_LandKz, USTV, New cFakturierung, True)
-
- Dim nameLief As String = ""
-
- Select Case r("UStVPo_SchnittstellenNr")
- Case 1 : nameLief = "VERAG-" 'Verag360
- Case 2, 8, 12 : nameLief = "IDS-"
- Case 3 : nameLief = "IT-"
- Case 4, 9 : nameLief = "MSE-"
- Case 5, 10 : nameLief = "UTA-"
- Case 6, 11 : nameLief = "PLOSE-"
- Case 7 : nameLief = "RMC-"
- End Select
-
- nameLief &= "RE"
-
- If DAID <> "" AndAlso IsNumeric(DAID) AndAlso r("UStVPo_SchnittstellenNr") <> 1 Then
- Dim daidno As Integer = CInt(DAID)
- Dim ds As New cDATENSERVER(daidno)
- .Rows.Add(-1, nameLief, ds.da_name, ds.da_id, -1)
-
- ElseIf DAID <> "" AndAlso r("UStVPo_SchnittstellenNr") = 1 Then
-
- Dim DS_Eigenrechnungen As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "VERAG-RECHNUNGEN", "", "", USTV.UStVAn_KuNr & "_" & r("UStVPo_ReNr") & ".pdf", USTV.UStVAn_KuNr, False)
-
- If Not DS_Eigenrechnungen.hasITEMS Then 'falls bereits vorhanden, nicht nochmals erstellen!
- DS_Eigenrechnungen.uploadDataToDATENSERVER(DAID, USTV.UStVAn_KuNr & "_" & r("UStVPo_ReNr") & ".pdf",, False,, True, True)
- End If
- .Rows.Add(-1, nameLief, DS_Eigenrechnungen.da_name, DS_Eigenrechnungen.da_id, -1)
-
-
- End If
-
- End If
- End If
-
- Next
End If
End If
- End If
End If
@@ -1989,6 +1853,168 @@ Public Class usrCntlFaktAbrechnung
dgvAnhaenge.ClearSelection()
End Sub
+ Private Sub LoadAvisoAttachmentsFromSPEDBUCH(dgv As DataGridView)
+ If SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.AvisoID IsNot Nothing AndAlso SPEDBUCH.SendungID IsNot Nothing Then
+
+ Dim dt = SQL.loadDgvBySql("SELECT [anh_docId],[anh_id],[anh_Art],[anh_Name] FROM [tblAvisoAnhaenge] where (anh_SendungsId='" & SPEDBUCH.SendungID & "' OR (anh_AvisoId='" & SPEDBUCH.AvisoID & "' AND anh_SendungsId is null))", "AVISO")
+
+ If dt IsNot Nothing Then
+ For Each r In dt.Rows
+ dgv.Rows.Add(0, r("anh_Art"), r("anh_Name"), r("anh_docId"), r("anh_id"))
+ Next
+ End If
+
+
+ End If
+ End Sub
+
+ Private Sub AutoSelectAttachments(dgv As DataGridView)
+
+ For Each RG_AH In RECHNUNG.ANHAENGE
+ For Each r As DataGridViewRow In dgv.Rows
+ If r.Cells("clmnDsId").Value = RG_AH.dsId Or r.Cells("clmnAnhId").Value = 0 Then 'anh_id = 0 --> Anhang ohne AVISO-Bezug
+ DirectCast(r.Cells("optAnhSel"), DataGridViewCheckBoxCell).Value = True
+ End If
+
+ If r.Cells("clmnBezeichnung").Value.ToString.ToLower.Contains("handelsrechnung") AndAlso kdFirmaRechnungAn.KdData_KUNDE_ERW IsNot Nothing AndAlso kdFirmaRechnungAn.KdData_KUNDE_ERW.kde_autoselect_handelsrechnung Then
+ DirectCast(r.Cells("optAnhSel"), DataGridViewCheckBoxCell).Value = True
+ End If
+
+ Next
+ Next
+ '-----------------------------
+ If RECHNUNG.ANHAENGE.Count = 0 Then
+ For Each rowTemp In dgv.Rows
+ If rowTemp.Cells("clmnBezeichnung").Value.ToString.ToLower.Contains("handelsrechnung") AndAlso kdFirmaRechnungAn.KdData_KUNDE_ERW IsNot Nothing AndAlso kdFirmaRechnungAn.KdData_KUNDE_ERW.kde_autoselect_handelsrechnung Then
+ DirectCast(rowTemp.Cells("optAnhSel"), DataGridViewCheckBoxCell).Value = True
+ End If
+ Next
+ End If
+
+ End Sub
+
+ Private Sub LoadPosList(dgv As DataGridView, FUNC As cMDMFunctionsAllgemein, USTV As cUSTVAntrag)
+
+ 'soll immer alle POS bekommen! laut Lidya! 28.04.2025 - aber nicht im Excel-Format sondern als PDF-Batinic 15.05.2025
+ Dim dtPOSList As New DataTable
+ Dim prt As String = FUNC.generatePosList(USTV, "", "", "", False, "prt", dtPOSList, isVZ, IIf(RECHNUNG IsNot Nothing, RECHNUNG.RK_ID, -1))
+ If prt <> "" Then
+
+ Try
+ Dim tmpPath = createPOSReport(dtPOSList, USTV)
+ Dim reportAktualisiert As Boolean = False
+
+ If Not String.IsNullOrWhiteSpace(tmpPath) Then
+
+ Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "POS_LISTE", "", "", SPEDBUCH.AbfertigungsNr & ".pdf", USTV.UStVAn_KuNr, False)
+ If Not DS.hasITEMS OrElse (DS.hasITEMS AndAlso DS.da_date < USTV.UStVAn_Zeitstempel) Then
+ Dim DS_NEW As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "POS_LISTE", "", "", SPEDBUCH.AbfertigungsNr & "_" & RECHNUNG.RK_ID & ".pdf", USTV.UStVAn_KuNr, False) ' Wechsel auf neues Namensschema
+ If Not DS_NEW.hasITEMS Then
+ DS_NEW.uploadDataToDATENSERVER(tmpPath,,, False,, True, True)
+ reportAktualisiert = True
+ ElseIf DS_NEW.da_date <= USTV.UStVAn_Zeitstempel Then
+ DS_NEW.uploadDataToDATENSERVER(tmpPath,,, False,, True, True)
+ reportAktualisiert = True
+ End If
+ DS = DS_NEW
+ End If
+
+
+
+ If dgv.Rows.Count > 0 Then
+ For Each r As DataGridViewRow In dgv.Rows
+ If dgv.Columns.Contains("clmnBezeichnung") AndAlso r.Cells("clmnBezeichnung").Value = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then
+ If reportAktualisiert Then
+ dgv.Rows.Remove(r)
+ For Each ATT As cRechnungsausgangAnhaenge In RECHNUNG.ANHAENGE
+ If ATT.Bezeichnung = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then
+ Dim ANH_DEL As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangAnhaenge()
+ ANH_DEL.DELETE(ATT.RK_ID, ATT.dsId)
+ End If
+ Next
+ End If
+
+
+ End If
+
+ Next
+
+ End If
+ If RECHNUNG.ANHAENGE.Count > 0 Then
+ If (RECHNUNG.DruckDatumZeit IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.Bezeichnung = DS.da_name)) OrElse RECHNUNG.DruckDatumZeit Is Nothing Then
+ If reportAktualisiert Then dgv.Rows.Add(-1, "POS-LIST", DS.da_name, DS.da_id, -1)
+ End If
+ Else
+ dgv.Rows.Add(-1, "POS-LIST", DS.da_name, DS.da_id, -1)
+ End If
+
+
+ End If
+
+
+ Catch ex As Exception
+
+ MsgBox(ex.Message & ex.StackTrace)
+
+ End Try
+
+ End If
+
+
+ End Sub
+
+ Private Sub loadUSTVAttachments(dgv As DataGridView, dt As DataTable, Antrag_LandKz As String, ustv As cUSTVAntrag, FUNC As cMDMFunctionsAllgemein)
+
+ If dt IsNot Nothing Then
+ For Each r In dt.Rows
+
+ 'WARUM NOCHMAL not null??? -> weil laut lydia erst ab 2025 (und ab diesem Datum wird die daid in der USTVA_POS befüllt) die Dokumente digital mitgeschickt werden, vorher noch alles per POST!!!!!!!!!!!!!!!!!!
+ If Not IsDBNull(r("UStVPo_daId")) Then
+
+ If RECHNUNG.ANHAENGE IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.dsId = r("UStVPo_daId")) Then 'wenn der Anhang schon existiert!
+
+ Dim DAID As String = ""
+ DAID = FUNC.getPDF(r("UStVPo_SchnittstellenNr"), r("UStVPo_ReNr"), r("UStVPo_ReDat"), r("UStVPo_daId"), False, True, Antrag_LandKz, ustv, New cFakturierung, True)
+
+ Dim nameLief As String = ""
+
+ Select Case r("UStVPo_SchnittstellenNr")
+ Case 1 : nameLief = "VERAG-" 'Verag360
+ Case 2, 8, 12 : nameLief = "IDS-"
+ Case 3 : nameLief = "IT-"
+ Case 4, 9 : nameLief = "MSE-"
+ Case 5, 10 : nameLief = "UTA-"
+ Case 6, 11 : nameLief = "PLOSE-"
+ Case 7 : nameLief = "RMC-"
+ End Select
+
+ nameLief &= "RE"
+
+ If DAID <> "" AndAlso IsNumeric(DAID) AndAlso r("UStVPo_SchnittstellenNr") <> 1 Then
+ Dim daidno As Integer = CInt(DAID)
+ Dim ds As New cDATENSERVER(daidno)
+ dgv.Rows.Add(-1, nameLief, ds.da_name, ds.da_id, -1)
+
+ ElseIf DAID <> "" AndAlso r("UStVPo_SchnittstellenNr") = 1 Then
+
+ Dim DS_Eigenrechnungen As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "VERAG-RECHNUNGEN", "", "", ustv.UStVAn_KuNr & "_" & r("UStVPo_ReNr") & ".pdf", ustv.UStVAn_KuNr, False)
+
+ If Not DS_Eigenrechnungen.hasITEMS Then 'falls bereits vorhanden, nicht nochmals erstellen!
+ DS_Eigenrechnungen.uploadDataToDATENSERVER(DAID, ustv.UStVAn_KuNr & "_" & r("UStVPo_ReNr") & ".pdf",, False,, True, True)
+ End If
+ dgv.Rows.Add(-1, nameLief, DS_Eigenrechnungen.da_name, DS_Eigenrechnungen.da_id, -1)
+
+
+ End If
+
+ End If
+ End If
+
+ Next
+ End If
+
+ End Sub
+
Private Function createPOSReport(dtPOSList As DataTable, USTV As cUSTVAntrag) As String
@@ -3472,9 +3498,12 @@ Public Class usrCntlFaktAbrechnung
setAutomailversand(True)
If saveMe() Then
- initRECHNUNG()
+ If FIRMA IsNot Nothing AndAlso FIRMA.Firma_ID = 19 Then initRECHNUNG(RECHNUNG.RK_ID)
End If
+ '
+
+
End Sub
Private Sub setAutomailversand(showMessageBox As Boolean)
diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb
index 41868347..cf7e96af 100644
--- a/SDL/My Project/AssemblyInfo.vb
+++ b/SDL/My Project/AssemblyInfo.vb
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
'
-
-
+
+
diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb
index 4783c019..eb15378e 100644
--- a/SDL/USTV/frmMDM_USTVAntrag.vb
+++ b/SDL/USTV/frmMDM_USTVAntrag.vb
@@ -398,6 +398,10 @@ Public Class frmMDM_USTVAntrag
USTV_ANTRAG.UStVAn_AntragArt = cboAntragArt._value
USTV_ANTRAG.UStVAn_StatusText = rtbStatusText.Text
+ If USTV_ANTRAG.UStVAn_MWSTEingang_offen Is Nothing Then
+ USTV_ANTRAG.UStVAn_MWSTEingang_offen = False
+ End If
+
USTV_ANTRAG.UStVAn_RGRetour = cbxRGretour.Checked
USTV_ANTRAG.FilialenNr = cbxFiliale._value
diff --git a/SDL/USTV/usrCntlUSTV.vb b/SDL/USTV/usrCntlUSTV.vb
index adfce006..3f7e454f 100644
--- a/SDL/USTV/usrCntlUSTV.vb
+++ b/SDL/USTV/usrCntlUSTV.vb
@@ -1822,7 +1822,7 @@ Public Class usrCntlUSTV
Private Sub ExportToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExportToolStripMenuItem.Click
- Dim sqlStr As String = "SELECT [UStVAn_ID] as ID,[UStVAn_KuNr] as KDNR,[UStVAn_Name] as Kundename,Adressen.LandKz as LKZ_KD, case when UstIdKz is not null and UstIdNr is not null THEN UstIdKz +'' + UstIdNr ELSE isnull(Steuernummer,'') END as SteuerUIDNr, LfdA.LandKz as LKZ,cast([UStVAn_ReDatVon] as Date) as ReDatVon,cast([UStVAn_ReDatBis] as Date) as ReDatBis , cast(UStVAn_AntragEingereichtAm as Date) as EingereichtAm,[UStVAn_3470] as An3470 ,[UStVAn_Währungscode] as WKZ,[UStVAn_USteuerbetrag] as Steuerbetrag,[UStVAn_Erstattungsbetrag] as Erstattungsbetrag,[UStVAn_USteuerbetragEUR] as SteuerbetragEUR,[UStVAn_ErstattungsbetragEUR] as ErstattungsbetragEUR,(cast([UStVAn_USteuerbetragEUR] as decimal(17,2)) - cast( [UStVAn_ErstattungsbetragEUR] as decimal(17,2))) as DifferenzbetragEUR, [UStVAn_Sachbearbeiter] as Sachbearbeiter, UStVAn_AntragArt as Art, stnr.[StNrFürRückerstattungUSt] as SteuerNr,'' as BANK, ''as Diff, '' as BelNr,(isnull(UStVAn_VZBetrag,0) - isnull(UStVAn_RZBetragVZ,0)) as VZ, '' as '3470', '' as GS, '' as RZVZ, '' as Info, '' as VZDIFF,'' as 'RG Retour' FROM [tblUStVAntrag]
+ Dim sqlStr As String = "SELECT [UStVAn_ID] as ID,[UStVAn_KuNr] as KDNR,[UStVAn_Name] as Kundename,Adressen.LandKz as LKZ_KD, case when UstIdKz is not null and UstIdNr is not null THEN UstIdKz +'' + UstIdNr ELSE isnull(Steuernummer,'') END as SteuerUIDNr, LfdA.LandKz as LKZ,cast([UStVAn_ReDatVon] as Date) as ReDatVon,cast([UStVAn_ReDatBis] as Date) as ReDatBis , cast(UStVAn_AntragEingereichtAm as Date) as EingereichtAm,[UStVAn_3470] as An3470 ,[UStVAn_Währungscode] as WKZ,[UStVAn_USteuerbetrag] as Steuerbetrag,[UStVAn_Erstattungsbetrag] as Erstattungsbetrag,[UStVAn_USteuerbetragEUR] as SteuerbetragEUR,[UStVAn_ErstattungsbetragEUR] as ErstattungsbetragEUR,(cast([UStVAn_USteuerbetragEUR] as decimal(17,2)) - cast( [UStVAn_ErstattungsbetragEUR] as decimal(17,2))) as DifferenzbetragEUR, [UStVAn_Sachbearbeiter] as Sachbearbeiter, UStVAn_AntragArt as Art, stnr.[StNrFürRückerstattungUSt] as SteuerNr,'' as BANK, ''as Diff, '' as BelNr,(isnull(UStVAn_VZBetrag,0) - isnull(UStVAn_RZBetragVZ,0)) as VZ, '' as '3470', '' as GS, '' as RZVZ, '' as Info, '' as VZDIFF,isnull(UStVAn_RGRetour,0) as 'RG Retour' FROM [tblUStVAntrag]
inner join [Länderverzeichnis für die Außenhandelsstatistik] as LfdA on UStVAn_LandNr=Landnr
inner join Adressen on AdressenNr=UStVAn_KuNr
left join [tblSteuernummern] as stnr on stnr.AdressenNr = UStVAn_KuNr and stnr.LandNr=UStVAn_LandNr
@@ -1839,7 +1839,7 @@ Public Class usrCntlUSTV
{"AB", "=W{0}-T{0}"}
}
- cProgramFunctions.genExcelFromDT_NEW(dt, ,, "MWST Eingänge " & Today.ToShortDateString,,, True,,,,,, {"L1:AB" & (dt.Rows.Count + 1)}, {"D", "E", "I", "J", "M", "O", "N", "Q", "R", "S"}, formeln)
+ cProgramFunctions.genExcelFromDT_NEW(dt, ,, "MWST Eingänge " & Today.ToShortDateString,,, False,,,,,, {"L1:AB" & (dt.Rows.Count + 1)}, {"D", "E", "I", "J", "M", "O", "N", "Q", "R", "S"}, formeln, True)
Else
@@ -1886,6 +1886,7 @@ Public Class usrCntlUSTV
dt.Columns.Add("RZVZ", GetType(String))
dt.Columns.Add("Info", GetType(String))
dt.Columns.Add("Diff", GetType(Double))
+ dt.Columns.Add("VZDiff", GetType(Double))
dt.Columns.Add("3470", GetType(String))
End If
@@ -1936,6 +1937,7 @@ Public Class usrCntlUSTV
"RZVZ",
"3470",
"Diff",
+ "VZDiff",
"INFO"
}
@@ -1992,6 +1994,9 @@ Public Class usrCntlUSTV
Dim _Diff As Double =
Convert.ToDouble(Blatt.Cells(row, headerMap("Diff")).Value)
+ Dim _VZDiff As Double =
+ Convert.ToDouble(Blatt.Cells(row, headerMap("VZDiff")).Value)
+
If String.IsNullOrWhiteSpace(USTAV_ID) Then
Continue For
End If
@@ -2009,6 +2014,7 @@ Public Class usrCntlUSTV
R("RZVZ") = RZVZ
R("Info") = INFO
R("Diff") = _Diff
+ R("VZDiff") = _VZDiff
R("3470") = _3470
dt.Rows.Add(R)
@@ -2064,7 +2070,7 @@ Public Class usrCntlUSTV
If USTV_ANTRAG.hasEntry Then
If r.Item("3470").ToString.ToLower = "ja" Then
- USTV_ANTRAG.UStVAn_3470 = True
+ USTV_ANTRAG.UStVAn_Sicherheit = True
End If
@@ -2072,8 +2078,10 @@ Public Class usrCntlUSTV
Dim UStV_ERS = New VERAG_PROG_ALLGEMEIN.cUStVErstattungPositionen(Belegdatum, BelegNr, fd.FileName)
If Not UStV_ERS.hasEntry Then
- UStV_ERS.UStVEr_ID = USTV_ANTRAG.getMaxPosNrErst()
- UStV_ERS.UStVEr_interneNr = USTV_ANTRAG.getMaxinternePosNrErst()
+ Dim isVZ As Boolean = False
+
+ UStV_ERS.UStVEr_ID = USTV_ANTRAG.getMaxPosNrErst()
+ UStV_ERS.UStVEr_interneNr = USTV_ANTRAG.getMaxinternePosNrErst()
UStV_ERS.UStVAn_ID = USTV_ANTRAG.UStVAn_ID
UStV_ERS.Belegnummer = BelegNr
UStV_ERS.UStVEr_USteuerbetragEUR = r.Item("BetragEUR")
@@ -2092,9 +2100,10 @@ Public Class usrCntlUSTV
Dim Bemerkung As String = ""
- If Not String.IsNullOrWhiteSpace(r.Item("VZ")) AndAlso IsNumeric(r.Item("VZ")) AndAlso Not IsDBNull(r.Item("VZ")) AndAlso CDbl(r.Item("VZ")) <> 0 Then
- Bemerkung &= "VZ: " & CDbl(r.Item("VZ")).ToString("N2") & " " & USTV_ANTRAG.UStVAn_Währungscode
- UStV_ERS.UStVEr_VZ = CDbl(r.Item("VZ"))
+ If Not String.IsNullOrWhiteSpace(r.Item("VZ")) AndAlso IsNumeric(r.Item("VZ")) AndAlso Not IsDBNull(r.Item("VZ")) AndAlso CDbl(r.Item("VZ")) <> 0 Then
+ Bemerkung &= "VZ: " & CDbl(r.Item("VZ")).ToString("N2") & " " & USTV_ANTRAG.UStVAn_Währungscode
+ isVZ = True
+ UStV_ERS.UStVEr_VZ = CDbl(r.Item("VZ"))
If USTV_ANTRAG.UStVAn_VZBetrag Is Nothing OrElse IsNothing(USTV_ANTRAG.UStVAn_VZBetrag) Then
USTV_ANTRAG.UStVAn_VZBetrag = UStV_ERS.UStVEr_VZ
@@ -2107,20 +2116,31 @@ Public Class usrCntlUSTV
UStV_ERS.UStVEr_Bank = CDbl(r.Item("Bank"))
End If
- If Not String.IsNullOrWhiteSpace(r.Item("Diff")) AndAlso IsNumeric(r.Item("Diff")) AndAlso Not IsDBNull(r.Item("Diff")) AndAlso CDbl(r.Item("Diff")) <> 0 Then
- Bemerkung &= ", Diff: " & CDbl(r.Item("Diff")).ToString("N2")
- UStV_ERS.UStVEr_Differenz = CDbl(r.Item("Diff"))
+ If isVZ Then
+ If Not String.IsNullOrWhiteSpace(r.Item("VZDiff")) AndAlso IsNumeric(r.Item("VZDiff")) AndAlso Not IsDBNull(r.Item("VZDiff")) AndAlso CDbl(r.Item("VZDiff")) <> 0 Then
+ Bemerkung &= ", VZDiff: " & CDbl(r.Item("VZDiff")).ToString("N2")
+ UStV_ERS.UStVEr_Differenz = CDbl(r.Item("VZDiff"))
- End If
-
- If Not String.IsNullOrWhiteSpace(r.Item("RZVZ")) AndAlso IsNumeric(r.Item("RZVZ")) AndAlso Not IsDBNull(r.Item("RZVZ")) AndAlso CDbl(r.Item("RZVZ")) <> 0 Then
- UStV_ERS.UStVEr_RZVZ = CDbl(r.Item("RZVZ")).ToString("N2")
- If USTV_ANTRAG.UStVAn_RZBetragVZ Is Nothing OrElse IsDBNull(USTV_ANTRAG.UStVAn_RZBetragVZ) Then
- USTV_ANTRAG.UStVAn_RZBetragVZ = UStV_ERS.UStVEr_RZVZ
- End If
End If
- If Bemerkung <> "" Then
+ Else
+ If Not String.IsNullOrWhiteSpace(r.Item("Diff")) AndAlso IsNumeric(r.Item("Diff")) AndAlso Not IsDBNull(r.Item("Diff")) AndAlso CDbl(r.Item("Diff")) <> 0 Then
+ Bemerkung &= ", Diff: " & CDbl(r.Item("Diff")).ToString("N2")
+ UStV_ERS.UStVEr_Differenz = CDbl(r.Item("Diff"))
+
+ End If
+ End If
+
+
+
+ If Not String.IsNullOrWhiteSpace(r.Item("RZVZ")) AndAlso IsNumeric(r.Item("RZVZ")) AndAlso Not IsDBNull(r.Item("RZVZ")) AndAlso CDbl(r.Item("RZVZ")) <> 0 Then
+ UStV_ERS.UStVEr_RZVZ = CDbl(r.Item("RZVZ")).ToString("N2")
+ If USTV_ANTRAG.UStVAn_RZBetragVZ Is Nothing OrElse IsDBNull(USTV_ANTRAG.UStVAn_RZBetragVZ) Then
+ USTV_ANTRAG.UStVAn_RZBetragVZ = UStV_ERS.UStVEr_RZVZ
+ End If
+ End If
+
+ If Bemerkung <> "" Then
If Bemerkung.StartsWith(", ") Then
Bemerkung = Bemerkung.Remove(0, 2)
End If
diff --git a/SDL/cProgramFunctions.vb b/SDL/cProgramFunctions.vb
index d5e544e7..8ef575df 100644
--- a/SDL/cProgramFunctions.vb
+++ b/SDL/cProgramFunctions.vb
@@ -1232,7 +1232,7 @@ Public Class cProgramFunctions
Return ""
End Function
- Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional waehrungsZeichen As String = "€", Optional fitCellsToContent As Boolean = False, Optional mergeHeadersToCell As Char = "", Optional Landscape As Boolean = False, Optional fitToOnePage As Boolean = False, Optional openFile As Boolean = True, Optional fitWideToOnePage As Boolean = False, Optional rangeAsBuchhaltung() As String = Nothing, Optional hideRange() As String = Nothing, Optional formeln As Dictionary(Of String, String) = Nothing) As String
+ Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional waehrungsZeichen As String = "€", Optional fitCellsToContent As Boolean = False, Optional mergeHeadersToCell As Char = "", Optional Landscape As Boolean = False, Optional fitToOnePage As Boolean = False, Optional openFile As Boolean = True, Optional fitWideToOnePage As Boolean = False, Optional rangeAsBuchhaltung() As String = Nothing, Optional hideRange() As String = Nothing, Optional formeln As Dictionary(Of String, String) = Nothing, Optional fitCellsToContentExtended As Boolean = False) As String
Try
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName
@@ -1277,24 +1277,24 @@ Public Class cProgramFunctions
Next
End If
- If formeln.Count > 0 Then
+ If formeln IsNot Nothing AndAlso formeln.Count > 0 Then
- For row As Integer = 2 To dt.Rows.Count + 1
+ For row As Integer = 2 To dt.Rows.Count + 1
- For Each formel In formeln
+ For Each formel In formeln
- Dim col = formel.Key
- Dim expr = formel.Value.Replace("{0}", row.ToString())
+ Dim col = formel.Key
+ Dim expr = formel.Value.Replace("{0}", row.ToString())
- wb.Worksheets(0).Cell($"{col}{row}").FormulaA1 = expr
+ wb.Worksheets(0).Cell($"{col}{row}").FormulaA1 = expr
+
+ Next
Next
-
- Next
- End If
+ End If
- If HeaderTxt <> "" Then
+ If HeaderTxt <> "" Then
wb.Worksheets(0).FirstRow.InsertRowsAbove(2)
wb.Worksheets(0).Range("A1").Value = HeaderTxt
wb.Worksheets(0).Range("A1").Style.Font.Bold = True
@@ -1342,6 +1342,10 @@ Public Class cProgramFunctions
Next
End If
+ If fitCellsToContentExtended Then
+ wb.Worksheet(1).Columns().AdjustToContents()
+ End If
+
'If fitCellsToContent Then
' Dim ws = wb.Worksheets(0)