sync SVN r18227

This commit is contained in:
2026-09-29 17:35:13 +03:00
parent 1ae4086ee6
commit 1a05265329
6 changed files with 127 additions and 8 deletions

View File

@@ -11989,11 +11989,12 @@ DEFINE CLASS frm_import_efactura AS _frmbase OF "_frm_base.vcx"
Anchor = 0, ; Anchor = 0, ;
ControlSource = "crsFacturi.NrActROA", ; ControlSource = "crsFacturi.NrActROA", ;
Format = "K", ; Format = "K", ;
InputMask = "99999999999999", ;
Left = 72, ; Left = 72, ;
Name = "txtNrAct", ; Name = "txtNrAct", ;
TabIndex = 2, ; TabIndex = 2, ;
Top = 397, ; Top = 397, ;
Width = 100, ; Width = 110, ;
ZOrderSet = 14 ZOrderSet = 14
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" /> *< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />

View File

@@ -107,7 +107,7 @@ DEFINE CLASS CoadaContabilizareEF AS Custom
RETURN '' RETURN ''
ENDPROC ENDPROC
*!* Numarul de document dedus din numarul eFacturii: ultimele 12 cifre din primul grup de cifre *!* Numarul de document dedus din numarul eFacturii: ultimele 14 cifre din primul grup de cifre
*!* de la dreapta ('ZZT-A1-C' -> 1, 'F1234' -> 1234, 'FACTURA' -> 0). 0 inseamna ca nu s-a putut deduce. *!* de la dreapta ('ZZT-A1-C' -> 1, 'F1234' -> 1234, 'FACTURA' -> 0). 0 inseamna ca nu s-a putut deduce.
PROCEDURE NrActDinNumarAct PROCEDURE NrActDinNumarAct
LPARAMETERS tcNumarAct LPARAMETERS tcNumarAct
@@ -126,8 +126,7 @@ DEFINE CLASS CoadaContabilizareEF AS Custom
ENDIF ENDIF
ENDIF ENDIF
ENDFOR ENDFOR
*!* ultimele 12 cifre, cat se afiseaza in ROA RETURN INT(VAL(RIGHT(m.lcCifre, 14)))
RETURN INT(VAL(RIGHT(m.lcCifre, 12)))
ENDPROC ENDPROC
*!* Textul lipsurilor facturii al carei cursor de linii e deschis (tcAliasDetalii), calculat *!* Textul lipsurilor facturii al carei cursor de linii e deschis (tcAliasDetalii), calculat

View File

@@ -128,16 +128,16 @@ TRY
LOCATE FOR id = 5 LOCATE FOR id = 5
DO PrTest WITH 'randul 5 (numar fara cifre) BLOCAT', eligibil_lot = 0 AND ales = 0 AND 'numarul documentului' $ motiv_lot DO PrTest WITH 'randul 5 (numar fara cifre) BLOCAT', eligibil_lot = 0 AND ales = 0 AND 'numarul documentului' $ motiv_lot
DO PrLogLocal WITH '=== NrActDinNumarAct: primul grup de cifre de la dreapta, ultimele 12 ===' DO PrLogLocal WITH '=== NrActDinNumarAct: primul grup de cifre de la dreapta, ultimele 14 ==='
DO PrTest WITH 'ZZT-A1-C -> 1', loCoada.NrActDinNumarAct('ZZT-A1-C') = 1 DO PrTest WITH 'ZZT-A1-C -> 1', loCoada.NrActDinNumarAct('ZZT-A1-C') = 1
DO PrTest WITH 'ZZT-A10-C -> 10', loCoada.NrActDinNumarAct('ZZT-A10-C') = 10 DO PrTest WITH 'ZZT-A10-C -> 10', loCoada.NrActDinNumarAct('ZZT-A10-C') = 10
DO PrTest WITH 'F1234 -> 1234 (neschimbat fata de regula veche)', loCoada.NrActDinNumarAct('F1234') = 1234 DO PrTest WITH 'F1234 -> 1234 (neschimbat fata de regula veche)', loCoada.NrActDinNumarAct('F1234') = 1234
DO PrTest WITH '2026-000123 -> 123 (neschimbat)', loCoada.NrActDinNumarAct('2026-000123') = 123 DO PrTest WITH '2026-000123 -> 123 (neschimbat)', loCoada.NrActDinNumarAct('2026-000123') = 123
DO PrTest WITH 'FACTURA (fara cifre) -> 0', loCoada.NrActDinNumarAct('FACTURA') = 0 DO PrTest WITH 'FACTURA (fara cifre) -> 0', loCoada.NrActDinNumarAct('FACTURA') = 0
DO PrTest WITH 'gol -> 0', loCoada.NrActDinNumarAct('') = 0 DO PrTest WITH 'gol -> 0', loCoada.NrActDinNumarAct('') = 0
DO PrTest WITH 'RO20709900053983 -> 709900053983 (14 cifre, ultimele 12)', loCoada.NrActDinNumarAct('RO20709900053983') = 709900053983 DO PrTest WITH 'RO20709900053983 -> 20709900053983 (14 cifre)', loCoada.NrActDinNumarAct('RO20709900053983') = 20709900053983
DO PrTest WITH '017524993734246 -> 524993734246 (15 cifre, ultimele 12)', loCoada.NrActDinNumarAct('017524993734246') = 524993734246 DO PrTest WITH '017524993734246 -> 17524993734246 (15 cifre, ultimele 14)', loCoada.NrActDinNumarAct('017524993734246') = 17524993734246
DO PrTest WITH '1021024019453 -> 21024019453 (13 cifre, ultimele 12, zeroul din fata cade)', loCoada.NrActDinNumarAct('1021024019453') = 21024019453 DO PrTest WITH '1021024019453 -> 1021024019453 (13 cifre, neschimbat)', loCoada.NrActDinNumarAct('1021024019453') = 1021024019453
DO PrTest WITH '259105268697 -> 259105268697 (12 cifre, neschimbat)', loCoada.NrActDinNumarAct('259105268697') = 259105268697 DO PrTest WITH '259105268697 -> 259105268697 (12 cifre, neschimbat)', loCoada.NrActDinNumarAct('259105268697') = 259105268697
USE IN crsFactTest USE IN crsFactTest

