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):
... Visualización de citas ...
_eCalendarRek_
Estándar típico (futuro, no completado, no cancelado):
...
_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:valuees idéntico akey:=:value -
En
likeutilizas comodines:%TERMIN-SLOT%
3) MECE: ¿Qué filtros hay?
A) Parámetros obligatorios (exactamente estos dos)
-
startDate:YYYY-MM-DD -
endDate:YYYY-MM-DD
Consejo: «Solo futuro» =
startDateestablecer 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:
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:
confirmationStatus
Valores permitidos:
-
canceled -
confirmed -
confirmed and canceled -
not-set -
sent
Ejemplo:
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
_FechaHoraCita –
_AsuntoCita_eCalendarRek_
5.2 Citas futuras de un inmueble fijo
...
_eCalendarRek_
5.3 Solo citas de un usuario o un grupo
...
_eCalendarRek_
...
_eCalendarRek_
5.4 El asunto debe permitir varios términos (O)
...
_eCalendarRek_
5.5 Citas recurrentes frente a citas únicas
...
_eCalendarRek_
6) Mensaje de copia/pegar para IA (para que los usuarios obtengan filtros limpios)
Plantilla de solicitud (solo hay que copiarla y rellenarla):
:- 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/endDateson obligatorios; de lo contrario, se mostrarán (dependiendo de la implementación) intervalos de tiempo predeterminados o no habrá resultados. -
Si utilizas macros como
_Iden el filtro, los argumentos del bucle deben resolverse previamente (propform lo hace automáticamente si has activado la lógica de resolución previa). -
conflictscomodatacampo puede dar lugar a respuestas vacías, dependiendo de la configuración → omítelo si es necesario.