home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 May / CHIPCD5_98.iso / software / testsoft / vendo / VENDO.400 / pak / KASA.REP < prev    next >
Encoding:
Text File  |  1998-03-24  |  4.6 KB  |  183 lines

  1. * Wydruk raportu kasowego za wybrany okres czasu
  2. * ATI s.c. VAT 3.1 (c)
  3. *****************************************************************************
  4.  
  5. PRIVATE Indexord
  6. PRIVATE Suma
  7. PRIVATE GetList
  8. PRIVATE DataKasy
  9. PRIVATE M_KP
  10. PRIVATE M_KW
  11. PRIVATE Suma
  12. PRIVATE O_Suma
  13. PRIVATE Data_od
  14. PRIVATE Data_Do
  15. DECLARE Tran[2]
  16. PRIVATE SUMAPKP
  17. PRIVATE SUMAPKW
  18.  
  19. LET _Lines  = _LinesDefault
  20.  
  21. LET M_KP = 'KP'+MagNum
  22. LET M_Kw = 'KW'+MagNum
  23. FILEZ M_Kp,KP
  24. FILEZ M_Kw,KW
  25. LET Suma= 0
  26. LET SumaPKP = 0
  27. LET SumaPKW = 0
  28.  
  29. ****************************************************************
  30. PRIVATE Form
  31. PRIVATE OldForm
  32. PRIVATE LOutDev
  33. PRIVATE LOutFile
  34. PRIVATE FormChanged
  35.  
  36. LET LOutDev = _aOutDev[1]
  37. LET LOutFile = PADR('Beznazwy.prn',100)
  38.  
  39. IF .NOT. empty(OutDev)
  40.   PRIVATE TmpN
  41.   LET TmpN = ASCAN(_aOutDev, {|x| SUBSTR(x,1,4)==UPPER(OutDev) })
  42.   LET LOutDev = IF(TmpN==0, _aOutDev[5], _aOutDev[TmpN])
  43. ENDIF
  44.  
  45. LET Form = FormNew()
  46. DO FormAddList(Form, 1, 2,'Drukarka  :','LOutDev', _aOutDev, {|| empty(OutDev)})
  47. DO FormAddElem(Form, 2, 2,'Plik      :','LOutFile','@S24', {|| LOutDev==_aOutDev[5]})
  48. DO FormAddElem(Form, 3 ,2,'DîugoÅè strony wydruku: ','_Lines','999999')
  49. DO FormAddElem(Form, 4, 1,' ──────────────────────────────────────────────-','')
  50. DO FormAddElem(Form, 5, 2,'Poczëtek zestawienia    :', 'Data_Od')
  51. DO FormAddElem(Form, 6, 2,'Koniec zestawienia      :', 'Data_Do')
  52.  
  53. LET OldForm = FormREAD('KASA')
  54.  
  55. DO FormChoice(@Form, @OldForm)
  56. LET Data_Od = DATE()
  57. LET Data_Do = DATE()
  58. DO FormRefrValue(@Form)
  59.  
  60. LET FormChanged = FormRun(Form,,,,,' Parametry wydruku ', '')
  61.  
  62. IF LASTKEY()==27
  63.   RETURN
  64. ENDIF
  65.  
  66. IF FormChanged
  67.   DO FormWrite(Form, 'KASA')
  68. ENDIF
  69.  
  70. IF empty(OutDev)
  71.   LET OutDev = SUBSTR(LOutDev,1,4)
  72.   IF OutDev == 'FILE'
  73.     LET OutDev = LOutFile
  74.   ENDIF
  75. ENDIF
  76.  
  77. LET AskLine = .F.
  78.  
  79. LET Form = NIL
  80. *************************************************************************
  81.  
  82. LET Tran[1] = Tran9( FieldLen( 'KP->KWOTA' ) , CMiejscPP )
  83. LET Tran[2] = Tran9( FieldLen( 'KP->KWOTA' )+2 , CMiejscPP )
  84.  
  85.  
  86. PAGEH '╔═══════════════════════════════════════════════════════════════════════════╗'
  87. PAGEH '║Numer     │ Kwota    │ Kod i numer   │ Data   │ Uwagi                      ║'
  88. PAGEH '║KP/KW     │ w zî.    │ dokumentu     │ wyst.  │                            ║'
  89. PAGEH '║──────────┼──────────┼───────────────┼────────┼────────────────────────────║'
  90.  
  91. PAGEF '╚═══════════════════════════════════════════════════════════════════════════╝'
  92. PAGEF '                                                                CDN -->      '
  93.  
  94. LET IndexOrd = INDEXORD()
  95.  
  96. START
  97. DO HiWi(.T.)
  98. ? 'WPâATY I WYPâATY '+ DTOC(Data_Od)+' - '+DTOC(Data_Do)
  99. DO HiWi(.F.)
  100. ? '       Wydruk wykonano dn. ' + DTOC(DATE())
  101. ?
  102.  
  103. LET TmpStr = _PageH[1]
  104. ? &TmpStr
  105. LET TmpStr = _PageH[2]
  106. ? &TmpStr
  107. LET TmpStr = _PageH[3]
  108. ? &TmpStr
  109. LET TmpStr = _PageH[4]
  110. ? &TmpStr
  111.  
  112.  
  113. SELECT KP
  114. DO DBSETORDER(4)
  115. DO DBGOTOP()
  116. DOWHILE DATA<Data_od .AND. !EOF()
  117. LET SumaPKP=SumaPKP+KWOTA
  118. SKIP
  119. ENDDO
  120.  
  121. *DO DBSEEK(Data_Od,.T.)
  122. DOWHILE KP->DATA <= Data_Do .AND. !EOF()
  123.  
  124.     LET SUMA=SUMA+KWOTA
  125.  
  126.     ? '║'+NUMER + '│'+ TRANSFORM(KWOTA, TRAN[1]) + '│'+DOK + NRDOK+'│'+DTOC(DATA)+'│'
  127.     ?? PADL(UWAGI,28) + '║'
  128.  
  129. *  IF EOF()
  130. *      EXIT
  131. *  ENDIF
  132.   SKIPTEST 2, KP->DATA <= Data_Do.AND. !EOF()
  133. SKIP
  134. ENDDO
  135.  
  136. ?  '╚═══════════════════════════════════════════════════════════════════════════╝'
  137. ?  _DStrikeON+' RAZEM KP '+TRANSFORM(SUMA,TRAN[2])+_DStrikeOFF
  138. ?  '╔═══════════════════════════════════════════════════════════════════════════╗'
  139.  
  140. DO DBSETORDER(IndexOrd)
  141. DO DBGOTOP()
  142.  
  143. LET O_Suma = SUMA
  144. LET SUMA  = 0
  145.  
  146. SELECT KW
  147. LET IndexOrd = INDEXORD()
  148. DO DBSETORDER(4)
  149. DO DBGOTOP()
  150. DOWHILE DATA<Data_od .AND. !EOF()
  151. LET SumaPKW=SumaPKW+KWOTA
  152. SKIP
  153. ENDDO
  154.  
  155. * DO DBSEEK(Data_Od,.T.)
  156. DOWHILE KW->DATA <= Data_Do.AND. !EOF()
  157.   LET SUMA=SUMA+KWOTA
  158.     ? '║'+NUMER + '│'+ TRANSFORM(KWOTA, TRAN[1]) + '│'+DOK +NRDOK+'│'+DTOC(DATA)+'│'
  159.     ?? PADL(UWAGI,28) + '║'
  160. *  IF EOF()
  161. *    EXIT
  162. *  ENDIF
  163.  
  164.   SKIPTEST 2, KP->DATA <= Data_Do.AND. !EOF()
  165.   SKIP
  166. ENDDO
  167.  
  168. ?  '╚═══════════════════════════════════════════════════════════════════════════╝'
  169. ?  _DStrikeON+' RAZEM KW '+TRANSFORM(SUMA,TRAN[2])
  170. ?  _DStrikeOFF
  171. ?  '─────────────────────────────────────────────────────────────────────────────'
  172. ?  'Stan poczëtkowy                 : '+TRANSFORM(SumaPKP-SumaPKW,TRAN[2])
  173. ?  'Operacje od '+DTOC(Data_OD)+' do ' +DTOC(Data_DO)+'         : '+TRANSFORM(O_SUMA-SUMA,TRAN[2])
  174. ?  'Stan na dn. ' +DTOC(Data_DO)+'                     : '+TRANSFORM((SumaPKP-SumaPKW)+(O_SUMA-SUMA),TRAN[2])
  175. ?  '─────────────────────────────────────────────────────────────────────────────'
  176.  
  177.  
  178. DO DBSETORDER(IndexOrd)
  179. DO DBGOTOP()
  180.  
  181. DO FF()
  182. RETURN
  183.