FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Una mas de TXBrowse
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Una mas de TXBrowse
Posted: Fri Mar 31, 2023 03:12 AM
Amigos y colegas:

Sigo liado con mi primer TXBrowse con FASTEDIT, me explico, ojala me puedan ayudar
Tengo el TXBrowse con tres columnas, Cantidad, Unitario e Importe
Code (fw): Select all Collapse
聽 聽 聽 聽 聽 聽 WITH OBJECT :Cantidad
聽 聽 聽 聽 聽 聽 聽 聽:cEditPicture 聽:= "@ZK 99,999"
聽 聽 聽 聽 聽 聽 END

聽 聽 聽 聽 聽 聽 WITH OBJECT :Unitario
聽 聽 聽 聽 聽 聽 聽 聽:cEditPicture 聽:= "@Z 999,999.99"
聽 聽 聽 聽 聽 聽 END

聽 聽 聽 聽 聽 聽 WITH OBJECT :Importe
聽 聽 聽 聽 聽 聽 聽 聽:nFooterType 聽 := AGGR_SUM
聽 聽 聽 聽 聽 聽 END

聽 聽 聽 聽 聽 聽 :MakeTotals()
La columna importe no es editable, debe ser calculada multiplicando la columna Cantidad por la columna Unitario
y necesito obtener la suma de la columna importe, solo las columnas Cantidad y Unitario son editables

Seguramente para ustedes la soluci贸n es sencilla pero yo llevo varias horas y no doy pie con bola.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Una mas de TXBrowse
Posted: Fri Mar 31, 2023 11:40 AM
Hola Armando
Esta es una forma de resolverlo:
Code (fw): Select all Collapse
WITH OBJECT :Importe
聽 聽:cDataType 聽 聽:= "N"
聽 聽:cEditPicture := PIC_NUEVECIFED 聽 聽 // picture "@E 999,999.99"
聽 聽:nHeadStrAlign:= :nFootStrAlign:= AL_RIGHT
聽 聽:nFooterType 聽:= AGGR_SUM
聽 聽:nEditType 聽 聽:= EDIT_GET

聽 聽:bOnPostEdit 聽:= {|o, nVal, nK| if( nK != VK_ESCAPE, ( o:Value:= nVal, Eval( bCalculaIVA ), ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 if( ::aMateriales[aO[_oBrwDeta]:nArrayAt][_IDMat] == 0, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ( aO[_oBrwDeta]:nColSel:= _Detalle ), nil ) ), ) } 聽 
END

/* Referencia
聽 聽nVal es el valor introducido
聽 聽Importe esta contenido en un multiarray
聽 聽bCalculaIVA es un bloque de codigo donde hago variados calculos que afectan a resultado final de Importe
聽 聽Alli incluyo :MakeTotals(), :RefreshFooters() y :Refresh del browse para luego posicionar en la 2da
聽 聽columna, de las siguiente linea, para agregar buscar otro registro 
*/
Saludos!
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Una mas de TXBrowse
Posted: Fri Mar 31, 2023 12:02 PM

Hola Mario:

Te agradezco el c贸digo, voy a intentar adaptarlo a mis necesidades aunque de entrada

veo una diferencia, mi columna IMPORTE no es editable, es el resultado de multiplicar

la columna CANTIDAD por la columna UNITARIO, pero lo voy a intentar.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Una mas de TXBrowse
Posted: Fri Mar 31, 2023 02:25 PM
Armando, este trozo de codigo puede servirte:
Code (fw): Select all Collapse
 聽WITH OBJECT oBrw:Codigo 
聽 聽 聽 :bEditValid 聽 聽 := { |oGet| oGet:VarGet() > 0 }
聽 聽 聽 :bOnChange 聽 聽 聽:= { |oCol| oBrw:Descrip:Value := "Codigo " + Str(oBrw:Codigo:Value,4) }
聽 聽END

WITH OBJECT oBrw:Cantidad
聽 聽 聽 :bEditWhen 聽 聽 聽:= { || ! Empty( oBrw:Codigo:Value ) }
聽 聽 聽 :bOnChange 聽 聽 聽:= { || oBrw:MakeTotals(), oBrw:RefreshFooters() }
聽 聽 聽 :bEditValid 聽 聽 := { |oGet| oGet:VarGet() > 0 }
聽 聽END

