Hola en su momento consulte sobre xbrowse y Mr. Nageswaragunupudi me recomento utilizar esta funci贸n cuando usase xBrowse, pero el programa me muestra los resultados en formato Americano y sin los separadores de mil y s铆 el decimal. Aqu铆 muestro todo el c贸digo para ver si me pueden ayudar con esto. Los ejemplos de fwh funcionan bien, pero aqu铆 hay algo que no funciona.
Gracias
Luis
#include "Fivewin.ch"
#include "xbrowse.ch"
#include "splitter.ch"
#include "report.ch"
STATIC octae
FUNCTION xBrwgen()
聽 聽LOCAL odlgx
聽 聽LOCAL oBrw, oSpli
聽 聽LOCAL nProa := 0
聽 聽LOCAL napea
聽 聽LOCAL aMae := Array( 0 )
聽 聽LOCAL oGet := Array( 7 )
聽 聽LOCAL beval 聽:= {|| aMae := iif( Empty( nproa ), buspro(), buspro( nproa ) ), iif( Len( aMae ) > 0, ( nproa := aMae[ 1 ],napea := aMae[ 2 ],odlgx:update(),filtro(nproa,oBrw,oGet,oDlgx ), .T. ), odlgx:end() ) }
聽 聽LOCAL aSelGrad := { { .5, RGB( 255, 255, 251 ), RGB( 255, 237, 178 ) }, ;
聽 聽 聽 { .5, RGB( 255, 218, 103 ), RGB( 255, 233, 162 ) } }
聽 聽LOCAL aGradBarSel := { { .5,RGB( 255,255,251 ), RGB( 255, 196, 178 ) }, ;
聽 聽 聽 { .5, RGB( 255, 218, 103 ), RGB( 255, 233, 162 ) } }
聽 聽LOCAL nSaldo := 0
聽 聽LOCAL z := 0
聽 聽
聽 聽xbrNumFormat( "E", .t. )
聽 聽
聽 聽IF !pasaje( "CTAEXPO" );RETURN nil; ENDIF
聽 聽DATABASE oCtae
聽 聽oCtae:setorder( 1 )
聽 聽oCtae:beof := {|| nil }
聽 聽oCtae:bBoF := {|| nil }
聽 聽oCtae:setfilter( {|| ( oCtae:cAlias )->npro = 0 } )
聽 聽//oCtae:setfilter( "(oCtae:cAlias)->npro = 0 " )
聽 聽DEFINE DIALOG oDlgx resource "dia_xbrowse"
聽 聽REDEFINE GET oGet[ 1 ] VAR nproa id 121 of odlgx update VALID Eval( beval )
聽 聽REDEFINE GET oGet[ 2 ] VAR napea id 120 of odlgx update
聽 聽REDEFINE BTNBMP oGet[ 3 ] id 101 of oDlgx resource "btngastos", "btnastos1" ACTION ctaexpo( oCtae, oBrw, nproa, .T., .T. ) update
聽 聽REDEFINE BTNBMP oGet[ 4 ] id 102 of oDlgx resource "btnpagos", "btnpagos1" ACTION ctaexpo( oCtae, oBrw, nproa, .F., .T. ) update
聽 聽REDEFINE BTNBMP oGet[ 5 ] id 103 of oDlgx resource "btncambiar", "btncambiar1" ACTION ctaexpo( oCtae, oBrw, nproa, .T., .F. ) update
聽 聽REDEFINE BTNBMP oGet[ 6 ] id 104 of odlgx resource "BTNIMPRI", "BTNIMPRI1" ACTION Reporte( nProa, octae ) update
聽 聽REDEFINE BTNBMP oGet[ 7 ] id 105 of odlgx resource "BTNELIMINA", "BTNELIMINA1" ACTION BORRAR( nProa, octae, oBrw, odlgx ) update
聽 聽REDEFINE BTNBMP oGet[7] id 105 of oDlgx resource "BTNELIMINA","BTNELIMINA1" ACTION borrar(nProa,oCtae)
聽 聽FOR z = 3 TO 7
聽 聽 聽 oGet[ z ]:disable()
聽 聽NEXT
聽 聽REDEFINE SPLITTER oSpli ID 111 COLOR rgb( 234, 234, 234 ) 聽of odlgx _3DLOOK
聽 聽REDEFINE XBROWSE oBrw ID 110 OF oDlgx DATASOURCE oCtae;
聽 聽 聽 COLUMNS ;
聽 聽 聽 { {|| If( oCtae:npro = nproa, oCtae:fecha, 聽"" ) } }, 聽;
聽 聽 聽 { {|| If( oCtae:npro = nproa, oCtae:factura, "" ) } }, 聽;
聽 聽 聽 { {|| If( oCtae:npro = nproa, oCtae:opera, "" ) } }, 聽;
聽 聽 聽 { {|| If( octae:npro = nProa .AND. 聽 octae:lsumo, octae:importe, "" ) } }, 聽;
聽 聽 聽 { {|| If( octae:npro = nProa .AND. 聽!octae:lsumo, octae:importe, "" ) } }, 聽;
聽 聽 聽 { {|| If( oCtae:npro = nproa, oCtae:saldo, "" ) } } ;
聽 聽 聽 HEADERS "Fecha", "Comprobante", "Descripci贸n", "Debe", "Haber", "Total";
聽 聽 聽 COLSIZES 80, 90, 190, 100, 100, 100;
聽 聽 聽 LINES CELL UPDATE
聽 聽 聽
聽 聽 聽 oBrw:lDisplayZeros := .f.
聽 聽 聽
聽
聽 聽WITH OBJECT oBrw
聽 聽 聽 :lDisplayZeros := .F.
聽 聽 聽 :nMarqueeStyle := MARQSTYLE_HIGHLROWRC
聽 聽 聽 :nStretchCol := STRETCHCOL_WIDEST
聽 聽 聽 :bClrSel := {|| { nRGB( 聽0, 聽0,255 ),aGradBarSel } }
聽 聽 聽 :bClrSelFocus 聽:= {|| { CLR_BLACK, aSelGrad } }
聽 聽 聽 :lColDividerComplete := .F.
聽 聽 聽 :lAllowColHiding := .F.
聽 聽END WITH
聽 聽WITH OBJECT oBrw:aCols[ 1 ]
聽 聽 聽 :bStrData := {|| oCtae:fecha }
聽 聽 聽 :nDataStrAlign := AL_RIGHT
聽 聽END WITH
聽 聽WITH OBJECT oBrw:aCols[ 2 ]
聽 聽 聽 :bStrData := {|| oCtae:factura }
聽 聽 聽 :nDataStrAlign := AL_RIGHT
聽 聽END WITH
聽 聽WITH OBJECT oBrw:aCols[ 3 ]
聽 聽 聽 :bStrData := {|| oCtae:opera }
聽 聽 聽 :nDataStrAlign := AL_LEFT
聽 聽END WITH
聽 聽WITH OBJECT oBrw:aCols[ 4 ]
聽 聽 聽 :bStrData := {|| iif( octae:lsumo, octae:importe,0) 聽 }
聽 聽 聽 :nDataStrAlign := AL_RIGHT
聽 聽END WITH
聽 聽WITH OBJECT oBrw:aCols[ 5 ]
聽 聽 聽 :bStrData := {|| iif( !octae:lsumo, octae:importe, 0) 聽}
聽 聽 聽 :nDataStrAlign := AL_RIGHT
聽 聽END WITH
聽 聽WITH OBJECT oBrw:aCols[ 6 ]
聽 聽 聽 :bStrData := {|| octae:saldo }
聽 聽 聽 :nDataStrAlign := AL_RIGHT
聽 聽END WITH
聽 聽activate dialog odlgx
聽 聽cierroalias( oCtae:cAlias, oCtae )
RETURN NIL
/***************************************************************************/Gracias
Luis