************************************** * Intoarce .T. daca luna are situatii contabile invalidate ************************************** PROCEDURE VerificaInvalidat LPARAMETERS tnAn, tnLuna LOCAL llInvalidat, lnRec, llInvalidat, lcSql PRIVATE pnRec llInvalidat = .F. lcSql = [select count(*) as nr from tabele_validare where dinvalidat is not null] IF !(EMPTY(m.tnAn) OR EMPTY(m.tnLuna)) lcSql = lcSql + [ and an = ] + ALLTRIM(STR(m.tnAn)) + [ and luna = ] + ALLTRIM(STR(m.tnLuna)) ENDIF pnRec = 0 llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pnRec) IF m.llSucces llInvalidat = (m.pnRec > 0) ENDIF RETURN m.llInvalidat ENDPROC *!* Arata situatii contabile invalidate in luna curenta Procedure SituatiiInvalidate Private poSituatii Local loSituatiiInvalide As 'frm_situatii_invalidate' Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSelect, llAfiseaza, llModParam poSituatii = null Text To lcSelect Noshow select tabel, situatie, an, luna, cont, id_gestiune, cgest, nume_gestiune, dultima_operatie, dultima_refacere, dinvalidat, id_util_invalidare, util_invalidare, explicatie, tip_validare, ctip_validare, blocat, id_util_validare, util_validare, dataora_validare from vtabele_validare Endtext lcSchema = [] lcOrder = [tabel, cont, cgest, an, luna] lcGroup = [] lcFiltru = [1=2] lcFiltruOriginal = [] llModParam = .T. llAfiseaza = .F. gencursor('poSituatii', 'cSituatiiInvalidate', lcSelect, lcFiltru, lcSchema, lcOrder, llAfiseaza, lcGroup, llModParam, lcFiltruOriginal) poSituatii.ca_baza1.afisare() If Used('cSituatiiInvalidate') loSituatiiInvalide = Createobject('frm_situatii_invalidate') loSituatiiInvalide.Show(1) Endif Endproc && SituatiiInvalide Procedure verificareGlobala Parameters tlArat, tlFaraPeriada Private plArat, pcondper, plPerioada, plFaraPeriada Local lnPoz Store .F. To plPerioada If Empty(tlArat) Store .F. To plArat Else plArat = tlArat Endif If Empty(tlFaraPeriada) Store .F. To plFaraPeriada Else plFaraPeriada = tlFaraPeriada Endif pcondper = "" If !plFaraPeriada ofrmperioada = Createobject('frm_perioada_luni') ofrmperioada.Show(1) If gnButon = 2 Return Endif lnPoz = At('_', pcondper) If lnPoz > 0 plPerioada = .T. Endif Endif Private pcmesaj_refacere Store "" To pcmesaj_refacere If Used('crsverificari') Use In crsverificari Endif Create Cursor crsverificari (sursa c(20), Cont c(20), tip c(1), mesaj c(200), selectat N(1), explicatia c(50), luna N(2), an N(4)) If !plArat If plPerioada lnInit = Val(Substr(pcondper, 1, 2)) + Val(Substr(pcondper, 3, 4)) * 12 lnFinal = Val(Substr(pcondper, 8, 2)) + Val(Substr(pcondper, 10, 4)) * 12 For k = lnInit To lnFinal lnLuna = Mod(k, 12) lnAn = Int(k / 12) If lnLuna = 0 lnLuna = 12 lnAn = lnAn - 1 Endif Do VerificareLunaDeschisa With lnLuna, lnAn, .F. Endfor Select crsverificari Set Filter To !Empty(mesaj) Go Top obj = Createobject('frm_verificare_globala_per') obj.lb_titlu_alb_b121.Caption = "VERIFICARE GLOBALA PENTRU PERIOADA " + Substr(pcondper, 1, 2) + "/" + Substr(pcondper, 3, 4) + " - " + Substr(pcondper, 8, 2) + "/" + Substr(pcondper, 10, 4) obj.ninit = lnInit obj.nfinal = lnFinal obj.Show(1) Else Do VerificareLunaDeschisa If Empty(pcmesaj_refacere) obj = Createobject('frm_verificare_globala') obj.Show(1) Endif Endif Else Do VerificareLunaDeschisa Select crsverificari Replace All selectat With 1 If Used('crsrefaceri') Use In crsrefaceri Endif Select sursa, Cont, tip From crsverificari Where selectat = 1 Into Cursor crsrefaceri If Reccount('crsrefaceri') > 0 Local lcsursa, lccont, lctip Select crsrefaceri Scan lcsursa = Upper(Alltrim(sursa)) lccont = Alltrim(Cont) * lctip=tip lctip = '1' Do refacere With lcsursa, lctip, lccont In orefaceri.prg Select crsrefaceri Endscan If Used('crsverificari') Use In crsverificari Endif Create Cursor crsverificari (sursa c(20), Cont c(20), tip c(1), mesaj c(200), selectat N(1), explicatia c(50), luna N(2), an N(4)) Do VerificareLunaDeschisa Select crsverificari Go Top *!* MESSAGEBOX("Refacerea s-a incheiat!",0+64,"Info refacere") Endif Use In crsrefaceri Endif Use In crsverificari Endproc ********************************************************************************************************************************** ********************************************************************************************************************************** Procedure VerificareLunaDeschisa Lparameters tnLuna, tnAn, tlRefaceri, tlFaraTest, tlExtraCont && tlRefaceri = .T. cu refaceri ; .F. fara refaceri && tlTest = .T. face inainte_de && llExtraCont = .T. : + STOC, STOC_OBINV Private pcmesaj, pctip Local lnselectat, lcsursa, lccont, lnNrInreg, loTherm, lcTask, lnPercent, lcexplicatia, lnInregAct, lnLuna, lnAn, llRefaceri Store "" To pcmesaj, pctip, lcsursa, lccont, loTherm, lcTask, lcexplicatia Store 0 To lnselectat, lnNrInreg, lnPercent, lnInregAct lnNrInreg = 6 If !Used('crsverificari') Create Cursor crsverificari (sursa c(20), Cont c(20), tip c(1), mesaj c(200), selectat N(1), explicatia c(50), luna N(2), an N(4)) Endif If Empty(tnLuna) lnLuna = gnLuna Else lnLuna = tnLuna Endif If Empty(tnAn) lnAn = gnAn Else lnAn = tnAn Endif If Pcount() = 3 llRefaceri = tlRefaceri Else llRefaceri = .T. Endif llCuTest = !tlFaraTest lcsursa = "BALANTA" If llCuTest Do inainte With lcsursa, '', "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg Else pcmesaj = "" Endif If !Empty(pcmesaj) And llRefaceri pcmesaj_refacere = pcmesaj + Chr(10) + Chr(13) + Chr(10) + Chr(13) + "Doriti sa refaceti balanta?" If Empty(plArat) Or !plArat If aMessagebox(pcmesaj_refacere, 4 + 32, "Diferente la balanta") == 6 aMessagebox("Se apeleaza refacerea", 64, "Info refacere") lccont = "" Do refacere With lcsursa, pctip, lccont, lnLuna, lnAn In orefaceri.prg pcmesaj_refacere = "" Do inainte With lcsursa, '', "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg Else *Return pcmesaj_refacere = "" Endif Else Do refacere With lcsursa, pctip, lnLuna, lnAn In orefaceri.prg pcmesaj_refacere = "" Do inainte With lcsursa, '', "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg Endif Endif lnselectat = Iif(Empty(pcmesaj), 0, 1) Insert Into crsverificari (sursa, tip, mesaj, selectat, explicatia, luna, an) Values (lcsursa, pctip, pcmesaj, lnselectat, 'Balanta', lnLuna, lnAn) lcSql = [select distinct 1 as nrcrt,cont from ] + Alltrim(gcS) + [.config_cont_ireg ] lcSql = lcSql + [ union ] lcSql = lcSql + [select distinct 2 as nrcrt,cont from ] + Alltrim(gcS) + [.config_Cont_ireg ] + ; [where cu_Inregistrari = 1] lcSql = lcSql + [ order by cont] lcCursor = [crsConturi] lnSucces = goExecutor.oExecute(lcSql, lcCursor) If lnSucces < 0 aMessagebox(goExecutor.cEroare, 0 + 16, "Eroare") Endif If Used('crsconturi') lnNrInreg = lnNrInreg + Reccount('crsconturi') Endif loTherm = Newobject("_thermometer", "_therm", "", "Verificare globala " + Alltrim(Str(lnLuna)) + "/" + Alltrim(Str(lnAn)) + "...") With loTherm .Show() lnPercent = 0 *!* modificare 2007 If gnAn < 2007 lcexplicatia = "Registrul de vanzari" .Update(lnPercent, 'Verificare ' + lcexplicatia) lcCoresp = ['4111'] lcExceptii = ['667,622'] lcsursa = "VANZ" If llCuTest Do inainte With lcsursa, , "pcmesaj", "pctip", lcExceptii, lcCoresp, lnLuna, lnAn In oinainte_de.prg Endif lnselectat = Iif(Empty(pcmesaj), 0, 1) Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values ('TVA', '4427', pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) lnPercent = (1 * 100) / lnNrInreg lcexplicatia = 'Registrul de cumparari' .Update(lnPercent, 'Verificare ' + lcexplicatia) lcsursa = "CUMP" If llCuTest Do inainte With lcsursa, '', "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg Endif lnselectat = Iif(Empty(pcmesaj), 0, 1) Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values ('TVA', '4426', pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) Else lcexplicatia = "Registrul de vanzari" .Update(lnPercent, 'Verificare ' + lcexplicatia) lcCoresp = [] lcExceptii = [] lcsursa = "TVA_2007" pcmesaj = "" If llCuTest Do inainte With "VANZ2007", , "pcmesaj", "pctip", lcExceptii, lcCoresp, lnLuna, lnAn In oinainte_de.prg Endif lnselectat = Iif(Empty(pcmesaj), 0, 1) Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values (lcsursa, 'JV', pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) lnPercent = (1 * 100) / lnNrInreg lcexplicatia = 'Registrul de cumparari' pcmesaj = "" .Update(lnPercent, 'Verificare ' + lcexplicatia) lcsursa = "TVA_2007" If llCuTest Do inainte With "CUMP2007", '', "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg Endif lnselectat = Iif(Empty(pcmesaj), 0, 1) Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values (lcsursa, 'JC', pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) Endif If Used('crsconturi') And Reccount('crsconturi') > 0 lnInreg = 6 Select crsconturi Scan lnnrcrt = nrcrt lccont = Cont Do Case Case lnnrcrt = 1 lnPercent = (lnInreg * 100) / lnNrInreg lcexplicatia = 'Balanta analitica - cont ' + lccont .Update(lnPercent, 'Verificare ' + lcexplicatia) lcsursa = "BALANTA_PARTENERI" pcmesaj = "" If llCuTest Do inainte With lcsursa, lccont, "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg Endif lnselectat = Iif(Empty(pcmesaj), 0, 1) Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values (lcsursa, lccont, pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) lnInreg = lnInreg + 1 Case lnnrcrt = 2 lnPercent = (lnInreg * 100) / lnNrInreg lcexplicatia = 'Inregistrari - cont ' + lccont .Update(lnPercent, 'Verificare ' + lcexplicatia) lcsursa = "IREG_PARTENERI" pcmesaj = "" If llCuTest Do inainte With lcsursa, lccont, "pcmesaj", "pctip", '', '', lnLuna, lnAn In oinainte_de.prg Endif lnselectat = Iif(Empty(pcmesaj), 0, 1) Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values (lcsursa, lccont, pctip, pcmesaj, lnselectat, lcexplicatia, lnLuna, lnAn) lnInreg = lnInreg + 1 Endcase Endscan If tlExtraCont Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values ('STOC', '', '', '', 0, 'Stocuri', lnLuna, lnAn) Insert Into crsverificari (sursa, Cont, tip, mesaj, selectat, explicatia, luna, an) Values ('STOC_OBINV', '', '', '', 0, 'Stocuri obiecte de inventar', lnLuna, lnAn) Endif Endif .Complete() Endwith Release loTherm Endproc