DropDownDW pasar datos de un tercer campo a otro

Haber si me puedo explicar:
Tengo un DropDownDW que muestra datos de otra tabla(FP), ahora esta otra tabla(FP)

Tiene varios campos en estilo grid, lo que quiero es pasar uno de estos campos a un singlelineedit cuando selecciono, bueno espero me puedas ayudar gracias

Ojo aun estoy en el editor de diseño del objeto datawindows, o es que tengo que programar en el datawindows, bueno eh leído lo que es datawindows child pero no encuentro la solución con esto
Respuesta
1
* Lo que tienes que hacer es programar en el datawindow.
* Se me ocurre la siguiente solucion con una funcion local.
Te colocas en el evento Itemchanged() del datawindow.
/******************************************************/
//Evento Itemchanged() del datawindow.
//declaramos variables
integer li_codigopago //Suponiendo que que el codigo de pago es de tipo entero
integer li_dias //Variable que almacenara los dias
if dwo.name="codigopago" then //verificamos si estamos en el campo pago
li_codigopago=this.object.codigopago.current[row] //Obtenemos el codigo de pago
li_dias=of_obtenerdias(li_codigopago) //llamamos a funcion pasandole el codigo de pago
this.object.dias.current[row]=li_dias //Asignamos los dias obtenido al campo dias
end if
/******************************************************/
//Declara un Funcion Local con las siguientes caracteristicas
Function Name = of_obtenerdias //nombre de la funcion
Retur Type = integer //tipo de dato de retorno
Argumento Type = integer
Argumento Name = codigo
/******************************************************/
//En el cuerpo de la funcion pones el siguiente codigo
integer li_dias
select dias into :li_dias from tabla where codigopago=:codigo
Using sqlca;
//Estoy haciendo una consulta a la tabla que contiene los campos cod, descripción y días.
//Es decir estoy diciendo: selecioname el campo días donde el código de pago sea igual código.
/******************************************************/
Esto funciona perfectamente, aunque puede haber otras soluciones.
Tienes que adaptarlo a tu aplicación.
Suerte.
Excelente, se ve que ye gusta hacer las cosas más fáciles con funciones :D, pero la tabla forma de pago es un dw child, parece que me exprese mal cuando dije que el campo "dia" quería pasarlo a un single line edit, en realidad todo es un dw, a pero veo que tu estas consultando a la BD con SQL embebido, creo que voy a tomar tu lógica, gracias por todo man

2 respuestas más de otros expertos

Respuesta
1
Bueno quieres pasar los datos de un campo de tu DW a un SLE haber puedes usar esto:
String   VariableString
ls_VariableString = dw_tu_dw.GetItemString(1, 'campo_datawindow')
sle_1.Text = ls_VariableString
Este ejemplo te puede ayudar siempre y cuando tu campo sea String de lo contrario usa
GetItemNumber, GetItemDecimal, GetItemDate, GetItemDateTime, GetItemTime
Segun tu necesidad, si te quedo claro finaliza la pregunta.
Respuesta
Sorry por la demora pero.. andaba algo ocupado, y bueno aun lo estoy, pero bueno me dirás si aun necesitas asistencia para buscar una solución.
//Podrias poner el siguiente codigo en el vento itemchanged del dw
int li_dias=0
choose case dwo.name
case 'forma_pago'
//data es un parametro del evento, almacena el valor asignado
select dias into :li_dias from formas_pago where c_forma_pago = :data;
sle_dias.text = string(ll_dias)
end choose
//...
//Tendrías que probar.. no tengo forma de probar si se me presenta algún error

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas