frm_modific2024, pgfArticole.PAGE3 - editare in memorie, fara scriere in Oracle (aceea ramane S5). - sub-blocul A: cantitate/pret/pret_cu_tva editabile inline, marcaj lmodificat pe linie, coloana valoare pe linie - sub-blocul B: stergere logica de linii (sters/DynamicForeColor gri) si adaugare de linii prin frm_articol_factura, cu alegerea articolului prin caut_articol() - sub-blocul C: bara de totaluri sub grid (total linii convertit RON la cursul documentului, discount de antet editabil, total net), ascunsa pe transfer/custodie; verdict de corelatie ACT/RUL informativ, cu 3 stari - suma ACT: sold net debit-credit, cont pe tip de document (4111 / 418 / 461, iar pe rate/contract 4111, 411 sau 461) - suma RUL: doar ID_TIP_RULAJ = 0, adica miscarile reale; perechile ID_TIP_RULAJ = 3 sunt virtuale (tin locul procesului verbal de schimbare de pret) si nu intra in suma. Corectie cu liniile nestocate, marcata "ajustat" - adaugarea de linii pe document in valuta: dialogul primeste tip_valuta si cursul documentului de pe tvanz, deci pretul se introduce direct in valuta; ofacturare.vc2 ramane neatins - cei 5 apelanti frm_modific2024 (afisjurcom, anaf_efactura, cele doua .sc2 de import) pregatesc cursorul de articole inainte de Createobject, gardat pe SET PROCEDURE - registrul jurnal din ROACONT/ROAGEST ramane neschimbat Teste headless pe MARIUSM_AUTO, suite care isi descopera singure documentele: test_page3_articole 14/2 (cele 2 = artefact de grid nematerializat headless, acoperit pe ecran), test_incarca_vanzare_din_nota 5/0, test_adauga_linie_articol 20/0, test_adauga_linie_valuta 16/0, test_ui_sterge_linie 8/0, test_verdict_act_rul 26/0. docs/todos.txt: punctele 13 si 20, scrise de Marius. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
118 lines
4.4 KiB
Plaintext
118 lines
4.4 KiB
Plaintext
* test_defect1_crsjtvatemp.prg
|
|
* Verifica fix-ul din frm_facturi.do_editare_factura (ofacturare_comun.vc2:3799-3804): inainte de
|
|
* Createobject('frm_modific2024',...), metoda precreeaza crsJtvaTemp cu update_jtva_coloane("",
|
|
* "crsJtvaTemp", 0) - acelasi tipar folosit de ooperatii_comune.prg:113 (viz_act, calea ROACONT
|
|
* "registru jurnal > modificare" care functiona deja corect). Fara aceasta linie,
|
|
* Column63.ControlSource din grid (Seek(...,'crsJtvaTemp','id_jtva')) crapa la constructia
|
|
* formularului, fiindca cursorul nu exista inca.
|
|
* Nu scrie in Oracle - doar SELECT-uri prin goExecutor si citiri de proprietati. QUIT la final.
|
|
|
|
SET SAFETY OFF
|
|
SET TALK OFF
|
|
|
|
LOCAL lcLog
|
|
lcLog = 'D:\ROA\ROAFACTURARE\COMUN\utile\Teste\editare_factura\test_defect1_crsjtvatemp_log.txt'
|
|
STRTOFILE('start' + CHR(13) + CHR(10), lcLog)
|
|
|
|
PUBLIC gcErrLog
|
|
gcErrLog = lcLog
|
|
ON ERROR DO test_error_handler WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
|
|
|
|
DO ('D:\ROA\ROAFACTURARE\COMUN\utile\Teste\test_init_env_auto.prg') WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
|
|
IF gnHandle <= 0
|
|
STRTOFILE('EROARE: conectare esuata' + CHR(13) + CHR(10), lcLog, 1)
|
|
QUIT
|
|
ENDIF
|
|
|
|
SET PROCEDURE TO D:\ROA\ROAFACTURARE\COMUN\programe\ofacturare_editare.prg ADDITIVE
|
|
|
|
*!* test_init_env_auto:139 incarca omodificari din copia ROACONT (alt working copy) - o eliberam
|
|
*!* si o reincarcam pe cea DE SUB TEST, cu cale completa
|
|
RELEASE CLASSLIB omodificari
|
|
SET CLASSLIB TO D:\ROA\ROAFACTURARE\COMUN\clase\omodificari.vcx ADDITIVE
|
|
|
|
DO verifica_defect1 WITH 1139934, 2021, 12, lcLog, 3, .T., 882
|
|
|
|
STRTOFILE('done' + CHR(13) + CHR(10), lcLog, 1)
|
|
QUIT
|
|
|
|
|
|
PROCEDURE verifica_defect1
|
|
LPARAMETERS tnCod, tnAn, tnLuna, tcLog, tnPageCountAsteptat, tlAreArticoleAsteptat, tnIdVanzareAsteptat
|
|
|
|
LOCAL llOk, lnIdSet, loForm, llCrsJtvaInchisInainte, llCrsJtvaCreatDupa, lnPageCount, llAreArticole, lnIdVanzare
|
|
|
|
IF USED('crsJtvaTemp')
|
|
USE IN crsJtvaTemp
|
|
ENDIF
|
|
llCrsJtvaInchisInainte = !USED('crsJtvaTemp')
|
|
|
|
llOk = IncarcaCursoareModificareNota(tnCod, tnAn, tnLuna, .F.)
|
|
lnPageCount = -1
|
|
llAreArticole = .F.
|
|
lnIdVanzare = 0
|
|
llCrsJtvaCreatDupa = .F.
|
|
|
|
IF llOk AND USED('tact') AND RECCOUNT('tact') > 0
|
|
SELECT a.*, IIF(NVL(id_jtva_coloana,0)=0,0,1) AS cu_Tva FROM tact a INTO CURSOR tact READWRITE
|
|
GO TOP IN tact
|
|
lnIdSet = tact.id_set
|
|
|
|
*-- linia din fix (ofacturare_comun.vc2:3801) - fara ea, grid-ul din frm_modific2024
|
|
*-- crapa la constructie pe crsJtvaTemp lipsa
|
|
update_jtva_coloane("", "crsJtvaTemp", 0)
|
|
|
|
llCrsJtvaCreatDupa = USED('crsJtvaTemp') AND RECCOUNT('crsJtvaTemp') >= 0
|
|
|
|
SELECT tact
|
|
TRY
|
|
loForm = CREATEOBJECT([frm_modific2024], lnIdSet)
|
|
loForm.WindowType = 0
|
|
loForm.Show()
|
|
lnPageCount = loForm.pgfArticole.PageCount
|
|
llAreArticole = loForm.lAreArticoleVanzari
|
|
lnIdVanzare = loForm.nIdVanzare
|
|
loForm.Release()
|
|
CATCH TO loExc
|
|
STRTOFILE(' EXCEPTIE la Createobject/Show frm_modific2024: ' + TRANSFORM(loExc.ErrorNo) + ;
|
|
' [' + loExc.Message + ']' + CHR(13) + CHR(10), tcLog, 1)
|
|
ENDTRY
|
|
ENDIF
|
|
|
|
STRTOFILE('--- Defect 1 (crsJtvaTemp), cod=' + TRANSFORM(tnCod) + ' ---' + CHR(13) + CHR(10) + ;
|
|
' crsJtvaTemp inchis inainte de apel = ' + TRANSFORM(llCrsJtvaInchisInainte) + CHR(13) + CHR(10) + ;
|
|
' crsJtvaTemp creat de update_jtva_coloane (Used+Reccount>=0) = ' + TRANSFORM(llCrsJtvaCreatDupa) + CHR(13) + CHR(10) + ;
|
|
' PageCount = ' + TRANSFORM(lnPageCount) + ' (asteptat ' + TRANSFORM(tnPageCountAsteptat) + ')' + CHR(13) + CHR(10) + ;
|
|
' lAreArticoleVanzari = ' + TRANSFORM(llAreArticole) + ' (asteptat ' + TRANSFORM(tlAreArticoleAsteptat) + ')' + CHR(13) + CHR(10) + ;
|
|
' nIdVanzare = ' + TRANSFORM(lnIdVanzare) + ' (asteptat ' + TRANSFORM(tnIdVanzareAsteptat) + ')' + CHR(13) + CHR(10) + ;
|
|
' ' + IIF(llCrsJtvaInchisInainte AND llCrsJtvaCreatDupa AND lnPageCount == tnPageCountAsteptat AND llAreArticole == tlAreArticoleAsteptat AND lnIdVanzare == tnIdVanzareAsteptat, 'PASS', 'FAIL') + CHR(13) + CHR(10), tcLog, 1)
|
|
|
|
IF USED('actactan')
|
|
USE IN actactan
|
|
ENDIF
|
|
IF USED('tact')
|
|
USE IN tact
|
|
ENDIF
|
|
IF USED('rul_temp')
|
|
USE IN rul_temp
|
|
ENDIF
|
|
IF USED('trul')
|
|
USE IN trul
|
|
ENDIF
|
|
IF USED('rul_temp_obinv')
|
|
USE IN rul_temp_obinv
|
|
ENDIF
|
|
IF USED('trul_obinv')
|
|
USE IN trul_obinv
|
|
ENDIF
|
|
IF USED('crsJtvaTemp')
|
|
USE IN crsJtvaTemp
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROCEDURE test_error_handler
|
|
LPARAMETERS tnError, tcMessage, tcProgram, tnLineNo
|
|
STRTOFILE('EROARE ' + TRANSFORM(tnError) + ' [' + tcProgram + ':' + TRANSFORM(tnLineNo) + '] ' + tcMessage + CHR(13) + CHR(10), gcErrLog, 1)
|
|
ENDPROC
|