#13: formular de facturare unificat - etapa curenta
Squash al branch-ului de lucru plan13-s2. Cod: clasa noua ofacturare_util (geometrie si utilitare de formular), inrolata in roafacturare.prg; meniul "Facturare (nou)" plat, cu reparatia literalului peste limita VFP de 255 de caractere care impiedica compilarea metodei. Livrare: changelog 2.11.19, marcajul de versiune DB pentru scripturile finale din SCRIPTURI_CLAR\2026\09, inventarul livrarii in docs/livrare_13.md si registrul de erori deschise. Documentatia de lucru a etapei (cercetare, rapoarte, handoff-uri, snapshot-uri de scripturi si backup-uri de rollback) a fost scoasa din arbore. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PkyjGyrV2S7932om4kfSiK
This commit is contained in:
136
Clase/ofacturare_util.vc2
Normal file
136
Clase/ofacturare_util.vc2
Normal file
@@ -0,0 +1,136 @@
|
||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
*< FOXBIN2PRG: Version="1.21" SourceFile="ofacturare_util.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||
*
|
||||
*
|
||||
DEFINE CLASS frm_cursuri_valutare AS _frmbase OF "_frm_base.vcx"
|
||||
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||
|
||||
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
|
||||
*< OBJECTDATA: ObjPath="grd_cursuri" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="grd_cursuri.cCurs.Header1" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="grd_cursuri.cCurs.Text1" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="grd_cursuri.cNume_val.Header1" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="grd_cursuri.cNume_val.Text1" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="grd_cursuri.cMultiplicator.Header1" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="grd_cursuri.cMultiplicator.Text1" UniqueID="" Timestamp="" />
|
||||
|
||||
*<PropValue>
|
||||
AutoCenter = .T.
|
||||
Caption = "Cursuri valutare"
|
||||
DoCreate = .T.
|
||||
Height = 224
|
||||
Name = "frm_cursuri_valutare"
|
||||
Width = 420
|
||||
WindowType = 1
|
||||
_shape1.Name = "_shape1"
|
||||
_shape1.Width = 422
|
||||
_shape2.Left = 370
|
||||
_shape2.Name = "_shape2"
|
||||
Lb_titlu_alb_b121.Caption = "Curs valutar"
|
||||
Lb_titlu_alb_b121.FontBold = .T.
|
||||
Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121"
|
||||
BUT_TERMIN1.Left = 390
|
||||
BUT_TERMIN1.Name = "BUT_TERMIN1"
|
||||
*</PropValue>
|
||||
|
||||
ADD OBJECT 'grd_cursuri' AS _grdrow WITH ;
|
||||
ColumnCount = 3, ;
|
||||
DeleteMark = .F., ;
|
||||
FontName = "Arial Narrow", ;
|
||||
Height = 180, ;
|
||||
Left = 12, ;
|
||||
Name = "grd_cursuri", ;
|
||||
ScrollBars = 2, ;
|
||||
TabIndex = 1, ;
|
||||
Top = 32, ;
|
||||
Width = 396, ;
|
||||
Column1.ColumnOrder = 3, ;
|
||||
Column1.ControlSource = "curs", ;
|
||||
Column1.FontName = "Arial Narrow", ;
|
||||
Column1.InputMask = (get_mask(14,gnPCurs)), ;
|
||||
Column1.Name = "cCurs", ;
|
||||
Column1.Width = 102, ;
|
||||
Column2.ColumnOrder = 2, ;
|
||||
Column2.ControlSource = "nume_val", ;
|
||||
Column2.FontName = "Arial Narrow", ;
|
||||
Column2.Name = "cNume_val", ;
|
||||
Column2.Width = 130, ;
|
||||
Column3.ColumnOrder = 1, ;
|
||||
Column3.ControlSource = "multiplicator", ;
|
||||
Column3.FontName = "Arial Narrow", ;
|
||||
Column3.InputMask = (get_mask(10,0)), ;
|
||||
Column3.Name = "cMultiplicator", ;
|
||||
Column3.Width = 130
|
||||
*< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" />
|
||||
|
||||
ADD OBJECT 'grd_cursuri.cCurs.Header1' AS header WITH ;
|
||||
Alignment = 2, ;
|
||||
Caption = "Curs", ;
|
||||
FontName = "Arial Narrow", ;
|
||||
Name = "Header1"
|
||||
*< END OBJECT: BaseClass="header" />
|
||||
|
||||
ADD OBJECT 'grd_cursuri.cCurs.Text1' AS textbox WITH ;
|
||||
BackColor = 255,255,255, ;
|
||||
BorderStyle = 0, ;
|
||||
FontName = "Arial Narrow", ;
|
||||
ForeColor = 0,0,0, ;
|
||||
Margin = 0, ;
|
||||
Name = "Text1", ;
|
||||
SelectedBackColor = 0,64,128
|
||||
*< END OBJECT: BaseClass="textbox" />
|
||||
|
||||
ADD OBJECT 'grd_cursuri.cMultiplicator.Header1' AS header WITH ;
|
||||
Alignment = 2, ;
|
||||
Caption = "Multiplicator", ;
|
||||
FontName = "Arial Narrow", ;
|
||||
Name = "Header1"
|
||||
*< END OBJECT: BaseClass="header" />
|
||||
|
||||
ADD OBJECT 'grd_cursuri.cMultiplicator.Text1' AS textbox WITH ;
|
||||
BackColor = 255,255,255, ;
|
||||
BorderStyle = 0, ;
|
||||
FontName = "Arial Narrow", ;
|
||||
ForeColor = 0,0,0, ;
|
||||
Margin = 0, ;
|
||||
Name = "Text1", ;
|
||||
SelectedBackColor = 100,185,255
|
||||
*< END OBJECT: BaseClass="textbox" />
|
||||
|
||||
ADD OBJECT 'grd_cursuri.cNume_val.Header1' AS header WITH ;
|
||||
Alignment = 2, ;
|
||||
Caption = "Valuta", ;
|
||||
FontName = "Arial Narrow", ;
|
||||
Name = "Header1"
|
||||
*< END OBJECT: BaseClass="header" />
|
||||
|
||||
ADD OBJECT 'grd_cursuri.cNume_val.Text1' AS textbox WITH ;
|
||||
BackColor = 255,255,255, ;
|
||||
BorderStyle = 0, ;
|
||||
FontName = "Arial Narrow", ;
|
||||
ForeColor = 0,0,0, ;
|
||||
Margin = 0, ;
|
||||
Name = "Text1", ;
|
||||
SelectedBackColor = 0,64,128
|
||||
*< END OBJECT: BaseClass="textbox" />
|
||||
|
||||
PROCEDURE Init
|
||||
Lparameters tcCursor, tdZiCurs, tnTip
|
||||
Local lcCursor
|
||||
DoDefault()
|
||||
lcCursor = Iif(Empty(tcCursor), 'crscursuri', tcCursor)
|
||||
If !Used(m.lcCursor) Or Reccount(m.lcCursor) = 0
|
||||
This.Release()
|
||||
Return .F.
|
||||
Endif
|
||||
This.grd_cursuri.RecordSource = m.lcCursor
|
||||
If !Empty(Nvl(m.tdZiCurs, {}))
|
||||
This.Lb_titlu_alb_b121.Caption = "Curs valutar (" + Dtoc(m.tdZiCurs) + ")"
|
||||
Else
|
||||
This.Lb_titlu_alb_b121.Caption = "Curs valutar"
|
||||
Endif
|
||||
ENDPROC
|
||||
|
||||
ENDDEFINE
|
||||
@@ -32,11 +32,14 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
*< OBJECTDATA: ObjPath="Page2.Cw8" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page2.Pict_liniuta2" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page2.Cw9" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page2.Cw10" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page2.Pict_liniuta1" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page3.Pict_meniu1" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page3.Cw1" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page3.Cw4" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page3.Cw3" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page3.Cw2" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page3.Cw5" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page4.Pict_meniu1" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page4.Cw1" UniqueID="" Timestamp="" />
|
||||
*< OBJECTDATA: ObjPath="Page4.Cw4" UniqueID="" Timestamp="" />
|
||||
@@ -244,6 +247,16 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
Label_item1.WordWrap = .T.
|
||||
*< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" />
|
||||
|
||||
ADD OBJECT 'Page2.Cw10' AS cw WITH ;
|
||||
Left = 5, ;
|
||||
Name = "Cw10", ;
|
||||
nid_cw = 10, ;
|
||||
TabIndex = 10, ;
|
||||
Top = 250, ;
|
||||
Label_item1.Caption = "Facturare (nou)", ;
|
||||
Label_item1.Name = "Label_item1"
|
||||
*< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" />
|
||||
|
||||
ADD OBJECT 'Page2.Cw2' AS cw WITH ;
|
||||
Left = 5, ;
|
||||
Name = "Cw2", ;
|
||||
@@ -348,6 +361,13 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
LABEL_ITEM1.WordWrap = .T.
|
||||
*< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" />
|
||||
|
||||
ADD OBJECT 'Page2.Pict_liniuta1' AS pict_liniuta WITH ;
|
||||
Left = 6, ;
|
||||
Name = "Pict_liniuta1", ;
|
||||
Picture = ..\comun\grafice\f3.jpg, ;
|
||||
Top = 239
|
||||
*< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="image" />
|
||||
|
||||
ADD OBJECT 'Page2.Pict_liniuta2' AS pict_liniuta WITH ;
|
||||
Left = 6, ;
|
||||
Name = "Pict_liniuta2", ;
|
||||
@@ -411,6 +431,16 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
Label_item1.WordWrap = .T.
|
||||
*< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" />
|
||||
|
||||
ADD OBJECT 'Page3.Cw5' AS cw WITH ;
|
||||
Left = 5, ;
|
||||
Name = "Cw5", ;
|
||||
nid_cw = 5, ;
|
||||
TabIndex = 5, ;
|
||||
Top = 106, ;
|
||||
Label_item1.Caption = "Avize (nou)", ;
|
||||
Label_item1.Name = "Label_item1"
|
||||
*< END OBJECT: ClassLib="..\comun\clase\ofundal.vcx" BaseClass="container" />
|
||||
|
||||
ADD OBJECT 'Page3.Pict_meniu1' AS pict_meniu WITH ;
|
||||
Height = 473, ;
|
||||
Left = 2, ;
|
||||
@@ -619,6 +649,9 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
_grdrow1.cAgent.Header1.Name = "Header1", ;
|
||||
_grdrow1.cAgent.Name = "cAgent", ;
|
||||
_grdrow1.cAgent.Text1.Name = "Text1", ;
|
||||
_grdrow1.cCodFiscal.Header1.Name = "Header1", ;
|
||||
_grdrow1.cCodFiscal.Name = "cCodFiscal", ;
|
||||
_grdrow1.cCodFiscal.Text1.Name = "Text1", ;
|
||||
_grdrow1.cComanda_externa.Header1.Name = "Header1", ;
|
||||
_grdrow1.cComanda_externa.Name = "cComanda_externa", ;
|
||||
_grdrow1.cComanda_externa.Text1.Name = "Text1", ;
|
||||
@@ -641,6 +674,9 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
_grdrow1.cFacturat.Name = "cFacturat", ;
|
||||
_grdrow1.cFacturat._checkbox1.Alignment = 2, ;
|
||||
_grdrow1.cFacturat._checkbox1.Name = "_checkbox1", ;
|
||||
_grdrow1.cIdPart.Header1.Name = "Header1", ;
|
||||
_grdrow1.cIdPart.Name = "cIdPart", ;
|
||||
_grdrow1.cIdPart.Text1.Name = "Text1", ;
|
||||
_grdrow1.cLucrare.Header1.Name = "Header1", ;
|
||||
_grdrow1.cLucrare.Name = "cLucrare", ;
|
||||
_grdrow1.cLucrare.Text1.Name = "Text1", ;
|
||||
@@ -690,6 +726,9 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
_grdrow2.cNrCrt.Header1.Name = "Header1", ;
|
||||
_grdrow2.cNrCrt.Name = "cNrCrt", ;
|
||||
_grdrow2.cNrCrt.Text1.Name = "Text1", ;
|
||||
_grdrow2.cNumeListaPreturi.Header1.Name = "Header1", ;
|
||||
_grdrow2.cNumeListaPreturi.Name = "cNumeListaPreturi", ;
|
||||
_grdrow2.cNumeListaPreturi.Text1.Name = "Text1", ;
|
||||
_grdrow2.cPret.Header1.Name = "Header1", ;
|
||||
_grdrow2.cPret.Name = "cPret", ;
|
||||
_grdrow2.cPret.Text1.Name = "Text1", ;
|
||||
@@ -697,6 +736,9 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
_grdrow2.cPret_cu_tva.Name = "cPret_cu_tva", ;
|
||||
_grdrow2.cPret_cu_tva._checkbox1.Alignment = 2, ;
|
||||
_grdrow2.cPret_cu_tva._checkbox1.Name = "_checkbox1", ;
|
||||
_grdrow2.cPTVA.Header1.Name = "Header1", ;
|
||||
_grdrow2.cPTVA.Name = "cPTVA", ;
|
||||
_grdrow2.cPTVA.Text1.Name = "Text1", ;
|
||||
_grdrow2.Height = 367, ;
|
||||
_grdrow2.Left = 173, ;
|
||||
_grdrow2.Name = "_grdrow2", ;
|
||||
@@ -734,7 +776,8 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
Cmd_executa4.Top = 425, ;
|
||||
But_factura1.Name = "But_factura1", ;
|
||||
BUT_START_CRITERII1.Name = "BUT_START_CRITERII1", ;
|
||||
BUT_RESET_CRITERII1.Name = "BUT_RESET_CRITERII1"
|
||||
BUT_RESET_CRITERII1.Name = "BUT_RESET_CRITERII1", ;
|
||||
But_attach1.Name = "But_attach1"
|
||||
*< END OBJECT: ClassLib="..\comun\clase\ocomenzi.vcx" BaseClass="container" />
|
||||
|
||||
ADD OBJECT 'Page6.Ct_lucrari_detalii1' AS ct_lucrari_detalii WITH ;
|
||||
@@ -883,6 +926,45 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
DO facturare_lista_de_preturi IN oproceduri_facturare.prg
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE Page2.Cw10.do_actiune
|
||||
Private plFacturareNoua
|
||||
plFacturareNoua = .T.
|
||||
lcOptiuni = 'In lei;Retur factura in lei;Restaurant;Marfa in custodie - fara descarcare K;Marfa in custodie - cu descarcare K;\-;Invoice;Credit note;Factura fiscala in valuta;Retur factura in valuta'
|
||||
lcOptiuni = m.lcOptiuni + ';\-;Contract: Factura lei;Contract: Invoice;Contract: Factura fiscala in valuta;\-;Pe baza de comanda;Din aviz'
|
||||
lnOptiune = xmenu(m.lcOptiuni)
|
||||
DO CASE
|
||||
CASE m.lnOptiune = 1
|
||||
factureaza(1)
|
||||
CASE m.lnOptiune = 2
|
||||
factureaza(8)
|
||||
CASE m.lnOptiune = 3
|
||||
factureaza(45)
|
||||
CASE m.lnOptiune = 4
|
||||
factureaza(49)
|
||||
CASE m.lnOptiune = 5
|
||||
factureaza(48)
|
||||
CASE m.lnOptiune = 7
|
||||
factureaza(5)
|
||||
CASE m.lnOptiune = 8
|
||||
factureaza(7)
|
||||
CASE m.lnOptiune = 9
|
||||
factureaza(10)
|
||||
CASE m.lnOptiune = 10
|
||||
factureaza(9)
|
||||
CASE m.lnOptiune = 12
|
||||
DO facturare_contracte WITH 'FACTURA LEI' IN oproceduri_facturare.prg
|
||||
CASE m.lnOptiune = 13
|
||||
DO facturare_contracte WITH 'INVOICE' IN oproceduri_facturare.prg
|
||||
CASE m.lnOptiune = 14
|
||||
DO facturare_contracte WITH 'FACTURA VALUTA' IN oproceduri_facturare.prg
|
||||
CASE m.lnOptiune = 16
|
||||
goComanda = ''
|
||||
DO facturare_comenzi IN oproceduri_facturare.prg
|
||||
CASE m.lnOptiune = 17
|
||||
DO facturare_avize IN oproceduri_facturare.prg
|
||||
ENDCASE
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE Page2.Cw2.do_actiune
|
||||
lnOptiune = xmenu('Factura lei;Invoice;Factura fiscala in valuta')
|
||||
DO CASE
|
||||
@@ -941,6 +1023,22 @@ DEFINE CLASS pg_meniu_princ AS pg_meniu OF "..\comun\clase\ofundal.vcx"
|
||||
DO aviz_subunitati.mpr
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE Page3.Cw5.do_actiune
|
||||
Private plFacturareNoua
|
||||
plFacturareNoua = .T.
|
||||
lnOptiune = xmenu('C<>tre clien<65>i;C<>tre clien<65>i <20>n custodie;C<>tre clien<65>i debitori;Transfer <20>ntre subunit<69><74>i')
|
||||
DO CASE
|
||||
CASE m.lnOptiune = 1
|
||||
This.Parent.Cw1.do_actiune()
|
||||
CASE m.lnOptiune = 2
|
||||
This.Parent.Cw2.do_actiune()
|
||||
CASE m.lnOptiune = 3
|
||||
This.Parent.Cw3.do_actiune()
|
||||
CASE m.lnOptiune = 4
|
||||
This.Parent.Cw4.do_actiune()
|
||||
ENDCASE
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE Page4.Cw1.do_actiune
|
||||
lnOptiune = xmenu('Vizualizare \<standard;Vizualizare \<experimentala (mai rapida)')
|
||||
If Empty(m.lnOptiune)
|
||||
|
||||
Reference in New Issue
Block a user