[Resuelto] Carga Masiva de Opciones de un Dynamic Field

Post Reply
luisjf
Znuny newbie
Posts: 55
Joined: 06 Jul 2010, 19:32
Znuny Version: 3.1.2

[Resuelto] Carga Masiva de Opciones de un Dynamic Field

Post by luisjf »

Hola buen día, mi duda es la siguiente, si he creado un campo dinamico con un dropdown, puedo realizar de alguna forma masiva la carga de las opciones? he visto que el campo se guarda en base de datos pero las opciones no se donde se almacenan, pareciese que son cargadas en unos binarios, si alguien me puede ayudar agradeceria mucho..
Last edited by luisjf on 20 Mar 2012, 17:21, edited 1 time in total.
Production Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Development Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Carga Masiva de Opciones de un Dynamic Field

Post by miguelmz »

No te he entendido muy bien, buscas cargas masivas de opciones desde un frontal (cliente por ejemplo) en funcion de las opciones elegidas (tipo, cola, servicio, etc)?

Los dinamicfield al igual que los antiguos freetext son guardados dentro de un Xml en /otrs/Kernel/Config/Files el Ticket.xml si mal recuerdo o DinamicField.xml, dentro se preparan las diversas opciones del dropdownlist que son recogidas por los archivos .dtl correspondientes antes de su insercion a la BBDD.

Estos archivos .dtl estan programados en Javascript y puedes modificarlos a placer, los tienes en /otrs/Kernel/Output/HTML/Standard. Para que nos entendamos son los responsables de mostrarte los deplegables en Creacion de Ticket en los frontales como el CustomerTicketMessage.dtl (nuevo ticket, forntal cliente). Si modificas su contenido en ese punto, omites lo que contuvieran en la configuracion xml permitiendote cargar opciones distintas en funcion de eventos sobre los dropdownlist iniciales basicos (Colas y Tipo de ticket)

Yo por ejemplo tengo un catalogo de peticiones que se hace visible y carga con su respectivo catalogo cuando se selecciona el tipo de ticket "Peticion" y la cola correspondiente.

Code: Select all

switch ($('#Dest').val() ) {
case  "3\|\|Junk":
         switch ($('#TypeID').val()) {
                   case "2":
                        hide()
                        document.getElementById('TicketFreeText1').style.display = 'block';
			document.getElementById('LabelTicketFreeText1').style.display = 'block';
			document.forms['compose'].TicketFreeText1.options.length= null;
			document.forms['compose'].TicketFreeText1.options[0]= new Option("Borrado cuentas","borrado","","");
			document.forms['compose'].TicketFreeText1.options[1]= new Option("Alta cuentas","alta","","");
			document.forms['compose'].TicketFreeText1.options[2]= new Option("Modificacion cuentas","modificacion","","");
                    [....]
                  }
 [....]
}
No se si es lo que necesitas, espero que te sirva de ayuda.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
luisjf
Znuny newbie
Posts: 55
Joined: 06 Jul 2010, 19:32
Znuny Version: 3.1.2

Re: Carga Masiva de Opciones de un Dynamic Field

Post by luisjf »

Hola miguelmz, gracias por tu respuesta, disculpa si no me explique bien, efectivamente lo que quiero es conseguir en que archivo son guardadas las opciones o valores de los Dynamic Fields, los FreeText eran guardados en Kernel/Config/Files/ZZZAAuto.pm y desde allí podía cargarlos sin problema, pero ahora no se donde son guardados estos campos nuevos, estuve revisando el Ticket.xml pero no están almacenados allí, si alguien sabe donde son almacenados lo agradecería mucho, en definitiva creo q sería ideal que esos valores fuesen guardados en una tabla en lugar de estar en el código.

Saludos
Production Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Development Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
ososa
Znuny newbie
Posts: 7
Joined: 06 Mar 2012, 16:25
Znuny Version: v4r08

Re: Carga Masiva de Opciones de un Dynamic Field

Post by ososa »

