Squash al branch-ului de lucru plan13-s2. Clase: ofacturare (nucleul formularului unificat), ofacturare_comun, ferestre_cere_date, ocomenzi, caut_ora (lista de preturi in combo-urile de cautare), omodificari. Programe: ofacturare impartit - ofacturare_antet, ofacturare_rutare_scriere si ogrid_latimi sunt fisiere noi; oproceduri_facturare primeste discountul pe linie si cota standard de TVA cand articolul nu are cota pe politica. Documentatie: capcana SQLExec no_data_found, conventia de encoding, depanarea testelor VFP si regulile de lucru - conflictele cu modificarile venite din alte proiecte sunt rezolvate pastrand ambele parti. Loguri de rulare a testelor scoase din versionare; testele raman. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PkyjGyrV2S7932om4kfSiK
124 lines
6.4 KiB
Plaintext
124 lines
6.4 KiB
Plaintext
* 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
|