AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Desarrollar una aplicación o un sitio web / Controles, ventanas y páginas / Controles: tipos disponibles / Control Planificador
  • Presentación
  • Manejo de la control Planificador mediante programación
  • Añadiendo un Resource
  • Añadir una Appointment
  • Rellenar un control Planificador con los datos de un archivo de datos HFSQL
  • Recuperación de una lista de citas
  • Mostrando el horario de un Resource específico o de una fecha específica
  • Eliminación de una cita
  • Borrar un Resource
  • Modificando la visualización de la control
  • Manejo de una Appointment mediante programación
  • Uso del menú contextual (AAF)
  • Uso avanzado de eventos associated con el control Planificador
  • Uso avanzado de eventos con procedimientos
  • Gestión de los días festivos
  • Propiedades específicas de los controles del Programador
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Una control Planificador puede ser:
Para manipular a control Planificador mediante programación, WINDEV y WEBDEV proponen el Funciones de SchedulerXXX.
Esta ayuda Page explica cómo manipular a control Planificador a través de la programación. El siguiente ejemplo se utiliza para almacenar las citas en una base de datos HFSQL.
Manejo de la control Planificador mediante programación

Añadiendo un Resource

La adición de una Resource a una control Planificador se realiza mediante SchedulerAddResource. Este Resource puede corresponder a una persona, una habitación, ...
Ejemplo:
// Adds resources into a Scheduler control
SchedulerAddResource(SCH_Schedule1, "Florence" + gStoredValue("FL"))
SchedulerAddResource(SCH_Schedule1, "Emma" + gStoredValue("EM"))
SchedulerAddResource(SCH_Schedule1, "Fred" + gStoredValue("FR"))

En este ejemplo, se utiliza gStoredValue para proponer un Resource visualizado ("Florencia", por ejemplo) y un Resource gestionado mediante programación ("FL", por ejemplo).
WINDEVAndroidiPhone/iPad Observación: SchedulerAddResource se utiliza para insertar una imagen en el título del Resource.

Añadir una Appointment

La adición de una Appointment a una control Planificador se realiza mediante SchedulerAddAppointment. Esta función acepta dos sintaxis:
  • sintaxis utilizada para especificar las características de la Appointment: título, descripción, etc, ...
    Ejemplo:
    // Adds a 1-hour appointment for tonight
    MyResource is string
    MyTitle is string
    StartAPT is DateTime
     
    MyResource = "Vince"
    MyTitle = "Sales meeting"
    StartAPT = DateSys() + "17000000"
     
    SchedulerAddAppointment(SCH_Schedule, MyResource, MyTitle, StartAPT)
  • sintaxis que manipula una variable de tipo Appointment.
    Ejemplo:
    // Declares an Appointment variable
    MyAppointment is Appointment
     
    // Fills the appointment
    MyAppointment.Title = "Sales meeting"
    MyAppointment.Content = "Meeting to discuss the weekly objectives."
    MyAppointment.StartDate = "201003220845"
    MyAppointment.EndDate = "201003221230"
    MyAppointment.Category = "Sales"
    MyAppointment.ID = 1
     
    // Adds the appointment into the control
    SchedulerAddAppointment(SCH_Schedule, MyAppointment)

La propiedad BackgroundColor de la variable Appointment se utiliza para definir un color de visualización para un Appointment. Si no se define un color de fondo, la control Planificador utilizará automáticamente el color asociado a la categoría de la Appointment.

Rellenar un control Planificador con los datos de un archivo de datos HFSQL

Los registros se almacenan en un archivo HFSQL. El llenado inicial de la control Planificador puede hacerse recorriendo la el archivo de datos mediante la sintaxis FOR EACH y añadiendo cada Appointment mediante SchedulerAddAppointment.
// Appointment variable
MyAppointment is Appointment
 
// Browse the appointments stored in database
FOR EACH APT
// Fills the information of the variable
MyAppointment.Title = APT.Title
MyAppointment.Content = APT.Content
MyAppointment.StartDate = APT.StartDate
MyAppointment.EndDate = APT.EndDate
MyAppointment.Category = APT.Category
MyAppointment.ID = APT.APTID
 
// Adds the appointment into the Scheduler control
SchedulerAddAppointment(SCH_MySchedule, MyAppointment)
END

Recuperación de una lista de citas

La función SchedulerListAppointment permite obtener:
  • la lista de todas las citas encontradas en el control Planificador.
    Por ejemplo:
    // Array containing a list of Appointment
    arrAppointmentList is array of Appointment
     
    // Lists of appointments
    arrAppointmentList = SchedulerListAppointment(SCH_MySchedule)
  • la lista de citas para un Resource incluido entre dos fechas.
    Por ejemplo:
    // List of appointments for January 2020
    arrAppointmentList is array of Appointment
     
    // Lists of appointments
    arrAppointmentList = SchedulerListAppointment(SCH_MyScheduler, MyResource, ...
    "20200101", "20200131")
  • el Appointment actualmente seleccionado o suspendido.
    Por ejemplo:
    // Selected appointment
    arrAppointmentList is array of Appointment
     
    arrAppointmentList = SchedulerListAppointment(SCH_MyScheduler, schAptSelected)

