This commit is contained in:
2025-02-25 08:37:31 +01:00
5 changed files with 534 additions and 299 deletions

View File

@@ -1,5 +1,6 @@
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.Reflection Imports System.Reflection
Imports VERAG_PROG_ALLGEMEIN
Public Class cDakosyNCTSOut004 Public Class cDakosyNCTSOut004
@@ -784,7 +785,7 @@ Public Class cDakosyNCTSOut004
Next Next
If loadALL Then If loadALL Then
LOAD_GUARANTEE() LOAD_Guarantee()
LOAD_HouseConsignment() LOAD_HouseConsignment()
LOAD_TransportEquipment() LOAD_TransportEquipment()
End If End If
@@ -1433,6 +1434,18 @@ Public Class cDakosyNCTSOut004
SPEDITIONSBUCH.DokumentId_Steuerbeleg = ANM.dy_Steuerbescheid_dsId SPEDITIONSBUCH.DokumentId_Steuerbeleg = ANM.dy_Steuerbescheid_dsId
SPEDITIONSBUCH.DokumentId_VBD = ANM.dy_VBD_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 Catch ex As Exception
MsgBox("ERR: " & ex.Message & ex.StackTrace) MsgBox("ERR: " & ex.Message & ex.StackTrace)
@@ -2734,6 +2747,188 @@ Public Class cDakosyNCTSOut004
End Function 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 End Class

View File

