div Änderungen (Mailsender, MDM-Einarbeitung, USTVA, Aufschubkonen,etc.)

This commit is contained in:
2026-10-06 10:19:37 +02:00
parent 3860240e63
commit d7e32e516c
13 changed files with 1546 additions and 1400 deletions

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.5.8.2")>
<Assembly: AssemblyFileVersion("1.5.8.2")>
<Assembly: AssemblyVersion("1.5.8.3")>
<Assembly: AssemblyFileVersion("1.5.8.3")>

File diff suppressed because it is too large Load Diff

View File

@@ -761,7 +761,6 @@ Public Class frmMDM_USTVAntrag
loadUSTVFrom_PLOSE(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked, IIf(item.Name = "ploseneu", True, False))
init()
ElseIf item.Name = "rmc" Then
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
loadUSTVFrom_RMC(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked)
init()
ElseIf item.Name = "mse" Then
@@ -1219,13 +1218,23 @@ Public Class frmMDM_USTVAntrag
USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
USTV_POS.UStVPo_Zeitstempel = Now()
If Not IsDBNull(r.Item("rmc_daId_InvAtt")) AndAlso IsNumeric(r.Item("rmc_daId_InvAtt")) AndAlso r.Item("rmc_daId_InvAtt") > 0 Then
Dim DS_ATT_ID As Integer = r.Item("rmc_daId_InvAtt")
Dim isBTO As Boolean = False
If IsNumeric(USTV_POS.UStVPo_daId) AndAlso USTV_POS.UStVPo_daId > 0 Then
If Not IsNothing(r.Item("rmc_isBTO")) AndAlso r.Item("rmc_isBTO") Then
isBTO = True
End If
If Not IsDBNull(r.Item("rmc_daId_InvAtt")) AndAlso IsNumeric(r.Item("rmc_daId_InvAtt")) AndAlso r.Item("rmc_daId_InvAtt") > 0 Then
Dim DS_ATT_ID As Integer = r.Item("rmc_daId_InvAtt")
If IsNumeric(USTV_POS.UStVPo_daId) AndAlso USTV_POS.UStVPo_daId > 0 Then
'merge current daId and invatt-daid
Dim DS_NEW As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "RMC_MERGED", Now.Year, Now.ToString("yyyyMMdd"), USTV_POS.UStVPo_ReNr & "_INVOICE_RMC_ATT.pdf", kdNr, True)
Dim DS_NEW As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "RMC_MERGED", Now.Year, Now.ToString("yyyyMMdd"), USTV_POS.UStVPo_ReNr & "_INVOICE_RMC_ATT" & IIf(isBTO, "_BTO", "_NTO") & ".pdf", kdNr, True)
Dim DS_ATT = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(DS_ATT_ID)
Dim DS_ORG = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(USTV_POS.UStVPo_daId)
@@ -1234,49 +1243,49 @@ Public Class frmMDM_USTVAntrag
If DS_ATT_PATH <> "" AndAlso DS_ORG_PATH <> "" Then
If DS_NEW.uploadDataToDATENSERVER(DS_ORG_PATH) AndAlso DS_NEW.uploadDataToDATENSERVER(DS_ATT_PATH) Then
USTV_POS.UStVPo_daId = DS_NEW.da_id
USTV_POS.UStVPo_daId_loeschbar = True 'nach merge wird nicht mehr orig.ID verwendet und daher ist löschbar!!!
If DS_NEW.uploadDataToDATENSERVER(DS_ORG_PATH) AndAlso DS_NEW.uploadDataToDATENSERVER(DS_ATT_PATH) Then
USTV_POS.UStVPo_daId = DS_NEW.da_id
USTV_POS.UStVPo_daId_loeschbar = True 'nach merge wird nicht mehr orig.ID verwendet und daher ist löschbar!!!
End If
End If
End If
End If
' Berechnungen
'von RMC bekommen wir Fremdwährung und EUR, d.b. wir können und den Umrechnungskurs selbst berechnen!
'EasyTrip können wir nicht auslesen, deshalb geben wir immer 0,1 als Betrag mit!
Dim umrechKurs As Double = 1
If (CDbl(r.Item("rmc_betragBrutto")) <> 0 AndAlso CDbl(r.Item("rmc_euroBrutto")) <> 0) Then
Dim Brutto_EUR As Double = CDbl(r.Item("rmc_euroBrutto"))
Dim Brutto_org As Double = CDbl(r.Item("rmc_betragBrutto"))
'umrechKurs = frmdw / eur
umrechKurs = Math.Floor((Brutto_org / Brutto_EUR * 100 + 0.5)) / 100
End If
If CDbl(r.Item("rmc_betragMWST")) <> 0 Then
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round((r.Item("rmc_betragMWST") / umrechKurs), 2)
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
USTV_POS.UStVPo_USteuerbetrag = r.Item("rmc_betragMWST")
If USTV_POS.UStVPo_NettobetragEUR Is Nothing Then
USTV_POS.UStVPo_NettobetragEUR = Math.Round((r.Item("rmc_betragNetto") / umrechKurs), 2)
End If
End If
End If
' Berechnungen
'von RMC bekommen wir Fremdwährung und EUR, d.b. wir können und den Umrechnungskurs selbst berechnen!
'EasyTrip können wir nicht auslesen, deshalb geben wir immer 0,1 als Betrag mit!
Dim umrechKurs As Double = 1
If (CDbl(r.Item("rmc_betragBrutto")) <> 0 AndAlso CDbl(r.Item("rmc_euroBrutto")) <> 0) Then
Dim Brutto_EUR As Double = CDbl(r.Item("rmc_euroBrutto"))
Dim Brutto_org As Double = CDbl(r.Item("rmc_betragBrutto"))
'umrechKurs = frmdw / eur
umrechKurs = Math.Floor((Brutto_org / Brutto_EUR * 100 + 0.5)) / 100
End If
If CDbl(r.Item("rmc_betragMWST")) <> 0 Then
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round((r.Item("rmc_betragMWST") / umrechKurs), 2)
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
USTV_POS.UStVPo_USteuerbetrag = r.Item("rmc_betragMWST")
If USTV_POS.UStVPo_NettobetragEUR Is Nothing Then
USTV_POS.UStVPo_NettobetragEUR = Math.Round((r.Item("rmc_betragNetto") / umrechKurs), 2)
If USTV_POS.INSERT() Then
cRMC.UPDATE_ARCHIV(USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_ReNr.ToString, kdNr, USTV_POS.UStVAn_ID)
End If
End If
If USTV_POS.INSERT() Then
cRMC.UPDATE_ARCHIV(USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_ReNr.ToString, kdNr, USTV_POS.UStVAn_ID)
End If
ElseIf USTVA_Nettobetragchanged Then
updateNettobetrag(USTV_POS.UStVPo_ReNr, USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_SchnittstellenNr, USTV_POS)
ElseIf USTVA_Nettobetragchanged Then
updateNettobetrag(USTV_POS.UStVPo_ReNr, USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_SchnittstellenNr, USTV_POS)
End If

