Tengo un problema en Xbrowse, uso 2 Xbrowse unidos, en uno tengo una lista de Examenes, que debo seleccion y pasarlos al segundo Xbrowse.
El problema se produce que solo me funciona al hacer dobleClick, esto lleva el Codigo al segundo Xbrowse, pero al dar ENTER, sobre el examen seleccionado, este no va a la Funcion que realiza la grabacion en el segundo Xbrowse.
Muchos Saludos
Antonio.
Dejo El Codigo:
- Code: Select all Expand view
Function Buscar_Cod_Nue(Tip_Ate1,Tip_Pag1,aCodigos,Can_Cod1,Val_Tot1)
local oDlg33, oBrw, oFont, oCol,otitu,oFont1,otitu1 ,oFont7,oBrw2,otitu2,oDlg4,oFont2,oBot1,oBot2
Local oSay5,oSay6,otitu6
Local cNom,cCod
Sele Aran
DbSetorder(2)
Seek Tip_Ate1+Tip_Pag1
If Eof()
MsgStop( "No Se Encontro Arancel Para Tipo Examen "+Tip_Ate1+" y Tipo Pago "+Tip_Pag1)
Return .f.
Endif
If Tip_Pag1 # Tip_Pag2 .or. Tip_Ate1 # Tip_Ate2
Tip_Pag2:=Tip_Pag1
Tip_Ate2:=Tip_Ate1
aArancel := {}
Do While (Tip_Ate=Tip_Ate1.and.Tip_Pag=Tip_Pag1).and.!Eof()
Aadd(aArancel, { Aran->Cod_Ara,Aran->Nom_Ara,Aran->Val_Bon})
DbSkip()
EndDo
Endif
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
DEFINE FONT oFont1 NAME 'TAHOMA' SIZE 0,24 BOLD
DEFINE FONT oFont2 NAME "TAHOMA" SIZE 0,-12 BOLD
DEFINE FONT oFont7 NAME "TAHOMA" SIZE 0,-14 BOLD
DEFINE DIALOG oDlg33 RESOURCE "#1005" FONT oFont
REDEFINE SAY otitu PROMPT " MAESTRO DE ARANCEL " ID 4004 OF oDlg33 COLORS RGB(12, 135, 27) FONT oFont1
REDEFINE XBROWSE oBrw OF oDlg33 DATASOURCE aArancel ID 4001;
HEADERS 'Código', 'Nombre de Examen';
COLUMNS 1, 2;
PICTURES "@!","@!" ;
COLSIZES 90, 335;
CELL LINES AUTOSORT NOBORDER;
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw:nColDividerStyle := LINESTYLE_RAISED
oBrw:nRowDividerStyle := LINESTYLE_RAISED
oBrw:bClrHeader := {|| { nRGB(140, 0, 0), nRGB( 231, 242, 255 ), } }
oBrw:nOpacity := 230
oBrw:nHeaderHeight := 35
oBrw:nFreeze := 2
oBrw:aCols[1]:oHeaderFont:= oFont7
oBrw:aCols[2]:oHeaderFont:= oFont7
oCol := oBrw:aCols[ 2 ]
ocol:cToolTip:="Clique para ordenar por NOMBRE"
oDlg33:bStart:={ || oBrw:Gotop() }
oBrw:lSeekBar:= .t. // Permite Añadir Fila de Busqueda en Xbrowse
oCol := oBrw:aCols[ 1 ]
ocol:cToolTip:="Clique para ordenar por CODIGO"
oBrw:bClrStd := { || If( Eval( oBrw:bKeyNo,,oBrw1) % 2 == 0, { CLR_BLACK, RGB( 198, 255, 198 ) },;
{ CLR_BLACK, RGB( 232, 255, 232 ) } ) } // Efecto Cebra
oBrw:aCols[ 1 ]:oDataFont := oFont7
oBrw:aCols[ 2 ]:oDataFont := oFont7
oBrw:aCols[ 2 ]:SetOrder()
oBrw:bClrStd := {|| { nRGB( 0, 0, 0), nRGB(255,248,220) } }
oBrw:bClrSelFocus := {|| { nRGB( 255, 255, 255), nRGB(102, 178, 255) } }
oBrw:bClrSel := {|| { nRGB( 0, 0,255), nRGB(241,222,088) } } // para barra de linea selecc cuando el control no tiene el foco
oBrw:lAutoSort := .t.
oBrw:lFooter := .f.
oBrw:lHScroll := .f.
oBrw:lIncrFilter := .F.
oBrw:lSeekWild := .F. && .T. Busca Contenido, .F. Que comience con lo que digita
oBrw:SetStyle( 2018)
oBrw:nColorPen := CLR_RED
oBrw:bChange := {|| oBrw:Refresh() }
//OBrw:bClrEdits := { || { CLR_HRED, FLC_YELLOW} }
WITH OBJECT oBrw
:aCols[1]:bLClickHeader := {|| oBrw:Seek( "" ), oBrw:cFilterFld := "Código", oBrw:nColSel := 1, oBrw:GoTop() }
:aCols[2]:bLClickHeader := {|| oBrw:Seek( "" ), oBrw:cFilterFld := "Nombre de Examen", oBrw:nColSel := 2, oBrw:GoTop() }
:bKeyDown:={|nKey| iif(nKey=32.or.nKey=VK_RETURN, Agre_Codi(Tip_Ate1,Tip_Pag1,aArancel,aCodigos, oBrw:nArrayAt,@Can_Cod1,@Val_Tot1),(oSay3:Refresh(),oSay4:Refresh(), oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh()))} // <----- Esta linea No Funciona.
:bLDblClick:={||(Agre_Codi(Tip_Ate1,Tip_Pag1,aArancel,aCodigos, oBrw:nArrayAt,@Can_Cod1,@Val_Tot1)), oSay3:Refresh(),oSay4:Refresh(), oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh()} // <---- Esta linea SI Funciona.
:bChange := { || oBrw2:GoTop(), oSay3:Refresh(),oSay4:Refresh(), oBrw2:Refresh()}
END
REDEFINE BTNBMP ID 4002 PROMPT "SALIR" OF oDlg33 ADJUST 2007 FONT oFont7 NOBORDER ;
ToolTip "VOLVER A LA PANTALLA ANTERIOR";
ACTION prueba8()
//ACTION (oDlg33:END())
REDEFINE SAY otitu2 PROMPT " EXAMENES SELECCIONADOS" ID 4006 OF oDlg33 COLORS RGB(43, 59, 109) FONT oFont1
REDEFINE XBROWSE oBrw2 ID 4005 OF oDlg33 DATASOURCE aCodigos FONT oFont2;
HEADERS 'Codigo','Nombre del Examen','Canti','Precio','Total';
COLUMNS 1, 2,3,4,5;
COLSIZES 70, 280, 50, 65, 80;
PICTURES '@!','@!','9999','9,999,999','9,999,999';
CELL LINES AUTOSORT NOBORDER;
WITH OBJECT oBrw2
oBrw2:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw2:nColDividerStyle := LINESTYLE_RAISED
oBrw2:nRowDividerStyle := LINESTYLE_RAISED
oBrw2:nFooterLines:=1
oBrw2:bClrHeader := {|| { nRGB(000,000,000), nRGB(128,255,128) } }
oBrw2:bClrStd := { || If( Eval( oBrw2:bKeyNo,,oBrw2) % 2 == 0, { CLR_BLACK, RGB( 198, 255, 198 ) },;
{ CLR_BLACK, RGB( 232, 255, 232 ) } ) } // Efecto Cebra
oBrw2:nOpacity := 230
oBrw2:nHeaderHeight := 35
oBrw2:nFreeze := 5
oBrw2:aCols[ 1 ]:oDataFont := oFont7
oBrw2:lAutoSort := .t.
oBrw2:lFooter := .T.
oBrw2:lHScroll := .f.
oBrw2:SetStyle( 2007)
oBrw2:nColorPen := CLR_RED
oBrw2:bChange := {|| oBrw2:Refresh() }
oCol := oBrw2:aCols[ 3 ]
ocol:cToolTip:="Clique para Modificar Cantidad"
oBrw2:aCols[01]:bFooter := { || Ltrim( Str( oBrw2:KeyNo() ) ) + " / " + LTrim( Str( oBrw2:KeyCount() ) ) }
oBrw2:aCols[3]:bClrHeader := { || { CLR_HRED,CLR_WHITE } }
oBrw2:aCols[5]:bClrHeader := { || { CLR_HRED,CLR_WHITE } }
oBrw2:aCols[ 5 ]:cEditPicture := "@E 999,999,999"
END WITH
WITH OBJECT oBrw2:aCols[3]
:cEditPicture := "999"
:nEditType := EDIT_GET
:bEditValid := { |oGet| oGet:VarGet() > 0 }
:bOnPostEdit := { | oCol, xVal, nKey | If( nKey == VK_RETURN ,;
( oCol:value := xVal ,;
totalinea( oBrw2,@Can_Cod1,@Val_Tot1), oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh()), ) }
END WITH
REDEFINE SAY otitu3 PROMPT "TOTAL -->" ID 4008 OF oDlg33 COLORS RGB(12, 135, 27) RIGHT FONT oFont7
REDEFINE SAY oSay5 Var Can_Cod1 ID 4007 OF oDlg33 PICTURE "99,999" COLOR RGB(0,0,128) RIGHT FONT oFont7 BORDER
REDEFINE SAY oSay6 Var Val_Tot1 ID 303 OF oDlg33 PICTURE "999,999,999" COLOR RGB(0,0,128) RIGHT FONT oFont7 BORDER
REDEFINE BTNBMP ID 4003 PROMPT "ELIMINAR" OF oDlg33 2007 FONT oFont7 C;
ToolTip "ELIMINA REGISTRO";
ACTION (delrow( oBrw2,@Can_Cod1,@Val_Tot1 ), oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh())
ACTIVATE DIALOG oDlg33 CENTERED
RELEASE FONT oFont,oFont1,oFont7
Return nil