sync SVN r18026

This commit is contained in:
2026-08-20 22:44:54 +03:00
parent 5de25c4e36
commit 58d4c4a891
4 changed files with 152 additions and 29 deletions

View File

@@ -4647,6 +4647,8 @@ DEFINE CLASS frm_facturi AS _frmbase OF "_frm_base.vcx"
Select crsDetalii Select crsDetalii
Scatter Name poRec Memo Scatter Name poRec Memo
poRec.explicatie = NVL(poRec.explicatie, ' ') poRec.explicatie = NVL(poRec.explicatie, ' ')
AddProperty(poRec, 'data_act', crsfacturi.data_act)
AddProperty(poRec, 'id_part', Nvl(crsfacturi.id_part, 0))
If poRec.sters = 0 If poRec.sters = 0
ofrmmodificare = Createobject("frm_modifica_articol_factura") ofrmmodificare = Createobject("frm_modifica_articol_factura")
ofrmmodificare.Show() ofrmmodificare.Show()
@@ -5135,9 +5137,14 @@ DEFINE CLASS frm_modifica_articol_factura AS frm_termin_renunt OF "_frm_child.vc
*< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Ed_tx_simplu1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="cbo_saft" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="cbo_saft" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lbSaft" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="lbSaft" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_shape4" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lbExplTva" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="cbo_expl_tva" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lbExplTvaInfo" UniqueID="" Timestamp="" />
*<DefinedPropArrayMethod> *<DefinedPropArrayMethod>
*p: nid *p: nid
*p: nidjtvaales
*p: ntip_selectie && 0 - cautare in toti delegatii; 1 - cautare in delegatii clientului *p: ntip_selectie && 0 - cautare in toti delegatii; 1 - cautare in delegatii clientului
*p: orec *p: orec
*</DefinedPropArrayMethod> *</DefinedPropArrayMethod>
@@ -5145,9 +5152,10 @@ DEFINE CLASS frm_modifica_articol_factura AS frm_termin_renunt OF "_frm_child.vc
*<PropValue> *<PropValue>
BorderStyle = 1 BorderStyle = 1
DoCreate = .T. DoCreate = .T.
Height = 370 Height = 431
Name = "frm_modifica_articol_factura" Name = "frm_modifica_articol_factura"
nid = .F. nid = .F.
nidjtvaales = 0
ntip_selectie = 0 ntip_selectie = 0
orec = .F. orec = .F.
Width = 376 Width = 376
@@ -5161,17 +5169,17 @@ DEFINE CLASS frm_modifica_articol_factura AS frm_termin_renunt OF "_frm_child.vc
_shape2.ZOrderSet = 2 _shape2.ZOrderSet = 2
Lb_titlu_alb_b121.Caption = "Modific<69> explica<63>ie articol" Lb_titlu_alb_b121.Caption = "Modific<69> explica<63>ie articol"
Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121" Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121"
Lb_titlu_alb_b121.TabIndex = 5 Lb_titlu_alb_b121.TabIndex = 6
Lb_titlu_alb_b121.ZOrderSet = 3 Lb_titlu_alb_b121.ZOrderSet = 3
BUT_TERMIN1.Left = 344 BUT_TERMIN1.Left = 344
BUT_TERMIN1.Name = "BUT_TERMIN1" BUT_TERMIN1.Name = "BUT_TERMIN1"
BUT_TERMIN1.TabIndex = 3 BUT_TERMIN1.TabIndex = 4
BUT_TERMIN1.Top = 1 BUT_TERMIN1.Top = 1
BUT_TERMIN1.ZOrderSet = 4 BUT_TERMIN1.ZOrderSet = 4
Gridsort1.Name = "Gridsort1" Gridsort1.Name = "Gridsort1"
But_renunt1.Left = 315 But_renunt1.Left = 315
But_renunt1.Name = "But_renunt1" But_renunt1.Name = "But_renunt1"
But_renunt1.TabIndex = 4 But_renunt1.TabIndex = 5
But_renunt1.Top = 1 But_renunt1.Top = 1
But_renunt1.ZOrderSet = 6 But_renunt1.ZOrderSet = 6
*</PropValue> *</PropValue>
@@ -5181,11 +5189,36 @@ DEFINE CLASS frm_modifica_articol_factura AS frm_termin_renunt OF "_frm_child.vc
Height = 37, ; Height = 37, ;
Left = 13, ; Left = 13, ;
Name = "_shape3", ; Name = "_shape3", ;
Top = 323, ; Top = 384, ;
Width = 348, ; Width = 348, ;
ZOrderSet = 0 ZOrderSet = 0
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" /> *< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" />
ADD OBJECT '_shape4' AS _shape WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 13, ;
Name = "_shape4", ;
Top = 323, ;
Width = 348, ;
ZOrderSet = 10
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" />
ADD OBJECT 'cbo_expl_tva' AS _cbbase WITH ;
BoundColumn = 3, ;
BoundTo = .T., ;
ColumnCount = 2, ;
ColumnWidths = "400,60", ;
Height = 24, ;
Left = 110, ;
Name = "cbo_expl_tva", ;
RowSourceType = 3, ;
TabIndex = 2, ;
Top = 329, ;
Width = 238, ;
ZOrderSet = 12
*< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" />
ADD OBJECT 'cbo_saft' AS _cbbase WITH ; ADD OBJECT 'cbo_saft' AS _cbbase WITH ;
BoundColumn = 4, ; BoundColumn = 4, ;
BoundTo = .T., ; BoundTo = .T., ;
@@ -5197,8 +5230,8 @@ DEFINE CLASS frm_modifica_articol_factura AS frm_termin_renunt OF "_frm_child.vc
Name = "cbo_saft", ; Name = "cbo_saft", ;
RowSource = "Select taxname, tip, procent_taxa, taxcode From saft_taxtable where tva = 1 order by taxcode Into Cursor crsTaxTableX", ; RowSource = "Select taxname, tip, procent_taxa, taxcode From saft_taxtable where tva = 1 order by taxcode Into Cursor crsTaxTableX", ;
RowSourceType = 3, ; RowSourceType = 3, ;
TabIndex = 2, ; TabIndex = 3, ;
Top = 329, ; Top = 390, ;
Width = 266, ; Width = 266, ;
ZOrderSet = 8 ZOrderSet = 8
*< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" />
@@ -5221,20 +5254,54 @@ DEFINE CLASS frm_modifica_articol_factura AS frm_termin_renunt OF "_frm_child.vc
_lbbase1.Name = "_lbbase1" _lbbase1.Name = "_lbbase1"
*< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" /> *< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" />
ADD OBJECT 'lbExplTva' AS _label WITH ;
Caption = "Explica<63>ie TVA", ;
Left = 24, ;
Name = "lbExplTva", ;
TabIndex = 8, ;
Top = 332, ;
ZOrderSet = 11
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
ADD OBJECT 'lbExplTvaInfo' AS _label WITH ;
Caption = "", ;
ForeColor = RGB(128,0,0), ;
Height = 20, ;
Left = 24, ;
Name = "lbExplTvaInfo", ;
Top = 355, ;
Visible = .F., ;
Width = 324, ;
WordWrap = .T., ;
ZOrderSet = 13
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
ADD OBJECT 'lbSaft' AS _label WITH ; ADD OBJECT 'lbSaft' AS _label WITH ;
Caption = "Cod taxa", ; Caption = "Cod taxa", ;
Left = 24, ; Left = 24, ;
Name = "lbSaft", ; Name = "lbSaft", ;
TabIndex = 6, ; TabIndex = 7, ;
Top = 332, ; Top = 393, ;
ZOrderSet = 9 ZOrderSet = 9
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" /> *< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
PROCEDURE Destroy
If Used('crsExplTvaCbo')
Use In crsExplTvaCbo
Endif
If Used('crsExplTvaArt')
Use In crsExplTvaArt
Endif
DoDefault()
ENDPROC
PROCEDURE inainte_de_do_termin PROCEDURE inainte_de_do_termin
Local llReturn Local llReturn, lcParamJtva
If amessagebox("Doriti sa salvati modificarile?",4+32,"Confirmare salvare explicatie") = 6 If amessagebox("Doriti sa salvati modificarile?",4+32,"Confirmare salvare explicatie") = 6
lcParamJtva = Iif(Vartype(Thisform.nidjtvaales) = 'N' And Thisform.nidjtvaales > 0, ;
Alltrim(Str(Thisform.nidjtvaales)), [null])
lcSql = [begin pack_facturare.modifica_explicatie_articol(] + Alltrim(Str(poRec.id_vanzare_det)) + [,] + ; lcSql = [begin pack_facturare.modifica_explicatie_articol(] + Alltrim(Str(poRec.id_vanzare_det)) + [,] + ;
['] + Nvl(Alltrim(OracleSpecialCharacters(poRec.explicatie)),'') + [',?gnIdUtil,?poRec.taxcode); end;] ['] + Nvl(Alltrim(OracleSpecialCharacters(poRec.explicatie)),'') + [',?gnIdUtil,?poRec.taxcode,] + lcParamJtva + [); end;]
llReturn = goExecutor.oExecuta(lcSql) llReturn = goExecutor.oExecuta(lcSql)
Else Else
llReturn = .F. llReturn = .F.
@@ -5258,6 +5325,46 @@ DEFINE CLASS frm_modifica_articol_factura AS frm_termin_renunt OF "_frm_child.vc
Endwith Endwith
Endif Endif
Local lnCota, lcSqlTva, lcCursorTva
Thisform.nidjtvaales = 0
If Isnull(poRec.proc_tvav) Or Nvl(poRec.proc_tvav, 0) = 0
Thisform.cbo_expl_tva.Enabled = .F.
Thisform.lbExplTvaInfo.Caption = [Cota de TVA a acestei linii nu este cunoscuta; explicatia TVA nu poate fi modificata prin acest buton.]
Thisform.lbExplTvaInfo.Visible = .T.
Return
Endif
lnCota = Round((poRec.proc_tvav - 1) * 100, 2)
lcCursorTva = [crsExplTvaArt]
*!* afisat > 0 = doar bazele, fara liniile de TVA; jv = 1 = doar jurnalul de vanzari
lcSqlTva = [select id_jtva_coloana, denumire, cota_tva from vjtva_coloane where id_jtva_coloana > 0 ] + ;
[and afisat > 0 and jv = 1 and cota_tva = ] + Alltrim(Str(lnCota, 10, 2)) + [ order by denumire]
If goExecutor.oExecuta(lcSqlTva, lcCursorTva) And Reccount(lcCursorTva) > 0
Thisform.cbo_expl_tva.RowSource = [select denumire, cota_tva, id_jtva_coloana from ] + lcCursorTva + [ into cursor crsExplTvaCbo]
Thisform.cbo_expl_tva.Requery()
Thisform.cbo_expl_tva.Value = Nvl(poRec.id_jtva_coloana, 0)
Else
Thisform.cbo_expl_tva.Enabled = .F.
Thisform.lbExplTvaInfo.Caption = [Nu exista nicio explicatie TVA activa cu aceeasi cota ca linia facturata (cota: ] + ;
Alltrim(Str(lnCota, 10, 2)) + [ %).]
Thisform.lbExplTvaInfo.Visible = .T.
Endif
ENDPROC
PROCEDURE cbo_expl_tva.InteractiveChange
Local lnIdJtva
lnIdJtva = Nvl(This.Value, 0)
If lnIdJtva <= 0
Return
Endif
Thisform.nidjtvaales = lnIdJtva
poRec.id_jtva_coloana = lnIdJtva
If Type('gl406') = 'L' And m.gl406
poRec.taxcode = GetTaxCodeIdPart(m.gnAn, m.gnLuna, poRec.data_act, m.lnIdJtva, poRec.id_part)
Thisform.cbo_saft.Refresh()
Endif
ENDPROC ENDPROC
ENDDEFINE ENDDEFINE