View File

@@ -408,16 +408,26 @@ Public Class UsrCntlessensbestellungen
If CheckBox1.Checked = False Then
essen.eb_abgerechnet = False
essen.eb_abgerechnet_am = DBNull.Value
Else
essen.eb_abgerechnet = True
If IsDBNull(essen.eb_abgerechnet_am) OrElse IsNothing(essen.eb_abgerechnet_am) Then essen.eb_abgerechnet_am = Now()
End If
If CheckBox2.Checked = False Then
essen.eb_storniert = False
essen.eb_storniert_am = DBNull.Value
Else
essen.eb_storniert = True
essen.eb_storniert_am = Now()
If IsDBNull(essen.eb_storniert_am) OrElse IsNothing(essen.eb_storniert_am) Then essen.eb_storniert_am = Now()
End If
If CheckBox3.Checked = False Then
essen.eb_gesendet = False
essen.eb_gesendet_am = DBNull.Value
Else
essen.eb_gesendet = True
If IsDBNull(essen.eb_gesendet_am) OrElse IsNothing(essen.eb_gesendet_am) Then essen.eb_gesendet_am = Now()
End If
essen.eb_MenuID = MenuID

View File

@@ -1675,7 +1675,7 @@ Public Class frmMDMDatenverarbetiung
Dim top = ""
Dim sqlWhere = ""
Select Case art
Case "IDS" : sqlWhere = " AND tblIDSTransactionsNew.OutletCountryCode<>740543"
Case "IDS" : sqlWhere = " AND tblIDSTransactionsNew.OutletCountryCode<>740543 and Adressen.AdressenNr = 402022 "
Case "IDS_AT" : sqlWhere = " AND tblIDSTransactionsNew.OutletCountryCode=740543"
Case Else
MsgBox("falscher Typ!") : Return False
@@ -1731,7 +1731,10 @@ Public Class frmMDMDatenverarbetiung
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
Dim verarbOK = IIf(test, False, True)
Dim RECHNUNG As cRechnungsausgang = Nothing
'Dim RECHNUNG As cRechnungsausgang = Nothing
Dim integerTem = 3051176
Dim RECHNUNG As New cRechnungsausgang(integerTem)
If Not gen_SPEDBUCH_ByKdNr(IDS("KdNrVERAG"), SPEDBUCH, art,,,, datPloseAnhang.Value) Then verarbOK = False
If Not gen_RECHNUNG_BySPEDBUCH(IDS("KdNrVERAG"), SPEDBUCH, art,,,, RECHNUNG) Then verarbOK = False
@@ -3224,7 +3227,7 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land
rpt.txtKunde.Text &= " " & SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
Dim Station As String = ""
If Gruppierung_nach_Ort Then
If Gruppierung_nach_Ort And art <> "IDS" Then
Station = SQL.isDbnullEmpty(rpt.Fields.Item("OutletOrt").Value, "")
If Station <> "" Then
Station = " (" & Station & ")"

