Favor Ayuda con MULTIPLE XBROWSE

Favor Ayuda con MULTIPLE XBROWSE

Postby remtec » Wed Oct 03, 2018 8:58 pm

Amigos, necesito ayuda.

Lo que necesito es lo siguiente, tengo 2 Xbrowse:
XBROWSE Principal Con Facturas Ingresadas

XBROWSE Segundario Detalle Factura.

Ambos XBROWSE son parte de un Recurso Dialog que esta en un archivo RES. 4001 y 4002

Lo que necesito es que al Seleccionar una Factura en el XBrowse Facturas Ingresadas, se muestre Inmediatamente su Detalle en el XBrowse Detalle Factura.

Desde ya muchas Gracias.

Antonio.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Favor Ayuda con MULTIPLE XBROWSE

Postby armando.lagunas » Thu Oct 04, 2018 11:08 am

con el codeblock :bChange puedes hacerlo.

ej. como referencia:

Code: Select all  Expand view  RUN


       REDEFINE  XBROWSE  oBrw[1] ID  4001 COLUMNS "INCL","NUME","CFEC","LOTE"... ALIAS "PASO1" OF oDlg FONT xFont NOBORDER AUTOSORT FOOTERS
       ...
       ...

       oBrw[1]:bChange := {|| FuncionDetalle( oBrw ) }

       REDEFINE  XBROWSE  oBrw[2] ID  4002 COLUMNS "INCL","CODE","DETA","CANT"... ALIAS "PASO2" OF oDlg FONT xFont NOBORDER AUTOSORT FOOTERS
       ...
       ...

FUNCTION FuncionDetalle( oBrw )

     SELECT PASO2
     ZAP

     //--- haces la busqueda del detalle con la clave que tengas en el encabezado de la factura (Tabla PASO1)...
     //--- llenas la tabla PASO2 con los registros encontrados...
   
    SELECT PASO2
    GO TOP
    oBrw[2]:Gotop()
    oBrw[2]:Refresh()
    oBrw[1]:SetFocus()

RETURN .t.

 


Saludos
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: Favor Ayuda con MULTIPLE XBROWSE

Postby FranciscoA » Thu Oct 04, 2018 4:12 pm

Hola. Aqui otro estilo para guiarte, usando CDX: (codigo parcial)
//-------------------------------------
Code: Select all  Expand view  RUN
Function ClteCredito(cCodigo,cCredNum,cCliente,cMoneda)

DbSelectArea("CLIENTES")
cAlias1:=Alias()

DbSelectArea("CREDITOS")
cAlias2:=Alias()
CREDITOS->(ORDSETFOCUS("CODCTPTM"))  //Codigo de Clte +codigo de Ptmo


//PRIMER BROWSE
REDEFINE XBROWSE oBrw1 ID 118 OF oDlg ;
         COLUMNS "Codigo", "Nombre", "Apellido","CedulaIde" ;
         ALIAS (cAlias1) FOOTERS LINES CELL //;

   WITH OBJECT oBrw1
      :bChange := {|| PonerScope(cAlias1,cAlias2,oBrw2) }
   END

//SEGUNDO BROWSE
REDEFINE XBROWSE oBrw2 ID 119 OF oDlg ;
         COLUMNS "Ptmo","Moneda","MontoPtmo" ;
         ALIAS (cAlias2) FOOTERS LINES CELL //;

   WITH OBJECT oBrw2
      :bLDblClick := {|| cMoneda:=(cAlias2)->Moneda,cCodigo:=(cAlias2)->CodClte, cCredNum:=(cAlias2)->Ptmo, cCliente:=(cAlias2)->Cliente, oDlg:End() }
      :bKeyDown := {|nTecla| if(nTecla==VK_RETURN, (cMoneda:=(cAlias2)->Moneda,cCodigo:=(cAlias2)->CodClte, cCredNum:=(cAlias2)->Ptmo, cCliente:=(cAlias2)->Cliente, oDlg:End()),) }

   END


   ACTIVATE DIALOG oDlg CENTERED ;
            ON INIT ( oBrw1:SetFocus(), PonerScope(cAlias1,cAlias2,oBrw2) )

return nil
//-------------------------------------
Function PonerScope(cAlias1,cAlias2,oBrw)
(cAlias2)->(OrdScope(TOPSCOPE,(cAlias1)->Codigo))
(cAlias2)->(OrdScope(BOTTOMSCOPE,(cAlias1)->Codigo))
(cAlias2)->(DbGotop())
 oBrw:Refresh()
Return nil
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: Favor Ayuda con MULTIPLE XBROWSE

Postby nageswaragunupudi » Thu Oct 04, 2018 5:17 pm

This is a sample using DBFs.
Code: Select all  Expand view  RUN
#include "fivewin.ch"

REQUEST DBFCDX

