Como obtener un reporte de osTicket que incluya campos personalizados

Publicado el 14 marzo 2017 por Oscar Oscar Meza @vidagnu

Si estás utilizando el sistema osTicket para gestionar los casos que recibe x departamento en tu empresa, es posible que te hayas encontrado con la necesidad de incluir campos personalizados o inclusive formularios personalizados, en la repostería básica que incluye osTicket notaras que en en dichos reportes no se incluyen estos nuevos campos, para hacer un reporte de este tipo deberás conectarte directamente a la base de datos y ejecutarlo por tu cuenta.
Primero necesitas saber el id del campo, la información sobre estos campos se encuentra en la tabla "ost_form_field" y la puedes obtener con el siguiente query.

select * from ost_form_field;

El query anterior me genera una listado de todos los campos creados en mis formularios, incluidos los personalizados que yo he creado, en este caso el campo que me interesa es un campo de fecha el cual tendrá el titulo de "Fecha de Inicio" en el query siguiente y el id es el 39, como puedes ver abajo este reporte esta limitado a los tickets del departamento con id = 3, si quieres un reporte de todos los departamentos que incluyan este campo elimina esta condicionante " and ost_ticket.dept_id = 3".

select ost_ticket.number as "Numero de Ticket", ost_ticket.created as "Creado", ost_ticket.closed as "Cerrado", ost_ticket__cdata.subject as "Incidente/Requerimiento", ost_department.name as "Departamento", ost_form_entry_values.value as "Fecha de Inicio",  ost_ticket.duedate as "Fecha de Vencimiento" from ost_ticket, ost_ticket__cdata, ost_department, ost_form_entry, ost_form_entry_values where ost_department.id = ost_ticket.dept_id and ost_ticket.ticket_id = ost_ticket__cdata.ticket_id and  ost_ticket.dept_id = 3  and ost_ticket.ticket_id = ost_form_entry.object_id and ost_form_entry_values.entry_id = ost_form_entry.id and field_id = 39 order by ost_ticket.created;

Acerca del Autor

Mas informacion sobre el autor de este Blog