Anlage des Repos
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
'(Deklarationen)
|
||||
'Remark: Digital Data - Skript zum Speichern der benutzerdefinierten Controls für Offene Posten.
|
||||
' ----------------------------------------------------------------------------
|
||||
' Copyright (c) 2021 by Digital Data GmbH
|
||||
'
|
||||
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
|
||||
' Tel.: 0641/202360 • E-Mail: info-flow(at)digitaldata.works
|
||||
' ----------------------------------------------------------------------------
|
||||
' Creation Date / Author: 26.07.2021 / JJ
|
||||
' Version Date / Editor: 26.07.2021 / JJ
|
||||
' Version Number: 1.0.0.0
|
||||
|
||||
BUTTON_OK = 98
|
||||
GRID_COMMENTS = 400
|
||||
TEXT_OP_AMOUNT = 798
|
||||
TEXT_OP_COMMENT = 799
|
||||
TEXT_OP_DATE = 800
|
||||
ROW_OP_AMOUNT = 5
|
||||
ROW_OP_COMMENT = 6
|
||||
ROW_OP_DATE = 1
|
||||
COLUMN_VALUE = 2
|
||||
|
||||
WINDOW_MAIN = 249
|
||||
WINDOW_SAVE = 248
|
||||
WINDOW_TEXT = 247
|
||||
'Ende von (Deklarationen)
|
||||
|
||||
Sub CWLCurrentWindow_OnCheckUserfield(nFgId, bResult)
|
||||
If nFgId = TEXT_OP_AMOUNT Or nFgId = TEXT_OP_COMMENT Or nFgId = TEXT_OP_DATE Then
|
||||
MsgBox "Werte werden übertragen!"
|
||||
|
||||
OpAmount = MacroCommands.MGetFieldValue(WINDOW_MAIN, TEXT_OP_AMOUNT)
|
||||
OpComment = MacroCommands.MGetFieldValue(WINDOW_MAIN, TEXT_OP_COMMENT)
|
||||
OpDate = MacroCommands.MGetFieldValue(WINDOW_MAIN, TEXT_OP_DATE)
|
||||
|
||||
Set OpDateControl = CWLCurrentWindow.ActiveWindow.Controls.Item(TEXT_OP_DATE)
|
||||
If Len(OpDateControl.ScreenContents) > 0 Then
|
||||
MacroCommands.MSetGridValue WINDOW_TEXT, GRID_COMMENTS, ROW_OP_DATE, COLUMN_VALUE, "Gefüllt"
|
||||
Else
|
||||
MacroCommands.MSetFieldFocus WINDOW_TEXT, GRID_COMMENTS
|
||||
MacroCommands.MGridLeftClick WINDOW_TEXT, GRID_COMMENTS, ROW_OP_DATE, COLUMN_VALUE
|
||||
MacroCommands.MSetGridValue WINDOW_TEXT, GRID_COMMENTS, ROW_OP_DATE, COLUMN_VALUE, "Ungefüllt"
|
||||
MacroCommands.MGridLeftClick WINDOW_TEXT, GRID_COMMENTS, ROW_OP_DATE, COLUMN_VALUE
|
||||
End If
|
||||
|
||||
If Len(OpAmount) > 0 Then
|
||||
MacroCommands.MSetGridValue WINDOW_TEXT, GRID_COMMENTS, ROW_OP_AMOUNT, COLUMN_VALUE, OpAmount
|
||||
End If
|
||||
|
||||
If Len(OpComment) > 0 Then
|
||||
MacroCommands.MSetGridValue WINDOW_TEXT, GRID_COMMENTS, ROW_OP_COMMENT, COLUMN_VALUE, OpComment
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
@@ -0,0 +1,60 @@
|
||||
'Formula: IF_SKONTOBERECHNUNG
|
||||
'Description: Skontoberechnung beim Beleg speichern
|
||||
Function Formula ()
|
||||
BELEGART_GUTSCHRIFT = 6
|
||||
|
||||
BruttoGesamt = Invoicing.CalcGrossAmount()
|
||||
BelegNr = Value(0,39)
|
||||
|
||||
' Skonto% für BelegNr abfragen
|
||||
SQL = "Select t2.c004 from t025 t (NOLOCK) join t226 t2 (NOLOCK) On t.c051 = t2.c010 where t2.c018 = 2 And t2.c004 > 0 And t.c055 = '"&BelegNr&"'"
|
||||
Set Result = CWLStart.Connection.Select(SQL)
|
||||
|
||||
' Wenn es Zahlungskonditionen gibt
|
||||
If Result.RowCount > 0 Then
|
||||
Skonto = Result.Value("c004")
|
||||
|
||||
SkontoBetrag = BruttoGesamt * (Skonto / 100)
|
||||
ZahlBetrag = BruttoGesamt - SkontoBetrag
|
||||
|
||||
' Wenn es einen Skonto% Wert gibt..
|
||||
If Skonto > 0 Then
|
||||
Value(0,121) = Cstr(Skonto)
|
||||
Value(0,122) = FormatNumber(SkontoBetrag, 2)
|
||||
Value(0,123) = FormatNumber(ZahlBetrag, 2)
|
||||
|
||||
UpdateOpBetrag ZahlBetrag
|
||||
Else ' Wenn kein Skonto hinterlegt ist..
|
||||
If BruttoGesamt >= 0 Then
|
||||
UpdateOpBetrag BruttoGesamt
|
||||
Else
|
||||
If Value(25,35) = BELEGART_GUTSCHRIFT Then
|
||||
UpdateOpBetrag BruttoGesamt
|
||||
Else
|
||||
UpdateOpBetrag 0
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Else ' Wenn es keine Zahlungskonditionen gibt..
|
||||
UpdateOpBetrag BruttoGesamt
|
||||
End If
|
||||
|
||||
Formula = 1 'successful
|
||||
End Function
|
||||
|
||||
Function UpdateOpBetrag(Brutto, Grund)
|
||||
' Wenn Rechnungsnummer noch nicht gefüllt ist (= Neuanlage Rechnung ohne Rechnen/Drucken).
|
||||
If Len(Value(0,120)) = 0 Then
|
||||
Do_UpdateOpBetrag Brutto, Grund
|
||||
End If
|
||||
|
||||
' Wenn Zahldatum (= Valutadatum) noch nicht gefüllt ist.
|
||||
'If Len(Value(25,73)) = 0 Then
|
||||
' Do_UpdateOpBetrag(Brutto)
|
||||
'End If
|
||||
End Function
|
||||
|
||||
Function Do_UpdateOpBetrag(Brutto, Grund)
|
||||
MsgBox "Neuer OPBetrag ist: " & Cstr(Brutto) & " (Brutto)"
|
||||
Value(0,124) = FormatNumber(Brutto, 2)
|
||||
End Function
|
||||
@@ -0,0 +1,67 @@
|
||||
'(Declarations)
|
||||
|
||||
'Formula: IF_SKONTOBERECHNUNG
|
||||
'Description: Skontoberechnung beim Beleg speichern
|
||||
Function Formula ()
|
||||
BELEGART_GUTSCHRIFT = 6
|
||||
|
||||
BruttoGesamt = Invoicing.CalcGrossAmount()
|
||||
BelegNr = Value(0,39)
|
||||
|
||||
MsgBox "BelegNr: [" & BelegNr & "]"
|
||||
|
||||
' Skonto% für BelegNr abfragen
|
||||
SQL = "SELECT t2.c004 from t025 t (NOLOCK) join t226 t2 (NOLOCK) On t.c051 = t2.c010 where t2.c018 = 2 And t2.c004 > 0 And t.c055 = '"&BelegNr&"'"
|
||||
Set Result = CWLStart.Connection.Select(SQL)
|
||||
|
||||
' Wenn es Zahlungskonditionen gibt
|
||||
If Result.RowCount > 0 Then
|
||||
Skonto = Result.Value("c004")
|
||||
|
||||
' Wenn es einen Skonto% Wert gibt..
|
||||
If Skonto > 0 Then
|
||||
SkontoBetrag = BruttoGesamt * (Skonto / 100)
|
||||
ZahlBetrag = BruttoGesamt - SkontoBetrag
|
||||
|
||||
Value(0,121) = Cstr(Skonto)
|
||||
Value(0,122) = FormatNumber(SkontoBetrag, 2)
|
||||
Value(0,123) = FormatNumber(ZahlBetrag, 2)
|
||||
|
||||
UpdateOpBetrag ZahlBetrag, "Beleg mit Skonto%"
|
||||
Else ' Wenn kein Skonto hinterlegt ist..
|
||||
If BruttoGesamt >= 0 Then
|
||||
UpdateOpBetrag BruttoGesamt, "Brutto ist 0 oder größer"
|
||||
Else
|
||||
If Value(25,35) = BELEGART_GUTSCHRIFT Then
|
||||
UpdateOpBetrag BruttoGesamt, "Beleg ist Gutschrift"
|
||||
Else
|
||||
UpdateOpBetrag 0, "Keine Gutschrift"
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Else ' Wenn es keine Zahlungskonditionen gibt..
|
||||
UpdateOpBetrag BruttoGesamt, "Keine Zahlungskonditionen"
|
||||
End If
|
||||
|
||||
Formula = 1 'successful
|
||||
End Function
|
||||
|
||||
Function UpdateOpBetrag(Brutto, Grund)
|
||||
' Wenn Rechnungsnummer noch nicht gefüllt ist (= Neuanlage Rechnung ohne Rechnen/Drucken).
|
||||
If Len(Value(0,120)) = 0 Then
|
||||
Do_UpdateOpBetrag Brutto, Grund & ", Noch keine Rechnungsnummer"
|
||||
End If
|
||||
|
||||
' ODER Wenn Zahldatum (= Valutadatum) noch nicht gefüllt ist.
|
||||
'Elseif Len(Value(25,73)) = 0 Then
|
||||
' Do_UpdateOpBetrag Brutto, Grund & ", Noch kein Zahldatum"
|
||||
'End If
|
||||
End Function
|
||||
|
||||
Function Do_UpdateOpBetrag(Brutto, Grund)
|
||||
MsgBox "Neuer OP-Betrag ist: " & Cstr(Brutto) & " (Brutto)" & vbNewline & vbNewline & "Grund: '" & Grund & "'"
|
||||
Value(0,124) = FormatNumber(Brutto, 2)
|
||||
End Function
|
||||
|
||||
'''End of (Declarations)
|
||||
|
||||
Reference in New Issue
Block a user