On Selection Popup cargo Do yourchoice
Procedure yourchoice
*** Hasta aqui funciona ***
If Mrkbar('cargo', LR) = .T.
Repl cargo With <
DEACTIVATE POPUP cargo
Endif
ON SELECTION POPUP popCard DO choice [[ IN bar_exam ]] WITH BAR(), POPUP()Por lo tanto estás ejecutando de la forma no-adecuada.Cuidado: La cláusula IN BAR_EXAM yo la escribo entre paréntesis cuadrados para indicar que es opcional y --para tu escenario-- (lo más probable) no es requerida.
On Selection Popup cargo Do choice with BAR() && inclui lo que me dijiste. BAR(&LS); BAR()=&LS
If PARAMETERS()=&LS && inclui esto. PARAMETERS(&LS). dice que: "no hay un parametro asignado." No PARAMETER statement is found"
** ** **
** ** ** Te cuento que analicé tu código y descubrí lo que intentas.
** ** **
** ** ** Tu problema está en el uso de las vbles (SG, LS, LR, LT)
** ** ** Si bien se les puede dar uso, te hicieron confundir la lógica requerida......
** ** ** De hecho te digo: el uso de estas vbles es plenamente confuso y en su
** ** ** conjunto no hacen nada... perdón: no hacen nada útil.....
** ** **
** ** ** Te recomiendo que cambies tu código por el sgte....
** ** ** Y nos cuentas......
** ** **
Clear
Activate Screen
Set Date British
Set Cpdialog Off
Set Exclusive Off
Set Talk Off
Set Century On
Define Popup cargo From 5,5 MultiSelect Margin
Select 1
Use ALL0220
** ** ** Store "EMP" To SG
Select 2
Use CARGOS
** ** ** Set Filter To num>0 .And. &SG<>" "
Set Filter To num>0 .And. EMP<>" "
Go Top
** ** ** Do While .Not. Eof()
** ** ** Store Alltrim(Str(num,3)) To LS
** ** ** Store num To LR
** ** ** Store "V"+LS To LT
** ** ** Store &SG To <
** ** ** Define Bar &LS Of cargo Prompt <
** ** ** Skip
** ** ** Enddo
** ** **
** ** ** Para tu escenario no es necesario el uso de MultiSelect:
** ** ** De hecho en la ayuda dice:
** ** ** You cannot make multiple selections from a menu created with a PROMPT clause.
** ** **
** ** ** Me doy cuenta que estás utilizando una Procedure YOURCHOICE del ejemplo del comando DEFINE POPUP,
** ** ** que no es aplicable a tu escenario; ese ejemplo aplica cuando se usa multiselección
** ** ** que --como ya te dije-- no es tu caso.
** ** **
** **
** ** lo hago de esta forma, para no hacerte la tarea:
** ** debes mostrar algo de esfuerzo
** ** (el código aquí mostrado funciona como debe--->>> lo probé!!!)
** **
define bar NUM of CARGO prompt EMP
skip
define bar NUM of CARGO prompt EMP
skip
define bar NUM of CARGO prompt EMP
skip
define bar NUM of CARGO prompt EMP
skip
define bar NUM of CARGO prompt EMP
skip
On Selection Popup cargo Do yourchoice with bar(), prompt() &&
Activate Popup cargo
RELEASE POPUP cargo
Procedure yourchoice
*** Hasta aqui funciona ***
lparameters M.gnBar, M.gcPrompt
Select 1
***If Mrkbar('cargo', LR) = .T.
MESSAGEB(M.gcPrompt)
Repl cargo With M.gcPrompt &&&&&&&&&&&&&&&&&&&&&&&&&&&&& <
DEACTIVATE POPUP cargo
***Endif
**IN BAR_EXAM lo usaria en un actipop pero no tengo menu entre menu, solo es una lista simple de cargos. logre crear la lista pero no la seleccion para que reemplace el cargo. me falta algo como un parametro. pero no tengo idea.
On Selection Popup cargo Do choice with BAR() && inclui lo que me dijiste. BAR(&LS); BAR()=&LS
If PARAMETERS()=&LS && inclui esto. PARAMETERS(&LS). dice que: "no hay un parametro asignado." No PARAMETER statement is found"
