Gesamtsicherheiten: Hinweis bei Überschreitung von Referenzwert!
This commit is contained in:
@@ -20,7 +20,7 @@ Public Class frmGesamtsicherheitenNEU
|
||||
|
||||
Public Zollsatz As Double
|
||||
|
||||
Public Saldo As Integer = 0
|
||||
Public SaldoNew As Double = 0
|
||||
|
||||
Public Neu As Boolean = False
|
||||
|
||||
@@ -50,6 +50,7 @@ Public Class frmGesamtsicherheitenNEU
|
||||
Private Sub frmGesamtsicherheitNEU_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
|
||||
currentGesSichRef = New VERAG_PROG_ALLGEMEIN.cAufschubKonten(Standort)
|
||||
SaldoNew = Decimal.Parse(currentGesSichRef.CalcSaldo())
|
||||
lblSaldo.Text = "Saldo: €" & Decimal.Parse(currentGesSichRef.CalcSaldo()).ToString("N")
|
||||
|
||||
Me.Text = "Gesamtsicherheit " & Standort
|
||||
@@ -319,7 +320,7 @@ Public Class frmGesamtsicherheitenNEU
|
||||
Me.warenortID = setNullToZero(dt.Rows(0).Item("gs_warenort"))
|
||||
End If
|
||||
|
||||
If Me.avisoID.ToString.Length > 0 Then lblGestellungNr.Text &= "Aviso-ID: " & Me.LKWKZ & " "
|
||||
If Me.avisoID.ToString.Length > 0 Then lblGestellungNr.Text &= "Aviso-ID: " & Me.avisoID & " "
|
||||
If Me.LKWKZ.ToString.Length > 0 Then lblGestellungNr.Text &= "LKW-ID: " & Me.LKWKZ & " "
|
||||
If Me.FilialNummer.ToString.Length > 0 Then lblGestellungNr.Text &= "FilialNr: " & Me.FilialNummer & " "
|
||||
If Me.Abfertigungsnummer.Length > 0 Then lblGestellungNr.Text &= "AbfNr: " & Me.Abfertigungsnummer & " "
|
||||
@@ -419,6 +420,11 @@ Public Class frmGesamtsicherheitenNEU
|
||||
|
||||
Private Sub btnAddSicherheit_Click(sender As Object, e As EventArgs) Handles btnAddSicherheit.Click
|
||||
|
||||
If checkNothingValue(txtSicherheitSicherheitsbetrag.Text, "Double") IsNot Nothing Then
|
||||
Dim sichBetr As Double = Double.Parse(txtSicherheitSicherheitsbetrag.Text)
|
||||
If checkSaldo(sichBetr, True) = False Then Exit Sub
|
||||
End If
|
||||
|
||||
Dim attachPosNrToExistingATB As Boolean = False
|
||||
|
||||
Try
|
||||
@@ -691,8 +697,16 @@ Public Class frmGesamtsicherheitenNEU
|
||||
If obj Is Nothing Then
|
||||
Return Nothing
|
||||
Else
|
||||
Return Integer.Parse(obj.value)
|
||||
Return Integer.Parse(CStr(obj.value))
|
||||
End If
|
||||
|
||||
Case "Double"
|
||||
If obj Is Nothing Or obj Is DBNull.Value Then
|
||||
Return Nothing
|
||||
Else
|
||||
Return Double.Parse(CStr(obj))
|
||||
End If
|
||||
|
||||
End Select
|
||||
|
||||
|
||||
@@ -719,6 +733,13 @@ Public Class frmGesamtsicherheitenNEU
|
||||
End Sub
|
||||
|
||||
Private Sub btnUpdateSicherheit_Click(sender As Object, e As EventArgs) Handles btnUpdateSicherheit.Click
|
||||
|
||||
If checkNothingValue(txtSicherheitSicherheitsbetrag.Text, "Double") IsNot Nothing Then
|
||||
Dim sichBetr As Double = Double.Parse(txtSicherheitSicherheitsbetrag.Text)
|
||||
If checkSaldo(sichBetr - Double.Parse(currentSicherheit.gs_sicherheitsbetrag)) = False Then Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
With currentSicherheit
|
||||
.gs_ATBNr = txtSicherheitATBNr.Text
|
||||
.gs_posNr = Integer.Parse(setNullToZero(txtAnzahlPos.Text))
|
||||
@@ -733,6 +754,7 @@ Public Class frmGesamtsicherheitenNEU
|
||||
'.saldo = currentGesSichRef.Saldo
|
||||
.gs_atr = setNullToZero(cboSicherheitATR.SelectedItem)
|
||||
End With
|
||||
|
||||
If checkSicherheitsbetrag() = False Then Exit Sub
|
||||
currentSicherheit.SAVE()
|
||||
txtAnzahlPos.Enabled = True
|
||||
@@ -903,8 +925,9 @@ Public Class frmGesamtsicherheitenNEU
|
||||
Dim offenerSicherheitsbetragPos As Double
|
||||
|
||||
Try
|
||||
|
||||
offenerSicherheitsbetrag = calcOffenerSicherheitsbetrag()
|
||||
'If checkSaldo() = False Then
|
||||
' Return False
|
||||
'End If
|
||||
|
||||
If (offenerSicherheitsbetrag < 0 Or offenerSicherheitsbetrag < offenerSicherheitsbetragPos) Then
|
||||
If vbYes = MsgBox("Der Warenwert der Positionen übersteigt den Warenwert der Gestellung!" & vbCrLf & "Trotzdem speichen?", vbYesNo) Then
|
||||
@@ -922,6 +945,53 @@ Public Class frmGesamtsicherheitenNEU
|
||||
Return ok
|
||||
|
||||
End Function
|
||||
|
||||
Private Function checkSaldo(Optional currentSBetrag As Double = 0, Optional newPosition As Boolean = False) As Boolean
|
||||
|
||||
Try
|
||||
|
||||
'Dim currentSaldo As Double = Decimal.Parse(currentGesSichRef.CalcSaldo()).ToString("N")
|
||||
|
||||
Dim SaldoNewTemp = SaldoNew
|
||||
Dim calcSicherheiten As Double = calcSicherheitsbetragGestelle()
|
||||
Dim calcSicherheitenPos As Double = calcSicherheitsbetragPos()
|
||||
Dim newCalcSaldo As Double
|
||||
|
||||
|
||||
If newPosition Then
|
||||
newCalcSaldo = SaldoNewTemp - currentSBetrag
|
||||
Else
|
||||
newCalcSaldo = SaldoNewTemp - currentSBetrag
|
||||
End If
|
||||
|
||||
Dim referenzbetrag As Double = currentGesSichRef.brgakto_betrag
|
||||
|
||||
|
||||
If SaldoNewTemp < 0 Then
|
||||
MsgBox("Achtung!" & vbCrLf & " Saldo ist NEGATIV")
|
||||
Return True 'Saldo ist bereits negativ!
|
||||
End If
|
||||
|
||||
Dim diffAbs As Double = Math.Abs(SaldoNewTemp - currentSBetrag)
|
||||
|
||||
If (referenzbetrag - newCalcSaldo < 0) Then
|
||||
If vbNo = MsgBox("ACHTUNG! " & vbCrLf & " Dieser Sicherheitsbetrag würde den jezigen Saldo um " & diffAbs & " übersteigen !" & vbCrLf & "Trotzdem speichen?", vbYesNo) Then
|
||||
Return False
|
||||
Else
|
||||
Return True
|
||||
End If
|
||||
Return True
|
||||
End If
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message)
|
||||
End Try
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Private Function calcSicherheitsbetragPos() As Double
|
||||
|
||||
Dim sicherheitsbetragSumPositionen As Double
|
||||
@@ -943,12 +1013,12 @@ Public Class frmGesamtsicherheitenNEU
|
||||
If currentSicherheit Is Nothing Then Exit Function
|
||||
sicherheitsbetragSumGestelle = CDbl(SQL.DLookup("SUM(gs_sicherheitsbetrag)", "[tblGesamtsicherheit]", "gs_gsnr ='" & currentSicherheit.gs_gsNr & "'", "AVISO"))
|
||||
|
||||
|
||||
Return sicherheitsbetragSumGestelle
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Private Function calcOffenerSicherheitsbetrag() As Double
|
||||
|
||||
Dim diff As Double = -10000
|
||||
|
||||
Reference in New Issue
Block a user