storno eFactura: forma rearanjata (butoane jos, meniu Trimite, stare pe un rand, redimensionabila), sume vizibile in grid (V(250)), fara SET STEP ON in borderou; e2e adaptat (mock xmenu)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WsxyCHJYL6W9MZ6FPnH8ax
This commit is contained in:
@@ -6000,7 +6000,7 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
lcAvertizare = m.lcAvertizare + 'Documentul original e nota de credit / are total negativ - stornarea va produce valori pozitive.' + Chr(13) + Chr(10)
|
lcAvertizare = m.lcAvertizare + 'Documentul original e nota de credit / are total negativ - stornarea va produce valori pozitive.' + Chr(13) + Chr(10)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
CREATE CURSOR crsStornoDetalii (element C(60), original C(250), nou C(250), tip N(1))
|
CREATE CURSOR crsStornoDetalii (element C(60), original V(250), nou V(250), tip N(1))
|
||||||
|
|
||||||
loForma = NEWOBJECT('frm_storno_efactura', 'anaf_efactura.vcx', '', ;
|
loForma = NEWOBJECT('frm_storno_efactura', 'anaf_efactura.vcx', '', ;
|
||||||
Thisform.oAnaf.AnafeFacturaServer, m.lnId, m.lcXmlOriginal, m.lcNumarOriginal, m.ldIssueDate, ;
|
Thisform.oAnaf.AnafeFacturaServer, m.lnId, m.lcXmlOriginal, m.lcNumarOriginal, m.ldIssueDate, ;
|
||||||
@@ -6557,7 +6557,6 @@ DEFINE CLASS anaf_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
If !Empty(m.lnOptiune)
|
If !Empty(m.lnOptiune)
|
||||||
plFaraValidareEFactura = (m.lnOptiune = 2)
|
plFaraValidareEFactura = (m.lnOptiune = 2)
|
||||||
llNuTrimiteEFacturaANAF = (m.lnOptiune = 3)
|
llNuTrimiteEFacturaANAF = (m.lnOptiune = 3)
|
||||||
SET STEP ON
|
|
||||||
llSucces = Thisform.oAnaf.TrimiteFacturi(m.llNuTrimiteEFacturaANAF)
|
llSucces = Thisform.oAnaf.TrimiteFacturi(m.llNuTrimiteEFacturaANAF)
|
||||||
Thisform.pgfeFactura.page1.grdFacturiEmise.Refresh()
|
Thisform.pgfeFactura.page1.grdFacturiEmise.Refresh()
|
||||||
Endif
|
Endif
|
||||||
@@ -15509,7 +15508,7 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
|
|
||||||
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
|
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
|
||||||
*< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="lblAntet" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="lblClient" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="lblNumar" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="lblNumar" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="txtNumar" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="txtNumar" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="lblMotiv" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="lblMotiv" UniqueID="" Timestamp="" />
|
||||||
@@ -15523,8 +15522,7 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
*< OBJECTDATA: ObjPath="grdModificari.cNou.Header1" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="grdModificari.cNou.Header1" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="grdModificari.cNou.Text1" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="grdModificari.cNou.Text1" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="lblStare" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="lblStare" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="edtStatus" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="cmdGenereaza" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="cmdValideaza" UniqueID="" Timestamp="" />
|
|
||||||
*< OBJECTDATA: ObjPath="cmdPdf" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="cmdPdf" UniqueID="" Timestamp="" />
|
||||||
*< OBJECTDATA: ObjPath="cmdTrimite" UniqueID="" Timestamp="" />
|
*< OBJECTDATA: ObjPath="cmdTrimite" UniqueID="" Timestamp="" />
|
||||||
|
|
||||||
@@ -15533,6 +15531,7 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
*m: regenereazaxml
|
*m: regenereazaxml
|
||||||
*m: setstare
|
*m: setstare
|
||||||
*m: umplegrid
|
*m: umplegrid
|
||||||
|
*m: valideaza
|
||||||
*p: pcciffirma
|
*p: pcciffirma
|
||||||
*p: pcclient
|
*p: pcclient
|
||||||
*p: pcfisierstorno
|
*p: pcfisierstorno
|
||||||
@@ -15551,18 +15550,20 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
*</DefinedPropArrayMethod>
|
*</DefinedPropArrayMethod>
|
||||||
|
|
||||||
*<PropValue>
|
*<PropValue>
|
||||||
BorderStyle = 1
|
BorderStyle = 3
|
||||||
DoCreate = .T.
|
DoCreate = .T.
|
||||||
Height = 560
|
Height = 480
|
||||||
|
MinHeight = 480
|
||||||
|
MinWidth = 760
|
||||||
Name = "frm_storno_efactura"
|
Name = "frm_storno_efactura"
|
||||||
pcciffirma = ''
|
pcciffirma =
|
||||||
pcclient = ''
|
pcclient =
|
||||||
pcfisierstorno = ''
|
pcfisierstorno =
|
||||||
pcmoneda = ''
|
pcmoneda =
|
||||||
pcmotiv = ''
|
pcmotiv =
|
||||||
pcnumarnou = ''
|
pcnumarnou =
|
||||||
pcnumaroriginal = ''
|
pcnumaroriginal =
|
||||||
pcxmloriginal = ''
|
pcxmloriginal =
|
||||||
pddataoriginal = {}
|
pddataoriginal = {}
|
||||||
plb2c = .F.
|
plb2c = .F.
|
||||||
pltest = .F.
|
pltest = .F.
|
||||||
@@ -15591,15 +15592,19 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
<memberdata name="regenereazaxml" display="RegenereazaXml"/>
|
<memberdata name="regenereazaxml" display="RegenereazaXml"/>
|
||||||
<memberdata name="setstare" display="SetStare"/>
|
<memberdata name="setstare" display="SetStare"/>
|
||||||
<memberdata name="umplegrid" display="UmpleGrid"/>
|
<memberdata name="umplegrid" display="UmpleGrid"/>
|
||||||
|
<memberdata name="valideaza" display="Valideaza"/>
|
||||||
</VFPData>
|
</VFPData>
|
||||||
|
_shape1.Anchor = 10
|
||||||
_shape1.Height = 29
|
_shape1.Height = 29
|
||||||
_shape1.Left = 0
|
_shape1.Left = 0
|
||||||
_shape1.Name = "_shape1"
|
_shape1.Name = "_shape1"
|
||||||
_shape1.Top = 0
|
_shape1.Top = 0
|
||||||
_shape1.Width = 760
|
_shape1.Width = 760
|
||||||
|
_shape2.Anchor = 9
|
||||||
_shape2.Left = 701
|
_shape2.Left = 701
|
||||||
_shape2.Name = "_shape2"
|
_shape2.Name = "_shape2"
|
||||||
_shape2.Top = 0
|
_shape2.Top = 0
|
||||||
|
Lb_titlu_alb_b121.Anchor = 3
|
||||||
Lb_titlu_alb_b121.Caption = "Stornare eFactura"
|
Lb_titlu_alb_b121.Caption = "Stornare eFactura"
|
||||||
Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121"
|
Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121"
|
||||||
BUT_TERMIN1.Name = "BUT_TERMIN1"
|
BUT_TERMIN1.Name = "BUT_TERMIN1"
|
||||||
@@ -15614,78 +15619,73 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
Top = 2
|
Top = 2
|
||||||
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
||||||
|
|
||||||
|
ADD OBJECT 'cmdGenereaza' AS cmd_executa WITH ;
|
||||||
|
Anchor = 6, ;
|
||||||
|
Caption = "\<Genereaza XML", ;
|
||||||
|
Height = 30, ;
|
||||||
|
Left = 12, ;
|
||||||
|
Name = "cmdGenereaza", ;
|
||||||
|
TabIndex = 4, ;
|
||||||
|
Top = 438, ;
|
||||||
|
Width = 140
|
||||||
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
||||||
|
|
||||||
ADD OBJECT 'cmdPdf' AS cmd_executa WITH ;
|
ADD OBJECT 'cmdPdf' AS cmd_executa WITH ;
|
||||||
|
Anchor = 6, ;
|
||||||
Caption = "\<PDF ANAF", ;
|
Caption = "\<PDF ANAF", ;
|
||||||
Height = 30, ;
|
Height = 30, ;
|
||||||
Left = 160, ;
|
Left = 160, ;
|
||||||
Name = "cmdPdf", ;
|
Name = "cmdPdf", ;
|
||||||
TabIndex = 4, ;
|
TabIndex = 5, ;
|
||||||
Top = 512, ;
|
Top = 438, ;
|
||||||
Width = 140
|
Width = 140
|
||||||
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
||||||
|
|
||||||
ADD OBJECT 'cmdTrimite' AS cmd_executa WITH ;
|
ADD OBJECT 'cmdTrimite' AS cmd_executa WITH ;
|
||||||
|
Anchor = 12, ;
|
||||||
Caption = "\<Trimite la ANAF", ;
|
Caption = "\<Trimite la ANAF", ;
|
||||||
FontBold = .T., ;
|
FontBold = .T., ;
|
||||||
ForeColor = 0,128,0, ;
|
ForeColor = 0,128,0, ;
|
||||||
Height = 30, ;
|
Height = 30, ;
|
||||||
Left = 588, ;
|
Left = 568, ;
|
||||||
Name = "cmdTrimite", ;
|
Name = "cmdTrimite", ;
|
||||||
TabIndex = 5, ;
|
TabIndex = 6, ;
|
||||||
Top = 512, ;
|
Top = 438, ;
|
||||||
Width = 160
|
Width = 180
|
||||||
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
||||||
|
|
||||||
ADD OBJECT 'cmdValideaza' AS cmd_executa WITH ;
|
|
||||||
Caption = "\<Valideaza", ;
|
|
||||||
Height = 30, ;
|
|
||||||
Left = 12, ;
|
|
||||||
Name = "cmdValideaza", ;
|
|
||||||
TabIndex = 3, ;
|
|
||||||
Top = 512, ;
|
|
||||||
Width = 140
|
|
||||||
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
|
|
||||||
|
|
||||||
ADD OBJECT 'edtStatus' AS _editbox WITH ;
|
|
||||||
Height = 50, ;
|
|
||||||
Left = 220, ;
|
|
||||||
Name = "edtStatus", ;
|
|
||||||
ReadOnly = .T., ;
|
|
||||||
Top = 448, ;
|
|
||||||
Width = 528
|
|
||||||
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="editbox" />
|
|
||||||
|
|
||||||
ADD OBJECT 'grdModificari' AS _grdbase WITH ;
|
ADD OBJECT 'grdModificari' AS _grdbase WITH ;
|
||||||
|
Anchor = 15, ;
|
||||||
ColumnCount = 3, ;
|
ColumnCount = 3, ;
|
||||||
DeleteMark = .F., ;
|
DeleteMark = .F., ;
|
||||||
FontSize = 10, ;
|
FontSize = 10, ;
|
||||||
Height = 280, ;
|
Height = 252, ;
|
||||||
Left = 12, ;
|
Left = 12, ;
|
||||||
Name = "grdModificari", ;
|
Name = "grdModificari", ;
|
||||||
Panel = 1, ;
|
Panel = 1, ;
|
||||||
ReadOnly = .T., ;
|
ReadOnly = .T., ;
|
||||||
RecordSource = "crsStornoDetalii", ;
|
RecordSource = "crsStornoDetalii", ;
|
||||||
RowHeight = 19, ;
|
RowHeight = 19, ;
|
||||||
TabIndex = 6, ;
|
TabIndex = 3, ;
|
||||||
Top = 164, ;
|
Top = 134, ;
|
||||||
Width = 736, ;
|
Width = 736, ;
|
||||||
Column1.ControlSource = "crsStornoDetalii.element", ;
|
Column1.ControlSource = "crsStornoDetalii.element", ;
|
||||||
Column1.FontSize = 10, ;
|
Column1.FontSize = 10, ;
|
||||||
Column1.Name = "cElement", ;
|
Column1.Name = "cElement", ;
|
||||||
Column1.ReadOnly = .T., ;
|
Column1.ReadOnly = .T., ;
|
||||||
Column1.Width = 300, ;
|
Column1.Width = 330, ;
|
||||||
Column2.Alignment = 1, ;
|
Column2.Alignment = 1, ;
|
||||||
Column2.ControlSource = "crsStornoDetalii.original", ;
|
Column2.ControlSource = "crsStornoDetalii.original", ;
|
||||||
Column2.FontSize = 10, ;
|
Column2.FontSize = 10, ;
|
||||||
Column2.Name = "cOriginal", ;
|
Column2.Name = "cOriginal", ;
|
||||||
Column2.ReadOnly = .T., ;
|
Column2.ReadOnly = .T., ;
|
||||||
Column2.Width = 200, ;
|
Column2.Width = 180, ;
|
||||||
Column3.Alignment = 1, ;
|
Column3.Alignment = 1, ;
|
||||||
Column3.ControlSource = "crsStornoDetalii.nou", ;
|
Column3.ControlSource = "crsStornoDetalii.nou", ;
|
||||||
Column3.FontSize = 10, ;
|
Column3.FontSize = 10, ;
|
||||||
Column3.Name = "cNou", ;
|
Column3.Name = "cNou", ;
|
||||||
Column3.ReadOnly = .T., ;
|
Column3.ReadOnly = .T., ;
|
||||||
Column3.Width = 200
|
Column3.Width = 180
|
||||||
*< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" />
|
*< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" />
|
||||||
|
|
||||||
ADD OBJECT 'grdModificari.cElement.Header1' AS header WITH ;
|
ADD OBJECT 'grdModificari.cElement.Header1' AS header WITH ;
|
||||||
@@ -15743,84 +15743,88 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
SelectedBackColor = 100,185,255
|
SelectedBackColor = 100,185,255
|
||||||
*< END OBJECT: BaseClass="textbox" />
|
*< END OBJECT: BaseClass="textbox" />
|
||||||
|
|
||||||
ADD OBJECT 'lblAntet' AS _label WITH ;
|
|
||||||
AutoSize = .F., ;
|
|
||||||
Caption = "", ;
|
|
||||||
Height = 46, ;
|
|
||||||
Left = 12, ;
|
|
||||||
Name = "lblAntet", ;
|
|
||||||
Top = 38, ;
|
|
||||||
Width = 736, ;
|
|
||||||
WordWrap = .T.
|
|
||||||
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
|
||||||
|
|
||||||
ADD OBJECT 'lblAvertisment' AS _label WITH ;
|
ADD OBJECT 'lblAvertisment' AS _label WITH ;
|
||||||
|
Anchor = 11, ;
|
||||||
AutoSize = .F., ;
|
AutoSize = .F., ;
|
||||||
Caption = "", ;
|
Caption = "", ;
|
||||||
ForeColor = 192,0,0, ;
|
ForeColor = 192,0,0, ;
|
||||||
Height = 40, ;
|
Height = 36, ;
|
||||||
Left = 12, ;
|
Left = 12, ;
|
||||||
Name = "lblAvertisment", ;
|
Name = "lblAvertisment", ;
|
||||||
Top = 118, ;
|
Top = 90, ;
|
||||||
Width = 736, ;
|
Width = 736, ;
|
||||||
WordWrap = .T.
|
WordWrap = .T.
|
||||||
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
||||||
|
|
||||||
|
ADD OBJECT 'lblClient' AS _label WITH ;
|
||||||
|
Anchor = 1, ;
|
||||||
|
AutoSize = .F., ;
|
||||||
|
Caption = "", ;
|
||||||
|
Height = 18, ;
|
||||||
|
Left = 12, ;
|
||||||
|
Name = "lblClient", ;
|
||||||
|
Top = 34, ;
|
||||||
|
Width = 736
|
||||||
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
||||||
|
|
||||||
ADD OBJECT 'lblMotiv' AS _label WITH ;
|
ADD OBJECT 'lblMotiv' AS _label WITH ;
|
||||||
|
Anchor = 1, ;
|
||||||
Caption = "Motiv (optional):", ;
|
Caption = "Motiv (optional):", ;
|
||||||
Left = 270, ;
|
Left = 270, ;
|
||||||
Name = "lblMotiv", ;
|
Name = "lblMotiv", ;
|
||||||
Top = 90
|
Top = 62
|
||||||
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
||||||
|
|
||||||
ADD OBJECT 'lblNumar' AS _label WITH ;
|
ADD OBJECT 'lblNumar' AS _label WITH ;
|
||||||
|
Anchor = 1, ;
|
||||||
Caption = "Numar storno:", ;
|
Caption = "Numar storno:", ;
|
||||||
Left = 12, ;
|
Left = 12, ;
|
||||||
Name = "lblNumar", ;
|
Name = "lblNumar", ;
|
||||||
Top = 90
|
Top = 62
|
||||||
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
||||||
|
|
||||||
ADD OBJECT 'lblStare' AS _label WITH ;
|
ADD OBJECT 'lblStare' AS _label WITH ;
|
||||||
|
Anchor = 14, ;
|
||||||
|
AutoSize = .F., ;
|
||||||
Caption = "Nevalidat", ;
|
Caption = "Nevalidat", ;
|
||||||
FontBold = .T., ;
|
FontBold = .T., ;
|
||||||
|
ForeColor = 96,96,96, ;
|
||||||
|
Height = 34, ;
|
||||||
Left = 12, ;
|
Left = 12, ;
|
||||||
Name = "lblStare", ;
|
Name = "lblStare", ;
|
||||||
Top = 452, ;
|
Top = 396, ;
|
||||||
Width = 200
|
Width = 736, ;
|
||||||
|
WordWrap = .T.
|
||||||
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
|
||||||
|
|
||||||
ADD OBJECT 'txtMotiv' AS _textbox WITH ;
|
ADD OBJECT 'txtMotiv' AS _textbox WITH ;
|
||||||
|
Anchor = 11, ;
|
||||||
ControlSource = "Thisform.pcmotiv", ;
|
ControlSource = "Thisform.pcmotiv", ;
|
||||||
|
Format = "!K", ;
|
||||||
Height = 23, ;
|
Height = 23, ;
|
||||||
Left = 375, ;
|
Left = 375, ;
|
||||||
MaxLength = 200, ;
|
MaxLength = 200, ;
|
||||||
Name = "txtMotiv", ;
|
Name = "txtMotiv", ;
|
||||||
TabIndex = 2, ;
|
TabIndex = 2, ;
|
||||||
Top = 87, ;
|
Top = 59, ;
|
||||||
Width = 373
|
Width = 373
|
||||||
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
||||||
|
|
||||||
ADD OBJECT 'txtNumar' AS _textbox WITH ;
|
ADD OBJECT 'txtNumar' AS _textbox WITH ;
|
||||||
|
Anchor = 1, ;
|
||||||
ControlSource = "Thisform.pcnumarnou", ;
|
ControlSource = "Thisform.pcnumarnou", ;
|
||||||
|
Format = "!K", ;
|
||||||
Height = 23, ;
|
Height = 23, ;
|
||||||
Left = 105, ;
|
Left = 105, ;
|
||||||
Name = "txtNumar", ;
|
Name = "txtNumar", ;
|
||||||
TabIndex = 1, ;
|
TabIndex = 1, ;
|
||||||
Top = 87, ;
|
Top = 59, ;
|
||||||
Width = 150
|
Width = 150
|
||||||
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
|
||||||
|
|
||||||
PROCEDURE Activate
|
|
||||||
DODEFAULT()
|
|
||||||
TRY
|
|
||||||
This.cmdValideaza.SetFocus()
|
|
||||||
CATCH
|
|
||||||
ENDTRY
|
|
||||||
ENDPROC
|
|
||||||
|
|
||||||
PROCEDURE EnableButoane
|
PROCEDURE EnableButoane
|
||||||
LPARAMETERS tlEnable
|
LPARAMETERS tlEnable
|
||||||
This.cmdValideaza.Enabled = m.tlEnable
|
This.cmdGenereaza.Enabled = m.tlEnable
|
||||||
This.cmdPdf.Enabled = m.tlEnable
|
This.cmdPdf.Enabled = m.tlEnable
|
||||||
This.cmdTrimite.Enabled = m.tlEnable
|
This.cmdTrimite.Enabled = m.tlEnable
|
||||||
This.txtNumar.Enabled = m.tlEnable
|
This.txtNumar.Enabled = m.tlEnable
|
||||||
@@ -15832,6 +15836,7 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
LPARAMETERS toAnaf, tnIdEfactura, tcXmlOriginal, tcNumarOriginal, tdDataOriginal, ;
|
LPARAMETERS toAnaf, tnIdEfactura, tcXmlOriginal, tcNumarOriginal, tdDataOriginal, ;
|
||||||
tcClient, tcCifFirma, tnTotal, tcMoneda, tlTest, tlB2C, tcFisierStorno, tcNumarNou, ;
|
tcClient, tcCifFirma, tnTotal, tcMoneda, tlTest, tlB2C, tcFisierStorno, tcNumarNou, ;
|
||||||
tcAvertizare
|
tcAvertizare
|
||||||
|
DODEFAULT()
|
||||||
|
|
||||||
This.poAnaf = toAnaf
|
This.poAnaf = toAnaf
|
||||||
This.pnIdEfactura = tnIdEfactura
|
This.pnIdEfactura = tnIdEfactura
|
||||||
@@ -15849,8 +15854,7 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
|
|
||||||
This.Caption = 'Stornare eFactura ' + m.tcNumarOriginal + ' - ' + IIF(m.tlTest, 'TEST', 'PRODUCTIE')
|
This.Caption = 'Stornare eFactura ' + m.tcNumarOriginal + ' - ' + IIF(m.tlTest, 'TEST', 'PRODUCTIE')
|
||||||
This.Lb_titlu_alb_b121.Caption = This.Caption
|
This.Lb_titlu_alb_b121.Caption = This.Caption
|
||||||
This.lblAntet.Caption = 'Factura ' + m.tcNumarOriginal + ' din ' + Dtoc(m.tdDataOriginal) + ' -> Storno' + Chr(13) + Chr(10) + ;
|
This.lblClient.Caption = 'Client: ' + m.tcClient + ' CIF: ' + m.tcCifFirma + ' Moneda: ' + m.tcMoneda
|
||||||
'Client: ' + m.tcClient + ' CIF firma: ' + m.tcCifFirma + ' Moneda: ' + m.tcMoneda
|
|
||||||
This.lblAvertisment.Caption = m.tcAvertizare
|
This.lblAvertisment.Caption = m.tcAvertizare
|
||||||
|
|
||||||
This.grdModificari.SetAll("DynamicFontBold", "tip = 2", "Column")
|
This.grdModificari.SetAll("DynamicFontBold", "tip = 2", "Column")
|
||||||
@@ -15870,8 +15874,7 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
|
|
||||||
llSucces = StornoEFacturaXML(This.pcXmlOriginal, m.lcNumarNou, m.lcNotaFinal, This.pcFisierStorno, @laModif, @lcMesaj)
|
llSucces = StornoEFacturaXML(This.pcXmlOriginal, m.lcNumarNou, m.lcNotaFinal, This.pcFisierStorno, @laModif, @lcMesaj)
|
||||||
IF !m.llSucces
|
IF !m.llSucces
|
||||||
This.edtStatus.Value = 'Eroare la regenerare: ' + m.lcMesaj
|
This.SetStare(0, 'Eroare la regenerare: ' + m.lcMesaj)
|
||||||
This.SetStare(0)
|
|
||||||
RETURN .F.
|
RETURN .F.
|
||||||
ENDIF
|
ENDIF
|
||||||
This.UmpleGrid(@laModif)
|
This.UmpleGrid(@laModif)
|
||||||
@@ -15879,27 +15882,32 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
PROCEDURE SetStare
|
PROCEDURE SetStare
|
||||||
LPARAMETERS tnStare
|
LPARAMETERS tnStare, tcMesaj
|
||||||
|
IF PCOUNT() < 2
|
||||||
|
tcMesaj = ''
|
||||||
|
ENDIF
|
||||||
This.pnStare = m.tnStare
|
This.pnStare = m.tnStare
|
||||||
This.cmdPdf.Enabled = .T.
|
This.cmdPdf.Enabled = .T.
|
||||||
|
This.lblStare.ToolTipText = m.tcMesaj
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE m.tnStare = 2
|
CASE m.tnStare = 2
|
||||||
* trimis - stare terminala (D26/D35)
|
* trimis - stare terminala (D26/D35)
|
||||||
This.lblStare.Caption = 'Trimis'
|
This.lblStare.Caption = IIF(Empty(m.tcMesaj), 'Trimis', m.tcMesaj)
|
||||||
This.cmdValideaza.Enabled = .F.
|
This.lblStare.ForeColor = RGB(0,64,160)
|
||||||
This.cmdTrimite.Enabled = .F.
|
This.cmdTrimite.Enabled = .F.
|
||||||
This.txtNumar.Enabled = .F.
|
This.txtNumar.Enabled = .F.
|
||||||
This.txtMotiv.Enabled = .F.
|
This.txtMotiv.Enabled = .F.
|
||||||
CASE m.tnStare = 1
|
CASE m.tnStare = 1
|
||||||
This.lblStare.Caption = 'Valid'
|
This.lblStare.Caption = IIF(Empty(m.tcMesaj), 'Valid', m.tcMesaj)
|
||||||
This.cmdValideaza.Enabled = .T.
|
This.lblStare.ForeColor = RGB(0,128,0)
|
||||||
This.cmdTrimite.Enabled = .T.
|
This.cmdTrimite.Enabled = .T.
|
||||||
This.txtNumar.Enabled = .T.
|
This.txtNumar.Enabled = .T.
|
||||||
This.txtMotiv.Enabled = .T.
|
This.txtMotiv.Enabled = .T.
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
This.lblStare.Caption = 'Nevalidat'
|
* mesaj gol = nevalidat (gri), mesaj dat = eroare de validare/regenerare (rosu)
|
||||||
This.cmdValideaza.Enabled = .T.
|
This.lblStare.Caption = IIF(Empty(m.tcMesaj), 'Nevalidat', m.tcMesaj)
|
||||||
This.cmdTrimite.Enabled = .F.
|
This.lblStare.ForeColor = IIF(Empty(m.tcMesaj), RGB(96,96,96), RGB(192,0,0))
|
||||||
|
This.cmdTrimite.Enabled = .T.
|
||||||
This.txtNumar.Enabled = .T.
|
This.txtNumar.Enabled = .T.
|
||||||
This.txtMotiv.Enabled = .T.
|
This.txtMotiv.Enabled = .T.
|
||||||
ENDCASE
|
ENDCASE
|
||||||
@@ -15919,6 +15927,34 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
This.grdModificari.Refresh()
|
This.grdModificari.Refresh()
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
PROCEDURE Valideaza
|
||||||
|
LOCAL llValid, lcMesajValid, loSrv, loExport
|
||||||
|
IF !This.RegenereazaXml()
|
||||||
|
RETURN .F.
|
||||||
|
ENDIF
|
||||||
|
loSrv = This.poAnaf
|
||||||
|
This.EnableButoane(.F.)
|
||||||
|
WAIT WINDOW 'Se valideaza...' NOWAIT
|
||||||
|
loSrv.RefreshTokenAuto()
|
||||||
|
loExport = CREATEOBJECT('ExportEFactura', .T., loSrv.cToken)
|
||||||
|
llValid = m.loExport.ValidareEFacturaANAF(This.pcFisierStorno, @lcMesajValid)
|
||||||
|
CLEAR TYPEAHEAD
|
||||||
|
WAIT CLEAR
|
||||||
|
This.EnableButoane(.T.)
|
||||||
|
IF m.llValid
|
||||||
|
This.SetStare(1)
|
||||||
|
ELSE
|
||||||
|
This.SetStare(0, IIF(Empty(m.lcMesajValid), 'Validare indisponibila - verificati tokenul/reteaua.', 'Invalid: ' + m.lcMesajValid))
|
||||||
|
ENDIF
|
||||||
|
RETURN m.llValid
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
PROCEDURE cmdGenereaza.Click
|
||||||
|
IF Thisform.RegenereazaXml()
|
||||||
|
Thisform.SetStare(0, 'XML regenerat.')
|
||||||
|
ENDIF
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
PROCEDURE cmdPdf.Click
|
PROCEDURE cmdPdf.Click
|
||||||
LOCAL lcXmlCurent, lcFisierPdf
|
LOCAL lcXmlCurent, lcFisierPdf
|
||||||
lcXmlCurent = Filetostr(Thisform.pcFisierStorno)
|
lcXmlCurent = Filetostr(Thisform.pcFisierStorno)
|
||||||
@@ -15930,10 +15966,27 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
PROCEDURE cmdTrimite.Click
|
PROCEDURE cmdTrimite.Click
|
||||||
LOCAL lcMesajConf, loReturn, lcDirProcesat, lcFisierProcesat
|
LOCAL lcMesajConf, loReturn, lcDirProcesat, lcFisierProcesat, lnOptiune
|
||||||
IF Thisform.pnStare <> 1
|
IF Thisform.pnStare = 2
|
||||||
RETURN
|
RETURN
|
||||||
ENDIF
|
ENDIF
|
||||||
|
lnOptiune = xmenu('\<Valideaza online si Trimite la ANAF;\<Trimite la ANAF fara validare;\<Doar valideaza online')
|
||||||
|
DO CASE
|
||||||
|
CASE m.lnOptiune = 1
|
||||||
|
IF !Thisform.Valideaza()
|
||||||
|
RETURN
|
||||||
|
ENDIF
|
||||||
|
CASE m.lnOptiune = 2
|
||||||
|
IF !Thisform.RegenereazaXml()
|
||||||
|
RETURN
|
||||||
|
ENDIF
|
||||||
|
CASE m.lnOptiune = 3
|
||||||
|
Thisform.Valideaza()
|
||||||
|
RETURN
|
||||||
|
OTHERWISE
|
||||||
|
RETURN
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
lcMesajConf = 'Trimiteti la ANAF (' + IIF(Thisform.plTest,'TEST','PRODUCTIE') + ') stornarea facturii ' + Thisform.pcNumarOriginal + ;
|
lcMesajConf = 'Trimiteti la ANAF (' + IIF(Thisform.plTest,'TEST','PRODUCTIE') + ') stornarea facturii ' + Thisform.pcNumarOriginal + ;
|
||||||
' ca ' + ALLTRIM(Thisform.pcNumarNou) + ', total ' + Transform(Thisform.pnTotal) + ' ' + Thisform.pcMoneda + '? Operatia nu se poate anula.'
|
' ca ' + ALLTRIM(Thisform.pcNumarNou) + ', total ' + Transform(Thisform.pnTotal) + ' ' + Thisform.pcMoneda + '? Operatia nu se poate anula.'
|
||||||
IF AMESSAGEBOX(m.lcMesajConf, 4+32+256, _screen.Caption) <> 6
|
IF AMESSAGEBOX(m.lcMesajConf, 4+32+256, _screen.Caption) <> 6
|
||||||
@@ -15957,37 +16010,12 @@ DEFINE CLASS frm_storno_efactura AS _frmbase OF "_frm_base.vcx"
|
|||||||
ENDTRY
|
ENDTRY
|
||||||
ENDIF
|
ENDIF
|
||||||
goLog.Log('Storno eFactura: ' + Thisform.pcNumarOriginal + ' -> ' + ALLTRIM(Thisform.pcNumarNou) + ', index ' + loReturn.cIdIncarcare + ', ' + IIF(Thisform.plTest,'TEST','PRODUCTIE'))
|
goLog.Log('Storno eFactura: ' + Thisform.pcNumarOriginal + ' -> ' + ALLTRIM(Thisform.pcNumarNou) + ', index ' + loReturn.cIdIncarcare + ', ' + IIF(Thisform.plTest,'TEST','PRODUCTIE'))
|
||||||
Thisform.edtStatus.Value = 'Trimis. Index incarcare ' + loReturn.cIdIncarcare + ' (' + IIF(Thisform.plTest,'TEST','PRODUCTIE') + '). ' + ;
|
|
||||||
'Stergeti factura din ROA si emiteti factura corecta cu acelasi numar. Storno-ul apare in Trimise dupa descarcarea mesajelor.'
|
|
||||||
Thisform.EnableButoane(.T.)
|
Thisform.EnableButoane(.T.)
|
||||||
Thisform.SetStare(2)
|
Thisform.SetStare(2, 'Trimis. Index incarcare ' + loReturn.cIdIncarcare + ' (' + IIF(Thisform.plTest,'TEST','PRODUCTIE') + '). ' + ;
|
||||||
|
'Stergeti factura din ROA si emiteti factura corecta cu acelasi numar. Storno-ul apare in Trimise dupa descarcarea mesajelor.')
|
||||||
ELSE
|
ELSE
|
||||||
Thisform.edtStatus.Value = 'Eroare: ' + loReturn.cMesaj + '. Verificati in Trimise, dupa descarcare, inainte de a retrimite.'
|
|
||||||
Thisform.EnableButoane(.T.)
|
Thisform.EnableButoane(.T.)
|
||||||
Thisform.SetStare(0)
|
Thisform.SetStare(0, 'Eroare: ' + loReturn.cMesaj + '. Verificati in Trimise, dupa descarcare, inainte de a retrimite.')
|
||||||
ENDIF
|
|
||||||
ENDPROC
|
|
||||||
|
|
||||||
PROCEDURE cmdValideaza.Click
|
|
||||||
LOCAL llValid, lcMesajValid, loSrv, loExport
|
|
||||||
IF !Thisform.RegenereazaXml()
|
|
||||||
RETURN
|
|
||||||
ENDIF
|
|
||||||
loSrv = Thisform.poAnaf
|
|
||||||
Thisform.EnableButoane(.F.)
|
|
||||||
WAIT WINDOW 'Se valideaza...' NOWAIT
|
|
||||||
loSrv.RefreshTokenAuto()
|
|
||||||
loExport = CREATEOBJECT('ExportEFactura', .T., loSrv.cToken)
|
|
||||||
llValid = m.loExport.ValidareEFacturaANAF(Thisform.pcFisierStorno, @lcMesajValid)
|
|
||||||
CLEAR TYPEAHEAD
|
|
||||||
WAIT CLEAR
|
|
||||||
Thisform.EnableButoane(.T.)
|
|
||||||
IF m.llValid
|
|
||||||
Thisform.edtStatus.Value = 'Valid.'
|
|
||||||
Thisform.SetStare(1)
|
|
||||||
ELSE
|
|
||||||
Thisform.edtStatus.Value = IIF(Empty(m.lcMesajValid), 'Validare indisponibila - verificati tokenul/reteaua.', 'Invalid: ' + m.lcMesajValid)
|
|
||||||
Thisform.SetStare(0)
|
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|||||||
24
utile/Teste/storno/mock_xmenu_storno.prg
Normal file
24
utile/Teste/storno/mock_xmenu_storno.prg
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
* mock_xmenu_storno.prg - mock XMENU specific testului E2E storno (test_storno_e2e.prg).
|
||||||
|
* Raspunde din coada PUBLIC gaXmenuQueue/gnXmenuQueuePos (populata de test inainte de fiecare
|
||||||
|
* Click care deschide meniul cmdTrimite); coada goala -> 0 (echivalent Esc/renuntare la xmenu).
|
||||||
|
* Logheaza toate apelurile in PUBLIC gaXmenuCalls/gnXmenuCalls.
|
||||||
|
FUNCTION xmenu
|
||||||
|
LPARAMETERS tcItems, tnBar
|
||||||
|
LOCAL lnRaspuns
|
||||||
|
IF TYPE('gnXmenuQueuePos') = 'N' AND gnXmenuQueuePos <= ALEN(gaXmenuQueue)
|
||||||
|
lnRaspuns = gaXmenuQueue[gnXmenuQueuePos]
|
||||||
|
gnXmenuQueuePos = gnXmenuQueuePos + 1
|
||||||
|
ELSE
|
||||||
|
lnRaspuns = 0
|
||||||
|
ENDIF
|
||||||
|
IF TYPE('gnXmenuCalls') = 'N'
|
||||||
|
gnXmenuCalls = gnXmenuCalls + 1
|
||||||
|
DIMENSION gaXmenuCalls[gnXmenuCalls, 2]
|
||||||
|
gaXmenuCalls[gnXmenuCalls, 1] = TRANSFORM(tcItems)
|
||||||
|
gaXmenuCalls[gnXmenuCalls, 2] = lnRaspuns
|
||||||
|
ENDIF
|
||||||
|
IF TYPE('gcUILog') = 'C'
|
||||||
|
DO PrLogLocal WITH 'MOCK xmenu: [' + LEFT(TRANSFORM(tcItems), 100) + '] -> ' + TRANSFORM(lnRaspuns)
|
||||||
|
ENDIF
|
||||||
|
RETURN lnRaspuns
|
||||||
|
ENDFUNC
|
||||||
@@ -8,8 +8,9 @@
|
|||||||
*
|
*
|
||||||
* ZERO trimiteri ANAF: Thisform.oAnaf.AnafeFacturaServer e inlocuit cu MockAnafServerStorno
|
* ZERO trimiteri ANAF: Thisform.oAnaf.AnafeFacturaServer e inlocuit cu MockAnafServerStorno
|
||||||
* (mock_anaf_server_storno.prg) imediat dupa ce forma reala citeste cCodFiscal/lTest de la
|
* (mock_anaf_server_storno.prg) imediat dupa ce forma reala citeste cCodFiscal/lTest de la
|
||||||
* serverul real. cmdValideaza (ValidareEFacturaANAF, apel HTTP real, hardcodat /prod/ -
|
* serverul real. Valideaza() (ValidareEFacturaANAF, apel HTTP real, hardcodat /prod/ -
|
||||||
* xmlefactura.prg:1275,1278) NU e apelat; se ocoleste cu SetStare(1) direct.
|
* xmlefactura.prg:1275,1278) NU e apelat; se ocoleste cu SetStare(1) direct. cmdTrimite.Click
|
||||||
|
* deschide XMENU, mockuit din coada gaXmenuQueue (mock_xmenu_storno.prg).
|
||||||
|
|
||||||
SET SAFETY OFF
|
SET SAFETY OFF
|
||||||
SET TALK OFF
|
SET TALK OFF
|
||||||
@@ -21,15 +22,20 @@ SET NULLDISPLAY TO ''
|
|||||||
CLOSE DATABASES
|
CLOSE DATABASES
|
||||||
|
|
||||||
PUBLIC gcUILog, gcTestDir, gcTesteDir
|
PUBLIC gcUILog, gcTestDir, gcTesteDir
|
||||||
PUBLIC gnPass, gnFail, gnMockRaspuns, gnAmsgCalls, gnMockApeluri
|
PUBLIC gnPass, gnFail, gnMockRaspuns, gnAmsgCalls, gnMockApeluri, gnXmenuCalls, gnXmenuQueuePos
|
||||||
PUBLIC loAnaf, loForm, loMockSrv, loStornoForm, lnLastErrorNo, lcLastErrorMsg
|
PUBLIC loAnaf, loForm, loMockSrv, loStornoForm, lnLastErrorNo, lcLastErrorMsg
|
||||||
DECLARE gaAmsgCalls[1,2]
|
DECLARE gaAmsgCalls[1,2]
|
||||||
DECLARE gaMockApeluri[1,3]
|
DECLARE gaMockApeluri[1,3]
|
||||||
|
DECLARE gaXmenuCalls[1,2]
|
||||||
|
DECLARE gaXmenuQueue[1]
|
||||||
gnPass = 0
|
gnPass = 0
|
||||||
gnFail = 0
|
gnFail = 0
|
||||||
gnAmsgCalls = 0
|
gnAmsgCalls = 0
|
||||||
gnMockApeluri = 0
|
gnMockApeluri = 0
|
||||||
gnMockRaspuns = 6
|
gnMockRaspuns = 6
|
||||||
|
gnXmenuCalls = 0
|
||||||
|
gnXmenuQueuePos = 1
|
||||||
|
gaXmenuQueue[1] = 0
|
||||||
lnLastErrorNo = 0
|
lnLastErrorNo = 0
|
||||||
lcLastErrorMsg = ''
|
lcLastErrorMsg = ''
|
||||||
|
|
||||||
@@ -44,6 +50,7 @@ ON SHUTDOWN QUIT
|
|||||||
* mock-urile INAINTEA test_init_env_auto: la nume duplicat de procedura castiga fisierul
|
* mock-urile INAINTEA test_init_env_auto: la nume duplicat de procedura castiga fisierul
|
||||||
* cautat PRIMUL (vezi mock_amessagebox.prg / capcana testare-ui-vfp.md)
|
* cautat PRIMUL (vezi mock_amessagebox.prg / capcana testare-ui-vfp.md)
|
||||||
SET PROCEDURE TO (gcTestDir + 'mock_amessagebox_storno.prg') ADDITIVE
|
SET PROCEDURE TO (gcTestDir + 'mock_amessagebox_storno.prg') ADDITIVE
|
||||||
|
SET PROCEDURE TO (gcTestDir + 'mock_xmenu_storno.prg') ADDITIVE
|
||||||
SET PROCEDURE TO (gcTestDir + 'mock_anaf_server_storno.prg') ADDITIVE
|
SET PROCEDURE TO (gcTestDir + 'mock_anaf_server_storno.prg') ADDITIVE
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
@@ -365,7 +372,28 @@ DEFINE CLASS DriverStorno AS Custom
|
|||||||
DO TVerdict WITH RECCOUNT('crsStornoDetalii') > 0, 'grid crsStornoDetalii populat', 'reccount=' + TRANSFORM(RECCOUNT('crsStornoDetalii'))
|
DO TVerdict WITH RECCOUNT('crsStornoDetalii') > 0, 'grid crsStornoDetalii populat', 'reccount=' + TRANSFORM(RECCOUNT('crsStornoDetalii'))
|
||||||
DO TVerdict WITH 'TEST' $ UPPER(loStorno.Caption), 'Caption contine TEST', 'caption=[' + loStorno.Caption + ']'
|
DO TVerdict WITH 'TEST' $ UPPER(loStorno.Caption), 'Caption contine TEST', 'caption=[' + loStorno.Caption + ']'
|
||||||
DO TVerdict WITH UPPER(ALLTRIM(loStorno.lblStare.Caption)) == 'NEVALIDAT', 'stare initiala Nevalidat', 'stare=[' + loStorno.lblStare.Caption + ']'
|
DO TVerdict WITH UPPER(ALLTRIM(loStorno.lblStare.Caption)) == 'NEVALIDAT', 'stare initiala Nevalidat', 'stare=[' + loStorno.lblStare.Caption + ']'
|
||||||
|
DO TVerdict WITH loStorno.lblStare.ForeColor == RGB(96,96,96), 'lblStare gri la Nevalidat', 'forecolor=' + TRANSFORM(loStorno.lblStare.ForeColor)
|
||||||
DO TVerdict WITH FILE(loStorno.pcFisierStorno), 'fisier storno exista pe disc', 'fisier=[' + loStorno.pcFisierStorno + ']'
|
DO TVerdict WITH FILE(loStorno.pcFisierStorno), 'fisier storno exista pe disc', 'fisier=[' + loStorno.pcFisierStorno + ']'
|
||||||
|
DO PrLogLocal WITH 'grid coloane: ' + TRANSFORM(loStorno.grdModificari.cElement.Width) + '/' + TRANSFORM(loStorno.grdModificari.cOriginal.Width) + '/' + TRANSFORM(loStorno.grdModificari.cNou.Width) + ;
|
||||||
|
' controlsource: ' + loStorno.grdModificari.cElement.ControlSource + '|' + loStorno.grdModificari.cOriginal.ControlSource + '|' + loStorno.grdModificari.cNou.ControlSource
|
||||||
|
DO TVerdict WITH loStorno.grdModificari.cElement.Width = 330 AND loStorno.grdModificari.cOriginal.Width = 180 AND loStorno.grdModificari.cNou.Width = 180, 'latimi coloane grid (330/180/180)', ''
|
||||||
|
DO TVerdict WITH LOWER(loStorno.grdModificari.cElement.ControlSource) == 'crsstornodetalii.element' AND LOWER(loStorno.grdModificari.cOriginal.ControlSource) == 'crsstornodetalii.original' AND LOWER(loStorno.grdModificari.cNou.ControlSource) == 'crsstornodetalii.nou', 'controlsource coloane grid calificat', ''
|
||||||
|
|
||||||
|
* V(250) in loc de C(250) (fix Marius, cf. docs/storno_forma_ux_diff.md pct.12b) -
|
||||||
|
* sumele nu mai vin cu padding la dreapta, care le scotea vizual din coloana.
|
||||||
|
LOCAL lnPadFail, lcPadDetail
|
||||||
|
lnPadFail = 0
|
||||||
|
lcPadDetail = ''
|
||||||
|
SELECT crsStornoDetalii
|
||||||
|
SCAN
|
||||||
|
IF LEN(crsStornoDetalii.original) != LEN(ALLTRIM(crsStornoDetalii.original)) OR LEN(crsStornoDetalii.nou) != LEN(ALLTRIM(crsStornoDetalii.nou))
|
||||||
|
lnPadFail = lnPadFail + 1
|
||||||
|
lcPadDetail = lcPadDetail + 'rand=' + TRANSFORM(RECNO()) + ' original=[' + crsStornoDetalii.original + '] nou=[' + crsStornoDetalii.nou + '] '
|
||||||
|
ENDIF
|
||||||
|
ENDSCAN
|
||||||
|
DO TVerdict WITH lnPadFail = 0, 'fara padding pe original/nou (V(250), sumele nu mai ies din coloana)', 'randuri cu padding=' + TRANSFORM(lnPadFail) + ' ' + lcPadDetail
|
||||||
|
|
||||||
|
DO TVerdict WITH EMPTY(loStorno.txtMotiv.Value), 'txtMotiv fara apostrofuri la init', 'value=[' + TRANSFORM(loStorno.txtMotiv.Value) + ']'
|
||||||
This.nState = 1
|
This.nState = 1
|
||||||
|
|
||||||
CASE This.nState = 1
|
CASE This.nState = 1
|
||||||
@@ -381,8 +409,20 @@ DEFINE CLASS DriverStorno AS Custom
|
|||||||
loStorno = loStornoForm
|
loStorno = loStornoForm
|
||||||
loStorno.SetStare(1)
|
loStorno.SetStare(1)
|
||||||
DO TVerdict WITH UPPER(ALLTRIM(loStorno.lblStare.Caption)) == 'VALID', 'SetStare(1) -> Valid (ocolire ValidareEFacturaANAF, retea reala, cf. instructiuni)', 'stare=[' + loStorno.lblStare.Caption + ']'
|
DO TVerdict WITH UPPER(ALLTRIM(loStorno.lblStare.Caption)) == 'VALID', 'SetStare(1) -> Valid (ocolire ValidareEFacturaANAF, retea reala, cf. instructiuni)', 'stare=[' + loStorno.lblStare.Caption + ']'
|
||||||
|
DO TVerdict WITH loStorno.lblStare.ForeColor == RGB(0,128,0), 'lblStare verde la Valid', 'forecolor=' + TRANSFORM(loStorno.lblStare.ForeColor)
|
||||||
|
|
||||||
|
* renuntare la xmenu (0) -> cmdTrimite.Click nu schimba nimic, fara retea
|
||||||
|
gaXmenuQueue[1] = 0
|
||||||
|
gnXmenuQueuePos = 1
|
||||||
loStorno.cmdTrimite.Click()
|
loStorno.cmdTrimite.Click()
|
||||||
DO TVerdict WITH UPPER(ALLTRIM(loStorno.lblStare.Caption)) == 'TRIMIS', 'dupa cmdTrimite.Click -> Trimis', 'stare=[' + loStorno.lblStare.Caption + ']'
|
DO TVerdict WITH UPPER(ALLTRIM(loStorno.lblStare.Caption)) == 'VALID', 'renuntare xmenu -> starea nu se schimba', 'stare=[' + loStorno.lblStare.Caption + ']'
|
||||||
|
|
||||||
|
* optiunea 2 (trimite fara validare, cf. instructiuni: fara Valideaza/retea reala)
|
||||||
|
gaXmenuQueue[1] = 2
|
||||||
|
gnXmenuQueuePos = 1
|
||||||
|
loStorno.cmdTrimite.Click()
|
||||||
|
DO TVerdict WITH loStorno.pnStare = 2, 'dupa cmdTrimite.Click (xmenu=2) -> Trimis', 'pnStare=' + TRANSFORM(loStorno.pnStare) + ' caption=[' + loStorno.lblStare.Caption + ']'
|
||||||
|
DO TVerdict WITH loStorno.lblStare.ForeColor == RGB(0,64,160), 'lblStare albastru la Trimis', 'forecolor=' + TRANSFORM(loStorno.lblStare.ForeColor)
|
||||||
DO TVerdict WITH ExistaApelMock('TrimiteFacturaXML'), 'mock a primit TrimiteFacturaXML', ''
|
DO TVerdict WITH ExistaApelMock('TrimiteFacturaXML'), 'mock a primit TrimiteFacturaXML', ''
|
||||||
This.nState = 3
|
This.nState = 3
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user