Xbrowse, manual o ayuda

Xbrowse, manual o ayuda

Postby lcortesm » Mon Apr 13, 2015 12:16 pm

Estimados amigos, tengo una dificultad, he trabajado durante años con la clase TSBrowse con FW2.2, del maestro Manuel Mercado, tengo en uso FWH812, Bcc55, y xHarbour, no pude levantar la libreria de Tsbrwose para cambiar mi programacion de 16 bits a 32 bits, por lo que me fui a Xbrowse, pero se me presentan dudas de conocimiento de base, he perdido el ritmo y no veo mucha documentación de apoyo, en lo general, por ahora necesito poder colocar totales en los footers de cada columna de datos numericos que trabajo, es decir.. si hago doble click en una linea del browse, ingreso valores de cantidad, precio y me da el total, quiero que la suma de todos los totales de esa columna se muestren en el footer, pero no he podido hacerlo, favor de ayudarme, lo otro, cada vez que entro a un browse, me sale la linea completa en fondo negro y letras muy oscuras y no es muy legible.

parte de mi codigo..

Go top
oBrw01:=TxBrowse():New(oDlgEdit1)

oBrw01:nMarqueeStyle := MARQSTYLE_HIGHLROW // Con cursor de todo el renglón
oBrw01:nColDividerStyle := LINESTYLE_LIGHTGRAY
oBrw01:nRowDividerStyle := LINESTYLE_LIGHTGRAY
oBrw01:lColDividerComplete := (.t.) // (.T.) Mantiene siempre llena la pantalla
oBrw01:nHeaderHeight := 25 // Altura de los encabezados
oBrw01:nRowHeight := 25 // Altura del renglón
oBrw01:nHeaderLines := 2 // Número de líneas de encabezados
oBrw01:nDataLines := 2 // Número de líneas de detalle
oBrw01:nFooterHeight := 20 // Altura del footer
oBrw01:nFooterLines := 2 // Número de líneas en el footer
oBrw01:lFooter := (.T.) // Sí queremos línea de footer
oBrw01:lHScroll := (.T.) // Quitamos el scroll horizontal

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Ite_Art }
oCol01:cHeader := "Item"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_LEFT //LEFT
oCol01:nWidth := 50

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Cod_Art}
oCol01:cHeader := "Codigo"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_LEFT //LEFT
oCol01:nWidth := 100

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Nom_Art }
oCol01:cHeader := "Detalle"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_LEFT //LEFT
oCol01:nWidth := 300

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Can_Art }
oCol01:cHeader := "Cantidad"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_RIGHT //LEFT
oCol01:nWidth := 100

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Pco1_Art }
oCol01:cHeader := "P/Costo CD"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_RIGHT //LEFT
oCol01:nWidth := 100

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Des1_Art }
oCol01:cHeader := "% D1"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_RIGHT //LEFT
oCol01:nWidth := 30

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Des2_Art }
oCol01:cHeader := "% D2"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_RIGHT //LEFT
oCol01:nWidth := 30

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Des3_Art }
oCol01:cHeader := "% D3"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_RIGHT //LEFT
oCol01:nWidth := 30

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Pco2_Art }
oCol01:cHeader := "P/Costo SD"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_RIGHT //LEFT
oCol01:nWidth := 30

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Tot_Art }
oCol01:cHeader := "Total"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_RIGHT //LEFT
oCol01:nWidth := 100

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Ref_Art }
oCol01:cEditPicture := "!!-!!-!!!-!!"
oCol01:cHeader := "Referencia"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_RIGHT //LEFT
oCol01:nWidth := 100
oCol01:nEditType := 1
oCol01:bClrStd := {|| { CLR_BLACK, RGB(166,255,166) }}
oCol01:bOnPostEdit = { | oCol, xVal, nKey | DBRLOCK(), (Archi)->Ref_Art := xVal, DBUNLOCK() }

oCol01 := oBrw01:AddCol()
oCol01:bStrData := { || (Archi)->Cco_Art }
oCol01:cEditPicture := "@!"
oCol01:cHeader := "C.Costo"
oCol01:nHeadStrAlign := AL_CENTER //LEFT
oCol01:nDataStrAlign := AL_RIGHT //LEFT
oCol01:nWidth := 100
oCol01:nEditType := 1
oCol01:bClrStd := {|| { CLR_BLACK, RGB(166,255,166) }}
oCol01:bOnPostEdit = { | oCol, xVal, nKey | DBRLOCK(), (Archi)->Cco_Art := xVal, DBUNLOCK() }

