StartMwstBerechnungsZahlungTest.p 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. DEF VAR cMessage AS CHAR NO-UNDO.
  2. DEF VAR iKnr AS INT NO-UNDO INIT 156.
  3. DEF VAR iFaknr AS INT NO-UNDO INIT 130551.
  4. DEF VAR nZahlung AS DEC NO-UNDO INIT 0.00.
  5. DEF VAR nSkonto AS DEC NO-UNDO INIT 0.0.
  6. DEF VAR ii AS INT NO-UNDO.
  7. { incl/tmwstcalc.i }
  8. CREATE tMwstParam.
  9. ASSIGN
  10. tMwstParam.Firma = '1000'
  11. tMwstParam.Knr = iKnr
  12. tMwstParam.Faknr = iFaknr
  13. tMwstParam.Datum = TODAY
  14. tMwstParam.Frw = 'CHF'
  15. tMwstParam.Zahlung = nZahlung
  16. tMwstParam.Skonto = nSkonto
  17. .
  18. RUN 'tools/MwstBerechnungsZahlungTest.p'
  19. (INPUT TABLE tMwstParam, OUTPUT TABLE tMwstZahl, OUTPUT cMessage).
  20. FIND Debop NO-LOCK
  21. WHERE Debop.Firma = '1000'
  22. AND Debop.Knr = iKnr
  23. AND Debop.Faknr = iFaknr.
  24. CREATE tDebwu.
  25. ASSIGN
  26. tDebwu.Firma = Debop.Firma
  27. tDebwu.Knr = Debop.Knr
  28. tDebwu.Faknr = Debop.Faknr
  29. tDebwu.Datum = TODAY
  30. tDebwu.Betrag = nZahlung * Debop.Kurs / Debop.Faktor
  31. tDebwu.Kte = 'Kte'
  32. tDebwu.Frw = Debop.Frw
  33. tDebwu.Kurs = Debop.Kurs
  34. tDebwu.Faktor = Debop.Faktor
  35. tDebwu.Konto = 'MwstKto'
  36. tDebwu.Betrag_Frw = nZahlung
  37. tDebwu.Skonto_Frw = nSkonto
  38. .
  39. FOR EACH tMwstZahl:
  40. ii = tMwstZahl.Mwst_Cd.
  41. CASE tMwstZahl.lInklusive:
  42. WHEN TRUE THEN
  43. ASSIGN
  44. tDebwu.Wustpfl[ii] = tMwstZahl.Brutto
  45. tDebwu.Wust [ii] = tMwstZahl.Mwst
  46. tDebwu.Skonto [ii] = tMwstZahl.Skonto.
  47. OTHERWISE
  48. ASSIGN
  49. tDebwu.Wustpfl[ii] = tMwstZahl.Netto
  50. tDebwu.Wust [ii] = tMwstZahl.Mwst
  51. tDebwu.Skonto [ii] = tMwstZahl.Skonto.
  52. END CASE.
  53. END.
  54. OUTPUT TO 'C:\TEMP\Debwu.csv'.
  55. EXPORT DELIMITER ';' tDebwu.
  56. OUTPUT CLOSE.