161 lines
6.4 KiB
VB.net
161 lines
6.4 KiB
VB.net
Public Class frmSndVorgeschriebenSetzen
|
|
|
|
Public AVISO As VERAG_PROG_ALLGEMEIN.cAviso = Nothing
|
|
Public SND As VERAG_PROG_ALLGEMEIN.cSendungen = Nothing
|
|
Dim AvisoDAL As New VERAG_PROG_ALLGEMEIN.cAvisoDAL
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Public KD As VERAG_PROG_ALLGEMEIN.cKunde = Nothing
|
|
Public AD As VERAG_PROG_ALLGEMEIN.cAdressen = Nothing
|
|
|
|
Public ueberschreitungFound As Boolean = False
|
|
Dim TmpFirma As String = ""
|
|
Sub New(AvisoId As Integer, ByRef SND As VERAG_PROG_ALLGEMEIN.cSendungen, KdNr As Integer)
|
|
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
|
|
Me.AVISO = AvisoDAL.LesenAviso(AvisoId, "")
|
|
Me.SND = SND
|
|
If KdNr > 0 Then
|
|
KD = New VERAG_PROG_ALLGEMEIN.cKunde(KdNr)
|
|
If KD IsNot Nothing Then
|
|
AD = New VERAG_PROG_ALLGEMEIN.cAdressen(KD.KundenNrZentrale)
|
|
End If
|
|
End If
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
|
|
End Sub
|
|
Sub New(ByRef Aviso As VERAG_PROG_ALLGEMEIN.cAviso, ByRef SND As VERAG_PROG_ALLGEMEIN.cSendungen, KdNr As Integer)
|
|
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
|
|
Me.AVISO = Aviso
|
|
Me.SND = SND
|
|
If KdNr > 0 Then
|
|
KD = New VERAG_PROG_ALLGEMEIN.cKunde(KdNr)
|
|
If KD IsNot Nothing Then
|
|
AD = New VERAG_PROG_ALLGEMEIN.cAdressen(KD.KundenNrZentrale)
|
|
End If
|
|
End If
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
|
|
End Sub
|
|
|
|
Private Sub pnl_Paint(sender As Object, e As PaintEventArgs) Handles pnl.Paint
|
|
|
|
End Sub
|
|
|
|
Private Sub frmAnkunftSetzen_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
btn.Focus()
|
|
TmpFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale2(KD.FilialenNr)
|
|
If AVISO IsNot Nothing And SND IsNot Nothing And AD IsNot Nothing And KD IsNot Nothing Then
|
|
Select Case TmpFirma
|
|
Case "UNISPED", "AMBAR", "" 'Kein Kreditlimit
|
|
Me.Close()
|
|
Exit Sub
|
|
End Select
|
|
|
|
If KD.Kreditlimit Is Nothing OrElse KD.Kreditlimit = 2600 OrElse KD.Kreditlimit = 0 Then ' Kein Limit hinterlegt
|
|
Me.Close()
|
|
Exit Sub
|
|
End If
|
|
|
|
If Not calcUeberzeihung() Then
|
|
Me.Close() ' Keine Überzieheung
|
|
Exit Sub
|
|
Else
|
|
ueberschreitungFound = True
|
|
End If
|
|
Else
|
|
Me.Close()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Function calcUeberzeihung() As Boolean
|
|
Try
|
|
Label3.Visible = False
|
|
Label12.Visible = False
|
|
lblUeberzeihung.Text = "-"
|
|
|
|
lblKunde.Text = KD.KundenNrZentrale & " " & AD.Ordnungsbegriff
|
|
Dim OP_Saldo As Double = 0
|
|
Dim EUST As Double = 0
|
|
Dim Risiko As Double = 0
|
|
Dim Kreditlimit As Double = 0
|
|
Dim Ueberziehung As Double = 0
|
|
Dim KdNr As Integer = KD.KundenNrZentrale
|
|
|
|
If TmpFirma = "IMEX" Then
|
|
OP_Saldo = CDbl(SQL.getValueTxtBySql("SELECT isnull(sum([Buchungsbetrag_SOLL]),0)-isnull(sum([Buchungsbetrag_HABEN]),0) FROM [Offene_Posten_DVO] WHERE [Konto]='" & KdNr & "'", "FMZOLL",,, 0))
|
|
Else
|
|
OP_Saldo = CDbl(SQL.getValueTxtBySql("SELECT sum(Gesamtausstand) FROM [Offene Posten] where Kontonummer='" & KdNr & "'", "FMZOLL",,, 0))
|
|
End If
|
|
|
|
'Offene EUST/ZOLL aus Zkteing ermitteln
|
|
EUST = CDbl(SQL.getValueTxtBySql("SELECT isnull(SUM (Betrag),0)
|
|
FROM tblSendungen INNER JOIN [tblSendAbrechnung] on tblSnd_SendungID=sndabr_sendId
|
|
INNER JOIN [FMZOLL\SQLFMZOLL].VERAG.dbo.[Zkteing] ON (cast(FilialenNr as varchar(4)) + '/' + cast(AbfertigungsNr as varchar(8))) LIKE ([Bezugsnummer] + '%')
|
|
WHERE sndabr_abrArt IN ('EUST','ZOLL')
|
|
AND (
|
|
(tblSnd_AvisiererKdNr='" & KdNr & "' and sndabr_beteiligter='AVISIERER') OR
|
|
(tblSnd_AbsenderKdNr='" & KdNr & "' and sndabr_beteiligter='ABS') OR
|
|
(tblSnd_EmpfaengerKdNr='" & KdNr & "' and sndabr_beteiligter='EMPF') OR
|
|
(tblSnd_FrachtfuehrerKdNr='" & KdNr & "' and sndabr_beteiligter='FRACHTF') OR
|
|
(tblSnd_AuftraggeberKdNr='" & KdNr & "' and sndabr_beteiligter='AUFTR')
|
|
)
|
|
AND [Abfertigungsdatum]>DATEADD(month,-6 ,GETDATE())
|
|
AND [sndabr_wert]='X'
|
|
AND [Status] NOT IN ('F')", "AVISO",, , 0))
|
|
|
|
Kreditlimit = CDbl(If(KD.Kreditlimit, 0))
|
|
|
|
Risiko = OP_Saldo + EUST
|
|
Ueberziehung = Risiko - Kreditlimit
|
|
|
|
lblOPSaldo.Text = OP_Saldo.ToString("C2")
|
|
lblEUST.Text = EUST.ToString("C2")
|
|
' lblEUST.Text = "nicht verfügbar"
|
|
lblRisiko.Text = Risiko.ToString("C2")
|
|
lblKreditlimit.Text = Kreditlimit.ToString("C2")
|
|
|
|
|
|
If Ueberziehung > 0 Then
|
|
lblUeberzeihung.Text = Ueberziehung.ToString("C2")
|
|
Label3.Visible = True
|
|
Label12.Visible = True
|
|
Return True
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
|
|
|
|
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
|
|
' AVISO.FahrerHandy = txtFahrerHandy.Text
|
|
'If AvisoDAL.SpeichernAviso(AVISO) Then
|
|
' Me.DialogResult = DialogResult.OK
|
|
'Else
|
|
' Me.DialogResult = DialogResult.None
|
|
'End If
|
|
Me.DialogResult = DialogResult.OK
|
|
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
Me.DialogResult = DialogResult.OK
|
|
End Sub
|
|
|
|
Private Sub frmAnkunftSetzen_KeyDown(sender As Object, e As KeyEventArgs)
|
|
If e.KeyCode = Keys.Return Then
|
|
btn.PerformClick()
|
|
End If
|
|
End Sub
|
|
|
|
End Class |