🧩 Macros — propform & onOffice

Les macros sont des espaces réservés qui sont remplacés par des valeurs réelles lors de l'exécution — par exemple, le prénom d'une adresse chargée, l'UUID d'un bien immobilier ou la date du jour.

Contenu


Où peut-on utiliser les macros ?

Emplacement Macros actives ?
En-tête / sous-titre du formulaire
Libellé, remarque, espace réservé, info-bulle du champ
Valeur par défaut, valeur imposée
Champs de description (type spécial) ✅ — y compris les macros propform telles que _pfButton, _pfLink
Remarque d'activité
Objet et description de la tâche
Destinataire, CC, Cci de l'e-mail
Objet et corps de l'e-mail
URL de la page de remerciement
Valeurs cibles « Écrire des valeurs »
Nom du champ de téléchargement de fichier
URL du bouton de lien
Nom personnalisé du téléchargement de fichier

## Macros onOffice standard

Tu trouveras la liste complète et officielle des macros dans l'aide onOffice.

> ⚠️ Attention à l'orthographe : onOffice n'est pas cohérent en matière de majuscules et de minuscules. Les macros d'adresse sont généralement en CamelCase (première lettre majuscule), tandis que les macros immobilières sont en minuscules. Respectez scrupuleusement l'orthographe officielle, sinon la macro ne sera pas résolue.

Macros d'adresse (CamelCase)

Macro Signification
_Name Nom
_Vorname Prénom
_Email Adresse e-mail par défaut
_Email(Art,n) E-mail par type (professionnel/privé) et fonction
_Strasse Rue
_PLZ Code postal
_Ort Localité/ville
_Telefon Numéro de téléphone standard
_AdrDatensatznummer Numéro d'enregistrement de l'adresse
_Uuidaddress UUID de l'adresse
_Sonstige1 Contenu du champ « Autres 1 »

Macros immobilières (petites)