View File

@@ -14481,17 +14481,6 @@ DEFINE CLASS frm_modific2024 AS _frmbase OF "_frm_base.vcx"
ENDIF ENDIF
SELECT (m.lnAreaTvd) SELECT (m.lnAreaTvd)
ENDIF ENDIF
*!* al doilea punct de declansare al sincronizarii: enumerarea diferentelor la salvare, cu
*!* continuarea salvarii daca utilizatorul renunta - de aceea llRet nu se schimba aici;
*!* pe document fara linii active nu porneste: propunerea ar marca toata sursa ca "Adaugare"
IF m.llRet AND This.lAreArticoleVanzari AND !This.lArticoleReadOnly AND Used('tvd') AND m.lnLiniiActive > 0
LOCAL lcSemnaturaAcum
lcSemnaturaAcum = This.SemnaturaDivergenteSincronizare()
*!* doar divergentele aparute in sesiunea curenta deschid dialogul; N-A nu intra in semnatura
IF !Empty(m.lcSemnaturaAcum) AND !(m.lcSemnaturaAcum == This.cSemnaturaSincronizare)
This.AfiseazaDialogSincronizareArticole()
ENDIF
ENDIF
RETURN m.llRet RETURN m.llRet

View File

@@ -789,8 +789,9 @@ ENDFUNC && ConstruiestePropunereSincronizare
*!* Modificare/Adaugare pe tvd nu se aplica, doar cele pe trul, care nu au nevoie de metode de formular) *!* Modificare/Adaugare pe tvd nu se aplica, doar cele pe trul, care nu au nevoie de metode de formular)
*!* reconstruieste propunerea (ConstruiestePropunereSincronizare) si aplica tot ce nu e N-A/Semnalare, *!* reconstruieste propunerea (ConstruiestePropunereSincronizare) si aplica tot ce nu e N-A/Semnalare,
*!* DOAR in cursoarele din memorie (tvd/trul) - niciun INSERT/UPDATE Oracle; RUL_SURSA scrie in tvd *!* DOAR in cursoarele din memorie (tvd/trul) - niciun INSERT/UPDATE Oracle; RUL_SURSA scrie in tvd
*!* (cantitate/pret, pastrand pret_cu_tva existent pe rand), ARTICOLE_SURSA scrie doar cant/pretvtva pe *!* (cantitate/pret, pastrand pret_cu_tva existent pe rand), ARTICOLE_SURSA scrie cant/pretvtva si
*!* randul RUL deja existent (niciodata rand RUL nou - lipsesc contul/gestiunea sigure din articol) *!* recalculeaza pretv/tvav pe randul RUL deja existent (niciodata rand RUL nou - lipsesc contul/
*!* gestiunea sigure din articol)
*!* retur numeric: cate linii au fost efectiv aplicate (ca apelantul sa poata reface bara de totaluri) *!* retur numeric: cate linii au fost efectiv aplicate (ca apelantul sa poata reface bara de totaluri)
FUNCTION AplicaSincronizareArticole FUNCTION AplicaSincronizareArticole
LPARAMETERS tcDirectie, toForm LPARAMETERS tcDirectie, toForm
@@ -919,12 +920,15 @@ ENDFUNC && AplicaAdaugareTvd
*!* parametri: id_articol, cantitate/pret noi (pret_nou cu TVA) *!* parametri: id_articol, cantitate/pret noi (pret_nou cu TVA)
*!* scrie in trul (singurul rand activ gasit pe articol - garantat unic, altfel propunerea a marcat N-A) *!* scrie in trul (singurul rand activ gasit pe articol - garantat unic, altfel propunerea a marcat N-A)
*!* doar cant/cante (dupa care din ele era deja folosit pe rand) si pretvtva; nu atinge id_tip_rulaj, *!* cant/cante (dupa care din ele era deja folosit pe rand), apoi recalculeaza pretv/tvav/pretvtva cu
*!* conturi (scd/scc) sau alte campuri derivate (valoare/tva/etc.) - raman de recalculat de apelant daca e nevoie *!* formula din calculeaza_valori_rul (ramura pretvtva); nu atinge valorile (valoarev/valtvav/
*!* valoarevcTVA), id_tip_rulaj, conturi (scd/scc) sau valoare/tva (pretul de achizitie) - raman de
*!* recalculat de apelant daca e nevoie
FUNCTION AplicaModificareTrul FUNCTION AplicaModificareTrul
LPARAMETERS tnIdArticol, tnCantitateNoua, tnPretNouCuTva LPARAMETERS tnIdArticol, tnCantitateNoua, tnPretNouCuTva
LOCAL lnAreaOrigine, llAplicat, lcCampCant LOCAL lnAreaOrigine, llAplicat, lcCampCant
LOCAL lnPretvtva, lnProcTvav, lnTvav, lnPretv
lnAreaOrigine = Select() lnAreaOrigine = Select()
llAplicat = .F. llAplicat = .F.
@@ -933,7 +937,14 @@ FUNCTION AplicaModificareTrul
LOCATE FOR id_articol = m.tnIdArticol AND Nvl(sters,0) <> 1 LOCATE FOR id_articol = m.tnIdArticol AND Nvl(sters,0) <> 1
IF Found() IF Found()
lcCampCant = IIF(Nvl(cant,0) <> 0, 'cant', 'cante') lcCampCant = IIF(Nvl(cant,0) <> 0, 'cant', 'cante')
REPLACE (m.lcCampCant) WITH m.tnCantitateNoua, pretvtva WITH m.tnPretNouCuTva IN trul REPLACE (m.lcCampCant) WITH m.tnCantitateNoua IN trul
lnPretvtva = ROUND(m.tnPretNouCuTva, m.gnPPretv)
lnProcTvav = IIF(Empty(proc_tvav), 1, proc_tvav) - 1 && 1.19 -> 0.19
lnTvav = ROUND(m.lnPretvtva * m.lnProcTvav / (1 + m.lnProcTvav), m.gnPPretv)
lnPretv = m.lnPretvtva - m.lnTvav
REPLACE pretv WITH m.lnPretv, pretvtva WITH m.lnPretvtva, tvav WITH m.lnTvav IN trul
llAplicat = .T. llAplicat = .T.
ENDIF ENDIF
ENDIF ENDIF

