1.2.Una tabla para nuestro formulario

Bien tenemos nuestro Gantt creado; ahora necesitaremos de una tabla de la que tomar los datos.

Si nos vamos al modo diseño en la pestaña Objects > Botón Data tables veremos las tablas que contiene actualmente nuestro Gantt.



Para que nuestro Gantt funcione necesitamos un mínimo de campos, entre los que estan el identificador para el panel de la izquierda y unos campos Start y End de tipo dateTime, para indicarle al nodo el principio y su fin.

Para mi ejemplo utilizaré la tabla en las que se planifican los empleados para las actividades de los proyectos.



De momento en mi tabla tendré los siguientes campos:

ActivityNumber
CalendarId
EndDate
EndTime
PersonnelNumberId
ProjId
PSASchedEmplReservationRecId
StartDate
StartTime
 

El siguiente paso será agregar nuestra tabla al Gantt.
La arrastraremos al datasource del form y borraremos las tablas actuales del Gantt para agregar la nuestra.


Como veréis no nos permitirá eliminar la tabla; esto es debido a que esta tabla está siendo utilizada en alguna configuración del formulario.


Como tampoco permitirá modificar nada, lo que  hice es eliminar la configuración del fichero para poder adaptar el Gantt a mis necesidades.



Eliminen todo el contenido de configuración del Gantt.


Una vez vuelvas a las tablas  ya podrás eliminar la tabla relations pero todavía no la MainData porque está en la configuración.


Una vez tengamos nuestra tabla creada le añadiremos los campos de nuestra tabla.

Para hacerlo basta con presionar el cuadro blanco e ir introduciendo el nombre que tiene el campo en nuestra tabla.
Es importante que los campos de tipo Date/Time tengan el formato DD/MM/YY hh:mm:ss si no le ponemos el formato con tiempo a la hora de modificar un nodo éste se guardará siempre con hora inicial y final 0:00, lo que implica que todos los nodos estarán situados en la fecha inicio 0:00 y su duración dependerá de si tenemos un campo duración o similar en la tabla.
Como podéis ver he asignado el campo RecId de la tabla como campo primario; es necesario tener un campo primario.



No es necesario asignar todos los campos de la tabla pero el Gantt se "quejará" de que le faltan campos, pero esto ya lo solucionaremos con una lista excluyente de campos en las clases que crearemos en los próximos post.

Si veis que no podéis eliminar la tabla renombrarla y eliminar sus campos.

Para finalizar en la pestaña Nodes cambiaremos la tabla en el campo DataTable y asignaremos los campos startDate y End Date, si tuviéramos un campo de duración del trabajo lo podríamos asignar al campo Duration Field.
Si utilizáis un calendario podéis asignarlo al campo calendarName.



Este último es interesente ya que si utilizáis los calendarios de Ax, en el Gantt solo se podrá programar cuando esté el día abierto.

Comentarios