Todas las publicaciones
Sonstiges

«Guía del filtro Calendar-Loop» (incluye aviso de copiar/pegar)

«Guía del filtro Calendar-Loop» (incluye aviso de copiar/pegar)

Calendar-Loop: Guía de filtros (MECE) para _bCalendarRek_(...)

Con el bucle de calendario puedes mostrar citas (onOffice Appointments) de forma dinámica, por ejemplo, todas las citas futuras de una propiedad. Para que puedas crear filtros de forma rápida y correcta, aquí tienes la referencia completa y bien estructurada.


1) Inicio rápido: ejemplo mínimo

Solo periodo (obligatorio):

 
 
_bCalendarRek_("startDate:2026-02-26;endDate:2026-12-31")
... Visualización de citas ...
_eCalendarRek_
 

Estándar típico (futuro, no completado, no cancelado):

 
 
_bCalendarRek_("startDate:2026-02-26;endDate:2027-12-31;isCancelled:false;isDone:false")
...
_eCalendarRek_
 

2) Sintaxis del filtro (gramática)

_bCalendarRek_("key:value;key2:op:value2;key3:a,b,c")

  • ; significa Y (todas las condiciones deben coincidir)

  • , significa O dentro de una clave (basta con al menos un valor)

  • key:value es idéntico a key:=:value

  • En like utilizas comodines: %TERMIN-SLOT%


3) MECE: ¿Qué filtros hay?

A) Parámetros obligatorios (exactamente estos dos)

  1. startDate:YYYY-MM-DD

  2. endDate:YYYY-MM-DD

Consejo: «Solo futuro» = startDate establecer en «hoy».


B) Filtros API (del lado del servidor, de alto rendimiento)

B1) Indicadores booleanos (los valores son MECE: {true,false})
  • isCancelled:true|false

  • isDone:true|false

  • isRecurrent:true|false

B2) Filtros de participantes (listas)
  • userIds:1,2,3

  • groupIds:10,11

B3) Filtros de texto/tipo/creador (operadores SQL)

Estas claves admiten operadores:

  • subject

  • notes

  • type

  • createdBy

Operadores SQL (lista MECE):
=, !=, <, <=, >, >=, between, like, not like, in, not in

Ejemplos:

 
 
subject:like:%TERMIN-SLOT%
notes:not like:%intern%
type:=:Visita
createdBy:=:max.mustermann
 

C) Filtros Propform/PHP (posibles además, en campos de datos)

Todo lo que se incluya en los data campos de AppointmentList se puede filtrar adicionalmente, incluso de forma anidada mediante notación de puntos.

Ejemplos típicos:

  • estate.id:12345 (Citas relacionadas con una propiedad)

  • status.value:active

  • confirmationStatus:sent

  • private:false

Nota: la API filtra lo que la API puede filtrar. Propform filtra todo lo demás a continuación.


4) Valores permitidos (MECE) para campos típicos

status.value

Valores permitidos:

  • active

  • completed

  • canceled

  • participantsAvailable

Ejemplo:

 
 
status.value:active
 

confirmationStatus

Valores permitidos:

  • canceled

  • confirmed

  • confirmed and canceled

  • not-set

  • sent

Ejemplo:

 
 
confirmationStatus:sent
 

Booleanos

Permitidos: true o false (recomendado: escribir exactamente así)


5) Ejemplos prácticos (copiar/pegar)

5.1 Fechas futuras de un inmueble, solo franjas horarias

 
 
_bCalendarRek_("startDate:2026-02-26;endDate:2027-12-31;estate.id:_Id;subject:like:%TERMIN-SLOT%;isCancelled:false;isDone:false")
_FechaHoraCita –
_AsuntoCita_eCalendarRek_
 

5.2 Citas futuras de un inmueble fijo

 
 
_bCalendarRek_("startDate:2026-02-26;endDate:2027-12-31;estate.id:12345;isCancelled:false;isDone:false")
...
_eCalendarRek_
 

5.3 Solo citas de un usuario o un grupo

 
 
_bCalendarRek_("startDate:2026-02-26;endDate:2026-12-31;userIds:31;isCancelled:false;isDone:false")
...
_eCalendarRek_
 
 
 
_bCalendarRek_("startDate:2026-02-26;endDate:2026-12-31;groupIds:219;isCancelled:false;isDone:false")
...
_eCalendarRek_
 

5.4 El asunto debe permitir varios términos (O)

 
 
_bCalendarRek_("startDate:2026-02-26;endDate:2026-12-31;subject:like:%TERMIN-SLOT%,%BESICHTIGUNG%;isCancelled:false;isDone:false")
...
_eCalendarRek_
 

5.5 Citas recurrentes frente a citas únicas

 
 
_bCalendarRek_("startDate:2026-02-26;endDate:2026-12-31;isRecurrent:true")
...
_eCalendarRek_
 

6) Mensaje de copia/pegar para IA (para que los usuarios obtengan filtros limpios)

Plantilla de solicitud (solo hay que copiarla y rellenarla):

 
 
Crea un filtro de bucle de calendario propform para _bCalendarRek_(...), con esta sintaxis
:- Obligatorio: startDate, endDate (AAAA-MM-DD)
- AND = ; OR dentro de una clave = ,
- Operadores: =, !=, <, <=, >, >=, between, like, not like, in, not in-
like con %...%
- Además, se permiten filtros PHP en campos de datos (p. ej., estate.id, status.value, confirmationStatus, private)

Objetivo:
- Periodo: [START] hasta [END]
- Inmueble: estate.id = [ESTATE_ID] (o _Id)
- Asunto contiene: [STRING]
- Opcional: isCancelled/isDone/isRecurrent, userIds, groupIds, confirmationStatus, status.value

Dame:
1) la cadena de filtro entre comillas
2) un breve fragmento de ejemplo con _bCalendarRek_ ... _eCalendarRek_
 

7) Obstáculos típicos (brevemente)

  • startDate / endDate son obligatorios; de lo contrario, se mostrarán (dependiendo de la implementación) intervalos de tiempo predeterminados o no habrá resultados.

  • Si utilizas macros como _Id en el filtro, los argumentos del bucle deben resolverse previamente (propform lo hace automáticamente si has activado la lógica de resolución previa).

  • conflicts como data campo puede dar lugar a respuestas vacías, dependiendo de la configuración → omítelo si es necesario.

¿Quieres probar propform.io?

Primer formulario gratis, sin tarjeta.

Empieza gratis