View File

@@ -38,6 +38,11 @@ IF Type('gnPC') <> 'N'
gnPC = 2 gnPC = 2
ENDIF ENDIF
IF Type('gnPPretV') <> 'N'
PUBLIC gnPPretV
gnPPretV = 4
ENDIF
SET PROCEDURE TO D:\ROA\ROAFACTURARE\COMUN\programe\ofacturare_editare.prg ADDITIVE SET PROCEDURE TO D:\ROA\ROAFACTURARE\COMUN\programe\ofacturare_editare.prg ADDITIVE
@@ -348,22 +353,32 @@ AdaugaTvd(1400, 5, 12, 1, 1, 'ARTICOL 1400', 'COD1400', 60)
AdaugaTrul(1400, 0, 3, 9, 0, 1, '371', 1) AdaugaTrul(1400, 0, 3, 9, 0, 1, '371', 1)
*!* 1500: adaugare in ARTICOLE_SURSA (doar in tvd) - nu se aplica niciodata, trul nu primeste rand nou *!* 1500: adaugare in ARTICOLE_SURSA (doar in tvd) - nu se aplica niciodata, trul nu primeste rand nou
AdaugaTvd(1500, 1, 1, 1, 1, 'ARTICOL 1500', 'COD1500', 1) AdaugaTvd(1500, 1, 1, 1, 1, 'ARTICOL 1500', 'COD1500', 1)
*!* 1600: modificare cu TVA 19% - defalcarea pretvtva -> pretv/tvav (238/2 = 119 -> 100 + 19)
AdaugaTvd(1600, 2, 119, 1, 1, 'ARTICOL 1600', 'COD1600', 238)
AdaugaTrul(1600, 1, 0, 100, 0, 1, '371', 1.19)
LOCAL lnReccountTrulInainte, lnAplicateC1 LOCAL lnReccountTrulInainte, lnAplicateC1
lnReccountTrulInainte = Reccount('trul') lnReccountTrulInainte = Reccount('trul')
lnAplicateC1 = AplicaSincronizareArticole('ARTICOLE_SURSA') lnAplicateC1 = AplicaSincronizareArticole('ARTICOLE_SURSA')
DO asserteaza WITH 'C1 ARTICOLE_SURSA: 2 linii aplicate (modificarile 1300 si 1400; adaugarea 1500 sarita)', lnAplicateC1 == 2, TRANSFORM(lnAplicateC1) DO asserteaza WITH 'C1 ARTICOLE_SURSA: 3 linii aplicate (modificarile 1300, 1400 si 1600; adaugarea 1500 sarita)', lnAplicateC1 == 3, TRANSFORM(lnAplicateC1)
DO asserteaza WITH 'C1: trul nu a crescut (adaugarea 1500 nu creeaza rand RUL nou)', Reccount('trul') == m.lnReccountTrulInainte, TRANSFORM(Reccount('trul')) DO asserteaza WITH 'C1: trul nu a crescut (adaugarea 1500 nu creeaza rand RUL nou)', Reccount('trul') == m.lnReccountTrulInainte, TRANSFORM(Reccount('trul'))
SELECT trul SELECT trul
LOCATE FOR id_articol = 1300 LOCATE FOR id_articol = 1300
DO asserteaza WITH 'C1 1300: cant (campul folosit initial) actualizat la 5, pretvtva la 12, id_tip_rulaj neatins', ; DO asserteaza WITH 'C1 1300: cant (campul folosit initial) actualizat la 5, pretvtva la 12, id_tip_rulaj neatins', ;
Found() AND cant == 5 AND cante == 0 AND pretvtva == 12 AND id_tip_rulaj == 0, TRANSFORM(cant) + '/' + TRANSFORM(cante) Found() AND cant == 5 AND cante == 0 AND pretvtva == 12 AND id_tip_rulaj == 0, TRANSFORM(cant) + '/' + TRANSFORM(cante)
DO asserteaza WITH 'C1 1300: pretv/tvav recalculate (proc_tvav = 1, deci TVA 0 si pretv = pretvtva)', ;
pretv == 12 AND tvav == 0, TRANSFORM(pretv) + '/' + TRANSFORM(tvav)
LOCATE FOR id_articol = 1400 LOCATE FOR id_articol = 1400
DO asserteaza WITH 'C1 1400: cante (campul folosit initial) actualizat la 5, cant ramane 0', ; DO asserteaza WITH 'C1 1400: cante (campul folosit initial) actualizat la 5, cant ramane 0', ;
Found() AND cante == 5 AND cant == 0 AND pretvtva == 12, TRANSFORM(cant) + '/' + TRANSFORM(cante) Found() AND cante == 5 AND cant == 0 AND pretvtva == 12, TRANSFORM(cant) + '/' + TRANSFORM(cante)
LOCATE FOR id_articol = 1600
DO asserteaza WITH 'C1 1600: pretvtva 119 defalcat in pretv 100 + tvav 19, cant actualizat la 2', ;
Found() AND cant == 2 AND pretvtva == 119 AND pretv == 100 AND tvav == 19, ;
TRANSFORM(pretv) + '/' + TRANSFORM(tvav) + '/' + TRANSFORM(cant)
STRTOFILE('REZULTAT: ' + TRANSFORM(gnPass) + ' PASS / ' + TRANSFORM(gnFail) + ' FAIL' + CHR(13) + CHR(10), lcLog, 1) STRTOFILE('REZULTAT: ' + TRANSFORM(gnPass) + ' PASS / ' + TRANSFORM(gnFail) + ' FAIL' + CHR(13) + CHR(10), lcLog, 1)
@@ -395,7 +410,8 @@ PROCEDURE CreeazaTrulTest
Use In trul Use In trul
ENDIF ENDIF
CREATE CURSOR trul (id_articol N(20), denumire C(100), codmat C(30), um C(10), cant N(12,3), cante N(12,3), ; CREATE CURSOR trul (id_articol N(20), denumire C(100), codmat C(30), um C(10), cant N(12,3), cante N(12,3), ;
pretvtva N(14,4), id_tip_rulaj I, sters I, id_gestiune I, cont C(20), proc_tvav N(6,4)) pretv N(14,4), pretvtva N(14,4), tvav N(14,4), id_tip_rulaj I, sters I, id_gestiune I, cont C(20), ;
proc_tvav N(6,4))
ENDPROC ENDPROC