BruttoPreisNeuRechnen.p 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. DEF VAR cFirma AS CHAR INIT '1000'.
  2. DEF VAR WuCdK AS INT INIT 1.
  3. DEF VAR ivprGrp AS INT INIT 13.
  4. DEF VAR ibPrGrp AS INT INIT 18.
  5. DEF VAR iPrGrp AS INT INIT 13.
  6. DEF VAR lBrutto AS LOG INIT FALSE.
  7. DO iPrGrp = ivPrGrp TO ibPrGrp:
  8. FIND FIRST Tabel NO-LOCK
  9. WHERE Tabel.Firma = cFirma
  10. AND Tabel.RecArt = 'PREGRP'
  11. AND Tabel.CodeI = iPrGrp NO-ERROR.
  12. lBrutto = (IF Tabel.Int_1 = 1 THEN TRUE ELSE FALSE ).
  13. FOR EACH Artst NO-LOCK
  14. WHERE Artst.Firma = cFirma
  15. AND Artst.Aktiv = TRUE:
  16. FIND LAST ArtPreis
  17. WHERE ArtPreis.Firma = Artst.Firma
  18. AND ArtPreis.Artnr = Artst.Artnr
  19. AND ArtPreis.Inhalt = Artst.Inhalt
  20. AND ArtPreis.Jahr = Artst.Jahr
  21. AND ArtPreis.Preis_Grp = iPrGrp
  22. AND ArtPreis.Ab_Datum <= TODAY NO-ERROR.
  23. IF NOT AVAILABLE ArtPreis THEN NEXT.
  24. IF lBrutto THEN DO:
  25. ArtPreis.VK_Brutto = ArtPreis.VK_Netto.
  26. IF ArtPreis.Aktiv = FALSE THEN ArtPreis.Aktiv = TRUE.
  27. NEXT.
  28. END.
  29. FIND Wust NO-LOCK
  30. WHERE Wust.CodeK = WuCdK
  31. AND Wust.CodeA = Artst.Mwst.
  32. FIND LAST MwstAns NO-LOCK
  33. WHERE MwstAns.Mwst_Cd = Wust.WuCd
  34. AND MwstAns.Datum < ArtPreis.Ab_Datum NO-ERROR.
  35. ArtPreis.VK_Brutto = ArtPreis.VK_Netto * (100 + MwstAns.Ansatz) / 100.
  36. IF ArtPreis.Aktiv = FALSE THEN ArtPreis.Aktiv = TRUE.
  37. END.
  38. END.