Files
roaregistratura/Programe/Vechi/oproceduri_registretva.prg

57 lines
1.7 KiB
Plaintext

******************************************************************
PROCEDURE listare_registru_tva
LPARAMETERS tcRegistru
pcRegistru = UPPER(ALLTRIM(tcRegistru))
DO CASE
CASE 'VANZ'$pcRegistru
pcContTVA = [4427]
pcListaContTVA = [411,4111,4112,4113,4114,4115,4116,4117,461,635,5311,5121,428,4281,4282,4426,4428]
pcListaContBaza = [411,4111,4112,4113,4114,4115,4116,4117,461,428,4281,4282]
pcListaContExceptii = [667,419]
OTHERWISE
pcContTVA = [4426]
pcListaContTVA = [401,404,5121,5124,542,4427,4428]
pcListaContBaza = [401,404]
pcListaContExceptii = [767]
ENDCASE
lcSql = [{call PACK_REGISTRE_TVA.REGISTRUTVA(?gcS, ?gnAn, ?gnLuna, ] + ;
[?pcRegistru, ?pcContTVA, ?pcListaContTVA, ?pcListaContBaza, ?pcListaContExceptii )}]
lcCursor = 'crsRegistruTemp'
lnSucces = goExecutor.oExecute(lcSql,lcCursor)
IF lnSucces < 0
AMESSAGE(goExecutor.cEroare,0+16,"Eroare")
ELSE
SELECT nract, dataact, PART AS nume, cod_fiscal, fdoc, baza, proc_tva, tva, baza + tva as totctva, 00000000000.0000 as total ;
FROM crsRegistruTemp ;
INTO CURSOR crsRegistru ;
READWRITE ORDER BY nract, dataact, nume
USE IN crsRegistruTemp
SELECT nract, dataact, nume,sum(totctva) as total ;
from crsRegistru ;
INTO CURSOR tgrup ;
GROUP BY nract, dataact, nume
SELECT tgrup
SCAN
SCATTER NAME ot
SELECT crsRegistru
LOCATE FOR nume = ot.nume AND nract = ot.nract AND dataact = ot.dataact
IF FOUND()
REPLACE total WITH ot.total
ENDIF
SELECT tgrup
ENDSCAN
USE IN tgrup
SELECT crsRegistru
REPORT FORM registru_tva_simplu TO PRINTER PROMPT PREVIEW
USE IN crsRegistru
ENDIF
ENDPROC
******************************************************************