Code: Select all | Expand
/////////////// CALL TO RESUMEN DE FACTURAS //////////////////////////////////////////////////////////////////////////////////
cQuery := "CALL obtener_saldos_clientes('"+_cPrefijo+"');"
TRY
oQry := _oSqlConex:Query( cQuery )
_oSqlConex:NextResult()
CATCH
Fnct_MsgErrorBD("NoMySql" , .f. , "No hay conexión a La Base de Datos" , "Sin Acceso a La Red","Error en servicio de Datos",)
_Close()
return .f.
END TRY
aResumen :={}
aResumenBack:= {}
aResumen:=oQry:FillArray()
aResumenBack:=aClone(aResumen)
/////////////// CALL TO DETALLES DE FACTURAS //////////////////////////////////////////////////////////////////////////////////
cQuery := "CALL ObtenerEstadoFacturas('"+_cPrefijo+"');"
TRY
oFacturas := _oSqlConex:Query( cQuery )
_oSqlConex:NextResult()
CATCH
Fnct_MsgErrorBD("NoMySql" , .f. , "No hay conexión a La Base de Datos" , "Sin Acceso a La Red","Error en servicio de Datos",)
_Close()
return .f.
END TRY
aFacturas := {}
aFacturas := oFacturas:FillArray()
aFacturasBackup:=aClone(aFacturas)
Fnct_CuadreToExcel()
_Close()
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Define cursor oCursorBar resource 'manito'
Define cursor oCursorIndicador resource 'Indicador'
Define Font oFHeadBrw Name "Segoe UI SemiBold" Size 0, -14
Define Dialog oDlg_Facturas resource "oDlg_Facturas" title 'Gestión de Documentos Por Cobrar'
oDlg_Facturas:lHelpIcon:=.f.
Redefine Folderex oFolder Id 500 of oDlg_Facturas prompt 'Resumen', 'Detalles' BITMAPS ;
'open2' , 'close' DIALOGS ;
'oDlg_FactResumen' ,;
'oDlg_FactDetalle' ;
TAB HEIGHT 28 ROUND 5on change (Fnct_oFolderBitmaps())
oFolder:aDialogs[ 1 ]:SetBrush( oBrush )
oFolder:aDialogs[ 2 ]:SetBrush( oBrush )
//////////////////// XBROWSE RESUMEN ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Redefine get oGetSeek2 Var cSeek2 Id 4061 of oFolder:aDialogs[ 1 ] on change (cSeek2:=oGetSeek2:GetText()), Fnct_Seek(@aResumen),
Fnct_PonTotales() ) WHEN len(aResumen)>0
oGetSeek2:SetFont(_oFontGets)
oGetSeek2:SetColorFocus( CLR_YELLOW )
Redefine xBrowse oBrwVer Id 4060 DATASOURCE aResumen AUTOCOLS ;
COLUMNS cRif, cNombre, nVencido, nNoVencido, nVenceHoy, nTotalGeneral, nCodigoCliente ;
HEADERS "R.I.F", "Nombre", "Vencido", "No Vencido", "Vence Hoy", "Total","" ;
FIELDSIZES 90, 250, 100, 100, 100, 100, 30 ;
PICTURE nil, nil, '@E 9,999,999,999.99', '@E 9,999,999,999.99' '@E
'9,999,999,999.99', '@E 9,999,999,999.99', nil ;
JUSTIFY AL_LEFT, AL_LEFT, AL_RIGHT, AL_RIGHT, AL_RIGHT, AL_RIGHT, AL_RIGHT ;
CELL LINES ;
FASTEDIT ;
FOOTERS of oFolder:aDialogs[ 1 ] //on dblclick (cVarClien:=alltrim(oBrwVer:aCols[cNombre]:Value))
oBrwVer:aArrayData:=aResumen
WITH object oBrwVer
nCiclo:= 1
do while nCiclo<=7
oBrwVer:aCols[nCiclo] :nHeadStrAlign := AL_CENTER
oBrwVer:aCols[nCiclo] :oHeaderFont := oFHeadBrw
oBrwVer:aCols[nCiclo] :lAllowSizing :=.t.
nCiclo++
enddo
oBrwVer:aCols[7]:Hide()
oBrwVer:lAllowColSwapping :=.F.
oBrwVer:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrwVer:l2007 := .f.
oBrwVer:lFooter := .t.
oBrwVer:lRecordSelector:= .f.
oBrwVer:bClrHeader := { || { CLR_WHITE, CLR_BLUE, CLR_HGRAY } }
:bClrFooter := { || { CLR_WHITE, CLR_BLUE, CLR_HGRAY } }
:aCols[1] :bFooter := { || 'Total -> '+transform(len(aResumen),"@E 99,999") }
:aCols[3]:nFooterType := AGGR_SUM
:bchange := { || Fnct_PonTotales(@aResumen) }
:aCols[4]:nFooterType := AGGR_SUM
:bchange := { || Fnct_PonTotales(@aResumen) }
:aCols[5]:nFooterType := AGGR_SUM
:bchange := { || Fnct_PonTotales(@aResumen) }
:aCols[6]:nFooterType := AGGR_SUM
:bchange := { || Fnct_PonTotales(@aResumen) }
:MakeTotals()
oBrwVer:MakeTotals()
END
oBrwVer:gotop()
oBrwVer:Refresh()
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Redefine get oGetSeek Var cSeek Id 11 of oFolder:aDialogs[ 2 ] on change (cSeek:=oGetSeek:GetText(), Fnct_SeekArray(), Fnct_PonTotales() ) WHEN len(aFacturas)>0
oGetSeek:SetFont(_oFontGets)
oGetSeek:SetColorFocus( CLR_YELLOW )
Redefine Radio oRSeek Var nSeek Id 4002,4003 of oFolder:aDialogs[ 2 ] on change (oGetSeek:SetFocus()) WHEN len(aFacturas)>0
Redefine xBrowse oBrwFac Id 4007 DATASOURCE aFacturas AUTOCOLS ;
AUTOSORT;
COLUMNS cRifCliente, cCliente , cNumeroDoc, dEmision, dVcto, nDiasVcto, FacMonto, ;
nFacPagos , nFacSaldo, cConcepto, nCodigoCli, nFacCodigoCli, nEmail, nLimite, cTolera ;
HEADERS _cIdEmpresa, "Cliente", "N# Doc. ","Emisión", "Vencto.", "Dias Vcdo.", "Monto "+_cSignoMoneda ,;
"Pagos", "Saldo", "Concepto", "", "", "", "", "" ;
FIELDSIZES 90, 250, 70, 75, 90, 85, 100, 100, 100, 160,20,20,50, 100, 0 ;
PICTURE nil, nil, nil, nil, nil, nil, '@E 9,999,999,999.99', '@E 9,999,999,999.99','@E 9,999,999,999.99', ;
nil, nil,nil, nil, '@E 9,999,999,999.99', nil ;
JUSTIFY AL_LEFT, AL_LEFT, AL_CENTER, AL_CENTER, AL_CENTER, AL_CENTER,;
AL_RIGHT, AL_RIGHT, AL_RIGHT, AL_LEFT, AL_LEFT, AL_CENTER, AL_LEFT, AL_LEFT, AL_CENTER ;
CELL LINES FASTEDIT FOOTERS of oFolder:aDialogs[ 2 ] on Dblclick (Fnct_FiltrarCliente(alltrim(oBrwFac:aCols[cCliente]:Value)))//(Fnct_FiltrarCliente(alltrim(oBrwFac:aCols[cCliente]:Value)))
oBrwFac:aArrayData:=aFacturas
WITH object oBrwFac
nCiclo:= 1
do while nCiclo<=nObrwColsToShow
oBrwFac:aCols[nCiclo] :nHeadStrAlign := AL_CENTER
oBrwFac:aCols[nCiclo] :oHeaderFont := oFHeadBrw
oBrwFac:aCols[nCiclo] :lAllowSizing :=.T.
nCiclo++
enddo
oBrwFac:aCols[nCodigoCli] :Hide()
oBrwFac:aCols[nFacCodigoCli]:Hide()
oBrwFac:aCols[11]:Hide()
oBrwFac:aCols[12]:Hide()
oBrwFac:aCols[13]:Hide()
oBrwFac:aCols[14]:Hide()
oBrwFac:aCols[15]:Hide()
oBrwFac:lAllowColSwapping :=.F.
oBrwFac:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrwFac:l2007 := .f.
oBrwFac:lFooter := .t.
oBrwFac:lRecordSelector:= .f.
oBrwFac:bOnSort:={|b,oCol| oBrwFac:Gotop() }
*:aCols[cConcepto]:bLDClickData:= {|| Fnct_VerConcepto()} //oBrwCiudades:SetFilter( (oBrwCiudades:aCols[2]:value) =
(oBrwEstados:aCols[1]:Value) )
*:aCols[nFacPagos]:bLDClickData:= {|| Fnct_VerPagos()}
oBrwFac:bClrHeader := { || iif(lBW, ( { CLR_WHITE, CLR_GRAY, CLR_GRAY }), ({ CLR_WHITE, CLR_BLUE, CLR_HGRAY })) }
:bClrFooter := { || iif(lBW, ( { CLR_WHITE, CLR_GRAY, CLR_GRAY }), ({ CLR_WHITE, CLR_BLUE, CLR_HGRAY })) }
AEval( oBrwFac:aCols, { |oCol| ;
oCol:bClrSelFocus := { || { CLR_BLACK, RGB( 255, 224, 126) } }, ;
oCol:bPaintText := { |oCol, hDC, cData, aRect, aColors| ;
PaintCol( oCol, hDC, cData, aRect, aColors ) } } )
:nStretchCol := STRETCHCOL_WIDEST
:aCols[nFacMonto]:nFooterType := AGGR_SUM // TOTAL
:aCols[nFacPagos]:nFooterType := AGGR_SUM //TOTAL
:aCols[nFacSaldo]:nFooterType := AGGR_SUM //TOTAL
:bRClicked :={ || Fnct_EditarFactura() }
:bchange := { || Fnct_PonTotales() }
:aCols[2]:cFooter := { || " Total Documentos -> "+transform( len(aFacturas), "@E 9,999,999.99") }
:MakeTotals()
oBrwFac:MakeTotals()
END
WITH OBJECT oBrwFac:aCols[nDiasVcto]
oBrwFac:aCols[nDiasVcto]:bClrStd := ChangeColor()
END
WITH OBJECT oBrwFac:aCols[nFacPagos]
oCol:=oBrwFac:aCols[nFacPagos]
oBrwFac:aCols[nFacPagos]:nEditType := EDIT_BUTTON
oBrwFac:aCols[nFacPagos]:bEditBlock := { |nRow,nCol,oCol,nKey| Fnct_VerPagos( nRow, nCol, oCol, nKey, oBrwFac:aCols[nFacMonto] :Value ,;
oBrwFac:aCols[dEmision] :Value ),oBrwFac:Refresh() }
END
WITH OBJECT oBrwFac:aCols[cConcepto]
oCol:=oBrwFac:aCols[cConcepto]
oBrwFac:aCols[cConcepto]:nEditType := EDIT_BUTTON
oBrwFac:aCols[cConcepto]:bEditBlock := { |nRow,nCol,oCol,nKey| Fnct_VerConcepto( nRow, nCol, oCol, nKey ) }
END
WITH OBJECT oBrwFac:aCols[dVcto]
oCol:=oBrwFac:aCols[dVcto]
oBrwFac:aCols[dVcto]:nEditType := EDIT_BUTTON
oBrwFac:aCols[dVcto]:bEditBlock := { |nRow,nCol,oCol,nKey| Fnct_VerDiasCredito( nRow, nCol, oCol, nKey ) }
END
oBrwFac:gotop()
oBrwFac:Refresh()