diff --git a/SDL/Resources/Artikelstamm.xlsx b/SDL/Resources/Artikelstamm.xlsx index 91353879..c9b9d14b 100644 Binary files a/SDL/Resources/Artikelstamm.xlsx and b/SDL/Resources/Artikelstamm.xlsx differ diff --git a/SDL/cATLAS_FSS.vb b/SDL/cATLAS_FSS.vb index c41c5221..b52b3298 100644 --- a/SDL/cATLAS_FSS.vb +++ b/SDL/cATLAS_FSS.vb @@ -227,6 +227,7 @@ Public Class cArtikel Property Artikelnummer As String = "" Property Dynamische_Ergänzung_1 As String = "" Property Dynamische_Ergänzung_2 As String = "" + Property Ursprungsland As String = "" Property Kundennummer As String = "" Property Warencodenummer As String = "" Property Löschkennzeichen_Warencodenummer As String = "" diff --git a/SDL/cSqlDb.vb b/SDL/cSqlDb.vb index ce3d1587..9c60c45e 100644 --- a/SDL/cSqlDb.vb +++ b/SDL/cSqlDb.vb @@ -435,14 +435,14 @@ Public Class SQLZoll " begin " & "DELETE TOP (1) FROM tblZollArtikel WHERE KundenNr = @KundenNr AND zollArt_Artikelnummer=@zollArt_Artikelnummer AND zollArt_Warencodenummer=@zollArt_Warencodenummer " & "INSERT INTO tblZollArtikel " & - " (KundenNr,zollArt_Artikelnummer,zollArt_Dynamische_Ergaenzung_1,zollArt_Dynamische_Ergaenzung_2,zollArt_Warencodenummer,zollArt_Kurzbezeichnung,zollArt_Warenbeschreibung,zollArt_Status,Erfassungsdatum,Sachbearbeiter) " & - " VALUES(@KundenNr,@zollArt_Artikelnummer,@zollArt_Dynamische_Ergaenzung_1,@zollArt_Dynamische_Ergaenzung_2,@zollArt_Warencodenummer,@zollArt_Kurzbezeichnung,@zollArt_Warenbeschreibung,@zollArt_Status,@Erfassungsdatum,@Sachbearbeiter) " & + " (KundenNr,zollArt_Artikelnummer,zollArt_Dynamische_Ergaenzung_1,zollArt_Dynamische_Ergaenzung_2,zollArt_Warencodenummer,zollArt_Kurzbezeichnung,zollArt_Warenbeschreibung,zollArt_Ursprungsland,zollArt_Status,Erfassungsdatum,Sachbearbeiter) " & + " VALUES(@KundenNr,@zollArt_Artikelnummer,@zollArt_Dynamische_Ergaenzung_1,@zollArt_Dynamische_Ergaenzung_2,@zollArt_Warencodenummer,@zollArt_Kurzbezeichnung,@zollArt_Warenbeschreibung,@zollArt_Ursprungsland,@zollArt_Status,@Erfassungsdatum,@Sachbearbeiter) " & " End " & " Else " & " begin " & "INSERT INTO tblZollArtikel " & - " (KundenNr,zollArt_Artikelnummer,zollArt_Dynamische_Ergaenzung_1,zollArt_Dynamische_Ergaenzung_2,zollArt_Warencodenummer,zollArt_Kurzbezeichnung,zollArt_Warenbeschreibung,zollArt_Status,Erfassungsdatum,Sachbearbeiter) " & - " VALUES(@KundenNr,@zollArt_Artikelnummer,@zollArt_Dynamische_Ergaenzung_1,@zollArt_Dynamische_Ergaenzung_2,@zollArt_Warencodenummer,@zollArt_Kurzbezeichnung,@zollArt_Warenbeschreibung,@zollArt_Status,@Erfassungsdatum,@Sachbearbeiter) " & + " (KundenNr,zollArt_Artikelnummer,zollArt_Dynamische_Ergaenzung_1,zollArt_Dynamische_Ergaenzung_2,zollArt_Warencodenummer,zollArt_Kurzbezeichnung,zollArt_Warenbeschreibung,zollArt_Ursprungsland,zollArt_Status,Erfassungsdatum,Sachbearbeiter) " & + " VALUES(@KundenNr,@zollArt_Artikelnummer,@zollArt_Dynamische_Ergaenzung_1,@zollArt_Dynamische_Ergaenzung_2,@zollArt_Warencodenummer,@zollArt_Kurzbezeichnung,@zollArt_Warenbeschreibung,@zollArt_Ursprungsland,@zollArt_Status,@Erfassungsdatum,@Sachbearbeiter) " & " End " & " commit tran " @@ -458,6 +458,7 @@ Public Class SQLZoll cmd.Parameters.AddWithValue("@zollArt_Warencodenummer", artikel.Warencodenummer) cmd.Parameters.AddWithValue("@zollArt_Kurzbezeichnung", artikel.Kurzbezeichnung) cmd.Parameters.AddWithValue("@zollArt_Warenbeschreibung", artikel.Warenbeschreibung) + cmd.Parameters.AddWithValue("@zollArt_Ursprungsland", artikel.Ursprungsland) cmd.Parameters.AddWithValue("@zollArt_Status", artikel.status) cmd.Parameters.AddWithValue("@Erfassungsdatum", Now) diff --git a/SDL/zoll/frmAddArtikelATLAS.Designer.vb b/SDL/zoll/frmAddArtikelATLAS.Designer.vb index d0eece50..551ffdcc 100644 --- a/SDL/zoll/frmAddArtikelATLAS.Designer.vb +++ b/SDL/zoll/frmAddArtikelATLAS.Designer.vb @@ -90,6 +90,8 @@ Partial Class frmAddArtikelATLAS Me.ToolStripLabel1 = New System.Windows.Forms.ToolStripLabel() Me.Timer1 = New System.Windows.Forms.Timer(Me.components) Me.Label5 = New System.Windows.Forms.Label() + Me.txtUrsprungsland = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.Label20 = New System.Windows.Forms.Label() Me.Panel1.SuspendLayout() Me.Panel3.SuspendLayout() Me.Panel4.SuspendLayout() @@ -134,6 +136,8 @@ Partial Class frmAddArtikelATLAS ' 'Panel3 ' + Me.Panel3.Controls.Add(Me.txtUrsprungsland) + Me.Panel3.Controls.Add(Me.Label20) Me.Panel3.Controls.Add(Me.errWarencodenummer) Me.Panel3.Controls.Add(Me.Label17) Me.Panel3.Controls.Add(Me.Label18) @@ -299,7 +303,7 @@ Partial Class frmAddArtikelATLAS Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(235, 52) Me.Label2.TabIndex = 377 - Me.Label2.Text = "* Fixe Parameter: Anhand dieser Parameter " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & " identifiziert ATLAS den Datensatz" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & _ + Me.Label2.Text = "* Fixe Parameter: Anhand dieser Parameter " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & " identifiziert ATLAS den Datensatz" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & " Bei Änderung wird ein neuer Eintrag im ATLAS " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & " erzeugt." Me.Label2.Visible = False ' @@ -315,24 +319,35 @@ Partial Class frmAddArtikelATLAS ' 'txtKdNr ' + Me.txtKdNr._DateTimeOnly = False Me.txtKdNr._numbersOnly = False + Me.txtKdNr._numbersOnlyKommastellen = "" + Me.txtKdNr._numbersOnlyTrennzeichen = True Me.txtKdNr._Prozent = False + Me.txtKdNr._ShortDateNew = False Me.txtKdNr._ShortDateOnly = False + Me.txtKdNr._TimeOnly = False + Me.txtKdNr._TimeOnly_Seconds = False Me.txtKdNr._value = Nothing Me.txtKdNr._Waehrung = False + Me.txtKdNr._WaehrungZeichen = True Me.txtKdNr.Location = New System.Drawing.Point(376, 81) Me.txtKdNr.MaxLength = 17 + Me.txtKdNr.MaxLineLength = -1 + Me.txtKdNr.MaxLines_Warning = "" + Me.txtKdNr.MaxLines_Warning_Label = Nothing Me.txtKdNr.Name = "txtKdNr" Me.txtKdNr.Size = New System.Drawing.Size(179, 20) Me.txtKdNr.TabIndex = 1 ' 'btnSave ' + Me.btnSave.allowBorder = False Me.btnSave.Enabled = False Me.btnSave.FlatAppearance.BorderSize = 0 Me.btnSave.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnSave.ForeColor = System.Drawing.Color.Black - Me.btnSave.Image = Global.SDL.My.Resources.save + Me.btnSave.Image = Global.SDL.My.Resources.Resources.save Me.btnSave.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.btnSave.Location = New System.Drawing.Point(11, 408) Me.btnSave.Name = "btnSave" @@ -354,13 +369,23 @@ Partial Class frmAddArtikelATLAS ' 'txtMerkmal1 ' + Me.txtMerkmal1._DateTimeOnly = False Me.txtMerkmal1._numbersOnly = False + Me.txtMerkmal1._numbersOnlyKommastellen = "" + Me.txtMerkmal1._numbersOnlyTrennzeichen = True Me.txtMerkmal1._Prozent = False + Me.txtMerkmal1._ShortDateNew = False Me.txtMerkmal1._ShortDateOnly = False + Me.txtMerkmal1._TimeOnly = False + Me.txtMerkmal1._TimeOnly_Seconds = False Me.txtMerkmal1._value = Nothing Me.txtMerkmal1._Waehrung = False + Me.txtMerkmal1._WaehrungZeichen = True Me.txtMerkmal1.Location = New System.Drawing.Point(97, 107) Me.txtMerkmal1.MaxLength = 100 + Me.txtMerkmal1.MaxLineLength = -1 + Me.txtMerkmal1.MaxLines_Warning = "" + Me.txtMerkmal1.MaxLines_Warning_Label = Nothing Me.txtMerkmal1.Name = "txtMerkmal1" Me.txtMerkmal1.Size = New System.Drawing.Size(110, 20) Me.txtMerkmal1.TabIndex = 2 @@ -377,14 +402,24 @@ Partial Class frmAddArtikelATLAS ' 'txtWarencodeZusatz1 ' + Me.txtWarencodeZusatz1._DateTimeOnly = False Me.txtWarencodeZusatz1._numbersOnly = False + Me.txtWarencodeZusatz1._numbersOnlyKommastellen = "" + Me.txtWarencodeZusatz1._numbersOnlyTrennzeichen = True Me.txtWarencodeZusatz1._Prozent = False + Me.txtWarencodeZusatz1._ShortDateNew = False Me.txtWarencodeZusatz1._ShortDateOnly = False + Me.txtWarencodeZusatz1._TimeOnly = False + Me.txtWarencodeZusatz1._TimeOnly_Seconds = False Me.txtWarencodeZusatz1._value = Nothing Me.txtWarencodeZusatz1._Waehrung = False + Me.txtWarencodeZusatz1._WaehrungZeichen = True Me.txtWarencodeZusatz1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtWarencodeZusatz1.Location = New System.Drawing.Point(329, 180) Me.txtWarencodeZusatz1.MaxLength = 4 + Me.txtWarencodeZusatz1.MaxLineLength = -1 + Me.txtWarencodeZusatz1.MaxLines_Warning = "" + Me.txtWarencodeZusatz1.MaxLines_Warning_Label = Nothing Me.txtWarencodeZusatz1.Name = "txtWarencodeZusatz1" Me.txtWarencodeZusatz1.Size = New System.Drawing.Size(110, 20) Me.txtWarencodeZusatz1.TabIndex = 5 @@ -400,13 +435,23 @@ Partial Class frmAddArtikelATLAS ' 'txtMerkmal2 ' + Me.txtMerkmal2._DateTimeOnly = False Me.txtMerkmal2._numbersOnly = False + Me.txtMerkmal2._numbersOnlyKommastellen = "" + Me.txtMerkmal2._numbersOnlyTrennzeichen = True Me.txtMerkmal2._Prozent = False + Me.txtMerkmal2._ShortDateNew = False Me.txtMerkmal2._ShortDateOnly = False + Me.txtMerkmal2._TimeOnly = False + Me.txtMerkmal2._TimeOnly_Seconds = False Me.txtMerkmal2._value = Nothing Me.txtMerkmal2._Waehrung = False + Me.txtMerkmal2._WaehrungZeichen = True Me.txtMerkmal2.Location = New System.Drawing.Point(213, 107) Me.txtMerkmal2.MaxLength = 100 + Me.txtMerkmal2.MaxLineLength = -1 + Me.txtMerkmal2.MaxLines_Warning = "" + Me.txtMerkmal2.MaxLines_Warning_Label = Nothing Me.txtMerkmal2.Name = "txtMerkmal2" Me.txtMerkmal2.Size = New System.Drawing.Size(110, 20) Me.txtMerkmal2.TabIndex = 3 @@ -423,14 +468,24 @@ Partial Class frmAddArtikelATLAS ' 'txtWarencodeZusatz2 ' + Me.txtWarencodeZusatz2._DateTimeOnly = False Me.txtWarencodeZusatz2._numbersOnly = False + Me.txtWarencodeZusatz2._numbersOnlyKommastellen = "" + Me.txtWarencodeZusatz2._numbersOnlyTrennzeichen = True Me.txtWarencodeZusatz2._Prozent = False + Me.txtWarencodeZusatz2._ShortDateNew = False Me.txtWarencodeZusatz2._ShortDateOnly = False + Me.txtWarencodeZusatz2._TimeOnly = False + Me.txtWarencodeZusatz2._TimeOnly_Seconds = False Me.txtWarencodeZusatz2._value = Nothing Me.txtWarencodeZusatz2._Waehrung = False + Me.txtWarencodeZusatz2._WaehrungZeichen = True Me.txtWarencodeZusatz2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtWarencodeZusatz2.Location = New System.Drawing.Point(445, 180) Me.txtWarencodeZusatz2.MaxLength = 4 + Me.txtWarencodeZusatz2.MaxLineLength = -1 + Me.txtWarencodeZusatz2.MaxLines_Warning = "" + Me.txtWarencodeZusatz2.MaxLines_Warning_Label = Nothing Me.txtWarencodeZusatz2.Name = "txtWarencodeZusatz2" Me.txtWarencodeZusatz2.Size = New System.Drawing.Size(110, 20) Me.txtWarencodeZusatz2.TabIndex = 6 @@ -446,13 +501,23 @@ Partial Class frmAddArtikelATLAS ' 'txtArtikelNr ' + Me.txtArtikelNr._DateTimeOnly = False Me.txtArtikelNr._numbersOnly = False + Me.txtArtikelNr._numbersOnlyKommastellen = "" + Me.txtArtikelNr._numbersOnlyTrennzeichen = True Me.txtArtikelNr._Prozent = False + Me.txtArtikelNr._ShortDateNew = False Me.txtArtikelNr._ShortDateOnly = False + Me.txtArtikelNr._TimeOnly = False + Me.txtArtikelNr._TimeOnly_Seconds = False Me.txtArtikelNr._value = Nothing Me.txtArtikelNr._Waehrung = False + Me.txtArtikelNr._WaehrungZeichen = True Me.txtArtikelNr.Location = New System.Drawing.Point(97, 81) Me.txtArtikelNr.MaxLength = 50 + Me.txtArtikelNr.MaxLineLength = -1 + Me.txtArtikelNr.MaxLines_Warning = "" + Me.txtArtikelNr.MaxLines_Warning_Label = Nothing Me.txtArtikelNr.Name = "txtArtikelNr" Me.txtArtikelNr.Size = New System.Drawing.Size(226, 20) Me.txtArtikelNr.TabIndex = 0 @@ -498,27 +563,47 @@ Partial Class frmAddArtikelATLAS ' 'txtKurztext ' + Me.txtKurztext._DateTimeOnly = False Me.txtKurztext._numbersOnly = False + Me.txtKurztext._numbersOnlyKommastellen = "" + Me.txtKurztext._numbersOnlyTrennzeichen = True Me.txtKurztext._Prozent = False + Me.txtKurztext._ShortDateNew = False Me.txtKurztext._ShortDateOnly = False + Me.txtKurztext._TimeOnly = False + Me.txtKurztext._TimeOnly_Seconds = False Me.txtKurztext._value = Nothing Me.txtKurztext._Waehrung = False + Me.txtKurztext._WaehrungZeichen = True Me.txtKurztext.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtKurztext.Location = New System.Drawing.Point(97, 206) Me.txtKurztext.MaxLength = 600 + Me.txtKurztext.MaxLineLength = -1 + Me.txtKurztext.MaxLines_Warning = "" + Me.txtKurztext.MaxLines_Warning_Label = Nothing Me.txtKurztext.Name = "txtKurztext" Me.txtKurztext.Size = New System.Drawing.Size(458, 20) Me.txtKurztext.TabIndex = 7 ' 'txtBeschreibung ' + Me.txtBeschreibung._DateTimeOnly = False Me.txtBeschreibung._numbersOnly = False + Me.txtBeschreibung._numbersOnlyKommastellen = "" + Me.txtBeschreibung._numbersOnlyTrennzeichen = True Me.txtBeschreibung._Prozent = False + Me.txtBeschreibung._ShortDateNew = False Me.txtBeschreibung._ShortDateOnly = False + Me.txtBeschreibung._TimeOnly = False + Me.txtBeschreibung._TimeOnly_Seconds = False Me.txtBeschreibung._value = Nothing Me.txtBeschreibung._Waehrung = False + Me.txtBeschreibung._WaehrungZeichen = True Me.txtBeschreibung.Location = New System.Drawing.Point(97, 241) Me.txtBeschreibung.MaxLength = 2400 + Me.txtBeschreibung.MaxLineLength = -1 + Me.txtBeschreibung.MaxLines_Warning = "" + Me.txtBeschreibung.MaxLines_Warning_Label = Nothing Me.txtBeschreibung.Multiline = True Me.txtBeschreibung.Name = "txtBeschreibung" Me.txtBeschreibung.Size = New System.Drawing.Size(458, 80) @@ -526,14 +611,24 @@ Partial Class frmAddArtikelATLAS ' 'txtWarencodenummer ' + Me.txtWarencodenummer._DateTimeOnly = False Me.txtWarencodenummer._numbersOnly = False + Me.txtWarencodenummer._numbersOnlyKommastellen = "" + Me.txtWarencodenummer._numbersOnlyTrennzeichen = True Me.txtWarencodenummer._Prozent = False + Me.txtWarencodenummer._ShortDateNew = False Me.txtWarencodenummer._ShortDateOnly = False + Me.txtWarencodenummer._TimeOnly = False + Me.txtWarencodenummer._TimeOnly_Seconds = False Me.txtWarencodenummer._value = Nothing Me.txtWarencodenummer._Waehrung = False + Me.txtWarencodenummer._WaehrungZeichen = True Me.txtWarencodenummer.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtWarencodenummer.Location = New System.Drawing.Point(97, 180) Me.txtWarencodenummer.MaxLength = 11 + Me.txtWarencodenummer.MaxLineLength = -1 + Me.txtWarencodenummer.MaxLines_Warning = "" + Me.txtWarencodenummer.MaxLines_Warning_Label = Nothing Me.txtWarencodenummer.Name = "txtWarencodenummer" Me.txtWarencodenummer.Size = New System.Drawing.Size(226, 20) Me.txtWarencodenummer.TabIndex = 4 @@ -599,11 +694,12 @@ Partial Class frmAddArtikelATLAS ' 'FlatButton3 ' + Me.FlatButton3.allowBorder = False Me.FlatButton3.Enabled = False Me.FlatButton3.FlatAppearance.BorderSize = 0 Me.FlatButton3.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.FlatButton3.ForeColor = System.Drawing.Color.Black - Me.FlatButton3.Image = Global.SDL.My.Resources.transfer + Me.FlatButton3.Image = Global.SDL.My.Resources.Resources.transfer Me.FlatButton3.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.FlatButton3.Location = New System.Drawing.Point(5, 21) Me.FlatButton3.Name = "FlatButton3" @@ -661,7 +757,7 @@ Partial Class frmAddArtikelATLAS Me.btnKdSearch.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.btnKdSearch.FlatAppearance.BorderSize = 0 Me.btnKdSearch.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnKdSearch.Image = Global.SDL.My.Resources.search + Me.btnKdSearch.Image = Global.SDL.My.Resources.Resources.search Me.btnKdSearch.Location = New System.Drawing.Point(403, 30) Me.btnKdSearch.Name = "btnKdSearch" Me.btnKdSearch.Size = New System.Drawing.Size(40, 21) @@ -757,6 +853,7 @@ Partial Class frmAddArtikelATLAS ' Me.BindingNavigatorPositionItem.AccessibleName = "Position" Me.BindingNavigatorPositionItem.AutoSize = False + Me.BindingNavigatorPositionItem.Font = New System.Drawing.Font("Segoe UI", 9.0!) Me.BindingNavigatorPositionItem.Name = "BindingNavigatorPositionItem" Me.BindingNavigatorPositionItem.Size = New System.Drawing.Size(50, 23) Me.BindingNavigatorPositionItem.Text = "0" @@ -793,7 +890,7 @@ Partial Class frmAddArtikelATLAS 'ToolStripButton1 ' Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image - Me.ToolStripButton1.Image = Global.SDL.My.Resources.save + Me.ToolStripButton1.Image = Global.SDL.My.Resources.Resources.save Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta Me.ToolStripButton1.Name = "ToolStripButton1" Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) @@ -823,6 +920,39 @@ Partial Class frmAddArtikelATLAS Me.Label5.TextAlign = System.Drawing.ContentAlignment.TopCenter Me.Label5.Visible = False ' + 'txtUrsprungsland + ' + Me.txtUrsprungsland._DateTimeOnly = False + Me.txtUrsprungsland._numbersOnly = False + Me.txtUrsprungsland._numbersOnlyKommastellen = "" + Me.txtUrsprungsland._numbersOnlyTrennzeichen = False + Me.txtUrsprungsland._Prozent = False + Me.txtUrsprungsland._ShortDateNew = False + Me.txtUrsprungsland._ShortDateOnly = False + Me.txtUrsprungsland._TimeOnly = False + Me.txtUrsprungsland._TimeOnly_Seconds = False + Me.txtUrsprungsland._value = Nothing + Me.txtUrsprungsland._Waehrung = False + Me.txtUrsprungsland._WaehrungZeichen = False + Me.txtUrsprungsland.Location = New System.Drawing.Point(97, 133) + Me.txtUrsprungsland.MaxLength = 2 + Me.txtUrsprungsland.MaxLineLength = -1 + Me.txtUrsprungsland.MaxLines_Warning = "" + Me.txtUrsprungsland.MaxLines_Warning_Label = Nothing + Me.txtUrsprungsland.Name = "txtUrsprungsland" + Me.txtUrsprungsland.Size = New System.Drawing.Size(110, 20) + Me.txtUrsprungsland.TabIndex = 4 + ' + 'Label20 + ' + Me.Label20.AutoSize = True + Me.Label20.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label20.Location = New System.Drawing.Point(8, 136) + Me.Label20.Name = "Label20" + Me.Label20.Size = New System.Drawing.Size(78, 13) + Me.Label20.TabIndex = 394 + Me.Label20.Text = "Ursprungsland:" + ' 'frmAddArtikelATLAS ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -916,4 +1046,6 @@ Partial Class frmAddArtikelATLAS Friend WithEvents ToolStripLabel1 As System.Windows.Forms.ToolStripLabel Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents txtUrsprungsland As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents Label20 As Label End Class diff --git a/SDL/zoll/frmAddArtikelATLAS.resx b/SDL/zoll/frmAddArtikelATLAS.resx index c9074693..37867044 100644 --- a/SDL/zoll/frmAddArtikelATLAS.resx +++ b/SDL/zoll/frmAddArtikelATLAS.resx @@ -124,65 +124,65 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC - pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ - Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ - /5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA - zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ - IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E - rkJggg== + wgAADsIBFShKgAAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij + UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK + yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ + My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs + gRYWQPNO0NwkWNYGxg+DcYNgGSu2Z0xy4C7SiJtwE66kuq049xlAs2Ng/AiS7nbszXci6jIh4jQjPGWR + A+U59hiluowbQMzVVfmgPKU/GdcPxlmx5TArB6KzJunf0gTtPcqBzeluhCYsCIz3wm/rUw78WX4AJCPY + nlwVm9EAAAAASUVORK5CYII= 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 - oAc0QjgAAAAASUVORK5CYII= + wgAADsIBFShKgAAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5 + 8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu + I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+ + X6Bjq5qXAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// - h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B - twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA - kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG - WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 - 8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== + wgAADsIBFShKgAAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe + /w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/ + /tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI + ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6 + 3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO + uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC diff --git a/SDL/zoll/frmAddArtikelATLAS.vb b/SDL/zoll/frmAddArtikelATLAS.vb index 07ab59a4..ba1eac75 100644 --- a/SDL/zoll/frmAddArtikelATLAS.vb +++ b/SDL/zoll/frmAddArtikelATLAS.vb @@ -138,8 +138,10 @@ Public Class frmAddArtikelATLAS lblStatus.DataBindings.Clear() lblStatus.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Status", True, DataSourceUpdateMode.OnPropertyChanged, "")) - - + txtUrsprungsland.DataBindings.Clear() + txtUrsprungsland.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Ursprungsland", True, DataSourceUpdateMode.OnPropertyChanged, "")) + + Try binding.bindingSource.Position = binding.bindingSource.Find("zollArt_id", cursorAtID) Catch ex As Exception @@ -233,6 +235,7 @@ Public Class frmAddArtikelATLAS artikel.Artikelnummer = txtArtikelNr.Text artikel.Dynamische_Ergänzung_1 = txtMerkmal1.Text artikel.Dynamische_Ergänzung_2 = txtMerkmal2.Text + artikel.Ursprungsland = txtUrsprungsland.Text artikel.Kurzbezeichnung = txtKurztext.Text diff --git a/SDL/zoll/usrCntlZollArtikel.Designer.vb b/SDL/zoll/usrCntlZollArtikel.Designer.vb index 26873ac6..6d28c8a0 100644 --- a/SDL/zoll/usrCntlZollArtikel.Designer.vb +++ b/SDL/zoll/usrCntlZollArtikel.Designer.vb @@ -23,8 +23,8 @@ Partial Class usrCntlZollArtikel _ Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() - Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Me.pnlFilter = New System.Windows.Forms.Panel() Me.dgvZollArtikel = New System.Windows.Forms.DataGridView() Me.cntxtRightClick = New System.Windows.Forms.ContextMenuStrip(Me.components) @@ -33,6 +33,8 @@ Partial Class usrCntlZollArtikel Me.BeschreibungToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.Label1 = New System.Windows.Forms.Label() Me.Panel1 = New System.Windows.Forms.Panel() + Me.Button3 = New System.Windows.Forms.Button() + Me.btnDelAll = New System.Windows.Forms.Button() Me.btnRefresh = New VERAG_PROG_ALLGEMEIN.FlatButton() Me.lblTestsystem = New System.Windows.Forms.Label() Me.btnExcel = New System.Windows.Forms.Button() @@ -55,7 +57,6 @@ Partial Class usrCntlZollArtikel Me.btnTarifnummerKopieren = New System.Windows.Forms.Button() Me.cntxtVermerk = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() - Me.btnDelAll = New System.Windows.Forms.Button() CType(Me.dgvZollArtikel, System.ComponentModel.ISupportInitialize).BeginInit() Me.cntxtRightClick.SuspendLayout() Me.Panel1.SuspendLayout() @@ -70,7 +71,7 @@ Partial Class usrCntlZollArtikel Me.pnlFilter.BackColor = System.Drawing.Color.White Me.pnlFilter.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.pnlFilter.Dock = System.Windows.Forms.DockStyle.Top - Me.pnlFilter.Location = New System.Drawing.Point(0, 34) + Me.pnlFilter.Location = New System.Drawing.Point(0, 55) Me.pnlFilter.Name = "pnlFilter" Me.pnlFilter.Size = New System.Drawing.Size(1278, 28) Me.pnlFilter.TabIndex = 11 @@ -80,16 +81,16 @@ Partial Class usrCntlZollArtikel Me.dgvZollArtikel.AllowUserToAddRows = False Me.dgvZollArtikel.AllowUserToDeleteRows = False Me.dgvZollArtikel.AllowUserToResizeRows = False - DataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) - Me.dgvZollArtikel.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle3 + DataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.dgvZollArtikel.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle1 Me.dgvZollArtikel.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize Me.dgvZollArtikel.ContextMenuStrip = Me.cntxtRightClick Me.dgvZollArtikel.Dock = System.Windows.Forms.DockStyle.Fill - Me.dgvZollArtikel.Location = New System.Drawing.Point(0, 62) + Me.dgvZollArtikel.Location = New System.Drawing.Point(0, 83) Me.dgvZollArtikel.MultiSelect = False Me.dgvZollArtikel.Name = "dgvZollArtikel" Me.dgvZollArtikel.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect - Me.dgvZollArtikel.Size = New System.Drawing.Size(1278, 482) + Me.dgvZollArtikel.Size = New System.Drawing.Size(1278, 461) Me.dgvZollArtikel.TabIndex = 14 ' 'cntxtRightClick @@ -122,7 +123,7 @@ Partial Class usrCntlZollArtikel Me.Label1.AutoSize = True Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Label1.Location = New System.Drawing.Point(3, 6) + Me.Label1.Location = New System.Drawing.Point(3, 13) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(94, 20) Me.Label1.TabIndex = 1 @@ -131,6 +132,7 @@ Partial Class usrCntlZollArtikel 'Panel1 ' Me.Panel1.BackColor = System.Drawing.Color.WhiteSmoke + Me.Panel1.Controls.Add(Me.Button3) Me.Panel1.Controls.Add(Me.btnDelAll) Me.Panel1.Controls.Add(Me.btnRefresh) Me.Panel1.Controls.Add(Me.lblTestsystem) @@ -142,9 +144,39 @@ Partial Class usrCntlZollArtikel Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top Me.Panel1.Location = New System.Drawing.Point(0, 0) Me.Panel1.Name = "Panel1" - Me.Panel1.Size = New System.Drawing.Size(1278, 34) + Me.Panel1.Size = New System.Drawing.Size(1278, 55) Me.Panel1.TabIndex = 13 ' + 'Button3 + ' + Me.Button3.Enabled = False + Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button3.ForeColor = System.Drawing.Color.Black + Me.Button3.Image = Global.SDL.My.Resources.Resources.transfer + Me.Button3.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button3.Location = New System.Drawing.Point(898, 3) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(114, 49) + Me.Button3.TabIndex = 21 + Me.Button3.Text = "Alle Artikal an" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "DHF/Zolaris" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & " übertragen" + Me.Button3.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.Button3.UseVisualStyleBackColor = True + ' + 'btnDelAll + ' + Me.btnDelAll.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer)) + Me.btnDelAll.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnDelAll.ForeColor = System.Drawing.Color.Black + Me.btnDelAll.Image = Global.SDL.My.Resources.Resources.del + Me.btnDelAll.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnDelAll.Location = New System.Drawing.Point(740, 11) + Me.btnDelAll.Name = "btnDelAll" + Me.btnDelAll.Size = New System.Drawing.Size(126, 27) + Me.btnDelAll.TabIndex = 24 + Me.btnDelAll.Text = "Alle Löschen" + Me.btnDelAll.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnDelAll.UseVisualStyleBackColor = True + ' 'btnRefresh ' Me.btnRefresh.allowBorder = False @@ -153,7 +185,7 @@ Partial Class usrCntlZollArtikel Me.btnRefresh.FlatAppearance.BorderSize = 0 Me.btnRefresh.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnRefresh.ForeColor = System.Drawing.Color.Black - Me.btnRefresh.Location = New System.Drawing.Point(114, 3) + Me.btnRefresh.Location = New System.Drawing.Point(114, 10) Me.btnRefresh.Name = "btnRefresh" Me.btnRefresh.Size = New System.Drawing.Size(52, 27) Me.btnRefresh.TabIndex = 23 @@ -180,7 +212,7 @@ Partial Class usrCntlZollArtikel Me.btnExcel.ForeColor = System.Drawing.Color.Black Me.btnExcel.Image = Global.SDL.My.Resources.Resources.Excel_logo Me.btnExcel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnExcel.Location = New System.Drawing.Point(576, 3) + Me.btnExcel.Location = New System.Drawing.Point(576, 10) Me.btnExcel.Name = "btnExcel" Me.btnExcel.Size = New System.Drawing.Size(103, 27) Me.btnExcel.TabIndex = 21 @@ -219,7 +251,7 @@ Partial Class usrCntlZollArtikel Me.btnEdit.ForeColor = System.Drawing.Color.Black Me.btnEdit.Image = Global.SDL.My.Resources.Resources.stift Me.btnEdit.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnEdit.Location = New System.Drawing.Point(314, 3) + Me.btnEdit.Location = New System.Drawing.Point(314, 10) Me.btnEdit.Name = "btnEdit" Me.btnEdit.Size = New System.Drawing.Size(117, 27) Me.btnEdit.TabIndex = 19 @@ -234,7 +266,7 @@ Partial Class usrCntlZollArtikel Me.btnNew.ForeColor = System.Drawing.Color.Black Me.btnNew.Image = Global.SDL.My.Resources.Resources.plus Me.btnNew.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnNew.Location = New System.Drawing.Point(191, 3) + Me.btnNew.Location = New System.Drawing.Point(191, 10) Me.btnNew.Name = "btnNew" Me.btnNew.Size = New System.Drawing.Size(117, 27) Me.btnNew.TabIndex = 18 @@ -249,7 +281,7 @@ Partial Class usrCntlZollArtikel Me.btnDel.ForeColor = System.Drawing.Color.Black Me.btnDel.Image = Global.SDL.My.Resources.Resources.del Me.btnDel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnDel.Location = New System.Drawing.Point(437, 3) + Me.btnDel.Location = New System.Drawing.Point(437, 10) Me.btnDel.Name = "btnDel" Me.btnDel.Size = New System.Drawing.Size(117, 27) Me.btnDel.TabIndex = 17 @@ -286,14 +318,14 @@ Partial Class usrCntlZollArtikel Me.dgvKdVermerke.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells Me.dgvKdVermerke.BackgroundColor = System.Drawing.Color.White Me.dgvKdVermerke.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize - DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft - DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window - DataGridViewCellStyle1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText - DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight - DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText - DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.dgvKdVermerke.DefaultCellStyle = DataGridViewCellStyle1 + DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window + DataGridViewCellStyle2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText + DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.dgvKdVermerke.DefaultCellStyle = DataGridViewCellStyle2 Me.dgvKdVermerke.Location = New System.Drawing.Point(156, 3) Me.dgvKdVermerke.Name = "dgvKdVermerke" Me.dgvKdVermerke.RowHeadersVisible = False @@ -404,21 +436,6 @@ Partial Class usrCntlZollArtikel Me.ToolStripMenuItem1.Size = New System.Drawing.Size(118, 22) Me.ToolStripMenuItem1.Text = "Löschen" ' - 'btnDelAll - ' - Me.btnDelAll.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer)) - Me.btnDelAll.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnDelAll.ForeColor = System.Drawing.Color.Black - Me.btnDelAll.Image = Global.SDL.My.Resources.Resources.del - Me.btnDelAll.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnDelAll.Location = New System.Drawing.Point(740, 4) - Me.btnDelAll.Name = "btnDelAll" - Me.btnDelAll.Size = New System.Drawing.Size(126, 27) - Me.btnDelAll.TabIndex = 24 - Me.btnDelAll.Text = "Alle Löschen" - Me.btnDelAll.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.btnDelAll.UseVisualStyleBackColor = True - ' 'usrCntlZollArtikel ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -477,4 +494,5 @@ Partial Class usrCntlZollArtikel Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem Friend WithEvents TabelleInExcelÖffnenToolStripMenuItem As ToolStripMenuItem Friend WithEvents btnDelAll As Button + Friend WithEvents Button3 As Button End Class diff --git a/SDL/zoll/usrCntlZollArtikel.vb b/SDL/zoll/usrCntlZollArtikel.vb index 9f2c52ee..ebf5bc32 100644 --- a/SDL/zoll/usrCntlZollArtikel.vb +++ b/SDL/zoll/usrCntlZollArtikel.vb @@ -1,5 +1,6 @@ Imports System.Data.SqlClient Imports Microsoft.Office.Interop +Imports VERAG_PROG_ALLGEMEIN Public Class usrCntlZollArtikel @@ -34,6 +35,8 @@ Public Class usrCntlZollArtikel btnExcel.Enabled = True ' btnAtlas.Visible = True editAllowed = True + Button3.Visible = True + Button3.Enabled = True Else btnNew.Visible = False btnEdit.Visible = False @@ -64,7 +67,7 @@ Public Class usrCntlZollArtikel top = " TOP 200 " End If - newBinding("SELECT " & top & " zollArt_id, KundenNr, zollArt_Status, zollArt_Artikelnummer , zollArt_Warencodenummer, zollArt_Kennzeichen_Gueltig, zollArt_Kurzbezeichnung, Erfassungsdatum, Aenderungsdatum, Sachbearbeiter,zollArt_Warenbeschreibung FROM tblZollArtikel WHERE 1=1 " & where) + newBinding("SELECT " & top & " zollArt_id, KundenNr, zollArt_Status, zollArt_Artikelnummer , zollArt_Warencodenummer, zollArt_Kennzeichen_Gueltig, zollArt_Kurzbezeichnung, zollArt_Ursprungsland, Erfassungsdatum, Aenderungsdatum, Sachbearbeiter,zollArt_Warenbeschreibung FROM tblZollArtikel WHERE 1=1 " & where) End Sub @@ -595,7 +598,8 @@ Public Class usrCntlZollArtikel 'Laden des Bereiches aus dem Excel: Dim myRange As Excel.Range - myRange = Blatt.Range("B" & startRows & ":G" & endRows & "") + 'myRange = Blatt.Range("B" & startRows & ":G" & endRows & "") + myRange = Blatt.Range("B" & startRows & ":H" & endRows & "") Dim myArray As Object(,) '<-- declared as 2D Array myArray = myRange.Value 'store the content of each cell 'myArray(i_soll2 - startRows + 1, 4) @@ -615,6 +619,7 @@ Public Class usrCntlZollArtikel If myArray(i, 4) Is Nothing Or myArray(i, 4).ToString() = "" Or myArray(i, 4).ToString().Replace(" ", "").Replace(".", "").Length > 11 Or Not IsNumeric(myArray(i, 4).ToString().Replace(" ", "").Replace(".", "")) Then c = True : fehler(i, 4, myArray(i, 4).ToString()) If myArray(i, 5) Is Nothing Or myArray(i, 5).ToString() = "" Or myArray(i, 5).ToString().Length > 60 Then c = True : fehler(i, 5, myArray(i, 5).ToString()) If myArray(i, 6) Is Nothing Or myArray(i, 6).ToString() = "" Or myArray(i, 6).ToString().Length > 240 Then c = True : fehler(i, 6, myArray(i, 6).ToString()) + If myArray(i, 7) IsNot Nothing AndAlso myArray(i, 7).ToString().Length > 2 Then c = True : fehler(i, 7, myArray(i, 7).ToString()) If c Then Me.Cursor = Cursors.Default @@ -638,6 +643,8 @@ Public Class usrCntlZollArtikel a.Warencodenummer = myArray(i, 4).ToString.Replace(" ", "").Replace(".", "") a.Kurzbezeichnung = myArray(i, 5).ToString a.Warenbeschreibung = myArray(i, 6).ToString + + If Not myArray(i, 7) Is Nothing Then a.Ursprungsland = myArray(i, 7).ToString a.Verarbeitungskennzeichen = "0" a.Kundennummer = kdnrTmp @@ -849,4 +856,105 @@ Public Class usrCntlZollArtikel End If End If End Sub + + Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click + '' Dim ii As List(Of Integer) = getZollArtIDs() + If dgvZollArtikel.Rows.Count = 0 Then Exit Sub + If vbYes = MsgBox("Möchten Sie wirklich " & dgvZollArtikel.Rows.Count & " Zeilen einarbeiten?" & vbNewLine & "(Alte Einträge werden gelöscht)", vbYesNoCancel) Then + Try + Dim kdNrDHF = InputBox("Bitte geben Sie die Kundennummer ein, für die die Artikel eingearbeitet werden sollen:", "Kundennummer eingeben", kdnr) + If kdNrDHF = "" Then + MsgBox("Kundennummer ungültig!") : Exit Sub + End If + + + If DHF_Artikel.Delete_KD(kdNrDHF) Then + + Dim LizenzNr = "S01122" + 'zollArt_id, KundenNr, zollArt_Status, zollArt_Artikelnummer , zollArt_Warencodenummer, zollArt_Kennzeichen_Gueltig, zollArt_Kurzbezeichnung, Erfassungsdatum, Aenderungsdatum, Sachbearbeiter,zollArt_Warenbeschreibung + + Dim ZOLL_ART_LIST = cZollArtikel.GetListByKundenNr(kdnr) + + Dim ErrorsLog = "" + + For Each ZOLL_ARTIKEL In ZOLL_ART_LIST + ' If ZOLL_ARTIKEL.zollArt_Kennzeichen_Gueltig Is Nothing OrElse ZOLL_ARTIKEL.zollArt_Kennzeichen_Gueltig = 1 Then + + 'Dim artikel As New DHF_Artikel With { + ' .LizenzNr = LizenzNr, + ' .FremdAdressID = kdnr, + ' .FremdKennung = "EXT", + ' .ArtikelCode = If(ZOLL_ARTIKEL.zollArt_Artikelnummer, ""), + ' .Bezeichnung = If(ZOLL_ARTIKEL.zollArt_Warenbeschreibung, ""), + ' .Eigenmasse = If(ZOLL_ARTIKEL.zollArt_Gewicht, ""),' 12.5, + ' .MengenEH = If(ZOLL_ARTIKEL.zollArt_Menge, ""),'"kg", + ' .GueltigAb = If(ZOLL_ARTIKEL.Erfassungsdatum, Date.Today), + ' .Ursprungsland = If(ZOLL_ARTIKEL.zollArt_Ursprungsland, ""),' "AT", + ' .AusfVerfCode = "1000", + ' .EinfVerfCode = "4000", + ' .IndEAH = 0 + ' } + + Dim artikel As New DHF_Artikel With { + .LizenzNr = LizenzNr, + .FremdAdressID = kdNrDHF, + .FremdKennung = "EXT", + .ArtikelCode = If(ZOLL_ARTIKEL.zollArt_Artikelnummer, ""), + .Bezeichnung = If(String.IsNullOrWhiteSpace(ZOLL_ARTIKEL.zollArt_Warenbeschreibung), "", ZOLL_ARTIKEL.zollArt_Warenbeschreibung.Substring(0, Math.Min(255, ZOLL_ARTIKEL.zollArt_Warenbeschreibung.Length))), + .Eigenmasse = Nothing,' 12.5, + .MengenEH = Nothing,'"kg", + .GueltigAb = Date.Today, + .Ursprungsland = If(ZOLL_ARTIKEL.zollArt_Ursprungsland, ""),' "AT", + .AusfVerfCode = "1000", + .EinfVerfCode = "4000", + .IndEAH = 0 + } + + Dim tarifNr = System.Text.RegularExpressions.Regex.Replace(ZOLL_ARTIKEL.zollArt_Warencodenummer, "[^\d]", "") + Dim tarif1 As New DHF_ArtikelTarif With { + .GueltigAb = Date.Today, + .TarifNr = If(String.IsNullOrWhiteSpace(tarifNr), "", tarifNr.Substring(0, Math.Min(10, tarifNr.Length))) + } + + If ZOLL_ARTIKEL.zollArt_Zusatzcode_1 IsNot Nothing AndAlso ZOLL_ARTIKEL.zollArt_Zusatzcode_1 IsNot DBNull.Value AndAlso ZOLL_ARTIKEL.zollArt_Zusatzcode_1 <> "" Then + tarif1.TarifZucodes.Add(New DHF_ArtikelTarifZucode With { + .TarifNrZusatzcode = ZOLL_ARTIKEL.zollArt_Zusatzcode_1 + }) + End If + + If ZOLL_ARTIKEL.zollArt_Zusatzcode_2 IsNot Nothing AndAlso ZOLL_ARTIKEL.zollArt_Zusatzcode_2 IsNot DBNull.Value AndAlso ZOLL_ARTIKEL.zollArt_Zusatzcode_2 <> "" Then + tarif1.TarifZucodes.Add(New DHF_ArtikelTarifZucode With { + .TarifNrZusatzcode = ZOLL_ARTIKEL.zollArt_Zusatzcode_2 + }) + End If + + + artikel.ArtikelTarife.Add(tarif1) + + + + If artikel.Save() Then + Console.WriteLine("Artikel erfolgreich gespeichert.") + Else + Console.WriteLine("Fehler beim Speichern.") + ErrorsLog &= "Fehler beim Speichern :" & If(ZOLL_ARTIKEL.zollArt_Artikelnummer, "") & " / " & If(ZOLL_ARTIKEL.zollArt_Warencodenummer, "") & vbNewLine + End If + + Next + + If ErrorsLog <> "" Then + MsgBox("Es sind Fehler beim Speichern aufgetreten: " & vbNewLine & vbNewLine & ErrorsLog, vbExclamation, "Fehler beim Speichern") + 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 If + + End Sub End Class diff --git a/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb b/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb index f3085f51..e3ad528c 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb @@ -1,4 +1,6 @@ Imports System.Data.SqlClient +Imports System.Reflection +Imports com.sun.org.apache.xml.internal.security.transforms Imports DocumentFormat.OpenXml.Bibliography Public Class SQL @@ -545,6 +547,54 @@ Public Class SQL Return Nothing End Function + Public Function GetNewOpenConnection(conn_art) As SqlConnection + Dim conn As New SqlConnection + Select Case conn_art + Case "SDL" : conn = GetNewOpenConnectionSDL() + Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL() + Case "ADMIN" : conn = GetNewOpenConnectionADMIN() + Case "ASFINAG" : conn = GetNewOpenConnectionAsfinag() + Case "DISPO" : conn = GetNewOpenConnectionDISPO() + Case "ATLAS" : conn = GetNewOpenConnectionATLAS() + Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG() + Case "EZOLL" : conn = GetNewOpenConnectionEZOLL() + Case "EZOLL_UNISPED" : conn = GetNewOpenConnectionEZOLL_UNISPED() + Case "AVISO" : conn = GetNewOpenConnectionAVISO() + Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() + Case "FD" : conn = GetNewOpenConnectionFD() + Case "WEB" : conn = GetNewOpenConnectionWEB() + Case "FIBU", "SYSKA" : conn = GetNewOpenConnectionSYSKA() + Case "PARKZEIT" : conn = GetNewOpenConnectionPARKZEIT() + + + Case "AVISO_ATILLA" + conn.ConnectionString = "Data Source=172.16.0.98;Initial Catalog=AVISO_ATILLA;Integrated Security=false;User ID=sa;Password=BmWr501956;Pooling=true;Min Pool Size=5;Max Pool Size=200" + conn.Open() + End Select + Return conn + End Function + Public Function GetScalarValue(sql As String, conn_art As String, params As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)) As Integer + Try + Using conn As SqlConnection = GetNewOpenConnection(conn_art) + Using cmd As New SqlCommand(sql, conn) + For Each p In params + cmd.Parameters.AddWithValue("@" & p.Scalarvariable, If(p.Value, DBNull.Value)) + Next + + Dim result = cmd.ExecuteScalar() + If result Is Nothing OrElse result Is DBNull.Value Then + Return 0 + Else + Return Convert.ToInt32(result) + End If + End Using + End Using + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler in GetScalarValue: " & ex.Message, ex.StackTrace, MethodBase.GetCurrentMethod().Name) + Return 0 + End Try + End Function + Public Function loadDgvBySql(ByVal sql As String, Optional conn_art As String = "SDL", Optional timeout As Integer = 0, Optional showerror As Boolean = True) As DataTable Try Dim myTable = New DataTable() @@ -867,10 +917,27 @@ Public Class SQL Case "PARKZEIT" : conn = GetNewOpenConnectionPARKZEIT() End Select Try + + ' MsgBox(sql) Using cmd As New SqlCommand(sql, conn) If list IsNot Nothing Then + + + + + For Each i In list + If String.IsNullOrWhiteSpace(i.Scalarvariable) Then + Throw New Exception("❌ Leerer Parametername in SQLVariable!") + End If + If i.Scalarvariable.ToLower = "errno" Then + Throw New Exception("❌ Ungültiger Parametername 'errno' – bitte umbenennen.") + End If + If Not System.Text.RegularExpressions.Regex.IsMatch(i.Scalarvariable, "^[a-zA-Z0-9_]+$") Then + Throw New Exception("❌ Ungültiger SQL-Parametername (Regex): '" & i.Scalarvariable & "'") + End If + 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value)) cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value)) Next @@ -881,7 +948,13 @@ Public Class SQL Return True Catch ex As Exception ' MsgBox("ERR!") - If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) + If ex.Message.Contains("Falsche Syntax in der Nähe von '@errno'") Then + ' Spezielle Behandlung für den Fehler mit dem Parameter 'errno' + 'VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("❌ Ungültiger SQL-Parametername 'errno' – bitte umbenennen.", ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) + + ElseIf ex.Message.Contains("Leerer Parametername") Then + If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) + End If End Try Return False End Function diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb b/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb index bebff68f..21732cf8 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb @@ -61,7 +61,96 @@ Public Class MyListItem2 End Class +'Public Class SQLVariable +' Private ReadOnly TextSQLName As String +' Private ReadOnly ValueSQLVALUE As Object +' Private ReadOnly ScalarvariablenameIntern As String +' Private ReadOnly primaryParam As Boolean +' Private ReadOnly onlyForLoad As Boolean +' Private ReadOnly onlyForSave As Boolean +' ''' +' ''' Erstellt eine neue SQLVariable für Parameterübergaben an SQL-Befehle. +' ''' +' ''' Spaltenname in der Datenbank +' ''' Wert, der gespeichert oder gelesen werden soll +' ''' Parametername für SQL-Bindung (optional, sonst = Text) +' ''' Kennzeichnet Primärschlüssel für WHERE-Klausel +' ''' Wird nur beim Laden verwendet +' ''' Wird nur beim Speichern verwendet +' Public Sub New(ByVal Text As String, +' ByVal Value As Object, +' Optional Scalarvariablename As String = "", +' Optional primaryParam As Boolean = False, +' Optional onlyForLoad As Boolean = False, +' Optional onlyForSave As Boolean = False) + +' If String.IsNullOrWhiteSpace(Text) Then +' Throw New ArgumentException("❌ SQLVariable: Text darf nicht leer sein!") +' End If + +' Me.TextSQLName = Text +' Me.ValueSQLVALUE = Value +' Me.primaryParam = primaryParam +' Me.onlyForLoad = onlyForLoad +' Me.onlyForSave = onlyForSave +' Me.ScalarvariablenameIntern = If(String.IsNullOrWhiteSpace(Scalarvariablename), Text, Scalarvariablename) +' End Sub + +' ''' +' ''' Name der SQL-Spalte +' ''' +' Public ReadOnly Property Text() As String +' Get +' Return TextSQLName +' End Get +' End Property + +' ''' +' ''' Wert der SQL-Spalte +' ''' +' Public ReadOnly Property Value() As Object +' Get +' Return ValueSQLVALUE +' End Get +' End Property + +' ''' +' ''' Parametername für die SQL-Zuweisung (z. B. @Bezeichnung) +' ''' +' Public ReadOnly Property Scalarvariable() As String +' Get +' Return ScalarvariablenameIntern +' End Get +' End Property + +' ''' +' ''' True, wenn es sich um einen Primärschlüssel handelt +' ''' +' Public ReadOnly Property isPrimaryParam() As Boolean +' Get +' Return primaryParam +' End Get +' End Property + +' ''' +' ''' True, wenn nur für Lade-Operationen verwenden +' ''' +' Public ReadOnly Property isOnlyForLoad() As Boolean +' Get +' Return onlyForLoad +' End Get +' End Property + +' ''' +' ''' True, wenn nur für Speicher-Operationen verwenden +' ''' +' Public ReadOnly Property isOnlyForSave() As Boolean +' Get +' Return onlyForSave +' End Get +' End Property +'End Class Public Class SQLVariable Private TextSQLName As String diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb b/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb index be2ad9e1..a591ae56 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb @@ -24,6 +24,7 @@ Public Class cZollArtikel Property zollArt_Besondere_Maßeinheit_Qualifikator As Object = Nothing Property zollArt_Gewicht As Object = Nothing Property zollArt_Menge As Object = Nothing + Property zollArt_Ursprungsland As Object = Nothing Property Erfassungsdatum As Object = Nothing Property Aenderungsdatum As Object = Nothing Property Sachbearbeiter As Object = Nothing @@ -67,6 +68,7 @@ Public Class cZollArtikel list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Besondere_Maßeinheit_Qualifikator", zollArt_Besondere_Maßeinheit_Qualifikator)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Gewicht", zollArt_Gewicht)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Menge", zollArt_Menge)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Ursprungsland", zollArt_Ursprungsland)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erfassungsdatum", Erfassungsdatum)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aenderungsdatum", Aenderungsdatum)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter)) @@ -81,7 +83,7 @@ Public Class cZollArtikel Public Function SAVE(Optional errHinweis = "") As Boolean Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() - Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblZollArtikel WHERE zollArt_id=@zollArt_id) " & + Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblZollArtikel WHERE zollArt_id=@zollArt_id) " & " BEGIN " & getUpdateCmd() & " End " & " Else " & " BEGIN " & getInsertCmd() & " End " & @@ -170,4 +172,32 @@ Public Class cZollArtikel Dim sqlstr = " DELETE FROM tblZollArtikel WHERE zollArt_id=" & id Return SQL.doSQL(sqlstr, "FMZOLL") End Function + + Public Shared Function GetListByKundenNr(kdnr As Integer) As List(Of cZollArtikel) + Dim result As New List(Of cZollArtikel) + Dim SQL As New SQL + + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblZollArtikel WHERE KundenNr = @kdnr", conn) + cmd.Parameters.AddWithValue("@kdnr", kdnr) + Using dr = cmd.ExecuteReader() + While dr.Read() + Dim item As New cZollArtikel() + For Each prop In GetType(cZollArtikel).GetProperties() + prop.SetValue(item, dr(prop.Name)) + Next + item.hasEntry = True + result.Add(item) + End While + End Using + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & MethodBase.GetCurrentMethod.Name & "'" & vbNewLine & + ex.Message & vbNewLine & ex.StackTrace) + End Try + + Return result + End Function End Class diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/DHF/cDHF_Artikel.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/DHF/cDHF_Artikel.vb new file mode 100644 index 00000000..b39213da --- /dev/null +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/DHF/cDHF_Artikel.vb @@ -0,0 +1,299 @@ +Imports System.Reflection +Imports System.Data.SqlClient + +' ======================== +' 📦 Hauptklasse: DHF_Artikel +' ======================== +Public Class DHF_Artikel + Public LizenzNr As String = "S01122" + Public FremdAdressID As String + Public FremdKennung As String = "EXT" + Public ArtikelCode As String + Public AdressID As Integer? + Public Bezeichnung As String + Public Eigenmasse As Double? + Public MengenEH As String + Public GueltigAb As Date? + Public Ursprungsland As String + Public AusfVerfCode As String + Public AusfVerfZusatzcode As String + Public EinfVerfCode As String + Public EinfVerfZusatzcode As String + Public IndEAH As Byte? + Public GeaendertVon As Integer = 1 + Public GeaendertAm As Date = Now + + Public ArtikelTarife As New List(Of DHF_ArtikelTarif) + Private db As New DHF_DBHelper + + Public Function Save() As Boolean + Dim result = db.Save("imArtikel", GetParameterList()) + For Each tarif In ArtikelTarife + tarif.LizenzNr = LizenzNr + tarif.FremdAdressID = FremdAdressID + tarif.FremdKennung = FremdKennung + tarif.ArtikelCode = ArtikelCode + tarif.Save() + Next + Return result + End Function + + Public Function Delete() As Boolean + For Each tarif In ArtikelTarife + tarif.Delete() + Next + Return db.Delete("imArtikel", GetParameterList()) + End Function + + Public Shared Function Delete_KD(KdNr As String) As Boolean + Dim db As New DHF_DBHelper + db.DeleteByFremdAdressID("imArtikelTarifZucodes", KdNr) + db.DeleteByFremdAdressID("imArtikelTarif", KdNr) + Return db.DeleteByFremdAdressID("imArtikel", KdNr) + End Function + + Private Function GetParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Return New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) From { + New VERAG_PROG_ALLGEMEIN.SQLVariable("LizenzNr", LizenzNr, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("FremdAdressID", FremdAdressID, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("FremdKennung", FremdKennung, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("ArtikelCode", ArtikelCode, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("AdressID", AdressID), + New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezeichnung", Bezeichnung), + New VERAG_PROG_ALLGEMEIN.SQLVariable("Eigenmasse", Eigenmasse), + New VERAG_PROG_ALLGEMEIN.SQLVariable("MengenEH", MengenEH), + New VERAG_PROG_ALLGEMEIN.SQLVariable("GueltigAb", GueltigAb), + New VERAG_PROG_ALLGEMEIN.SQLVariable("Ursprungsland", Ursprungsland), + New VERAG_PROG_ALLGEMEIN.SQLVariable("AusfVerfCode", AusfVerfCode), + New VERAG_PROG_ALLGEMEIN.SQLVariable("AusfVerfZusatzcode", AusfVerfZusatzcode), + New VERAG_PROG_ALLGEMEIN.SQLVariable("EinfVerfCode", EinfVerfCode), + New VERAG_PROG_ALLGEMEIN.SQLVariable("EinfVerfZusatzcode", EinfVerfZusatzcode), + New VERAG_PROG_ALLGEMEIN.SQLVariable("IndEAH", IndEAH), + New VERAG_PROG_ALLGEMEIN.SQLVariable("GeaendertVon", GeaendertVon), + New VERAG_PROG_ALLGEMEIN.SQLVariable("GeaendertAm", GeaendertAm) + } + End Function +End Class + +' ======================== +' 💶 Unterklasse: DHF_ArtikelTarif +' ======================== +Public Class DHF_ArtikelTarif + Public LizenzNr As String + Public FremdAdressID As String + Public FremdKennung As String + Public ArtikelCode As String + Public GueltigAb As Date? + Public TarifNr As String + + Public TarifZucodes As New List(Of DHF_ArtikelTarifZucode) + Private db As New DHF_DBHelper + + Public Function Save() As Boolean + Dim result = db.Save("imArtikelTarif", GetParameterList()) + For Each zuc In TarifZucodes + zuc.LizenzNr = LizenzNr + zuc.FremdAdressID = FremdAdressID + zuc.FremdKennung = FremdKennung + zuc.ArtikelCode = ArtikelCode + zuc.GueltigAb = GueltigAb + zuc.Save() + Next + Return result + End Function + + Public Function Delete() As Boolean + For Each zuc In TarifZucodes + zuc.Delete() + Next + Return db.Delete("imArtikelTarif", GetParameterList()) + End Function + + Private Function GetParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Return New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) From { + New VERAG_PROG_ALLGEMEIN.SQLVariable("LizenzNr", LizenzNr, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("FremdAdressID", FremdAdressID, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("FremdKennung", FremdKennung, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("ArtikelCode", ArtikelCode, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("GueltigAb", GueltigAb, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("TarifNr", TarifNr) + } + End Function +End Class + +' ======================== +' 🧩 Unterklasse: DHF_ArtikelTarifZucode +' ======================== +Public Class DHF_ArtikelTarifZucode + Public LizenzNr As String + Public FremdAdressID As String + Public FremdKennung As String + Public ArtikelCode As String + Public GueltigAb As Date? + Public TarifNrZusatzcode As String + + Private db As New DHF_DBHelper + + + Public Function Save() As Boolean + Return db.Save("imArtikelTarifZucodes", GetParameterList()) + End Function + + Public Function Delete() As Boolean + Return db.Delete("imArtikelTarifZucodes", GetParameterList()) + End Function + + Private Function GetParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + Return New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) From { + New VERAG_PROG_ALLGEMEIN.SQLVariable("LizenzNr", LizenzNr, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("FremdAdressID", FremdAdressID, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("FremdKennung", FremdKennung, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("ArtikelCode", ArtikelCode, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("GueltigAb", GueltigAb, , True), + New VERAG_PROG_ALLGEMEIN.SQLVariable("TarifNrZusatzcode", TarifNrZusatzcode) + } + End Function +End Class + + + + +' ======================== +' 🧰 Datenbank-Hilfsklasse +' ======================== +Public Class DHF_DBHelper + Private SQL As New SQL + + Public Function Save(tableName As String, params As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)) As Boolean + Dim whereClause = GetPrimaryKeyWhere(params) + Dim existsSQL = "SELECT COUNT(*) FROM [" & tableName & "] WHERE " & whereClause + + For Each p In params + If String.IsNullOrWhiteSpace(p.Scalarvariable) OrElse String.IsNullOrWhiteSpace(p.Text) Then + Throw New Exception("❌ Ungültiger Parameter in SQLVariable! Text='" & p.Text & "', Scalarvariable='" & p.Scalarvariable & "'") + End If + Next + + ' Prüfen, ob Eintrag existiert + Dim count = SQL.GetScalarValue(existsSQL, "EZOLL", params) + Dim sqlCmd As String + + If count > 0 Then + sqlCmd = GetUpdateCmd(tableName, params) + Else + sqlCmd = GetInsertCmd(tableName, params) + End If + + Return SQL.doSQLVarList(sqlCmd, "EZOLL", , params) + End Function + + Public Function Delete(tableName As String, params As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)) As Boolean + Dim whereClause = GetPrimaryKeyWhere(params) + Dim sqlstr = "DELETE FROM [" & tableName & "] WHERE " & whereClause + Return SQL.doSQLVarList(sqlstr, "EZOLL", , params) + End Function + + Public Function DeleteByFremdAdressID(tableName As String, fremdAdressID As String) As Boolean + Dim sqlstr = "DELETE FROM [" & tableName & "] WHERE [FremdAdressID]=@FID" + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) From { + New VERAG_PROG_ALLGEMEIN.SQLVariable("FID", fremdAdressID) + } + Return SQL.doSQLVarList(sqlstr, "EZOLL", , list) + End Function + + Private Function GetPrimaryKeyWhere(params As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)) As String + Return String.Join(" AND ", params.Where(Function(p) p.isPrimaryParam).Select(Function(p) "[" & p.Text & "]=@" & p.Scalarvariable)) + End Function + + Private Function GetUpdateCmd(tableName As String, params As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)) As String + ' Primärschlüssel-Felder NICHT in SET verwenden + Dim setCmd = String.Join(",", + params.Where(Function(p) p.isPrimaryParam <> True). + Select(Function(p) "[" & p.Text & "]=@" & p.Scalarvariable)) + + Return "UPDATE [" & tableName & "] SET " & setCmd & " WHERE " & GetPrimaryKeyWhere(params) + End Function + + Private Function GetInsertCmd(tableName As String, params As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)) As String + Dim fields = String.Join(",", params.Select(Function(p) "[" & p.Text & "]")) + Dim values = String.Join(",", params.Select(Function(p) "@" & p.Scalarvariable)) + Return "INSERT INTO [" & tableName & "] (" & fields & ") VALUES (" & values & ")" + End Function +End Class + +Public Class DHF_ArtikelBeispiel + + Public Shared Sub Beispiel_TestSave() + + + Dim KdNr = "123456" + + DHF_Artikel.Delete_KD(KdNr) + + MsgBox("del") + + Dim artikel As New DHF_Artikel With { + .LizenzNr = "S01122", + .FremdAdressID = KdNr, + .FremdKennung = "EXT", + .ArtikelCode = "ART1001", + .Bezeichnung = "Testartikel223", + .Eigenmasse = 12.5, + .MengenEH = "kg", + .GueltigAb = Date.Today, + .Ursprungsland = "AT", + .AusfVerfCode = "1000", + .EinfVerfCode = "4000", + .IndEAH = 0 + } + + Dim tarif1 As New DHF_ArtikelTarif With { + .GueltigAb = Date.Today, + .TarifNr = "85011000" + } + tarif1.TarifZucodes.Add(New DHF_ArtikelTarifZucode With { + .TarifNrZusatzcode = "V001" + }) + tarif1.TarifZucodes.Add(New DHF_ArtikelTarifZucode With { + .TarifNrZusatzcode = "V002" + }) + + artikel.ArtikelTarife.Add(tarif1) + + Dim tarif2 As New DHF_ArtikelTarif With { + .GueltigAb = Date.Today.AddDays(30), + .TarifNr = "85012000" + } + + artikel.ArtikelTarife.Add(tarif2) + + If artikel.Save() Then + Console.WriteLine("Artikel erfolgreich gespeichert.") + Else + Console.WriteLine("Fehler beim Speichern.") + End If + End Sub + + Public Shared Sub Beispiel_TestDelete() + Dim artikel As New DHF_Artikel With { + .LizenzNr = "S00001", + .FremdAdressID = "K12345", + .FremdKennung = "EXT", + .ArtikelCode = "ART100" + } + + If artikel.Delete() Then + Console.WriteLine("Artikel erfolgreich gelöscht.") + Else + Console.WriteLine("Fehler beim Löschen.") + End If + End Sub + + Public Shared Sub Beispiel_DeleteAlleFuerKunde() + If DHF_Artikel.Delete_KD("K12345") Then + Console.WriteLine("Alle Artikel für Kunde gelöscht.") + Else + Console.WriteLine("Fehler beim Kundendaten-Löschen.") + End If + End Sub +End Class \ No newline at end of file diff --git a/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj b/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj index a955243e..bc499f56 100644 --- a/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj +++ b/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj @@ -374,6 +374,7 @@ +