Imports com.esendex.sdk.optouts.models Imports DAKOSY_Worker.eZollTypes Imports SDL Imports VERAG_PROG_ALLGEMEIN Public Class frmATEZ_EZA Dim ART As String = "" Dim FilialenNr As Integer Dim AbfertigungsNr As Integer Dim JAHR As Integer = Now.ToString("yy") Public isSTAMMREF As Boolean = False Public STAMMREF As String = "" Public CopyFromZA_Id As Integer = -1 Dim FIRMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Dim ZOLL_SYSTEM = "DAKOSY" Dim DY As DAKOSY_Worker.cDakosy_Zollanmeldungen = Nothing Public ATT As List(Of String) Dim AVISO As New cAviso Dim zusatz As String Dim cDy_ART As String = If(FIRMA_DY = "ATILLA", "T2", "T1") Dim VermerkeDAL As New cVermerkeDAL Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = Nothing Dim openExisting As Boolean = False Dim id As Integer = -1 Dim dgv As DataGridView = Nothing Dim atez_data As cATEZ_NCTS_DATA Dim atez = New cATEZ_NCTS_IN("atez_ncts") Dim allSelected As Boolean = False Property BezugsNr As String = "" Property SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen Sub New(AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen, JAHR As Integer, Optional _dgv As DataGridView = Nothing) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() If _dgv IsNot Nothing Then Me.dgv = _dgv Me.AVISO = AVISO Me.SENDUNG = SENDUNG Me.JAHR = JAHR If SENDUNG IsNot Nothing Then Me.FilialenNr = SENDUNG.FilialenNr Me.AbfertigungsNr = SENDUNG.AbfertigungsNr End If ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. End Sub Sub New(_id As Integer, AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen, JAHR As Integer) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() openExisting = True id = _id Me.AVISO = AVISO Me.SENDUNG = SENDUNG Me.JAHR = JAHR If SENDUNG IsNot Nothing Then Me.FilialenNr = SENDUNG.FilialenNr Me.AbfertigungsNr = SENDUNG.AbfertigungsNr End If ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnSend.Click Try 'If Button1.Text = "JSON" Then ' If Not atez.setJson(atez_data) Then MsgBox("Fehler beim Erstellen der Daten") ' atez.setJsonPDF(atez_data, dgvAnhaenge) ' Dim data As New DataObject() ' data.SetData(DataFormats.Text, atez_data.json) ' Clipboard.SetDataObject(data) ' Me.Cursor = Cursors.Default ' MsgBox("JSON-Daten in Zwischenablage gespeichert") ' Exit Sub 'End If 'If atez_data.status = "Sent" Then ' Exit Sub 'End If ''auskommentiert, weil Sendungen ohne ANhang auch geschickt werden sollen: M.Akceylan ''If Not checkAttachment() Then '' Exit Sub ''End If If Not checkMandatoryField() Then Exit Sub End If Me.Cursor = Cursors.WaitCursor lblInfo.Text = "" 'txtDyMandant.Text = "VERA" 'TEST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! txtDyMandant.Text = "VERG" ' atez.setJsonPDF(atez_data, dgvAnhaenge) '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ '----ATEZ EZA------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Dim procedureCodeRequested As Integer Select Case SENDUNG.tblSnd_Abfertigungsart_ID Case 26, 27 procedureCodeRequested = 42 Case Else procedureCodeRequested = 40 End Select Dim ioReference = lblBezugsnummer.Text & Now.ToString("ddMMyyyy_HHmmss") ' '.DAKOSY_TemplateCode = cboStammreferenz._value 'If .DAKOSY_TemplateCode = "" Then .DAKOSY_TemplateCode = "*OWN" '.documents = New List(Of VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubDocument) From { ' New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test.txt", .fileType = "invoice"}, ' New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test2.txt", .fileType = "atr"}, ' New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubDocument With {.type = "base64", .base64String = "SGVsbG8sIHRoaXMgaXMgYSBzYW1wbGUgYmFzZTY0IHN0cmluZy4=", .filename = "test3.txt", .fileType = "cmr"} '}, Dim ATEZ_RH_EZA As New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubJobOrderRequest With { .referenceNo = ioReference, .outputApplication = "dakosy/sftp/verg",'.outputApplication = "dakosy/sftp/vera", .regimeType = "IMPORT",' .customer = "AVISO", .dispatchCountry = "DE", .destinationCountry = "TR", 'Default, wird später überschrieben!! (Pflichtfeld) .additionalData = New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubAdditionalData With { .transaction = New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubTransaction With { .ioPartner = txtDyMandant.Text, .ioDivision3 = txtDyNiederlassung.Text, .ioReference = ioReference }, .declaration = New List(Of VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubDeclaration) From { New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubDeclaration With { .objectIdentification = New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubObjectIdentification With { .objectName = lblBezugsnummer.Text & "_TEST", .objectAlias = ioReference, .declarationType = "EZA-D" }, .headerData = New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubHeaderData With { .agentContact = New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubAgentContact With { .contactPersonName = If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname, ""), .contactPersonPhoneNumber = If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_telefonnr, "+43 7711/2777 0"), .contactPersonPosition = "Zolldeklarant/in" }, .declarantIsConsignee = True, .representationRelationshipCode = -1, '?????????????????????????????????????????????????????????????? .inputTaxDeduction = True,'"",'"true", .procedureCodeRequested = procedureCodeRequested.ToString,' .goodsStatus = "",'"EU", .transportMeansArrivalIdentity = txtLKWId.Text, .transportMeansNationalityCode = If(AVISO.LKW_Nationalitaet, "") } } } } } If If(AVISO.Zollstelle, "").length >= 4 Then ATEZ_RH_EZA.additionalData.declaration(0).headerData.addressedCustomsOffice = AVISO.Zollstelle.ToString.Substring(AVISO.Zollstelle.ToString.Length - 4) 'MsgBox(ATEZ_RH_EZA.additionalData.declaration(0).headerData.addressedCustomsOffice) End If ATEZ_RH_EZA.additionalData.declaration(0).objectIdentification.username = If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DAKOSY_SB, "ANDREAS") ATEZ_RH_EZA.additionalData.declaration(0).objectIdentification.referenceNumberOverlay = If(cboStammreferenz._value <> "", cboStammreferenz._value, "*OWN") If If(SENDUNG.tblSnd_Vorpapier, "") <> "" Then ATEZ_RH_EZA.additionalData.declaration(0).headerData.previousAdministrativeReferenceType = "T1" ATEZ_RH_EZA.additionalData.declaration(0).headerData.previousAdministrativeReferenceNumber = SENDUNG.tblSnd_Vorpapier End If ' .destinationCountry = "DE", ' .dispatchCountry = "DE", ', .destinationFederalState = "07" ' .destinationCountry = "DE", ' .departureCountry = "TR" ' .previousAdministrativeReferenceType = "T1",' SENDUNG.tblSnd_Vorpapier '.previousAdministrativeReferenceNumber = "25TR160100001472M0", ', '.addresses = New List(Of VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubAddress) From { ' New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubAddress With {.addressType = "CZ", .participantEORI = "EORI12345", .participantSubsidiaryNumber = "001", .companyName = "SISECAM DIS TIC.A.S.", .streetAndNumber = "D-100 KARAYOLU CD.YAYLA MH.NO.70/C", .countryCode = "TR", .postalCode = "34949", .city = "TUZLA ISTANBUL"}, ' New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubAddress With {.addressType = "CN", .participantEORI = "EORI67890", .participantSubsidiaryNumber = "002", .companyName = "POLYNT COMPOSITES GERMANY GMBH", .streetAndNumber = "KIESELSTRASSE 2", .countryCode = "DE", .postalCode = "56357", .city = "MIEHLEN"} ATEZ_RH_EZA.documents = New List(Of cRelayHub.cRelayHubDocument) For Each r As DataGridViewRow In dgvAnhaenge.Rows Dim isSelected As Boolean = If(DBNull.Value Is r.Cells("anh_selekt").Value, False, r.Cells("anh_selekt").Value) If isSelected Then Dim bd As New Chilkat.BinData Dim DOC As New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubDocument If r.Cells("anh_Art").Value IsNot DBNull.Value Then Select Case r.Cells("anh_Art").Value Case "Rechnung", "Konsi-Rechnung", "eFatura", "INVOICE" : DOC.fileType = "invoice" Case "CMR" : DOC.fileType = "cmr" Case "Ausfuhr", "EXPORT" : DOC.fileType = "tr_export_declaration" Case "ATR" : DOC.fileType = "atr" Case "Vorpapier", "T1" : DOC.fileType = "transit_declaration" Case Else : DOC.fileType = "invoice" ' Case Else : DOC.fileType = "additional_data" --> DARF NCIHT -_> additional_data ist das verwednete Datenformat End Select End If 'invoice' | 'atr' | 'cmr' | 'transit_declaration' | 'tr_export_declaration' | 'additional_data', received 'PDF' DOC.type = "base64" DOC.filename = r.Cells("anh_Name").Value Try Dim dateiBytes As Byte() = IO.File.ReadAllBytes((VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("anh_docId").Value))) Dim base64String As String = Convert.ToBase64String(dateiBytes) DOC.base64String = base64String Catch ex As Exception ' Fehlerbehandlung, z. B. Datei nicht gefunden oder keine Zugriffsrechte VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try ATEZ_RH_EZA.documents.Add(DOC) End If Next ATEZ_RH_EZA.additionalData.declaration(0).addresses = New List(Of cRelayHub.cRelayHubAddress) If SENDUNG.tblSnd_EmpfaengerKdNr > 0 Then Dim AD As New cAdressen(SENDUNG.tblSnd_EmpfaengerKdNr) Dim KD As New cKunde(SENDUNG.tblSnd_EmpfaengerKdNr) Dim CN As New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubAddress CN.addressType = "CN" CN.participantEORI = If(KD.EORITIN, "") CN.participantSubsidiaryNumber = If(KD.EORITIN_NL, "0") CN.companyName = AD.Name_1 CN.streetAndNumber = AD.Straße CN.postalCode = AD.PLZ CN.city = AD.Ort CN.countryCode = SDL.cProgramFunctions.getISO2Land(AD.LandKz) ATEZ_RH_EZA.additionalData.declaration(0).addresses.Add(CN) ATEZ_RH_EZA.additionalData.declaration(0).headerData.destinationCountry = CN.countryCode ATEZ_RH_EZA.destinationCountry = CN.countryCode If If(CN.countryCode, "") = "DE" AndAlso CN.postalCode IsNot Nothing AndAlso CN.postalCode <> "" Then ATEZ_RH_EZA.additionalData.declaration(0).headerData.destinationFederalState = VERAG_PROG_ALLGEMEIN.cDEBundeslaenderPLZ.LOADBundeslandCode_ByPLZ(CN.postalCode) ElseIf If(CN.countryCode, "") <> "" Then ATEZ_RH_EZA.additionalData.declaration(0).headerData.destinationFederalState = "25" End If End If If SENDUNG.tblSnd_AbsenderKdNr > 0 Then Dim AD As New cAdressen(SENDUNG.tblSnd_AbsenderKdNr) Dim KD As New cKunde(SENDUNG.tblSnd_AbsenderKdNr) Dim CZ As New VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHubAddress CZ.addressType = "CZ" CZ.participantEORI = If(KD.EORITIN, "") CZ.participantSubsidiaryNumber = If(KD.EORITIN_NL, "0") CZ.companyName = AD.Name_1 CZ.streetAndNumber = AD.Straße CZ.postalCode = AD.PLZ CZ.city = AD.Ort CZ.countryCode = SDL.cProgramFunctions.getISO2Land(AD.LandKz) ATEZ_RH_EZA.additionalData.declaration(0).addresses.Add(CZ) ATEZ_RH_EZA.additionalData.declaration(0).headerData.departureCountry = CZ.countryCode ATEZ_RH_EZA.dispatchCountry = CZ.countryCode End If '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ATEZ_RH_EZA.dispatchCountry = If(ATEZ_RH_EZA.dispatchCountry, "") ' not null ATEZ_RH_EZA.destinationCountry = If(ATEZ_RH_EZA.destinationCountry, "") ' not null '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ '-------------------SENDEN----------------------------------------------------------------------------------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Dim RESP = VERAG_PROG_ALLGEMEIN.cRelayHub.cRelayHub_sendToRelayHub_JobOrderRequest.query_declarations(ATEZ_RH_EZA) If RESP.Success Then MsgBox("Erfolgreich gesendet!") '-> ATEZ ID Speichern Me.Close() Else MsgBox("ERROR" & vbNewLine & RESP.Details, MsgBoxStyle.OkOnly, RESP.Message) End If '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ '------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Me.Cursor = Cursors.Default Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) Me.Cursor = Cursors.Default End Try End Sub 'Private Function sendAtezData(atezData As cATEZ_NCTS_DATA, atez As cATEZ_NCTS_IN) As Boolean ' Dim failreDesc As String ' Dim authResp = atez.authenticate("NCTS") ' If authResp <> "200" Then ' failreDesc = "Authentifizierung fehlgeschlagen" ' lblInfo.Text = failreDesc & " - " & authResp & vbNewLine & "Vorgang abgebrochen" & vbNewLine & " Bitte wiederholen!" ' Dim resultAuthentifizierung As MsgBoxResult = MsgBox("Fehler beim Authentifizieren" & vbNewLine & failreDesc & vbNewLine & "Soll NCTS als Entwurf gespeichert werden?", vbYesNoCancel) ' If resultAuthentifizierung = vbYes Then ' atezData.status = "Draft" ' atezData.fehlerbeschreibung = failreDesc ' Return atezData.SAVE() ' Else ' atezData.status = "Failure" ' atezData.fehlerbeschreibung = failreDesc ' Return atezData.SAVE() ' End If ' Return False ' End If ' atezData.sessionId = atez.sessionID ' If Not atez.setJsonNCTS(atezData) Then ' MsgBox("Fehler beim Erstellen der Daten" & vbNewLine & "Vorgang abgebrochen!") ' atezData.status = "Failure" ' atezData.fehlerbeschreibung = "Fehler beim Erstellen der Daten" ' Return atezData.SAVE ' End If ' If checkAttachment() Then ' If Not atez.setJsonPDF(atezData, dgvAnhaenge) Then ' MsgBox("Fehler beim Erstellen der PDF-Daten!" & vbNewLine & "Vorgang abgebrochen!") ' atezData.status = "Failure" ' atezData.fehlerbeschreibung = "Fehler beim Erstellen der PDF-Daten!" ' Return atezData.SAVE ' End If ' End If ' Dim azetId = atez.SendRequestWithAuthHeader("application/json", failreDesc, "/api/integrations/verag", "POST") ' If failreDesc <> "" Then ' If atezData.status = "Draft" Then ' MsgBox("Fehler beim Senden" & vbNewLine & failreDesc) ' atezData.fehlerbeschreibung = failreDesc ' Return atezData.SAVE() ' End If ' Dim result As MsgBoxResult = MsgBox("Fehler beim Senden" & vbNewLine & failreDesc & vbNewLine & "Soll NCTS als Entwurf gespeichert werden?", vbYesNoCancel) ' If result = vbYes Then ' atezData.status = "Draft" ' atezData.fehlerbeschreibung = failreDesc ' Return atezData.SAVE() ' Else ' atezData.status = "Failure" ' atezData.fehlerbeschreibung = failreDesc ' Return atezData.SAVE() ' End If ' lblInfo.Text = "Fehler in der API " ' Else ' If azetId = "-1" Then ' atezData.fehlerbeschreibung = "Request has been sent, but no header received!" ' Else ' atezData.fehlerbeschreibung = "" ' End If ' atezData.status = "Sent" ' atezData.atezId = IIf(azetId IsNot Nothing, azetId, "") ' Return atezData.SAVE() ' End If 'End Function Function getBezugsnr(ByRef BezugsNr) Dim BezugsNrTmp = "" BezugsNrTmp = SENDUNG.FilialenNr & "/" & SENDUNG.AbfertigungsNr BezugsNr = BezugsNrTmp zusatz = "A" If dgv IsNot Nothing AndAlso dgv.Rows.Count > 0 Then BezugsNr = BezugsNrTmp & "/" & zusatz For Each r As DataGridViewRow In dgv.Rows If r.Cells("BezugsNr").Value = BezugsNr Then If zusatz.Length = 1 Then zusatz = Chr(Asc(zusatz.ToString) + 1) Else zusatz = zusatz.Substring(0, 1) & Chr(Asc(zusatz.Substring(0, 2).ToString) + 1) End If If zusatz = "Z" Then zusatz = "AA" End If BezugsNr = BezugsNrTmp & "/" & zusatz Next End If While DAKOSY_Worker.cDakosy_Zollanmeldungen.ExistsBezugsNr(BezugsNr) 'IsNot Nothing BezugsNr = BezugsNrTmp & "/" & zusatz If zusatz.Length = 1 Then zusatz = Chr(Asc(zusatz.ToString) + 1) Else zusatz = zusatz.Substring(0, 1) & Chr(Asc(zusatz.Substring(0, 2).ToString) + 1) End If If zusatz = "Z" Then zusatz = "AA" End While lblBezugsnummer.Text = BezugsNr Return BezugsNr End Function Private Sub frmATEZNCTS_Load(sender As Object, e As EventArgs) Handles MyBase.Load Select Case FIRMA_DY Case "VERAG" : txtDyMandant.Text = "VERG" txtDyNiederlassung.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG Select Case FilialenNr Case "5103" : txtDyNiederlassung.Text = "WAI" End Select Case "ATILLA" : txtDyMandant.Text = "ATIL" : txtDyNiederlassung.Text = "SUW" Case "UNISPED" : txtDyMandant.Text = "UNAT" : txtDyNiederlassung.Text = "ATSPED" Case "IMEX" : txtDyMandant.Text = "IMEX" : txtDyNiederlassung.Text = "IME" Case "AMBAR" : txtDyMandant.Text = "ATIL" : txtDyNiederlassung.Text = "AMBWO" End Select initSeachboxes() lblAnh.Visible = True If openExisting Then If id > 0 Then ' atez_data = New cATEZ_NCTS_DATA(id) initAttachment() If atez_data.atezId <> "" Then lblInfo.Text = "Atez-ID " & atez_data.atezId Else lblInfo.Text = "Status: " & IIf(atez_data.fehlerbeschreibung <> "", atez_data.status & "- " & atez_data.fehlerbeschreibung, atez_data.status) End If lblBezugsnummer.Text = atez_data.VERAG_LRN cboStammreferenz.fillWithSQL("SELECT [dySr_Stammreferenz],[dySr_Bezeichnung] FROM [tblDakosy_Stammreferenzen] WHERE dySr_Land='DE' AND dySr_Verfahren='NCTS' and dySr_dy_Mandant='" & txtDyMandant.Text & "' and dySr_dy_Niederlassung IN ('','" & txtDyNiederlassung.Text & "') and dySr_visible=1", False, "FMZOLL", True) cboStammreferenz.changeItem(atez_data.DAKOSY_TemplateCode) 'cboProzedur.changeItem(atez_data.DAKOSY_Procedure) txtLKWId.Text = atez_data.LicensePlateContainerNo 'sbBestimmungsZollstelle.SET_VALUE(atez_data.DestinationCustomsOffice) sbAdressierteZollstelle.SET_VALUE(atez_data.DepartureCustomsOffice) If atez_data.status = "Draft" Then btnSend.Text = "An ATEZ senden -->" pnlHead.Enabled = True btnSend.Enabled = True 'initAttachment() Else btnSend.Text = "JSON" pnlHead.Enabled = False dgvAnhaenge.ReadOnly = True btnSend.Enabled = True End If Else btnSend.Enabled = False End If Else ' atez_data = New cATEZ_NCTS_DATA() initAttachment() 'Button1.Text = "An ATEZ senden -->" pnlHead.Enabled = True cboStammreferenz.fillWithSQL("SELECT [dySr_Stammreferenz],[dySr_Bezeichnung] FROM [tblDakosy_Stammreferenzen] WHERE dySr_Land='DE' AND dySr_Verfahren='EZA' and dySr_dy_Mandant='" & txtDyMandant.Text & "' and dySr_dy_Niederlassung IN ('','" & txtDyNiederlassung.Text & "') and dySr_visible=1", False, "FMZOLL", True) cboStammreferenz.changeItem("") getBezugsnr(BezugsNr) txtLKWId.Text = AVISO.LKW_Nr ' sbBestimmungsZollstelle.SET_VALUE(SENDUNG.NCTS_Bestimmungszollstelle) If AVISO.Grenzstelle.Replace("???", "") = "" Then sbAdressierteZollstelle.SET_VALUE(AVISO.Zollstelle) Else Dim GRZ As New VERAG_PROG_ALLGEMEIN.cGrenzstelle(AVISO.Grenzstelle) If GRZ IsNot Nothing AndAlso GRZ.hasEntry Then If GRZ.grz_ZollamtDST IsNot Nothing Then sbAdressierteZollstelle.SET_VALUE(GRZ.grz_ZollamtDST) End If End If End If End If 'initAttachment() End Sub Sub initAttachment() Dim hSQL As String = " SELECT [anh_id],anh_Datum,[anh_Name],[anh_docId], case WHEN [anh_size] > 0 Then ROUND([anh_size] / 1000000,2) End as anh_size, CASE WHEN [anh_Art] = 'ATR-EUR1' then 'EUR' when [anh_Art] = 'Rechnung' then 'INVOICE' when [anh_Art] = 'eFatura' then 'INVOICE' when [anh_Art] = 'CMR' then 'CMR' when [anh_Art] = 'Ausfuhr' then 'OTHER' when [anh_Art] = 'Vorpapier' then 'OTHER' when [anh_Art] = 'Packliste' then 'PACK' when [anh_Art] = 'Auftrag' then 'OTHER' when [anh_Art] = 'Auftrag' then 'OTHER' when [anh_Art] = 'Dispoliste' then 'OTHER' when [anh_Art] = 'Vorkasse' then 'OTHER' when [anh_Art] = 'Überweisungsbeleg' then 'OTHER' when [anh_Art] = 'Vollmacht' then 'OTHER' when [anh_Art] = 'ATB' then 'OTHER' when [anh_Art] = 'ATA' then 'CarnetATA' when [anh_Art] = 'Sonstiges' then 'OTHER' when [anh_Art] ='' then 'OTHER' End [anh_Art],[anh_Typ] FROM [tblAvisoAnhaenge] WHERE [anh_AvisoId]=" & AVISO.AvisoID & "AND (anh_SendungsId is null OR anh_SendungsId <=0 OR anh_SendungsId='" & SENDUNG.tblSnd_SendungID & "') And anh_Typ = 'PDF' ORDER BY anh_SendungsId desc, case when [anh_Art] = 'ATR-EUR1' then 0 when [anh_Art] = 'Rechnung' then 1 when [anh_Art] = 'eFatura' then 1.1 when [anh_Art] = 'CMR' then 2 when [anh_Art] = 'Ausfuhr' then 3 when [anh_Art] = 'Vorpapier' then 4 when [anh_Art] = 'Packliste' then 5 when [anh_Art] = 'Auftrag' then 6 when [anh_Art] = 'Auftrag' then 7 when [anh_Art] = 'Dispoliste' then 8 when [anh_Art] = 'Vorkasse' then 9 when [anh_Art] = 'Überweisungsbeleg' then 10 when [anh_Art] = 'Vollmacht' then 11 when [anh_Art] = 'ATB' then 12 when [anh_Art] = 'ATA' then 13 when [anh_Art] = 'Sonstiges' then 99 when [anh_Art] ='' then 15 END, [anh_Reihenfolge],[anh_id]" Dim dt = VermerkeDAL.Anzeigen_Vermerke(hSQL) Dim col As DataColumn col = dt.Columns.Add("anh_selekt", GetType(Boolean)) col.SetOrdinal(0) dgvAnhaenge.Columns.Clear() dgvAnhaenge.DataSource = dt If dgvAnhaenge.RowCount = 0 Then dgvAnhaenge.Columns.Clear() : Exit Sub With dgvAnhaenge .Enabled = True .ReadOnly = False .RowTemplate.MinimumHeight = 30 .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells .Columns("anh_id").Visible = False 'VermerkID nicht anzeigenconMenuVermerke .Columns("anh_docId").Visible = False 'AvisoID nicht anzeigen .Columns("anh_selekt").Width = 25 .Columns("anh_selekt").HeaderText = "" .Columns("anh_selekt").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("anh_Datum").MinimumWidth = 50 .Columns("anh_Datum").HeaderText = "Datum" .Columns("anh_Datum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("anh_Datum").ReadOnly = True .Columns("anh_Name").MinimumWidth = 150 .Columns("anh_Name").HeaderText = "Name" .Columns("anh_Name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("anh_Name").ReadOnly = True .Columns("anh_Art").MinimumWidth = 50 .Columns("anh_Art").HeaderText = "Art" .Columns("anh_Art").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("anh_Art").ReadOnly = True .Columns("anh_Typ").Width = 50 .Columns("anh_Typ").HeaderText = "Typ" .Columns("anh_Typ").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("anh_Typ").ReadOnly = True .Columns("anh_size").Width = 50 .Columns("anh_size").HeaderText = "Größe in MB" .Columns("anh_size").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("anh_size").ReadOnly = True End With For Each doc As DataGridViewRow In dgvAnhaenge.Rows If Not IsDBNull(doc.Cells("anh_size").Value) AndAlso doc.Cells("anh_size").Value > 0 Then Dim size = (doc.Cells("anh_size").Value) If size < 1 Then doc.DefaultCellStyle.BackColor = Color.LightGreen ElseIf size > 1 AndAlso size < 5 Then doc.DefaultCellStyle.BackColor = Color.LightYellow Else doc.DefaultCellStyle.BackColor = Color.IndianRed End If End If Next If atez_data IsNot Nothing AndAlso atez_data.selectedDocuments <> "" Then For Each doc As DataGridViewRow In dgvAnhaenge.Rows If atez_data.selectedDocuments.Contains(doc.Cells("anh_docId").Value) Then doc.Cells("anh_selekt").Value = True Next End If End Sub Sub initSeachboxes() sbAdressierteZollstelle.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) 'sbBestimmungsZollstelle.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) End Sub Public Function checkAttachment() As Boolean Dim selectedDocuments As Boolean = False For Each Row In dgvAnhaenge.Rows selectedDocuments = IIf(DBNull.Value Is Row.Cells("anh_selekt").Value, False, Row.Cells("anh_selekt").Value) If selectedDocuments Then Exit For Next 'If Not selectedDocuments Then ' lblInfo.Text = "kein Anhang selektiert" ' Cursor = Cursors.Default ' Return selectedDocuments 'End If Return selectedDocuments End Function Public Function checkMandatoryField() As Boolean 'TODO Return True End Function Private Sub dgvAnhaenge_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAnhaenge.CellDoubleClick Try If dgvAnhaenge.SelectedRows.Count > 0 Then Dim docPath = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(dgvAnhaenge.SelectedRows(0).Cells("anh_docId").Value) If Not IO.File.Exists(docPath) Then MsgBox("Die Datei existiert nicht!") Else If docPath.ToString.ToLower.EndsWith(".msg") Then ' MSG - Mails --> lokale Kopie, sonst Fehler (bereits von Benutzer soUndSo geöffnet) Dim docPathTMP = VERAG_PROG_ALLGEMEIN.cFormularManager.getTMPPath_MSG() System.IO.File.Copy(docPath, docPathTMP) Process.Start(docPathTMP) Else Process.Start(docPath) End If End If End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try End Sub Private Sub dgvAnhaenge_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAnhaenge.CellClick Dim countAnh As Double = 0 If dgvAnhaenge.RowCount > 0 Then If dgvAnhaenge.Columns(e.ColumnIndex).Name = "anh_selekt" Then If Not IsDBNull(dgvAnhaenge.CurrentRow.Cells("anh_selekt").Value) AndAlso dgvAnhaenge.CurrentRow.Cells("anh_selekt").Value = True Then countAnh += IIf(dgvAnhaenge.CurrentRow.Cells("anh_size").Value IsNot DBNull.Value, dgvAnhaenge.CurrentRow.Cells("anh_size").Value, 0) End If For Each Row As DataGridViewRow In dgvAnhaenge.Rows If Row.Cells("anh_selekt").Value IsNot DBNull.Value AndAlso Row.Cells("anh_selekt").Value = True AndAlso Row.Cells("anh_size").Value IsNot DBNull.Value Then countAnh += IIf(Row.Cells("anh_size").Value IsNot DBNull.Value, Row.Cells("anh_size").Value, 0) End If Next lblAnh.Text = "Anhang in MB: " & countAnh.ToString End If End If End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click If dgvAnhaenge.RowCount > 0 Then Dim countAnh As Double = 0 For Each Row As DataGridViewRow In dgvAnhaenge.Rows If allSelected Then Row.Cells("anh_selekt").Value = True countAnh += IIf(Row.Cells("anh_size").Value IsNot DBNull.Value, Row.Cells("anh_size").Value, 0) Else Row.Cells("anh_selekt").Value = False countAnh = 0 End If Next allSelected = Not allSelected lblAnh.Text = "Anhang in MB: " & countAnh.ToString End If End Sub End Class