聽 聽WITH OBJECT oBrw:Unitario 
聽 聽 聽 :bEditWhen 聽 聽 聽:= { || ! Empty( oBrw:Codigo:Value ) .and. ! Empty( oBrw:Cantidad:Value ) }
聽 聽 聽 :bOnChange 聽 聽 聽:= { || oBrw:MakeTotals(), oBrw:RefreshFooters() } 
聽 聽 聽 :bEditValid 聽 聽 := { |oGet| oGet:VarGet() > 0 }
聽 聽END

聽 聽WITH OBJECT oBrw:Importe
聽 聽 聽 :bEditValue 聽 聽 := { || oBrw:Cantidad:Value * oBrw:Unitario:Value }
聽 聽 聽 :cEditPicture 聽 := "999,999,999.99"
聽 聽 聽 :nFooterType 聽 聽:= AGGR_SUM
聽 聽END
Saludos
Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Una mas de TXBrowse
Posted: Sat Apr 01, 2023 01:19 AM

Francisco:

Muchas gracias, lo probar茅.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Una mas de TXBrowse
Posted: Sat Apr 01, 2023 04:59 PM
Hola Francisco:

Tu soluci贸n me funcion贸 al 100%, abusando de tu amabilidad te cuento...
tengo dos necesidades m谩s, todo con un Browse FASTEDIT

1.- En el siguiente c贸digo no logro que aparezca el BMP Bus16, es un EDIT_GET_BUTTON
Leandro me dio una soluci贸n pero no logr茅 hacerla funcionar, Saludos Leandro.
Code (fw): Select all Collapse
WITH OBJECT :Material
聽 聽 聽:cOrder聽 聽 聽 聽 聽 := "A"
聽 聽 聽:cEditPicture 聽:= "@!K"
聽 聽 聽:AddResource("Bus16")
聽 聽 聽:bEditBlock 聽 聽:= { | | BrwMat(oDlg) 聽}
聽 聽 聽:bEditValid 聽 聽:= { | oGet | ValMat(oGet:VarGet()) }
END
2.- Despu茅s de agregar un registro en blanco (:bPastEof) si el usuario ya no lo quiere
c贸mo puedo eliminarlo, varios editores utilizan la tecla flecha arriba para eliminarlo
si es que no hay campos con valor. Tal vez si pudiera interceptar el movimiento del
cursor en el Browse?

Debo aclarar que estoy actualizando la tabla directamente a trav茅s de su recordset, es decir, no utilizo arreglos.
Code (fw): Select all Collapse
聽 聽 聽 聽 REDEFINE XBROWSE oBry ID 401 OF oDlg;
聽 聽 聽 聽 聽 聽 DATASOURCE oRsWMat;
聽 聽 聽 聽 聽 聽 COLUMNS "MDE_MAT","MDE_DES","MDE_CTD","MDE_PUN","MDE_IMP";
聽 聽 聽 聽 聽 聽 HEADERS "Material","Descripci贸n del material","Cantidad","Unitario","Importe";
聽 聽 聽 聽 聽 聽 COLSIZES 90,250,50,70,80;
聽 聽 聽 聽 聽 聽 PICTURES Nil,Nil,"@Z 99999","@Z 9,999.99","@Z 999,999.99";
聽 聽 聽 聽 聽 聽 JUSTIFY {AL_LEFT,AL_LEFT,AL_RIGHT,AL_RIGHT};
聽 聽 聽 聽 聽 聽 FOOTERS AUTOSORT BACKGROUND oApp:cBrush FASTEDIT
Muy agradecido con tu apoyo
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Una mas de TXBrowse
Posted: Wed Apr 05, 2023 02:56 AM
En el siguiente c贸digo no logro que aparezca el BMP Bus16, es un EDIT_GET_BUTTON
Recommendation:
Code (fw): Select all Collapse
WITH OBJECT :Material
// 聽 聽 :cOrder 聽 聽 聽 聽 聽:= "A" // XBROWSE uses this internally
聽 聽 聽:cEditPicture 聽:= "@!" 聽 // "@!K" "K" is not required in FWH
// 聽 聽 :AddResource("Bus16")
聽 聽 聽:nBtnBmp 聽 聽 := "Bus16" 聽// Insert here
聽 聽 聽:bEditBlock 聽 聽:= { | | BrwMat(oDlg) 聽}
聽 聽 聽:bEditValid 聽 聽:= { | oGet | ValMat(oGet:VarGet()) }
END
You can also set the button width by
Code (fw): Select all Collapse
oCol:nBtnWidth := n
Regards



G. N. Rao.

Hyderabad, India
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Una mas de TXBrowse
Posted: Wed Apr 05, 2023 03:47 AM

Master Mr. Rao:

Thank you so much.

Best regards

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero

Continue the discussion