Files
AVISO/Aviso/Anhänge/frmAddSendnung.vb
2024-11-13 13:05:44 +01:00

260 lines
11 KiB
VB.net

Public Class frmAddSendnung
Public Sendung As VERAG_PROG_ALLGEMEIN.cSendungen = Nothing
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim AvisoId As Integer
Dim filialNr As Integer = -1
Dim AVISOFUNC As New AvisoStatusFunctions
Public SendungsId As Integer = -1
Public frmName As String = "Sendung hinzufügen"
Sub New(AvisoId As Integer)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.AvisoId = AvisoId
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub New(AvisoId As Integer, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.AvisoId = AvisoId
Me.Sendung = SENDUNG
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub New(AvisoId As Integer, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen, frmName As String)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.AvisoId = AvisoId
Me.Sendung = SENDUNG
Me.frmName = frmName
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub New(AvisoId As Integer, FilialNr As Integer)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.AvisoId = AvisoId
Me.filialNr = FilialNr
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Private Sub frmAddSendnung_Load(sender As Object, e As EventArgs) Handles Me.Load
'Me.Text = frmName
cboAbfertigungsLand.fillWithSQL("SELECT [AbfertigungsLand],AbfertigungsLand FROM [AbfertigungsLaender] WHERE Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' OR Cluster='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' OR (Firma is null and cluster is null)", False, "FMZOLL", True)
cboAbfertigungsart.fillWithSQL("SELECT [Abfertigungsart],[Abfertigungsbezeichnung] FROM [Abfertigungsarten] ", True, "FMZOLL", True)
txtEmpfaenger.initKdBox(Me)
txtEmpfaenger.usrcntlWIDTH = 360
txtEmpfaenger.usrcntlHEIGHT = 100
txtAbsender.initKdBox(Me)
txtAbsender.usrcntlWIDTH = 360
txtAbsender.usrcntlHEIGHT = 100
txtWarenwertWaehrung.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land FROM tbl_DY_ZollDE_I0400_Waehrungsliste", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "Code", "FMZOLL", , 150, 200)
AddHandler txtEmpfaenger.PropertyChanged, Sub()
FlatButton4.BackgroundImage = IIf(txtEmpfaenger.KdNr > 0, My.Resources.person, My.Resources.personInaktiv)
initWarnKd(txtEmpfaenger, picWarnEmpfaenger)
initBesKd(txtEmpfaenger)
End Sub
AddHandler txtAbsender.PropertyChanged, Sub()
FlatButton1.BackgroundImage = IIf(txtAbsender.KdNr > 0, My.Resources.person, My.Resources.personInaktiv)
initWarnKd(txtAbsender, picWarnAbsender)
initBesKd(txtAbsender)
End Sub
If Sendung IsNot Nothing Then
cboAbfertigungsart.changeItem(Sendung.tblSnd_Abfertigungsart_ID)
If Sendung.tblSnd_EmpfaengerKdNr > 0 Then
txtEmpfaenger.KdNr = Sendung.tblSnd_EmpfaengerKdNr
Else
txtEmpfaenger.Text = Sendung.tblSnd_Empfaenger
End If
If Sendung.tblSnd_AbsenderKdNr > 0 Then
txtAbsender.KdNr = Sendung.tblSnd_AbsenderKdNr
Else
txtAbsender.Text = Sendung.tblSnd_Absender
End If
txtColli.Text = If(Sendung.tblSnd_Colli, "").ToString.Replace(" ", "").Replace(Chr(160), "") ' 160: irgend ein Sonder-Leerzeichen
txtGewicht.Text = If(Sendung.tblSnd_Gewicht, "").ToString.Replace(" ", "").Replace(Chr(160), "") ' 160: irgend ein Sonder-Leerzeichen
txtWarenwert.Text = If(Sendung.tblSnd_Warenwert, "")
txtWarenwertWaehrung.SET_VALUE(If(Sendung.tblSnd_WarenwertWaehrung, ""))
rtbWarenbezeichnung.Text = If(Sendung.tblSnd_Warenbezeichnung, "")
End If
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
Try
txtColli.Text = txtColli.Text.Replace(" ", "").Replace(Chr(160), "") ' 160: irgend ein Sonder-Leerzeichen
txtGewicht.Text = txtGewicht.Text.Replace(" ", "").Replace(Chr(160), "") ' 160: irgend ein Sonder-Leerzeichen
If txtColli.Text <> "" And Not IsNumeric(txtColli.Text) Then MsgBox("Colli: Falsches Format") : Exit Sub
If txtGewicht.Text <> "" And Not IsNumeric(txtGewicht.Text) Then MsgBox("Gewicht: Falsches Format") : Exit Sub
If Sendung Is Nothing Then
Sendung = New VERAG_PROG_ALLGEMEIN.cSendungen(AvisoId, SQL.getValueTxtBySql("SELECT Count(*)+1 FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoId & "", "AVISO"), filialNr,,, 0)
End If
Sendung.tblSnd_Abfertigungsart_ID = If(cboAbfertigungsart._value <> "", cboAbfertigungsart._value, -1)
Sendung.tblSnd_Empfaenger = txtEmpfaenger.Text
Sendung.tblSnd_EmpfaengerKdNr = txtEmpfaenger.KdNr
Sendung.tblSnd_Absender = txtAbsender.Text
Sendung.tblSnd_AbsenderKdNr = txtAbsender.KdNr
Sendung.tblSnd_Colli = ""
Sendung.tblSnd_Gewicht = ""
If txtColli.Text <> "" Then Sendung.tblSnd_Colli = CInt(txtColli.Text)
If txtGewicht.Text <> "" Then Sendung.tblSnd_Gewicht = CDbl(txtGewicht.Text)
If txtWarenwert._value <> "" Then Sendung.tblSnd_Warenwert = CDbl(txtWarenwert._value)
If txtWarenwertWaehrung._value <> "" Then Sendung.tblSnd_WarenwertWaehrung = txtWarenwertWaehrung._value
Sendung.tblSnd_Warenbezeichnung = rtbWarenbezeichnung.Text
If Sendung.SAVE Then
SendungsId = Sendung.tblSnd_SendungID
Me.DialogResult = DialogResult.OK
Else
Me.DialogResult = DialogResult.None
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
Private Sub txtEmpfaenger_PropertyChanged(sender As Object, e As EventArgs) Handles txtEmpfaenger.PropertyChanged
initWarnKd(txtEmpfaenger, picWarnEmpfaenger)
End Sub
Private Sub txtEmpfaenger_TextChanged_1(sender As Object, e As EventArgs) Handles txtEmpfaenger.TextChanged
picWarnEmpfaenger.Visible = False
'initBesKd(Nothing)
End Sub
Private Sub txtAbsender_TextChanged(sender As Object, e As EventArgs) Handles txtAbsender.TextChanged
picWarnAbsender.Visible = False
' initBesKd(Nothing)
End Sub
Private Sub txtAbsender_PropertyChanged(sender As Object, e As EventArgs) Handles txtAbsender.PropertyChanged
initWarnKd(txtAbsender, picWarnAbsender)
End Sub
Sub initWarnKd(kdSearch As VERAG_PROG_ALLGEMEIN.KdSearchBox, pic As PictureBox)
Try
pic.Visible = False
ToolTip.SetToolTip(pic, "")
Dim InfoText = ""
If kdSearch.KdData_ADRESSEN IsNot Nothing Then
If kdSearch.KdData_ADRESSEN.Auswahl = "I" Then
InfoText &= "KUNDE INAKTIV!" & vbNewLine & vbNewLine
End If
End If
If kdSearch.KdData_KUNDE IsNot Nothing Then
If kdSearch.KdData_KUNDE.Abfertigungsverbot Then
pic.Visible = True
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "VERAG" : InfoText &= "ACHTUNG!" & vbNewLine
Case Else
InfoText &= "ABFERTIGUNGSVERBOT!" & vbNewLine
End Select
If If(kdSearch.KdData_KUNDE.Abfertigungsverbot_Grund, "") <> "" Then InfoText &= kdSearch.KdData_KUNDE.Abfertigungsverbot_Grund & vbNewLine
End If
End If
ToolTip.SetToolTip(pic, InfoText.Trim)
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
Sub initBesKd(kdSearch As VERAG_PROG_ALLGEMEIN.KdSearchBox)
If kdSearch Is Nothing Then
RichTextBox1.Text = ""
Else
If kdSearch.KdData_KUNDE IsNot Nothing Then
RichTextBox1.Text = If(kdSearch.KdData_KUNDE.Besonderheiten, "")
End If
End If
End Sub
Private Sub FlatButton4_Click(sender As Object, e As EventArgs) Handles FlatButton4.Click
If txtEmpfaenger.KdNr > 0 Then
Me.Cursor = Cursors.WaitCursor
AVISOFUNC.showKd(txtEmpfaenger.KdNr)
Me.Cursor = Cursors.Default
End If
End Sub
Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
If txtAbsender.KdNr > 0 Then
Me.Cursor = Cursors.WaitCursor
AVISOFUNC.showKd(txtAbsender.KdNr)
Me.Cursor = Cursors.Default
End If
End Sub
Private Sub txtAbsender_GotFocus(sender As Object, e As EventArgs) Handles txtAbsender.GotFocus, txtEmpfaenger.GotFocus
initBesKd(sender)
End Sub
Private Sub txtAbsender_lostFocus(sender As Object, e As EventArgs) Handles txtAbsender.LostFocus, txtEmpfaenger.LostFocus
initBesKd(Nothing)
End Sub
Private Sub txtGewicht_Leave(sender As Object, e As EventArgs) Handles txtGewicht.Leave, txtColli.Leave
sender.Text = sender.Text.Replace(" ", "")
End Sub
Private Sub cboAbfertigungsLand_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboAbfertigungsLand.SelectedIndexChanged
initAbfertigungsart()
End Sub
Sub initAbfertigungsart(Optional fillwithAbfNr As Boolean = False, Optional AbfNr As Object = Nothing)
Dim abfTmp As String = cboAbfertigungsart._value
Dim filialNrwhere = filialNr
If Sendung Is Nothing AndAlso AvisoId > 0 AndAlso filialNr < 1 Then
Sendung = New VERAG_PROG_ALLGEMEIN.cSendungen(AvisoId, SQL.getValueTxtBySql("SELECT Count(*) FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoId & "", "AVISO"),,,, 0)
filialNrwhere = IIf(filialNr > 0, filialNr, Sendung.FilialenNr)
End If
cboAbfertigungsart.fillWithSQL("
SELECT AA.Abfertigungsart,AA.[Abfertigungsbezeichnung] FROM [Abfertigungsarten]as AA
INNER JOIN AbfertigungsLaenderAbfertigungsarten as ALA ON AA.Abfertigungsart=ALA.Abfertigungsart
INNER JOIN tblAbfertigungsartenFiliale ON tblAbfertigungsartenFiliale.Abfertigungsart=AA.Abfertigungsart
WHERE ALA.[AbfertigungsLand]='" & cboAbfertigungsLand._value & "'
AND Filialennr='" & filialNrwhere & "'
GROUP BY AA.Abfertigungsart,AA.[Abfertigungsbezeichnung]", True, "FMZOLL", True)
If abfTmp <> "" Then
cboAbfertigungsart.changeItem(abfTmp)
End If
End Sub
End Class