oBrw01:bKeyChar = { | nKey | If( nKey == VK_ESCAPE, oDlgEdit1:End(), nKey ) }
oBrw01:bLDblClick := {|| Add_Compra(oBrw01,Archi,cEstado,cEmpresa), Toco_Siva(Archi,@xSubTotal,@xDescuento,@xNeto,@xExento,@xIva,@xTotal,oSubTotal,oDescuento,oNeto,oExento,oIva,oTotal), oBrw01:Refresh() }
oBrw01:CreateFromResource(1000)
lcortesm
 
Posts: 3
Joined: Sun Apr 12, 2015 10:12 pm

Re: Xbrowse, manual o ayuda

Postby joseluisysturiz » Mon Apr 13, 2015 5:06 pm

Aca tienes en la wiki sobre xbrowse con samples y todo...cualquier otra duda estamos a la orden, saludos... :shock:

http://wiki.fivetechsoft.com/doku.php?i ... ds_xbrowse
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Xbrowse, manual o ayuda

Postby VitalJavier » Mon Apr 13, 2015 7:01 pm

Yo lo tengo asi y me funciona muy bien

Code: Select all  Expand view  RUN

oBrow2:aCols[06]:nFooterType        := AGGR_TOTAL
oBrow2:MakeTotals()
 
User avatar
VitalJavier
 
Posts: 241
Joined: Mon Jun 10, 2013 6:40 pm

Re: Xbrowse, manual o ayuda

Postby lcortesm » Tue Apr 14, 2015 1:10 am

Estimados, debe ser la edad..no lo visualizo, la funcion makestotal(),donde la ubico,entre la la librera de xBrowse, y no la
encuentro.
lcortesm
 
Posts: 3
Joined: Sun Apr 12, 2015 10:12 pm

Re: Xbrowse, manual o ayuda

Postby FranciscoA » Tue Apr 14, 2015 3:06 am

Que version usas? MakeTotals() se implementó a partir de la version de Marzo del 2009.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Xbrowse, manual o ayuda

Postby joseluisysturiz » Tue Apr 14, 2015 3:12 am

FranciscoA wrote:Que version usas? MakeTotals() se implementó a partir de la version de Marzo del 2009.
Saludos.

Segun dice..." tengo en uso FWH812, Bcc55, y xHarbour", de verdad es raro no le funcione...saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Xbrowse, manual o ayuda

Postby FranciscoA » Tue Apr 14, 2015 3:31 am

Segun dice..." tengo en uso FWH812, Bcc55, y xHarbour", de verdad es raro no le funcione...saludos... :shock:

Oppss...!!! Culpa de los anteojos... Si no estoy equivocado es la version de Dic 2008.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Xbrowse, manual o ayuda

Postby joseluisysturiz » Tue Apr 14, 2015 3:35 am

FranciscoA wrote:
Segun dice..." tengo en uso FWH812, Bcc55, y xHarbour", de verdad es raro no le funcione...saludos... :shock:

Oppss...!!! Culpa de los anteojos... Si no estoy equivocado es la version de Dic 2008.

Yo la interprete al contrario...crei era agosto 2012, jejeje...si es verdad que primero es el año y luego el mes...si es asi, entonces por eso no lo ve...saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Xbrowse, manual o ayuda

Postby jbrita » Tue Apr 14, 2015 1:36 pm

Como esta Don Luis, este es mi correo y le ayudare.

Saludos
jbrita
 
Posts: 502
Joined: Mon Jan 16, 2006 3:42 pm

Re: Xbrowse, manual o ayuda

Postby lcortesm » Tue Apr 14, 2015 2:05 pm

Estimado Jose, perdi los datos de contactos y no me sale tu correo, favor de llamarme o ubicarme, ya que reinicio el proceso de programación, durante un año lo deje de lado y ahora regreso y veo
que hay muchas novedades al respecto.

Nota: nunca supe sobre los algoritmos de impuestos que te envie, estaban todos, los de especifico, ilas, etc.
lcortesm
 
Posts: 3
Joined: Sun Apr 12, 2015 10:12 pm

Re: Xbrowse, manual o ayuda

Postby FranciscoA » Tue Apr 14, 2015 7:50 pm

Icortesm.
Aqui tienes un ejemplo de como lo hacía antes, sin el MakeTotals(). Espero sirva de guía para tu implementación.

Tambien puedes mirar a: (en el foro hay muchos mas ejemplos)
viewtopic.php?f=6&t=13246&start=0&hilit=ejemplo+funcional

