[SOLUCIONADO] Error Combo_editable en Filtro

Hola comunidad!

Estoy desarrollando con toba 3.0.26 php 7.2.5 en win10

Tengo problemas con el funcionamiento del ef_combo_editable colocado en un filtro.
Funciona todo bien, es decir la búsqued incremental y la recuperación de datos, pero al presionar el botón ‘filtrar’ me da error:

Se han encontrado los siguientes problemas: Se esta pasando un array o una matriz a un campo que espera un valor escalar Más info... Se esta pasando un array o una matriz a un campo que espera un valor escalar

Parece que al reenviar el formulario intenta recargar el ef_combo_editable y no puede porque el valor del mismo es un array y no un valor escalar ?

Existe alguna forma de poner un ef_combo_editable en un filtro sin que de este error ?

Hola Oscar,

tenes a mano el log para tener mas info de como surge el error?, por lo que veo pareciera que aparece al intentar enviar la respuesta al cliente.

Saludos

Te paso el log:

#0 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\lib\toba_escapador.php(23): toba_escapador->quitar_tags(Array) #1 C:\toba3\weme\vendor\siu-toba\framework\php\lib\toba_varios.php(866): toba_escapador->escapeHtml(Array) #2 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\lib\interface\toba_form.php(38): texto_plano(Array) #3 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\efs\toba_ef_combo_editable.php(89): toba_form::select('ef_form_3000289...', '1', Array, 'ef-combo', ' tabindex='1'', NULL) #4 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_formulario.php(1230): toba_ef_combo_editable->get_input() #5 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_formulario.php(1241): toba_ei_formulario->generar_input_ef('id_insti', true) #6 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_formulario.php(1176): toba_ei_formulario->get_input_ef('id_insti') #7 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_formulario.php(1140): toba_ei_formulario->get_html_ef('id_insti', NULL) #8 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_formulario.php(1028): toba_ei_formulario->generar_html_ef('id_insti') #9 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_formulario.php(996): toba_ei_formulario->generar_layout() #10 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_formulario.php(976): toba_ei_formulario->generar_formulario() #11 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_pantalla.php(564): toba_ei_formulario->generar_html() #12 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_pantalla.php(548): toba_ei_pantalla->generar_layout() #13 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_pantalla.php(514): toba_ei_pantalla->generar_html_contenido() #14 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ei_pantalla.php(453): toba_ei_pantalla->generar_html_cuerpo() #15 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\componentes\interface\toba_ci.php(835): toba_ei_pantalla->generar_html() #16 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\toba_solicitud_web.php(252): toba_ci->generar_html() #17 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\toba_solicitud_web.php(185): toba_solicitud_web->servicio__generar_html(Array) #18 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\toba_solicitud_web.php(60): toba_solicitud_web->procesar_servicios() #19 C:\toba3\weme\vendor\siu-toba\framework\php\nucleo\toba_nucleo.php(97): toba_solicitud_web->procesar() #20 C:\toba3\weme\www\administracion.php(34): toba_nucleo->acceso_web() #21 {main}

Hola Oscar,

pense que el log me iba a tirar alguna data extra pero por lo que veo me comprimio la invocacion a toba_form::select… igual me sirvio para mirar en el codigo a ver por donde podia venir el tema.

Los dos sospechosos que me quedan son:

  • El metodo conf__formulario que pueda estar seteandole opciones incorrectas al combo.
  • Alguno de los metodos de carga y como es en la etapa de servicio, deberia ser el metodo que recupera la descripcion ya que por lo que decis el que recupera las opciones funcionaria correctamente.

Fijate por ahi, me parece que el tema viene por la segunda opcion.

Saludos

Gracias Richard!

Era exactamente el método que devuelve la descripción, estaba devolviendo un ‘recordset’ y no un campo…

Personalicé la consulta ya que estaba usando una que existía por otras funciones y devuelvo solo un dato :

return $data[0]['nombre'];

Saludos