Yo también estoy buscando donde se guardan estos valores.
Necesito rellenar el combo con datos de una base externa.
luisjf
Znuny newbie
Posts: 55
Joined: 06 Jul 2010, 19:32
Znuny Version: 3.1.2

Re: Carga Masiva de Opciones de un Dynamic Field

Post by luisjf »

Yo he buscado dentro del código después de crear un dropdown en una prueba que realice y el 'grep' no me devuelve coincidencias, solamente en unos archivos binarios :shock: eso realmente me preocupa un poco...
Production Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Development Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
ososa
Znuny newbie
Posts: 7
Joined: 06 Mar 2012, 16:25
Znuny Version: v4r08

Re: Carga Masiva de Opciones de un Dynamic Field

Post by ososa »

Si, tal cual, hice lo mismo y el grep encontro lo q buscaba solo dentro de unos binarios.

Tine que haber una forma de levantar opciones desde una base de datos, tengo entendido que es una funcionalidad que viene en la última version.
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Carga Masiva de Opciones de un Dynamic Field

Post by miguelmz »

Hola Luisjf,

el archivo ZZZAAuto.pm es resultado de la extracion de datos de configuracion de los xml alojados en su misma ruta, donde podias anteriormente encontrar los antiguos freetext que eran tratados desde su origen (los xml) para cortar o alterar su flujo normal posteriormente en dicha extraccion.

no obstante, si observas esos campos eran estaticos en la bbdd (columnas de la tabla ticket), ahora otrs parece hacer una alteracion de tablas en caliente a traves del frontal con la creacion de nuevos campos libres. Si tras crearlo no esta en ninguno de los ficheros de configuracion, es posible que se deba a que el perl del modulo directamente asociado con la alteracion de la tabla este directamente insertando esa columna y la informacion se este alojando en tablas auxiliares en la BBDD por relaciones.

Esto ahora mismo no puedo confirmartelo, pero podrias comprobarlo rapidamente buscando el perl de la creacion de formularios. Cuando estes en la creacion busca en la url la Action implicada y busca el perl en la ruta /opt/otrs/Kernel/Modules. Si no observas una alteracion a la bbdd desde ahi probablemente se encuentren directamente sobre /opt/otrs/Kernel/System como una funcion pilar del sistema (cosa que dudo). Haz busquedas directas de sentencias sql alter table en esa ruta para intentar esclarecer que hace.

A ver si saco algo mas de tiempo y lo miro mas detenidamente.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Carga Masiva de Opciones de un Dynamic Field

Post by miguelmz »

Por cierto, si estas usando la 3.1 con el cambio intuyo deseas hacer, deberias echar un vistazo a esto

http://www.otrs.com/open-source/communi ... -desk-312/

Apartado bugfixes.

Bug#8282 - Dropdown and Multiselect Dynamic Fields without Possible values causes errors with LayoutObject BuildSelection function.
Bug#8277 - DynamicField values not deleted when ticket is deleted.
Bug#8274 - Dynamic Fields ACLs does not work correctly at Ticket Split.

Convendria que tuvieras esto en mente ya que te puede causar un problema en produccion, en mi empresa no nos lanzamos a la version 3.1 porque esta aun poco trasteada (no testeada) para los cambios radicales hechos en su codigo.

Un saludo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
luisjf
Znuny newbie
Posts: 55
Joined: 06 Jul 2010, 19:32
Znuny Version: 3.1.2

[Resuelto] Re: Carga Masiva de Opciones de un Dynamic Field

Post by luisjf »

Resulta que a la final si conseguí la información en la base de datos, lo que sucede es que estaba buscándola con el PGADMIN y no me desplegaba todo por lo cual permanecía escondida a mi vista, en la tabla dynamic_field se encuentra la columna config, la cual alberga toda la información del dropdown que he definido como campo dinámico, es una columna de valor Text con Storage EXTENDED, me preocupa un poco su capacidad de almacenamiento, pero afortunadamente ya encontré los datos.

Saludos!
Production Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Development Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Post Reply