1381 lines
48 KiB
Plaintext
1381 lines
48 KiB
Plaintext
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
*< FOXBIN2PRG: Version="1.21" SourceFile="frm_autopass.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
|
*
|
|
*
|
|
DEFINE CLASS dataenvironment AS dataenvironment
|
|
*< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" />
|
|
|
|
*<PropValue>
|
|
DataSource = .NULL.
|
|
Height = 0
|
|
Left = 0
|
|
Name = "Dataenvironment"
|
|
Top = 0
|
|
Width = 0
|
|
*</PropValue>
|
|
|
|
ENDDEFINE
|
|
|
|
DEFINE CLASS frm_autopass1 AS _frmbase OF "..\comun\clase\_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="ShpBadgeMediu1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="LblBadgeMediu1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="LblPerioada1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="TxtDataInceput1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="LblPerioadaLinie1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="TxtDataSfarsit1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="ButActualizeaza1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="LblAcoperire1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="ButConfigurare1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1.LblUrl1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1.TxtUrl1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1.LblCheie1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1.TxtCheie1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1.ButAratacheie1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1.LblMediu1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1.CboMediu1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1.ButTestConexiune1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1.ButSalveazaConfig1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="PnlConfigurare1.LblConfigMesaj1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column1.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column1.Chk1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column2.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column2.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column3.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column3.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column4.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column4.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column5.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column5.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column6.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column6.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column7.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column7.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column8.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column8.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column9.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column9.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column10.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column10.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column11.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column11.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column12.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column12.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column13.Header1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="GrdComenzi1.Column13.Text1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="LblMotivTitlu1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="TxtMotivRand1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="ButSelecteazaTot1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="ButValideazaDryrun1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="ButTransmite1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="ButActualizeazaStatusuri1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="ButDeschideDashboard1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="ButRenuntaActiuni1" UniqueID="" Timestamp="" />
|
|
*< OBJECTDATA: ObjPath="LblProgres1" UniqueID="" Timestamp="" />
|
|
|
|
*<DefinedPropArrayMethod>
|
|
*m: col_bifa_when && When() pe coloana de bifa a gridului - randurile invalide/netransmisibile nu se pot bifa (grid VFP nu are readonly per celula)
|
|
*m: culoare_status && Culoarea (RGB) asociata unui status brut din gateway, pt DynamicForeColor in grid
|
|
*m: do_actualizeaza_perioada && Reincarca cursoarele US-002 pentru perioada curenta din forma
|
|
*m: do_actualizeaza_statusuri && Re-apeleaza autopass_situatie() + coreleaza si reimprospateaza gridul (US-005)
|
|
*m: do_deschide_dashboard && Deschide in browser URL-ul gateway-ului din configurare
|
|
*m: do_test_conexiune && GET /v1/ping - actualizeaza badge-ul de mediu si starea butoanelor
|
|
*m: do_toggle_arata_cheie
|
|
*m: do_toggle_configurare
|
|
*m: do_transmite && POST /v1/prezentari in loturi de max nMaxLot, cu progres si Renunta intre loturi
|
|
*m: do_valideaza_dryrun && POST /v1/prezentari/valideaza in loturi - completeaza doar coloana Verdict validare
|
|
*m: eticheta_status && Traduce statusul brut din gateway (queued/sent/...) in eticheta romaneasca (vocabular US-004)
|
|
*m: incarca_date && Construieste crs_autopass_comenzi + crs_autopass_operatii, aplica situatia gateway si reimprospateaza gridul
|
|
*m: incarca_lot_din_grid && Construieste array de obiecte {vin,nrinmat,data_prestatie,odometru_final,prestatii[],obs,id_ordl} pt un lot de max nMaxLot randuri bifate
|
|
*m: obtine_id_bifate && Array cu id_ordl ale randurilor bifate din crs_autopass_comenzi
|
|
*m: recalculeaza_acoperire && Recalculeaza N/M/K si actualizeaza LblAcoperire1
|
|
*m: salveaza_config
|
|
*p: ccursordetaliu && Numele cursorului temporar cu operatiile (crs_autopass_operatii)
|
|
*p: ccursorheader && Numele cursorului temporar cu comenzile (crs_autopass_comenzi)
|
|
*p: ddatainceput
|
|
*p: ddatasfarsit
|
|
*p: lanulare && Setat de ButRenuntaActiuni1 in timpul unei transmiteri/dry-run in curs - verificat intre loturi
|
|
*p: lconfigok
|
|
*p: loperatieincurs && .T. cat timp o transmitere/dry-run e in desfasurare (guard dubla-apasare + tine ButRenuntaActiuni1 in modul "opreste")
|
|
*p: lpingok
|
|
*</DefinedPropArrayMethod>
|
|
|
|
*<PropValue>
|
|
AutoCenter = .T.
|
|
Caption = "Trimitere operatii facturate la RAR AUTOPASS"
|
|
ccursordetaliu = "crs_autopass_operatii"
|
|
ccursorheader = "crs_autopass_comenzi"
|
|
ddatainceput = {}
|
|
ddatasfarsit = {}
|
|
DoCreate = .T.
|
|
Height = 700
|
|
lanulare = .F.
|
|
lconfigok = .F.
|
|
loperatieincurs = .F.
|
|
lpingok = .F.
|
|
MaxButton = .F.
|
|
MinButton = .F.
|
|
Name = "Frm_autopass1"
|
|
Width = 1020
|
|
WindowType = 1
|
|
_shape1.Width = 1017
|
|
_shape2.Left = 962
|
|
Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121"
|
|
BUT_TERMIN1.Left = 984
|
|
BUT_TERMIN1.Name = "BUT_TERMIN1"
|
|
BUT_TERMIN1.ToolTipText = "Inchide fereastra (ESC)"
|
|
Gridsort1.Name = "Gridsort1"
|
|
*</PropValue>
|
|
|
|
ADD OBJECT 'ButActualizeaza1' AS _commandbutton WITH ;
|
|
Caption = "Actualizeaza", ;
|
|
Height = 24, ;
|
|
Left = 332, ;
|
|
Name = "ButActualizeaza1", ;
|
|
Top = 60, ;
|
|
Width = 96
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'ButActualizeazaStatusuri1' AS _commandbutton WITH ;
|
|
Anchor = 10, ;
|
|
Caption = "Actualizeaza statusuri", ;
|
|
Height = 28, ;
|
|
Left = 664, ;
|
|
Name = "ButActualizeazaStatusuri1", ;
|
|
Top = 566, ;
|
|
Width = 170
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'ButConfigurare1' AS _commandbutton WITH ;
|
|
Anchor = 9, ;
|
|
Caption = "Configurare >>", ;
|
|
Height = 24, ;
|
|
Left = 904, ;
|
|
Name = "ButConfigurare1", ;
|
|
Top = 60, ;
|
|
Width = 108
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'ButDeschideDashboard1' AS _commandbutton WITH ;
|
|
Anchor = 10, ;
|
|
BackColor = 0,90,160, ;
|
|
Caption = "Dashboard AutoPass", ;
|
|
FontBold = .T., ;
|
|
ForeColor = 255,255,255, ;
|
|
Height = 28, ;
|
|
Left = 851, ;
|
|
Name = "ButDeschideDashboard1", ;
|
|
Top = 566, ;
|
|
Width = 150
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'ButRenuntaActiuni1' AS _commandbutton WITH ;
|
|
Anchor = 6, ;
|
|
BackColor = 180,0,0, ;
|
|
Caption = "Renunta", ;
|
|
FontBold = .T., ;
|
|
ForeColor = 255,255,255, ;
|
|
Height = 28, ;
|
|
Left = 494, ;
|
|
Name = "ButRenuntaActiuni1", ;
|
|
Top = 566, ;
|
|
Visible = .F., ;
|
|
Width = 140
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'ButSelecteazaTot1' AS cmd_select_adv WITH ;
|
|
Anchor = 6, ;
|
|
ccoloana = "lbifat", ;
|
|
cFiltruSuplimentar = "lvalid AND !INLIST(status_autopass,'queued','sent','deduped','held','needs_mapping','needs_data')", ;
|
|
cgrid = "thisform.GrdComenzi1", ;
|
|
Left = 8, ;
|
|
Name = "ButSelecteazaTot1", ;
|
|
Top = 566, ;
|
|
Width = 160
|
|
*< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'ButTransmite1' AS _commandbutton WITH ;
|
|
Anchor = 6, ;
|
|
BackColor = 0,120,40, ;
|
|
Caption = "Transmite", ;
|
|
FontBold = .T., ;
|
|
FontSize = 11, ;
|
|
ForeColor = 255,255,255, ;
|
|
Height = 30, ;
|
|
Left = 348, ;
|
|
Name = "ButTransmite1", ;
|
|
Top = 565, ;
|
|
Width = 140
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'ButValideazaDryrun1' AS _commandbutton WITH ;
|
|
Anchor = 6, ;
|
|
Caption = "Valideaza (dry-run)", ;
|
|
Height = 28, ;
|
|
Left = 188, ;
|
|
Name = "ButValideazaDryrun1", ;
|
|
Top = 566, ;
|
|
Width = 150
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'GrdComenzi1' AS _grid WITH ;
|
|
Anchor = 15, ;
|
|
ColumnCount = 13, ;
|
|
DeleteMark = .F., ;
|
|
FontName = "Arial Narrow", ;
|
|
Height = 370, ;
|
|
lcamptextneeditabil = .T., ;
|
|
Left = 8, ;
|
|
Name = "GrdComenzi1", ;
|
|
ReadOnly = .F., ;
|
|
RecordSource = "", ;
|
|
RowHeight = 18, ;
|
|
Top = 118, ;
|
|
Width = 1001, ;
|
|
Column1.ColumnOrder = 1, ;
|
|
Column1.ControlSource = "crs_autopass_comenzi.lbifat", ;
|
|
Column1.CurrentControl = "Chk1", ;
|
|
Column1.Name = "Column1", ;
|
|
Column1.Sparse = .F., ;
|
|
Column1.When = "Thisform.col_bifa_when()", ;
|
|
Column1.Width = 30, ;
|
|
Column2.ColumnOrder = 2, ;
|
|
Column2.ControlSource = "crs_autopass_comenzi.nrord", ;
|
|
Column2.Name = "Column2", ;
|
|
Column2.Width = 60, ;
|
|
Column3.ColumnOrder = 3, ;
|
|
Column3.ControlSource = "crs_autopass_comenzi.dataoravalid", ;
|
|
Column3.Name = "Column3", ;
|
|
Column3.Width = 66, ;
|
|
Column4.ColumnOrder = 4, ;
|
|
Column4.ControlSource = "crs_autopass_comenzi.nrfact", ;
|
|
Column4.Name = "Column4", ;
|
|
Column4.Width = 60, ;
|
|
Column5.ColumnOrder = 5, ;
|
|
Column5.ControlSource = "crs_autopass_comenzi.datafact", ;
|
|
Column5.Name = "Column5", ;
|
|
Column5.Width = 66, ;
|
|
Column6.ColumnOrder = 6, ;
|
|
Column6.ControlSource = "crs_autopass_comenzi.nrinmat", ;
|
|
Column6.Name = "Column6", ;
|
|
Column6.Width = 74, ;
|
|
Column7.ColumnOrder = 7, ;
|
|
Column7.ControlSource = "crs_autopass_comenzi.series", ;
|
|
Column7.Name = "Column7", ;
|
|
Column7.Width = 130, ;
|
|
Column8.ColumnOrder = 8, ;
|
|
Column8.ControlSource = "crs_autopass_comenzi.kmint", ;
|
|
Column8.Name = "Column8", ;
|
|
Column8.Width = 55, ;
|
|
Column9.ColumnOrder = 9, ;
|
|
Column9.ControlSource = "crs_autopass_comenzi.nume", ;
|
|
Column9.Name = "Column9", ;
|
|
Column9.Width = 140, ;
|
|
Column10.Alignment = 1, ;
|
|
Column10.ColumnOrder = 10, ;
|
|
Column10.ControlSource = "crs_autopass_comenzi.ncntop", ;
|
|
Column10.Name = "Column10", ;
|
|
Column10.Width = 40, ;
|
|
Column11.ColumnOrder = 11, ;
|
|
Column11.ControlSource = "crs_autopass_comenzi.cstatusro", ;
|
|
Column11.DynamicForeColor = "Thisform.culoare_status(status_autopass)", ;
|
|
Column11.FontBold = .T., ;
|
|
Column11.Name = "Column11", ;
|
|
Column11.Width = 140, ;
|
|
Column12.ColumnOrder = 12, ;
|
|
Column12.ControlSource = "crs_autopass_comenzi.cverdict", ;
|
|
Column12.Name = "Column12", ;
|
|
Column12.Width = 160, ;
|
|
Column13.ColumnOrder = 13, ;
|
|
Column13.ControlSource = "crs_autopass_comenzi.motiv_invalid", ;
|
|
Column13.Name = "Column13", ;
|
|
Column13.Width = 200
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="grid" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column1.Chk1' AS _checkbox WITH ;
|
|
Alignment = 2, ;
|
|
AutoSize = .F., ;
|
|
Caption = "", ;
|
|
ControlSource = "crs_autopass_comenzi.lbifat", ;
|
|
Height = 16, ;
|
|
Name = "Chk1", ;
|
|
Width = 22
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="checkbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column1.Header1' AS header WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column10.Header1' AS header WITH ;
|
|
Caption = "Op.", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column10.Text1' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 0,0,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column11.Header1' AS header WITH ;
|
|
Caption = "Status transmitere", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column11.Text1' AS _textbox WITH ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
DynamicForeColor = "Thisform.culoare_status(status_autopass)", ;
|
|
FontBold = .T., ;
|
|
FontName = "Arial Narrow", ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column12.Header1' AS header WITH ;
|
|
Caption = "Verdict validare", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column12.Text1' AS _textbox WITH ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 120,80,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column13.Header1' AS header WITH ;
|
|
Caption = "Motiv (pre-validare)", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column13.Text1' AS _textbox WITH ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 160,0,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column2.Header1' AS header WITH ;
|
|
Caption = "Nr.cmd", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column2.Text1' AS _textbox WITH ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 0,0,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column3.Header1' AS header WITH ;
|
|
Caption = "Data inch.", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column3.Text1' AS _textbox WITH ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 0,0,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column4.Header1' AS header WITH ;
|
|
Caption = "Nr.fact.", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column4.Text1' AS _textbox WITH ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 0,0,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column5.Header1' AS header WITH ;
|
|
Caption = "Data fact.", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column5.Text1' AS _textbox WITH ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 0,0,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column6.Header1' AS header WITH ;
|
|
Caption = "Nr.inmat.", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column6.Text1' AS _textbox WITH ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 0,0,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column7.Header1' AS header WITH ;
|
|
Caption = "VIN", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column7.Text1' AS _textbox WITH ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 0,0,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column8.Header1' AS header WITH ;
|
|
Caption = "Km", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column8.Text1' AS _textbox WITH ;
|
|
Alignment = 1, ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 0,0,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column9.Header1' AS header WITH ;
|
|
Caption = "Client", ;
|
|
Name = "Header1"
|
|
*< END OBJECT: BaseClass="header" />
|
|
|
|
ADD OBJECT 'GrdComenzi1.Column9.Text1' AS _textbox WITH ;
|
|
BackColor = 255,255,255, ;
|
|
BorderStyle = 0, ;
|
|
DynamicBackColor = "IIF(!lvalid,RGB(224,224,224),RGB(255,255,255))", ;
|
|
FontName = "Arial Narrow", ;
|
|
ForeColor = 0,0,0, ;
|
|
Margin = 0, ;
|
|
Name = "Text1", ;
|
|
ReadOnly = .T.
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'LblAcoperire1' AS _label WITH ;
|
|
Anchor = 13, ;
|
|
AutoSize = .F., ;
|
|
Caption = "Declarabile in perioada: - | Transmise: - | Blocate/nedeclarabile: -", ;
|
|
FontBold = .T., ;
|
|
Height = 18, ;
|
|
Left = 8, ;
|
|
Name = "LblAcoperire1", ;
|
|
Top = 88, ;
|
|
Width = 1001
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'LblBadgeMediu1' AS _label WITH ;
|
|
Alignment = 2, ;
|
|
Anchor = 13, ;
|
|
AutoSize = .F., ;
|
|
BackStyle = 0, ;
|
|
Caption = "Se verifica mediul...", ;
|
|
FontBold = .T., ;
|
|
FontSize = 11, ;
|
|
ForeColor = 255,255,255, ;
|
|
Height = 20, ;
|
|
Left = 8, ;
|
|
Name = "LblBadgeMediu1", ;
|
|
Top = 33, ;
|
|
Width = 1001
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'LblMotivTitlu1' AS _label WITH ;
|
|
Anchor = 6, ;
|
|
Caption = "Motiv (rand curent):", ;
|
|
Height = 18, ;
|
|
Left = 8, ;
|
|
Name = "LblMotivTitlu1", ;
|
|
Top = 492, ;
|
|
Width = 160
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'LblPerioada1' AS _label WITH ;
|
|
AutoSize = .F., ;
|
|
Caption = "Perioada (data facturii):", ;
|
|
Height = 18, ;
|
|
Left = 8, ;
|
|
Name = "LblPerioada1", ;
|
|
Top = 64, ;
|
|
Width = 140
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'LblPerioadaLinie1' AS _label WITH ;
|
|
Alignment = 2, ;
|
|
Caption = "-", ;
|
|
Height = 18, ;
|
|
Left = 232, ;
|
|
Name = "LblPerioadaLinie1", ;
|
|
Top = 64, ;
|
|
Width = 12
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'LblProgres1' AS _label WITH ;
|
|
Anchor = 14, ;
|
|
AutoSize = .F., ;
|
|
Caption = "", ;
|
|
Height = 18, ;
|
|
Left = 8, ;
|
|
Name = "LblProgres1", ;
|
|
Top = 642, ;
|
|
Width = 1001
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1' AS _container WITH ;
|
|
Anchor = 13, ;
|
|
BackColor = 245,245,245, ;
|
|
Height = 92, ;
|
|
Left = 4, ;
|
|
Name = "PnlConfigurare1", ;
|
|
SpecialEffect = 1, ;
|
|
Top = 112, ;
|
|
Visible = .F., ;
|
|
Width = 1009
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="container" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1.ButAratacheie1' AS _commandbutton WITH ;
|
|
Anchor = 8, ;
|
|
Caption = "Arata", ;
|
|
Height = 22, ;
|
|
Left = 945, ;
|
|
Name = "ButAratacheie1", ;
|
|
Top = 4, ;
|
|
Width = 56
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1.ButSalveazaConfig1' AS _commandbutton WITH ;
|
|
Anchor = 8, ;
|
|
Caption = "Salveaza", ;
|
|
FontBold = .T., ;
|
|
Height = 24, ;
|
|
Left = 881, ;
|
|
Name = "ButSalveazaConfig1", ;
|
|
Top = 34, ;
|
|
Width = 120
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1.ButTestConexiune1' AS _commandbutton WITH ;
|
|
Anchor = 8, ;
|
|
Caption = "Test conexiune", ;
|
|
Height = 24, ;
|
|
Left = 721, ;
|
|
Name = "ButTestConexiune1", ;
|
|
Top = 34, ;
|
|
Width = 150
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="commandbutton" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1.CboMediu1' AS _combobox WITH ;
|
|
Height = 24, ;
|
|
Left = 100, ;
|
|
Name = "CboMediu1", ;
|
|
RowSource = "Testare,Productie,Implicit cont (gol)", ;
|
|
RowSourceType = 1, ;
|
|
Style = 2, ;
|
|
Top = 34, ;
|
|
Width = 160
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="combobox" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1.LblCheie1' AS _label WITH ;
|
|
Caption = "Cheie API:", ;
|
|
Height = 18, ;
|
|
Left = 410, ;
|
|
Name = "LblCheie1", ;
|
|
Top = 8, ;
|
|
Width = 78
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1.LblConfigMesaj1' AS _label WITH ;
|
|
Anchor = 12, ;
|
|
AutoSize = .F., ;
|
|
Caption = "", ;
|
|
ForeColor = 180,0,0, ;
|
|
Height = 18, ;
|
|
Left = 8, ;
|
|
Name = "LblConfigMesaj1", ;
|
|
Top = 66, ;
|
|
Width = 990
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1.LblMediu1' AS _label WITH ;
|
|
Caption = "Mediu RAR:", ;
|
|
Height = 18, ;
|
|
Left = 8, ;
|
|
Name = "LblMediu1", ;
|
|
Top = 38, ;
|
|
Width = 90
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1.LblUrl1' AS _label WITH ;
|
|
Caption = "URL gateway:", ;
|
|
Height = 18, ;
|
|
Left = 8, ;
|
|
Name = "LblUrl1", ;
|
|
Top = 8, ;
|
|
Width = 90
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="label" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1.TxtCheie1' AS _textbox WITH ;
|
|
Height = 22, ;
|
|
Left = 492, ;
|
|
Name = "TxtCheie1", ;
|
|
PasswordChar = "*", ;
|
|
Top = 4, ;
|
|
Width = 220
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'PnlConfigurare1.TxtUrl1' AS _textbox WITH ;
|
|
Height = 22, ;
|
|
Left = 100, ;
|
|
Name = "TxtUrl1", ;
|
|
Top = 4, ;
|
|
Width = 300
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'ShpBadgeMediu1' AS _shape WITH ;
|
|
Anchor = 13, ;
|
|
BackColor = 160,160,160, ;
|
|
Height = 26, ;
|
|
Left = 0, ;
|
|
Name = "ShpBadgeMediu1", ;
|
|
Top = 30, ;
|
|
Width = 1017
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="shape" />
|
|
|
|
ADD OBJECT 'TxtDataInceput1' AS _textbox WITH ;
|
|
ControlSource = "Thisform.ddatainceput", ;
|
|
Format = "D", ;
|
|
Height = 22, ;
|
|
Left = 152, ;
|
|
Name = "TxtDataInceput1", ;
|
|
Top = 60, ;
|
|
Width = 76
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'TxtDataSfarsit1' AS _textbox WITH ;
|
|
ControlSource = "Thisform.ddatasfarsit", ;
|
|
Format = "D", ;
|
|
Height = 22, ;
|
|
Left = 248, ;
|
|
Name = "TxtDataSfarsit1", ;
|
|
Top = 60, ;
|
|
Width = 76
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="textbox" />
|
|
|
|
ADD OBJECT 'TxtMotivRand1' AS _editbox WITH ;
|
|
Anchor = 14, ;
|
|
BackColor = 245,245,245, ;
|
|
Height = 48, ;
|
|
Left = 8, ;
|
|
Name = "TxtMotivRand1", ;
|
|
ReadOnly = .T., ;
|
|
Top = 510, ;
|
|
Width = 1001
|
|
*< END OBJECT: ClassLib="..\comun\clase\_baza.vcx" BaseClass="editbox" />
|
|
|
|
PROCEDURE col_bifa_when && When() pe coloana de bifa a gridului - randurile invalide/netransmisibile nu se pot bifa (grid VFP nu are readonly per celula)
|
|
* Randurile fara operatii de manopera valide sau cu date invalide (VIN/nrinmat/data/km) nu
|
|
* pot fi bifate - gridul VFP nu are readonly per celula, se foloseste When()=.F.
|
|
RETURN crs_autopass_comenzi.lvalid
|
|
ENDPROC
|
|
|
|
PROCEDURE culoare_status && Culoarea (RGB) asociata unui status brut din gateway, pt DynamicForeColor in grid
|
|
LPARAMETERS tcStatus
|
|
LOCAL lcStatus
|
|
lcStatus = LOWER(ALLTRIM(NVL(tcStatus,'')))
|
|
DO CASE
|
|
CASE lcStatus == 'sent'
|
|
RETURN RGB(0,120,40)
|
|
CASE lcStatus == 'queued'
|
|
RETURN RGB(180,140,0)
|
|
CASE INLIST(lcStatus,'needs_mapping','needs_data')
|
|
RETURN RGB(200,110,0)
|
|
CASE INLIST(lcStatus,'held','error')
|
|
RETURN RGB(180,0,0)
|
|
CASE lcStatus == 'deduped'
|
|
RETURN RGB(120,120,120)
|
|
OTHERWISE
|
|
RETURN RGB(0,0,0)
|
|
ENDCASE
|
|
ENDPROC
|
|
|
|
PROCEDURE do_actualizeaza_perioada && Reincarca cursoarele US-002 pentru perioada curenta din forma
|
|
IF EMPTY(Thisform.ddatainceput) OR EMPTY(Thisform.ddatasfarsit) OR Thisform.ddatainceput > Thisform.ddatasfarsit
|
|
MESSAGEBOX('Perioada introdusa este invalida.', 48, 'AUTOPASS')
|
|
RETURN
|
|
ENDIF
|
|
Thisform.incarca_date()
|
|
ENDPROC
|
|
|
|
PROCEDURE do_actualizeaza_statusuri && Re-apeleaza autopass_situatie() + coreleaza si reimprospateaza gridul (US-005)
|
|
LOCAL llOk
|
|
llOk = autopass_situatie(Thisform.ddatainceput, Thisform.ddatasfarsit)
|
|
IF USED(Thisform.ccursorheader)
|
|
autopass_coreleaza_situatie(Thisform.ccursorheader)
|
|
Thisform.GrdComenzi1.Refresh()
|
|
ENDIF
|
|
Thisform.recalculeaza_acoperire()
|
|
IF !llOk
|
|
Thisform.LblProgres1.Caption = 'Status necunoscut - situatia gateway indisponibila (vezi LOG.txt).'
|
|
Thisform.LblProgres1.ForeColor = RGB(180,0,0)
|
|
ELSE
|
|
Thisform.LblProgres1.Caption = 'statusuri actualizate'
|
|
Thisform.LblProgres1.ForeColor = RGB(0,100,0)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE do_deschide_dashboard && Deschide in browser URL-ul gateway-ului din configurare
|
|
LOCAL loConfig, lcUrl
|
|
DECLARE INTEGER ShellExecute IN shell32.dll ;
|
|
INTEGER hndWin, STRING cAction, STRING cFileName, ;
|
|
STRING cParameters, STRING cDirectory, INTEGER nShowWindow
|
|
loConfig = autopass_get_config()
|
|
lcUrl = ALLTRIM(loConfig.cUrlGateway)
|
|
IF EMPTY(lcUrl)
|
|
RETURN
|
|
ENDIF
|
|
ShellExecute(0, "Open", lcUrl, "", "", 1)
|
|
ENDPROC
|
|
|
|
PROCEDURE do_test_conexiune && GET /v1/ping - actualizeaza badge-ul de mediu si starea butoanelor
|
|
LOCAL loRez
|
|
WAIT WINDOW 'Se verifica conexiunea la gateway-ul AUTOPASS...' NOWAIT
|
|
loRez = autopass_test_conexiune(ALLTRIM(Thisform.PnlConfigurare1.TxtUrl1.Value), ;
|
|
ALLTRIM(Thisform.PnlConfigurare1.TxtCheie1.Value))
|
|
WAIT CLEAR
|
|
Thisform.lpingok = loRez.lSucces
|
|
IF loRez.lSucces
|
|
Thisform.cMediuActual = loRez.cMediu
|
|
IF UPPER(ALLTRIM(loRez.cMediu)) == 'PROD' OR UPPER(ALLTRIM(loRez.cMediu)) == 'PRODUCTIE'
|
|
Thisform.ShpBadgeMediu1.BackColor = RGB(180,0,0)
|
|
Thisform.LblBadgeMediu1.Caption = 'MEDIU: PRODUCTIE - autentificat cu cheie: ' + IIF(loRez.lAutentificatCuCheie,'DA','NU')
|
|
ELSE
|
|
Thisform.ShpBadgeMediu1.BackColor = RGB(120,120,120)
|
|
Thisform.LblBadgeMediu1.Caption = 'MEDIU: TESTARE - autentificat cu cheie: ' + IIF(loRez.lAutentificatCuCheie,'DA','NU')
|
|
ENDIF
|
|
Thisform.PnlConfigurare1.LblConfigMesaj1.Caption = ''
|
|
Thisform.ButTransmite1.Enabled = .T.
|
|
Thisform.ButValideazaDryrun1.Enabled = .T.
|
|
ELSE
|
|
Thisform.ShpBadgeMediu1.BackColor = RGB(160,160,160)
|
|
Thisform.LblBadgeMediu1.Caption = 'Conexiune indisponibila'
|
|
Thisform.PnlConfigurare1.LblConfigMesaj1.Caption = loRez.cEroare
|
|
Thisform.ButTransmite1.Enabled = .F.
|
|
Thisform.ButValideazaDryrun1.Enabled = .F.
|
|
IF !Thisform.PnlConfigurare1.Visible
|
|
Thisform.do_toggle_configurare()
|
|
ENDIF
|
|
Thisform.PnlConfigurare1.TxtCheie1.SetFocus()
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE do_toggle_arata_cheie
|
|
IF Thisform.PnlConfigurare1.TxtCheie1.PasswordChar == '*'
|
|
Thisform.PnlConfigurare1.TxtCheie1.PasswordChar = ''
|
|
Thisform.PnlConfigurare1.ButAratacheie1.Caption = 'Ascunde'
|
|
ELSE
|
|
Thisform.PnlConfigurare1.TxtCheie1.PasswordChar = '*'
|
|
Thisform.PnlConfigurare1.ButAratacheie1.Caption = 'Arata'
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE do_toggle_configurare
|
|
Thisform.PnlConfigurare1.Visible = !Thisform.PnlConfigurare1.Visible
|
|
IF Thisform.PnlConfigurare1.Visible
|
|
Thisform.ButConfigurare1.Caption = 'Configurare <<'
|
|
Thisform.GrdComenzi1.Top = 210
|
|
Thisform.GrdComenzi1.Height = 278
|
|
ELSE
|
|
Thisform.ButConfigurare1.Caption = 'Configurare >>'
|
|
Thisform.GrdComenzi1.Top = 118
|
|
Thisform.GrdComenzi1.Height = 370
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE do_transmite && POST /v1/prezentari in loturi de max nMaxLot, cu progres si Renunta intre loturi
|
|
* Transmitere reala (enqueue) in loturi de max oClient.nMaxLot. Sincron (WinHTTP) - se
|
|
* verifica Thisform.lanulare intre loturi (singurul punct de anulare posibil), cu
|
|
* DOEVENTS ca sa lase interfata sa raspunda la clicul pe Renunta.
|
|
LOCAL laIdBifate(1), lnTotal, oClient, lnLoturi, i, lnStart, lnEnd, laLot(1), j
|
|
LOCAL loRez, loItem, lcMediuConfirm, lnRasp, lnTransmise, lnAsteptare, lnErori
|
|
|
|
IF Thisform.loperatieincurs
|
|
RETURN
|
|
ENDIF
|
|
|
|
lnTotal = Thisform.obtine_id_bifate(@laIdBifate)
|
|
IF lnTotal = 0
|
|
MESSAGEBOX('Nu exista nicio comanda bifata.', 48, 'AUTOPASS')
|
|
RETURN
|
|
ENDIF
|
|
|
|
lcMediuConfirm = IIF(UPPER(ALLTRIM(Thisform.cMediuActual)) == 'PROD' OR UPPER(ALLTRIM(Thisform.cMediuActual)) == 'PRODUCTIE', 'PRODUCTIE', 'TESTARE')
|
|
|
|
lnRasp = MESSAGEBOX('Se transmit ' + TRANSFORM(lnTotal) + ' comenzi in mediul ' + lcMediuConfirm + '.' + CHR(13) + ;
|
|
IIF(lcMediuConfirm == 'PRODUCTIE', 'ATENTIE: declararea la RAR pe PRODUCTIE este ireversibila.' + CHR(13), '') + ;
|
|
'Continuati?', 4 + 48 + 256, 'Confirmare transmitere AUTOPASS')
|
|
IF lnRasp <> 6
|
|
RETURN
|
|
ENDIF
|
|
|
|
IF lnTotal > 200
|
|
lnRasp = MESSAGEBOX('Ati bifat ' + TRANSFORM(lnTotal) + ' comenzi (peste pragul de 200).' + CHR(13) + ;
|
|
'Confirmati din nou transmiterea?', 4 + 48 + 256, 'Confirmare suplimentara AUTOPASS')
|
|
IF lnRasp <> 6
|
|
RETURN
|
|
ENDIF
|
|
ENDIF
|
|
|
|
Thisform.loperatieincurs = .T.
|
|
Thisform.lanulare = .F.
|
|
Thisform.ButTransmite1.Enabled = .F.
|
|
Thisform.ButValideazaDryrun1.Enabled = .F.
|
|
Thisform.ButRenuntaActiuni1.Caption = '\<Opreste transmiterea'
|
|
Thisform.ButRenuntaActiuni1.Visible = .T.
|
|
|
|
oClient = CREATEOBJECT('AutopassClient')
|
|
lnLoturi = CEILING(lnTotal / oClient.nMaxLot)
|
|
lnTransmise = 0
|
|
lnAsteptare = 0
|
|
lnErori = 0
|
|
|
|
FOR i = 1 TO lnLoturi
|
|
IF Thisform.lanulare
|
|
EXIT
|
|
ENDIF
|
|
|
|
lnStart = (i - 1) * oClient.nMaxLot + 1
|
|
lnEnd = MIN(i * oClient.nMaxLot, lnTotal)
|
|
|
|
Thisform.LblProgres1.Caption = 'Se transmite lotul ' + TRANSFORM(i) + '/' + TRANSFORM(lnLoturi) + '...'
|
|
Thisform.LblProgres1.Refresh()
|
|
DOEVENTS
|
|
|
|
DIMENSION laLot(lnEnd - lnStart + 1)
|
|
FOR j = lnStart TO lnEnd
|
|
laLot(j - lnStart + 1) = laIdBifate(j)
|
|
ENDFOR
|
|
|
|
loRez = oClient.TrimiteLot(Thisform.incarca_lot_din_grid(@laLot))
|
|
|
|
IF loRez.lSucces
|
|
FOR EACH loItem IN loRez.oRezultate
|
|
SELECT (Thisform.ccursorheader)
|
|
LOCATE FOR id_ordl = loItem.id_ordl
|
|
IF FOUND()
|
|
REPLACE status_autopass WITH loItem.status, ;
|
|
motiv_autopass WITH loItem.motiv, ;
|
|
id_prezentare_autopass WITH loItem.id_prezentare, ;
|
|
cstatusro WITH Thisform.eticheta_status(loItem.status), ;
|
|
lbifat WITH .F.
|
|
DO CASE
|
|
CASE loItem.status == 'sent'
|
|
lnTransmise = lnTransmise + 1
|
|
CASE INLIST(loItem.status,'needs_mapping','needs_data','held','error')
|
|
lnErori = lnErori + 1
|
|
OTHERWISE
|
|
lnAsteptare = lnAsteptare + 1
|
|
ENDCASE
|
|
ENDIF
|
|
ENDFOR
|
|
ELSE
|
|
MESSAGEBOX('Lotul ' + TRANSFORM(i) + ' a esuat: ' + loRez.cDetaliu, 48, 'AUTOPASS')
|
|
lnErori = lnErori + (lnEnd - lnStart + 1)
|
|
ENDIF
|
|
|
|
Thisform.GrdComenzi1.Refresh()
|
|
DOEVENTS
|
|
ENDFOR
|
|
|
|
Thisform.loperatieincurs = .F.
|
|
Thisform.ButRenuntaActiuni1.Visible = .F.
|
|
Thisform.ButRenuntaActiuni1.Caption = 'Renunta'
|
|
Thisform.ButTransmite1.Enabled = Thisform.lpingok
|
|
Thisform.ButValideazaDryrun1.Enabled = Thisform.lpingok
|
|
|
|
Thisform.recalculeaza_acoperire()
|
|
|
|
Thisform.LblProgres1.Caption = TRANSFORM(lnTransmise) + ' transmise, ' + TRANSFORM(lnAsteptare) + ' in asteptare, ' + TRANSFORM(lnErori) + ' cu eroare/nemapate.'
|
|
MESSAGEBOX(Thisform.LblProgres1.Caption + IIF(Thisform.lanulare, CHR(13) + '(transmitere intrerupta de utilizator)', ''), 64, 'AUTOPASS - sumar transmitere')
|
|
ENDPROC
|
|
|
|
PROCEDURE do_valideaza_dryrun && POST /v1/prezentari/valideaza in loturi - completeaza doar coloana Verdict validare
|
|
* Dry-run: /v1/prezentari/valideaza pe selectie - NU face enqueue, completeaza doar
|
|
* coloana separata "Verdict validare" (nu suprascrie status_autopass).
|
|
LOCAL laIdBifate(1), lnTotal, oClient, lnLoturi, i, lnStart, lnEnd, laLot(1), j
|
|
LOCAL loRez, loItem, lcVerdict, lnOk, lnNemapate
|
|
|
|
IF Thisform.loperatieincurs
|
|
RETURN
|
|
ENDIF
|
|
|
|
lnTotal = Thisform.obtine_id_bifate(@laIdBifate)
|
|
IF lnTotal = 0
|
|
MESSAGEBOX('Nu exista nicio comanda bifata.', 48, 'AUTOPASS')
|
|
RETURN
|
|
ENDIF
|
|
|
|
Thisform.loperatieincurs = .T.
|
|
Thisform.lanulare = .F.
|
|
Thisform.ButTransmite1.Enabled = .F.
|
|
Thisform.ButValideazaDryrun1.Enabled = .F.
|
|
Thisform.ButRenuntaActiuni1.Caption = '\<Opreste transmiterea'
|
|
Thisform.ButRenuntaActiuni1.Visible = .T.
|
|
|
|
oClient = CREATEOBJECT('AutopassClient')
|
|
lnLoturi = CEILING(lnTotal / oClient.nMaxLot)
|
|
lnOk = 0
|
|
lnNemapate = 0
|
|
|
|
FOR i = 1 TO lnLoturi
|
|
IF Thisform.lanulare
|
|
EXIT
|
|
ENDIF
|
|
|
|
lnStart = (i - 1) * oClient.nMaxLot + 1
|
|
lnEnd = MIN(i * oClient.nMaxLot, lnTotal)
|
|
|
|
Thisform.LblProgres1.Caption = 'Validare (dry-run) lot ' + TRANSFORM(i) + '/' + TRANSFORM(lnLoturi) + '...'
|
|
Thisform.LblProgres1.Refresh()
|
|
DOEVENTS
|
|
|
|
DIMENSION laLot(lnEnd - lnStart + 1)
|
|
FOR j = lnStart TO lnEnd
|
|
laLot(j - lnStart + 1) = laIdBifate(j)
|
|
ENDFOR
|
|
|
|
loRez = oClient.Valideaza(Thisform.incarca_lot_din_grid(@laLot))
|
|
|
|
IF loRez.lSucces
|
|
FOR EACH loItem IN loRez.oRezultate
|
|
lcVerdict = Thisform.eticheta_status(loItem.status_estimat)
|
|
IF !EMPTY(loItem.coduri_nemapate)
|
|
lcVerdict = lcVerdict + ' (coduri nemapate: ' + TRANSFORM(loItem.coduri_nemapate) + ')'
|
|
lnNemapate = lnNemapate + 1
|
|
ELSE
|
|
lnOk = lnOk + 1
|
|
ENDIF
|
|
SELECT (Thisform.ccursorheader)
|
|
LOCATE FOR id_ordl = loItem.id_ordl
|
|
IF FOUND()
|
|
REPLACE cverdict WITH lcVerdict
|
|
ENDIF
|
|
ENDFOR
|
|
ELSE
|
|
MESSAGEBOX('Validarea lotului ' + TRANSFORM(i) + ' a esuat: ' + loRez.cDetaliu, 48, 'AUTOPASS')
|
|
ENDIF
|
|
|
|
Thisform.GrdComenzi1.Refresh()
|
|
DOEVENTS
|
|
ENDFOR
|
|
|
|
Thisform.loperatieincurs = .F.
|
|
Thisform.ButRenuntaActiuni1.Visible = .F.
|
|
Thisform.ButRenuntaActiuni1.Caption = 'Renunta'
|
|
Thisform.ButTransmite1.Enabled = Thisform.lpingok
|
|
Thisform.ButValideazaDryrun1.Enabled = Thisform.lpingok
|
|
|
|
Thisform.LblProgres1.Caption = 'Validare: ' + TRANSFORM(lnOk) + ' OK, ' + TRANSFORM(lnNemapate) + ' coduri nemapate.'
|
|
ENDPROC
|
|
|
|
PROCEDURE eticheta_status && Traduce statusul brut din gateway (queued/sent/...) in eticheta romaneasca (vocabular US-004)
|
|
* Vocabular statusuri gateway -> eticheta romaneasca (US-004) - NU se afiseaza tokenii
|
|
* englezesti bruti in grid.
|
|
LPARAMETERS tcStatus
|
|
LOCAL lcStatus
|
|
lcStatus = LOWER(ALLTRIM(NVL(tcStatus,'')))
|
|
DO CASE
|
|
CASE EMPTY(lcStatus)
|
|
RETURN 'Netransmis'
|
|
CASE lcStatus == 'queued'
|
|
RETURN 'In asteptare la RAR'
|
|
CASE lcStatus == 'sent'
|
|
RETURN 'Transmis'
|
|
CASE lcStatus == 'needs_mapping'
|
|
RETURN 'Cod fara mapare RAR'
|
|
CASE lcStatus == 'needs_data'
|
|
RETURN 'Date incomplete'
|
|
CASE lcStatus == 'held'
|
|
RETURN 'Retinut (Auto OFF)'
|
|
CASE lcStatus == 'error'
|
|
RETURN 'Eroare'
|
|
CASE lcStatus == 'deduped'
|
|
RETURN 'Deja transmis'
|
|
OTHERWISE
|
|
RETURN ALLTRIM(tcStatus)
|
|
ENDCASE
|
|
ENDPROC
|
|
|
|
PROCEDURE incarca_date && Construieste crs_autopass_comenzi + crs_autopass_operatii, aplica situatia gateway si reimprospateaza gridul
|
|
* US-002 + US-005: extrage comenzile+operatiile facturate din perioada, aplica
|
|
* pre-validarea locala (deja facuta in autopass_cursor_comenzi/operatii), calculeaza
|
|
* nr. de operatii per comanda si coreleaza cu situatia gateway-ului.
|
|
LOCAL lcHeader, lcDetaliu, lcCount
|
|
|
|
WAIT WINDOW 'Se incarca comenzile facturate din perioada...' NOWAIT
|
|
|
|
lcHeader = autopass_cursor_comenzi(Thisform.ddatainceput, Thisform.ddatasfarsit)
|
|
IF EMPTY(lcHeader)
|
|
WAIT CLEAR
|
|
MESSAGEBOX('Nu s-au putut extrage comenzile pentru perioada aleasa (vezi LOG.txt).', 48, 'AUTOPASS')
|
|
RETURN
|
|
ENDIF
|
|
|
|
lcDetaliu = autopass_cursor_operatii(lcHeader)
|
|
|
|
*-- lbifat/ncntop/cstatusro/cverdict sunt incluse direct la crearea cursorului in
|
|
*-- autopass_cursor_comenzi() - cursorul ramane "remote"-tainted, ALTER TABLE pica.
|
|
|
|
IF !EMPTY(lcDetaliu) AND USED(lcDetaliu)
|
|
lcCount = 'crs_autopass_nrop'
|
|
IF USED(lcCount)
|
|
USE IN (lcCount)
|
|
ENDIF
|
|
SELECT id_ordl, COUNT(*) AS ncnt FROM (lcDetaliu) WHERE lvalid_op GROUP BY id_ordl INTO CURSOR (lcCount) READWRITE
|
|
INDEX ON id_ordl TAG id_ordl
|
|
SET ORDER TO id_ordl IN (lcCount)
|
|
|
|
SELECT (lcHeader)
|
|
SCAN
|
|
IF SEEK(id_ordl, lcCount)
|
|
REPLACE ncntop WITH &lcCount..ncnt
|
|
ELSE
|
|
REPLACE ncntop WITH 0
|
|
ENDIF
|
|
ENDSCAN
|
|
USE IN (lcCount)
|
|
ENDIF
|
|
|
|
SELECT (lcHeader)
|
|
REPLACE ALL lbifat WITH .F., cstatusro WITH 'Netransmis', cverdict WITH ''
|
|
GO TOP
|
|
|
|
WAIT CLEAR
|
|
|
|
*-- situatia gateway-ului (US-005), auto-refresh la incarcarea perioadei
|
|
LOCAL lcEroareSituatie
|
|
lcEroareSituatie = ''
|
|
IF autopass_situatie(Thisform.ddatainceput, Thisform.ddatasfarsit, @lcEroareSituatie)
|
|
autopass_coreleaza_situatie(lcHeader)
|
|
SELECT (lcHeader)
|
|
SCAN
|
|
REPLACE cstatusro WITH Thisform.eticheta_status(status_autopass)
|
|
ENDSCAN
|
|
SELECT (lcHeader)
|
|
GO TOP
|
|
ELSE
|
|
Thisform.LblProgres1.Caption = 'Situatia gateway indisponibila: ' + ;
|
|
IIF(EMPTY(lcEroareSituatie), 'motiv necunoscut (vezi LOG.txt).', lcEroareSituatie)
|
|
Thisform.LblProgres1.ForeColor = RGB(180,0,0)
|
|
ENDIF
|
|
|
|
Thisform.GrdComenzi1.RecordSource = lcHeader
|
|
Thisform.GrdComenzi1.Refresh()
|
|
Thisform.ButSelecteazaTot1.Setup()
|
|
Thisform.ButSelecteazaTot1.nselectate = 0
|
|
Thisform.ButSelecteazaTot1.schimba_caption()
|
|
|
|
IF RECCOUNT(lcHeader) = 0
|
|
Thisform.LblProgres1.Caption = 'Nu exista comenzi facturate in perioada aleasa.'
|
|
Thisform.ButTransmite1.Enabled = .F.
|
|
Thisform.ButValideazaDryrun1.Enabled = .F.
|
|
ELSE
|
|
Thisform.ButTransmite1.Enabled = Thisform.lpingok
|
|
Thisform.ButValideazaDryrun1.Enabled = Thisform.lpingok
|
|
ENDIF
|
|
|
|
Thisform.recalculeaza_acoperire()
|
|
ENDPROC
|
|
|
|
PROCEDURE incarca_lot_din_grid && Construieste array de obiecte {vin,nrinmat,data_prestatie,odometru_final,prestatii[],obs,id_ordl} pt un lot de max nMaxLot randuri bifate
|
|
* Construieste array de obiecte {vin,nrinmat,data_prestatie,odometru_final,prestatii[],obs,id_ordl}
|
|
* pentru AutopassClient.TrimiteLot()/Valideaza(), pe baza id_ordl-urilor primite (un lot,
|
|
* max nMaxLot elemente - impartirea pe loturi e responsabilitatea formei).
|
|
LPARAMETERS taIdLot
|
|
LOCAL lnCount, i, loComanda, lcDataPrest, laPrestatii(1), lnNrOp
|
|
LOCAL ARRAY laLot(1)
|
|
|
|
lnCount = ALEN(taIdLot,1)
|
|
DIMENSION laLot(lnCount)
|
|
|
|
FOR i = 1 TO lnCount
|
|
SELECT (Thisform.ccursorheader)
|
|
LOCATE FOR id_ordl = taIdLot(i)
|
|
|
|
loComanda = CREATEOBJECT('empty')
|
|
ADDPROPERTY(loComanda, 'id_ordl', id_ordl)
|
|
ADDPROPERTY(loComanda, 'vin', ALLTRIM(series))
|
|
ADDPROPERTY(loComanda, 'nrinmat', ALLTRIM(nrinmat))
|
|
|
|
DO CASE
|
|
CASE VARTYPE(dataoravalid) = 'T'
|
|
lcDataPrest = STR(YEAR(TTOD(dataoravalid)),4) + '-' + PADL(MONTH(TTOD(dataoravalid)),2,'0') + '-' + PADL(DAY(TTOD(dataoravalid)),2,'0')
|
|
CASE VARTYPE(dataoravalid) = 'D'
|
|
lcDataPrest = STR(YEAR(dataoravalid),4) + '-' + PADL(MONTH(dataoravalid),2,'0') + '-' + PADL(DAY(dataoravalid),2,'0')
|
|
OTHERWISE
|
|
lcDataPrest = ''
|
|
ENDCASE
|
|
ADDPROPERTY(loComanda, 'data_prestatie', lcDataPrest)
|
|
ADDPROPERTY(loComanda, 'odometru_final', kmint)
|
|
ADDPROPERTY(loComanda, 'obs', autopass_obs(nrord, nrfact))
|
|
|
|
lnNrOp = 0
|
|
IF USED(Thisform.ccursordetaliu)
|
|
SELECT (Thisform.ccursordetaliu)
|
|
SCAN FOR id_ordl = taIdLot(i) AND lvalid_op
|
|
lnNrOp = lnNrOp + 1
|
|
DIMENSION laPrestatii(lnNrOp)
|
|
laPrestatii(lnNrOp) = CREATEOBJECT('empty')
|
|
ADDPROPERTY(laPrestatii(lnNrOp), 'cod_op_service', ALLTRIM(codop))
|
|
ADDPROPERTY(laPrestatii(lnNrOp), 'denumire', ALLTRIM(denop))
|
|
ENDSCAN
|
|
ENDIF
|
|
IF lnNrOp = 0
|
|
DIMENSION laPrestatii(1)
|
|
ENDIF
|
|
loComanda.AddProperty('prestatii')
|
|
loComanda.prestatii = laPrestatii
|
|
|
|
laLot(i) = loComanda
|
|
ENDFOR
|
|
|
|
RETURN laLot
|
|
ENDPROC
|
|
|
|
PROCEDURE Init
|
|
LOCAL loConfig
|
|
|
|
DODEFAULT()
|
|
|
|
This.WindowState = 2
|
|
|
|
Thisform.ddatainceput = GOMONTH(DATE(), -1*(DAY(DATE())-1))
|
|
Thisform.ddatasfarsit = DATE()
|
|
|
|
Thisform.AddProperty('cMediuActual', '')
|
|
|
|
loConfig = autopass_get_config()
|
|
Thisform.PnlConfigurare1.TxtUrl1.Value = loConfig.cUrlGateway
|
|
Thisform.PnlConfigurare1.TxtCheie1.Value = loConfig.cApiKey
|
|
DO CASE
|
|
CASE LOWER(ALLTRIM(loConfig.cRarEnv)) == 'test'
|
|
Thisform.PnlConfigurare1.CboMediu1.Value = 'Testare'
|
|
CASE LOWER(ALLTRIM(loConfig.cRarEnv)) == 'prod'
|
|
Thisform.PnlConfigurare1.CboMediu1.Value = 'Productie'
|
|
OTHERWISE
|
|
Thisform.PnlConfigurare1.CboMediu1.Value = 'Implicit cont (gol)'
|
|
ENDCASE
|
|
|
|
Thisform.lconfigok = loConfig.lconfigok
|
|
IF !Thisform.lconfigok
|
|
Thisform.do_toggle_configurare()
|
|
Thisform.PnlConfigurare1.LblConfigMesaj1.Caption = 'Completeaza cheia API (si URL-ul, daca e nevoie) si apasa Salveaza.'
|
|
ENDIF
|
|
|
|
*-- fail-closed pana raspunde ping-ul (US-004)
|
|
Thisform.ButTransmite1.Enabled = .F.
|
|
Thisform.ButValideazaDryrun1.Enabled = .F.
|
|
|
|
Thisform.do_test_conexiune()
|
|
|
|
Thisform.incarca_date()
|
|
ENDPROC
|
|
|
|
PROCEDURE Load
|
|
* Precreeaza crs_autopass_comenzi INAINTE ca GrdComenzi1 sa fie instantiat (Load
|
|
* ruleaza inaintea obiectelor continute) - altfel coloanele cu ControlSource
|
|
* alias-calificat arunca "Alias not found" la deschiderea formei (Column1 are
|
|
* Sparse=.F., care forteaza rezolvarea eager a alias-ului la creare).
|
|
LOCAL lcHeader
|
|
|
|
Thisform.ddatainceput = GOMONTH(DATE(), -1*(DAY(DATE())-1))
|
|
Thisform.ddatasfarsit = DATE()
|
|
|
|
lcHeader = autopass_cursor_comenzi(Thisform.ddatainceput, Thisform.ddatasfarsit)
|
|
IF !EMPTY(lcHeader)
|
|
autopass_cursor_operatii(lcHeader)
|
|
*-- lbifat/ncntop/cstatusro/cverdict sunt incluse direct la crearea cursorului in
|
|
*-- autopass_cursor_comenzi() - cursorul ramane "remote"-tainted, ALTER TABLE pica.
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE obtine_id_bifate && Array cu id_ordl ale randurilor bifate din crs_autopass_comenzi
|
|
LPARAMETERS taId
|
|
LOCAL lnCount
|
|
|
|
lnCount = 0
|
|
IF USED(Thisform.ccursorheader)
|
|
SELECT (Thisform.ccursorheader)
|
|
SCAN FOR lbifat
|
|
lnCount = lnCount + 1
|
|
DIMENSION taId(lnCount)
|
|
taId(lnCount) = id_ordl
|
|
ENDSCAN
|
|
ENDIF
|
|
|
|
RETURN lnCount
|
|
ENDPROC
|
|
|
|
PROCEDURE recalculeaza_acoperire && Recalculeaza N/M/K si actualizeaza LblAcoperire1
|
|
* "Declarabile in perioada: N | Transmise (sent): M | Blocate/nedeclarabile: K" -
|
|
* singura metrica ce raspunde la "suntem conformi?" (US-004).
|
|
LOCAL lnDeclarabile, lnTransmise, lnBlocate
|
|
|
|
lnDeclarabile = 0
|
|
lnTransmise = 0
|
|
lnBlocate = 0
|
|
|
|
IF USED(Thisform.ccursorheader)
|
|
SELECT (Thisform.ccursorheader)
|
|
COUNT FOR lvalid TO lnDeclarabile
|
|
COUNT FOR status_autopass == 'sent' TO lnTransmise
|
|
COUNT FOR !lvalid OR INLIST(status_autopass,'error','held','needs_mapping','needs_data') TO lnBlocate
|
|
ENDIF
|
|
|
|
Thisform.LblAcoperire1.Caption = 'Declarabile in perioada: ' + TRANSFORM(lnDeclarabile) + ;
|
|
' | Transmise: ' + TRANSFORM(lnTransmise) + ;
|
|
' | Blocate/nedeclarabile: ' + TRANSFORM(lnBlocate)
|
|
Thisform.LblAcoperire1.ForeColor = IIF(lnBlocate > 0, RGB(180,0,0), RGB(0,0,0))
|
|
ENDPROC
|
|
|
|
PROCEDURE salveaza_config
|
|
LOCAL lcEnv, llOk
|
|
|
|
DO CASE
|
|
CASE Thisform.PnlConfigurare1.CboMediu1.Value == 'Testare'
|
|
lcEnv = 'test'
|
|
CASE Thisform.PnlConfigurare1.CboMediu1.Value == 'Productie'
|
|
lcEnv = 'prod'
|
|
OTHERWISE
|
|
lcEnv = ''
|
|
ENDCASE
|
|
|
|
llOk = autopass_salveaza_config(ALLTRIM(Thisform.PnlConfigurare1.TxtUrl1.Value), ;
|
|
ALLTRIM(Thisform.PnlConfigurare1.TxtCheie1.Value), lcEnv)
|
|
|
|
IF !llOk
|
|
MESSAGEBOX('Salvarea configurarii AUTOPASS a esuat.', 48, 'AUTOPASS')
|
|
RETURN
|
|
ENDIF
|
|
|
|
*-- config-ul se reciteste, ping-ul se reia automat, badge-ul si starea butoanelor
|
|
*-- se actualizeaza fara a inchide fereastra
|
|
Thisform.do_test_conexiune()
|
|
IF Thisform.lpingok
|
|
Thisform.do_actualizeaza_statusuri()
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE ButActualizeaza1.Click
|
|
Thisform.do_actualizeaza_perioada()
|
|
ENDPROC
|
|
|
|
PROCEDURE ButActualizeazaStatusuri1.Click
|
|
Thisform.do_actualizeaza_statusuri()
|
|
ENDPROC
|
|
|
|
PROCEDURE ButConfigurare1.Click
|
|
Thisform.do_toggle_configurare()
|
|
ENDPROC
|
|
|
|
PROCEDURE ButDeschideDashboard1.Click
|
|
Thisform.do_deschide_dashboard()
|
|
ENDPROC
|
|
|
|
PROCEDURE ButRenuntaActiuni1.Click
|
|
* In timpul unei transmiteri/dry-run: opreste dupa lotul curent. Altfel: inchide fereastra
|
|
* (acelasi comportament ca BUT_TERMIN1 din titlu, mostenit din _frmbase).
|
|
IF Thisform.loperatieincurs
|
|
Thisform.lanulare = .T.
|
|
ELSE
|
|
Thisform.do_termin()
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE ButTransmite1.Click
|
|
Thisform.do_transmite()
|
|
ENDPROC
|
|
|
|
PROCEDURE ButValideazaDryrun1.Click
|
|
Thisform.do_valideaza_dryrun()
|
|
ENDPROC
|
|
|
|
PROCEDURE GrdComenzi1.AfterRowColChange
|
|
LPARAMETERS nColIndex
|
|
IF USED(Thisform.ccursorheader) AND RECCOUNT(Thisform.ccursorheader) > 0
|
|
SELECT (Thisform.ccursorheader)
|
|
Thisform.TxtMotivRand1.Value = ALLTRIM(motiv_invalid) + ;
|
|
IIF(!EMPTY(motiv_autopass), IIF(!EMPTY(motiv_invalid),' | ','') + ALLTRIM(motiv_autopass), '')
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROCEDURE PnlConfigurare1.ButAratacheie1.Click
|
|
Thisform.do_toggle_arata_cheie()
|
|
ENDPROC
|
|
|
|
PROCEDURE PnlConfigurare1.ButSalveazaConfig1.Click
|
|
Thisform.salveaza_config()
|
|
ENDPROC
|
|
|
|
PROCEDURE PnlConfigurare1.ButTestConexiune1.Click
|
|
Thisform.do_test_conexiune()
|
|
ENDPROC
|
|
|
|
ENDDEFINE
|