Comunidad VivesCloud

Dolibarr => Desarrollo e Implementación => Mensaje publicado por: avives en Abr 16, 2024, 08:49 AM

Título: Como usar el dato de un extrafield en otro extrafield
Publicado por: avives en Abr 16, 2024, 08:49 AM
Recientemente me he encontrado con la necesidad de usar un dato de un extrafield, el cual guardaba id's de una tabla separados por comas, en otro extrafield el cual el único filtro que se requería es que me trajera el concatenado de firstname y lastname de la tabla llx_user a ese extrafield y guardara solo el ID de ese usuario.

Entonces, tengo que crear un extrafield de tipo "Casilla de selección de tabla" en el módulo de usuarios con la siguente cadena user:concat(firstname, ' ' , lastname):rowid::statut=1 ahí lo que va a hacer el usuario es seleccionar distintos usuarios (por requerimientos específicos de este cliente)

Bien ahora el reto es el siguiente, con esos datos, que me servirán de filtro, debo mostrarlos en otro objeto, en este caso en un proyecto y para esta ocasión requeriré que sea "Lista desde una tabla" pero hay un handycap, la consulta sql que nos dan los extrafields está muy limitada.

Después de pasar unos largos minutos discutiendo con ChatGPT en su V3.5, llegamos a la siguiente solución para traernos solo los id's que están almacenados en el otro extrafield y es la siguiente user:concat(firstname, ' ' , lastname):rowid::EXISTS ( SELECT 1 FROM llx_user_extrafields WHERE CONCAT(',', llx_user_extrafields.tecnicos, ',') LIKE CONCAT('%,', llx_user.rowid, ',%')) eb este caso el nombre que se le dio al extrafield de user fue tecnicos y aquí recuperamos solo la lista de estos técnicos, de esta manera he podido anidar 2 extrafields de dos objetos distintos.