Le macro sono segnaposto che vengono sostituiti con valori reali al momento dell'esecuzione — ad esempio il nome di un indirizzo caricato, l'UUID di un immobile o la data corrente.
| Posizione | Macro attive? |
|---|---|
| Intestazione / Sottotitolo del modulo | ✅ |
| Etichetta campo, nota, segnaposto, tooltip | ✅ |
| Valore predefinito, valore obbligatorio | ✅ |
| Campi di descrizione (tipo speciale) | ✅ — incluse le macro propform come _pfButton, _pfLink |
| Nota attività | ✅ |
| Oggetto e descrizione attività | ✅ |
| Destinatario e-mail, CC, BCC | ✅ |
| Oggetto e corpo dell'e-mail | ✅ |
| URL della pagina di ringraziamento | ✅ |
| Valori di destinazione "Scrivi valori" | ✅ |
| Nome campo caricamento file | ✅ |
| URL pulsante link | ✅ |
| Nome personalizzato download file | ✅ |
✅
| L'elenco completo e ufficiale delle macro è disponibile nella Guida di onOffice.
> ⚠️ Attenzione alla grafia: onOffice è inconsistente nell'uso delle maiuscole e delle minuscole. Le macro degli indirizzi sono di norma in CamelCase (prima lettera maiuscola), mentre quelle immobiliari sono minuscole. Atteniti rigorosamente alla grafia ufficiale, altrimenti la macro non verrà risolta.
| Macro | Significato |
|---|---|
_Name |
Cognome |
_Vorname |
Nome |
_Email |
Indirizzo e-mail predefinito |
_Email(Art,n) |
E-mail in base al tipo (aziendale/privata) e alla posizione |
_Strasse |
Via |
_PLZ |
Codice postale |
_Ort |
Località/Città |
_Telefon |
Numero di telefono predefinito |
_AdrDatensatznummer |
Numero di record dell'indirizzo |
_Uuidaddress |
UUID dell'indirizzo |
_Sonstige1 |
Contenuto del campo Altro1 |
| Macro | Significato |
|---|---|
_objektart |
Tipo di immobile (casa, appartamento ecc.) |
_objekttyp |
Tipo di immobile (casa unifamiliare, villetta a schiera ecc.) |
_ort |
Località dell'immobile |
_strasse |
Via (solo se nell'immobile è attiva l'opzione "Condivisione indirizzo") |
_hausnummer |
Numero civico (solo se nell'immobile è attiva l'opzione "Condivisione indirizzo") |
_Objstrasse |
Via — aggira l'opzione "Non condividere indirizzo" (trucco, solo per via + numero civico) |
_Objhausnummer |
Numero civico — aggira "Non condividere indirizzo" |
_plz |
Codice postale |
_kaufpreis |
Prezzo di acquisto |
_wohnflaeche |
Superficie abitabile |
_flaeche |
Superficie standard per tipo di immobile |
_ObjDatensatznummer |
Numero di record dell'immobile |
_Uuidestate |
UUID dell'immobile |
|
| Macro | Significato |
|---|---|
_Datum(format) |
Formato data variabile — _Datum(DD.MM.YYYY) |
_KDatum |
Data attuale (ad es. 26.04.2026) |
_Uhrzeit(Länge, Format, Zone) |
Ora attuale |
| Macro | Esempio | Significato |
|---|---|---|
_calculate(...) |
_calculate([kaufpreis]*3) |
Calcolo matematico |
_ifEmpty(_makro;"Text1";"Text2") |
_ifEmpty(_Sonstige1;"Standard";_Sonstige1) |
Se la macro è vuota → Testo1, altrimenti Testo2 (scritto anche come _if_empty(...)) |
_if(Bedingung;"Text1";"Text2") |
_if([objektart]="haus";"Haus-Anfrage";"Andere") |
Output condizionale |
DATEADD([feld];n;"d") |
_calculate(DATEADD(TODAY();14;"d")) |
Aggiungere n giorni alla data (d/w/y) |
TODAY() |
_calculate(TODAY()) |
Oggi |
> 💡 _ifEmpty con campi utente — Modello multi-ufficio: Se ogni sede/ufficio ha un proprio link di valutazione, codice telefonico o simili, crea un campo personalizzato per l'utente (ad es. Benutzerzusatz1Name) e utilizza: _ifEmpty(_OBJBetreuer_Benutzerzusatz1Name;"https://fallback-link.de";_OBJBetreuer_Benutzerzusatz1Name) — se il responsabile ha lasciato il campo vuoto, viene applicato il fallback. Più breve e leggibile rispetto a _calculate(IF([feld]=null;"a";"b")) per i semplici controlli di vuoto.
| Macro | Significato |
|---|---|
_UserAdr* |
Segnaposto per qualsiasi macro di indirizzo dell'utente corrente — ad es. _UserAdrName, _UserAdrEmail, _UserAdrTelefon |
_Benutzervorname / _Uservorname |
Nome dell'utente |
_Benutzername / _Username |
Cognome dell'utente |
_Benutzeremail / _Useremail |
E-mail dell'utente |
## Macro specifiche di propform
Queste macro sono disponibili solo su propform.io — non nella versione standard di onOffice. Funzionano nei moduli, nelle attività, nelle attività e nelle e-mail scritte tramite propform (modalità di risoluzione delle macro "alternativa" in onOffice).
| Macro | Descrizione |
|---|---|
_pfButton("Label", "URL", "Style", "Target") |
Pulsante completamente personalizzato con lo stile propform. Stili: rounded, rounded-0, rounded-pill. Destinazione: _parent o _blank. |
_pfLink("URL", "Label", "Target") |
Semplice collegamento ipertestuale. Se non viene specificata alcuna etichetta, l'URL viene utilizzato come testo del collegamento. |
Esempi:
_pfButton("Weiter zum Formular", "https://example.com", "rounded-pill", "_blank")
_pfLink("https://example.com", "Hier klicken", "_blank")
| Macro | Descrizione |
|---|---|
_pfGetSearchCriteriaInformation |
Visualizza il criterio di ricerca completo in formato tabellare. |
_pfGetSearchCriteriaField(Feldname) |
Visualizza un singolo valore del criterio di ricerca, ad es. _pfGetSearchCriteriaField(objektart) |
_pfGetSearchCriteriaUUID |
UUID crittografato del criterio di ricerca (per collegamenti cross-form sicuri — ad es. nei pulsanti "Modifica" e "Disattiva" nelle e-mail di riepilogo) |
> 💡 Modello self-service per i profili di ricerca: le tre macro, insieme a _pfButton(...) e al ciclo _bScRek_("status:1"), formano un flusso di lavoro self-service completo: l'e-mail di riepilogo elenca tutti i profili di ricerca attivi + pulsanti con un solo clic per modificare/disattivare. Configurazione completa in Modifica/disattiva profili di ricerca.
| Macro | Descrizione |
|---|---|
_dateipfadAdressfeld(<Feldname>;<Breite>;<Höhe>;<Einheit>;<Typ>) |
Inserisce l'immagine da un campo file dell'indirizzo nel modello PDF (tipicamente per firme, scansioni di documenti d'identità) |
_dateipfadObjektfeld(<Feldname>;<Breite>;<Höhe>;<Einheit>;<Typ>) |
Analogo per i campi file immobiliari |
Parametri:
unterschrift_kaeufer)400 — valore predefinito per le firme)variabel per l'altezza automaticapx o mmmail o htmlEsempio — Inserire la firma dell'acquirente:
_dateipfadAdressfeld(unterschrift_kaeufer;400;variabel;mail;html)
Modello multi-sig per più acquirenti/proprietari:
All'interno del ciclo di indirizzi (_buyerbrek_1_ … _buyererek_1_, vedi sotto) puoi inserire un campo file con la firma per ogni acquirente. Se non tutti gli acquirenti hanno già firmato, avvolgilo sempre con _ifEmpty(...) — altrimenti si creerà uno spazio vuoto nel PDF:
_buyerbrek_1_
_BuyerVorname _BuyerName
_ifEmpty(unterschrift_kaeufer;"";"_dateipfadAdressfeld(unterschrift_kaeufer;400;variabel;mail;html)")
_buyererek_1_
> 💡 Disponibilità dei campi file: le macro del percorso file funzionano solo se il file si trova in un campo file onOffice del record — non nella scheda generale "File". Il campo file deve essere creato nell'amministrazione di onOffice prima dell'utilizzo.
| Macro | Descrizione |
|---|---|
_pfGetAgentslogInformation |
Visualizza in formato tabellare l'attività appena inserita tramite propform (tipo di azione, categoria di azione, commento) |
_pfGetSellingPriceOffer |
Visualizza l'offerta di prezzo di acquisto presentata dal potenziale cliente |
_pfGetCalendarUUID |
UUID crittografato dell'appuntamento corrente (all'interno del ciclo del calendario) |
| Macro | Descrizione |
|---|---|
_getAddressLink |
Deep link diretto al record di indirizzi in onOffice — funziona solo per gli utenti che hanno effettuato l'accesso |
_getEstateLink |
Deep link diretto all'immobile |
| Macro | Descrizione | |
|-------|--------------|
| _NewsletterDOILink | Macro standard di onOffice: link di conferma per il double opt-in della newsletter. Se il campo della newsletter è impostato su 3 (DOI in sospeso) e l'utente clicca, viene impostato su 1 (confermato). Utilizzo nell'e-mail di conferma della newsletter. |
| _AgreementLink(Parameter1,Parameter2,...) | Macro propform per il link all'accordo (contratto/informativa sul diritto di recesso/protezione dei dati). I parametri controllano quali contenuti vengono visualizzati quando si richiama l'accordo. Parametri possibili: URL, Vertrag, Belehrung, Musterwiderruf, Datenschutzerklärung, Beginn, Eigentum, Finanzierung, Newsletter. |
| _NewsletterLink | Standard onOffice: link di iscrizione/cancellazione per la mailing list della newsletter (cliccando si apre la pagina di iscrizione/cancellazione su onOffice). |
> 💡 Suggerimento per il link all'accordo: invece di utilizzare parametri fissi nel modello di email, puoi gestire un campo personalizzato nell'immobile (ad es. agreement_link_parameter) e fornirvi dinamicamente diversi parametri tramite la formula _calculate(IF([provisionsfrei]=null;"Vertrag,Belehrung,Musterwiderruf,Datenschutzerklärung,Beginn,Eigentum,Finanzierung,Newsletter,URL";"URL")) — ad es. senza contratto/revoca per gli immobili senza provvigione. Il modello di email richiamerà quindi solo _AgreementLink(_agreement_link_parameter).
Nella configurazione e-mail di propform è presente l'impostazione "Risoluzione macro di indirizzo: normale vs. alternativa":
| Modalità | Effetto |
|---|---|
| Normale (predefinita) | _Vorname, _Name, _Email ecc. vengono risolti nel destinatario dell'e-mail |
| Alternativa | La risoluzione avviene nell'indirizzo del modulo (= indirizzo che ha appena elaborato il modulo) |
Quando si usa "alternativo"? Sempre quando l'e-mail viene inviata a qualcuno che non è il richiedente — ad es. notifica interna alla contabilità riguardo a un nuovo indirizzo. Altrimenti nell'e-mail sarebbero presenti i dati della contabilità anziché quelli del richiedente.
Con _bScRek_ e _eScRek_ è possibile scorrere tutti i criteri di ricerca di un indirizzo e generare macro per ogni singolo criterio di ricerca — analogamente ai noti cicli del registro agenti in onOffice.
_bScRek_("filter")
... beliebige Suchkriterien-Makros ...
_eScRek_
Con l'argomento filtro puoi limitare quali criteri di ricerca vengono presi in considerazione:
_bScRek_("status:1")
→ Solo criteri di ricerca attivi (Stato = 1).
_bScRek_("status:1")
Objektart: _pfGetSearchCriteriaField(objektart)
Ort: _pfGetSearchCriteriaField(ort)
Wohnfläche: _pfGetSearchCriteriaField(wohnflaeche)
Link: _pfLink("https://example.com?id=_pfGetSearchCriteriaUUID", "Suchkriterium öffnen")
_eScRek_
Con _bCalendarRek_ e _eCalendarRek_ è possibile scorrere gli appuntamenti nel periodo specificato — ad es. per visualizzare gli slot liberi in un modulo di prenotazione.
_bCalendarRek_("startDate:YYYY-MM-DD;endDate:YYYY-MM-DD;weitere:filter")
... beliebige onOffice-Termin-Makros + _pfGetCalendarUUID ...
_eCalendarRek_
_bCalendarRek_("startDate:2026-02-25;endDate:2026-12-31;subject:like:%TERMIN-SLOT%;estate.id:_Id")
→ Tutti gli appuntamenti nel periodo il cui oggetto contiene "TERMIN-SLOT" e che sono collegati all'immobile corrente.
Puoi trovare istruzioni dettagliate con suggerimenti copia/incolla nel blog: Guida ai filtri Calendar-Loop.
Con le macro del ciclo indirizzi è possibile scorrere tutti gli acquirenti o i proprietari collegati all'immobile — caso d'uso tipico: un modulo di panoramica che elenca tutte le persone relative a un immobile più i pulsanti "Modifica"/"Collega altri".
| Ciclo | Inizio | Fine |
|---|---|---|
| Acquirente | _buyerbrek_1_ |
_buyererek_1_ |
| Proprietario | _ownerbrek_1_ |
_ownererek_1_ |
> All'interno del ciclo si utilizzano le pre-macro _Buyer* o _Owner* (vedi sezione successiva). _1_ è un contatore interno del ciclo — da incrementare solo se hai bisogno di più cicli indipendenti di acquirenti/proprietari nello stesso campo di descrizione.
_buyerbrek_1_
_BuyerVorname _BuyerName, _BuyerStrasse, _BuyerPLZ _BuyerOrt, _BuyerEmail
_buyererek_1_
📖 Tutorial completo con modulo di panoramica + modifica ed esempi di codice: Collegare più record con un modulo
Le pre-macro accedono ai record di indirizzi collegati a un immobile — tipicamente all'interno di modelli PDF, e-mail o cicli di indirizzi.
| Macro | Significato |
|---|---|
_BuyerVorname |
Nome dell'acquirente |
_BuyerName |
Cognome dell'acquirente |
_BuyerTitel |
Titolo (ad es. Dr.) |
_BuyerStrasse, _BuyerPLZ, _BuyerOrt |
Indirizzo |
_BuyerTelefon, _BuyerEmail |
Contatto |
_BuyerName2, _BuyerVorname2, _BuyerStrasse2 ecc. |
Dati anagrafici 2 (secondo indirizzo all'interno del record — se attivato in onOffice) |
_BuyerUuidaddress |
UUID del record dell'indirizzo dell'acquirente (per collegamenti tra moduli) |
_Kaeufer / _Buyer |
Prefisso pre-macro nei modelli PDF, ad es. _KaeuferVorname (senza trattino basso tra prefisso e nome del campo) |
| Macro | Significato |
|---|---|
_OwnerVorname |
Nome del proprietario |
_OwnerName |
Cognome del proprietario |
_OwnerTitel |
Titolo |
_OwnerStrasse, _OwnerPLZ, _OwnerOrt |
Indirizzo |
_OwnerTelefon, _OwnerEmail |
Contatto |
_OwnerName2, _OwnerVorname2, _OwnerStrasse2 ecc. |
Dati anagrafici 2 |
_OwnerUuidaddress |
UUID del record di indirizzo del proprietario |
_Eigent / _Owner |
Prefisso pre-macro nei modelli PDF, ad es. _EigentVorname (senza trattino basso tra prefisso e nome del campo) |
_Mieter / _Renter |
Prefisso pre-macro per inquilini, ad es. _MieterVorname |
> 💡 Buyer/Owner vs. Kaeufer/Eigent: _Buyer*/_Owner* vengono utilizzati soprattutto all'interno di loop di indirizzi e nel campo di descrizione. _Kaeufer*/_Eigent* (con nomi in tedesco) sono le classiche pre-macro dei modelli PDF che onOffice riconosce direttamente. Per i modelli PDF → vedi I valori non vengono trasferiti al PDF.
Invece di scorrere tutti gli indirizzi collegati a un immobile, puoi anche rivolgerti direttamente a un determinato tipo di contatto, ad esempio il notaio o l'amministrazione di tale immobile:
_XAPKontaktart#NAME#FELD
| Esempio | Significato |
|---|---|
_XAPKontaktart#Notar#Name |
Cognome dell'indirizzo collegato al tipo di contatto "Notario" |
_XAPKontaktart#Notar#Email |
E-mail del notario |
_XAPKontaktart#Notar#Uuidaddress |
UUID del record dell'indirizzo del notario |
_XAPKontaktart#Verwalter#Telefon |
Numero di telefono dell'amministrazione |
_XAPKontaktart#indMulti28075Select28075#Firma1 |
Ragione sociale dell'indirizzo con il valore chiave specifico (in caso di opzioni personalizzate per il tipo di contatto) |
> 💡 Trovare il valore chiave: puoi trovare il nome esatto del tipo di contatto in onOffice in Strumenti → Impostazioni → Amministrazione → Indirizzi → campo "Tipo di contatto" → il valore chiave è indicato accanto alla rispettiva opzione (spesso indXXXX).
Anche se un modulo non contiene campi relativi all'indirizzo o all'immobile, puoi "fornire" un record tramite parametri URL — l'attività creata dopo l'invio sarà quindi collegata a questo record.
https://formular.deine-domain.de/dokumenten-upload?address[ID]=_Uuidaddress&estate[Id]=_Uuidestate
Caso d'uso: Un modulo di caricamento documenti per un inquilino (indirizzo) che deve però mantenere il riferimento all'immobile — il file caricato e l'attività saranno quindi collegati a entrambi i record, anche se nel modulo stesso sono presenti solo campi per il caricamento dei file.
> 💡 Funziona anche per le chiamate _AgreementLink e in tutti i punti in cui propform si aspetta parametri UUID.