function MasterChildDBF()

   field STATE,CODE
   local oDlg, oStates, oCust

   USE CUSTOMER NEW SHARED
   INDEX ON STATE TAG TSTATE TO TMP MEMORY
   USE STATES NEW SHARED
   SET RELATION TO CODE INTO CUSTOMER SCOPED
   GO TOP

   DEFINE DIALOG oDlg SIZE 900,400 PIXEL TRUEPIXEL ;
      TITLE "Parent Child Browse"

   @ 20,20 XBROWSE oStates SIZE 200,-20 PIXEL OF oDlg ;
      DATASOURCE "STATES" ;
      COLUMNS "CODE","NAME" CELL LINES NOBORDER

   WITH OBJECT oStates
      :bChange    := { || oCust:GoTop(), oCust:Refresh() }
      :CreateFromCode()
   END

   @ 20,200 XBROWSE oCust SIZE -20,-20 PIXEL OF oDlg ;
      DATASOURCE "CUSTOMER" ;
      COLUMNS "STATE", "FIRST", "CITY", "AGE", "SALARY" ;
      CELL LINES NOBORDER

   oCust:CreateFromCode()

   ACTIVATE DIALOG oDlg CENTERED

return nil
 


Image
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10646
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Favor Ayuda con MULTIPLE XBROWSE

Postby cmsoft » Fri Oct 05, 2018 1:09 pm

Genial el ejemplo Mr. Nages! Y como seria con MySql con Tdolphin?
User avatar
cmsoft
 
Posts: 1291
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Favor Ayuda con MULTIPLE XBROWSE

Postby FranciscoA » Fri Oct 05, 2018 2:35 pm

La importancia y potencia de SET RELATION TO... INTO...
Raras veces las he usado (por lo general lo hago con SCOPES)
Gracias por el ejemplo Mr, Nages.
cmsoft wrote:Genial el ejemplo Mr. Nages! Y como seria con MySql con Tdolphin?

+1
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: Favor Ayuda con MULTIPLE XBROWSE

Postby remtec » Fri Oct 05, 2018 4:37 pm

Amigos.

Mil gracias, realmente se pasaron.

Lo revisare todas las opciones y vere cual me queda mas comoda para implementar.

Comentare una vez que me funcione en mi aplicacion.

Muy agradecido.

Saludos

Antonio.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Favor Ayuda con MULTIPLE XBROWSE

Postby nageswaragunupudi » Fri Oct 05, 2018 5:35 pm

MySQL:

FWMariaDB library has built-in support for parent-child rowsets. Please see this thread.
viewtopic.php?f=3&t=32736

You can see parent-child browses, parent-child-grandchild browses and also one parent with multiple chidren browses. Because FWMariaDB implements client-side filters, the performace is highly optimized.

We can use fwmariadb functions in a tdolphin application also for some functions or for some modules without conflicting with tdolphin.

This is a sample using TDolphin:
Code: Select all  Expand view  RUN
#include "fivewin.ch"

function Main()

   local oServer, oQryStates, oQryCust, bWhere
   local oStates, oCust, oDlg

   oServer     := FW_DemoDB( "DLP" ) // You may use your server connection

   oQryStates  := oServer:Query( "select * from `states`" )
   bWhere      := { || "`state` = '" + oQryStates:code + "'" }
   oQryCust    := oServer:Query( "select * from customer where " + Eval( bWhere ) )

   DEFINE DIALOG oDlg SIZE 900,400 PIXEL TRUEPIXEL ;
      TITLE "Parent Child Browse"

   @ 20,20 XBROWSE oStates SIZE 200,-20 PIXEL OF oDlg ;
      DATASOURCE oQryStates ;
      COLUMNS "CODE","NAME" CELL LINES NOBORDER

   WITH OBJECT oStates
      :bChange    := { || oQryCust:SetWhere( Eval( bWhere ) ), oCust:GoTop(), oCust:Refresh() }
      :CreateFromCode()
   END

   @ 20,200 XBROWSE oCust SIZE -20,-20 PIXEL OF oDlg ;
      DATASOURCE oQryCust ;
      COLUMNS "STATE", "FIRST", "CITY", "AGE", "SALARY" ;
      CELL LINES NOBORDER

   oCust:CreateFromCode()

   ACTIVATE DIALOG oDlg CENTERED

   oQryStates:End()
   oQryCust:End()
   oServer:End()

return nil
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10646
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Favor Ayuda con MULTIPLE XBROWSE

Postby cmsoft » Fri Oct 05, 2018 10:31 pm

Excelente Mr. Nages!! Como siempre codigo claro y conciso!!
Saludos
User avatar
cmsoft
 
Posts: 1291
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Favor Ayuda con MULTIPLE XBROWSE

Postby remtec » Sat Oct 06, 2018 3:25 am

Buen dia.
Reitero las gracias a todos los que respondieron a mi solicitud.

He implementado la opción que me entrego Regards, puedo decir que quedo de maravilla, funciona super.

Solo me faltaria incorporar la ultima necesidad, que seria por permitir que se ingrese una Fecha y con esta Filtrar las Facturas de ese periodo, en el Browse Padre.

Desde ya mil gracias.

Saludos

Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 50 guests