@@ -23,6 +23,19 @@ Partial Class usrctlProcedures
<System.Diagnostics.DebuggerStepThrough()> <System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent() Private Sub InitializeComponent()
Me.TabControl1 = New System.Windows.Forms.TabControl() 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.TabPage1 = New System.Windows.Forms.TabPage()
Me.Button17 = New System.Windows.Forms.Button() Me.Button17 = New System.Windows.Forms.Button()
Me.Button16 = 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.Label5 = New System.Windows.Forms.Label()
Me.cbxTESTSYSTEMATLAS = New System.Windows.Forms.CheckBox() Me.cbxTESTSYSTEMATLAS = New System.Windows.Forms.CheckBox()
Me.CheckBox1 = 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.CheckBox2 = New System.Windows.Forms.CheckBox()
Me.Label6 = New System.Windows.Forms.Label() Me.Label6 = New System.Windows.Forms.Label()
Me.Button20 = New System.Windows.Forms.Button() Me.Button20 = New System.Windows.Forms.Button()
@@ -113,9 +124,11 @@ Partial Class usrctlProcedures
Me.Button32 = New System.Windows.Forms.Button() Me.Button32 = New System.Windows.Forms.Button()
Me.lblStatus = New System.Windows.Forms.Label() Me.lblStatus = New System.Windows.Forms.Label()
Me.Button33 = New System.Windows.Forms.Button() Me.Button33 = New System.Windows.Forms.Button()
Me.Button34 = New System.Windows.Forms.Button() Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.Button35 = New System.Windows.Forms.Button() Me.DataGridViewTextBoxColumn2 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.CheckBox6 = New System.Windows.Forms.CheckBox()
Me.TabControl1.SuspendLayout() Me.TabControl1.SuspendLayout()
Me.TabPage3.SuspendLayout()
Me.TabPage1.SuspendLayout() Me.TabPage1.SuspendLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox1.SuspendLayout() Me.GroupBox1.SuspendLayout()
@@ -125,14 +138,142 @@ Partial Class usrctlProcedures
' '
'TabControl1 'TabControl1
' '
Me.TabControl1.Controls.Add(Me.TabPage3)
Me.TabControl1.Controls.Add(Me.TabPage1) Me.TabControl1.Controls.Add(Me.TabPage1)
Me.TabControl1.Controls.Add(Me.TabPage2) Me.TabControl1.Controls.Add(Me.TabPage2)
Me.TabControl1.Location = New System.Drawing.Point(7, 407) Me.TabControl1.Location = New System.Drawing.Point(7, 407)
Me.TabControl1.Name = "TabControl1" Me.TabControl1.Name = "TabControl1"
Me.TabControl1.SelectedIndex = 0 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.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 'TabPage1
' '
@@ -155,7 +296,7 @@ Partial Class usrctlProcedures
Me.TabPage1.Location = New System.Drawing.Point(4, 22) Me.TabPage1.Location = New System.Drawing.Point(4, 22)
Me.TabPage1.Name = "TabPage1" Me.TabPage1.Name = "TabPage1"
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) 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.TabIndex = 0
Me.TabPage1.Text = "Administrative Funktionen" Me.TabPage1.Text = "Administrative Funktionen"
Me.TabPage1.UseVisualStyleBackColor = True Me.TabPage1.UseVisualStyleBackColor = True
@@ -392,7 +533,7 @@ Partial Class usrctlProcedures
Me.TabPage2.Location = New System.Drawing.Point(4, 22) Me.TabPage2.Location = New System.Drawing.Point(4, 22)
Me.TabPage2.Name = "TabPage2" Me.TabPage2.Name = "TabPage2"
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) 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.TabIndex = 1
Me.TabPage2.Text = "TEST" Me.TabPage2.Text = "TEST"
Me.TabPage2.UseVisualStyleBackColor = True Me.TabPage2.UseVisualStyleBackColor = True
@@ -581,16 +722,6 @@ Partial Class usrctlProcedures
Me.CheckBox1.Text = "TESTSYSTEM" Me.CheckBox1.Text = "TESTSYSTEM"
Me.CheckBox1.UseVisualStyleBackColor = True Me.CheckBox1.UseVisualStyleBackColor = True
' '
'DataGridViewTextBoxColumn1
'
Me.DataGridViewTextBoxColumn1.HeaderText = "dat"
Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1"
'
'DataGridViewTextBoxColumn2
'
Me.DataGridViewTextBoxColumn2.HeaderText = "anz"
Me.DataGridViewTextBoxColumn2.Name = "DataGridViewTextBoxColumn2"
'
'CheckBox2 'CheckBox2
' '
Me.CheckBox2.AutoSize = True Me.CheckBox2.AutoSize = True
@@ -965,30 +1096,30 @@ Partial Class usrctlProcedures
Me.Button33.Text = "DAKOSY CSV Importieren" Me.Button33.Text = "DAKOSY CSV Importieren"
Me.Button33.UseVisualStyleBackColor = True Me.Button33.UseVisualStyleBackColor = True
' '
'Button34 'DataGridViewTextBoxColumn1
' '
Me.Button34.Location = New System.Drawing.Point(694, 3) Me.DataGridViewTextBoxColumn1.HeaderText = "dat"
Me.Button34.Name = "Button34" Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1"
Me.Button34.Size = New System.Drawing.Size(145, 49)
Me.Button34.TabIndex = 65
Me.Button34.Text = "HMRC"
Me.Button34.UseVisualStyleBackColor = True
' '
'Button35 'DataGridViewTextBoxColumn2
' '
Me.Button35.Location = New System.Drawing.Point(550, 3) Me.DataGridViewTextBoxColumn2.HeaderText = "anz"
Me.Button35.Name = "Button35" Me.DataGridViewTextBoxColumn2.Name = "DataGridViewTextBoxColumn2"
Me.Button35.Size = New System.Drawing.Size(145, 49) '
Me.Button35.TabIndex = 66 'CheckBox6
Me.Button35.Text = "HMRC" '
Me.Button35.UseVisualStyleBackColor = True 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 'usrctlProcedures
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 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.Button33)
Me.Controls.Add(Me.lblStatus) Me.Controls.Add(Me.lblStatus)
Me.Controls.Add(Me.Button32) Me.Controls.Add(Me.Button32)
@@ -1043,6 +1174,8 @@ Partial Class usrctlProcedures
Me.Name = "usrctlProcedures" Me.Name = "usrctlProcedures"
Me.Size = New System.Drawing.Size(931, 724) Me.Size = New System.Drawing.Size(931, 724)
Me.TabControl1.ResumeLayout(False) Me.TabControl1.ResumeLayout(False)
Me.TabPage3.ResumeLayout(False)
Me.TabPage3.PerformLayout()
Me.TabPage1.ResumeLayout(False) Me.TabPage1.ResumeLayout(False)
Me.TabPage1.PerformLayout() Me.TabPage1.PerformLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
@@ -1148,4 +1281,16 @@ Partial Class usrctlProcedures
Friend WithEvents Button33 As Button Friend WithEvents Button33 As Button
Friend WithEvents Button34 As Button Friend WithEvents Button34 As Button
Friend WithEvents Button35 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 End Class

