Imports VERAG_PROG_ALLGEMEIN Public Class cZOLL_IMPORT Public Aviso As cAviso 'Public SendungId As Integer = -1 Dim KDSQL As New SQL Dim SQLAVISO As New cAvisoDAL Dim SQLADMIN As New adminfunc ' Dim avisoLinkId = -1 Dim SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch Dim PosAnzahl As Integer = 0 Dim SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen = Nothing Dim strManNr As String = "VERA" Dim strManNl As String = "SUB" Dim packstueckeAVISO_TMP As String = "" Dim RohmasseAviso As String = "" Dim packstueckeZOLL_TMP As String = "" Dim notFound = True Dim ATLAS_SERVER_VERBINDUNG As String = "ATLAS" Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL Function countSpedbuchEntrysTC(filiale, BezugsNr, telanm_ART) As Integer Select Case telanm_ART Case "NCTS", "T1", "T2", "T2L" : Return countSpedbuchEntrysTC_EZA(filiale, BezugsNr) Case Else : Return countSpedbuchEntrysTC_EZA(filiale, BezugsNr) End Select End Function Function countSpedbuchEntrysTC_EZA(filiale, BezugsNr) As Integer If If(BezugsNr, "") = "" Then Return -1 Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrEZA]='" & BezugsNr & "'", "FMZOLL",, 0) End Function Function countSpedbuchEntrysTC_NCTS(filiale, BezugsNr) As Integer If If(BezugsNr, "") = "" Then Return -1 Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrNCTS]='" & BezugsNr & "'", "FMZOLL",, 0) End Function Function countSpedbuchEntrys_AbfertigungsNr(filiale, AbfertigungsNr) As Integer If If(AbfertigungsNr, "") = "" Then Return -1 Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AbfertigungsNr]='" & AbfertigungsNr & "'", "FMZOLL",, 0) End Function Public Function TelotecImport(TC As TELOTEC_Worker.cTelotec_Anmeldung) As Boolean 'Function insertIntoSpedBuch() As Boolean Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch Dim AbfertigungsNr = getAbfertigungsnummer(TC.telanm_BezugsNr) If AbfertigungsNr <> "" AndAlso countSpedbuchEntrysTC(5501, TC.telanm_BezugsNr, TC.telanm_ART) = 0 AndAlso countSpedbuchEntrys_AbfertigungsNr(5501, AbfertigungsNr) = 0 Then SPEDBUCH.FilialenNr = 5501 ' SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year) SPEDBUCH.AbfertigungsNr = AbfertigungsNr SPEDBUCH.NewUNTER_NR() SPEDBUCH.Zollsystem = "T" SPEDBUCH.Abfertigungsdatum = Now.ToShortDateString SPEDBUCH.Sachbearbeiter = "AUTO" Dim notfound = False Dim art = "" Select Case TC.telanm_ART Case "NCTS", "T1", "T2", "T2L" : TC.telanm_ART = "NCTS" : SPEDBUCH.AtlasBezNrNCTS = TC.telanm_BezugsNr Case "EUA", "EZA" : TC.telanm_ART = "EZA" : SPEDBUCH.AtlasBezNrEZA = TC.telanm_BezugsNr ' Case Else : TC.telanm_ART = "EZA" : SPEDBUCH.AtlasBezNrEZA = TC.telanm_BezugsNr End Select Dim PosAnzahl = 0 ' TELOTECDatenbereitstellung(SPEDBUCH, Me.telanm_BezugsNr, notfound, art, PosAnzahl) SPEDBUCH = IMPORT(SPEDBUCH, TC.telanm_AvisoId, TC.telanm_SendungsId, "VERA", SPEDBUCH.FilialenNr, 2, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True) If Not notfound Then Return SPEDBUCH.SAVE Else Return False End If End If Return False 'Ohne Sendungsverweis kein eintrag... End Function Public Sub insertAbgabenTELOTEC(TC As TELOTEC_Worker.cTelotec_Anmeldung) ' MsgBox("aso") If TC.ABGABEN IsNot Nothing Then 'MsgBox(TC.ABGABEN.Count) For Each ABG In TC.ABGABEN If ABG IsNot Nothing AndAlso ABG.Amnt > 0 Then ' MsgBox(ABG.Amnt) Dim ABGABEN As New VERAG_PROG_ALLGEMEIN.cAbgaben(TC.telanm_CRN, ABG.Ty, ABG.Amnt) If Not ABGABEN.hasEntry Then Dim LeistungsNr = "" Dim LeistungsBez = "" Dim saveAbgaben = True Select Case ABG.Ty Case "2EU", "2IG", "5EU" ' "2PE", LeistungsNr = "20" Case "B00" 'EUST LeistungsNr = "20" ABGABEN.Status = "A" 'AUSGEBUCHT Case "5EV" '"5EV"--> EV-KONTO!! saveAbgaben = False Case "2DU", "5DU", "5ZO", "5ZZ", "A20", "A30", "A35", "A40", "A45", "C00", "C10", "A00" LeistungsNr = "76" Case Else '1BD,0ML, 0PB, 0PG, 0PS, 1LG, 1ZN, 2AS, 2KO, 2RB, 2SB, 2SI, 2VF, 2VS, 5SI, 5VS, 6AK, 6BE, 6MS, 6SS, 6TS, 6ZW, 9EA, D00,D10,E00 LeistungsNr = "482" LeistungsBez = getLeistungsBez(ABG.Ty) End Select If saveAbgaben Then ABGABEN.Belegart = ABG.Ty ABGABEN.Betrag = CDbl(ABG.Amnt) ABGABEN.Status = Nothing ABGABEN.LeistungsNr = LeistungsNr ABGABEN.Bezugsnummer = TC.telanm_BezugsNr ABGABEN.Registriernummer = TC.telanm_CRN ' ABGABEN.AOFD = A.KennBuchstabenAufschub ABGABEN.AKTO = TC.Hea_DefPayRef '"3027279" 'd1.Abgabenkonto 'IMEX--> FIX!!! 'ABGABEN.Fälligkeitsdatum = A.Faelligkeit ' ABGABEN.Mandant = "VERG" ABGABEN.Niederlassung = TC.Bereich_ID ABGABEN.Abfertigungsdatum = ABG.Erstelldatum ABGABEN.Übernahmedatum = ABG.Erstelldatum ABGABEN.Eingabedatum = Now.ToShortDateString ABGABEN.Sachbearbeiter = "AUTO" ABGABEN.LeistungsBez = LeistungsBez If If(ABGABEN.Bezugsnummer, "").ToString.Length > 35 Then ABGABEN.Bezugsnummer = ABGABEN.Bezugsnummer.ToString.Substring(0, 35) If If(ABGABEN.Registriernummer, "").ToString.Length > 21 Then ABGABEN.Registriernummer = ABGABEN.Registriernummer.ToString.Substring(0, 21) Dim errHInweis = "ATC: " & ABGABEN.Registriernummer & " - BezugsNr: " & ABGABEN.Bezugsnummer ABGABEN.SAVE(errHInweis) End If End If End If Next End If End Sub Shared Function getLeistungsBez(LeistungsBez) Select Case LeistungsBez Case "0ML" getLeistungsBez = "Altlastenbeitrag" Case "0PB" getLeistungsBez = "Punzierungskontrollgeb. Platin" Case "0PG" getLeistungsBez = "Punzierungskontrollgebühr Gold" Case "0PS" getLeistungsBez = "Punzierungskontrollgeb. Silber" Case "1BD" getLeistungsBez = "Bemessungsdatum" Case "1LG" getLeistungsBez = "Lagergeld gemäß §104 ZollR-DG" Case "1ZK" getLeistungsBez = "Kreditzinsen, Säumniszinsen" Case "1ZN" getLeistungsBez = "Nebenansprüche" Case "2AS" getLeistungsBez = "Agrarsicherheiten" Case "2DU" getLeistungsBez = "Antidumping-Sicherheit" Case "2EU" getLeistungsBez = "EUSt-Sicherheit" Case "2IG" getLeistungsBez = "Sicherheit EUSt ig. Lieferung" Case "2KO" getLeistungsBez = "Sicherheit für Kontingent" Case "2PE" getLeistungsBez = "Sicherheit bei Einfuhrwerten" Case "2RB" getLeistungsBez = "Sicherheit Bürgerschaft" Case "2SB" getLeistungsBez = "Summe der befreiten Sicherheit" Case "2SI" getLeistungsBez = "Sicherheit Geldbetragerlag" Case "2VF" getLeistungsBez = "Sicherheit bei Verifizierung" Case "2VS" getLeistungsBez = "Summe der vorg. Sicherheit" Case "2ZG" getLeistungsBez = "Zusatzzoll Geflügel" Case "2ZZ" getLeistungsBez = "Zusatzzoll Zucker" Case "2ZZ" getLeistungsBez = "Zusatzzoll 2ZZ" Case "5DU" getLeistungsBez = "Antidumping-und Ausgleichszoll" Case "5EU" getLeistungsBez = "Einfuhrumsatzsteuer" Case "5EV" getLeistungsBez = "EUSt gem. §26 Abs. 3Z.2UStG" Case "5SI" getLeistungsBez = "Agrarsicherheit" Case "5VS" getLeistungsBez = "Verbrauchsteuern" Case "5ZO" getLeistungsBez = "Zoll 5ZO" Case "5ZZ" getLeistungsBez = "Zusatzzoll 5ZZ" Case "6AK" getLeistungsBez = "Alkoholsteuer" Case "6BE" getLeistungsBez = "Biersteuer" Case "6MS" getLeistungsBez = "Mineralölsteuer" Case "6SS" getLeistungsBez = "Schaumweinsteuer" Case "6TS" getLeistungsBez = "Tabaksteuer" Case "6ZW" getLeistungsBez = "Zwischenerzeugnissteuer" Case "9EA" getLeistungsBez = "Summe Gesamtabgaben" Case "A00" getLeistungsBez = "Zölle auf gewerbliche Waren" Case "A00" getLeistungsBez = "Zollabgaben" Case "A10" getLeistungsBez = "Zölle landwirt. Erzeugnisse" Case "A20" getLeistungsBez = "Zusatzzölle" Case "A30" getLeistungsBez = "endgültige Antidumpingzölle" Case "A35" getLeistungsBez = "vorläufige Antidumpingzölle" Case "A40" getLeistungsBez = "endgültiger Ausgleichszoll" Case "A45" getLeistungsBez = "vorläufiger Ausgleichszoll" Case "B00" getLeistungsBez = "Einfuhrumsatzsteuer(EUSt)" Case "B10" getLeistungsBez = "Ausgleichszinsen(EUSt)" Case "C00" getLeistungsBez = "Ausfuhrabgaben" Case "C10" getLeistungsBez = "Ausfuhrabg. landwirt. Erzeug." Case "D00" getLeistungsBez = "Verzugszinsen" Case "D10" getLeistungsBez = "Ausgleichszinsen" Case "E00" getLeistungsBez = "Abgaben anderer Länder" Case Else getLeistungsBez = "" End Select End Function Public Shared Function EZOLLImport(LRN, art) As Boolean VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" 'Wichtig für Spedbucheintrag Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch ' Dim cZOLL_IMPORT As New cZOLL_IMPORT Dim firmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA If True Then 'Filiale erkennen: Dim filialeBez = "" Dim filiale = getFiliale(LRN, filialeBez) Select Case filiale Case "5501" : VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Case "4801" : VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" : Return False 'Keine Atoerfassung End Select Dim abfertigungsnummer = getAbfertigungsnummer(LRN) If tryFindAviso(LRN, SPEDBUCH.AvisoID, SPEDBUCH.SendungID) Then If filiale <> "" And abfertigungsnummer <> "" Then If countSpedbuchEntrys(filiale, LRN, art) = 0 Then SPEDBUCH.FilialenNr = filiale SPEDBUCH.AbfertigungsNr = abfertigungsnummer SPEDBUCH.NewUNTER_NR() SPEDBUCH.Abfertigungsanzahl = 1 SPEDBUCH.Fakturiert = 0 ' SPEDBUCH.AtlasBezNrEZA = LRN SPEDBUCH.Zollsystem = "E" SPEDBUCH.Sachbearbeiter = "AUTO" Dim ZOLL_IMPORT As New cZOLL_IMPORT Dim notfound = False Dim posAnzahl = 0 Select Case art Case "NCTS" : SPEDBUCH.AtlasBezNrNCTS = LRN Case Else : SPEDBUCH.AtlasBezNrEZA = LRN End Select SPEDBUCH = ZOLL_IMPORT.IMPORT(SPEDBUCH, SPEDBUCH.AvisoID, SPEDBUCH.SendungID, "VERA", filialeBez, 1, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True) If notfound Then Return False ' VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail("HEUREKA EZA !!", "" & Me.eza_ObjectName, Now.ToString("yyyy.MM.dd HH:mm"), "al@verag.ag", "") ' MsgBox(SPEDBUCH.FilialenNr & " - " & SPEDBUCH.AbfertigungsNr) VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = firmaTmp If SPEDBUCH.SAVE Then VERAG_PROG_ALLGEMEIN.cSendungen.SET_SpedbuchEntry(SPEDBUCH.SendungID, True) Return True Else Return False End If ' MsgBox(SQL.getValueTxtBySql("select count(*) FROM [VERAG].[dbo].[Speditionsbuch] where AbfertigungsNr = 18035380", "FMZOLL")) End If End If End If Else Return False 'Ohne Sendungsverweis kein eintrag... End If Return False End Function Public Shared Function tryFindAviso(LRN, ByRef AvisoID, ByRef SendungID) As Boolean Dim srchStrFiliale = "" Dim srchStrAbf = "" LRN = LRN.ToString.Replace("-", "/") If LRN.Contains("/") Then Dim split = LRN.Split("/") If split.Length >= 2 Then srchStrFiliale = split(0) srchStrAbf = split(1) ' ElseIf Then ' srchStrAbf = split(X) Else Return False End If End If If Not IsNumeric(srchStrFiliale) Or Not IsNumeric(srchStrAbf) Then Return False If srchStrFiliale.Length <> 4 Then Return False 'If srchStrAbf.Length > 8 Then srchStrAbf = srchStrAbf.Substring(0, 8) If srchStrAbf.Length < 8 Then srchStrAbf = Now.ToString("yy") & CInt(srchStrAbf).ToString("000000") Dim sqlstr = " select [tblSnd_SendungID],[tblSnd_AvisoID] FROM [tblSendungen] where '" & srchStrAbf & "' like ('%' + cast(AbfertigungsNr as varchar(10))+ '%') and FilialenNr ='" & srchStrFiliale & "' and AbfertigungsNr >0" Dim dt As DataTable = SQL.loadDgvBySql(sqlstr, "AVISO") If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then SendungID = dt.Rows(0)("tblSnd_SendungID") AvisoID = dt.Rows(0)("tblSnd_AvisoID") Return True End If Return False End Function Shared Function countSpedbuchEntrys(filiale, bezugsnr, art) As Integer If art = "NCTS" Then Return countSpedbuchEntrysNCTS(filiale, bezugsnr) Else Return countSpedbuchEntrysEZA(filiale, bezugsnr) End If End Function Shared Function countSpedbuchEntrysNCTS(filiale, ncts) As Integer If If(ncts, "") = "" Then Return 0 Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND AtlasBezNrNCTS='" & ncts & "'", "FMZOLL") End Function Shared Function countSpedbuchEntrysEZA(filiale, eza) As Integer If If(eza, "") = "" Then Return 0 Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND AtlasBezNrEZA='" & eza & "'", "FMZOLL") End Function Shared Function getFiliale(ByVal bezugsNr, ByRef filialeBez) As String If If(bezugsNr, "").ToString.Length > 4 Then Select Case bezugsNr.ToString.Substring(0, 4) Case "4803" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 Case "4805" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 Case "4811" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 Case "5003" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 Case "5103" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 Case "5303" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803 'Case "4801", "4803", "4805", "4807", "4811", "5003", "5103", "5303" : Return bezugsNr.ToString.Substring(0, 4) ...... derzeit nur 4803 'filialeBez SUB, NKD, WAI,.-.. End Select End If Return "" End Function Shared Function getAbfertigungsnummer(ByVal bezugsNr) As String getAbfertigungsnummer = "" If If(bezugsNr, "").ToString.Length > 5 Then Dim abf = "" For Each s In bezugsNr.ToString.Substring(5) If Not IsNumeric(s) Then Exit For abf &= s Next If IsNumeric(abf) Then If CLng(abf) < 99000000 Then If CLng(abf) > 18000000 Then Return abf Else Return Now.ToString("yy") & CInt(abf).ToString("000000") End If End If End If End If Return "" End Function 'Zollsystem 0,1 Public Function IMPORT(SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, avisoLinkId As Integer, SendungId As Integer, strManNr As String, strManNl As String, Zollsystem As String, EZA_Nr As String, NCTS_Nr As String, ByRef notFound As Boolean, Optional autoImport As Boolean = False, Optional Personalnummer As Integer = -1) As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch Me.SPEDITIONSBUCH = SPEDITIONSBUCH Me.strManNr = strManNr Me.strManNl = strManNl If strManNl = "SBG" Then ATLAS_SERVER_VERBINDUNG = "ATLAS_SBG" Else ATLAS_SERVER_VERBINDUNG = "ATLAS" End If If SendungId > 0 Then SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungId) If EZA_Nr = "" And NCTS_Nr = "" Then If SENDUNG IsNot Nothing AndAlso If(SENDUNG.tblSnd_DakosyRef, "") <> "" Then Select Case SENDUNG.tblSnd_Abfertigungsart_ID Case 5, 6, 24, 33, 34, 37, 40 NCTS_Nr = SENDUNG.tblSnd_DakosyRef SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr Case Else EZA_Nr = SENDUNG.tblSnd_DakosyRef SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr End Select Zollsystem = 2 End If End If '------------------------------------------------------------------------------------------------------------- ' ATLAS / EZOLL ' Dim strManNr = txtFirma.Text ' Dim strManNl As String = cboNiederlassung.Text Select Case Zollsystem Case 0 'ATLAS SPEDITIONSBUCH.Zollsystem = "A" If EZA_Nr <> "" Then ' SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr AtlasEZADatenbereitstellung(EZA_Nr) 'BSP: 4/4817/16 ElseIf NCTS_Nr <> "" Then ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr AtlasNCTSDatenbereitstellung(NCTS_Nr) '4/4990/16 End If notFound = Me.notFound Case 1 'ezoll SPEDITIONSBUCH.Zollsystem = "E" If EZA_Nr <> "" Then ' SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr EZollEZADatenbereitstellung(EZA_Nr) ElseIf NCTS_Nr <> "" Then ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr EZollNCTSDatenbereitstellung(NCTS_Nr) End If notFound = Me.notFound Case 2 'dakosy SPEDITIONSBUCH.Zollsystem = "D" If EZA_Nr <> "" Then DAKOSY_Worker.cDakosyEZA.DakosyEZADatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, PosAnzahl) ElseIf NCTS_Nr <> "" Then ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr DAKOSY_Worker.cDakosyNCTSOut.DakosyNCTSDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound) End If Me.notFound = notFound Case 3 'telotec SPEDITIONSBUCH.Zollsystem = "T" If EZA_Nr <> "" Then TELOTEC_Worker.cTelotec_Anmeldung.TELOTECDatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, "EZA", PosAnzahl) ElseIf NCTS_Nr <> "" Then ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr TELOTEC_Worker.cTelotec_Anmeldung.TELOTECDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound, "NCTS", PosAnzahl) End If Me.notFound = notFound Case Else 'Kein Zollsystem End Select If avisoLinkId = 0 Or SendungId = 0 Then Dim DY As DAKOSY_Worker.cDakosy_Zollanmeldungen = DAKOSY_Worker.cDakosy_Zollanmeldungen.LOADByBezugsNr(If(EZA_Nr <> "", EZA_Nr, NCTS_Nr)) If DY IsNot Nothing Then If avisoLinkId = 0 Then avisoLinkId = If(DY.dy_AvisoId, 0) If SendungId = 0 Then SendungId = If(DY.dy_SendungsId, 0) End If End If '------------------------------------------------------------------------------------------------------------- If SPEDITIONSBUCH.Abfertigungsdatum Is Nothing Then SPEDITIONSBUCH.Abfertigungsdatum = Now.ToShortDateString If SendungId > 0 Then SPEDITIONSBUCH.SendungID = SendungId ' Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU) If SendungId = 0 And SPEDITIONSBUCH.SendungID > 0 Then SendungId = SPEDITIONSBUCH.SendungID 'Falls falsch übergeben If SendungId > 0 And SENDUNG Is Nothing Then SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungId) ' Dim dt As DataTable = SQLAVISO.loadDataTableBySQL("SELECT * FROM tblSendungen WHERE tblSnd_SendungID='" & SendungId & "' ") If SENDUNG IsNot Nothing Then ' Dim r As DataRow = dt.Rows(0) If SENDUNG.tblSnd_Warenbezeichnung <> "" Then packstueckeAVISO_TMP = IIf(SENDUNG.tblSnd_Colli <> "", SENDUNG.tblSnd_Colli & " Pk. ", "") packstueckeAVISO_TMP &= IIf(SENDUNG.tblSnd_Warenbezeichnung <> "", SENDUNG.tblSnd_Warenbezeichnung, "") packstueckeAVISO_TMP &= IIf(SENDUNG.tblSnd_Gewicht <> "", ", " & SENDUNG.tblSnd_Gewicht & " kg ", "") End If RohmasseAviso = IIf(SENDUNG.tblSnd_Gewicht <> "", SENDUNG.tblSnd_Gewicht, "") If SPEDITIONSBUCH.Abfertigungsart <= 0 Then SPEDITIONSBUCH.Abfertigungsart = SENDUNG.tblSnd_Abfertigungsart_ID If SPEDITIONSBUCH.Abfertigungsanzahl = 0 Then SPEDITIONSBUCH.Abfertigungsanzahl = SENDUNG.tblSnd_anzahlHandling If SPEDITIONSBUCH.PersonalnummerQS <= 0 Then SPEDITIONSBUCH.PersonalnummerQS = SENDUNG.tblSnd_QS_MA If SENDUNG.tblSnd_FilialeAbklaerung IsNot Nothing AndAlso IsNumeric(SENDUNG.tblSnd_FilialeAbklaerung) AndAlso SENDUNG.tblSnd_FilialeAbklaerung > 0 Then SPEDITIONSBUCH.FilialenNrAbklaerung = SENDUNG.tblSnd_FilialeAbklaerung 'Else ' SPEDITIONSBUCH.FilialenNrHandling = SPEDITIONSBUCH.FilialenNr End If SENDUNG.LOAD_ABRECHNUNG() Dim FindPOS = SENDUNG.ABRECHNUNG.Find(Function(x) x.sndabr_beteiligter = "AUFTR" And x.sndabr_wert = "ERSTATTUNG") If FindPOS IsNot Nothing Then SPEDITIONSBUCH.AuftraggeberBetragKassiert = If(FindPOS.sndabr_preis, 0) SetBarKassiert(SPEDITIONSBUCH) 'If If(SENDUNG.tblSnd_bar, False) Then 'SPEDITIONSBUCH.Bar = True ' If (SENDUNG.tblSnd_barBeleg IsNot Nothing) And SPEDITIONSBUCH.ErfassungsNr = "" Then SPEDITIONSBUCH.ErfassungsNr = "VERA/" & VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG & "/" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "/" & SENDUNG.tblSnd_barBeleg ' If (SENDUNG.tblSnd_betrag IsNot Nothing) And SPEDITIONSBUCH.Barzahlungsbetrag = 0 Then SPEDITIONSBUCH.Barzahlungsbetrag = SENDUNG.tblSnd_betrag ' End If ' If SPEDITIONSBUCH.NCTS_Verzollungsadresse Is Nothing OrElse SPEDITIONSBUCH.NCTS_Verzollungsadresse = "" Then SPEDITIONSBUCH.NCTS_Verzollungsadresse = SENDUNG.tblSnd_NCTSVerzollungsadresse SPEDITIONSBUCH.NCTS_Verzollungsadresse = If(SENDUNG.tblSnd_NCTSVerzollungsadresse, "") SPEDITIONSBUCH.NCTS_Verzollungsadresse &= vbNewLine & If(SENDUNG.NCTS_Verzollungsadresse_Strasse, "") SPEDITIONSBUCH.NCTS_Verzollungsadresse &= vbNewLine & If(SENDUNG.NCTS_Verzollungsadresse_Land, "") & " " & If(SENDUNG.NCTS_Verzollungsadresse_PLZ, "") & " " & If(SENDUNG.NCTS_Verzollungsadresse_Ort, "") SPEDITIONSBUCH.NCTS_Verzollungsadresse &= vbNewLine SPEDITIONSBUCH.NCTS_Verzollungsadresse = SPEDITIONSBUCH.NCTS_Verzollungsadresse.Trim End If If SPEDITIONSBUCH.Endempfänger Is Nothing OrElse SPEDITIONSBUCH.Endempfänger = "" Then SPEDITIONSBUCH.Endempfänger = SENDUNG.tblSnd_Endempfaenger End If If IsNull(SPEDITIONSBUCH.KdAuftragsNr) Then SPEDITIONSBUCH.KdAuftragsNr = If(SENDUNG.tblSnd_KdAuftragsNr, "") If IsNull(SPEDITIONSBUCH.KdAuftragsNrAvisierer) Then SPEDITIONSBUCH.KdAuftragsNrAvisierer = If(SENDUNG.tblSnd_KdAuftragsNrAvisierer, "") If IsNull(SPEDITIONSBUCH.KdAuftragsNrEmpfaenger) Then SPEDITIONSBUCH.KdAuftragsNrEmpfaenger = If(SENDUNG.tblSnd_KdAuftragsNrEmpfaenger, "") If IsNull(SPEDITIONSBUCH.KdAuftragsNrFrachtfuehrer) Then SPEDITIONSBUCH.KdAuftragsNrFrachtfuehrer = If(SENDUNG.tblSnd_KdAuftragsNrFrachtfuehrer, "") End If If avisoLinkId > 0 Then SPEDITIONSBUCH.AvisoID = avisoLinkId Dim sgut = CInt((New SQL).getValueTxtBySql("SELECT count(*) FROM tblSendungen WHERE tblSnd_AvisoID='" & avisoLinkId & "' ", "AVISO")) If sgut = 1 Then SPEDITIONSBUCH.SgutKompl = "K" ElseIf sgut > 1 Then SPEDITIONSBUCH.SgutKompl = "S" End If Aviso = SQLAVISO.LesenAviso(avisoLinkId, "") If Aviso IsNot Nothing Then ' If SPEDITIONSBUCH.Abfertigungsdatum Is Nothing Then SPEDITIONSBUCH.Abfertigungsdatum = CDate(Aviso.Freigabe).ToShortDateString If Aviso.Freigabe > CDate("01.01.2000") Then 'SPEDITIONSBUCH.Abfertigungsdatum Then SPEDITIONSBUCH.Abfertigungsdatum = CDate(Aviso.Freigabe).ToShortDateString End If If Aviso.FreigabeFiliale IsNot Nothing AndAlso IsNumeric(Aviso.FreigabeFiliale) AndAlso Aviso.FreigabeFiliale > 0 Then SPEDITIONSBUCH.FilialenNrHandling = Aviso.FreigabeFiliale 'Else ' SPEDITIONSBUCH.FilialenNrHandling = SPEDITIONSBUCH.FilialenNr End If ' pnl3.Visible = True ' txtAuftraggeber.Text = Aviso.Auftraggeber ' txtAuftraggeberKdNr.Text = Aviso.Auftraggeber_KdNr 'NICHT MEHR: 'SPEDITIONSBUCH.Avisierer = Aviso.Auftraggeber 'If getint(Aviso.Auftraggeber_KdNr) > 0 Then SPEDITIONSBUCH.AvisiererKundenNr = Aviso.Auftraggeber_KdNr 'SPEDITIONSBUCH.Frachtführer = Aviso.Frächter 'If getint(Aviso.Frächter_KdNr) > 0 Then SPEDITIONSBUCH.FrachtführerKundenNr = Aviso.Frächter_KdNr SPEDITIONSBUCH.LKW_Kennzeichen = Aviso.LKW_Nr If IsDate(Aviso.Freigabe) Then SPEDITIONSBUCH.AvisUhrzeit = CDate(Aviso.Freigabe) ' : MsgBox("dATE:" & CDate(Aviso.Freigabe).ToShortTimeString) If SPEDITIONSBUCH.Grenzstelle Is Nothing OrElse SPEDITIONSBUCH.Grenzstelle = "" Then SPEDITIONSBUCH.Grenzstelle = If(Aviso.Grenzstelle, "") End If End If End If If SENDUNG IsNot Nothing Then 'NEU: SPEDITIONSBUCH.Avisierer = SENDUNG.tblSnd_Avisierer If getint(SENDUNG.tblSnd_AvisiererKdNr) > 0 Then SPEDITIONSBUCH.AvisiererKundenNr = SENDUNG.tblSnd_AvisiererKdNr SPEDITIONSBUCH.Frachtführer = SENDUNG.tblSnd_Frachtfuehrer If getint(SENDUNG.tblSnd_FrachtfuehrerKdNr) > 0 Then SPEDITIONSBUCH.FrachtführerKundenNr = SENDUNG.tblSnd_FrachtfuehrerKdNr If SENDUNG.tblSnd_BARzuKassieren IsNot Nothing AndAlso IsNumeric(SENDUNG.tblSnd_BARzuKassieren) AndAlso SPEDITIONSBUCH.HandlingZuKassieren <= 0 Then SPEDITIONSBUCH.HandlingZuKassieren = SENDUNG.tblSnd_BARzuKassieren End If If SPEDITIONSBUCH.AbsenderKundenNr Is Nothing OrElse SPEDITIONSBUCH.AbsenderKundenNr <= 0 Then If SENDUNG.tblSnd_AbsenderKdNr > 0 Then SPEDITIONSBUCH.AbsenderKundenNr = SENDUNG.tblSnd_AbsenderKdNr End If If SPEDITIONSBUCH.Absender Is Nothing OrElse SPEDITIONSBUCH.Absender = "" Then SPEDITIONSBUCH.Absender = SENDUNG.tblSnd_Absender End If If SPEDITIONSBUCH.EmpfängerKundenNr Is Nothing OrElse SPEDITIONSBUCH.EmpfängerKundenNr <= 0 Then If SENDUNG.tblSnd_EmpfaengerKdNr > 0 Then SPEDITIONSBUCH.EmpfängerKundenNr = SENDUNG.tblSnd_EmpfaengerKdNr If SPEDITIONSBUCH.Empfänger Is Nothing OrElse SPEDITIONSBUCH.Empfänger = "" Then SPEDITIONSBUCH.Empfänger = SENDUNG.tblSnd_Empfaenger End If If SPEDITIONSBUCH.VermittlerKundenNr Is Nothing OrElse SPEDITIONSBUCH.VermittlerKundenNr <= 0 Then If SENDUNG.tblSnd_AuftraggeberKdNr > 0 Then SPEDITIONSBUCH.VermittlerKundenNr = SENDUNG.tblSnd_AuftraggeberKdNr ': MsgBox(SENDUNG.tblSnd_AuftraggeberKdNr) If SPEDITIONSBUCH.Vermittler Is Nothing OrElse SPEDITIONSBUCH.Vermittler = "" Then SPEDITIONSBUCH.Vermittler = SENDUNG.tblSnd_Auftraggeber End If End If SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr If PosAnzahl > 0 Then SPEDITIONSBUCH.Vermerk = "Pos-Anzahl: " & PosAnzahl End If 'Wenn Packstücke im Aviso eingegeben wurden, werden diese in das Speditionbuch gespeichert If packstueckeAVISO_TMP.Trim <> "" Then SPEDITIONSBUCH.Packstücke = packstueckeAVISO_TMP If packstueckeZOLL_TMP.Trim <> "" Then SPEDITIONSBUCH.Bemerkungen = packstueckeZOLL_TMP Else If packstueckeZOLL_TMP.Trim <> "" Then SPEDITIONSBUCH.Packstücke = packstueckeZOLL_TMP End If 'Wenn Gewicht im Aviso eingegeben ist, aber keine Rohmasse von ATLAS/EZOLL If IsNull(SPEDITIONSBUCH.Rohmasse) And Not IsNull(RohmasseAviso) Then If IsNumeric(RohmasseAviso) Then SPEDITIONSBUCH.Rohmasse = CInt(RohmasseAviso) End If End If ' If autoImport And Not notFound Then If SENDUNG IsNot Nothing AndAlso SENDUNG.tblSnd_Abfertigungsart_ID > 0 Then If SENDUNG.tblSnd_Abfertigungsart_ID = 23 Then If SENDUNG.tblSnd_anzahlHandling IsNot Nothing AndAlso IsNumeric(SENDUNG.tblSnd_anzahlHandling) Then SPEDITIONSBUCH.Abfertigungsanzahl = SENDUNG.tblSnd_anzahlHandling Else SPEDITIONSBUCH.Abfertigungsanzahl = 0 End If End If If (SENDUNG.tblSnd_Abfertigungsart_ID = 26 Or SENDUNG.tblSnd_Abfertigungsart_ID = 28 Or SENDUNG.tblSnd_Abfertigungsart_ID = 38) And NCTS_Nr <> "" Then 'Überstellungs-T SPEDITIONSBUCH.Abfertigungsart = 5 Else SPEDITIONSBUCH.Abfertigungsart = SENDUNG.tblSnd_Abfertigungsart_ID End If End If ' End If correctEntry(SPEDITIONSBUCH.AbsenderKundenNr, SPEDITIONSBUCH.Absender) correctEntry(SPEDITIONSBUCH.EmpfängerKundenNr, SPEDITIONSBUCH.Empfänger) correctEntry(SPEDITIONSBUCH.VermittlerKundenNr, SPEDITIONSBUCH.Vermittler) correctEntry(SPEDITIONSBUCH.AvisiererKundenNr, SPEDITIONSBUCH.Avisierer) correctEntry(SPEDITIONSBUCH.EndempfängerKundenNr, SPEDITIONSBUCH.Endempfänger) If SPEDITIONSBUCH.Währungsschlüssel Is Nothing OrElse (IsNumeric(SPEDITIONSBUCH.Währungsschlüssel) AndAlso SPEDITIONSBUCH.Währungsschlüssel <= 0) Then SPEDITIONSBUCH.Währungsschlüssel = 900 If Personalnummer > 0 Then SPEDITIONSBUCH.Personalnummer = Personalnummer 'notFound = Me.notFound If autoImport AndAlso Not checkIfAutoOK() Then notFound = True End If Return SPEDITIONSBUCH End Function Shared Sub SetBarKassiert(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch) Try Dim KDSQL As New SQL Dim dt As DataTable = KDSQL.loadDgvBySql("SELECT * FROM ( " & " SELECT rksv_BelegId, isnull(rksv_umsatz ,0) as rksv_umsatz, isnull((Select Name from Personal where ID=b.Benutzer),'') as Benutzer FROM [tblEABelegnummer] as b INNER JOIN [tblEABelegposition] as p ON (b.BelegNr = p.BelegNr AND b.BelegDat = p.BelegDat AND b.Benutzer = p.Benutzer AND b.Niederlassung = p.Niederlassung AND b.Mandant = p.Mandant) where b.AbfertigungsNr='" & SPEDITIONSBUCH.AbfertigungsNr & "' and b.FilialenNr='" & SPEDITIONSBUCH.FilialenNr & "' and storniert=0 and gebuchtstorno=0 " & " UNION " & " SELECT rksv_BelegId , sum(p.Betrag) as rksv_umsatz,isnull((Select Name from Personal where ID=b.Benutzer),'') as Benutzer FROM [tblEABelegnummer] as b INNER JOIN [tblEABelegposition] as p ON (b.BelegNr = p.BelegNr AND b.BelegDat = p.BelegDat AND b.Benutzer = p.Benutzer AND b.Niederlassung = p.Niederlassung AND b.Mandant = p.Mandant) where p.AbfertigungsNr='" & SPEDITIONSBUCH.AbfertigungsNr & "' and p.FilialenNr='" & SPEDITIONSBUCH.FilialenNr & "' and storniert=0 and gebuchtstorno=0 group by rksv_BelegId,b.Benutzer " & " ) as Tb order by rksv_BelegId", "FMZOLL") Dim BenutzerTmp = "" Dim BelegNrTmp = "" Dim BetragTmp As Double = 0 If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then For Each r In dt.Rows If BenutzerTmp = "" Then BenutzerTmp = r("Benutzer") If r("Benutzer") <> BenutzerTmp Then BenutzerTmp = "Div.Benutzer" If (IsNumeric(r("rksv_umsatz"))) Then BetragTmp += r("rksv_umsatz") BelegNrTmp &= r("rksv_BelegId") & "," Next BenutzerTmp = getBenutzerShort(BenutzerTmp) If BelegNrTmp.EndsWith(",") Then BelegNrTmp = BelegNrTmp.Substring(0, BelegNrTmp.Length - 1) SPEDITIONSBUCH.Bar = True If SPEDITIONSBUCH.ErfassungsNr = "" Then SPEDITIONSBUCH.ErfassungsNr = "VERA/" & VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG & "/" & BenutzerTmp & "/" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "/" & BelegNrTmp & "/" & BetragTmp If SPEDITIONSBUCH.Barzahlungsbetrag = 0 Then SPEDITIONSBUCH.Barzahlungsbetrag = BetragTmp End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "BAR-Err: Beträge konnten nicht geladen werden!", "al@verag.ag", "al@verag.ag") End Try End Sub Shared Function getBenutzerShort(s As String) As String If s.ToString.Contains(" ") Then Dim split() = s.ToString.Split(" ") getBenutzerShort = split(0) Else getBenutzerShort = s End If If getBenutzerShort.Length > 10 Then getBenutzerShort = getBenutzerShort.Substring(0, 10) End If End Function Public Function AUTO_IMPORT(SendungId As Integer) As Boolean If SendungId > 0 Then SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungId) ' Dim dt As DataTable = SQLAVISO.loadDataTableBySQL("SELECT * FROM tblSendungen WHERE tblSnd_SendungID='" & SendungId & "' ") If SENDUNG Is Nothing Then Return False Aviso = SQLAVISO.LesenAviso(SENDUNG.tblSnd_AvisoID, "") Dim SPED_LIST = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuchList(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr) If SPED_LIST.LIST.Count > 0 Then MsgBox("Es existieren bereits Einträge zur PosNr '" & SENDUNG.FilialenNr & " " & SENDUNG.AbfertigungsNr & "'") Return False End If ' Dim BezugsNr(4) As String Dim ATLAS_SERVER = "" Dim strManNl = "SUB" 'If cboNiederlassung.Text <> "" Then 'strManNl = cboNiederlassung.Text ' Else ' cboNiederlassung.SelectedIndex = 0 Select Case SENDUNG.FilialenNr Case 4803, 4809 strManNl = "SUB" Case 4801 strManNl = "SUW" Case 5003 strManNl = "SBG" 'ANDERER SERVER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Case 5103 strManNl = "WAI" End Select ' FELT: STATUS, AAAAAAA Dim BezugsNr = genBezugsNummern(SENDUNG, strManNl) Dim SPEDBUCH_TMP As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr) ' SPEDBUCH_TMP.AbfertigungsNr Dim cnt = 0 For Each s In BezugsNr If IMPORT_SPED_BUCH(SENDUNG.tblSnd_AvisoID, SendungId, SPEDBUCH_TMP, 0, s, "", ATLAS_SERVER) Then SPEDBUCH_TMP.SAVE() : SPED_LIST.LIST.Add(SPEDBUCH_TMP) : SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr) : cnt += 1 If IMPORT_SPED_BUCH(SENDUNG.tblSnd_AvisoID, SendungId, SPEDBUCH_TMP, 1, s, "", ATLAS_SERVER) Then SPEDBUCH_TMP.SAVE() : SPED_LIST.LIST.Add(SPEDBUCH_TMP) : SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr) : cnt += 1 Next For Each s In BezugsNr If IMPORT_SPED_BUCH(SENDUNG.tblSnd_AvisoID, SendungId, SPEDBUCH_TMP, 0, "", s, ATLAS_SERVER) Then SPEDBUCH_TMP.SAVE() : SPED_LIST.LIST.Add(SPEDBUCH_TMP) : SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr) : cnt += 1 If IMPORT_SPED_BUCH(SENDUNG.tblSnd_AvisoID, SendungId, SPEDBUCH_TMP, 1, "", s, ATLAS_SERVER) Then SPEDBUCH_TMP.SAVE() : SPED_LIST.LIST.Add(SPEDBUCH_TMP) : SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(SENDUNG.FilialenNr, SENDUNG.AbfertigungsNr) : cnt += 1 Next Return (cnt > 0) End Function Public Function checkIfAutoOK() As Boolean Try If SPEDITIONSBUCH.Personalnummer Is Nothing Then Return False If If(SPEDITIONSBUCH.Vermittler, "") = "" Then Return False If Not IsNumeric(If(SPEDITIONSBUCH.Abfertigungsart, "")) Then Return False If SPEDITIONSBUCH.Abfertigungsanzahl = 0 Then Return False Catch ex As Exception ' VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail(, ex.Message, ex.StackTrace, , "",) VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Validierungsfehler SpedBuch - Trotzdem eingearbeitet!", "al@verag.ag", "al@verag.ag") End Try Return True End Function Public Function genBezugsNummern(SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen, strManNl As String) As List(Of String) genBezugsNummern = New List(Of String) Dim filiale As String = SENDUNG.FilialenNr Dim pos As String = "" Dim jahr As String = "" If SENDUNG.AbfertigungsNr.ToString.Length >= 8 Then pos = CInt(SENDUNG.AbfertigungsNr.ToString.Substring(2)) End If If Aviso IsNot Nothing AndAlso IsDate(Aviso.Freigabe) AndAlso Aviso.Freigabe > CDate("01.01.2000") Then jahr = Aviso.Freigabe.ToString("yy") ' Falls Neujahr Else jahr = Now.ToString("yy") ' Falls Neujahr End If If strManNl = "SBG" Then ATLAS_SERVER_VERBINDUNG = "ATLAS_SBG" Else ATLAS_SERVER_VERBINDUNG = "ATLAS" End If Dim VERAGSQL As New VERAG_PROG_ALLGEMEIN.SQL Dim dt As DataTable = VERAGSQL.loadDgvBySql("SELECT isnull(veoant_beznr,'') as veoant_beznr FROM veoant WHERE basman_nr='" & strManNr & "' And basman_nl='" & strManNl & "' And (veoant_beznr LIKE '%" & filiale & "/" & pos & "/" & jahr & "%' OR veoant_beznr LIKE '%" & filiale & "-" & pos & "-" & jahr & "%') AND veoant_stat BETWEEN 50 AND 60 ORDER BY basman_nr, basman_nl, veoant_beznr, veoant_lfdnr DESC", ATLAS_SERVER_VERBINDUNG) If dt IsNot Nothing Then For Each r As DataRow In dt.Rows If r("veoant_beznr") <> String.Empty Then genBezugsNummern.Add(r("veoant_beznr")) Next End If End Function Public Function genBezugsNummernAAA(SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen) As List(Of String) genBezugsNummernAAA = New List(Of String) Dim filiale As String = SENDUNG.FilialenNr Dim pos As String = "" Dim jahr As String = "" If SENDUNG.AbfertigungsNr.ToString.Length >= 8 Then pos = CInt(SENDUNG.AbfertigungsNr.ToString.Substring(2)) End If If Aviso IsNot Nothing AndAlso IsDate(Aviso.Freigabe) AndAlso Aviso.Freigabe > CDate("01.01.2000") Then jahr = Aviso.Freigabe.ToString("yy") ' Falls Neujahr Else jahr = Now.ToString("yy") ' Falls Neujahr End If genBezugsNummernAAA.Add(filiale & "/" & pos & "/" & jahr) genBezugsNummernAAA.Add(filiale & "/" & pos & "/" & jahr & "A") genBezugsNummernAAA.Add(filiale & "/" & pos & "/" & jahr & "AA") genBezugsNummernAAA.Add(filiale & "/" & pos & "/" & jahr & "AAA") Select Case SENDUNG.tblSnd_Abfertigungsart_ID Case "33", "34", "37" ' filiale = "TOBB" genBezugsNummernAAA.Add("TOBB/" & filiale & "/" & pos & "/" & jahr) genBezugsNummernAAA.Add("TOBB/" & filiale & "/" & pos & "/" & jahr & "A") genBezugsNummernAAA.Add("TOBB/" & filiale & "/" & pos & "/" & jahr & "AA") genBezugsNummernAAA.Add("TOBB/" & filiale & "/" & pos & "/" & jahr & "AAA") ' filiale = "EKOL" genBezugsNummernAAA.Add("EKOL/" & filiale & "/" & pos & "/" & jahr) genBezugsNummernAAA.Add("EKOL/" & filiale & "/" & pos & "/" & jahr & "A") genBezugsNummernAAA.Add("EKOL/" & filiale & "/" & pos & "/" & jahr & "AA") genBezugsNummernAAA.Add("EKOL/" & filiale & "/" & pos & "/" & jahr & "AAA") ' filiale = "SGS" genBezugsNummernAAA.Add("SGS/" & filiale & "/" & pos & "/" & jahr) genBezugsNummernAAA.Add("SGS/" & filiale & "/" & pos & "/" & jahr & "A") genBezugsNummernAAA.Add("SGS/" & filiale & "/" & pos & "/" & jahr & "AA") genBezugsNummernAAA.Add("SGS/" & filiale & "/" & pos & "/" & jahr & "AAA") End Select 'Return BezugsNr End Function Function IMPORT_SPED_BUCH(AvisoId As Integer, SendungId As Integer, ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, ZollSystem As String, EZANr As String, NCTSNr As String, ATLAS_SERVER_VERBINDUNG As String) As Boolean ' Label26.ForeColor = Color.Black ' If txtAtlasBezNrEZA.Text <> "" Or txtAtlasBezNrNCTS.Text <> "" Then 'If cboZollsystem._value = "" Then 'Label26.ForeColor = Color.Red ' Exit Function ' End If ' End If Dim strManNr = "VERA" Dim strManNl = "SUB" 'If cboNiederlassung.Text <> "" Then 'strManNl = cboNiederlassung.Text ' Else ' cboNiederlassung.SelectedIndex = 0 Select Case SPEDITIONSBUCH.FilialenNr Case 4803, 4809 strManNl = "SUB" Case 4801 strManNl = "SUW" Case 5003 strManNl = "SBG" 'ANDERER SERVER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Case 5103 strManNl = "WAI" End Select 'End If ' Dim ZOLL_IMPORT As New SDL.ZOLL_IMPORT Dim notFound = False ' Dim ATLAS_SERVER_VERBINDUNG = "" 'If cboNiederlassung.Text <> "" Then ATLAS_SERVER_VERBINDUNG = cboNiederlassung.Text SPEDITIONSBUCH = IMPORT(SPEDITIONSBUCH, AvisoId, SendungId, strManNr, strManNl, ZollSystem, EZANr, NCTSNr, notFound, True) ' If notFound Then ' lblZollsys.Visible = True ' If notFound And notFoundErrorAllowed Then MsgBox("Der Eintrag wurde nicht gefunden!", vbInformation) ' Else ' lblZollsys.Visible = False 'End If ' loaddata() ' Import_Starten() Return Not notFound End Function Sub correctEntry(ByRef KundenNr, ByRef KdName) If KundenNr IsNot Nothing Then If KundenNr <= 0 Then KundenNr = Nothing : Exit Sub Else If KdName = "" Then KdName = KDSQL.getValueTxtBySql("SELECT isnull(Ordnungsbegriff,'') FROM Adressen WHERE AdressenNr=" & KundenNr, "FMZOLL") End If End If End If If KdName IsNot Nothing AndAlso KdName.ToString.Length > 50 Then KdName = KdName.ToString.Substring(0, 50) End If End Sub Private Sub AtlasEZADatenbereitstellung(EZA_Nr) Dim dATLAS As DataTable = KDSQL.loadDgvBySql("SELECT basman_nr, basman_nl, zbant_beznr, zbant_regnr, zbant_korant, zbant_anmzb, zbant_vertzb, zbant_verszb, zbant_vland, zbant_bbland, zbant_rohm, zbant_bfkzi, zbant_preisr, zbant_waehr, zbant_kurs,zbant_verseori,zbant_anmeori,zbant_verteori,zbant_sb " & " FROM zbant WHERE basman_nr='" & strManNr & "' And basman_nl='" & strManNl & "' And zbant_beznr='" & EZA_Nr & "' ORDER BY basman_nr, basman_nl, zbant_beznr, zbant_regnr, zbant_korant, zbant_antart", ATLAS_SERVER_VERBINDUNG) ' Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU) If dATLAS Is Nothing Then notFound = True : Exit Sub If dATLAS.Rows.Count > 0 Then notFound = False ' TextBox1.ForeColor = Color.Green For Each r As DataRow In dATLAS.Rows ' r.Item("").ToString() ' MsgBox(fNEF.txtAbsender.Text) If SPEDITIONSBUCH.Absender = "" Then setAdresseAndKundenNr(SPEDITIONSBUCH.Absender, SPEDITIONSBUCH.AbsenderKundenNr, 3, 1, r.Item("zbant_verszb"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("zbant_beznr"), r.Item("zbant_regnr"), r.Item("zbant_korant"), r.Item("zbant_vland"), r.Item("zbant_verseori"), "") If SPEDITIONSBUCH.Empfänger = "" Then setAdresseAndKundenNr(SPEDITIONSBUCH.Empfänger, SPEDITIONSBUCH.EmpfängerKundenNr, 4, 2, r.Item("zbant_anmzb"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("zbant_beznr"), r.Item("zbant_regnr"), r.Item("zbant_korant"), r.Item("zbant_vland"), r.Item("zbant_anmeori"), "") ' If SPEDITIONSBUCH.Vermittler = "" Then setAdresseAndKundenNr(SPEDITIONSBUCH.Vermittler, SPEDITIONSBUCH.VermittlerKundenNr, -1, 3, r.Item("zbant_vertzb"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("zbant_beznr"), r.Item("zbant_regnr"), r.Item("zbant_korant"), r.Item("zbant_vland"), r.Item("zbant_verteori")) If Not IsNull(r.Item("zbant_vland")) And Not Trim(r.Item("zbant_vland")) = "" Then SPEDITIONSBUCH.Versendungsland = Trim(r.Item("zbant_vland")) End If If Not IsNull(r.Item("zbant_bbland")) And Not Trim(r.Item("zbant_bbland")) = "" Then SPEDITIONSBUCH.Bestimmungsland = Trim(r.Item("zbant_bbland")) End If If Not IsNull(r.Item("zbant_bfkzi")) And Not Trim(r.Item("zbant_bfkzi")) = "" Then SPEDITIONSBUCH.LKW_Kennzeichen = Microsoft.VisualBasic.Strings.Left(Trim(r.Item("zbant_bfkzi")), 25) ' TextBoxLKWKz.Text = r.Item("zbant_bfkzi").trim() End If If Not IsNull(r.Item("zbant_regnr")) And Not Trim(r.Item("zbant_regnr")) = "" Then SPEDITIONSBUCH.BelegNr = Trim(r.Item("zbant_regnr")) ' fNEF.txtBelegNummerZAT1T2.Text End If If Not IsNull(r.Item("zbant_waehr")) Then If r.Item("zbant_waehr") = "EUR" Then SPEDITIONSBUCH.Währungsschlüssel = "900" Else SPEDITIONSBUCH.Währungsschlüssel = getWaehr(r.Item("zbant_waehr")) End If ' MsgBox(r.Item("zbant_waehr")) End If If Not IsNull(r.Item("zbant_preisr")) Then SPEDITIONSBUCH.Rechnungsbetrag = CDbl(r.Item("zbant_preisr")) End If If Not IsNull(r.Item("zbant_kurs")) And r.Item("zbant_kurs") <> 0 Then SPEDITIONSBUCH.Umrechnungskurs = r.Item("zbant_kurs") End If If Not IsNull(r.Item("zbant_rohm")) AndAlso IsNumeric(r.Item("zbant_rohm")) Then SPEDITIONSBUCH.Rohmasse = CInt(r.Item("zbant_rohm")) End If 'Personal Abfertigung: Try If Not IsNull(r.Item("zbant_sb")) Then Dim p = KDSQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE mit_ATLAS_SB='" & r.Item("zbant_sb") & "'", "ADMIN") SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing) End If Catch ex As Exception MsgBox("Fehler ATLAS Personal: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace) End Try Next Else notFound = True End If dATLAS = Nothing dATLAS = KDSQL.loadDgvBySql("SELECT zbpos_posnr, zbpos_stkanz, zbpos_stkart, zbpos_stkzei, zbpos_wanr, zbpos_wazus1, zbpos_wazus2, zbpos_wabes " & " FROM zbpos WHERE basman_nr='" & strManNr & "' And basman_nl='" & strManNl & "' And zbant_beznr='" & EZA_Nr & "' " & " ORDER BY basman_nr, basman_nl, zbant_beznr, zbant_regnr, zbant_korant, zbant_antart, zbpos_posnr ", ATLAS_SERVER_VERBINDUNG) ' rst = GetRecordsetADO(strSQL, cnn, adOpenForwardOnly, adLockReadOnly, adCmdText) If packstueckeZOLL_TMP.ToString = "" Then If dATLAS.Rows.Count > 0 Then Dim packst As String = "" For Each r As DataRow In dATLAS.Rows If r.Item("zbpos_posnr") = 1 Then If Not IsNull(r.Item("zbpos_stkanz")) And Not r.Item("zbpos_stkanz") = 0 Then packst = packst & r.Item("zbpos_stkanz") If Not Trim(r.Item("zbpos_stkart")) = "" Then packst = packst & " " & Trim(r.Item("zbpos_stkart")) End If 'If Not Trim(rst!zbpos_stkzei) = "" Then ' Me!Packstücke = Me!Packstücke & " " & Trim(rst!zbpos_stkzei) 'End If packst = packst & " " End If 'If Not Trim(rst!zbpos_wanr) = "" Then ' Me!Packstücke = Me!Packstücke & "TNr: " & Trim(rst!zbpos_wanr) 'End If 'If Not Trim(rst!zbpos_wazus1) = "" Then ' Me!Packstücke = Me!Packstücke & "/" & Trim(rst!zbpos_wazus1) 'End If 'If Not Trim(rst!zbpos_wazus2) = "" Then ' Me!Packstücke = Me!Packstücke & "/" & Trim(rst!zbpos_wazus2) 'End If 'Me!Packstücke = Me!Packstücke & " Warenbeschreibung lt. Anlage" 'Me!Packstücke = Me!Packstücke & vbCrLf If Not Trim(r.Item("zbpos_wabes")) = "" Then packst = packst & Trim(r.Item("zbpos_wabes")) End If End If Next packstueckeZOLL_TMP = packst PosAnzahl = dATLAS.Rows.Count End If End If 'Schleife durchlaufen, bis keine passenden Datensätze mehr vorhanden sind. End Sub Public Function getMRNFROM_AtlasNCTSDatenbereitstellung(strManNr, strManNl, NCTS_Nr) As String If strManNl = "SBG" Then ATLAS_SERVER_VERBINDUNG = "ATLAS_SBG" Else ATLAS_SERVER_VERBINDUNG = "ATLAS" End If Return KDSQL.getValueTxtBySql("SELECT TOP 1 veoant_mrn FROM veoant WHERE basman_nr='" & strManNr & "' And basman_nl='" & strManNl & "' And veoant_beznr='" & NCTS_Nr & "' AND veoant_stat BETWEEN 50 AND 60 ORDER BY basman_nr, basman_nl, veoant_beznr, veoant_lfdnr DESC", ATLAS_SERVER_VERBINDUNG) End Function Public Function getMRNFROM_EZollNCTSDatenbereitstellung(NCTS_Nr) As String 'Return KDSQL.getValueTxtBySql("SELECT top 1 CRN FROM zsAnmRefs WHERE (VorgangID = 'AV') AND (LRN = '" & NCTS_Nr & "') ORDER BY GeaendertAm DESC", "EZOLL") Return KDSQL.getValueTxtBySql("SELECT top 1 CRN from zsAnmRefs left JOIN [zsAnmDHFRefs] on [zsAnmDHFRefs].AnmID=zsAnmRefs.AnmID AND [zsAnmDHFRefs].OperatorID=zsAnmRefs.OperatorID AND [zsAnmDHFRefs].LizenzNr=zsAnmRefs.LizenzNr where (zsAnmDHFRefs.VorgangID = 'AV') AND (LRN LIKE '" & NCTS_Nr & "') and ErledigungsTypID IN ('F','FB') ORDER BY zsAnmDHFRefs.GeaendertAm DESC", "EZOLL") End Function Public Function getMRNFROM_EZollNCTSDatenbereitstellungDT(NCTS_Nr) As DataTable 'Return KDSQL.getValueTxtBySql("SELECT top 1 CRN FROM zsAnmRefs WHERE (VorgangID = 'AV') AND (LRN = '" & NCTS_Nr & "') ORDER BY GeaendertAm DESC", "EZOLL") Return KDSQL.loadDgvBySql("SELECT CRN from zsAnmRefs left JOIN [zsAnmDHFRefs] on [zsAnmDHFRefs].AnmID=zsAnmRefs.AnmID AND [zsAnmDHFRefs].OperatorID=zsAnmRefs.OperatorID AND [zsAnmDHFRefs].LizenzNr=zsAnmRefs.LizenzNr where (zsAnmDHFRefs.VorgangID = 'AV') AND (LRN LIKE '" & NCTS_Nr & "') and ErledigungsTypID IN ('F','FB') ORDER BY zsAnmDHFRefs.GeaendertAm DESC", "EZOLL") End Function Private Sub AtlasNCTSDatenbereitstellung(NCTS_Nr) 'Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU) Dim dATLAS As DataTable = KDSQL.loadDgvBySql("SELECT basman_nr, basman_nl, veoant_beznr, veoant_lfdnr, veoant_tinve, veoant_tinem, veoant_tinze, veoant_tinhp, veoant_ldvs, veoant_ldbe, veoant_bfabkz, veoant_mrn, veoant_gsroh, veoant_anzcol, veoant_bedst, veoant_sb " & " FROM veoant WHERE basman_nr='" & strManNr & "' And basman_nl='" & strManNl & "' And veoant_beznr='" & NCTS_Nr & "' " & " ORDER BY basman_nr, basman_nl, veoant_beznr, veoant_lfdnr DESC", ATLAS_SERVER_VERBINDUNG) If dATLAS Is Nothing Then notFound = True : Exit Sub If dATLAS.Rows.Count > 0 Then notFound = False ' TextBox2.ForeColor = Color.Green For Each r As DataRow In dATLAS.Rows ' r.Item("").ToString() If SPEDITIONSBUCH.Absender = "" Then setAdresseAndKundenNrNCTS(SPEDITIONSBUCH.Absender, SPEDITIONSBUCH.AbsenderKundenNr, 3, 1, r.Item("veoant_tinve"), r.Item("veoant_tinve"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("veoant_beznr"), r.Item("veoant_lfdnr"), 0, 1, r.Item("veoant_ldvs")) If SPEDITIONSBUCH.Empfänger = "" Then setAdresseAndKundenNrNCTS(SPEDITIONSBUCH.Empfänger, SPEDITIONSBUCH.EmpfängerKundenNr, 4, 2, r.Item("veoant_tinze"), r.Item("veoant_tinem"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("veoant_beznr"), r.Item("veoant_lfdnr"), 0, 2, r.Item("veoant_ldbe")) If SPEDITIONSBUCH.Vermittler = "" Then setAdresseAndKundenNrNCTS(SPEDITIONSBUCH.Vermittler, SPEDITIONSBUCH.VermittlerKundenNr, -1, 3, r.Item("veoant_tinhp"), r.Item("veoant_tinhp"), r.Item("basman_nr"), r.Item("basman_nl"), r.Item("veoant_beznr"), r.Item("veoant_lfdnr"), 0, 3, r.Item("veoant_ldbe")) If Not IsNull(r.Item("veoant_ldvs")) And Not Trim(r.Item("veoant_ldvs")) = "" Then SPEDITIONSBUCH.Versendungsland = Trim(r.Item("veoant_ldvs")) End If If Not IsNull(r.Item("veoant_ldbe")) And Not Trim(r.Item("veoant_ldbe")) = "" Then SPEDITIONSBUCH.Bestimmungsland = Trim(r.Item("veoant_ldbe")) End If ' Änderung 05.01.2006, damit Vorgaben aus Barbeleg nicht überschrieben werden. 'Me!VermittlerKundenNr = Null 'Me!Vermittler = Null If Not IsNull(r.Item("veoant_bfabkz")) And Not Trim(r.Item("veoant_bfabkz")) = "" Then SPEDITIONSBUCH.LKW_Kennzeichen = Microsoft.VisualBasic.Strings.Left(Trim(r.Item("veoant_bfabkz")), 25) ' TextBoxLKWKz.Text = r.Item("veoant_bfabkz").trim() End If If Not IsNull(r.Item("veoant_mrn")) And Not Trim(r.Item("veoant_mrn")) = "" Then SPEDITIONSBUCH.BelegNr = Trim(r.Item("veoant_mrn")) End If If packstueckeZOLL_TMP.ToString = "" Then If Not IsNull(r.Item("veoant_anzcol")) Then packstueckeZOLL_TMP = r.Item("veoant_anzcol") End If End If If Not IsNull(r.Item("veoant_gsroh")) Then SPEDITIONSBUCH.Rohmasse = r.Item("veoant_gsroh") End If 'If Not IsNull(r.Item("veoant_bedst")) Then ' fNEF.cboBestimmungsZollstelle.Text = r.Item("veoant_bedst") ' End If '-------------------------------------- 'Personal Abfertigung: Try If Not IsNull(r.Item("veoant_sb")) Then Dim p = KDSQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE mit_ATLAS_SB='" & r.Item("veoant_sb") & "'", "ADMIN") SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing) End If Catch ex As Exception MsgBox("Fehler ATLAS Personal: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace) End Try Next Else notFound = True ' TextBox2.ForeColor = Color.Red End If Dim curPosNr0Basbtg As Double Dim curPosNr0Sicbtg As Double Dim Rechnungsbetrag As Double = 0 Dim Währungsschlüssel = 900 'Euro Dim Sicherheitsbetrag As Double = 0 '??????????? dATLAS = Nothing dATLAS = KDSQL.loadDgvBySql("SELECT veoant_beznr, veoant_lfdnr, veopos_posnr, veoerz_typ, veoerz_lfdnr, veoerz_sicbsc, veoerz_basbtg, veoerz_baswrg, veoerz_sicbtg, veoerz_sicwrg, veoant_korant" & _ " FROM veoerz t1 WHERE (veoant_beznr = '" & NCTS_Nr & "') AND (basman_nr = '" & strManNr & "') AND (basman_nl = '" & strManNl & "') AND (veoerz_typ = 2)" & _ " AND (veoant_korant = (SELECT MAX(t2.veoant_korant) FROM veoerz t2" & _ " WHERE t2.veoant_beznr = t1.veoant_beznr AND t2.veoant_lfdnr = t1.veoant_lfdnr AND t2.veopos_posnr = t1.veopos_posnr AND" & _ " t2.veoerz_typ = t1.veoerz_typ AND t2.veoerz_lfdnr = t1.veoerz_lfdnr AND t2.basman_nr = t1.basman_nr AND" & _ " t2.basman_nl = t1.basman_nl)) " & _ " ORDER BY veoant_lfdnr, veopos_posnr, veoerz_typ, veoerz_lfdnr", ATLAS_SERVER_VERBINDUNG) If dATLAS.Rows.Count > 0 Then notFound = False Dim packst As String = "" For Each r As DataRow In dATLAS.Rows ' If r.Item("veopos_posnr") = 0 And Not IsNull(r.Item("veoerz_sicbsc")) And Not Trim(r.Item("veoerz_sicbsc")) = "" Then '[Bürgschaft] = Trim(r.Item("veoerz_sicbsc")) '???????? ' End If If curPosNr0Basbtg = 0 And r.Item("veoerz_basbtg") <> 0.0# Then If r.Item("veoerz_baswrg") = "EUR" Or r.Item("veoerz_baswrg") = " " Then Rechnungsbetrag = Rechnungsbetrag + r.Item("veoerz_basbtg") Else ' In Euro umrechnen. 'HIER If SPEDITIONSBUCH.Abfertigungsdatum IsNot Nothing Then Dim dATLAS2 As DataTable = KDSQL.loadDgvBySql("SELECT baskur_kurs" & " FROM baskur" & " WHERE (baskur_code = '" & r.Item("veoerz_baswrg") & "')" & " AND (baskur_typ = 1 OR baskur_typ = 2)" & " AND (baskur_gvdat <= CAST('" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "' as DATETIME))" & " AND (baskur_gbdat >= CAST('" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "'as DATETIME))" & " AND (baskur_wkz = 'EUR')" & " ORDER BY baskur_gvdat DESC, baskur_gbdat DESC", ATLAS_SERVER_VERBINDUNG) ' rst2 = GetRecordsetADO(strSQL, cnn, adOpenForwardOnly, adLockReadOnly, adCmdText) If dATLAS2.Rows.Count > 0 Then Dim curEurobetrag = r.Item("veoerz_basbtg") / dATLAS2.Rows(0).Item("baskur_kurs") curEurobetrag = Int(curEurobetrag * 100 + 0.5) / 100 'Runden Rechnungsbetrag = Rechnungsbetrag + curEurobetrag Else Rechnungsbetrag = Rechnungsbetrag + r.Item("veoerz_basbtg") ' Me!Währungsschlüssel = Null 'unterschiedliche Währungen MsgBox("Es wurde kein Euro-Umrechnungskurs gefunden. Rechnungsbetrag wird ohne Kursumrechnung erzeugt.", , "Datenübernahme aus ATLAS " & r.Item("veoerz_basbtg") & " " & r.Item("veoerz_baswrg")) End If Else MsgBox("Abfertigungsdatum ist nicht gesetzt. Rechnungsbetrag wurde nicht übernommen.") End If End If End If If curPosNr0Sicbtg = 0 And r.Item("veoerz_sicbtg") <> 0.0# Then If r.Item("veoerz_sicwrg") = "EUR" Or r.Item("veoerz_sicwrg") = " " Then Sicherheitsbetrag = Sicherheitsbetrag + r.Item("veoerz_sicbtg") Else ' In Euro umrechnen. If SPEDITIONSBUCH.Abfertigungsdatum IsNot Nothing Then Dim dATLAS2 As DataTable = KDSQL.loadDgvBySql("SELECT baskur_kurs" & _ " FROM baskur" & _ " WHERE (baskur_code = '" & r.Item("veoerz_sicwrg") & "')" & _ " AND (baskur_typ = 1 OR baskur_typ = 2)" & _ " AND (baskur_gvdat <= CAST('" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "' as DATETIME))" & _ " AND (baskur_gbdat >= CAST('" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "' as DATETIME))" & _ " AND (baskur_wkz = 'EUR')" & _ " ORDER BY baskur_gvdat DESC, baskur_gbdat DESC", ATLAS_SERVER_VERBINDUNG) If dATLAS2.Rows.Count > 0 Then Dim curEurobetrag = r.Item("veoerz_sicbtg") / dATLAS2.Rows(0).Item("baskur_kurs") curEurobetrag = Int(curEurobetrag * 100 + 0.5) / 100 'Runden Sicherheitsbetrag = Sicherheitsbetrag + curEurobetrag Else Sicherheitsbetrag = Sicherheitsbetrag + r.Item("veoerz_sicbtg") MsgBox("Es wurde kein Euro-Umrechnungskurs gefunden. Sicherheitsbetrag wird ohne Kursumrechnung erzeugt.", , "Datenübernahme aus ATLAS " & r.Item("veoerz_sicbtg") & " " & r.Item("veoerz_sicwrg")) End If Else MsgBox("Abfertigungsdatum ist nicht gesetzt. Rechnungsbetrag wurde nicht übernommen.") End If End If End If If r.Item("veopos_posnr") = 0 Then ' Basisbetrag und Sicherheitsbetrag aus Positionssatz 0 zwischenspeichern. curPosNr0Basbtg = r.Item("veoerz_basbtg") curPosNr0Sicbtg = r.Item("veoerz_sicbtg") End If Next SPEDITIONSBUCH.Rechnungsbetrag = CDbl(Rechnungsbetrag) SPEDITIONSBUCH.Sicherheitsbetrag = CDbl(Sicherheitsbetrag) End If End Sub Function getAdresseFromEORI(EORI, EORI_NL) If EORI Is Nothing Then Return Nothing If If(EORI, "") <> "" Then Dim kdNrTmp = KDSQL.getFMZOLLKdNrFromEORI(EORI, EORI_NL) If IsNumeric(kdNrTmp) Then Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNrTmp) Return ADRESSE End If End If Return Nothing End Function Private Sub EZollNCTSDatenbereitstellung(NCTS_Nr) ' Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU) Dim Bestimmungszollstelle = "" Dim Bürgschaft = "" Dim Sicherheitsbetrag As Double Dim dEZOLL As DataTable = KDSQL.loadDgvBySql("SELECT LizenzNr, OperatorID, VorgangID, AnmID, GeaendertAm, GeaendertVon, CRN, LRN" & _ " FROM zsAnmRefs" & _ " WHERE (VorgangID = 'AV') AND (LRN = '" & NCTS_Nr & "')" & _ " ORDER BY GeaendertAm DESC", "EZOLL") If dEZOLL Is Nothing Then notFound = True : Exit Sub If dEZOLL.Rows.Count = 0 Then ' MsgBox("Die Bezugsnummer " & NCTS_Nr & " wurde nicht in der EZoll-Datenbank gefunden.", vbInformation, "Daten aus EZoll übernehmen") notFound = True ' TextBox2.ForeColor = Color.Red Exit Sub End If 'TextBox2.ForeColor = Color.Green Dim r As DataRow = dEZOLL.Rows(0) notFound = False If Not IsNull(r.Item("GeaendertAm")) Then ' If IsNull(SPEDITIONSBUCH.Abfertigungsdatum) Then SPEDITIONSBUCH.Abfertigungsdatum = DateValue(r.Item("GeaendertAm")) ' GEHT SO NED, aber wird whsk nicht benötigt? SPEDITIONSBUCH.AvisUhrzeit = CDate(r.Item("GeaendertAm")) End If If Not IsNull(r.Item("CRN")) Then SPEDITIONSBUCH.BelegNr = r.Item("CRN") If SPEDITIONSBUCH.Absender = "" Then ' Tabelle zsAnmConorTra lesen. Dim DTzsAnmConorTra As DataTable = KDSQL.loadDgvBySql("SELECT Na, Pst, Cty, Ctry" & _ " FROM zsAnmConorTra" & _ " WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL") If DTzsAnmConorTra.Rows().Count > 0 Then If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Na")) Then SPEDITIONSBUCH.Absender = Strings.Left(DTzsAnmConorTra.Rows(0).Item("Na"), 50) If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Ctry"), 50) If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Pst")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Pst"), 50) If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Cty")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Cty"), 50) If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Versendungsland = DTzsAnmConorTra.Rows(0).Item("Ctry") End If End If If SPEDITIONSBUCH.Empfänger = "" Then ' Tabelle zsAnmConeeTra lesen. Dim DTzsAnmConeeTra As DataTable = KDSQL.loadDgvBySql("SELECT Na, Pst, Cty, Ctry" & _ " FROM zsAnmConeeTra" & _ " WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL") If DTzsAnmConeeTra.Rows().Count > 0 Then If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Na")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(DTzsAnmConeeTra.Rows(0).Item("Na"), 50) If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Ctry"), 50) If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Pst")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Pst"), 50) If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Cty")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Cty"), 50) If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Bestimmungsland = DTzsAnmConeeTra.Rows(0).Item("Ctry") End If End If ' Tabelle zsAnmTransp lesen. Dim DTzsAnmTransp As DataTable = KDSQL.loadDgvBySql("SELECT DepIdnt" & _ " FROM zsAnmTransp" & _ " WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL") If DTzsAnmTransp.Rows().Count > 0 Then If Not IsNull(DTzsAnmTransp.Rows(0).Item("DepIdnt")) Then SPEDITIONSBUCH.LKW_Kennzeichen = Strings.Left(DTzsAnmTransp.Rows(0).Item("DepIdnt"), 25) ' Me.TextBoxLKWKz.Text = Strings.Left(DTzsAnmTransp.Rows(0).Item("DepIdnt"), 25) End If End If ' Tabelle zsAnmValData lesen. Dim DTzsAnmValData As DataTable = KDSQL.loadDgvBySql("SELECT InvCurr, InvVal" & _ " FROM zsAnmValData" & _ " WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL") If DTzsAnmValData.Rows().Count > 0 Then If Not IsNull(DTzsAnmValData.Rows(0).Item("InvCurr")) Then If DTzsAnmValData.Rows(0).Item("InvCurr") = "EUR" Then SPEDITIONSBUCH.Währungsschlüssel = "900" Else SPEDITIONSBUCH.Währungsschlüssel = getWaehr(DTzsAnmValData.Rows(0).Item("InvCurr")) End If End If ' fNEF.cbxWaehrung._value = DTzsAnmValData.Rows(0).Item("InvCurr") '!Währungsschlüssel = DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & DTzsAnmValData.Rows(0).Item("InvCurr") & "'") If Not IsNull(DTzsAnmValData.Rows(0).Item("InvVal")) Then SPEDITIONSBUCH.Rechnungsbetrag = CDbl(DTzsAnmValData.Rows(0).Item("InvVal")) End If ' Tabelle zsAnmHea lesen. Dim DTzsAnmHea As DataTable = KDSQL.loadDgvBySql("SELECT TotPack, TotGross" & _ " FROM zsAnmHea" & _ " WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL") If packstueckeZOLL_TMP = "" Then If DTzsAnmHea.Rows().Count > 0 Then If Not IsNull(DTzsAnmHea.Rows(0).Item("TotPack")) Then packstueckeZOLL_TMP = DTzsAnmHea.Rows(0).Item("TotPack") & " Packst." If Not IsNull(DTzsAnmHea.Rows(0).Item("TotGross")) AndAlso IsNumeric(IsNull(DTzsAnmHea.Rows(0).Item("TotGross"))) Then SPEDITIONSBUCH.Rohmasse = CInt(DTzsAnmHea.Rows(0).Item("TotGross")) End If ' Tabelle zsAnmGdsitem lesen. Dim DTzsAnmGdsitem As DataTable = KDSQL.loadDgvBySql("SELECT GdsDes" & _ " FROM zsAnmGdsitem" & _ " WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")" & _ " ORDER BY GdsItemID", "EZOLL") If DTzsAnmGdsitem.Rows().Count > 0 Then If Not IsNull(DTzsAnmGdsitem.Rows(0).Item("GdsDes")) Then If IsNull(packstueckeZOLL_TMP) Then packstueckeZOLL_TMP = DTzsAnmGdsitem.Rows(0).Item("GdsDes") Else packstueckeZOLL_TMP = packstueckeZOLL_TMP & " " & DTzsAnmGdsitem.Rows(0).Item("GdsDes") End If End If End If End If ' Tabelle zsAnmDestCo lesen. Dim DTzsAnmDestCo As DataTable = KDSQL.loadDgvBySql("SELECT Ref" & _ " FROM zsAnmDestCo" & _ " WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")", "EZOLL") If DTzsAnmDestCo.Rows().Count > 0 Then If Not IsNull(DTzsAnmDestCo.Rows(0).Item("ref")) Then [Bestimmungszollstelle] = DTzsAnmDestCo.Rows(0).Item("ref") End If ' Tabelle zsAnmGrteeGrteeRef lesen. Dim DTzsAnmGrteeGrteeRef As DataTable = KDSQL.loadDgvBySql("SELECT GRN, GVal" & _ " FROM zsAnmGrteeGrteeRef" & _ " WHERE (LizenzNr = '" & r.Item("LizenzNr") & "') And (OperatorID = " & r.Item("OperatorID") & ") And (VorgangID = '" & r.Item("VorgangID") & "') And (AnmID = " & r.Item("AnmID") & ")" & _ " ORDER BY GrteeID, GrteeRefID", "EZOLL") If DTzsAnmGrteeGrteeRef.Rows().Count > 0 Then [Sicherheitsbetrag] = 0 For Each DTzsAnmGrteeGrteeRef_row In DTzsAnmGrteeGrteeRef.Rows() If Not IsNull(DTzsAnmGrteeGrteeRef_row.item("GRN")) Then [Bürgschaft] = DTzsAnmGrteeGrteeRef_row.item("GRN") If Not IsNull(DTzsAnmGrteeGrteeRef_row.item("GVal")) Then [Sicherheitsbetrag] = [Sicherheitsbetrag] + DTzsAnmGrteeGrteeRef_row.item("GVal") Next End If 'Personal Abfertigung: Try If Not IsNull(r.Item("GeaendertVon")) Then Dim p = KDSQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE mit_EZOLL_SB='" & r.Item("GeaendertVon") & "'", "ADMIN") SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing) End If Catch ex As Exception MsgBox("Fehler EZOLL Personal: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace) End Try 'Anhang If Not IsNull(r.Item("LRN")) Then getVBDFromAnmId(r.Item("LRN"), SPEDITIONSBUCH.DokumentId_VBD) End If SPEDITIONSBUCH.Sicherheitsbetrag = CDbl(Sicherheitsbetrag) SPEDITIONSBUCH.Bestimmungszollstelle = Bestimmungszollstelle SPEDITIONSBUCH.Bürgschaft = Bürgschaft End Sub Private Sub EZollEZADatenbereitstellung(EZA_Nr) ' Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU) Dim dEZOLL As DataTable = KDSQL.loadDgvBySql("SELECT LizenzNr, OperatorID, VorgangID, AnmID, GeaendertAm, GeaendertVon, CRN, LRN" & _ " FROM zsAnmRefs" & _ " WHERE (VorgangID = 'EF') AND (LRN = '" & EZA_Nr & "')" & _ " ORDER BY GeaendertAm DESC", "EZOLL") If dEZOLL Is Nothing Then notFound = True : Exit Sub If dEZOLL.Rows.Count = 0 Then 'MsgBox("Die Bezugsnummer " & EZA_Nr & " wurde nicht in der EZoll-Datenbank gefunden.", vbInformation, "Daten aus EZoll übernehmen") notFound = True ' TextBox1.ForeColor = Color.Red Exit Sub End If ' TextBox1.ForeColor = Color.Green Dim DR_zsAnmRefs As DataRow = dEZOLL.Rows(0) notFound = False If Not IsNull(DR_zsAnmRefs.Item("GeaendertAm")) Then ' If IsNull(SPEDITIONSBUCH.Abfertigungsdatum) Then SPEDITIONSBUCH.Abfertigungsdatum = DateValue(DR_zsAnmRefs.Item("GeaendertAm")) 'KA:::: SPEDITIONSBUCH.AvisUhrzeit = CDate(DR_zsAnmRefs.Item("GeaendertAm")) End If If Not IsNull(DR_zsAnmRefs.Item("CRN")) Then SPEDITIONSBUCH.BelegNr = DR_zsAnmRefs.Item("CRN") If SPEDITIONSBUCH.Absender = "" Then ' Tabelle zsAnmConorTra lesen. Dim DTzsAnmConorTra As DataTable = KDSQL.loadDgvBySql("SELECT Na, Pst, Cty, Ctry" & _ " FROM zsAnmConorTra" & _ " WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", "EZOLL") If DTzsAnmConorTra.Rows().Count > 0 Then If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Na")) Then SPEDITIONSBUCH.Absender = Strings.Left(DTzsAnmConorTra.Rows(0).Item("Na"), 50) If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Ctry"), 50) If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Pst")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Pst"), 50) If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Cty")) Then SPEDITIONSBUCH.Absender = Strings.Left(SPEDITIONSBUCH.Absender & ", " & DTzsAnmConorTra.Rows(0).Item("Cty"), 50) If Not IsNull(DTzsAnmConorTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Versendungsland = DTzsAnmConorTra.Rows(0).Item("Ctry") End If End If If SPEDITIONSBUCH.Empfänger = "" Then ' Tabelle zsAnmConeeTra lesen. Dim DTzsAnmConeeTra As DataTable = KDSQL.loadDgvBySql("SELECT Na, Pst, Cty, Ctry" & _ " FROM zsAnmConeeTra" & _ " WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", "EZOLL") If DTzsAnmConeeTra.Rows().Count > 0 Then If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Na")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(DTzsAnmConeeTra.Rows(0).Item("Na"), 50) If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Ctry"), 50) If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Pst")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Pst"), 50) If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Cty")) Then SPEDITIONSBUCH.Empfänger = Strings.Left(SPEDITIONSBUCH.Empfänger & ", " & DTzsAnmConeeTra.Rows(0).Item("Cty"), 50) If Not IsNull(DTzsAnmConeeTra.Rows(0).Item("Ctry")) Then SPEDITIONSBUCH.Bestimmungsland = DTzsAnmConeeTra.Rows(0).Item("Ctry") End If End If ' Tabelle zsAnmTransp lesen. Dim DTzsAnmTransp As DataTable = KDSQL.loadDgvBySql("SELECT DepIdnt" & _ " FROM zsAnmTransp" & _ " WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", "EZOLL") If DTzsAnmTransp.Rows().Count > 0 Then If Not IsNull(DTzsAnmTransp.Rows(0).Item("DepIdnt")) Then SPEDITIONSBUCH.LKW_Kennzeichen = Strings.Left(DTzsAnmTransp.Rows(0).Item("DepIdnt"), 25) End If ' Tabelle zsAnmValData lesen. Dim DTzsAnmValData As DataTable = KDSQL.loadDgvBySql("SELECT InvCurr, InvVal" & _ " FROM zsAnmValData" & _ " WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", "EZOLL") If DTzsAnmValData.Rows().Count > 0 Then If Not IsNull(DTzsAnmValData.Rows(0).Item("InvCurr")) Then If DTzsAnmValData.Rows(0).Item("InvCurr") = "EUR" Then SPEDITIONSBUCH.Währungsschlüssel = "900" Else SPEDITIONSBUCH.Währungsschlüssel = getWaehr(DTzsAnmValData.Rows(0).Item("InvCurr")) End If End If ' fNEF.cbxWaehrung._value = DTzsAnmValData.Rows(0).Item("InvCurr") ' = DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & DTzsAnmValData.Rows(0).Item("InvCurr") & "'") If Not IsNull(DTzsAnmValData.Rows(0).Item("InvVal")) Then SPEDITIONSBUCH.Rechnungsbetrag = CDbl(DTzsAnmValData.Rows(0).Item("InvVal")) End If ' Tabelle zsAnmHea lesen. Dim DTzsAnmHea As DataTable = KDSQL.loadDgvBySql("SELECT TotPack, TotGross" & _ " FROM zsAnmHea" & _ " WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", "EZOLL") If packstueckeZOLL_TMP = "" Then If DTzsAnmHea.Rows().Count > 0 Then If Not IsNull(DTzsAnmHea.Rows(0).Item("TotPack")) Then packstueckeZOLL_TMP = DTzsAnmHea.Rows(0).Item("TotPack") & " Packst." If Not IsNull(DTzsAnmHea.Rows(0).Item("TotGross")) Then SPEDITIONSBUCH.Rohmasse = DTzsAnmHea.Rows(0).Item("TotGross") End If ' Tabelle zsAnmGdsitem lesen. Dim DTzsAnmGdsitem As DataTable = KDSQL.loadDgvBySql("SELECT GdsDes" & _ " FROM zsAnmGdsitem" & _ " WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")" & _ " ORDER BY GdsItemID", "EZOLL") If DTzsAnmGdsitem.Rows().Count > 0 Then If Not IsNull(DTzsAnmGdsitem.Rows(0).Item("GdsDes")) Then If IsNull(packstueckeZOLL_TMP) Then packstueckeZOLL_TMP = DTzsAnmGdsitem.Rows(0).Item("GdsDes") Else packstueckeZOLL_TMP = packstueckeZOLL_TMP & " " & DTzsAnmGdsitem.Rows(0).Item("GdsDes") End If End If End If End If 'Personal Abfertigung: Try If Not IsNull(DR_zsAnmRefs.Item("GeaendertVon")) Then Dim p = KDSQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE mit_EZOLL_SB='" & DR_zsAnmRefs.Item("GeaendertVon") & "'", "ADMIN") SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing) End If Catch ex As Exception MsgBox("Fehler EZOLL Personal: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace) End Try 'Anhang If Not IsNull(DR_zsAnmRefs.Item("LRN")) Then getStbFromAnmId(DR_zsAnmRefs.Item("LRN"), SPEDITIONSBUCH.DokumentId_Steuerbeleg, SPEDITIONSBUCH.DokumentId_Mitteilung) End If End Sub Function getStbFromAnmId(LRN, ByRef StbId, ByRef MittId) As Boolean Try StbId = KDSQL.getValueTxtBySql("SELECT [docID] FROM [tblDHF_Anhaenge] where MsgTyp IN ('EZ922') and LRN='" & LRN & "' ", "FMZOLL",,, Nothing) MittId = KDSQL.getValueTxtBySql("SELECT [docID] FROM [tblDHF_Anhaenge] where MsgTyp IN ('EZ923') and LRN='" & LRN & "' ", "FMZOLL",,, Nothing) Return True Catch : End Try Return False End Function Function getVBDFromAnmId(LRN, ByRef VbdId) As Boolean Try VbdId = KDSQL.getValueTxtBySql("SELECT [docID] FROM [tblDHF_Anhaenge] where MsgTyp IN ('TR109') and LRN='" & LRN & "' ", "FMZOLL",,, Nothing) Return True Catch : End Try Return False End Function Function IsNull(o) As Boolean Try If o Is Nothing Then Return True If o Is DBNull.Value Then Return True If o.ToString.Trim = "" Then Return True Catch : End Try Return False End Function Sub setAdresseAndKundenNr(ByRef KUNDE_TXT As String, ByRef KUNDE_KDNR As Integer, Adr_zbadz_typ As Integer, intTyp As Integer, ByVal zollNr As String, ByVal basman_nr As String, ByVal basman_nl As String, ByVal zbant_beznr As String, ByVal zbant_regnr As String, ByVal zbant_korant As String, zbant_vland As String, eori As String, eori_NL As String) Dim kunde_tmp As String = "" Dim kdnr_tmp As String = "" If KUNDE_TXT = "" And KUNDE_KDNR <= 0 Then kdnr_tmp = KDSQL.getFMZOLLKdNrFromEORI(eori, eori_NL) If IsNull(kdnr_tmp) Then If Not IsNull(zollNr) AndAlso IsNumeric(zollNr) AndAlso zollNr <> 0 Then kdnr_tmp = KDSQL.getATLASKdNrFromZollNr(zollNr) If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then If intTyp = 3 Or intTyp = 4 Then ' Vertreter ODER ANMELDER --> zB bei Konsilager gesehen Dim veragZolNr = False If zollNr = 4590317 Then veragZolNr = True ' VERAG Spedition AG, Suben If zollNr = 4884876 Then veragZolNr = True ' VERAG Spedition AG, Raunheim If zollNr = 4899911 Then veragZolNr = True ' VERAG Spedition AG, Salzburg If zollNr = 4824105 Then veragZolNr = True ' VERAG Spedition AG, Neuhaus If zollNr = 5133599 Then veragZolNr = True ' VERAG Spedition AG, Waidhaus If zollNr = "DE4590317" Then veragZolNr = True ' VERAG Spedition AG, Suben If zollNr = "DE4884876" Then veragZolNr = True ' VERAG Spedition AG, Raunheim" Then If zollNr = "DE4899911" Then veragZolNr = True ' VERAG Spedition AG, Salzburg" Then If zollNr = "DE4824105" Then veragZolNr = True ' VERAG Spedition AG, Neuhaus" Then If zollNr = "DE5133599" Then veragZolNr = True ' VERAG Spedition AG, Waidhaus If Not veragZolNr Then ' Nur Wenn Dim s() As String = KDSQL.getATLASNacherfassungAdresseFrombaskun(zollNr, basman_nr, basman_nl, ATLAS_SERVER_VERBINDUNG) kdnr_tmp = s(1) kunde_tmp = s(0) End If End If End If End If If intTyp = 1 Or intTyp = 2 Then If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then kunde_tmp = KDSQL.getATLASNacherfassungAdresse(basman_nr, basman_nl, zbant_beznr, zbant_regnr, zbant_korant, Adr_zbadz_typ, ATLAS_SERVER_VERBINDUNG) End If End If If intTyp = 1 Then If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then If Not IsNull(zbant_vland) And Not Trim(zbant_vland) = "" Then kunde_tmp = Trim(zbant_vland) End If End If End If End If End If KUNDE_TXT = kunde_tmp If IsNumeric(kdnr_tmp) AndAlso kdnr_tmp > 0 Then KUNDE_KDNR = kdnr_tmp End If End Sub Sub setAdresseAndKundenNrNCTS(ByRef KUNDE_TXT As String, ByRef KUNDE_KDNR As Integer, Adr_zbadz_typ As Integer, intTyp As Integer, ByVal kdNRATLAS As String, ByVal kdNRATLAS2 As String, ByVal basman_nr As String, ByVal basman_nl As String, ByVal zbant_beznr As String, intLfdNr As Integer, intPosNr As Integer, lngTyp As Long, veoant_ldvs As String) Dim kunde_tmp As String = "" Dim kdnr_tmp As String = "" 'Adr_zbadz_typ = 3 -> Absender 'Adr_zbadz_typ = 4 -> Empfänger 'intTyp = 1 -> Absender 'intTyp = 2 -> Empfänger 'intTyp = 3 -> Auftraggeber ' Dim fNEF = DirectCast(Me.Owner, frmNacherfassung) ' If KUNDE_TXT = "" And KUNDE_KDNR <= 0 Then 'kdnr_tmp = KDSQL.getFMZOLLKdNrFromEORI(eori) ' End If If KUNDE_TXT = "" And KUNDE_KDNR <= 0 Then If Not IsNull(kdNRATLAS) AndAlso IsNumeric(kdNRATLAS) AndAlso kdNRATLAS <> 0 Then ' kdnr_tmp = KDSQL.getATLASKdNrFromZollNr(kdNRATLAS) ' If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then Dim s() As String = KDSQL.getATLASNacherfassungAdresseFrombaskunByKuNr(kdNRATLAS, basman_nr, basman_nl, ATLAS_SERVER_VERBINDUNG) kdnr_tmp = s(1) kunde_tmp = s(0) 'End If End If If intTyp = 2 Then 'EMPF If Not IsNull(kdNRATLAS2) AndAlso IsNumeric(kdNRATLAS2) AndAlso kdNRATLAS2 <> 0 Then ' kdnr_tmp = KDSQL.getATLASKdNrFromZollNr(kdNRATLAS2) If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then Dim s() As String = KDSQL.getATLASNacherfassungAdresseFrombaskunByKuNr(kdNRATLAS2, basman_nr, basman_nl, ATLAS_SERVER_VERBINDUNG) kdnr_tmp = s(1) kunde_tmp = s(0) End If End If End If If intTyp = 1 Or intTyp = 2 Then If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then kunde_tmp = KDSQL.getATLASNacherfassungAdresseNCTS(basman_nr, basman_nl, zbant_beznr, intLfdNr, intPosNr, lngTyp, ATLAS_SERVER_VERBINDUNG) End If End If If intTyp = 1 Or intTyp = 2 Then If IsNull(kdnr_tmp) And IsNull(kunde_tmp) Then If Not IsNull(veoant_ldvs) And Not Trim(veoant_ldvs) = "" Then kunde_tmp = Trim(veoant_ldvs) End If End If End If End If KUNDE_TXT = kunde_tmp If IsNumeric(kdnr_tmp) AndAlso kdnr_tmp > 0 Then KUNDE_KDNR = kdnr_tmp End If End Sub Function getint(o) As Integer Try If o IsNot DBNull.Value AndAlso IsNumeric(o) Then Return CInt(o) Catch ex As Exception : End Try Return -1 End Function Function getStr(o) As String Try If o IsNot DBNull.Value Then Return CStr(o) Catch ex As Exception : End Try Return "" End Function Function getWaehr(s) As String 'Return KDSQL.getValueTxtBySql("SELECT TOP 1 isnull([LandNr],-1) FROM [Länderverzeichnis für die Außenhandelsstatistik] WHERE [Währungscode]='" & s & "'", "FMZOLL") s = s.replace("TRY", "TRL") ' Türkische Lira Return KDSQL.getValueTxtBySql("SELECT TOP 1 isnull([Währungsschlüssel],-1) FROM [Währungstabelle] WHERE [Währungscode]='" & s & "'", "FMZOLL") End Function End Class