Return condicional
Posted: Sat Jul 18, 2020 6:07 pm
Hola,
Llevo algunas horas intentando esto y no doy aún con la solución, a ver si me pueden dar una idea.
Tengo unos selectores, como pueden ser año, mes y grupo de agentes, dependiendo de lo que seleccione el usuario se arma una consulta sql.
El código para por ejemplo los grupos de agentes es algo así:
Pero ese Return como lo tengo sólo me regresa un grupo y si el usuario seleccionó dos o más grupos cómo lo devuelvo, le he dado vueltas pero no lo consigo.
Alguna idea?.
Saludos,
Javier
Llevo algunas horas intentando esto y no doy aún con la solución, a ver si me pueden dar una idea.
Tengo unos selectores, como pueden ser año, mes y grupo de agentes, dependiendo de lo que seleccione el usuario se arma una consulta sql.
El código para por ejemplo los grupos de agentes es algo así:
Code: Select all
LOCAL aAgentesRuta := { 4, 5, 6, 7, 8, 9, 15, 17, 30 }
LOCAL aAgentesMostrador := { 14, 19, 20, 22, 23, 26, 27 }
LOCAL aAgentesEspeciales := { 1, 2, 3, 10, 11, 13, 25 }
FOR EACH cTipoAgente IN aAgentes
DO CASE
CASE cTipoAgente[1] == 'Agentes Ruta'
FOR EACH cAgenteRuta IN aAgentesRuta
cListaAgenteRuta += "'" + hb_NToS( cAgenteRuta ) + "'" + IIF( cAgenteRuta:__enumIndex() < Len( aAgentesRuta ), ",", "" )
NEXT
//RETURN cListaAgenteRuta
CASE cTipoAgente[1] == 'Ventas Mostrador'
FOR EACH cAgenteMostrador IN aAgentesMostrador
cListaAgenteMostrador += "'" + hb_NToS( cAgenteMostrador ) + "'" + IIF( cAgenteMostrador:__enumIndex() < Len( aAgentesMostrador ), ",", "" )
NEXT
//RETURN cListaAgenteMostrador
CASE cTipoAgente[1] == 'Clientes Especiales'
FOR EACH cAgenteEspecial IN aAgentesEspeciales
cListaAgenteEspecial += "'" + hb_NToS( cAgenteEspecial ) + "'" + IIF( cAgenteEspecial:__enumIndex() < Len( aAgentesEspeciales ), ",", "" )
NEXT
//RETURN cListaAgenteEspecial
ENDCASE
NEXT
RETURN IIF( !Empty(cListaAgenteRuta), cListaAgenteRuta, IIF( !Empty(cListaAgenteMostrador), cListaAgenteMostrador, ' ') )
Alguna idea?.
Saludos,
Javier