diff --git a/DAKOSY_Worker/cDakosyFunftions.vb b/DAKOSY_Worker/cDakosyFunftions.vb index f18006b..521460e 100644 --- a/DAKOSY_Worker/cDakosyFunftions.vb +++ b/DAKOSY_Worker/cDakosyFunftions.vb @@ -126,7 +126,12 @@ Public Class cDakosyFunftions Case "UNISPED" Return "UNAT" Case "AMBAR" - Return "ATIL" '"VRAS" 'warum auch immer.. irgendwie wg der eigenen EORI von AMBAR.. + Select Case PROCEDURE ' Wenn AA über VERAG + Case "AA" + Return "VERG" + Case Else + Return "ATIL" '"VRAS" 'warum auch immer.. irgendwie wg der eigenen EORI von AMBAR.. + End Select Case Else : Return "VERG" End Select End If diff --git a/MailSender/MAILSender.vb b/MailSender/MAILSender.vb index 4ff49d3..c10ef15 100644 --- a/MailSender/MAILSender.vb +++ b/MailSender/MAILSender.vb @@ -360,7 +360,7 @@ Module Mail Dim KdNr As String = "764755" - If dtParam.Rows.Count > 1 Then + If dtParam.Rows.Count >= 1 Then 'System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) 'System.Console.WriteLine("Auswertung Details gestartet...") diff --git a/initATLASAufschubkonten/cWorker_Verwahrung.vb b/initATLASAufschubkonten/cWorker_Verwahrung.vb index 31cd38c..6b5dcc1 100644 --- a/initATLASAufschubkonten/cWorker_Verwahrung.vb +++ b/initATLASAufschubkonten/cWorker_Verwahrung.vb @@ -848,7 +848,7 @@ Anzeige: If posErledigung IsNot Nothing AndAlso posErledigung.Rows.Count > 0 Then For Each POS As DataRow In posErledigung.Rows - + Dim vermerkFremdweahrung As String = "" Dim isCompletelyFinished As Boolean = True Dim MRN_SUMA As String = "" Dim existingEntryID As Integer = 0 @@ -918,8 +918,13 @@ Anzeige: Dim Waehrung = row("tblSnd_WarenwertWaehrung") If Waehrung <> "EUR" Then - Dim kurs As New cEZB_Waehrungskurse(Waehrung) - WarenwertEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(Warenwert_temp, Waehrung, Today()), 2) + Dim kurs As New cFremdwaehrungskurse(Waehrung) + If kurs.hasEntry Then + WarenwertEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(Warenwert_temp, Waehrung, Today()), 2) + Else + WarenwertEUR = Warenwert_temp 'wenn kein Eintrag, dann urspr. FW-Betrag inkl. Vermerk! + vermerkFremdweahrung = "FW-Kurs fehlt" + End If Else WarenwertEUR = Warenwert_temp @@ -971,9 +976,10 @@ Anzeige: VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Erledigungsmeldung-DAKOSY fehlende Positionen - " & Now().ToShortDateString, InfoText,,,,, "d.breimaier@verag.ag") End If + End If - Dim SicherheitsPos As New cGesamtsicherheitsPositionen(gsrightRow("gs_gsId"), gsrightRow.Item("gs_posNr")) + Dim SicherheitsPos As New cGesamtsicherheitsPositionen(gsrightRow("gs_gsId"), gsrightRow.Item("gs_posNr")) With SicherheitsPos '.gsp_gsId = gsrightRow("gs_gsId") '.gsp_gspPosId = gsrightRow.Item("gs_posNr") @@ -986,8 +992,14 @@ Anzeige: .gsp_ust = gsrightRow("gs_ust") .gsp_EH_Anzahl += AnzahlStückErledigt + If Not IsDBNull(gsrightRow.Item("gs_EH_Anzahl")) Then If .gsp_EH_Anzahl = CInt(gsrightRow.Item("gs_EH_Anzahl")) Then isCompletelyFinished = True 'wenn alle Teile da sind, dann komplett! - .gsp_freitext = IIf(isCompletelyFinished, DAKOSY_STATUS.IMPORTED, DAKOSY_STATUS.NOTCOMPLETED) + Else + isCompletelyFinished = True + End If + + + .gsp_freitext = IIf(isCompletelyFinished, DAKOSY_STATUS.IMPORTED, DAKOSY_STATUS.NOTCOMPLETED) & vermerkFremdweahrung .gsp_warenwert = IIf(isCompletelyFinished, WarenwertEUR, 0) .gsp_sicherheitsbetrag = IIf(isCompletelyFinished, Sicherheitsbetrag, 0) If isCompletelyFinished Then @@ -1004,18 +1016,67 @@ Anzeige: End With - SicherheitsPos.SAVE() - GesSichRef.CalcSaldo() + SicherheitsPos.SAVE() + GesSichRef.CalcSaldo() + + Dim differenz As Double = cSicherheiten.getDifferenz(gsrightRow("gs_gsnr")) + + If Math.Abs(differenz) <= 0.02 AndAlso Math.Abs(differenz) > 0 Then + + Dim OPEN_RUNDIF As New cSicherheiten() + + With OPEN_RUNDIF + .gs_gsNr = gsrightRow("gs_gsnr") + .gs_ATBNr = "Korrekt. Rundungsdiff. " & gsrightRow("gs_gsnr") + .gs_MRNNr = "" + .gs_posNr = OPEN_RUNDIF.getLatestPosNr(OPEN_RUNDIF.gs_gsNr, OPEN_RUNDIF.gs_ATBNr) + 1 + .gs_posSubNr = Nothing + .gs_datum = DateTime.Now + .gs_warenwert = 0 + .gs_sicherheitsbetrag = IIf(differenz < 0, Math.Abs(differenz), 0) + .gs_standort = gsrightRow("gs_standort") + .gs_art = "OPEN" + .gs_erstellungsdatum = DateTime.Now + .gs_freitext = "" + .gs_saldo = saldo + .gs_zollsatz = gsrightRow("gs_zollsatz") + .gs_avisoId = gsrightRow("gs_avisoID") + .gs_isRundungsdiff = True + .gs_dakoyimport = 1 + .gs_systemuser = DAKOSY_STATUS.USER + End With + + Dim gs_gsId = OPEN_RUNDIF.SAVEOBJECT() + + Dim CLOSED_RUNDIF As New cGesamtsicherheitsPositionen() + With CLOSED_RUNDIF + .gsp_gsId = gs_gsId + .gsp_gspPosId = OPEN_RUNDIF.gs_posNr + .gsp_warenwert = 0 + .gsp_sicherheitsbetrag = IIf(differenz > 0, Math.Abs(differenz), 0) + .gsp_freitext = "" + .gsp_filialenNr = gsrightRow("gs_filialenNr") + .gsp_art = "CLOSE" + .gsp_gsNr = gsrightRow("gs_gsnr") + .gsp_abfertigungsNr = gsrightRow("gs_abfertigungsNr") + .gsp_datum = DateTime.Now + .gsp_erstellungsdatum = DateTime.Now + .gsp_MRNNr = "Korrekt. Rundungsdiff. " & gsrightRow("gs_gsnr") + .gsp_isPosRundungsdiff = True + .gsp_avisoId = gsrightRow("gs_avisoID") + .gsp_systemuser = DAKOSY_STATUS.USER + End With + + CLOSED_RUNDIF.SAVE() + + End If - If sendInfoMail Then + If sendInfoMail Then Dim InfoText2 As String = createInfoMail(gsrightRow.Item("gs_MRNNr"), Nothing, "VW-AUSGANG",, SicherheitsPos, isNCTS, sonstigeMRNNr) VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Verwahrungsausgang aus DAKOSY " & zusätzlicheInfo & " - " & Now().ToShortDateString, InfoText2,,,,, "d.breimaier@verag.ag") End If - - End If - End If End If diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index 4e22c4d..6041ccc 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -237,6 +237,7 @@ Public Class frmStartOptions ' Me.Visible = False f.Show() AddHandler f.FormClosed, AddressOf closeMe + setInvoiceBackToCustomer("PLOSE", False) Case "TC_EINARBEITUNG" VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True Dim f As New frmTCNachrichtenVerarbeitung(True) @@ -849,7 +850,7 @@ Public Class frmStartOptions End If API.UPDTAE_OK(,, PARAM) - setInvoiceBackToCustomer("MSE") + setInvoiceBackToCustomer("MSE", False) closeMe() Exit Sub @@ -5378,6 +5379,7 @@ Public Class frmStartOptions Dim f As New frmNachrichtenVerarbeitung_MDM_divers(cbxRMC._value, False, cbxDateienlöschenRMC.Checked, False) f.ShowDialog() Me.Visible = True + setInvoiceBackToCustomer("RMC", False) End Sub Private Sub LinkLabel53_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles UTA_imports.LinkClicked @@ -5388,6 +5390,7 @@ Public Class frmStartOptions f.UtaTestkunden = False f.ShowDialog() Me.Visible = True + setInvoiceBackToCustomer("UTA", False) End Sub Private Sub LinkLabel54_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles MSE_Transaktions.LinkClicked @@ -7190,7 +7193,7 @@ repeatRequest: End Sub - Private Sub setInvoiceBackToCustomer(Lieferant As String) + Private Sub setInvoiceBackToCustomer(Lieferant As String, Optional showError As Boolean = True) Dim sql_query = "" Dim sql_query_keineMWST = "" @@ -7313,7 +7316,7 @@ repeatRequest: Dim rows_fehlendesErstattungsland() As DataRow = dtnichtGesetzteInvToCustomer.Select("RELandKz is null") If rows_fehlendesErstattungsland.Length > 0 Then - MsgBox("Rechnungsland fehlt noch bei " & rows_fehlendesErstattungsland.Length & " Einträgen von " & Lieferant & vbNewLine & "Bitte Ländercode ISO2 einfügen!") + If showError Then MsgBox("Rechnungsland fehlt noch bei " & rows_fehlendesErstattungsland.Length & " Einträgen von " & Lieferant & vbNewLine & "Bitte Ländercode ISO2 einfügen!") Exit Sub End If