396 lines
16 KiB
VB.net
396 lines
16 KiB
VB.net
Imports System.ComponentModel
|
|
Imports System.Text
|
|
Imports System.IO
|
|
|
|
Public Class frmAddArtikelATLAS
|
|
' Public bindingDataAdapter As New SqlDataAdapter
|
|
Public WithEvents bindingdataTable As New DataTable
|
|
Public bindingdataSet As New DataSet
|
|
Public WithEvents bindingSource As New BindingSource
|
|
Dim bList As New BindingList(Of cArtikel)
|
|
Public WithEvents binding As New cBinding("FMZOLL") 'fürs Binding
|
|
Public WithEvents bindingUnterArt As New cBinding("FMZOLL") 'fürs Binding
|
|
Public kdNr As String = ""
|
|
Dim kundenSQL As New kundenSQL
|
|
Public cursorAtID As String
|
|
Public newEntry As Boolean
|
|
Public editAllowed As Boolean = True
|
|
Dim ATLAS_CONN_ART = "ATLAS" 'ATLAS_SBG
|
|
Public parentKundenblatt As Boolean = True
|
|
Dim currentId As Integer
|
|
Dim acd As List(Of cAutoCompleteData) = kundenSQL.getKundenShort()
|
|
Dim freigabe As Boolean = True
|
|
Private Sub frmAddArtikelATLAS_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
|
If Not editAllowed Then e.Cancel = False : Exit Sub
|
|
If btnSave.Enabled Then
|
|
Select Case MessageBox.Show("Möchten Sie die Änderungen speichern? ", "Änderungen speichern", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
|
|
Case vbYes : btnSave.PerformClick()
|
|
If freigabe Then
|
|
e.Cancel = False
|
|
Else
|
|
e.Cancel = True
|
|
End If
|
|
Case vbNo : e.Cancel = False
|
|
Case vbCancel : e.Cancel = True
|
|
End Select
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub frmAddArtikelATLAS_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
If Not editAllowed Then
|
|
BindingNavigatorAddNewItem.Visible = False
|
|
BindingNavigatorDeleteItem.Visible = False
|
|
ToolStripButton1.Visible = False
|
|
ToolStripButton1.Visible = False
|
|
btnSave.Visible = False
|
|
Panel4.Visible = False
|
|
Panel2.Visible = False
|
|
Me.Height = 480
|
|
End If
|
|
|
|
If newEntry Or parentKundenblatt Then
|
|
If parentKundenblatt Then
|
|
Panel2.Visible = False
|
|
Me.Height = Me.Height - Panel2.Height
|
|
Else
|
|
Panel2.Visible = True
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
initDataBinding()
|
|
BindingNavigator1.BindingSource = binding.bindingSource
|
|
|
|
'initDataBindingUnterArt()
|
|
|
|
|
|
|
|
|
|
Dim acsc As New AutoCompleteStringCollection
|
|
|
|
For Each a In acd
|
|
acsc.Add(a.AutoCompleteString)
|
|
' cboJumpToKd_Firma.Items.Add(a.AutoCompleteString)
|
|
Next
|
|
cboJumpToKd_Firma.AutoCompleteMode = AutoCompleteMode.SuggestAppend
|
|
cboJumpToKd_Firma.AutoCompleteSource = AutoCompleteSource.CustomSource
|
|
cboJumpToKd_Firma.AutoCompleteCustomSource = acsc
|
|
|
|
|
|
|
|
|
|
Exit Sub
|
|
Dim ll As New cArtikel
|
|
ll.Kurzbezeichnung = "test"
|
|
ll.Artikelnummer = 1
|
|
|
|
bList.Add(ll)
|
|
|
|
bindingSource.DataSource = bList
|
|
BindingNavigator1.BindingSource = bindingSource
|
|
|
|
AddHandler bList.ListChanged, AddressOf myList_ListChanged
|
|
|
|
txtArtikelNr.Focus()
|
|
End Sub
|
|
Sub initDataBinding()
|
|
Try
|
|
' MsgBox(kdNr)
|
|
'binding
|
|
Dim tmpKdNR As String = ""
|
|
If kdNr <> "" Then tmpKdNR = " AND KundenNr='" & kdNr & "'"
|
|
binding.initBinding("SELECT * FROM tblZollArtikel WHERE 1=1 " & tmpKdNR, "tblZollArtikel") ' " ' AND KfzKennzeichen='" & KfzKennzeichen & "' AND SDLNr='" & SDLNr & "' " & tmpHist, "SDL")
|
|
|
|
RemoveHandler binding.bindingdataTable.ColumnChanged, AddressOf BindingTableColumnChanged
|
|
RemoveHandler binding.bindingdataTable.TableNewRow, AddressOf bindingdataTable_TableNewRow_Adressen
|
|
|
|
AddHandler binding.bindingdataTable.ColumnChanged, AddressOf BindingTableColumnChanged
|
|
AddHandler binding.bindingdataTable.TableNewRow, AddressOf bindingdataTable_TableNewRow_Adressen
|
|
|
|
txtKdNr.DataBindings.Clear()
|
|
txtKdNr.DataBindings.Add(New Binding("Text", binding.bindingSource, "KundenNr", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
If txtKdNr.Text <> "" Then kdNr = txtKdNr.Text : cboJumpToKd_Firma.Text = ""
|
|
txtArtikelNr.DataBindings.Clear()
|
|
txtArtikelNr.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Artikelnummer", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
txtMerkmal1.DataBindings.Clear()
|
|
txtMerkmal1.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Dynamische_Ergaenzung_1", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
txtMerkmal2.DataBindings.Clear()
|
|
txtMerkmal2.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Dynamische_Ergaenzung_2", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
txtWarencodenummer.DataBindings.Clear()
|
|
txtWarencodenummer.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Warencodenummer", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
|
|
txtWarencodeZusatz1.DataBindings.Clear()
|
|
txtWarencodeZusatz1.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Zusatzcode_1", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
txtWarencodeZusatz1.DataBindings.Clear()
|
|
txtWarencodeZusatz1.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Zusatzcode_2", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
txtKurztext.DataBindings.Clear()
|
|
txtKurztext.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Kurzbezeichnung", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
txtBeschreibung.DataBindings.Clear()
|
|
txtBeschreibung.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Warenbeschreibung", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
|
|
lblErfassung.DataBindings.Clear()
|
|
lblErfassung.DataBindings.Add(New Binding("Text", binding.bindingSource, "Erfassungsdatum", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
lblAenderung.DataBindings.Clear()
|
|
lblAenderung.DataBindings.Add(New Binding("Text", binding.bindingSource, "Aenderungsdatum", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
lblSachbearb.DataBindings.Clear()
|
|
lblSachbearb.DataBindings.Add(New Binding("Text", binding.bindingSource, "Sachbearbeiter", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
lblStatus.DataBindings.Clear()
|
|
lblStatus.DataBindings.Add(New Binding("Text", binding.bindingSource, "zollArt_Status", True, DataSourceUpdateMode.OnPropertyChanged, ""))
|
|
|
|
|
|
|
|
Try
|
|
binding.bindingSource.Position = binding.bindingSource.Find("zollArt_id", cursorAtID)
|
|
Catch ex As Exception
|
|
'MsgBox("ERR1: " & ex.Message)
|
|
End Try
|
|
|
|
|
|
|
|
'Dim aktId = binding.bindingSource.Current
|
|
'If newEntry Then binding.bindingdataTable.NewRow() 'NEUER EINTRAG!
|
|
If newEntry Then
|
|
Dim row = binding.bindingdataTable.NewRow()
|
|
binding.bindingdataTable.Rows.Add(row)
|
|
binding.bindingSource.MoveLast()
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox("ERR2: " & ex.Message)
|
|
End Try
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Public Sub bindingdataTable_TableNewRow_Adressen(sender As Object, e As DataTableNewRowEventArgs)
|
|
'Dim currentHisId = 0
|
|
'Try : currentHisId = sender.Select("History=MAX(History)")(0).Item("History") : Catch : End Try
|
|
' currentHisId += 1
|
|
' MsgBox(currentHisId)
|
|
Dim kundenSQL As New kundenSQL
|
|
|
|
Dim row As DataRow = e.Row
|
|
'MsgBox(kdNr)
|
|
row("KundenNr") = 0
|
|
cboJumpToKd_Firma.Text = ""
|
|
' txtJumpToKd_KdNR.Text = ""
|
|
If IsNumeric(kdNr) And parentKundenblatt Then
|
|
row("KundenNr") = kdNr
|
|
row("zollArt_Kundennummer") = kdNr
|
|
txtKdNr.Text = kdNr
|
|
End If
|
|
'If parentKundenblatt Then row("KundenNr") = kdNr
|
|
row("zollArt_Status") = "Erfassung"
|
|
row("Erfassungsdatum") = Now
|
|
row("Sachbearbeiter") = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
|
|
bindingSource.MoveLast()
|
|
End Sub
|
|
|
|
|
|
Sub BindingTableColumnChanged(sender As Object, e As System.Data.DataColumnChangeEventArgs)
|
|
lblSachbearb.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
lblAenderung.Text = Now.ToString("dd.MM.yyyy HH:mm")
|
|
btnSave.Enabled = True
|
|
End Sub
|
|
Private Sub bindingSource_CurrentChanged(sender As Object, e As EventArgs) Handles bindingSource.CurrentChanged
|
|
Dim l As cArtikel = bindingSource.Current
|
|
txtArtikelNr.Text = l.Artikelnummer
|
|
txtMerkmal1.Text = l.Kurzbezeichnung
|
|
|
|
End Sub
|
|
Sub myList_ListChanged(ByVal sender As Object, ByVal e As ListChangedEventArgs)
|
|
' MessageBox.Show(e.ListChangedType.ToString() + ": at index: " + e.NewIndex.ToString() + ", """ + bList(e.NewIndex).Bez + """")
|
|
End Sub
|
|
Private Sub bindingSourcea_CurrentChanged(sender As Object, e As EventArgs) Handles bindingSource.CurrentItemChanged
|
|
'MsgBox("ITEM")
|
|
|
|
End Sub
|
|
Private Sub FlatButton2_Click(sender As Object, e As EventArgs)
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Function initArtikel() As cArtikel
|
|
Dim artikel As New cArtikel
|
|
artikel.Teilsatzschlüssel = "ART"
|
|
artikel.zollArt_id = binding.bindingSource.Current.Item("zollArt_id").ToString()
|
|
'If lblStatus.Text <> "" And lblStatus.Text <> "Angelegt" And lblStatus.Text <> "Erfassung" Then
|
|
|
|
cbxUeberschreiben.Checked = False
|
|
If cbxUeberschreiben.Checked Then
|
|
artikel.Verarbeitungskennzeichen = "1"
|
|
Else
|
|
artikel.Verarbeitungskennzeichen = "0"
|
|
End If
|
|
|
|
artikel.Artikelnummer = txtArtikelNr.Text
|
|
artikel.Dynamische_Ergänzung_1 = txtMerkmal1.Text
|
|
artikel.Dynamische_Ergänzung_2 = txtMerkmal2.Text
|
|
|
|
artikel.Kurzbezeichnung = txtKurztext.Text
|
|
|
|
artikel.Kundennummer = txtKdNr.Text
|
|
artikel.Warencodenummer = txtWarencodenummer.Text
|
|
'artikel.Löschkennzeichen_Warencodenummer As String = ""
|
|
artikel.Zusatzcode_1 = txtWarencodeZusatz1.Text
|
|
'Property Löschkennzeichen_Zusatzcode_1 As String = ""
|
|
artikel.Zusatzcode_2 = txtWarencodeZusatz2.Text
|
|
' Property Löschkennzeichen_Zusatzcode_2 As String = ""
|
|
artikel.Kennzeichen_Gültig = "1"
|
|
|
|
' Property Löschkennzeichen_Kurzbezeichnung As String = ""
|
|
artikel.Warenbeschreibung = txtBeschreibung.Text
|
|
Return artikel
|
|
|
|
End Function
|
|
|
|
Private Sub FlatButton3_Click(sender As Object, e As EventArgs) Handles FlatButton3.Click
|
|
btnSave.PerformClick()
|
|
If freigabe Then
|
|
Dim artikel As New List(Of cArtikel)
|
|
artikel.Add(initArtikel)
|
|
|
|
frmStatusFSSAtlas.artikel = artikel
|
|
frmStatusFSSAtlas.Show()
|
|
newEntry = False
|
|
AddHandler frmStatusFSSAtlas.FormClosing, AddressOf initDataBinding
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Function checkPflichtfeld(t As VERAG_PROG_ALLGEMEIN.MyTextBox) As Boolean
|
|
If t.Text <> "" Then
|
|
t.BackColor = Color.White
|
|
Return True
|
|
Else
|
|
t.BackColor = Color.FromArgb(255, 230, 230)
|
|
Return False
|
|
End If
|
|
End Function
|
|
|
|
Private Sub FlatButton4_Click(sender As Object, e As EventArgs) Handles btnSave.Click
|
|
freigabe = True
|
|
lblError.Text = ""
|
|
lblError.Visible = False
|
|
If Not checkPflichtfeld(txtKurztext) Then freigabe = False
|
|
If Not checkPflichtfeld(txtBeschreibung) Then freigabe = False
|
|
If Not checkPflichtfeld(txtArtikelNr) Then freigabe = False
|
|
If Not checkPflichtfeld(txtKdNr) Then freigabe = False
|
|
|
|
If Not freigabe Then lblError.Text = "Pflichtfelder ausfüllen!" : lblError.Visible = True : Exit Sub
|
|
|
|
If lblStatus.Text = "" Or lblStatus.Text = "Erfassung" Then lblStatus.Text = "Angelegt"
|
|
|
|
If binding.updateBinding() Then
|
|
btnSave.Enabled = False
|
|
Else
|
|
lblStatus.Text = "Erfassung"
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub cboJumpToKd_Firma_KeyDown(sender As Object, e As KeyEventArgs) Handles cboJumpToKd_Firma.KeyUp
|
|
' txtJumpToKd_KdNR.Text = ""
|
|
If (e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Return Or e.KeyCode = Keys.Tab) AndAlso sender.text <> "" Then
|
|
getKdNrSearch()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Sub getKdNrSearch()
|
|
For Each a In acd
|
|
If a.AutoCompleteString.ToLower = cboJumpToKd_Firma.Text.ToLower Then
|
|
kdNr = a.AutoCompleteProperty
|
|
txtKdNr.Text = kdNr
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub txtKdNr_TextChanged_1(sender As Object, e As EventArgs) Handles txtKdNr.TextChanged
|
|
If IsNumeric(txtKdNr.Text) Then
|
|
Dim k As cKundenFMZOLL = kundenSQL.getKundeFMZOLLByKdNr(txtKdNr.Text)
|
|
lblFirma.Text = k.Ordnungsbegriff
|
|
lblEORINr.Text = k.EORITIN
|
|
lblAufschubKtoZoll.Text = k.Aufschubkonto_Zoll
|
|
lblAufschubKtoEUST.Text = k.Aufschubkonto_EUSt
|
|
lblStrasse.Text = k.Straße
|
|
lblOrt.Text = k.LandKz & " " & k.PLZ & " " & k.Ort
|
|
|
|
Else
|
|
lblFirma.Text = ""
|
|
lblEORINr.Text = ""
|
|
lblAufschubKtoZoll.Text = ""
|
|
lblAufschubKtoEUST.Text = ""
|
|
lblStrasse.Text = ""
|
|
lblOrt.Text = ""
|
|
|
|
End If
|
|
|
|
End Sub
|
|
Public Sub setStatus(s As String)
|
|
' lblStatus.Text = s
|
|
' FlatButton4.PerformClick()
|
|
End Sub
|
|
|
|
|
|
Private Sub lblStatus_TextChanged(sender As Object, e As EventArgs) Handles lblStatus.TextChanged
|
|
If sender.Text <> "" And sender.Text <> "Angelegt" And sender.Text <> "Erfassung" Then
|
|
'cbxUeberschreiben.Checked = True ' KEIN ÜBERSCHREIBEN MÖGLICH
|
|
Else
|
|
cbxUeberschreiben.Checked = False
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub txtWarencodenummer_TextChanged(sender As Object, e As EventArgs) Handles txtWarencodenummer.TextChanged
|
|
errWarencodenummer.Text = ""
|
|
sender.ForeColor = Color.Red
|
|
If sender.text <> "" And IsNumeric(sender.text) Then
|
|
Dim WcNr As kundenSQL.WcNr = kundenSQL.existByWarencodeNummer(sender.text, ATLAS_CONN_ART)
|
|
If WcNr.wcnr_exists Then
|
|
sender.ForeColor = Color.Green
|
|
|
|
If WcNr.txtart = "H" Then
|
|
errWarencodenummer.Text = "Hinweis: Die Warencodenummer ist eine Hierachietext und kann nicht verwendet werden."
|
|
Else
|
|
errWarencodenummer.Text = WcNr.text
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
|
|
btnSave.PerformClick()
|
|
End Sub
|
|
|
|
Private Sub FlatButton2_Click_1(sender As Object, e As EventArgs)
|
|
|
|
End Sub
|
|
|
|
Private Sub ToolStripLabel1_Click(sender As Object, e As EventArgs) Handles ToolStripLabel1.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub btnKdSearch_Click(sender As Object, e As EventArgs) Handles btnKdSearch.Click
|
|
getKdNrSearch()
|
|
End Sub
|
|
|
|
Private Sub lblFirma_Click(sender As Object, e As EventArgs) Handles lblFirma.Click
|
|
If IsNumeric(txtKdNr.Text) And lblFirma.Text.Trim <> "" Then
|
|
cProgramFunctions.openKundenblatt(txtKdNr.Text, Me, True)
|
|
' cProgramFunctions.openKundenblatt(txtKdNr.Text)
|
|
End If
|
|
End Sub
|
|
|
|
|
|
End Class
|