Parfois, un seul champ « acheteur/propriétaire » ne suffit pas : les mandats notariaux impliquent plusieurs acheteurs, les communautés d'héritiers comptent plusieurs propriétaires, et chez le notaire, il faut ajouter une administration. propform propose pour cela un modèle composé de deux formulaires et de macros de boucles d'adresse récursives.
Vous créez deux formulaires qui fonctionnent ensemble :
| Formulaire | Objectif |
|---|---|
| Formulaire de vue d'ensemble | Affiche les acheteurs/propriétaires/notaires actuellement associés à un bien immobilier, avec des boutons « Modifier » et « Associer d'autres personnes » |
| Formulaire de modification | Un formulaire par type de personne avec les champs d'adresse ; enregistre l'adresse et la relie automatiquement au bien immobilier |
Flux de travail pour l'utilisateur :
?estate[Id]=...)C'est le plus simple des deux formulaires. Il contient :
https://formular.deine-domain.de/notarbeauftragung-uebersicht?estate[Id]=_Uuidestate)> 💡 Astuce : tu as besoin d’un formulaire de modification distinct pour chaque type de personne (c’est-à-dire un pour l’acheteur, un pour le propriétaire, un pour le notaire et un pour la gestion), car chacun a une logique de liaison différente.
> 💡 Simplification : si les formulaires de modification ont tous la même mise en page, vous pouvez les créer à l'aide de la fonction « Copier le formulaire » et ne modifier que les paramètres de liaison.
Le formulaire de synthèse se compose d’un seul champ de description dans lequel se trouvent les macros de boucle. Les champs sont entièrement remplis via des macros provenant d’onOffice.
Éléments importants pour chaque boucle :
_ifEmpty(_Name;"Kein X verbunden";"...") — si aucun enregistrement n'est encore lié, afficher un message pertinent_buyerbrek_1_ (Buyer-Begin-Recursion) ou _ownerbrek_1_ (Owner-Begin-Recursion)_BuyerVorname, _BuyerName, _BuyerStrasse, ainsi qu'un lien « Modifier l'adresse » avec l'UUID_buyererek_1_ ou _ownererek_1__ifEmpty(_EigentName;"Kein Eigentümer verbunden";"_ownerbrek_1_
_OwnerTitel _OwnerVorname _OwnerName _ifEmpty(_OwnerName2;"";", _OwnerTitel2 _OwnerVorname2 _OwnerName2")
_OwnerStrasse
_OwnerPLZ _OwnerOrt
_OwnerTelefon, _OwnerEmail
<a href='https://formular.deine-domain.de/eigentuemer-bearbeiten?address[ID]=_OwnerUuidaddress&estate[Id]=_Uuidestate'>Adresse bearbeiten</a>
_ownererek_1_")
<a href="https://formular.deine-domain.de/eigentuemer-bearbeiten?estate[Id]=_Uuidestate">(Weiteren) Eigentümer verbinden</a>
Ce qui se passe :
_EigentName (macro onOffice standard) vérifie si un propriétaire est associé_ownerbrek_1_ ... _ownererek_1_ parcourt tous les propriétaires associés_OwnerUuidaddress (UUID du propriétaire actuel dans la boucle)Exactement le même modèle que pour les propriétaires, mais avec buyer à la place de owner et les pré-macros _Buyer* à la place de _Owner* :
_ifEmpty(_KaeuferName;"Kein Käufer verbunden";"_buyerbrek_1_
_BuyerTitel _BuyerVorname _BuyerName _ifEmpty(_BuyerName2;"";", _BuyerTitel2 _BuyerVorname2 _BuyerName2")
_BuyerStrasse
_BuyerPLZ _BuyerOrt
_BuyerTelefon, _BuyerEmail
<a href='https://formular.deine-domain.de/kaeufer-bearbeiten?address[ID]=_BuyerUuidaddress&estate[Id]=_Uuidestate'>Adresse bearbeiten</a>
_buyererek_1_")
<a href="https://formular.deine-domain.de/kaeufer-bearbeiten?estate[Id]=_Uuidestate">(Weiteren) Käufer verbinden</a>
Si tu ne souhaites pas parcourir toutes les adresses associées à un type de contact, mais afficher directement un type de contact spécifique (par exemple « le notaire de ce bien immobilier »), utilise la macro _XAPKontaktart#NAME# :
_ifEmpty(_XAPKontaktart#Notar#Name;"Kein Notariat verbunden
<a href='https://formular.deine-domain.de/notar-verbinden?estate[Id]=_Uuidestate'>Jetzt Notar verbinden</a>";"
_XAPKontaktart#Notar#Firma1
_XAPKontaktart#Notar#Vorname _XAPKontaktart#Notar#Name
_XAPKontaktart#Notar#Strasse, _XAPKontaktart#Notar#PLZ _XAPKontaktart#Notar#Ort
_XAPKontaktart#Notar#Telefon
_XAPKontaktart#Notar#Email
<a href='https://formular.deine-domain.de/notar-bearbeiten?address[ID]=_XAPKontaktart#Notar#Uuidaddress&estate[Id]=_Uuidestate'>Adresse bearbeiten</a>")
Notar correspond ici au nom de l'option de type de contact dans onOffice. Si vous utilisez vos propres valeurs de type de contact, vous devez utiliser la valeur de clé exacte, par exemple :
_XAPKontaktart#indMulti28075Select28075#Name
> 💡 Vous trouverez la valeur de clé dans onOffice sous Outils → Paramètres → Administration → Adresses → champ « Type de contact » → pour l'option correspondante.
Un formulaire d'aperçu de mandat notarial type combine toutes les boucles + tous les types de contact dans un champ de description :
**Eigentümer**
_ifEmpty(_EigentName;"Kein Eigentümer verbunden";"_ownerbrek_1_
_OwnerTitel _OwnerVorname _OwnerName _ifEmpty(_OwnerName2;"";", _OwnerTitel2 _OwnerVorname2 _OwnerName2")
_OwnerStrasse
_OwnerPLZ _OwnerOrt
_OwnerTelefon, _OwnerEmail
<a href='https://formular.deine-domain.de/notarbeauftragung-adresse-bearbeiten?address[ID]=_OwnerUuidaddress&estate[Id]=_Uuidestate'>Adresse bearbeiten</a>
_ownererek_1_")
<a href="https://formular.deine-domain.de/notarbeauftragung-eigentuemer-verbinden?estate[Id]=_Uuidestate">(Weiteren) Eigentümer verbinden</a>
---
**Käufer**
_ifEmpty(_KaeuferName;"Kein Käufer verbunden";"_buyerbrek_1_
_BuyerTitel _BuyerVorname _BuyerName _ifEmpty(_BuyerName2;"";", _BuyerTitel2 _BuyerVorname2 _BuyerName2")
_BuyerStrasse
_BuyerPLZ _BuyerOrt
_BuyerTelefon, _BuyerEmail
<a href='https://formular.deine-domain.de/notarbeauftragung-adresse-bearbeiten?address[ID]=_BuyerUuidaddress&estate[Id]=_Uuidestate'>Adresse bearbeiten</a>
_buyererek_1_")
<a href="https://formular.deine-domain.de/notarbeauftragung-kaeufer-verbinden?estate[Id]=_Uuidestate">(Weiteren) Käufer verbinden</a>
---
**Notariat**
_ifEmpty(_XAPKontaktart#Notar#Name;"Kein Notariat verbunden
<a href='https://formular.deine-domain.de/notarbeauftragung-notar-verbinden?estate[Id]=_Uuidestate'>Jetzt Notar verbinden</a>";"
_XAPKontaktart#Notar#Firma1
_XAPKontaktart#Notar#Vorname _XAPKontaktart#Notar#Name
_XAPKontaktart#Notar#Strasse, _XAPKontaktart#Notar#PLZ _XAPKontaktart#Notar#Ort
_XAPKontaktart#Notar#Telefon
_XAPKontaktart#Notar#Email
<a href='https://formular.deine-domain.de/notarbeauftragung-adresse-bearbeiten?address[ID]=_XAPKontaktart#Notar#Uuidaddress&estate[Id]=_Uuidestate'>Adresse bearbeiten</a>")
→ Après l'ouverture, l'utilisateur voit un aperçu clair de toutes les personnes associées + des boutons pour modifier ou ajouter d'autres personnes.
_ifEmpty(_EigentName;...) ne vérifie que le nom de famille. Dans les enregistrements d'entreprise, _EigentName est souvent vide et seul _EigentZusatz1 (nom de l'entreprise) est renseigné. Solution : compléter la vérification par le champ supplémentaire 1, par exemple :
_ifEmpty(_EigentName;_ifEmpty(_EigentZusatz1;"Kein Eigentümer verbunden";"...");"...")
Les champs _OwnerName2, _OwnerStrasse2, _OwnerPLZ2, etc. (deuxième adresse au sein d'un enregistrement) ne sont pas activés par défaut dans de nombreuses versions d'onOffice. Si votre boucle y accède et qu'elle n'affiche rien, vérifiez dans onOffice sous Outils → Paramètres → Administration → Adresses si les champs Données de base 2 sont activés.
Les liens HTML dans le champ de description fonctionnent, mais les guillemets doivent être soit simples ', soit doubles " — ils ne doivent pas être mélangés dans le même élément. L'imbrication _ifEmpty(...; ""; "...") vous oblige souvent à écrire les attributs HTML avec '.
Vous pouvez facilement combiner les boucles _buyerbrek_1_/_buyererek_1_ et _ownerbrek_1_/_ownererek_1_ dans le même champ de description. _1_ est un compteur interne — si vous avez besoin de plusieurs boucles Buyer dans un champ (ce qui est rare), augmentez le nombre : _buyerbrek_2_, _buyererek_2_.
Si l'adresse est dupliquée au lieu d'être mise à jour lors de la deuxième soumission : le paramètre address[ID] n'est pas arrivé ou le formulaire n'est pas configuré sur « Préremplir l'adresse ». Vérifiez les paramètres de préremplissage.
_Buyer*, _Owner*, _Eigent*, _Kaeufer*