View File

@@ -112,6 +112,7 @@ distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) nul
loForm = CREATEOBJECT('frm_import_efactura', .T.) loForm = CREATEOBJECT('frm_import_efactura', .T.)
loForm.WindowType = 0 loForm.WindowType = 0
DO PrTest WITH 'formular instantiat', TYPE('loForm') == 'O' DO PrTest WITH 'formular instantiat', TYPE('loForm') == 'O'
DO PrTest WITH 'txtNrAct afiseaza 14 cifre fara *', TRANSFORM(12345678901234, loForm.txtNrAct.InputMask) == '12345678901234' AND loForm.txtNrAct.Width >= 110
loForm.Show() loForm.Show()
lnTopInitial = loForm.Sfsplitterv1.Top lnTopInitial = loForm.Sfsplitterv1.Top
DO PrTest WITH 'T1 grdFacturi.Height = 292 (design)', loForm.grdFacturi.Height = 292, 'obtinut=' + TRANSFORM(loForm.grdFacturi.Height) DO PrTest WITH 'T1 grdFacturi.Height = 292 (design)', loForm.grdFacturi.Height = 292, 'obtinut=' + TRANSFORM(loForm.grdFacturi.Height)

View File

@@ -0,0 +1,110 @@
* test_ui_nract14.prg - afisare txtNrAct (frm_import_efactura) cu 14 cifre, nu '******'.
* Rulare: powershell -ExecutionPolicy Bypass -File test_ui_nract14.ps1 (captura PrintWindow prin harness)
PUBLIC gcUILog, gcSyncDir
gcUILog = 'D:\ROA\ROACONT\COMUN\utile\Teste\efactura_import\test_ui_nract14_log.txt'
gcSyncDir = 'D:\ROA\ROACONT\COMUN\utile\Teste\efactura_import\uisync_nract14\'
SET SAFETY OFF
SET TALK OFF
SET DELETED ON
SET EXACT ON
SET CENTURY ON
SET DATE DMY
SET NULLDISPLAY TO ''
CLOSE DATABASES
STRTOFILE('START ' + TTOC(DATETIME()) + CHR(13) + CHR(10), gcUILog)
ON ERROR DO TErr WITH ERROR(), MESSAGE(), PROGRAM(), LINENO()
ON SHUTDOWN QUIT
SET PROCEDURE TO 'D:\ROA\ROACONT\COMUN\utile\Teste\mock_amessagebox.prg' ADDITIVE
SET PROCEDURE TO ('D:\ROA\ROACONT\COMUN\utile\Teste\ui_harness.prg') ADDITIVE
DO ('D:\ROA\ROACONT\COMUN\utile\Teste\test_init_env_auto.prg') WITH 'CENTRAL', 'MARIUSM_AUTO', 'ROMFASTSOFT'
IF gnHandle <= 0
DO HarnessLog WITH 'FAIL conectare'
DO HarnessDone WITH 'done FAIL'
QUIT
ENDIF
SET PROCEDURE TO import_efactura.prg ADDITIVE
SET PROCEDURE TO recunoastere_articol_ef.prg ADDITIVE
SET PROCEDURE TO coada_contabilizare_ef.prg ADDITIVE
TEXT TO lcSchemaFacturi NOSHOW
ales N(1), id N(20), id_fact N(20), data_act D, data_scad D, numar_act C(30), xfurnizor C(200), xclient C(200), partener C(200), id_incarcare C(36), id_descarcare c(36) null, tip_mesaj_raspuns C(50) null,mesaj_raspuns C(250) null, data_raspuns D null, trimis N(1) null, data_trimis T null, cod_fiscal C(30) null, cod_fiscal_emitent C(30) null, cod_fiscal_beneficiar C(30) null, detalii M null, total_fara_tva N(16,4), total_tva N(16,4), total_tva_ron N(16,4), total_cu_tva N(16,4), discount_fara_tva N(16,4), taxe_fara_tva N(16,4), valoare_fara_tva N(16,4), total_de_plata N(16,4), nume_valuta C(5), test N(1) null, jtotctva N(16,4) null, descriere M null, detalii_plata M null, diferenta N(16,4) null, procesat N(1), SerieActRoa V(10) Null, NrActRoa N(14) Null, IdPartRoa N(10) Null, PartenerRoa V(100) null, codFiscalROA V(20), idValutaROA N(5) null,numeValutaROA V(5) null, cursROA N(16,6) null,Cont c(4) Null,ACont c(4) Null,TVAIncasare N(1),Fdoc V(20) null,Id_Fdoc N(5) Null,Nrord V(100) null,Id_Lucrare I Null,Contract V(100) Null,Id_Ctr I Null,Sectie V(100) null,Id_Sectie I Null,dst_chlt V(100) null, Id_venchelt I NUll, nresp V(100) null, Id_responsabil I NUll , completat N(1), completatdet N(1), creditnote N(1), explicatiaROA V(100) null, explicatia4ROA V(100) null, explicatia5ROA V(100) null, eligibil_lot N(1), motiv_lot V(120), eroare_lot N(1), de_completat V(80), gest c(1), part_inactiv N(1)
ENDTEXT
IF USED('crsFacturi')
USE IN crsFacturi
ENDIF
CREATE CURSOR crsFacturi (&lcSchemaFacturi)
INSERT INTO crsFacturi (ales, id, id_fact, data_act, numar_act, xfurnizor, partener, cod_fiscal, ;
total_cu_tva, nume_valuta, procesat, completat, completatdet, creditnote, detalii, ;
eligibil_lot, motiv_lot, eroare_lot, de_completat, gest) ;
VALUES (0, 1, 0, DATE(), 'TEST-SPL-1', 'FIXTURA SPLITTER 1', 'FIXTURA SPLITTER 1', 'RO99970001', ;
100, 'RON', 0, 0, 0, 0, 'x', 1, '', 0, '1 cont', '')
TEXT TO lcSchemaDetalii NOSHOW
distribuie N(1), id_tip N(10) null, id_articol N(20) null, id_gestiune N(20) null, cont C(4) null, acont C(4) null, sursa_cont V(10) null, id N(20), id_efactura N(20), nr N(5), articol V(250), descriere V(250), detalii M, cantitate N(18,6), um V(20), um_iso V(50), um_roa V(50), pret N(20,6), proctva N(7,2), tiptva V(2), valoarefaratva N(20,6), discountfaratva N(20,6), in_stoc N(1), articol_roa V(250), codmat_roa V(50), codbare V(50), codclient V(100), codfurnizor V(100), codcpv V(50), codnc8 V(50), nume_gestiune V(50), cgest V(20), tva N(20,6), pretv N(20,6), tvav N(20,6), pretvtva N(20,6), explicatia V(100), explicatia4 V(100), explicatia5 V(100)
ENDTEXT
IF USED('crsDetaliiFacturi')
USE IN crsDetaliiFacturi
ENDIF
CREATE CURSOR crsDetaliiFacturi (&lcSchemaDetalii)
* rand mut pe id_efactura=1, ca actualizeaza_grid2 sa gaseasca detaliile deja in cursor (fara poFacturiDetalii/Oracle)
INSERT INTO crsDetaliiFacturi (id, id_efactura, nr, articol) VALUES (100, 1, 1, 'FIXTURA')
CREATE CURSOR cTipArticoleP (id I, in_stoc N(1), tip V(50), cont V(4), ordine I)
INSERT INTO cTipArticoleP (id, tip, cont, in_stoc, ordine) VALUES (0, 'Nedefinit','', 0, 0)
SELECT cTipArticoleP
GO TOP IN cTipArticoleP
INDEX ON ordine TAG ordine
CREATE CURSOR cTipArticoleE (id I, in_stoc N(1), tip V(50), cont V(4), ordine I)
INSERT INTO cTipArticoleE (id, tip, cont, in_stoc, ordine) VALUES (0, 'Nedefinit','', 0, 0)
SELECT cTipArticoleE
GO TOP IN cTipArticoleE
INDEX ON ordine TAG ordine
SELECT id, tip, cont, in_stoc, ordine FROM cTipArticoleP ORDER BY ordine INTO CURSOR cTip
SELECT cTip
INDEX ON id TAG id
goExecutor.oExecuta([select distinct nume_gestiune,cgest,id_gestiune,nr_pag,cont from vgest_gestiuni_util where inactiv = 0 and id_util = ] + ALLTRIM(STR(m.gnIdUtil)), 'cGestiuni')
SELECT cGestiuni
APPEND BLANK
INDEX ON id_gestiune TAG id_gest
SELECT CAST(ALLTRIM(nume_gestiune) + '-' + ALLTRIM(NVL(cgest, '')) AS V(50)) AS nume_gestiune, id_gestiune FROM cGestiuni ORDER BY nume_gestiune INTO CURSOR cGestiuni2
goExecutor.oExecuta("select cod_um_iso, um_iso from syn_vnom_um_iso", 'cUMISO')
SELECT cUMISO
INDEX ON cod_um_iso TAG cod_um_iso
goExecutor.oExecuta("select id, um, cod_um_iso, um_iso from vnom_um", 'cUM')
SELECT cUM
INDEX ON id TAG id
SELECT crsFacturi
GO TOP
LOCAL loForm
loForm = CREATEOBJECT('frm_import_efactura', .T.)
loForm.WindowType = 0
loForm.Show()
loForm.WindowState = 2
DO HarnessLog WITH 'ClassLibrary=' + loForm.ClassLibrary + ' Width=' + TRANSFORM(loForm.txtNrAct.Width) + ' Mask=' + loForm.txtNrAct.InputMask + ' CS=' + loForm.txtNrAct.ControlSource
DO Pas WITH loForm, 12345678901234, 0, '14 cifre'
DO Pas WITH loForm, 1021024019453, 1, '13 cifre'
DO Pas WITH loForm, 259105268697, 2, 'scurt'
loForm.Release()
DO HarnessDone WITH 'done'
QUIT
PROCEDURE Pas
LPARAMETERS toF, tnVal, tnPas, tcEt
SELECT crsFacturi
GO TOP
REPLACE NrActROA WITH tnVal IN crsFacturi
toF.txtNrAct.Refresh()
toF.Refresh()
DO HarnessLog WITH tcEt + ': Value=' + TRANSFORM(toF.txtNrAct.Value) + ' Text=[' + toF.txtNrAct.Text + '] Width=' + TRANSFORM(toF.txtNrAct.Width)
DO HarnessStep WITH tnPas, tcEt
ENDPROC
PROCEDURE TErr
LPARAMETERS tnE, tcM, tcP, tnL
DO HarnessLog WITH 'EROARE ' + TRANSFORM(tnE) + ' ' + tcM + ' ' + tcP + ':' + TRANSFORM(tnL)
ENDPROC

View File

@@ -0,0 +1,8 @@
$ErrorActionPreference = 'Stop'
$Teste = $PSScriptRoot
& (Join-Path (Split-Path $Teste -Parent) 'vfp_ui_harness.ps1') `
-TestPrg (Join-Path $Teste 'test_ui_nract14.prg') `
-Steps @('14cifre','13cifre','scurt') `
-ShotsDir (Join-Path $Teste 'screenshots_nract14') `
-SyncDir (Join-Path $Teste 'uisync_nract14') `
-ReadyTimeoutSec 300 -StepTimeoutSec 120