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

  1. * EXPORT: Export danych do RAKS
  2. ********************************************************************************
  3. * TOMEK  Fri 01-30-1998
  4. * Zmiany w stosunku do HURT:
  5. *     DATAS  zmieniona na DATA_WYST
  6. *     NUMERF              NUMER
  7. *
  8. PRIVATE i
  9. PRIVATE Data_OD
  10. PRIVATE Data_DO
  11. PRIVATE PlikFK
  12. PRIVATE ExpWZ
  13. PRIVATE ExpPZ
  14. PRIVATE KsStru
  15. PRIVATE ExpMaz
  16. PRIVATE ExpLAT
  17. PRIVATE PrnStd
  18. PRIVATE KRozrK
  19. PRIVATE KRozrUS
  20. PRIVATE KSprzT
  21.  
  22.  
  23. PRIVATE aStawki
  24. PRIVATE iStawki
  25. PRIVATE TmpStawka
  26.  
  27. LET Data_Od = DATE()
  28. LET Data_Do = DATE()
  29. LET PlikFK  = PADR('EXPORT\RAKS.DBF',100)
  30. LET ExpWZ   = .T.
  31. LET ExpPZ   = .T.
  32. LET ExpMaz  = .F.
  33. LET ExpLAT  = .T.
  34. LET KRozrK  = '200'
  35. LET KRozrUS = '220'
  36. LET KSprzT  = '700-0000'
  37.  
  38. ****************************************************************
  39. PRIVATE Form
  40. PRIVATE OldForm
  41. PRIVATE LOutDev
  42. PRIVATE LOutFile
  43. PRIVATE FormChanged
  44.  
  45. LET LOutDev = _aOutDev[1]
  46. LET LOutFile = PADR('Beznazwy.prn',100)
  47. IF .NOT. empty(OutDev)
  48.   PRIVATE TmpN
  49.   LET TmpN = ASCAN(_aOutDev, {|x| SUBSTR(x,1,4)==UPPER(OutDev) })
  50.   LET LOutDev = IF(TmpN==0, _aOutDev[5], _aOutDev[TmpN])
  51. ENDIF
  52. LET Form = FormNew()
  53.  
  54. *DO FormAddList(Form, 3, 6,'Drukarka  :','LOutDev', _aOutDev, {|| empty(OutDev)})
  55. DO FormAddElem(Form, 1, 2,'Plik do zapisu   :','PlikFK','@S24')
  56. DO FormAddElem(Form,  , 2,'Data poczëtkowa  :','Data_od')
  57. DO FormAddElem(Form,  , 2,'Data koìcowa     :','Data_do')
  58. *DO FormAddElem(Form,  , 2,'Eksport WZ       :','ExpWZ')
  59. *DO FormAddElem(Form,  , 2,'Eksport PZ       :','ExpPZ')
  60. DO FormAddElem(Form,  , 2,'-------------------------------------------')
  61. DO FormAddElem(Form,  , 2,'Konto rozr. klientami ','KRozrK')
  62. DO FormAddElem(Form,  , 2,'Konto rozr. US VAT    ','KRozrUS')
  63. DO FormAddElem(Form,  , 2,'Konto sprzed. towarÄw ','KSprzT')
  64. DO FormAddElem(Form,  , 2,'-------------------------------------------')
  65. DO FormAddElem(Form,  , 2,'Eksport Mazovia  :','ExpMAZ')
  66. DO FormAddElem(Form,  , 2,'Eksport Latin II :','ExpLAT')
  67.  
  68. LET OldForm = FormREAD('FK_RAKS')
  69.  
  70. DO FormChoice(@Form, @OldForm)
  71. LET PlikFK = PADR(ALLTRIM(PlikFK),100)
  72. *LET M_Podpis = KLIENT->PODPIS
  73. DO FormRefrValue(Form)
  74.  
  75. LET FormChanged = FormRun(Form,,,,,' Parametry eksportu ','')
  76.  
  77. IF LASTKEY()==27
  78.   RETURN
  79. ENDIF
  80.  
  81. IF FormChanged
  82.   DO FormWrite(Form, 'FK_RAKS')
  83. ENDIF
  84.  
  85. *IF empty(OutDev)
  86. *  LET OutDev = SUBSTR(LOutDev,1,4)
  87. *  IF OutDev == 'FILE'
  88. *    LET OutDev = LOutFile
  89. *  ENDIF
  90. *ENDIF
  91.  
  92. LET PlikFK = ALLTRIM(PlikFK)
  93.  
  94. LET AskLine = .F.
  95. LET Form = NIL
  96. *************************************************************************
  97.  
  98. LET PrnStd = PrnLatinII
  99. IF ExpMaz
  100.   LET PrnStd = PrnMazowia
  101. ENDIF
  102.  
  103. *IF .NOT. FILE(PlikFK)
  104.   LET KsStru = {}
  105.   DO AADD(KsStru,{'KOD_DEKRET',  'C',  3, 0})
  106.   DO AADD(KsStru,{'NR_DOWODU',   'C', 12, 0})
  107.   DO AADD(KsStru,{'NR_DOKUM',    'C',  6, 0})
  108.   DO AADD(KsStru,{'KONTO_WN',    'C', 12, 0})
  109.   DO AADD(KsStru,{'KONTO_MA',    'C', 12, 0})
  110.   DO AADD(KsStru,{'DATA_TRANS',  'D',  8, 0})
  111.   DO AADD(KsStru,{'OPIS_TRANS',  'C', 30, 0})
  112.   DO AADD(KsStru,{'KWOTA',       'N', 12,      2})
  113.   DO AADD(KsStru,{'DATA_DOW',    'D',  8, 0})
  114.   DO AADD(KsStru,{'DATA_PLATN',  'D',  8, 0})
  115.   DO AADD(KsStru,{'NR_PIERW',    'C', 12, 0})
  116.   DO AADD(KsStru,{'ROZL_WN',     'L',  1, 0})
  117.   DO AADD(KsStru,{'ROZL_MA',     'L',  1, 0})
  118.   DO AADD(KsStru,{'KWOTA_WAL',   'N', 12,      2})
  119.   DO AADD(KsStru,{'KOD_WAL',     'C',  3, 0})
  120.   DO AADD(KsStru,{'DATA_PODAT',  'D',  8, 0})
  121.   DO AADD(KsStru,{'STAWKA_POD',  'C',  1, 0})
  122.   DO AADD(KsStru,{'TYP_TRANS',   'C',  1, 0})
  123.   DO AADD(KsStru,{'RODZ_TRANS',  'C',  1, 0})
  124.   DO AADD(KsStru,{'PODATEK',     'N', 12,      2})
  125.   DO AADD(KsStru,{'NAZWA_SKR',   'C', 35, 0})
  126.   DO AADD(KsStru,{'NAZWA_FULL',  'C', 70, 0})
  127.   DO AADD(KsStru,{'KOD_MIASTO',  'C', 25, 0})
  128.   DO AADD(KsStru,{'ULICA_DOM',   'C', 35, 0})
  129.   DO AADD(KsStru,{'REGON',       'C', 40, 0})
  130.   DO AADD(KsStru,{'BANK',        'C', 40, 0})
  131.   DO AADD(KsStru,{'NR_RACH',     'C', 40, 0})
  132.   DO AADD(KsStru,{'NR_NIP',      'C', 20, 0})
  133.   DO AADD(KsStru,{'TEL_FAX',     'C', 40, 0})
  134.   DO AADD(KsStru,{'REPREZENT',   'C', 40, 0})
  135.   DO AADD(KsStru,{'UWAGI',       'C', 50, 0})
  136.  
  137.   * Utworzenie bazy danych o podanej strukturze
  138.   DO DBCREATE(PlikFK, KsStru)
  139.  
  140.   * Skasowanie duæej zmiennej - zwolnienie pamiïci
  141.   LET KsStru = NIL
  142.  
  143. *ENDIF
  144.  
  145.  
  146. IF ExpWZ
  147.   * Otwieranie plikÄw
  148.   FILEZ PlikFK, FK
  149.   FILEZ ('WZ'+MagNum), WZ
  150.   FILEZ ('WZPOZ'+MagNum), WZPOZ
  151.   FILE  KLIENT
  152.  
  153.   SELECT WZ
  154.   DO DBSETORDER(2)
  155.   RELATION PLAT_SKROT, KLIENT
  156.  
  157.   SELECT WZ
  158.   DO DBSEEK(Data_Od,.T.)
  159. *  DO DBGOTOP()
  160. * Ksiïgowanie faktur
  161. *  DOWHILE .NOT. EOF()
  162.    DOWHILE WZ->DATA_WYST>=Data_Od .AND.;
  163.          WZ->DATA_WYST<=Data_Do
  164.  
  165.      IF EMPTY(WZ->NUMER)
  166.        SKIP
  167.        LOOP
  168.      ENDIF
  169.     @ WY(0), WX(1), WZ->NUMER+' '+DTOC(WZ->DATA_WYST)
  170.  
  171. * kwota brutto na konto 200 klienta
  172.     DO FK->(DBAPPEND())
  173.     LET FK->KOD_DEKRET    = 'ATI'
  174.     LET FK->NR_DOWODU     = WZ->NUMER
  175.     LET FK->NR_DOKUM      = ''
  176.     LET FK->KONTO_WN      = KRozrK+'-'+ALLTRIM(KLIENT->KONTO_FK)+'-'
  177. *   LET FK->KONTO_MA      = KSprzT+'-'
  178.     LET FK->DATA_TRANS    = WZ->DATA_WYST
  179.     LET FK->OPIS_TRANS    = DHN2PRNC('Sprzedaæ towarÄw', PrnStd)
  180.     LET FK->KWOTA         = WZ_NETTO(WZ->NUMER)+WZ_VAT(WZ->NUMER)
  181.     LET FK->DATA_DOW      = WZ->DATA_WYST
  182.     LET FK->DATA_PLATN    = WZ->DATA_P
  183. *      LET FK->NR_PIERW      =
  184. *      LET FK->ROZL_WN       =
  185. *      LET FK->ROZL_MA       =
  186. *      LET FK->KWOTA_WAL     =
  187. *      LET FK->KOD_WAL       =
  188. *      LET FK->DATA_PODAT    =
  189. *      LET FK->STAWKA_POD    =
  190. *      LET FK->TYP_TRANS     =
  191. *      LET FK->RODZ_TRANS    =
  192. *      LET FK->PODATEK       =
  193.     LET FK->NAZWA_SKR     = DHN2PRNC(KLIENT->SKROT, PrnStd)
  194.     LET FK->NAZWA_FULL    = DHN2PRNC(KLIENT->NAZWA, PrnStd)
  195.     LET FK->KOD_MIASTO    = DHN2PRNC(KLIENT->KOD + ' ' + KLIENT->MIASTO, PrnStd)
  196.     LET FK->ULICA_DOM     = DHN2PRNC(KLIENT->ULICA, PrnStd)
  197.     LET FK->REGON         = ''
  198.     LET FK->BANK          = DHN2PRNC(KLIENT->BANK, PrnStd)
  199.     LET FK->NR_RACH       = DHN2PRNC(KLIENT->KONTO, PrnStd)
  200.     LET FK->NR_NIP        = KLIENT->NIP
  201.     LET FK->TEL_FAX       = DHN2PRNC(ALLTRIM(KLIENT->TEL)+' '+ALLTRIM(KLIENT->FAX), PrnStd)
  202.     LET FK->REPREZENT     = DHN2PRNC(KLIENT->KONTAKT, PrnStd)
  203.     LET FK->UWAGI         = DHN2PRNC(KLIENT->UWAGI, PrnStd)
  204.  
  205.     DO FK->(DBSKIP(0))
  206.  
  207. * NETTO na konto 700
  208.     LET aStawki = WZ_STAWKI(WZ->NUMER)
  209.     FOR iStawki,1, LEN(aStawki)
  210.       LET TmpStawka = aStawki[ iStawki ]
  211.  
  212.       DO FK->(DBAPPEND())
  213.       LET FK->KOD_DEKRET    = 'ATI'
  214.       LET FK->NR_DOWODU     = WZ->NUMER
  215.       LET FK->NR_DOKUM      = ''
  216. *   LET FK->KONTO_WN      = KRozrK+'-'+ALLTRIM(KLIENT->KONTO_FK)+'-'
  217.       LET FK->KONTO_MA      = KSprzT+'-'
  218.       LET FK->DATA_TRANS    = WZ->DATA_WYST
  219.       LET FK->OPIS_TRANS    = DHN2PRNC('Sprzedaæ towarÄw', PrnStd)
  220.       LET FK->KWOTA         = WZ_NETTO(WZ->NUMER, TmpStawka)
  221.       LET FK->DATA_DOW      = WZ->DATA_WYST
  222. *      LET FK->DATA_PLATN    =
  223. *      LET FK->NR_PIERW      =
  224. *      LET FK->ROZL_WN       =
  225. *      LET FK->ROZL_MA       =
  226. *      LET FK->KWOTA_WAL     =
  227. *      LET FK->KOD_WAL       =
  228. *      LET FK->DATA_PODAT    =
  229. *      LET FK->STAWKA_POD    =
  230. *      LET FK->TYP_TRANS     =
  231. *      LET FK->RODZ_TRANS    =
  232. *      LET FK->PODATEK       =
  233.       LET FK->DATA_PODAT    = WZ->DATA_WYST
  234.       LET FK->TYP_TRANS     = 's'
  235.       LET FK->STAWKA_POD    = ' '
  236.       LET FK->RODZ_TRANS    = ' '
  237.       IF TmpStawka==22 .OR.;
  238.          TmpStawka==7 .OR.;
  239.          TmpStawka==0 .OR.;
  240.          TmpStawka==-1
  241.  
  242.         IF TmpStawka==22
  243.               LET FK->STAWKA_POD    = '2'
  244.               LET FK->RODZ_TRANS    = '1'
  245.         ENDIF
  246.  
  247.         IF TmpStawka==7
  248.               LET FK->STAWKA_POD    = '7'
  249.               LET FK->RODZ_TRANS    = '2'
  250.         ENDIF
  251.  
  252.         IF TmpStawka==0
  253.               LET FK->STAWKA_POD    = '0'
  254.         * sprzedaæ krajowa '4' lub sprzedaæ na eksport '3'
  255.               LET FK->RODZ_TRANS    = '4'
  256.         ENDIF
  257.         IF TmpStawka==-1
  258.               LET FK->STAWKA_POD    = 'Z'
  259.               LET FK->RODZ_TRANS    = '5'
  260.         ENDIF
  261.  
  262.       ENDIF
  263.       IF EMPTY(FK->STAWKA_POD)
  264.          DO Message('Nie potrafiï zaksiïgowaè stawki VAT='+ASTR(TmpStawka))
  265.       ENDIF
  266.       LET FK->PODATEK       = WZ_VAT(WZ->NUMER,TmpStawka)
  267.       LET FK->NAZWA_SKR     = DHN2PRNC(KLIENT->SKROT, PrnStd)
  268.       LET FK->NAZWA_FULL    = DHN2PRNC(KLIENT->NAZWA, PrnStd)
  269.       LET FK->KOD_MIASTO    = DHN2PRNC(KLIENT->KOD + ' ' + KLIENT->MIASTO, PrnStd)
  270.       LET FK->ULICA_DOM     = DHN2PRNC(KLIENT->ULICA, PrnStd)
  271.       LET FK->REGON         = ''
  272.       LET FK->BANK          = DHN2PRNC(KLIENT->BANK, PrnStd)
  273.       LET FK->NR_RACH       = DHN2PRNC(KLIENT->KONTO, PrnStd)
  274.       LET FK->NR_NIP        = KLIENT->NIP
  275.       LET FK->TEL_FAX       = DHN2PRNC(ALLTRIM(KLIENT->TEL)+' '+ALLTRIM(KLIENT->FAX), PrnStd)
  276.       LET FK->REPREZENT     = DHN2PRNC(KLIENT->KONTAKT, PrnStd)
  277.       LET FK->UWAGI         = DHN2PRNC(KLIENT->UWAGI, PrnStd)
  278.       LET FK->NAZWA_SKR     = DHN2PRNC(KLIENT->SKROT, PrnStd)
  279.       LET FK->NAZWA_FULL    = DHN2PRNC(KLIENT->NAZWA, PrnStd)
  280.       LET FK->KOD_MIASTO    = DHN2PRNC(KLIENT->KOD + ' ' + KLIENT->MIASTO, PrnStd)
  281.       LET FK->ULICA_DOM     = DHN2PRNC(KLIENT->ULICA, PrnStd)
  282.       LET FK->REGON         = ''
  283.       LET FK->BANK          = DHN2PRNC(KLIENT->BANK, PrnStd)
  284.       LET FK->NR_RACH       = DHN2PRNC(KLIENT->KONTO, PrnStd)
  285.       LET FK->NR_NIP        = KLIENT->NIP
  286.       LET FK->TEL_FAX       = DHN2PRNC(ALLTRIM(KLIENT->TEL)+' '+ALLTRIM(KLIENT->FAX), PrnStd)
  287.       LET FK->REPREZENT     = DHN2PRNC(KLIENT->KONTAKT, PrnStd)
  288.       LET FK->UWAGI         = DHN2PRNC(KLIENT->UWAGI, PrnStd)
  289.   NEXT iStawki
  290.  
  291. * VAT na konto 200 do rejestru sprzedazy VAT
  292.     DO FK->(DBAPPEND())
  293.     LET FK->KOD_DEKRET    = 'ATI'
  294.     LET FK->NR_DOWODU     = WZ->NUMER
  295.     LET FK->NR_DOKUM      = ''
  296. *   LET FK->KONTO_WN      = KRozrK+'-'+ALLTRIM(KLIENT->KONTO_FK)+'-'
  297.     LET FK->KONTO_MA      = KRozrUS+'-'
  298.     LET FK->DATA_TRANS    = WZ->DATA_WYST
  299.     LET FK->OPIS_TRANS    = DHN2PRNC('VAT naleæny', PrnStd)
  300.     LET FK->KWOTA         = WZ_VAT(WZ->NUMER)
  301.     LET FK->DATA_DOW      = WZ->DATA_WYST
  302. *      LET FK->DATA_PLATN    =
  303. *      LET FK->NR_PIERW      =
  304. *      LET FK->ROZL_WN       =
  305. *      LET FK->ROZL_MA       =
  306. *      LET FK->KWOTA_WAL     =
  307. *      LET FK->KOD_WAL       =
  308. *    LET FK->DATA_PODAT    = WZ->DATAS
  309. *    LET FK->STAWKA_POD    = '2'
  310. *    LET FK->TYP_TRANS     = 's'
  311. *    LET FK->RODZ_TRANS    = '1'
  312. *    LET FK->PODATEK       = WZ_VAT(WZ->NUMER)
  313.     LET FK->NAZWA_SKR     = DHN2PRNC(KLIENT->SKROT, PrnStd)
  314.     LET FK->NAZWA_FULL    = DHN2PRNC(KLIENT->NAZWA, PrnStd)
  315.     LET FK->KOD_MIASTO    = DHN2PRNC(KLIENT->KOD + ' ' + KLIENT->MIASTO, PrnStd)
  316.     LET FK->ULICA_DOM     = DHN2PRNC(KLIENT->ULICA, PrnStd)
  317.     LET FK->REGON         = ''
  318.     LET FK->BANK          = DHN2PRNC(KLIENT->BANK, PrnStd)
  319.     LET FK->NR_RACH       = DHN2PRNC(KLIENT->KONTO, PrnStd)
  320.     LET FK->NR_NIP        = KLIENT->NIP
  321.     LET FK->TEL_FAX       = DHN2PRNC(ALLTRIM(KLIENT->TEL)+' '+ALLTRIM(KLIENT->FAX), PrnStd)
  322.     LET FK->REPREZENT     = DHN2PRNC(KLIENT->KONTAKT, PrnStd)
  323.     LET FK->UWAGI         = DHN2PRNC(KLIENT->UWAGI, PrnStd)
  324.  
  325.     DO FK->(DBSKIP(0))
  326.  
  327. *    SELECT WZ
  328.     SKIP
  329.   ENDDO
  330.  
  331.   * Zamykanie plikÄw
  332.   DO PrivClose(@_UseFiles)
  333. ENDIF ExpWZ
  334.  
  335. IF ExpPZ
  336. ENDIF ExpPZ
  337.  
  338. *DO Message('Koniec.')
  339. RETURN
  340. 
  341.