xBrowse y GoleftMost

xBrowse y GoleftMost

Postby Pedro » Mon Mar 12, 2012 11:22 am

Hola a todos
Tengo el siguiente código en un xBrowse :
Code: Select all  Expand view

   oBrw:lFastEdit  := .T.
   oBrw:bPastEof = {|| (cAlias1)->(Dbappend()), oBrw:GoLeftMost(),oBrw:Refresh(),;
                                            oBrw:aCols[ 1 ]:Edit() }
                                            //agrega registro y "oprime" enter
                       
   oCol = oBrw:AddCol()
   oCol:bStrData      := { ||(cAlias1)->codigo }
   oCol:nEditType     := EDIT_GET
   oCol:cHEADER       := "CODIGO"
   oCol:bOnPostEdit   := { | oCol, xVal, nKey | If( RecCount() == 0,( DbAppend(), oBrw:Refresh() ),) ,;
   If( nKey == VK_RETURN, If(BArticulo(oBrw,xVal,"CODIGO"),((cAlias1)->importe := Importe(oBrw,0),;
                                                            (cAlias1)->(dbAppend()),oBrw:Refresh(),oBrw:GoleftMost()  ),),),;
   If( nKey == VK_ESCAPE .and. Empty((cAlias1)->codigo),( (cAlias1)->(dbDelete()),;
               (cAlias1)->(__dbPack()),(cAlias1)->(dbGoBottom()),oBrw:Refresh() ), ) }

   .....más Columnas etc
 

Se supone que cuando ponga un código y lo valide, debería hacer un append blank y volver a esta misma columna.
Pues bien, el append blank lo hace, pero no vuelve a la columna si no que se va a la siguiente columna, es como si el goleftmost estuviera solo de adorno
porque no le hace ni puñetero caso.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: xBrowse y GoleftMost

Postby MarioG » Mon Mar 12, 2012 1:02 pm

Pedro;
No probaste con:

oCol:nMoveType:= MOVE_LEFT //MOVE_FAST_LEFT (no se si esta va a la mas lejana, que seria la primera para tu caso no?)

Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: xBrowse y GoleftMost

Postby Pedro » Mon Mar 12, 2012 3:34 pm

Hola Mario
Se supone que GoleftMost es para irse al principio a la primera columna del xBrowse y nMoveType es para indicar al browse cual va a ser el movimiento pro defecto.

Al final lo he solucionado colocando oBrw:aCols[1]:Edit(), no es muy ortodoxo ya que cuando pongas un código y lo valides te abre un registro nuevo pero es la solución que he encontrado. De lo que se trataba es de que el usuario cuando ingrese un artículo a través de un lector, y una vez validado, abriera un registro nuevo para introducir otro artículo sin necesidad de dar enter al final o flecha abajo para abrir ése nuevo registro, y así simular nueva entrada y que el usuario no parase de usar el lector.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: xBrowse y GoleftMost

Postby FranciscoA » Mon Mar 12, 2012 7:14 pm

Hola Pedro:
¿Ya intentaste con: oBrw:nColsel := 1, oBrw:Refresh()?
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

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

Re: xBrowse y GoleftMost

Postby MarioG » Mon Mar 12, 2012 7:44 pm

JM;
En mi caso tengo tres columnas de edicion: Una EDIT_GET y dos EDIT_LISTBOX, en las dos primeras indico, como bien decis por defecto MOVE_RIGHT y en la última incluyo en :bOnPostEdit := {|...|... oLst:GoDown(), oLst:nColSel:= col_3 ...} para ir a la columna 3 (como bien sugiere Francisco, aunque sin :Refresh() ), que es mi primer columna de edición.

Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: xBrowse y GoleftMost

Postby MarioG » Mon Mar 12, 2012 7:48 pm

fe de erratas: donde dice JM debe decir Pedro :lol:
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: xBrowse y GoleftMost

Postby Pedro » Tue Mar 13, 2012 8:45 am

Francisco, he probado lo que me indicas, y me hace lo mismo que con el GoleftMost, es decir, ni caso, va a la segunda columna.

Mario, yo también tengo un bOnposEdit en todas las columnas, el tema es que con un lector de códigos de barra los datos entran a partir de la primera columna y el usuario, éste en concreto, sólo quiere coger la mercancía, pasarla por el lector y que el programa haga el resto. No quiere tocar el teclado. Para hacerlo directamente con el browse necesito abrir un registro al inicio y posicionar el cursor en la columna de edición, en mi caso la primera, y después de cada lectura del lector, y una vez validados los datos, volver a abrir registro nuevo y posicionar en la primera columna. Si como pasa con el GoleftMost el cursor pasa a la segunda columna, el dato del código de barras de la mercancía aparecería en la segunda columna que es la descripción de la mercancía y no lo podría buscar por el código ni por el nombre, que es lo que espero para buscar y validar.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: xBrowse y GoleftMost

Postby FranciscoA » Tue Mar 13, 2012 11:26 pm

Pedro,
Tengo un sist de Contabilidad en el que hago algo parecido a lo que necesitas. Prueba asi:

oCol:bOnPostEdit = { | oCol, xVal, nKey | If( RecCount() == 0, ( DbAppend(), oBrw:Refresh() ),) ,;
If( nKey == VK_RETURN, ((cAlias)->SSSCta := xVal,if(lCtaOK(oBrw),(oBrw:nColSel:=1,DBAPPEND()),)) ,) }
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

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

Re: xBrowse y GoleftMost

Postby Pedro » Wed Mar 14, 2012 8:55 am

Hola Francisco

Así lo he puesto pero no funciona,

Code: Select all  Expand view
 oCol = oBrw:AddCol()
   oCol:bStrData      := { ||(cAlias1)->codigo }
   oCol:nEditType     := EDIT_GET
   oCol:cHEADER       := "CODIGO"
   oCol:bOnPostEdit   := { | oCol, xVal, nKey | If( RecCount() == 0,( DbAppend(), oBrw:Refresh() ),) ,;
   If( nKey == VK_RETURN, If(BArticulo(oBrw,xVal,"CODIGO"),((cAlias1)->importe := Importe(oBrw,0),;
                                                            oBrw:nColSel:=1,(cAlias1)->(dbAppend()),oBrw:Refresh()  ),),),;
   If( nKey == VK_ESCAPE .and. Empty((cAlias1)->codigo),( (cAlias1)->(dbDelete()),;
               (cAlias1)->(__dbPack()),(cAlias1)->(dbGoBottom()),oBrw:Refresh() ), ) }


Se va a la segunda columna, en cambio si lo pongo de esta manera
If( nKey == VK_RETURN, If(BArticulo(oBrw,xVal,"CODIGO"),((cAlias1)->importe := Importe(oBrw,0),;
(cAlias1)->(dbAppend()),oBrw:Refresh(),oBrw:aCols[1]:Edit() ),),),;

siempre va a la primera columna
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 59 guests