From e175b4ac2dd69c918f38af9e155ee09d333f4405 Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Mon, 24 Feb 2025 15:10:01 +0100 Subject: [PATCH] ENS HMRC --- .../DAKOSY/ATLAS/NCTS/cDakosyNCTSOut004.vb | 197 +++++++++- UID/usrctlProcedures.Designer.vb | 213 ++++++++-- UID/usrctlProcedures.vb | 52 ++- initATLASAufschubkonten/cWorker_AES_EXG.vb | 363 +++++------------- initATLASAufschubkonten/frmStartOptions.vb | 8 +- 5 files changed, 534 insertions(+), 299 deletions(-) diff --git a/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut004.vb b/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut004.vb index 0a93cd4..3d6e379 100644 --- a/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut004.vb +++ b/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut004.vb @@ -1,5 +1,6 @@ Imports System.Data.SqlClient Imports System.Reflection +Imports VERAG_PROG_ALLGEMEIN Public Class cDakosyNCTSOut004 @@ -784,7 +785,7 @@ Public Class cDakosyNCTSOut004 Next If loadALL Then - LOAD_GUARANTEE() + LOAD_Guarantee() LOAD_HouseConsignment() LOAD_TransportEquipment() End If @@ -1433,6 +1434,18 @@ Public Class cDakosyNCTSOut004 SPEDITIONSBUCH.DokumentId_Steuerbeleg = ANM.dy_Steuerbescheid_dsId SPEDITIONSBUCH.DokumentId_VBD = ANM.dy_VBD_dsId + If SPEDITIONSBUCH.DokumentId_VBD Is Nothing OrElse SPEDITIONSBUCH.DokumentId_VBD <= 0 Then + 'Versuch einen ncoh nciht zugeordneten Versandschein zuzuordnen... + Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "VBD", "", "", "", SPEDITIONSBUCH.AtlasBezNrNCTS.Replace("/", "-").Trim, 0, False) + If DS IsNot Nothing AndAlso DS.hasITEMS Then + ANM.dy_VBD_dsId = DS.da_id + ANM.SAVE() + SPEDITIONSBUCH.DokumentId_VBD = ANM.dy_VBD_dsId + + End If + End If + + Catch ex As Exception MsgBox("ERR: " & ex.Message & ex.StackTrace) @@ -2734,6 +2747,188 @@ Public Class cDakosyNCTSOut004 End Function + Shared Function fillNCTS_WithEXG(ByRef NCTS_OUT As cDakosyNCTSOut004, exg As cDakosyEXG, Optional ObjectName As String = "") As cDakosyNCTSOut004 + + + If NCTS_OUT Is Nothing Then + NCTS_OUT = New DAKOSY_Worker.cDakosyNCTSOut004 + NCTS_OUT.ncts_ObjectName = ObjectName + End If + + + If NCTS_OUT IsNot Nothing Then + If NCTS_OUT.ncts_ObjectName = "" Then NCTS_OUT.ncts_ObjectName = ObjectName + + Dim HC As New cDakosy_NCTSOut004_HouseConsignment + HC.nctsHC_Consignee_Name = exg.exg_Consignee_Name + HC.nctsHC_Consignee_IdentificationNumber = exg.exg_Consignee_IdentificationNumber + HC.nctsHC_Consignee_SubsidiaryNumber = exg.exg_Consignee_SubsidiaryNumber + HC.nctsHC_Consignee_StreetNumber = exg.exg_Consignee_StreetNumber + HC.nctsHC_Consignee_City = exg.exg_Consignee_City + HC.nctsHC_Consignee_Postcode = exg.exg_Consignee_Postcode + HC.nctsHC_Consignee_Country = exg.exg_Consignee_Country + HC.nctsHC_Consignee_ContactPerson_Name = exg.exg_Consignee_ContactPerson_Name + HC.nctsHC_Consignee_ContactPerson_PhoneNumber = exg.exg_Consignee_ContactPerson_PhoneNumber + HC.nctsHC_Consignee_ContactPerson_EMailAddress = exg.exg_Consignee_ContactPerson_EMailAddress + HC.nctsHC_Consignee_AdressCode = exg.exg_Consignee_AdressCode + + HC.nctsHC_Consignor_Name = exg.exg_Consignor_Name + HC.nctsHC_Consignor_IdentificationNumber = exg.exg_Consignor_IdentificationNumber + HC.nctsHC_Consignor_SubsidiaryNumber = exg.exg_Consignor_SubsidiaryNumber + HC.nctsHC_Consignor_StreetNumber = exg.exg_Consignor_StreetNumber + HC.nctsHC_Consignor_City = exg.exg_Consignor_City + HC.nctsHC_Consignor_Postcode = exg.exg_Consignor_Postcode + HC.nctsHC_Consignor_Country = exg.exg_Consignor_Country + HC.nctsHC_Consignor_ContactPerson_Name = exg.exg_Consignor_ContactPerson_Name + HC.nctsHC_Consignor_ContactPerson_PhoneNumber = exg.exg_Consignor_ContactPerson_PhoneNumber + HC.nctsHC_Consignor_ContactPerson_EMailAddress = exg.exg_Consignor_ContactPerson_EMailAddress + HC.nctsHC_Consignor_AdressCode = exg.exg_Consignor_AdressCode + + + HC.nctsHC_GrossMass = exg.exg_GrossMass + HC.nctsHC_ReferenceNumberUCR = exg.exg_ReferenceNumberUCR + + HC.nctsHC_CountryOfDestination = exg.exg_CountryOfDestination + HC.nctsHC_CountryOfDispatch = exg.exg_CountryOfDispatch + + HC.nctsHC_PreviousDocument_1_Type = "N830" + HC.nctsHC_PreviousDocument_1_ReferenceNumber = exg.exg_MRN + 'HC.nctsHC_PreviousDocument_1_ComplementOfInformation = + + + For Each EXG_POS In exg.exg_POSITION + Dim HC_ITEM As New cDakosy_NCTSOut004_HouseConsignment_ConsignmentItem + + HC_ITEM.nctsHCCI_CommodityCode = EXG_POS.exgPos_CommodityCode + HC_ITEM.nctsHCCI_DescriptionOfGoods = EXG_POS.exgPos_DescriptionOfGoods + + HC_ITEM.nctsHCCI_GrossMass = EXG_POS.exgPos_GrossMass + HC_ITEM.nctsHCCI_NetMass = EXG_POS.exgPos_NetMass + + If EXG_POS.exgPos_PreviousProcedure IsNot Nothing And EXG_POS.exgPos_RequestedProcedure IsNot Nothing Then + HC_ITEM.nctsHCCI_DeclarationType = DetermineTransitProcedure(EXG_POS.exgPos_RequestedProcedure, EXG_POS.exgPos_PreviousProcedure) + End If + + If exg.exg_AutoTranslate Then + If exg.exg_ForceTranslate Then + cDeeplAPI.deepl_Translate(EXG_POS.exgPos_DescriptionOfGoods, HC_ITEM.nctsHCCI_DescriptionOfGoods, "DE") + Else + HC_ITEM.nctsHCCI_DescriptionOfGoods = cTariffKN8_Interface.getKN8FromTNR(EXG_POS.exgPos_CommodityCode) + End If + End If + + For Each EXG_PK In EXG_POS.exgPos_PACKAGING + Dim HC_PK = New cDakosy_NCTSOut004_HouseConsignment_ConsignmentItem_Packaging + + HC_PK.nctsHCCIPK_NumberOfPackages = EXG_PK.exgPosPk_NumberOfPackages + HC_PK.nctsHCCIPK_TypeOfPackages = EXG_PK.exgPosPk_TypeOfPackages + HC_PK.nctsHCCIPK_ShippingMarks = EXG_PK.exgPosPk_ShippingMarks + + HC_ITEM.nctsHCCI_PACKAGING.Add(HC_PK) + + Next + + HC.nctsWP_CONSIGNMENT_ITEM.Add(HC_ITEM) + Next + NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Add(HC) + + + + + + ' NCTS_OUT.INSERT_HouseConsignment() + + + '--------Declarationtype----------------------------------------------- + Dim declType = GetDeclarationType(NCTS_OUT.ncts_HOUSE_CONSIGNMENT) + If declType <> "" Then + emptyAllDeclarationItems(NCTS_OUT.ncts_HOUSE_CONSIGNMENT) ' Leert alle DeclType in den Pos + NCTS_OUT.ncts_Declarationtype = declType ' Sezt es im Kopf + Else + NCTS_OUT.ncts_Declarationtype = "T-" ' Sezt es im Kopf + End If + '---------------------------------------------------------------------- + End If + + Return NCTS_OUT + End Function + ' Funktion zur Bestimmung des Declaration Type + Shared Function GetDeclarationType(HC_LIST As List(Of cDakosy_NCTSOut004_HouseConsignment)) As String + Dim declType As String = Nothing + Dim isConsistent As Boolean = True ' Flag zur Überprüfung der Konsistenz + + ' Iteration über alle Positionen + For Each HC In HC_LIST + + For Each HC_ITEM In HC.nctsWP_CONSIGNMENT_ITEM + Dim currentType = HC_ITEM.nctsHCCI_DeclarationType + + ' Abbruch, wenn ein Wert leer oder Nothing ist + If String.IsNullOrWhiteSpace(currentType) Then + isConsistent = False + Exit For + End If + + ' Setze declType, wenn noch nicht gesetzt + If declType Is Nothing Then + declType = currentType + ElseIf declType <> currentType Then + ' Unterschiedlicher Wert gefunden → Abbruch + isConsistent = False + Exit For + End If + Next + Next + + ' Rückgabe des einheitlichen declType oder leer, wenn inkonsistent + If isConsistent AndAlso Not String.IsNullOrWhiteSpace(declType) Then + Return declType + Else + Return "" + End If + End Function + + + Shared Sub emptyAllDeclarationItems(ByRef HC_LIST As List(Of cDakosy_NCTSOut004_HouseConsignment)) + Dim declType As String = Nothing + Dim isConsistent As Boolean = True ' Flag zur Überprüfung der Konsistenz + + ' Iteration über alle Positionen + For Each HC In HC_LIST + For Each HC_ITEM In HC.nctsWP_CONSIGNMENT_ITEM + HC_ITEM.nctsHCCI_DeclarationType = "" + Next + Next + + End Sub + + Shared Function DetermineTransitProcedure(requestedProcedure As String, previousProcedure As String) As String + ' Entscheidungslogik für Transitverfahren (immer in der EU eröffnet) + Select Case requestedProcedure + Case "10" ' Ausfuhrverfahren + If previousProcedure = "00" Then + Return "T2" ' Ware ist weiterhin Unionsware, obwohl Ausfuhr vorgesehen ist + ElseIf previousProcedure = "40" Then + Return "T2" ' Ware im freien Verkehr (Unionsware) + ElseIf previousProcedure = "61" Then + Return "T1" ' Ware verlässt ein Zolllager (Nicht-Unionsware) + Else + Return "T2" ' Standardfall: Unionsware im Ausfuhrverfahren + End If + + Case "40" ' Überlassung zum freien Verkehr + Return "T2" ' Ware wird Unionsware nach Import + + Case "31" ' Versandverfahren + Return "T-" ' Beibehaltung des ursprünglichen Status + + Case "51" ' Passive Veredelung + Return "T1" ' Rückkehr von Nicht-Unionsware nach Verarbeitung + + Case Else + Return "Unbekannt" ' Unbekannter Verfahrenscode + End Select + End Function End Class diff --git a/UID/usrctlProcedures.Designer.vb b/UID/usrctlProcedures.Designer.vb index c1b7d78..9703396 100644 --- a/UID/usrctlProcedures.Designer.vb +++ b/UID/usrctlProcedures.Designer.vb @@ -23,6 +23,19 @@ Partial Class usrctlProcedures Private Sub InitializeComponent() Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.TextBox15 = New System.Windows.Forms.TextBox() + Me.Button37 = New System.Windows.Forms.Button() + Me.Button41 = New System.Windows.Forms.Button() + Me.Button42 = New System.Windows.Forms.Button() + Me.Button39 = New System.Windows.Forms.Button() + Me.Button40 = New System.Windows.Forms.Button() + Me.TextBox14 = New System.Windows.Forms.TextBox() + Me.Button38 = New System.Windows.Forms.Button() + Me.TextBox13 = New System.Windows.Forms.TextBox() + Me.Button36 = New System.Windows.Forms.Button() + Me.Button35 = New System.Windows.Forms.Button() + Me.Button34 = New System.Windows.Forms.Button() Me.TabPage1 = New System.Windows.Forms.TabPage() Me.Button17 = New System.Windows.Forms.Button() Me.Button16 = New System.Windows.Forms.Button() @@ -70,8 +83,6 @@ Partial Class usrctlProcedures Me.Label5 = New System.Windows.Forms.Label() Me.cbxTESTSYSTEMATLAS = New System.Windows.Forms.CheckBox() Me.CheckBox1 = New System.Windows.Forms.CheckBox() - Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn() - Me.DataGridViewTextBoxColumn2 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.CheckBox2 = New System.Windows.Forms.CheckBox() Me.Label6 = New System.Windows.Forms.Label() Me.Button20 = New System.Windows.Forms.Button() @@ -113,9 +124,11 @@ Partial Class usrctlProcedures Me.Button32 = New System.Windows.Forms.Button() Me.lblStatus = New System.Windows.Forms.Label() Me.Button33 = New System.Windows.Forms.Button() - Me.Button34 = New System.Windows.Forms.Button() - Me.Button35 = New System.Windows.Forms.Button() + Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.DataGridViewTextBoxColumn2 = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.CheckBox6 = New System.Windows.Forms.CheckBox() Me.TabControl1.SuspendLayout() + Me.TabPage3.SuspendLayout() Me.TabPage1.SuspendLayout() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() Me.GroupBox1.SuspendLayout() @@ -125,14 +138,142 @@ Partial Class usrctlProcedures ' 'TabControl1 ' + Me.TabControl1.Controls.Add(Me.TabPage3) Me.TabControl1.Controls.Add(Me.TabPage1) Me.TabControl1.Controls.Add(Me.TabPage2) Me.TabControl1.Location = New System.Drawing.Point(7, 407) Me.TabControl1.Name = "TabControl1" Me.TabControl1.SelectedIndex = 0 - Me.TabControl1.Size = New System.Drawing.Size(609, 187) + Me.TabControl1.Size = New System.Drawing.Size(609, 314) Me.TabControl1.TabIndex = 2 - Me.TabControl1.Visible = False + ' + 'TabPage3 + ' + Me.TabPage3.Controls.Add(Me.CheckBox6) + Me.TabPage3.Controls.Add(Me.TextBox15) + Me.TabPage3.Controls.Add(Me.Button37) + Me.TabPage3.Controls.Add(Me.Button41) + Me.TabPage3.Controls.Add(Me.Button42) + Me.TabPage3.Controls.Add(Me.Button39) + Me.TabPage3.Controls.Add(Me.Button40) + Me.TabPage3.Controls.Add(Me.TextBox14) + Me.TabPage3.Controls.Add(Me.Button38) + Me.TabPage3.Controls.Add(Me.TextBox13) + Me.TabPage3.Controls.Add(Me.Button36) + Me.TabPage3.Controls.Add(Me.Button35) + Me.TabPage3.Controls.Add(Me.Button34) + Me.TabPage3.Location = New System.Drawing.Point(4, 22) + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage3.Size = New System.Drawing.Size(601, 288) + Me.TabPage3.TabIndex = 2 + Me.TabPage3.Text = "TabPage3" + Me.TabPage3.UseVisualStyleBackColor = True + ' + 'TextBox15 + ' + Me.TextBox15.Location = New System.Drawing.Point(185, 55) + Me.TextBox15.Name = "TextBox15" + Me.TextBox15.Size = New System.Drawing.Size(145, 20) + Me.TextBox15.TabIndex = 77 + Me.TextBox15.Text = "MRN" + ' + 'Button37 + ' + Me.Button37.Location = New System.Drawing.Point(185, 6) + Me.Button37.Name = "Button37" + Me.Button37.Size = New System.Drawing.Size(145, 49) + Me.Button37.TabIndex = 76 + Me.Button37.Text = "HMRC Amand ENS" + Me.Button37.UseVisualStyleBackColor = True + ' + 'Button41 + ' + Me.Button41.Location = New System.Drawing.Point(185, 90) + Me.Button41.Name = "Button41" + Me.Button41.Size = New System.Drawing.Size(93, 49) + Me.Button41.TabIndex = 74 + Me.Button41.Text = "HMRC get Outcome" + Me.Button41.UseVisualStyleBackColor = True + ' + 'Button42 + ' + Me.Button42.Location = New System.Drawing.Point(278, 90) + Me.Button42.Name = "Button42" + Me.Button42.Size = New System.Drawing.Size(52, 49) + Me.Button42.TabIndex = 75 + Me.Button42.Text = "Ackn" + Me.Button42.UseVisualStyleBackColor = True + ' + 'Button39 + ' + Me.Button39.Location = New System.Drawing.Point(185, 176) + Me.Button39.Name = "Button39" + Me.Button39.Size = New System.Drawing.Size(93, 49) + Me.Button39.TabIndex = 72 + Me.Button39.Text = "HMRC get Notify" + Me.Button39.UseVisualStyleBackColor = True + ' + 'Button40 + ' + Me.Button40.Location = New System.Drawing.Point(278, 176) + Me.Button40.Name = "Button40" + Me.Button40.Size = New System.Drawing.Size(52, 49) + Me.Button40.TabIndex = 73 + Me.Button40.Text = "Ackn" + Me.Button40.UseVisualStyleBackColor = True + ' + 'TextBox14 + ' + Me.TextBox14.Location = New System.Drawing.Point(185, 225) + Me.TextBox14.Name = "TextBox14" + Me.TextBox14.Size = New System.Drawing.Size(145, 20) + Me.TextBox14.TabIndex = 70 + Me.TextBox14.Text = "notificationID" + ' + 'Button38 + ' + Me.Button38.Location = New System.Drawing.Point(18, 90) + Me.Button38.Name = "Button38" + Me.Button38.Size = New System.Drawing.Size(145, 49) + Me.Button38.TabIndex = 69 + Me.Button38.Text = "HMRC ENS Outcome List" + Me.Button38.UseVisualStyleBackColor = True + ' + 'TextBox13 + ' + Me.TextBox13.Location = New System.Drawing.Point(185, 140) + Me.TextBox13.Name = "TextBox13" + Me.TextBox13.Size = New System.Drawing.Size(145, 20) + Me.TextBox13.TabIndex = 65 + Me.TextBox13.Text = "correlationId" + ' + 'Button36 + ' + Me.Button36.Location = New System.Drawing.Point(18, 177) + Me.Button36.Name = "Button36" + Me.Button36.Size = New System.Drawing.Size(145, 49) + Me.Button36.TabIndex = 67 + Me.Button36.Text = "HMRC Ens Notif List" + Me.Button36.UseVisualStyleBackColor = True + ' + 'Button35 + ' + Me.Button35.Location = New System.Drawing.Point(536, 177) + Me.Button35.Name = "Button35" + Me.Button35.Size = New System.Drawing.Size(62, 111) + Me.Button35.TabIndex = 66 + Me.Button35.Text = "HMRC Hello World" + Me.Button35.UseVisualStyleBackColor = True + ' + 'Button34 + ' + Me.Button34.Location = New System.Drawing.Point(18, 6) + Me.Button34.Name = "Button34" + Me.Button34.Size = New System.Drawing.Size(145, 49) + Me.Button34.TabIndex = 65 + Me.Button34.Text = "HMRC Neue ENS" + Me.Button34.UseVisualStyleBackColor = True ' 'TabPage1 ' @@ -155,7 +296,7 @@ Partial Class usrctlProcedures Me.TabPage1.Location = New System.Drawing.Point(4, 22) Me.TabPage1.Name = "TabPage1" Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) - Me.TabPage1.Size = New System.Drawing.Size(601, 161) + Me.TabPage1.Size = New System.Drawing.Size(601, 288) Me.TabPage1.TabIndex = 0 Me.TabPage1.Text = "Administrative Funktionen" Me.TabPage1.UseVisualStyleBackColor = True @@ -392,7 +533,7 @@ Partial Class usrctlProcedures Me.TabPage2.Location = New System.Drawing.Point(4, 22) Me.TabPage2.Name = "TabPage2" Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) - Me.TabPage2.Size = New System.Drawing.Size(601, 161) + Me.TabPage2.Size = New System.Drawing.Size(601, 288) Me.TabPage2.TabIndex = 1 Me.TabPage2.Text = "TEST" Me.TabPage2.UseVisualStyleBackColor = True @@ -581,16 +722,6 @@ Partial Class usrctlProcedures Me.CheckBox1.Text = "TESTSYSTEM" Me.CheckBox1.UseVisualStyleBackColor = True ' - 'DataGridViewTextBoxColumn1 - ' - Me.DataGridViewTextBoxColumn1.HeaderText = "dat" - Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1" - ' - 'DataGridViewTextBoxColumn2 - ' - Me.DataGridViewTextBoxColumn2.HeaderText = "anz" - Me.DataGridViewTextBoxColumn2.Name = "DataGridViewTextBoxColumn2" - ' 'CheckBox2 ' Me.CheckBox2.AutoSize = True @@ -965,30 +1096,30 @@ Partial Class usrctlProcedures Me.Button33.Text = "DAKOSY CSV Importieren" Me.Button33.UseVisualStyleBackColor = True ' - 'Button34 + 'DataGridViewTextBoxColumn1 ' - Me.Button34.Location = New System.Drawing.Point(694, 3) - Me.Button34.Name = "Button34" - Me.Button34.Size = New System.Drawing.Size(145, 49) - Me.Button34.TabIndex = 65 - Me.Button34.Text = "HMRC" - Me.Button34.UseVisualStyleBackColor = True + Me.DataGridViewTextBoxColumn1.HeaderText = "dat" + Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1" ' - 'Button35 + 'DataGridViewTextBoxColumn2 ' - Me.Button35.Location = New System.Drawing.Point(550, 3) - Me.Button35.Name = "Button35" - Me.Button35.Size = New System.Drawing.Size(145, 49) - Me.Button35.TabIndex = 66 - Me.Button35.Text = "HMRC" - Me.Button35.UseVisualStyleBackColor = True + Me.DataGridViewTextBoxColumn2.HeaderText = "anz" + Me.DataGridViewTextBoxColumn2.Name = "DataGridViewTextBoxColumn2" + ' + 'CheckBox6 + ' + Me.CheckBox6.AutoSize = True + Me.CheckBox6.Location = New System.Drawing.Point(18, 55) + Me.CheckBox6.Name = "CheckBox6" + Me.CheckBox6.Size = New System.Drawing.Size(90, 17) + Me.CheckBox6.TabIndex = 65 + Me.CheckBox6.Text = "ForceRefresh" + Me.CheckBox6.UseVisualStyleBackColor = True ' 'usrctlProcedures ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.Controls.Add(Me.Button35) - Me.Controls.Add(Me.Button34) Me.Controls.Add(Me.Button33) Me.Controls.Add(Me.lblStatus) Me.Controls.Add(Me.Button32) @@ -1043,6 +1174,8 @@ Partial Class usrctlProcedures Me.Name = "usrctlProcedures" Me.Size = New System.Drawing.Size(931, 724) Me.TabControl1.ResumeLayout(False) + Me.TabPage3.ResumeLayout(False) + Me.TabPage3.PerformLayout() Me.TabPage1.ResumeLayout(False) Me.TabPage1.PerformLayout() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() @@ -1148,4 +1281,16 @@ Partial Class usrctlProcedures Friend WithEvents Button33 As Button Friend WithEvents Button34 As Button Friend WithEvents Button35 As Button + Friend WithEvents Button36 As Button + Friend WithEvents TabPage3 As TabPage + Friend WithEvents TextBox13 As TextBox + Friend WithEvents TextBox14 As TextBox + Friend WithEvents Button38 As Button + Friend WithEvents Button41 As Button + Friend WithEvents Button42 As Button + Friend WithEvents Button39 As Button + Friend WithEvents Button40 As Button + Friend WithEvents TextBox15 As TextBox + Friend WithEvents Button37 As Button + Friend WithEvents CheckBox6 As CheckBox End Class diff --git a/UID/usrctlProcedures.vb b/UID/usrctlProcedures.vb index 9317981..5551c0e 100644 --- a/UID/usrctlProcedures.vb +++ b/UID/usrctlProcedures.vb @@ -3698,7 +3698,7 @@ Public Class usrctlProcedures End Sub Private Sub Button34_Click(sender As Object, e As EventArgs) Handles Button34.Click - VERAG_PROG_ALLGEMEIN.cHMRC_ENS.insertENS(Nothing, "") + VERAG_PROG_ALLGEMEIN.cHMRC_ENS.insertENS(Nothing, "", CheckBox6.Checked) End Sub Private Sub Button35_Click(sender As Object, e As EventArgs) Handles Button35.Click @@ -3707,7 +3707,55 @@ Public Class usrctlProcedures End Sub - Private Sub usrctlProcedures_Load(sender As Object, e As EventArgs) Handles MyBase.Load + + + Private Sub Button36_Click(sender As Object, e As EventArgs) Handles Button36.Click + Dim NotificationsList = VERAG_PROG_ALLGEMEIN.cHMRC_ENS.getENSNotifications() + + If NotificationsList IsNot Nothing Then + For Each n In NotificationsList + + Next + + + + End If + End Sub + + + Private Sub Button39_Click(sender As Object, e As EventArgs) + VERAG_PROG_ALLGEMEIN.cHMRC_ENS.getENSNotifications() + + + End Sub + + Private Sub Button41_Click(sender As Object, e As EventArgs) Handles Button41.Click + Dim type As String = "" + Dim resp As Object = Nothing + + VERAG_PROG_ALLGEMEIN.cHMRC_ENS.retrieveENSOutcome(TextBox13.Text, type, resp) + End Sub + + Private Sub Button42_Click(sender As Object, e As EventArgs) Handles Button42.Click + VERAG_PROG_ALLGEMEIN.cHMRC_ENS.acknowlageENSOutcome(TextBox13.Text) + End Sub + + Private Sub Button38_Click(sender As Object, e As EventArgs) Handles Button38.Click + VERAG_PROG_ALLGEMEIN.cHMRC_ENS.getListOfENSOutcomes() + End Sub + + Private Sub Button39_Click_1(sender As Object, e As EventArgs) Handles Button39.Click + VERAG_PROG_ALLGEMEIN.cHMRC_ENS.readENSNotification(TextBox14.Text) + + End Sub + + Private Sub Button40_Click(sender As Object, e As EventArgs) Handles Button40.Click + VERAG_PROG_ALLGEMEIN.cHMRC_ENS.acknowlageENSNotification(TextBox14.Text) + + End Sub + + Private Sub Button37_Click_1(sender As Object, e As EventArgs) Handles Button37.Click + VERAG_PROG_ALLGEMEIN.cHMRC_ENS.amendENS(TextBox15.Text, Nothing) End Sub diff --git a/initATLASAufschubkonten/cWorker_AES_EXG.vb b/initATLASAufschubkonten/cWorker_AES_EXG.vb index 87a7929..9c83c5d 100644 --- a/initATLASAufschubkonten/cWorker_AES_EXG.vb +++ b/initATLASAufschubkonten/cWorker_AES_EXG.vb @@ -145,239 +145,144 @@ Public Class cWorker_AES_EXG '---------------------------------------------------------------------- Dim testDY = False If testDY Or (EXG.exg_AutoFill_DyId IsNot Nothing AndAlso EXG.exg_AutoFill_DyId >= 0) Then - Dim NCTS_OUT = DAKOSY_Worker.cDakosyNCTSOut004.LOADByAnmIDFull(EXG.exg_AutoFill_DyId, False) - If testDY Then - If NCTS_OUT Is Nothing Then - NCTS_OUT = New DAKOSY_Worker.cDakosyNCTSOut004 - NCTS_OUT.ncts_ObjectName = "TEEEESSSSTTT" - End If - End If + + '---------------------------------------------------------------------- + 'NCTS BEFÜLLEN! + '---------------------------------------------------------------------- + Dim NCTS_OUT = fillNCTS_WithEXG_AutoFill(EXG, "TEEEEEEESTTT") + '---------------------------------------------------------------------- + '---------------------------------------------------------------------- - If NCTS_OUT IsNot Nothing Then - Dim HC As New cDakosy_NCTSOut004_HouseConsignment - HC.nctsHC_Consignee_Name = EXG.exg_Consignee_Name - HC.nctsHC_Consignee_IdentificationNumber = EXG.exg_Consignee_IdentificationNumber - HC.nctsHC_Consignee_SubsidiaryNumber = EXG.exg_Consignee_SubsidiaryNumber - HC.nctsHC_Consignee_StreetNumber = EXG.exg_Consignee_StreetNumber - HC.nctsHC_Consignee_City = EXG.exg_Consignee_City - HC.nctsHC_Consignee_Postcode = EXG.exg_Consignee_Postcode - HC.nctsHC_Consignee_Country = EXG.exg_Consignee_Country - HC.nctsHC_Consignee_ContactPerson_Name = EXG.exg_Consignee_ContactPerson_Name - HC.nctsHC_Consignee_ContactPerson_PhoneNumber = EXG.exg_Consignee_ContactPerson_PhoneNumber - HC.nctsHC_Consignee_ContactPerson_EMailAddress = EXG.exg_Consignee_ContactPerson_EMailAddress - HC.nctsHC_Consignee_AdressCode = EXG.exg_Consignee_AdressCode + 'Prüfen ob alle EXG Daten gekommen sind --> NCTS Senden! + If testDY Or (cDakosyEXG.isFillNCTS_ID_ALLCompleted(EXG.exg_AutoFill_DyId)) Then - HC.nctsHC_Consignor_Name = EXG.exg_Consignor_Name - HC.nctsHC_Consignor_IdentificationNumber = EXG.exg_Consignor_IdentificationNumber - HC.nctsHC_Consignor_SubsidiaryNumber = EXG.exg_Consignor_SubsidiaryNumber - HC.nctsHC_Consignor_StreetNumber = EXG.exg_Consignor_StreetNumber - HC.nctsHC_Consignor_City = EXG.exg_Consignor_City - HC.nctsHC_Consignor_Postcode = EXG.exg_Consignor_Postcode - HC.nctsHC_Consignor_Country = EXG.exg_Consignor_Country - HC.nctsHC_Consignor_ContactPerson_Name = EXG.exg_Consignor_ContactPerson_Name - HC.nctsHC_Consignor_ContactPerson_PhoneNumber = EXG.exg_Consignor_ContactPerson_PhoneNumber - HC.nctsHC_Consignor_ContactPerson_EMailAddress = EXG.exg_Consignor_ContactPerson_EMailAddress - HC.nctsHC_Consignor_AdressCode = EXG.exg_Consignor_AdressCode + Dim DY_ANM = New cDakosy_Zollanmeldungen(EXG.exg_AutoFill_DyId) + If NCTS_OUT IsNot Nothing Then + 'Dim cDY As New cDakosyNCTSOut(cDyAnm.dy_Id, cDyAnm.dy_Erstellung_SB) + NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id + NCTS_OUT.ncts_Erstellung_SB = DY_ANM.dy_Erstellung_SB + NCTS_OUT.ncts_LetzteBearbeitung = Now + NCTS_OUT.ncts_LetzteBearbeitung_SB = DY_ANM.dy_LetzteBearbeitung_SB + NCTS_OUT.ncts_firma = EXG.exg_firma + NCTS_OUT.ncts_niederlassung = EXG.exg_niederlassung + ' DAKOSY_Interface_SEND.loadInClass_VersandanmeldungNCTSDE_004(NCTS_OUT, Me, DY_ANM, Me.FIRMA_DY) - - HC.nctsHC_GrossMass = EXG.exg_GrossMass - HC.nctsHC_ReferenceNumberUCR = EXG.exg_ReferenceNumberUCR - - HC.nctsHC_CountryOfDestination = EXG.exg_CountryOfDestination - HC.nctsHC_CountryOfDispatch = EXG.exg_CountryOfDispatch - - HC.nctsHC_PreviousDocument_1_Type = "N830" - HC.nctsHC_PreviousDocument_1_ReferenceNumber = EXG.exg_MRN - 'HC.nctsHC_PreviousDocument_1_ComplementOfInformation = - - - For Each EXG_POS In EXG.exg_POSITION - Dim HC_ITEM As New cDakosy_NCTSOut004_HouseConsignment_ConsignmentItem - - HC_ITEM.nctsHCCI_CommodityCode = EXG_POS.exgPos_CommodityCode - HC_ITEM.nctsHCCI_DescriptionOfGoods = EXG_POS.exgPos_DescriptionOfGoods - - HC_ITEM.nctsHCCI_GrossMass = EXG_POS.exgPos_GrossMass - HC_ITEM.nctsHCCI_NetMass = EXG_POS.exgPos_NetMass - - If EXG_POS.exgPos_PreviousProcedure IsNot Nothing And EXG_POS.exgPos_RequestedProcedure IsNot Nothing Then - HC_ITEM.nctsHCCI_DeclarationType = DetermineTransitProcedure(EXG_POS.exgPos_RequestedProcedure, EXG_POS.exgPos_PreviousProcedure) + 'VON HIER löschnen ohne test + If testDY OrElse NCTS_OUT.SAVE_ALL() Then + If If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Nur speichern wenn bei test exg_AutoFill_DyId befüllt ist + NCTS_OUT.SAVE_ALL() End If + Dim saveFile = "" + If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath) Then + If saveFile <> "" Then + frmStartOptions.copyFile(saveFile, "\\datenarchiv\Datenarchiv\DAKOSY\ECHTSYSTEM\EXG\upl\NCTS\") - If EXG.exg_AutoTranslate Then - If EXG.exg_ForceTranslate Then - cDeeplAPI.deepl_Translate(EXG_POS.exgPos_DescriptionOfGoods, HC_ITEM.nctsHCCI_DescriptionOfGoods, "DE") - Else - HC_ITEM.nctsHCCI_DescriptionOfGoods = cTariffKN8_Interface.getKN8FromTNR(EXG_POS.exgPos_CommodityCode) End If End If - For Each EXG_PK In EXG_POS.exgPos_PACKAGING - Dim HC_PK = New cDakosy_NCTSOut004_HouseConsignment_ConsignmentItem_Packaging - - HC_PK.nctsHCCIPK_NumberOfPackages = EXG_PK.exgPosPk_NumberOfPackages - HC_PK.nctsHCCIPK_TypeOfPackages = EXG_PK.exgPosPk_TypeOfPackages - HC_PK.nctsHCCIPK_ShippingMarks = EXG_PK.exgPosPk_ShippingMarks - - HC_ITEM.nctsHCCI_PACKAGING.Add(HC_PK) - - Next - - HC.nctsWP_CONSIGNMENT_ITEM.Add(HC_ITEM) - Next - NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Add(HC) - - - - - - ' NCTS_OUT.INSERT_HouseConsignment() - - - '--------Declarationtype----------------------------------------------- - Dim declType = GetDeclarationType(NCTS_OUT.ncts_HOUSE_CONSIGNMENT) - If declType <> "" Then - emptyAllDeclarationItems(NCTS_OUT.ncts_HOUSE_CONSIGNMENT) ' Leert alle DeclType in den Pos - NCTS_OUT.ncts_Declarationtype = declType ' Sezt es im Kopf Else - NCTS_OUT.ncts_Declarationtype = "T-" ' Sezt es im Kopf - End If - '---------------------------------------------------------------------- + 'BIS HIER löschnen ohne test + If NCTS_OUT.SAVE_ALL() Then - cDakosyEXG.UPDATE_FillNCTS_ID_Completed(EXG.exg_Id) 'Eintrag, dass AutoFill durchgelaufen ist - - - 'Prüfen ob alle EXG Daten gekommen sind --> NCTS Senden! - If testDY Or (cDakosyEXG.isFillNCTS_ID_ALLCompleted(EXG.exg_AutoFill_DyId)) Then - - Dim DY_ANM = New cDakosy_Zollanmeldungen(EXG.exg_AutoFill_DyId) - If NCTS_OUT IsNot Nothing Then - 'Dim cDY As New cDakosyNCTSOut(cDyAnm.dy_Id, cDyAnm.dy_Erstellung_SB) - NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id - NCTS_OUT.ncts_Erstellung_SB = DY_ANM.dy_Erstellung_SB - NCTS_OUT.ncts_LetzteBearbeitung = Now - NCTS_OUT.ncts_LetzteBearbeitung_SB = DY_ANM.dy_LetzteBearbeitung_SB - NCTS_OUT.ncts_firma = EXG.exg_firma - NCTS_OUT.ncts_niederlassung = EXG.exg_niederlassung - ' DAKOSY_Interface_SEND.loadInClass_VersandanmeldungNCTSDE_004(NCTS_OUT, Me, DY_ANM, Me.FIRMA_DY) - - 'VON HIER löschnen ohne test - If testDY OrElse NCTS_OUT.SAVE_ALL() Then - If If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Nur speichern wenn bei test exg_AutoFill_DyId befüllt ist - NCTS_OUT.SAVE_ALL() - End If Dim saveFile = "" If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath) Then If saveFile <> "" Then - frmStartOptions.copyFile(saveFile, "\\datenarchiv\Datenarchiv\DAKOSY\ECHTSYSTEM\EXG\upl\NCTS\") - - End If - End If - - Else - 'BIS HIER löschnen ohne test - - If NCTS_OUT.SAVE_ALL() Then - - Dim saveFile = "" - If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath) Then - If saveFile <> "" Then - - If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, NCTS_OUT.ncts_ObjectName, DY_ANM.dy_Id, NCTS_OUT.ncts_firma) Then - DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03) - 'If SENDUNG IsNot Nothing Then SENDUNG.SET_VGMA() ' MA Vorgeschrieben in Sendung setzen. - Else - DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09) - MsgBox("Sendefehler!") - End If + If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, NCTS_OUT.ncts_ObjectName, DY_ANM.dy_Id, NCTS_OUT.ncts_firma) Then + DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03) + 'If SENDUNG IsNot Nothing Then SENDUNG.SET_VGMA() ' MA Vorgeschrieben in Sendung setzen. + Else + DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09) + MsgBox("Sendefehler!") End If + End If End If End If - End If - If Not testDY Or If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Kann ganz weg kenn kein test - - DY_ANM.UPDATE_DATA() - - 'Beim Senden soll die Sendung überhnommen + tblSnd_VG_MA gesetzt werden --> damit gleich gesehen wird, dass der Akt in Bearbeitung ist. - DY_ANM.UPDATE_AVISO_SND(DY_ANM.dy_SendungsId) - - End If End If - End If - End If + If Not testDY Or If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Kann ganz weg kenn kein test + DY_ANM.UPDATE_DATA() - '---------------------------------------------------------------------- - 'QULAIFIZIERUNG! - '---------------------------------------------------------------------- + 'Beim Senden soll die Sendung überhnommen + tblSnd_VG_MA gesetzt werden --> damit gleich gesehen wird, dass der Akt in Bearbeitung ist. + DY_ANM.UPDATE_AVISO_SND(DY_ANM.dy_SendungsId) - '---------------------------------------------------------------------- - 'Es wird bei Daten zum AUsgang und "_EXG" automaitsch die Qualifizierung aufgerufen... - Dim test = False - - - '---------------------------------------------------------------------- - '---------------------------------------------------------------------- - If False Then '--------------QUALIFIZIERUNG NOCH NCIHT SENDEN! ------------------ - '---------------------------------------------------------------------- - '---------------------------------------------------------------------- - - - If readEZA_DatenZumAusgang_DataEXITDE_005.Contains("_EXG") Or test Then - Dim IOPARTNER = VWI.Transaktion.IOPartner - Dim DIVISION3 = VWI.Transaktion.IODivision3 - Dim DAKOSY_SB = "ANDREAS" - Dim DY_ACTIONS As New List(Of String) - - If IOPARTNER = "UNAT" Then - DAKOSY_SB = "luxbauer" End If + - Dim saveFile = "" + End If + End If - DY_ACTIONS.Add("CHANGE") - DY_ACTIONS.Add("SEND") - If generateInformationenZumAusgang003(EXG, readEZA_DatenZumAusgang_DataEXITDE_005, saveFile, DY_ACTIONS, IOPARTNER, DIVISION3, DAKOSY_SB) Then - If saveFile <> "" Then - If test Then - frmStartOptions.copyFile(saveFile, "\\datenarchiv\Datenarchiv\DAKOSY\ECHTSYSTEM\EXG\upl\") + '---------------------------------------------------------------------- + 'QULAIFIZIERUNG! + '---------------------------------------------------------------------- + + '---------------------------------------------------------------------- + 'Es wird bei Daten zum AUsgang und "_EXG" automaitsch die Qualifizierung aufgerufen... + Dim test = False + + + '---------------------------------------------------------------------- + '---------------------------------------------------------------------- + If False Then '--------------QUALIFIZIERUNG NOCH NCIHT SENDEN! ------------------ + '---------------------------------------------------------------------- + '---------------------------------------------------------------------- + + + If readEZA_DatenZumAusgang_DataEXITDE_005.Contains("_EXG") Or test Then + Dim IOPARTNER = VWI.Transaktion.IOPartner + Dim DIVISION3 = VWI.Transaktion.IODivision3 + Dim DAKOSY_SB = "ANDREAS" + Dim DY_ACTIONS As New List(Of String) + + If IOPARTNER = "UNAT" Then + DAKOSY_SB = "luxbauer" + End If + + Dim saveFile = "" + + DY_ACTIONS.Add("CHANGE") + DY_ACTIONS.Add("SEND") + + If generateInformationenZumAusgang003(EXG, readEZA_DatenZumAusgang_DataEXITDE_005, saveFile, DY_ACTIONS, IOPARTNER, DIVISION3, DAKOSY_SB) Then + If saveFile <> "" Then + If test Then + frmStartOptions.copyFile(saveFile, "\\datenarchiv\Datenarchiv\DAKOSY\ECHTSYSTEM\EXG\upl\") + Else + If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, readEZA_DatenZumAusgang_DataEXITDE_005, -1, IOPARTNER) Then + 'DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03) + Return True Else - If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, readEZA_DatenZumAusgang_DataEXITDE_005, -1, IOPARTNER) Then - 'DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03) - Return True - Else - 'DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09) - Return False - End If + 'DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09) + Return False End If End If End If End If End If - '---------------------------------------------------------------------- - - - FORM.addDGVEinarbeitung("AES: ExportGest.-DatenZumAusgang", STATUS.dySt_BezugsNr) End If '---------------------------------------------------------------------- - '---------------------------------------------------------------------- - + FORM.addDGVEinarbeitung("AES: ExportGest.-DatenZumAusgang", STATUS.dySt_BezugsNr) End If + '---------------------------------------------------------------------- + '---------------------------------------------------------------------- + + + + End If End If - Next + Next - End If + End If End If @@ -389,83 +294,25 @@ Public Class cWorker_AES_EXG End Try End Function - ' Funktion zur Bestimmung des Declaration Type - Shared Function GetDeclarationType(HC_LIST As List(Of cDakosy_NCTSOut004_HouseConsignment)) As String - Dim declType As String = Nothing - Dim isConsistent As Boolean = True ' Flag zur Überprüfung der Konsistenz + Shared Function fillNCTS_WithEXG_AutoFill(EXG As cDakosyEXG, ObjectName As String) As cDakosyNCTSOut004 - ' Iteration über alle Positionen - For Each HC In HC_LIST + If (EXG.exg_AutoFill_DyId IsNot Nothing AndAlso EXG.exg_AutoFill_DyId >= 0) Then + Dim NCTS_OUT = DAKOSY_Worker.cDakosyNCTSOut004.LOADByAnmIDFull(EXG.exg_AutoFill_DyId, False) - For Each HC_ITEM In HC.nctsWP_CONSIGNMENT_ITEM - Dim currentType = HC_ITEM.nctsHCCI_DeclarationType + If NCTS_OUT Is Nothing Then + NCTS_OUT = New DAKOSY_Worker.cDakosyNCTSOut004 + NCTS_OUT.ncts_ObjectName = "TEEEESSSSTTT" + End If + DAKOSY_Worker.cDakosyNCTSOut004.fillNCTS_WithEXG(NCTS_OUT, EXG, ObjectName) + cDakosyEXG.UPDATE_FillNCTS_ID_Completed(EXG.exg_Id) 'Eintrag, dass AutoFill durchgelaufen ist - ' Abbruch, wenn ein Wert leer oder Nothing ist - If String.IsNullOrWhiteSpace(currentType) Then - isConsistent = False - Exit For - End If - - ' Setze declType, wenn noch nicht gesetzt - If declType Is Nothing Then - declType = currentType - ElseIf declType <> currentType Then - ' Unterschiedlicher Wert gefunden → Abbruch - isConsistent = False - Exit For - End If - Next - Next - - ' Rückgabe des einheitlichen declType oder leer, wenn inkonsistent - If isConsistent AndAlso Not String.IsNullOrWhiteSpace(declType) Then - Return declType - Else - Return "" + Return NCTS_OUT End If + Return Nothing + End Function - Shared Sub emptyAllDeclarationItems(ByRef HC_LIST As List(Of cDakosy_NCTSOut004_HouseConsignment)) - Dim declType As String = Nothing - Dim isConsistent As Boolean = True ' Flag zur Überprüfung der Konsistenz - - ' Iteration über alle Positionen - For Each HC In HC_LIST - For Each HC_ITEM In HC.nctsWP_CONSIGNMENT_ITEM - HC_ITEM.nctsHCCI_DeclarationType = "" - Next - Next - - End Sub - - Shared Function DetermineTransitProcedure(requestedProcedure As String, previousProcedure As String) As String - ' Entscheidungslogik für Transitverfahren (immer in der EU eröffnet) - Select Case requestedProcedure - Case "10" ' Ausfuhrverfahren - If previousProcedure = "00" Then - Return "T2" ' Ware ist weiterhin Unionsware, obwohl Ausfuhr vorgesehen ist - ElseIf previousProcedure = "40" Then - Return "T2" ' Ware im freien Verkehr (Unionsware) - ElseIf previousProcedure = "61" Then - Return "T1" ' Ware verlässt ein Zolllager (Nicht-Unionsware) - Else - Return "T2" ' Standardfall: Unionsware im Ausfuhrverfahren - End If - - Case "40" ' Überlassung zum freien Verkehr - Return "T2" ' Ware wird Unionsware nach Import - - Case "31" ' Versandverfahren - Return "T-" ' Beibehaltung des ursprünglichen Status - - Case "51" ' Passive Veredelung - Return "T1" ' Rückkehr von Nicht-Unionsware nach Verarbeitung - - Case Else - Return "Unbekannt" ' Unbekannter Verfahrenscode - End Select - End Function Shared Function generateInformationenZumAusgang003(EXG As cDakosyEXG, ByVal Bezugsnummer As String, ByRef saveFile As String, DY_ACTIONS As List(Of String), IOPartner As String, IODivision3 As String, DAKOSY_SB As String) As Boolean Dim Interface_VERSION = "003" diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index a2d3100..1d40c38 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -2497,15 +2497,15 @@ Public Class frmStartOptions '================================== - ElseIf betreff.ToString.Contains("DAKOSY GE - Abgabenbescheid/Befund , Bezugsnr.: ") Then + ElseIf betreff.ToString.Contains("DAKOSY GE - Abgabenbescheid/Befund , BezugsNr./LRN: ") Then '("DAKOSY GE - Abgabenbescheid/Befund , Bezugsnr.: ") Then betreff = betreff.replace("WG: ", "") betreff = betreff.replace("FW: ", "") - betreff = betreff.replace("DAKOSY GE - Abgabenbescheid/Befund , Bezugsnr.: ", "") + betreff = betreff.replace("DAKOSY GE - Abgabenbescheid/Befund , BezugsNr./LRN: ", "") '("DAKOSY GE - Abgabenbescheid/Befund , Bezugsnr.: ", "") If betreff.ToString.Contains(",") Then Dim sp = betreff.ToString.Split(",") - If betreff.contains("Registriernr.: ATD") Then ' ZNV!!!! + If betreff.contains("Registriernr.: ATD") Then ' ZNV!!!! ------> FUNKTIONIERT MIT NUEER ATLAS MRN Nummer nicht mehr --> Keine ATD! betreff = sp(0).Trim Dim SND_ID = sql.getValueTxtBySql("SELECT TOP (1) [tblSnd_SendungID] FROM [tblSendungen] where '" & betreff.ToString.Trim & "' LIKE (cast(FilialenNr as varchar(4))+ '/' + cast(AbfertigungsNr as varchar(8))+'%')", "AVISO") If IsNumeric(SND_ID) AndAlso SND_ID > 0 Then @@ -2528,7 +2528,7 @@ Public Class frmStartOptions Else ' STB !!!! betreff = sp(0).Trim - + ' , RegistrierNr./MRN: Dim dy_id As String = "" If betreff.ToString.Length > 15 Then