View File

@@ -3698,7 +3698,7 @@ Public Class usrctlProcedures
End Sub End Sub
Private Sub Button34_Click(sender As Object, e As EventArgs) Handles Button34.Click 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 End Sub
Private Sub Button35_Click(sender As Object, e As EventArgs) Handles Button35.Click Private Sub Button35_Click(sender As Object, e As EventArgs) Handles Button35.Click
@@ -3707,7 +3707,55 @@ Public Class usrctlProcedures
End Sub 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 End Sub

View File

@@ -145,239 +145,144 @@ Public Class cWorker_AES_EXG
'---------------------------------------------------------------------- '----------------------------------------------------------------------
Dim testDY = False Dim testDY = False
If testDY Or (EXG.exg_AutoFill_DyId IsNot Nothing AndAlso EXG.exg_AutoFill_DyId >= 0) Then 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 BEFÜLLEN!
NCTS_OUT = New DAKOSY_Worker.cDakosyNCTSOut004 '----------------------------------------------------------------------
NCTS_OUT.ncts_ObjectName = "TEEEESSSSTTT" Dim NCTS_OUT = fillNCTS_WithEXG_AutoFill(EXG, "TEEEEEEESTTT")
End If '----------------------------------------------------------------------
End If '----------------------------------------------------------------------
If NCTS_OUT IsNot Nothing Then 'Prüfen ob alle EXG Daten gekommen sind --> NCTS Senden!
Dim HC As New cDakosy_NCTSOut004_HouseConsignment If testDY Or (cDakosyEXG.isFillNCTS_ID_ALLCompleted(EXG.exg_AutoFill_DyId)) Then
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 Dim DY_ANM = New cDakosy_Zollanmeldungen(EXG.exg_AutoFill_DyId)
HC.nctsHC_Consignor_IdentificationNumber = EXG.exg_Consignor_IdentificationNumber If NCTS_OUT IsNot Nothing Then
HC.nctsHC_Consignor_SubsidiaryNumber = EXG.exg_Consignor_SubsidiaryNumber 'Dim cDY As New cDakosyNCTSOut(cDyAnm.dy_Id, cDyAnm.dy_Erstellung_SB)
HC.nctsHC_Consignor_StreetNumber = EXG.exg_Consignor_StreetNumber NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
HC.nctsHC_Consignor_City = EXG.exg_Consignor_City NCTS_OUT.ncts_Erstellung_SB = DY_ANM.dy_Erstellung_SB
HC.nctsHC_Consignor_Postcode = EXG.exg_Consignor_Postcode NCTS_OUT.ncts_LetzteBearbeitung = Now
HC.nctsHC_Consignor_Country = EXG.exg_Consignor_Country NCTS_OUT.ncts_LetzteBearbeitung_SB = DY_ANM.dy_LetzteBearbeitung_SB
HC.nctsHC_Consignor_ContactPerson_Name = EXG.exg_Consignor_ContactPerson_Name NCTS_OUT.ncts_firma = EXG.exg_firma
HC.nctsHC_Consignor_ContactPerson_PhoneNumber = EXG.exg_Consignor_ContactPerson_PhoneNumber NCTS_OUT.ncts_niederlassung = EXG.exg_niederlassung
HC.nctsHC_Consignor_ContactPerson_EMailAddress = EXG.exg_Consignor_ContactPerson_EMailAddress ' DAKOSY_Interface_SEND.loadInClass_VersandanmeldungNCTSDE_004(NCTS_OUT, Me, DY_ANM, Me.FIRMA_DY)
HC.nctsHC_Consignor_AdressCode = EXG.exg_Consignor_AdressCode
'VON HIER löschnen ohne test
HC.nctsHC_GrossMass = EXG.exg_GrossMass If testDY OrElse NCTS_OUT.SAVE_ALL() Then
HC.nctsHC_ReferenceNumberUCR = EXG.exg_ReferenceNumberUCR If If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Nur speichern wenn bei test exg_AutoFill_DyId befüllt ist
NCTS_OUT.SAVE_ALL()
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 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
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 Else
NCTS_OUT.ncts_Declarationtype = "T-" ' Sezt es im Kopf 'BIS HIER löschnen ohne test
End If
'----------------------------------------------------------------------
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 = "" Dim saveFile = ""
If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath) Then If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath) Then
If saveFile <> "" 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 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
End If
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.
'QULAIFIZIERUNG! 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 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 'QULAIFIZIERUNG!
If test Then '----------------------------------------------------------------------
frmStartOptions.copyFile(saveFile, "\\datenarchiv\Datenarchiv\DAKOSY\ECHTSYSTEM\EXG\upl\")
'----------------------------------------------------------------------
'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 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_09)
'DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03) Return False
Return True
Else
'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
End If End If
End If End If
End If End If
'----------------------------------------------------------------------
FORM.addDGVEinarbeitung("AES: ExportGest.-DatenZumAusgang", STATUS.dySt_BezugsNr)
End If End If
'---------------------------------------------------------------------- '----------------------------------------------------------------------
'----------------------------------------------------------------------
FORM.addDGVEinarbeitung("AES: ExportGest.-DatenZumAusgang", STATUS.dySt_BezugsNr)
End If End If
'----------------------------------------------------------------------
'----------------------------------------------------------------------
End If
End If End If
Next Next
End If End If
End If End If
@@ -389,83 +294,25 @@ Public Class cWorker_AES_EXG
End Try End Try
End Function End Function
' Funktion zur Bestimmung des Declaration Type Shared Function fillNCTS_WithEXG_AutoFill(EXG As cDakosyEXG, ObjectName As String) As cDakosyNCTSOut004
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 If (EXG.exg_AutoFill_DyId IsNot Nothing AndAlso EXG.exg_AutoFill_DyId >= 0) Then
For Each HC In HC_LIST Dim NCTS_OUT = DAKOSY_Worker.cDakosyNCTSOut004.LOADByAnmIDFull(EXG.exg_AutoFill_DyId, False)
For Each HC_ITEM In HC.nctsWP_CONSIGNMENT_ITEM If NCTS_OUT Is Nothing Then
Dim currentType = HC_ITEM.nctsHCCI_DeclarationType 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 Return NCTS_OUT
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 If
Return Nothing
End Function 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 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" Dim Interface_VERSION = "003"

View File

@@ -2499,15 +2499,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("WG: ", "")
betreff = betreff.replace("FW: ", "") 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 If betreff.ToString.Contains(",") Then
Dim sp = betreff.ToString.Split(",") 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 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") 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 If IsNumeric(SND_ID) AndAlso SND_ID > 0 Then
@@ -2530,7 +2530,7 @@ Public Class frmStartOptions
Else ' STB !!!! Else ' STB !!!!
betreff = sp(0).Trim betreff = sp(0).Trim
' , RegistrierNr./MRN:
Dim dy_id As String = "" Dim dy_id As String = ""
If betreff.ToString.Length > 15 Then If betreff.ToString.Length > 15 Then