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.
| 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 | ✅ |
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.
| 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 » |
| 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 |
| 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 |
| 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.
| 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 |
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).
| 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")
| 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.
| 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 :
unterschrift_kaeufer)400 — valeur par défaut pour les signatures)variabel pour une hauteur automatiquepx ou mmmail ou htmlExemple — 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é.
| 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) |
| 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 |
| 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).
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.
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.
_bScRek_("filter")
... beliebige Suchkriterien-Makros ...
_eScRek_
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).
_bScRek_("status:1")
Objektart: _pfGetSearchCriteriaField(objektart)
Ort: _pfGetSearchCriteriaField(ort)
Wohnfläche: _pfGetSearchCriteriaField(wohnflaeche)
Link: _pfLink("https://example.com?id=_pfGetSearchCriteriaUUID", "Suchkriterium öffnen")
_eScRek_
_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.
_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")
→ Tous les rendez-vous de la période dont l'objet contient « TERMIN-SLOT » et qui sont liés au bien immobilier actuel.
Vous trouverez des instructions détaillées avec des invites de copier-coller sur le blog : Guide des filtres Calendar-Loop.
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 ».
| 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.
_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
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.
| 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) |
| 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).
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.