| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /*( INPUT TABLE FOR tMwstParam, OUTPUT TABLE FOR tMwstCalc, OUTPUT opcMessage AS CHARACTER ) :*/
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/tmwstcalc.i}
- DEFINE INPUT PARAMETER TABLE FOR tMwstParam.
- DEFINE OUTPUT PARAMETER TABLE FOR tMwstZahl.
- DEFINE OUTPUT PARAMETER opcMessage AS CHARACTER.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE nProzZahlung AS DECIMAL NO-UNDO.
- DEFINE VARIABLE nProzSkonto AS DECIMAL NO-UNDO.
- DEFINE VARIABLE nRundbetr AS DECIMAL NO-UNDO DECIMALS 4.
- DEFINE VARIABLE iRundcode AS INTEGER NO-UNDO INIT 1.
-
- DEFINE BUFFER bDebop FOR Debop.
-
- EMPTY TEMP-TABLE tMwstZahl.
- FIND FIRST tMwstParam.
- iRundcode = (IF tMwstParam.Frw = 'CHF' THEN 1 ELSE 0).
- opcMessage = ''.
-
- FIND bDebop NO-LOCK
- WHERE bDebop.Firma = tMwstParam.Firma
- AND bDebop.Knr = tMwstParam.Knr
- AND bDebop.Faknr = tMwstParam.Faknr.
-
- IF tMwstParam.Zahlung <> 0 THEN nProzZahlung = tMwstParam.Zahlung * 100 / bDebop.Fakbetr_FRW.
- ELSE nProzZahlung = 0.00.
- IF tMwstParam.Skonto <> 0 THEN nProzSkonto = tMwstParam.Skonto * 100 / bDebop.Fakbetr_FRW.
- ELSE nProzSkonto = 0.00.
- DO i1 = 1 TO 11:
- IF bDebop.Fakwpfl[i1] = 0 THEN NEXT.
-
- CREATE tMwstZahl.
- ASSIGN
- tMwstZahl.Mwst_Cd = i1
- tMwstZahl.Ansatz = bDebop.Fakwpro[i1]
- tMwstZahl.lInklusive = bDebop.Fakincl[i1]
- tMwstZahl.ZahlBetrag = (bDebop.Fakwpfl[i1] + bDebop.Fakwust[i1]) * nProzZahlung / 100
- tMwstZahl.SkonBetrag = (bDebop.Fakwpfl[i1] + bDebop.Fakwust[i1]) * nProzSkonto / 100
- .
- IF tMwstZahl.lInklusive THEN
- DO:
- ASSIGN
- tMwstZahl.Brutto = tMwstZahl.ZahlBetrag
- tMwstZahl.Mwst = 0.00
- tMwstZahl.Netto = tMwstZahl.Brutto.
- END.
- ELSE
- DO:
- ASSIGN
- tMwstZahl.Brutto = tMwstZahl.ZahlBetrag
- tMwstZahl.Mwst = tMwstZahl.ZahlBetrag * tMwstZahl.Ansatz / (100 + tMwstZahl.Ansatz)
- tMwstZahl.Netto = tMwstZahl.Brutto - tMwstZahl.Mwst.
- END.
- END.
-
|