Quand il apparaît et ce qu'il dit
Le message complet, avec Odoo en français, est La page … ne peut pas contenir les cases de signature et les champs de toutes les parties qui y sont placées sans qu'ils se recouvrent les uns les autres (le placement s'est arrêté à « … »). … (Page … cannot hold the signature boxes and fields of every party placed on it without covering each other (it stopped at '…'). …). Les trois blancs sont des valeurs : le numéro de la page, le nom du participant auquel le placement s'est arrêté (s'il n'a pas de nom, on obtient Partie sans nom (Unnamed party)) et un conseil final.
Ce conseil, si l'appelant de la méthode n'en fournit pas d'autre, est Répartissez-les sur d'autres pages, ou supprimez certains de leurs champs. (Spread them over other pages, or remove some of their fields.). Le code indique que ce qu'il convient de faire dépend de la façon dont ce document est traité, donc la fin du message peut varier.
Il apparaît en cliquant sur le bouton Envoyer (Send) de la vue du document Scrive. Il y a deux boutons avec ce libellé : l'un est visible quand le document est en brouillon ou en erreur (avec les valeurs par défaut, il est visible) et l'autre seulement quand il est en préparation (avec les valeurs par défaut, il n'est pas visible). Tous deux aboutissent à la même vérification de placement. L'action s'arrête. Le message figure dans le code d'Odoo 17, 18, 19 et 20 ; ce qui suit décrit le code de la version 20.

Envoyer et le message, avec les libellés en anglais du code du module (Odoo 17, 18, 19 et 20).Si tu veux savoir ce que fait d'autre ce bouton, c'est dans l'article sur le bouton Envoyer.

Ce que fait le module avant de l'exécuter
Avant l'envoi, le module calcule où vont la case de signature et chaque champ de chaque partie. Tout n'entre pas dans le calcul susceptible d'échouer :
- Si la case d'une partie a un texte d'ancrage, le module la place à côté de ce texte et elle n'entre pas dans l'empilement. Il en va de même pour ses champs avec texte d'ancrage, sauf les champs d'options (radio) : ceux-là sont empilés même s'ils en ont un.
- Les parties placées par défaut sur une page de signature ajoutée ont déjà leur placement mesuré, et il est utilisé tel quel.
- Le reste est regroupé par page. Une case sans page propre va sur la page par défaut, qui est celle de signature et, si aucune n'a été ajoutée, la dernière du document. Un champ sans page propre va là où va la case de sa partie, pour se trouver à côté de la signature.
- Sur chaque page, on empile, en trois colonnes, chaque case avec ses champs juste au-dessus (les champs en haut, dans leur ordre, et la case en dessous).
Un champ d'options (radio) entre dans l'empilement en comptant ses options : le module en compte une par ligne contenant du texte.
Si, sur une page, ils ne tiennent pas sans se recouvrir, le module lance l'avertissement avec le nom du participant auquel il s'est arrêté. Les pages sont parcourues dans l'ordre et l'avertissement nomme la première qui échoue ; en la corrigeant, le même message peut donc apparaître avec une autre page. Le code utilise la proportion de chaque page quand il la connaît ; sinon, une proportion par défaut.
En pratique, l'avertissement t'indique deux choses : quelle page est surchargée et à quel participant la répartition s'est arrêtée. À partir de là, la solution consiste à alléger cette page.
Liste de vérification
Avant de cliquer sur Envoyer
- Repère quelles parties sont placées sur la même page : celles qui partagent une page, que ce soit celle par défaut ou une que tu as indiquée.
- Distingue les parties avec texte d'ancrage : leur case va à côté du texte et ne compte pas dans l'empilement de la page.
- Rappelle-toi que les champs d'une partie voyagent avec sa case, sauf s'ils ont une page propre : plus il y a de champs sans page propre, plus ce bloc a besoin de hauteur.
- Note quelles parties ont des champs d'options (radio) : ils comptent selon leurs options et sont empilés même avec un texte d'ancrage.
- Vérifie le bouton :
Envoyerapparaît en brouillon ou en erreur ; en préparation, un autre bouton avec le même libellé s'affiche.
Quand le message apparaît
- Note le numéro de page du premier blanc : c'est la page qui n'en admet pas plus.
- Note le nom entre guillemets : c'est le participant auquel le placement s'est arrêté. Si tu vois
Partie sans nom, cette partie n'a pas de nom renseigné.
- Lis le conseil final : par défaut, il demande de répartir cases et champs sur d'autres pages ou de supprimer certains champs.
- Répartis les parties de cette page sur d'autres pages, ou réduis les champs de celles qui s'entassent.

La page … ne peut pas contenir les cases de signature et les champs de toutes les parties qui y sont placées sans qu'ils se recouvrent les uns les autres (le placement s'est arrêté à « … »). ….Après la correction
- Clique de nouveau sur
Envoyer: la vérification est refaite en entier.
- Si le même message apparaît avec une autre page, répète la répartition sur celle-ci : l'avertissement ne nomme que la première page qui échoue.
- Si le document est en préparation, utilise l'autre bouton
Envoyer, celui qui n'est visible que dans cet état.
Comment FlexigoTech t'aide
Si tu déploies Odoo et que la signature ne passe pas bien avec tes modèles, FlexigoTech déploie Odoo 17, 18, 19 et 20 et développe des connecteurs et des intégrations sur mesure. Scrive Connector est publié pour ces quatre versions : tu peux le voir sur sa fiche Odoo Apps ou sur sa page de flexigotech.com.
À lire aussi
Vérifié dans le code du connecteur (version 20.0) et dans les sources citées
Sources
- Code du module : flexigobe_scrive_connector 20.0 (21b3b940): models/scrive_party.py
- Code du module : flexigobe_scrive_connector 20.0 (21b3b940): views/scrive_document_views.xml
- apps.odoo.com/apps/modules/20.0/flexigobe_scrive_connector
- flexigotech.com/en/services.html
- Code du module : flexigobe_scrive_connector 20.0 (21b3b940): wizard/scrive_send_wizard.py