View File

@@ -55,6 +55,8 @@ Public Class usrCntlAuswertungenAufschub_AbgabenKontrolleTRIER
dt.Columns.Add("Betrag")
dt.Columns.Add("Fakturiert")
dt.Columns.Add("Differenz")
dt.Columns.Add("BezugsNr")
dt.Columns.Add("BelegNr")
' Dim fileReader() = System.IO.File.ReadAllLines(fd.FileName, System.Text.Encoding.UTF32)
Dim cnt = 1
@@ -112,10 +114,13 @@ Public Class usrCntlAuswertungenAufschub_AbgabenKontrolleTRIER
For Each r As DataRow In dt_Dateneinlesung.Rows
Dim SQLWHere = ""
Dim SQLWHereSPEDBUCH = ""
If r.Item("ATC") <> "" Then
SQLWHere = "[Status]<>0 and DruckDatumZeit is not null and (left([RechnungsausgangPositionen].Belegdaten,21)='" & r.Item("ATC") & "' or [RechnungsausgangPositionen].[Weitere_Reg_Nr] ='" & r.Item("ATC").value & "' ) AND [AufschubkontoNr]='" & AKTO & "'"
SQLWHere = "[Status]<>0 and DruckDatumZeit is not null and (left([RechnungsausgangPositionen].Belegdaten,21)='" & r.Item("ATC") & "' or [RechnungsausgangPositionen].[Weitere_Reg_Nr] ='" & r.Item("ATC").value & "' ) AND [AufschubkontoNr]='" & AKTO & "'"
SQLWHereSPEDBUCH = "WHERE BelegNr = '" & r.Item("ATC") & "'"
ElseIf r.Item("MRN") <> "" Then
SQLWHere = "[Status]<>0 and DruckDatumZeit is not null and left([RechnungsausgangPositionen].Belegdaten,21)='" & r.Item("MRN") & "' AND [AufschubkontoNr]='" & AKTO & "'"
SQLWHere = "[Status]<>0 and DruckDatumZeit is not null and left([RechnungsausgangPositionen].Belegdaten,21)='" & r.Item("MRN") & "' AND [AufschubkontoNr]='" & AKTO & "'"
SQLWHereSPEDBUCH = "WHERE BelegNr = '" & r.Item("MRN") & "'"
End If
Dim fakturiert = CDbl(SQL.DLookup("sum(Preis)", "Rechnungsausgang inner join [RechnungsausgangPositionen] On Rechnungsausgang.RK_ID=[RechnungsausgangPositionen].RK_ID", SQLWHere, "FMZOLL", "0"))
@@ -123,11 +128,58 @@ Public Class usrCntlAuswertungenAufschub_AbgabenKontrolleTRIER
Dim differenz = fakturiert - r.Item("betrag")
If Not cbx.Checked OrElse differenz <> 0 Then
Dim BezugsNr As String = ""
Dim BelegNr As String = ""
If fakturiert = 0 Then 'dann keine existierende Rechnung...
Dim dt_SPED_entry As DataTable = SQL.loadDgvBySql("select FilialenNr, AbfertigungsNr from Speditionsbuch " & SQLWHereSPEDBUCH, "FMZOLL")
For Each SPEDBUCH_row As DataRow In dt_SPED_entry.Rows
BezugsNr &= SPEDBUCH_row.Item("FilialenNr") & "/" & SPEDBUCH_row.Item("AbfertigungsNr") & ", "
Next
If BezugsNr.Trim() <> "" AndAlso BezugsNr.Trim.EndsWith(",") Then
BezugsNr = BezugsNr.Trim().TrimEnd(","c)
End If
erg &= r.Item("Zollamt") & " - " & IIf(r.Item("ATC") <> "", r.Item("ATC"), r.Item("MRN")) & ": " & r.Item("Betrag") & " | " & differenz & vbNewLine
dt.Rows.Add({AKTO, Faelligkeit, IIf(r.Item("ATC") <> "", r.Item("ATC"), r.Item("MRN")), r.Item("Datum"), r.Item("Zollamt"), r.Item("Betrag"), fakturiert, differenz, BezugsNr, BelegNr})
Else
Dim dtFakturiert As DataTable = SQL.loadDgvBySql("select max(RechnungsNr) as RechnungsNr ,max(FilialenNr) as FilialenNr , max(AbfertigungsNr) as AbfertigungsNr from Rechnungsausgang inner join [RechnungsausgangPositionen] On Rechnungsausgang.RK_ID=[RechnungsausgangPositionen].RK_ID WHERE " & SQLWHere & " group by RechnungsNr", "FMZOLL")
If dtFakturiert.Rows.Count > 0 Then
For Each rechnungs_row In dtFakturiert.Rows
BezugsNr &= rechnungs_row.Item("FilialenNr") & "/" & rechnungs_row.Item("AbfertigungsNr") & ", "
BelegNr &= rechnungs_row.Item("RechnungsNr") & ", "
Next
If BelegNr.Trim() <> "" AndAlso BelegNr.Trim.EndsWith(",") Then
BelegNr = BelegNr.Trim().TrimEnd(","c)
End If
If BezugsNr.Trim() <> "" AndAlso BezugsNr.Trim.EndsWith(",") Then
BezugsNr = BezugsNr.Trim().TrimEnd(","c)
End If
End If
erg &= r.Item("Zollamt") & " - " & IIf(r.Item("ATC") <> "", r.Item("ATC"), r.Item("MRN")) & ": " & r.Item("Betrag") & " | " & differenz & vbNewLine
dt.Rows.Add({AKTO, Faelligkeit, IIf(r.Item("ATC") <> "", r.Item("ATC"), r.Item("MRN")), r.Item("Datum"), r.Item("Zollamt"), r.Item("Betrag"), fakturiert, differenz, BezugsNr, BelegNr})
End If
erg &= r.Item("Zollamt") & " - " & IIf(r.Item("ATC") <> "", r.Item("ATC"), r.Item("MRN")) & ": " & r.Item("Betrag") & " | " & differenz & vbNewLine
dt.Rows.Add({AKTO, Faelligkeit, IIf(r.Item("ATC") <> "", r.Item("ATC"), r.Item("MRN")), r.Item("Datum"), r.Item("Zollamt"), r.Item("Betrag"), fakturiert, differenz})
End If
cnt += 1
cnt += 1
lnlCnt.Text = cnt '& "/" & Flines.Count
Me.Refresh()
Next