Mostrando el horario de un Resource específico o de una fecha específica

Para visualizar la control Planificador de:
  • una Resource específica, utilice SchedulerPositionResource.
    Por ejemplo:
    SchedulerAddAppointment(SCH_NoName1, "ABC room", "APT 1", ...
    DateSys() + "14000", DateSys() + "16000")
    SchedulerPositionResource(SCH_NoName1, "ABC room")
  • a partir de una fecha determinada, utilice SchedulerPositionDateTime.
    Por ejemplo:
    // Positions the schedule on today's date
    SchedulerPositionDateTime(SCH_Schedule, Today())

Eliminación de una cita

SchedulerDeleteAppointment permite eliminar:
  • el Appointment seleccionado en el control.
  • un Appointment específico.
// Deletes the first appointment
SchedulerDeleteAppointment(SCH_Schedule, 1)

Borrar un Resource

SchedulerDeleteResource se utiliza para eliminar un recurso de la control Planificador.
// Deletes one of the resources
ResDel is boolean
ResDel = SchedulerDeleteResource(SCH_Schedule1, "Flo")
IF ResDel = True THEN
Info("Resource deleted")
END

SchedulerDeleteAll borra todas las citas de la control Planificador así como todos sus recursos.

Modificando la visualización de la control

La visualización actual de una control Planificador se puede modificar a través de las siguientes funciones:
Manejo de una Appointment mediante programación
Tienes la capacidad de manipular un Appointment programando:
  • utilizando el índice de la Appointment para modificar.
  • señalando por referencia en la Appointment para modificar.
1. Utilizar un índice
Cada vez que se añade una Appointment a un programa, SchedulerAddAppointment devuelve un índice. Este índice representa el añadido Appointment. Este índice puede utilizarse para manipular la Appointment directamente.
Ejemplo:
APTNum is int
APTNum = 5
 
// Change the title displayed on the appointment #5
SCH_ROOM[APTNum].Title = "Blue room"
2. Usando un reference
Para manipular una cita, utilice el operador <- para asociar la cita del control Planificador con la variable de tipo Appointment. Una modificación realizada en el Variable se aplicará automáticamente al control.
Ejemplo:
À is Appointment
À <- SCH_Room[APTNum]
À.Title = "New title"
Uso del menú contextual (AAF)
WINDEVWindows El control Planificador es associated con un menú contextual (AAF). El menú desplegable de la control Planificador se utiliza para:
  • cambiar el modo de visualización de control,
  • añadir, modificar o borrar un Appointment.
Para grabar las operaciones realizadas, debe utilizar los eventos de la pantalla control Planificador.
En el caso correspondiente, simplemente recupera el Appointment usado actualmente y realiza el Process correspondiente.
Ejemplo: Para almacenar un Appointment añadido por el usuario a través del menú contextual en un fichero de datos APT, basta con escribir lo siguiente en la "Entrada en edición en un Appointment" Event:
PROCÉDURE Edit(aptEdited is Appointment)

// Store the data
APT.Title = aptEdited.Title
APT.StartDate = aptEdited.StartDate
APT.EndDate = aptEdited.EndDate
...
HAdd(APT)
El mismo tipo de código puede ser implementado para los diferentes eventos de la control Planificador. De hecho, por cada evento de control que maneja un Appointment, un Procedure ha sido declarado automáticamente por el control Planificador.
Estos procedimientos reciben como parámetro una variable de tipo Appointment.
Uso avanzado de eventos associated con el control Planificador

Uso avanzado de eventos con procedimientos

Puede permitir que el usuario defina con más precisión las características de su Appointment durante una adición o una modificación. Para ello, cree una ventana o una Page con la información a rellenar.
En el código, basta con abrir la ventana o la página en la "Entrada en edición en un Appointment" Event. Para bloquear la entrada directa, el evento debe devolver False.
WINDEVWindows Este principio puede aplicarse a todos los eventos llamados por el menú contextual de control Planificador.
Ejemplo: Abrir una ventana para entrar en la Appointment.
PROCEDURE Edit(aptEdited is Appointment)
 
// Opens the window for entering an appointment
// with the selected appointment (in Creation or Modification mode)
Open(WIN_InputAPT_HFSQL, aptEdited)
 
// Returns False to lock the direct input in the Scheduler control
RESULT False
Gestión de los días festivos
Los días festivos pueden ser programados por set. Varias funciones de WLanguage (empezando por BankHolidayXXX) están disponibles.
Para definir los días festivos que se muestran en los controles Organizador, Programador y Calendar, utilice BankHolidayAdd. Esta función permite definir la lista de días festivos que se utilizarán. Esta función permite personalizar los días festivos según la Country y la normativa local. Esta función debe utilizarse al principio de la aplicación porque tiene un efecto global sobre la aplicación.
Los días festivos aparecerán en verde en el calendario.
Ejemplo:
// Delete all public holidays
BankHolidayDeleteAll()
// Initialize the 11 public holidays common to the French regions and territories
BankHolidayAdd("0101") // 1st of January
BankHolidayAdd(bhEasterMonday) // Easter Monday
BankHolidayAdd("0501") // 1st of May
BankHolidayAdd("0508") // 8th of May
BankHolidayAdd(bhAscensionDay) // Ascension day
BankHolidayAdd(bhWhitMonday) // Whit Monday
BankHolidayAdd("0714") // 14th of July
BankHolidayAdd("0815") // 15th of August (Assumption)
BankHolidayAdd("1101") // All Saints' Day
BankHolidayAdd("1111") // 11th of November
BankHolidayAdd("1225") // Christmas
 