Code: Select all  Expand view  RUN
#include "Fivewin.ch"
#include "xBrowse.ch"
//----------------------------//
Function Main()
local oDlg, oBrw, oCol
local nTotal1:=0, nTotal2:=0
local aDbf := {}, cAlias

   aadd( aDbf, {"DEBE"    , "N", 12, 2}  )
   aadd( aDbf, {"HABER"   , "N", 12, 2}  )

   if !file( "PRUEBA.DBF"  )
      dbcreate( "PRUEBA.dbf", aDbf )
   Endif

   DBUSEAREA(.T.,,"PRUEBA","PRUEBA",.F.)
   DBSELECTAREA("PRUEBA")
   cAlias := Alias()

DEFINE DIALOG oDlg SIZE 300,400 TITLE "Totales en footers"

   oBrw := TXBrowse():New( oDlg )
   oBrw:cAlias := cAlias

   oBrw:nMarqueeStyle    := MARQSTYLE_HIGHLCELL  //BarSel solo ilumina la celda actual
   oBrw:nColDividerStyle     := LINESTYLE_INSET
   oBrw:nRowDividerStyle     := LINESTYLE_INSET
   oBrw:lColDividerComplete  := .t.    //completa pintado hasta el footer cuando lineas no llenan todo el browse
   oBrw:nRowHeight   := 20  //altura entre lineas
   oBrw:lTransparent := .t.
   oBrw:lContrastClr := .f.  //para que no cambie color de texto automaticamente segun intensidad del fondo
   oBrw:nStretchCol   :=  6 //STRETCHCOL_LAST  //6  //ajustar ancho de col6 para llenar ancho del browse

   oBrw:nHeaderHeight        := 30   //Altura cabeceras de col
   oBrw:lFooter              := .t.  //Que tendrá footer
   oBrw:nFooterLines         := 2    //Lineas del footer
   oBrw:nFooterHeight        := 34   //Altura del  Footer
   oBrw:lRecordSelector      := .t.  //poner o no, COL de la flechita de la izq

   oBrw:lFastEdit := .t.    //.t.= edicion rapida, salta a sig col
   oBrw:bPastEof  := {|| Dbappend(), oBrw:GoLeftMost(), oBrw:Refresh(), oBrw:aCols[ 1 ]:Edit() }  //agrega registro y "oprime" enter

   oCol = oBrw:AddCol()
   oCol:bEditValue = { || (cAlias)->DEBE }
   oCol:cEditPicture =  "@Z 99,999,999,999.99"  
   oCol:nDataStrAlign := 1   //alineado a la derecha
   oCol:cHeader = "DEBITOS"
   oCol:nEditType = EDIT_GET
   oCol:lTotal := .t.  
   oCol:bFooter  =  {|| TRANSFORM(nTotal1,"99,999,999,999.99") }
   oCol:nFootStrAlign := 1
   oCol:bOnPostEdit = { | oCol, xVal, nKey | If( RecCount() == 0, ( DbAppend(), oBrw:Refresh() ),),;
                        If( nKey == VK_RETURN, (nTotal1+=(xVal-(cAlias)->DEBE), oCol:RefreshFooter(), (cAlias)->DEBE := xVal, oBrw:GoLeftMost()) ,) }

   oCol = oBrw:AddCol()
   oCol:bEditValue = { || (cAlias)->HABER }
   oCol:cEditPicture =  "@Z 99,999,999,999.99"  
   oCol:nDataStrAlign := 1
   oCol:cHeader = "CREDITOS"
   oCol:nEditType = EDIT_GET
   oCol:lTotal := .t.
   oCol:bFooter  =  {|| TRANSFORM(nTotal2,"99,999,999,999.99") }
   oCol:nFootStrAlign := 1
   oCol:bOnPostEdit = { | oCol, xVal, nKey | If( RecCount() == 0, ( DbAppend(), oBrw:Refresh() ),),;
                        If( nKey == VK_RETURN, (nTotal2+=(xVal-(cAlias)->HABER), oCol:RefreshFooter(), (cAlias)->HABER := xVal, oBrw:GoLeftMost()) ,) }
   
   oBrw:SetRDD()
   oBrw:CreateFromCode()

   ACTIVATE DIALOG oDlg CENTERED ;
       ON INIT oBrw:SetSize(oDlg:nWidth-10,oDlg:nHeight-10)

       (cAlias)->(dbCloseArea())
       Ferase((cAlias)+".dbf")
   RETURN NIL

 

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 44 guests