* probe_s8p8_candidati.prg * READ-ONLY. Cauta in MARIUSM_AUTO candidati pentru test_s8_editare_incarcare.prg (pasul 8): * A) document FARA delegat (id_delegat null/0), tip intre 1 si 4, luna curenta (gnAn/gnLuna) * B) document de tip AVIZ SUBUNITATI (23) sau AVIZ RETUR SUBUNITATI (41) - singurele doua tipuri * pe care Ct_clb_politici_preturi ramane prezent la editare (verificat pe cod, ofacturare.vc2 * ~21580-21660), luna curenta * Foloseste fact_vfacturi (acelasi view ca IncarcaAntetFacturaEditare), an/luna derivate din data_act. * Nu scrie nimic - doar SELECT. SET SAFETY OFF SET TALK OFF PUBLIC gcErrLog gcErrLog = 'D:\ROA\ROAFACTURARE\COMUN\utile\Teste\editare_factura\probe_s8p8_candidati_log.txt' STRTOFILE('start' + CHR(13) + CHR(10), gcErrLog) ON ERROR DO ErrH WITH ERROR(), MESSAGE(), PROGRAM(), LINENO() DO ('D:\ROA\ROAFACTURARE\COMUN\utile\Teste\test_init_env_auto_roafacturare.prg') WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT' IF gnHandle <= 0 STRTOFILE('EROARE: conectare esuata' + CHR(13) + CHR(10), gcErrLog, 1) QUIT ENDIF STRTOFILE('gnAn/gnLuna=' + TRANSFORM(gnAn) + '/' + TRANSFORM(gnLuna) + CHR(13) + CHR(10), gcErrLog, 1) LOCAL lnSucces *!* --- A: document fara delegat, tip 1-4, luna curenta, nesters, ne-eproforma --- lnSucces = goExecutor.oExecute(; [select id_vanzare, tip, nvl(id_delegat,0) id_delegat, sters, eproforma, data_act from fact_vfacturi] + ; [ where tip between 1 and 4 and sters=0 and nvl(eproforma,0)=0 and nvl(id_delegat,0)=0] + ; [ and extract(year from data_act)*12+extract(month from data_act) = ] + TRANSFORM(gnAn*12+gnLuna) + ; [ order by id_vanzare desc], 'v_faradeleg') STRTOFILE('A) fara delegat: lnSucces=' + TRANSFORM(lnSucces) + ' reccount=' + TRANSFORM(IIF(USED('v_faradeleg'),RECCOUNT('v_faradeleg'),-1)) + ' eroare=' + goExecutor.cEroare + CHR(13)+CHR(10), gcErrLog, 1) IF USED('v_faradeleg') SELECT v_faradeleg SCAN STRTOFILE(' id_vanzare=' + TRANSFORM(id_vanzare) + ' tip=' + TRANSFORM(tip) + ' sters=' + TRANSFORM(sters) + ' data_act=' + TTOC(data_act) + CHR(13)+CHR(10), gcErrLog, 1) ENDSCAN USE IN v_faradeleg ENDIF goExecutor.oReset() *!* --- B: aviz subunitati (23) / retur subunitati (41), luna curenta, nesters, ne-eproforma --- lnSucces = goExecutor.oExecute(; [select id_vanzare, tip, nvl(id_delegat,0) id_delegat, sters, eproforma, data_act from fact_vfacturi] + ; [ where tip in (23,41) and sters=0 and nvl(eproforma,0)=0] + ; [ and extract(year from data_act)*12+extract(month from data_act) = ] + TRANSFORM(gnAn*12+gnLuna) + ; [ order by id_vanzare desc], 'v_aviz') STRTOFILE('B) aviz 23/41 luna curenta: lnSucces=' + TRANSFORM(lnSucces) + ' reccount=' + TRANSFORM(IIF(USED('v_aviz'),RECCOUNT('v_aviz'),-1)) + ' eroare=' + goExecutor.cEroare + CHR(13)+CHR(10), gcErrLog, 1) IF USED('v_aviz') SELECT v_aviz SCAN STRTOFILE(' id_vanzare=' + TRANSFORM(id_vanzare) + ' tip=' + TRANSFORM(tip) + ' data_act=' + TTOC(data_act) + CHR(13)+CHR(10), gcErrLog, 1) ENDSCAN USE IN v_aviz ENDIF goExecutor.oReset() *!* --- B2: acelasi, fara restrictia de luna, ca sa vedem daca exista DELOC in schema --- lnSucces = goExecutor.oExecute(; [select id_vanzare, tip, sters, eproforma, data_act from fact_vfacturi] + ; [ where tip in (23,41) and sters=0 and nvl(eproforma,0)=0 order by id_vanzare desc], 'v_aviz_all') STRTOFILE('B2) aviz 23/41 ORICE luna: lnSucces=' + TRANSFORM(lnSucces) + ' reccount=' + TRANSFORM(IIF(USED('v_aviz_all'),RECCOUNT('v_aviz_all'),-1)) + ' eroare=' + goExecutor.cEroare + CHR(13)+CHR(10), gcErrLog, 1) IF USED('v_aviz_all') SELECT v_aviz_all SCAN STRTOFILE(' id_vanzare=' + TRANSFORM(id_vanzare) + ' tip=' + TRANSFORM(tip) + ' data_act=' + TTOC(data_act) + CHR(13)+CHR(10), gcErrLog, 1) ENDSCAN USE IN v_aviz_all ENDIF goExecutor.oReset() *!* --- B3: orice tip de aviz posibil (21,22,23,24,25,26,28,30,41,42,47), orice luna - ca sa stim daca *!* exista MACAR ceva aviz in schema, chiar daca nu pe 23/41 --- lnSucces = goExecutor.oExecute(; [select id_vanzare, tip, sters, eproforma, data_act from fact_vfacturi] + ; [ where tip in (21,22,23,24,25,26,28,30,41,42,47) and sters=0 and nvl(eproforma,0)=0 order by id_vanzare desc], 'v_aviz_larg') STRTOFILE('B3) orice tip aviz, orice luna: lnSucces=' + TRANSFORM(lnSucces) + ' reccount=' + TRANSFORM(IIF(USED('v_aviz_larg'),RECCOUNT('v_aviz_larg'),-1)) + ' eroare=' + goExecutor.cEroare + CHR(13)+CHR(10), gcErrLog, 1) IF USED('v_aviz_larg') SELECT v_aviz_larg SCAN STRTOFILE(' id_vanzare=' + TRANSFORM(id_vanzare) + ' tip=' + TRANSFORM(tip) + ' data_act=' + TTOC(data_act) + CHR(13)+CHR(10), gcErrLog, 1) ENDSCAN USE IN v_aviz_larg ENDIF goExecutor.oReset() *!* --- C: sanitate - documentele 1113/1055/1048/1130/1071/1072 folosite deja, ce data au --- lnSucces = goExecutor.oExecute(; [select id_vanzare, tip, data_act from fact_vfacturi where id_vanzare in (1113,1055,1048,1130,1071,1072) order by id_vanzare], 'v_ref') STRTOFILE('C) documente existente in suita (referinta data_act): lnSucces=' + TRANSFORM(lnSucces) + ' eroare=' + goExecutor.cEroare + CHR(13)+CHR(10), gcErrLog, 1) IF USED('v_ref') SELECT v_ref SCAN STRTOFILE(' id_vanzare=' + TRANSFORM(id_vanzare) + ' tip=' + TRANSFORM(tip) + ' data_act=' + TTOC(data_act) + CHR(13)+CHR(10), gcErrLog, 1) ENDSCAN USE IN v_ref ENDIF goExecutor.oReset() *!* --- D: fara delegat, ORICE tip valid (exclus 44,45,46,51 - garda do_editare_unificata), luna curenta --- lnSucces = goExecutor.oExecute(; [select id_vanzare, tip, nvl(id_delegat,0) id_delegat, sters, eproforma, data_act from fact_vfacturi] + ; [ where tip not in (44,45,46,51) and sters=0 and nvl(eproforma,0)=0 and nvl(id_delegat,0)=0] + ; [ and extract(year from data_act)*12+extract(month from data_act) = ] + TRANSFORM(gnAn*12+gnLuna) + ; [ order by id_vanzare desc], 'v_faradeleg2') STRTOFILE('D) fara delegat, orice tip valid, luna curenta: lnSucces=' + TRANSFORM(lnSucces) + ' reccount=' + TRANSFORM(IIF(USED('v_faradeleg2'),RECCOUNT('v_faradeleg2'),-1)) + ' eroare=' + goExecutor.cEroare + CHR(13)+CHR(10), gcErrLog, 1) IF USED('v_faradeleg2') SELECT v_faradeleg2 SCAN STRTOFILE(' id_vanzare=' + TRANSFORM(id_vanzare) + ' tip=' + TRANSFORM(tip) + ' data_act=' + TTOC(data_act) + CHR(13)+CHR(10), gcErrLog, 1) ENDSCAN USE IN v_faradeleg2 ENDIF goExecutor.oReset() STRTOFILE('done' + CHR(13) + CHR(10), gcErrLog, 1) QUIT PROCEDURE ErrH LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo STRTOFILE('EROARE ' + TRANSFORM(tnError) + ' [' + tcProgram + ':' + TRANSFORM(tnLineNo) + '] ' + tcMessage + CHR(13) + CHR(10), gcErrLog, 1) ENDPROC