// Add 2 additional public holidays for the regions of Moselle and Alsace
BankHolidayAdd("1226" + CR + bhGoodFriday)
Propiedades específicas de los controles del Programador
Las siguientes propiedades se utilizan para gestionar un control Planificador a través de la programación.
DayBreakHeightEl DayBreakHeight Property se utiliza para get y cambiar la altura de las pausas entre días en un control Planificador en el que los días están organizados en filas, y los recursos en columnas.
DayHeightEl DayHeight Property se utiliza para get y cambiar la altura de los días en un control Planificador donde los días están dispuestos en filas, y los recursos están dispuestos en columnas.
DayWidthEl DayWidth Property se utiliza para determinar y modificar la anchura de los días:
  • en una control Planificador donde los días se muestran en columna y los recursos en filas.
  • en una columna del diagrama de Gantt.
DirectInputAPTLa propiedad DirectInputAPT se utiliza para determinar y especificar si el usuario puede cambiar directamente el título de un Appointment en un Programador o control Agenda.
EndDateEl EndDate Property se utiliza para get y cambiar la fecha de finalización del período seleccionado:
  • en un control Calendario,
  • en un control Agenda.
  • en un control Planificador.
GranularityAppointmentEl GranularityAppointment obtiene y cambia la precisión de la cuadrícula utilizada para definir las citas en los controles del Organizador o del Programador. Property conservada para compatibilidad con versiones anteriores.
GranularityDurationEl GranularidadDuración Property se utiliza para get y cambiar el tamaño de la cuadrícula a redimensionar: Citas de * en un control Agenda. Citas de * en un control Planificador. Eventos * en una control Línea de tiempo. Tareas de * en una columna del diagrama de Gantt.
GranularityMovementEl GranularidadMovimiento Property se utiliza para get y cambiar el tamaño de la cuadrícula para moverse: Citas de * en un control Agenda. Citas de * en un control Planificador. Eventos * en una control Línea de tiempo. Tareas de * en una columna del diagrama de Gantt.
MaskTitleDateLa MaskTitleDate Property se utiliza para identificar y cambiar la máscara de entrada utilizada para las columnas de título del día en los controles del Organizador o del Programador
MovementAPTLa propiedad MovementAPT permite saber y especificar si los usuarios pueden mover citas en un control Planificador o Agenda.
NbDayDisplayedEl NbDayDisplayed Property se utiliza para:
  • get y cambiar el número de días mostrados en un Organizador o control Planificador.
  • get el número de días mostrados en un control Diagrama de Gantt en un reporte.
Num1stDayOfTheWeekLa propiedad Num1stDayOfTheWeek obtiene y establece el primer día de la semana que se muestra en:
  • un control Calendario.
  • un control Agenda.
  • un control Planificador.
  • un control Campo de entrada en formato de fecha con calendario.
PeriodSelectionEl PeriodSelection Property se utiliza para determinar y especificar si el usuario puede seleccionar un periodo de tiempo en un Programador o control Agenda.
ResourceEl Resource Property se utiliza para:
  • averigua los recursos Visible en un control Planificador.
  • averigua el Resource del control Planificador que corresponde al índice especificado.
ResourceHeightEl ResourceHeight Property se utiliza para get y cambiar la altura de los recursos en un control Planificador donde los recursos están dispuestos en filas.
ResourceWidthEl ResourceWidth Property se utiliza para get y cambiar la anchura de los recursos en un control Planificador donde los recursos están dispuestos en columnas.
SelectedResourceEl SelectedResource Property devuelve el nombre del Resource que corresponde a la selección del usuario en un control Planificador.
StartDateLa propiedad StartDate permite determinar y cambiar la fecha de inicio del período de tiempo seleccionado:
  • en un control Calendario.
  • en un control Agenda.
  • en un control Planificador.
WorkingHourEndEl WorkingHourEnd Property se utiliza para identificar y modificar la hora de finalización de las horas de trabajo utilizadas:
  • por un control Agenda.
  • por un control Planificador.
  • mediante una columna de diagrama de Gantt (en una tabla o control Tabla TreeView).
WorkingHourStartEl WorkingHourStart Property se utiliza para get y cambiar la hora de inicio de las horas de trabajo utilizadas:
  • por un control Agenda.
  • por un control Planificador.
  • mediante una columna de diagrama de Gantt (en una tabla o control Tabla TreeView).
Para obtener una lista completa de las propiedades de WLanguage que pueden utilizarse con una control Planificador, consulte Propiedades associated con los controles del Programador.
Versión mínima requerida
  • Versión 16
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/01/2023

Señalar un error o enviar una sugerencia | Ayuda local