Macro Signification
_objektart Type de bien (maison, appartement, etc.)
_objekttyp Catégorie de bien (maison individuelle, maison mitoyenne, etc.)
_ort Localisation du bien immobilier
_strasse Rue (uniquement si l'option « Partage de l'adresse » est activée dans l'objet)
_hausnummer Numéro de rue (uniquement si l'option « Partage de l'adresse » est activée dans l'objet)
_Objstrasse Rue — contourne « Ne pas divulguer l'adresse » (astuce, uniquement pour la rue + le numéro de rue)
_Objhausnummer Numéro de rue — contourne « Ne pas divulguer l'adresse »
_plz Code postal
_kaufpreis Prix d'achat
_wohnflaeche Surface habitable
_flaeche Surface standard par type de bien
_ObjDatensatznummer Numéro d'enregistrement du bien immobilier
_Uuidestate UUID du bien immobilier

Macros de date et d'heure

Macro Signification
_Datum(format) Format de date variable — _Datum(DD.MM.YYYY)
_KDatum Date du jour (par ex. 26.04.2026)
_Uhrzeit(Länge, Format, Zone) Heure actuelle

Macros de fonction (conditions, calculs)

Macro Exemple Signification
_calculate(...) _calculate([kaufpreis]*3) Calcul mathématique
_ifEmpty(_makro;"Text1";"Text2") _ifEmpty(_Sonstige1;"Standard";_Sonstige1) Si la macro est vide → Texte1, sinon Texte2 (également écrit sous la forme _if_empty(...))
_if(Bedingung;"Text1";"Text2") _if([objektart]="haus";"Haus-Anfrage";"Andere") Sortie conditionnelle
DATEADD([feld];n;"d") _calculate(DATEADD(TODAY();14;"d")) Ajouter n jours à la date (d/w/y)
TODAY() _calculate(TODAY()) Aujourd'hui

> 💡 _ifEmpty avec les champs utilisateur — Modèle multi-bureaux : Si chaque site/bureau dispose de son propre lien d'évaluation, code téléphonique ou similaire, créez un champ personnalisé pour l'utilisateur (par ex. Benutzerzusatz1Name) et utilisez : _ifEmpty(_OBJBetreuer_Benutzerzusatz1Name;"https://fallback-link.de";_OBJBetreuer_Benutzerzusatz1Name) — si le responsable a laissé le champ vide, la valeur par défaut s'applique. Plus court et plus lisible que _calculate(IF([feld]=null;"a";"b")) pour les simples vérifications de champ vide.

Macros utilisateur (collaborateur qui exécute l'action)

Macro Signification
_UserAdr* Espace réservé pour n'importe quelle macro d'adresse de l'utilisateur actuel — par ex. _UserAdrName, _UserAdrEmail, _UserAdrTelefon
_Benutzervorname / _Uservorname Prénom de l'utilisateur
_Benutzername / _Username Nom de l'utilisateur
_Benutzeremail / _Useremail E-mail de l'utilisateur

---

Macros spécifiques à propform

Ces macros sont disponibles uniquement dans propform.io — et non dans la version standard d'onOffice. Elles fonctionnent dans les formulaires ainsi que dans les activités, les tâches et les e-mails rédigés via propform (mode de résolution des macros « alternatif » dans onOffice).

Boutons et liens dans les champs de description

Macro Description
_pfButton("Label", "URL", "Style", "Target") Bouton entièrement stylisé au design propform. Styles : rounded, rounded-0, rounded-pill. Cible : _parent ou _blank.
_pfLink("URL", "Label", "Target") Lien hypertexte simple. Si aucune légende n'est spécifiée, l'URL est utilisée comme texte du lien.

Exemples :

_pfButton("Weiter zum Formular", "https://example.com", "rounded-pill", "_blank")
_pfLink("https://example.com", "Hier klicken", "_blank")

Macros de critères de recherche

Macro Description
_pfGetSearchCriteriaInformation Affiche le critère de recherche complet sous forme de tableau.
_pfGetSearchCriteriaField(Feldname) Affiche une valeur unique du critère de recherche, par exemple _pfGetSearchCriteriaField(objektart)
_pfGetSearchCriteriaUUID UUID crypté du critère de recherche (pour des liens inter-formulaires sécurisés — par exemple dans les boutons « Modifier » et « Désactiver » des e-mails récapitulatifs)

> 💡 Modèle de libre-service pour les profils de recherche : les trois macros, associées à _pfButton(...) et à la boucle _bScRek_("status:1"), constituent un workflow de libre-service complet : L'e-mail récapitulatif répertorie tous les profils de recherche actifs + des boutons en un clic pour modifier/désactiver. Configuration complète sous Modifier / désactiver les profils de recherche.

Macros de chemin d'accès aux fichiers (pour les images/signatures dans les modèles PDF)

Macro Description
_dateipfadAdressfeld(<Feldname>;<Breite>;<Höhe>;<Einheit>;<Typ>) Intègre l'image d'un champ de fichier d'adresse dans le modèle PDF (généralement pour les signatures, les scans de pièces d'identité)
_dateipfadObjektfeld(<Feldname>;<Breite>;<Höhe>;<Einheit>;<Typ>) De même pour les champs de fichier immobiliers

Paramètres :

  • Nom du champ : nom interne onOffice du champ de fichier (par ex. unterschrift_kaeufer)
  • Largeur : valeur dans l'unité sélectionnée (par ex. 400 — valeur par défaut pour les signatures)
  • Hauteur : soit une valeur fixe, soit variabel pour une hauteur automatique
  • Unité : px ou mm
  • Type : mail ou html

Exemple — Intégrer la signature de l'acheteur :

_dateipfadAdressfeld(unterschrift_kaeufer;400;variabel;mail;html)

Modèle multi-signature pour plusieurs acheteurs/propriétaires :

À l'intérieur de la boucle d'adresse (_buyerbrek_1__buyererek_1_, voir ci-dessous), tu peux intégrer un champ de fichier distinct avec la signature de chaque acheteur. Si tous les acheteurs n’ont pas encore signé, utilise toujours _ifEmpty(...) — sinon, un espace vide apparaîtra dans le PDF :

_buyerbrek_1_
_BuyerVorname _BuyerName
_ifEmpty(unterschrift_kaeufer;"";"_dateipfadAdressfeld(unterschrift_kaeufer;400;variabel;mail;html)")
_buyererek_1_

> 💡 Disponibilité des champs de fichier : les macros de chemin d'accès au fichier ne fonctionnent que si le fichier se trouve dans un champ de fichier onOffice de l'enregistrement — et non dans l'onglet général « Fichiers ». Le champ de fichier doit être créé dans l'administration onOffice avant d'être utilisé.


Macros d'activité et de rendez-vous

Macro Description
_pfGetAgentslogInformation Affiche sous forme de tableau l'activité qui vient d'être saisie via propform (type d'action, catégorie d'action, remarque)
_pfGetSellingPriceOffer Affiche l'offre de prix d'achat soumise par le prospect
_pfGetCalendarUUID UUID crypté du rendez-vous actuel (au sein de la boucle Calendar)

Liens profonds vers onOffice-enterprise

Macro Description
_getAddressLink Lien profond direct vers la fiche d'adresse dans onOffice — ne fonctionne que pour les utilisateurs connectés
_getEstateLink Lien profond direct vers le bien immobilier

Newsletter & Accord

Macro Description
_NewsletterDOILink Macro standard onOffice : lien de confirmation pour le double opt-in de la newsletter. Si le champ de la newsletter est défini sur 3 (DOI en attente) et que l'utilisateur clique, il est défini sur 1 (confirmé). À utiliser dans l'e-mail de confirmation de la newsletter.
_AgreementLink(Parameter1,Parameter2,...) Macro propform pour le lien vers l'accord (contrat/politique de rétractation/politique de confidentialité). Les paramètres déterminent les contenus affichés lors de l'appel de l'accord. Paramètres possibles : URL, Vertrag, Belehrung, Musterwiderruf, Datenschutzerklärung, Beginn, Eigentum, Finanzierung, Newsletter.
_NewsletterLink Norme onOffice : lien d'inscription/de désinscription pour la liste de diffusion de la newsletter (un clic ouvre la page d'inscription/de désinscription sur onOffice).

> 💡 Astuce pour le lien de contrat : au lieu d'utiliser des paramètres fixes dans le modèle d'e-mail, tu peux gérer un champ personnalisé dans la fiche du bien immobilier (par ex. agreement_link_parameter) et y fournir dynamiquement différents paramètres via la formule _calculate(IF([provisionsfrei]=null;"Vertrag,Belehrung,Musterwiderruf,Datenschutzerklärung,Beginn,Eigentum,Finanzierung,Newsletter,URL";"URL")) — par exemple, sans contrat/rétractation pour les biens sans commission. Le modèle d'e-mail n'appelle alors que _AgreementLink(_agreement_link_parameter).

Mode de résolution des macros d'adresse « alternatif »

Dans la configuration des e-mails de propform, il existe le paramètre « Résolution des macros d'adresse : normal vs alternatif » :

Mode Effet
Normal (par défaut) _Vorname, _Name, _Email, etc. sont remplacés par le destinataire de l'e-mail
Alternatif La résolution s'effectue vers l'adresse du formulaire (= adresse qui vient de traiter le formulaire)

Quand utiliser l’« alternative » ? Chaque fois que l’e-mail est envoyé à une personne qui n’est pas l’auteur de la demande — par exemple, une notification interne à la comptabilité concernant une nouvelle adresse. Sinon, ce sont les données comptables qui figurent dans l’e-mail à la place des données de l’auteur de la demande.

---

Boucles — Boucle des critères de recherche

Avec _bScRek_ et _eScRek_, il est possible de parcourir tous les critères de recherche d’une adresse et d’afficher des macros pour chaque critère de recherche — de manière analogue aux boucles du registre des agents immobiliers bien connues dans onOffice.

Syntaxe

_bScRek_("filter")
   ... beliebige Suchkriterien-Makros ...
_eScRek_

Filtre facultatif

L'argument « filtre » vous permet de limiter les critères de recherche pris en compte :

_bScRek_("status:1")

→ Uniquement les critères de recherche actifs (statut = 1).

Exemple complet

_bScRek_("status:1")
Objektart: _pfGetSearchCriteriaField(objektart)
Ort: _pfGetSearchCriteriaField(ort)
Wohnfläche: _pfGetSearchCriteriaField(wohnflaeche)
Link: _pfLink("https://example.com?id=_pfGetSearchCriteriaUUID", "Suchkriterium öffnen")
_eScRek_

Boucles — Boucle de calendrier

_bCalendarRek_ et _eCalendarRek_ permettent de parcourir les rendez-vous de la période indiquée — par exemple pour afficher les créneaux disponibles dans un formulaire de réservation.

Syntaxe

_bCalendarRek_("startDate:YYYY-MM-DD;endDate:YYYY-MM-DD;weitere:filter")
   ... beliebige onOffice-Termin-Makros + _pfGetCalendarUUID ...
_eCalendarRek_

Filtre d'exemple

_bCalendarRek_("startDate:2026-02-25;endDate:2026-12-31;subject:like:%TERMIN-SLOT%;estate.id:_Id")

→ Tous les rendez-vous de la période dont l'objet contient « TERMIN-SLOT » et qui sont liés au bien immobilier actuel.

Approfondir le sujet

Vous trouverez des instructions détaillées avec des invites de copier-coller sur le blog : Guide des filtres Calendar-Loop.

---

Boucles — Boucle d'adresse (acheteur / propriétaire)

Les macros de boucle d'adresse permettent de parcourir tous les acheteurs ou propriétaires liés au bien immobilier — cas d'utilisation typique : un formulaire récapitulatif qui répertorie toutes les personnes associées à un bien immobilier, avec des boutons « Modifier » / « Ajouter d'autres personnes ».

Syntaxe

Boucle Début Fin
Acheteur _buyerbrek_1_ _buyererek_1_
Propriétaire _ownerbrek_1_ _ownererek_1_

> À l'intérieur de la boucle, vous utilisez les pré-macros _Buyer* ou _Owner* (voir la section suivante). _1_ est un compteur de boucle interne — ne l'incrémenter que si vous avez besoin de plusieurs boucles acheteurs/propriétaires indépendantes dans le même champ de description.

Exemple — répertorier tous les acheteurs d'un bien immobilier

_buyerbrek_1_
_BuyerVorname _BuyerName, _BuyerStrasse, _BuyerPLZ _BuyerOrt, _BuyerEmail
_buyererek_1_

📖 Tutoriel complet avec formulaire de synthèse + d'édition et exemples de code : Relier plusieurs enregistrements à l'aide d'un formulaire

---

Pré-macros (accéder aux enregistrements liés)

Les pré-macros accèdent aux enregistrements d'adresse liés à un bien immobilier — généralement dans des modèles PDF, des e-mails ou des boucles d'adresses.

Pré-macros pour les acheteurs

Macro Signification
_BuyerVorname Prénom de l'acheteur
_BuyerName Nom de famille de l'acheteur
_BuyerTitel Titre (par ex. Dr.)
_BuyerStrasse, _BuyerPLZ, _BuyerOrt Adresse
_BuyerTelefon, _BuyerEmail Contact
_BuyerName2, _BuyerVorname2, _BuyerStrasse2 etc. Données de base 2 (deuxième adresse au sein de l'enregistrement — si activée dans onOffice)
_BuyerUuidaddress UUID de l'enregistrement d'adresse de l'acheteur (pour les liens inter-formulaires)
_Kaeufer / _Buyer Préfixe de pré-macro dans les modèles PDF, par exemple _KaeuferVorname (sans trait de soulignement entre le préfixe et le nom du champ)

Pré-macros pour le propriétaire

Macro Signification
_OwnerVorname Prénom du propriétaire
_OwnerName Nom du propriétaire
_OwnerTitel Titre
_OwnerStrasse, _OwnerPLZ, _OwnerOrt Adresse
_OwnerTelefon, _OwnerEmail Coordonnées
_OwnerName2, _OwnerVorname2, _OwnerStrasse2 etc. Données de base 2
_OwnerUuidaddress UUID de l'enregistrement d'adresse du propriétaire
_Eigent / _Owner Préfixe pré-macro dans les modèles PDF, par exemple _EigentVorname (sans trait de soulignement entre le préfixe et le nom du champ)
_Mieter / _Renter Préfixe pré-macro pour les locataires, par exemple _MieterVorname

> 💡 Buyer/Owner vs. Kaeufer/Eigent : _Buyer*/_Owner* sont principalement utilisés dans les boucles d'adresse et dans le champ de description. _Kaeufer*/_Eigent* (avec des noms en allemand) sont les pré-macros classiques des modèles PDF que onOffice comprend directement. Pour les modèles PDF → voir Les valeurs ne sont pas transférées vers le PDF.


## Accès direct au lien de type de contact

Au lieu de parcourir toutes les adresses liées à un bien immobilier, tu peux également t'adresser directement à un type de contact spécifique — par exemple, le notaire ou la gérance de ce bien immobilier :

_XAPKontaktart#NAME#FELD
Exemple Signification
_XAPKontaktart#Notar#Name Nom de famille de l'adresse associée au type de contact « Notaire »
_XAPKontaktart#Notar#Email E-mail du notaire
_XAPKontaktart#Notar#Uuidaddress UUID de l'enregistrement d'adresse du notaire
_XAPKontaktart#Verwalter#Telefon Numéro de téléphone de l'administration
_XAPKontaktart#indMulti28075Select28075#Firma1 Nom de l'entreprise de l'adresse avec la valeur de clé spécifique (pour les options de type de contact personnalisées)

> 💡 Trouver la valeur clé : tu trouveras le nom exact du type de contact dans onOffice sous Outils → Paramètres → Administration → Adresses → champ « Type de contact » → la valeur clé est indiquée à côté de l'option correspondante (souvent indXXXX).


Préchargement de l'UUID sans champ dans le formulaire

Même si un formulaire ne contient aucun champ d’adresse ou de bien immobilier, vous pouvez « joindre » un enregistrement via un paramètre d’URL — l’activité créée après la soumission est alors liée à cet enregistrement.

https://formular.deine-domain.de/dokumenten-upload?address[ID]=_Uuidaddress&estate[Id]=_Uuidestate

Cas d'utilisation : un formulaire de téléchargement de documents pour un locataire (adresse), qui doit toutefois rester lié à un bien immobilier — le fichier téléchargé et l'activité sont alors associés aux deux enregistrements, même si le formulaire lui-même ne contient que des champs de téléchargement de fichiers.

> 💡 Fonctionne également pour les appels _AgreementLink et tous les endroits où propform attend des paramètres UUID.


Continuer vers les emojis et symboles pour onOffice 👉