FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xbrowse y menupopup
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
xbrowse y menupopup
Posted: Tue Oct 28, 2014 11:18 PM
Hola compa帽eros tengo el siguiente problema con un di谩logo que contiene un xbrowse y botones que llaman a distintas funciones

Parte del c贸digo involucrado
Code (fw): Select all Collapse
聽 聽MENU oMenufac POPUP 2007
[聽 MENUITEM "Factura" ACTION hacerfac( oBrw, 聽.T. 聽)
聽 聽MENUITEM "Remito" ACTION hacerfac( oBrw, 聽.F. 聽)
聽 聽ENDMENU



聽 聽MENU oMenubus POPUP 2007
聽 聽MENUITEM "O.Compra" ACTION fbuscom( oBrw )
聽 聽MENUITEM "Proveedor" ACTION fbuscli( oBrw, .T. )
聽 聽MENUITEM "Volver" ACTION fbuscli( oBrw, .F. 聽)
聽 聽ENDMENU



聽 聽DEFINE DIALOG odlgx resource "BRX_GRUP"

聽 聽REDEFINE BTNBMP oNbut[ 3 ] id 106 OF odlgx resource "BTNNUEVO", "BTNNUEVO1" 聽ACTION 聽nuevocom( .T. 聽) 聽NOBORDER
聽 聽REDEFINE BTNBMP oNbut[ 4 ] id 107 OF odlgx resource "BTNELIMINA", "BTNELIMINA1" ACTION 聽BORRO( oBrw ) 聽NOBORDER
聽 聽REDEFINE BTNBMP oNbut[ 5 ] id 108 OF odlgx resource "BTNFACTURA", "BTNFACTURA1" 聽 NOBORDER
聽 聽REDEFINE BTNBMP oNbut[ 1 ] id 104 OF odlgx resource "btbuscar", "btbuscar1"  NOBORDER
聽 聽REDEFINE BTNBMP oNbut[ 2 ] id 105 OF odlgx resource "btnsalir", "btnsali1" 聽 ACTION odlgx:End() NOBORDER
聽 聽odlgx:aControls[ 3 ]:oPopup := oMenufac
聽 聽odlgx:aControls[ 4 ]:oPopup := oMenubus



聽 聽REDEFINE XBROWSE oBrw ID 103 OF odlgx DATASOURCE oCom;
聽 聽 聽 COLUMNS { 1, 2, 3, 4, 5, 6, 7 };
聽 聽 聽 HEADERS "Fecha", "N煤mero", "Proveedor", "Importe", "Condici贸n", "Responsable","";
聽 聽 聽 COLSIZES 80, 90, 190, 100, 140, 150, 40;
聽 聽 聽 LINES CELL 聽UPDATE ON DBLCLICK nuevocom( .F. 聽)

etc etc etc

//////////////////////////////////////////////////////////////////////////////
STATIC FUNCTION hacerfac( oBrw, lfactura )

聽 聽LOCAL aDetalle := Array( 0 )
聽 聽LOCAL aProd := Array( 0 )
聽 聽LOCAL cEvalprod := {|| aProd := BPRODU( oDcom:codigo ) }

聽 聽IF !Empty( oCom:fechaent )
聽 聽 聽 MsgStop( "Ya ingres贸 en el sistema", "Aviso del sistema" )
聽 聽 聽 RETURN NIL
聽 聽ENDIF

聽 聽IF oDcom:seek( oCom:ocompra )
聽 聽 聽 DO
聽 聽 聽 Eval( cEvalprod )
聽 聽 聽 AAdd( aDetalle, { oDcom:codigo, aProd[ 2 ], oDcom:cantidad, oDcom:precio, oDcom:importe, .T. } )

聽 聽 聽 oDcom:skip()
聽 聽 聽 until oDcom:ocompra # oCom:ocompra
聽 聽ENDIF

聽 聽mingrpro( oBrw, oCom:npro, oCom:dolar, aDetalle, lfactura, oCom:RecNo(), oCom 聽)

RETURN NIL


D贸nde oCom es una database declarada como est谩tica. El problema es que al llamar la funci贸n factura, me muestra el di谩logo al que llamo pero sin los datos ya que no le llega el dato oCom:ocompra. Aclaro que antes de este paso me posiciono sobre el renglon al que quiero facturar.
Pero si antes de buscar por el menu del bot贸n hago una llamada previa a nuevocom( .F. 聽), cierro ese di谩logo y luego hago el paso anterior ah铆 si me trae todo el formulario.

Gracias por su atenci贸n

Luis

Continue the discussion