204 lines
8.0 KiB
Plaintext
204 lines
8.0 KiB
Plaintext
Procedure actualizare_tva2007
|
|
Private pnActAct,pnActIregPart,pnActNote,pcAnLuna1,pcAnLuna2,pnLunaI,pnAnI,pnLunaF,pnAnF
|
|
Store 0 To pnActAct,pnActIregPart,pnActNote,pnLunaI,pnAnI,pnLunaF,pnAnF
|
|
Store "" To pcAnLuna1, pcAnLuna2
|
|
IF m.glLunaInchisa
|
|
AMESSAGEBOX('Luna este inchisa! Operatia nu este permisa.',0+64,_screen.Caption)
|
|
RETURN
|
|
ENDIF
|
|
IF m.gnAn<>2007
|
|
AMESSAGEBOX('Operatia este permisa doar pentru 2007!',0+64,_screen.Caption)
|
|
RETURN
|
|
ENDIF
|
|
|
|
loActTva = Createobject("frm_actualizare_tva")
|
|
loActTva.Show(1)
|
|
If gnButon = 1
|
|
pnLunaI = Val(Substr(pcAnLuna1,1,2))
|
|
pnAnI = Val(Substr(pcAnLuna1,3))
|
|
pnLunaF = Val(Substr(pcAnLuna2,1,2))
|
|
pnAnF = Val(Substr(pcAnLuna2,3))
|
|
_Screen.MousePointer = 11
|
|
lcSql = [begin actualizare_TVA2007(?pnActAct,?pnActIregPart,?pnActNote,?pnLunaI,?pnAnI,?pnLunaF,?pnAnF); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
_Screen.MousePointer = 0
|
|
If lnSucces < 0
|
|
amessagebox(goExecutor.cEroare, 0+16, "Eroare")
|
|
Else
|
|
amessagebox("Inregistrarile au fost actualizate!" + Chr(13) + Chr(10) + ;
|
|
"Trebuie sa dati refacere in registrele de vanzari si cumparari incepand cu luna "+Iif(pnAnI<=2006,[01],Substr(pcAnLuna1,1,2)) +"/2007!",0+64,"Info actualizare")
|
|
Endif
|
|
Endif
|
|
Endproc
|
|
************************************************************************************************************************
|
|
Procedure actualizare_solduri_valuta
|
|
|
|
IF m.glLunaInchisa
|
|
AMESSAGEBOX('Luna este inchisa! Operatia nu este permisa.',0+64,_screen.Caption)
|
|
RETURN
|
|
ENDIF
|
|
|
|
Local lnIdSet, llVerificAnalitic, llCompletareParteneri, lcContAles
|
|
Local loHash
|
|
Local lcSql, lcCursor, lnSucces, lcSelect, lcSchema, lcSql, lcSelect2, lcOrder, lcFiltru, lcFiltruOriginal, loActualizare
|
|
|
|
lnIdSet = 90501
|
|
llVerificAnalitic = .T.
|
|
llCompletareParteneri = .T.
|
|
|
|
&& valute
|
|
*!* 08.05.2008
|
|
*!* lcSql = "select ID_VALUTA, NUME_VAL, 0000000.0000 as curs from vnom_valute where moneda_nationala = 0 order by nume_val"
|
|
&& ultima zi din luna curenta pentru cursul valutar
|
|
ldUltimaZi = Gomonth(Date(gnAn, gnLuna, 1),1) - 1
|
|
|
|
TEXT TO lcSql textmerge noshow
|
|
select V.ID_VALUTA, V.NUME_VAL, CAST(NVL(C.CURS, 0) AS NUMBER(18,6)) as curs
|
|
from vnom_valute V
|
|
LEFT JOIN (SELECT ID_VALUTA, MAX(CURS) AS CURS
|
|
FROM CURS
|
|
WHERE TO_DATE('<<Dtos(ldUltimaZi)>>', 'YYYYMMDD') BETWEEN DATA AND DATA2
|
|
GROUP BY ID_VALUTA) C ON V.ID_VALUTA = C.ID_VALUTA
|
|
where V.moneda_nationala = 0
|
|
order by V.nume_val
|
|
ENDTEXT
|
|
*!* 08.05.2008 ^
|
|
|
|
lcCursor = "crsValute"
|
|
lnSucces = goExecutor.oExecute(lcSql, lcCursor)
|
|
If lnSucces < 0
|
|
amessagebox(goExecutor.cEroare, 0+16, "Eroare")
|
|
Endif
|
|
|
|
*!* SELECT * FROM crsValuteTemp INTO CURSOR crsValute READWRITE
|
|
*!* USE IN crsValuteTemp
|
|
|
|
&& conturi cu inregistrari sau trezorerie
|
|
*!* 08.05.2008
|
|
*!* selecta sumele din balanta_parteneri si pentru 542 (trebuia doar pentru 5124, 5314)
|
|
*!* acum se poate face reevaluarea pentru toate conturile cu balanta de parteneri, nu numai pentru clasa 5
|
|
*!* lcSql = "select cont, explicatie, fel_cont,cu_inregistrari from config_cont_ireg where cu_inregistrari = 1 or SUBSTR(cont,1,1) = '5' order by cont"
|
|
lcSql = "select cont, explicatie, fel_cont,cu_inregistrari from config_cont_ireg order by cont"
|
|
*!* 09.05.2008 ^
|
|
lcCursor = "crsConturi"
|
|
lnSucces = goExecutor.oExecute(lcSql, lcCursor)
|
|
If lnSucces < 0
|
|
amessagebox(goExecutor.cEroare, 0+16, "Eroare")
|
|
Endif
|
|
|
|
|
|
&& cursor gol cu facturi
|
|
Private poireg_parteneri, pobalanta_parteneri
|
|
Store '' To poireg_parteneri, pobalanta_parteneri
|
|
|
|
|
|
lcSchema = [an n(4), luna n(2), ales N(1), id_fact n(20), id_part n(20), cont c(4), acont c(4), ID_VALUTA N(5), ] + ;
|
|
[PRECDEB N(20,4),PRECCRED N(20,4),PRECVALDEB N(20,4),PRECVALCRED N(20,4), ] + ;
|
|
[debit n(20,4),credit n(20,4),valdebit n(20,4), valcredit n(20,4), ] + ;
|
|
[nract N(20),DATAACT D,DATAIREG D,DATASCAD D,CURS N(18,6), ] + ;
|
|
[NUME C(100), NUME_VAL C(10), ] + ;
|
|
[CURSBNR N(18,6), SOLDVAL n(20,4), SOLDLEI n(20,4), DIFERENTA N(20,4), proc_tva n(10,4), id_jtva_coloana i]
|
|
|
|
lcSelect = [SELECT AN, LUNA, 1 as ales, ID_FACT, ID_PART, CONT, ACONT, ID_VALUTA, ] +;
|
|
[PRECDEB, PRECCRED, PRECVALDEB, PRECVALCRED, ] +;
|
|
[DEBIT, CREDIT, VALDEBIT, VALCREDIT, ] +;
|
|
[NRACT, DATAACT, DATAIREG, DATASCAD, CURS, ] +;
|
|
[NUME, NUME_VAL, ] + ;
|
|
[000000.000000 as cursbnr, 000000000.0000 as soldval, 000000000.0000 as soldlei, 000000000.0000 as diferenta, proc_tva, id_jtva_coloana ] + ;
|
|
[ FROM VIREG_PARTENERI]
|
|
|
|
lcSelect2 = [SELECT AN, LUNA, 1 as ales, 0 AS ID_FACT, ID_PART, CONT, ACONT, ID_VALUTA, ] +;
|
|
[PRECDEB, PRECCRED, PRECVALDEB, PRECVALCRED, ] +;
|
|
[DEBIT, CREDIT, VALDEBIT, VALCREDIT, ] +;
|
|
[0 AS NRACT, TO_DATE('', 'YYYYMMDD') AS DATAACT, TO_DATE('', 'YYYYMMDD') AS DATAIREG, TO_DATE('', 'YYYYMMDD') AS DATASCAD, 000000.0000 AS CURS, ] +;
|
|
[NUME, NUME_VAL, ] + ;
|
|
[000000.0000 as cursbnr, 000000000.0000 as soldval, 000000000.0000 as soldlei, 000000000.0000 as diferenta, 0000.0000 as proc_tva, 0000000000 as id_jtva_coloana ] + ;
|
|
[ FROM VBALANTA_PARTENERI]
|
|
|
|
lcOrder = [dataact]
|
|
lcFiltru = [1=2]
|
|
lcFiltruOriginal = [an = ?gnAn and luna = ?gnLuna and (precvaldeb + valdebit - precvalcred - valcredit <> 0)]
|
|
loHash = GetHash()
|
|
loHash.SetValue('cNume', 'poireg_parteneri')
|
|
loHash.SetValue('cAlias', 'crsFacturi')
|
|
loHash.SetValue('cSelect', lcSelect)
|
|
loHash.SetValue('cFiltru', lcFiltru)
|
|
loHash.SetValue('cSchema', lcSchema)
|
|
loHash.SetValue('cOrder', lcOrder)
|
|
loHash.SetValue('lAfisare', .F.)
|
|
*!* loHash.SetValue('cGroup', '' )
|
|
loHash.SetValue('lModParam', .T.)
|
|
loHash.SetValue('cFiltruOriginal', lcFiltruOriginal)
|
|
|
|
&& cursor adapter pentru inregistrari parteneri
|
|
gencursor_hash(loHash)
|
|
poireg_parteneri.ca_baza1.afisare()
|
|
|
|
&& cursor adapter pentru balanta parteneri
|
|
loHash.SetValue('cNume', 'pobalanta_parteneri')
|
|
loHash.SetValue('cSelect', lcSelect2)
|
|
gencursor_hash(loHash)
|
|
|
|
*!* formular calcul diferente - creeaza cursorul crsActTemp
|
|
*!* SELECT crsValute
|
|
loActualizare = Createobject("frm_actualizare_facturi_valuta")
|
|
loActualizare.Show(1)
|
|
|
|
*!* lcCursor = "crsActTemp"
|
|
*!* IF gnButon = 1
|
|
|
|
*!* SELECT crsFacturi
|
|
*!* LOCATE
|
|
*!* lcContAles = ALLTRIM(CONT)
|
|
*!* SELECT crsConturi
|
|
*!* LOCATE FOR ALLTRIM(CONT) == lcContAles
|
|
*!* IF FOUND()
|
|
*!* lnFelCont = fel_cont
|
|
*!* ELSE
|
|
*!* lnFelCont = 0
|
|
*!* ENDIF
|
|
|
|
*!*
|
|
*!* SELECT an, luna, ID_FACT, ID_PART AS ID_PARTD, NUME AS PARTD, ID_PART AS ID_PARTC, NUME AS PARTC, ;
|
|
*!* SPACE(4) as scd, acont AS ascd, SPACE(4) as scc, acont AS ascc, diferenta AS SUMA, ;
|
|
*!* nract AS pereched, ID_FACT AS id_factd, ;
|
|
*!* nract AS perechec, ID_FACT AS id_factc, ;
|
|
*!* cursBNR AS CURS, nume_val, id_valuta, ;
|
|
*!* PADR('DIFERENTE REEVALUARE;' + ALLTRIM(TRANSFORM(CURS)) + ';' + ALLTRIM(TRANSFORM(CURSBNR)), 50, ' ') as explicatia, ;
|
|
*!* PADR(ALLTRIM(TRANSFORM(CURS)), 50, ' ') AS EXPLICATIA4 ;
|
|
*!* FROM crsFacturi ;
|
|
*!* WHERE diferenta <> 0 ;
|
|
*!* INTO CURSOR crsActTemp ;
|
|
*!* READWRITE
|
|
|
|
*!* IF _TALLY > 0
|
|
|
|
*!* SELECT crsActTemp
|
|
*!* REPLACE ALL SCD WITH lcContAles, SCC WITH "765 ", ascc WITH '', ID_PARTC WITH 0, PARTC WITH '', PERECHEC WITH 0 ;
|
|
*!* FOR (SUMA>0 AND lnFelCont = 0) OR (SUMA<0 AND lnFelCont = 0)
|
|
|
|
*!* REPLACE ALL SCD WITH "665 ", ascd WITH '', SCC WITH lcContAles, ID_PARTD WITH 0, PARTD WITH '', PERECHED WITH 0 ;
|
|
*!* FOR (SUMA<0 AND lnFelCont = 0) OR (SUMA>0 AND lnFelCont = 1)
|
|
*!*
|
|
*!* REPLACE ALL EXPLICATIA WITH STRTRAN(EXPLICATIA, 'REEVALUARE', 'FAVORABILE') FOR SCC = '765'
|
|
*!* REPLACE ALL EXPLICATIA WITH STRTRAN(EXPLICATIA, 'REEVALUARE', 'NEFAVORABILE') FOR SCD = '665'
|
|
|
|
*!* REPLACE ALL SUMA WITH ABS(SUMA)
|
|
|
|
|
|
*!* lnSucces = scrie_nota_import(lnIdSet, llVerificAnalitic, llCompletareParteneri, "crsActTemp")
|
|
*!* ENDIF
|
|
*!* ENDIF
|
|
|
|
|
|
If Used('crsValute')
|
|
Use In crsValute
|
|
Endif
|
|
If Used('crsConturi')
|
|
Use In crsConturi
|
|
Endif
|
|
If Used('crsFacturi')
|
|
Use In crsFacturi
|
|
Endif
|
|
Endproc && actualizare_solduri_valuta
|