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 EZOLL_SQL As String = "EZOLL" 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 "AES" : Return countSpedbuchEntrysTC_AES(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_AES(filiale, BezugsNr) As Integer If If(BezugsNr, "") = "" Then Return -1 Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrAES]='" & 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) Dim EDIFACTNachrichtenNr = "" 'Aufschub - Überwachung: Select Case CInt(ABGABEN.AKTO) Case 3027279 : tryToInsertProgramm(ABGABEN.Eingabedatum, ABGABEN.Betrag, 1, EDIFACTNachrichtenNr, ABGABEN.Registriernummer, 0, ABGABEN.Fälligkeitsdatum) 'UNISPED Case XXX: tryToInsertProgramm(ABGABEN.Eingabedatum, ABGABEN.Betrag,XXX, EDIFACTNachrichtenNr, ABGABEN.Registriernummer, 0, ABGABEN.Fälligkeitsdatum) 'Case 2718 : VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMailTEST("al@verag.ag", "AUFSCHUB IMEX: " & ABGABEN.Betrag, "AUFSCHUB IMEX: " & ABGABEN.Betrag & vbNewLine & ABGABEN.Bezugsnummer) End Select End If End If End If Next End If End Sub Public Function tryToInsertProgramm(brgak_datum, brgak_betrag, brgak_brgaktoId, brgak_filename, brgak_atc, brgak_fileline, brgak_faelligkeitsdatum) As Boolean Dim sql As String = " begin tran" & " if Not exists (select * from tblBrgAufschub with (updlock,serializable) where brgak_filename = @brgak_filename AND brgak_fileline=@brgak_fileline ) " & " begin " & " INSERT INTO tblBrgAufschub " & " (brgak_datum, brgak_betrag, brgak_brgaktoId, brgak_filename, brgak_atc,brgak_fileline,brgak_faelligkeitsdatum) VALUES " & " (@brgak_datum, @brgak_betrag, @brgak_brgaktoId, @brgak_filename, @brgak_atc,@brgak_fileline,@brgak_faelligkeitsdatum) " & " End " & " commit tran " Dim cn As System.Data.SqlClient.SqlConnection = VERAG_PROG_ALLGEMEIN.SQL.GetNewOpenConnectionADMIN Using cn Using cmd As New System.Data.SqlClient.SqlCommand(sql, cn) cmd.Parameters.AddWithValue("@brgak_datum", brgak_datum) cmd.Parameters.AddWithValue("@brgak_betrag", brgak_betrag) cmd.Parameters.AddWithValue("@brgak_brgaktoId", brgak_brgaktoId) cmd.Parameters.AddWithValue("@brgak_filename", brgak_filename) cmd.Parameters.AddWithValue("@brgak_atc", brgak_atc) cmd.Parameters.AddWithValue("@brgak_fileline", brgak_fileline) cmd.Parameters.AddWithValue("@brgak_faelligkeitsdatum", brgak_faelligkeitsdatum) Try cmd.ExecuteNonQuery() 'Lösche File: Return True Catch ex As System.Data.SqlClient.SqlException VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try End Using End Using cn.Close() Return False End Function 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, Optional ByRef SPEDBUCH_TMP = Nothing) As Boolean Dim firmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA 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 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", "4802" : VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" : Return False 'Keine Atoerfassung Case "5801" : VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Case "5601" : VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED" End Select Dim abfertigungsnummer = getAbfertigungsnummer(LRN) If tryFindAviso(LRN, SPEDBUCH.AvisoID, SPEDBUCH.SendungID) Then SPEDBUCH_TMP = SPEDBUCH 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 "AES" : SPEDBUCH.AtlasBezNrAES = 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,, SPEDBUCH.AtlasBezNrAES) SPEDBUCH_TMP = SPEDBUCH 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 VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = firmaTmp Return False 'Ohne Sendungsverweis kein eintrag... End If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = firmaTmp 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 "7001" : 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 "7001" : 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, Optional AES_Nr As String = "") 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 EZOLL_SQL = "EZOLL" Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Case "UNISPED" : EZOLL_SQL = "EZOLL_UNISPED" End Select SPEDITIONSBUCH.Zollsystem = "E" If EZA_Nr <> "" Then ' SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr EZollEZADatenbereitstellung(EZA_Nr) ElseIf AES_Nr <> "" Then EZollEZADatenbereitstellung(AES_Nr) ' ???? ElseIf NCTS_Nr <> "" Then ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr EZollNCTSDatenbereitstellung(NCTS_Nr) End If notFound = Me.notFound Case 2 'dakosy SPEDITIONSBUCH.Zollsystem = "D" If AES_Nr <> "" Then ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr DAKOSY_Worker.cDakosyEZA.DakosyAESDatenbereitstellung(SPEDITIONSBUCH, AES_Nr, notFound, PosAnzahl) ElseIf EZA_Nr <> "" Then If SPEDITIONSBUCH.Abfertigungsart = "7" Then DAKOSY_Worker.cDakosyEZA.DakosyAESDatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, PosAnzahl) Else DAKOSY_Worker.cDakosyEZA.DakosyEZADatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, PosAnzahl) End If ElseIf NCTS_Nr <> "" Then ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr DAKOSY_Worker.cDakosyNCTSOut004.DakosyNCTSDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound) If notFound Then DAKOSY_Worker.cDakosyNCTSOut.DakosyNCTSDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound) Else 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.AbfertigungsanzahlPos IsNot Nothing AndAlso IsNumeric(SPEDITIONSBUCH.AbfertigungsanzahlPos) Then SPEDITIONSBUCH.AbfertigungsanzahlPos = SENDUNG.tblSnd_anzahlPOS ' (NOCH) Keine Funktion! SPEDITIONSBUCH.Vermerk = "Pos-Anzahl: " & SPEDITIONSBUCH.AbfertigungsanzahlPos End If If SPEDITIONSBUCH.PersonalnummerQS <= 0 Then SPEDITIONSBUCH.PersonalnummerQS = SENDUNG.tblSnd_QS_MA If SPEDITIONSBUCH.PersonalnummerAbklTR <= 0 Then SPEDITIONSBUCH.PersonalnummerAbklTR = SENDUNG.tblSnd_AbklaerungTR_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 If SPEDITIONSBUCH.Zollstelle Is Nothing OrElse SPEDITIONSBUCH.Zollstelle = "" Then SPEDITIONSBUCH.Zollstelle = If(Aviso.Zollstelle, "") 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 SPEDITIONSBUCH.Packstücke_Zoll = packstueckeZOLL_TMP '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.LKW_Kennzeichen IsNot Nothing AndAlso SPEDITIONSBUCH.LKW_Kennzeichen.ToString.Length > 25 Then SPEDITIONSBUCH.LKW_Kennzeichen = SPEDITIONSBUCH.LKW_Kennzeichen.ToString.Substring(0, 25) End If 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, 7001 strManNl = "SUB" Case 4801, 4802 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, 7001 strManNl = "SUB" Case 4801, 4802 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 VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler ATLAS Personal: " & vbNewLine & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) 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_SQL) 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_SQL) 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_SQL) 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_SQL) 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 VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler ATLAS Personal: " & vbNewLine & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) 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, Firma) If EORI Is Nothing Then Return Nothing If If(EORI, "") <> "" Then Dim kdNrTmp = KDSQL.getFMZOLLKdNrFromEORI(EORI, EORI_NL, Firma) 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_SQL) 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_SQL) 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_SQL) 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_SQL) 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_SQL) 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_SQL) 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_SQL) 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_SQL) 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_SQL) 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 VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler EZOLL Personal: " & vbNewLine & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) 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_SQL) 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_SQL) 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_SQL) 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_SQL) 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_SQL) 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_SQL) 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 'Dim pkAnz = SQL.DLookup("sum(cast(Nr as float))", "[zsAnmGdsItemPack]", "(LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & ")", EZOLL_SQL, "") ' 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_SQL) 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 ' Qualitäts-CRN --> Tabelle zsAnmGdsItemDocCerts lesen. Dim DTzsAnmGdsQ As DataTable = KDSQL.loadDgvBySql("Select distinct(DRef) DRef FROM [zsAnmGdsItemDocCerts] WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & " AND DocCd IN ('N002' ,'7246') )", EZOLL_SQL) If DTzsAnmGdsQ IsNot Nothing AndAlso DTzsAnmGdsQ.Rows().Count > 0 Then If Not IsNull(DTzsAnmGdsQ.Rows(0).Item("DRef")) Then SPEDITIONSBUCH.QKN = DTzsAnmGdsQ.Rows(0).Item("DRef") 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 VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler EZOLL Personal: " & vbNewLine & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) 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, "VERAG") 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