Tutti gli articoli
Sonstiges

"Guida al filtro Calendar-Loop" (con prompt copia/incolla)

"Guida al filtro Calendar-Loop" (con prompt copia/incolla)

Calendar-Loop: Guida ai filtri (MECE) per _bCalendarRek_(...)

Con il Calendar-Loop puoi visualizzare dinamicamente gli appuntamenti (onOffice Appointments), ad esempio tutti i futuri appuntamenti relativi agli slot di un immobile. Per aiutarti a creare filtri in modo rapido e corretto, ecco la guida di riferimento completa e ben strutturata.


1) Guida rapida: esempio minimale

Solo periodo (obbligatorio):

 
 
_bCalendarRek_("startDate:2026-02-26;endDate:2026-12-31")
... Visualizzazione degli appuntamenti ...
_eCalendarRek_
 

Standard tipico (futuro, non completato, non annullato):

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

2) Sintassi del filtro (grammatica)

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

  • ; significa E (tutte le condizioni devono corrispondere)

  • , significa O all'interno di una chiave (è sufficiente almeno un valore)

  • key:value è identico a key:=:value

  • In caso di like utilizzi i caratteri jolly: %TERMIN-SLOT%


3) MECE: quali filtri sono disponibili?

A) Parametri obbligatori (proprio questi due)

  1. startDate:YYYY-MM-DD

  2. endDate:YYYY-MM-DD

Suggerimento: "Solo futuro" = startDate impostare su "oggi".


B) Filtri API (lato server, performanti)

B1) Flag booleani (i valori sono MECE: {true,false})
  • isCancelled:true|false

  • isDone:true|false

  • isRecurrent:true|false

B2) Filtri partecipanti (elenchi)
  • userIds:1,2,3

  • groupIds:10,11

B3) Filtri per testo/tipo/autore (operatori SQL)

Queste chiavi supportano gli operatori:

  • subject

  • notes

  • type

  • createdBy

Operatori SQL (elenco MECE):
=, !=, <, <=, >, >=, between, like, not like, in, not in

Esempi:

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

C) Filtri Propform/PHP (ulteriormente possibili, su campi dati)

Tutto ciò che è contenuto nei data campi dell'AppointmentList può essere ulteriormente filtrato, anche in modo annidato tramite notazione puntuale.

Esempi tipici:

  • estate.id:12345 (Appuntamenti relativi a un immobile)

  • status.value:active

  • confirmationStatus:sent

  • private:false

Nota: l'API filtra ciò che l'API è in grado di filtrare. Tutto il resto viene filtrato successivamente da Propform.


4) Valori consentiti (MECE) per i campi tipici

status.value

Valori consentiti:

  • active

  • completed

  • canceled

  • participantsAvailable

Esempio:

 
 
status.value:active
 

confirmationStatus

Valori consentiti:

  • canceled

  • confirmed

  • confirmed and canceled

  • not-set

  • sent

Esempio:

 
 
confirmationStatus:sent
 

Booleani

Consentito: true oppure false (consigliato: scrivere esattamente così)


5) Esempi pratici (copia/incolla)

5.1 Appuntamenti futuri di un immobile, solo slot

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

5.2 Appuntamenti futuri di un immobile fisso

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

5.3 Solo appuntamenti di un utente / di un gruppo

 
 
_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 L'oggetto deve consentire più termini (OR)

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

5.5 Appuntamenti ricorrenti vs. appuntamenti singoli

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

6) Prompt copia/incolla per l'IA (per garantire agli utenti filtri puliti)

Modello di prompt (basta copiare e compilare):

 
 
Crea un filtro propform Calendar-Loop per _bCalendarRek_(...), con questa grammatica
:- Obbligatorio: startDate, endDate (YYYY-MM-DD)
- AND = ; OR all'interno di una chiave = ,
- Operatori: =, !=, <, <=, >, >=, between, like, not like, in, not in-
like con %...%
- Inoltre, sono consentiti filtri PHP sui campi dati (ad es. estate.id, status.value, confirmationStatus, private)

Obiettivo
:- Periodo: da [START] a [END]
- Immobile: estate.id = [ESTATE_ID] (o _Id)
- Oggetto contiene: [STRING]
- Opzionale: isCancelled/isDone/isRecurrent, userIds, groupIds, confirmationStatus, status.value

Dammi:
1) la stringa di filtro tra virgolette
2) un breve snippet di esempio con _bCalendarRek_ ... _eCalendarRek_
 

7) Ostacoli tipici (brevemente)

  • startDate / endDate sono obbligatori, altrimenti (a seconda dell'implementazione) si ottengono intervalli di tempo predefiniti o nessun risultato.

  • Se utilizzi macro come _Id nel filtro, gli argomenti del ciclo devono essere risolti in anticipo (propform lo fa automaticamente se hai attivato la logica di pre-risoluzione).

  • conflicts come data campo può portare a risposte vuote a seconda della configurazione → ometterlo se necessario.

Vuoi provare propform.io?

Primo modulo gratis, nessuna carta richiesta.

Inizia gratis