0

J'ai un formulaire Notes (Personnel) qui contient un sous-formulaire Notes (que j'appelle DocInfo) qui contient des champs calculés pour stocker l'auteur original et la date de création.Utilisation de sous-formulaire avec des champs calculés dans XPage sur serveur Domino 9.x

formule de champ créé

@If(@IsAvailable(CreatedOrig); CreatedOrig; @Text(@Created) + " by " + @Text(@Author)) 

champ Auteur de formule

@UserName 

J'ai un XPage avec une source de documents de "personnel" et computeWithForm ensemble à both. Sur un serveur Domino 8.5.3, XPage calcule et enregistre le champ Créé et Auteur sur la note principale. Cependant, sur un serveur Domino 9.0.1, XPage ne calcule pas les champs et les champs n'apparaissent pas dans les propriétés du document de la note principale.

<xp:dominoDocument 
    var="document1" 
    formName="Personnel" 
    computeWithForm="both"> 
     <xp:this.parentId> 
      <![CDATA[#{javascript:sessionScope.get("PID")}]]> 
     </xp:this.parentId> 
</xp:dominoDocument> 

Je suppose que d'une certaine manière le moteur du serveur Domino 9.0.1 ne comprend pas les champs de sous-formulaire dans la fonction computeWithForm? Cela a fonctionné sur nos serveurs 8.5.3 pendant quelques années, mais ne fonctionne pas maintenant sur un serveur 9.0.1?

Toute aide, suggestion ou information serait la bienvenue.

Répondre

1

Je ne peux pas dire quel est le problème exact dans votre cas, mais j'ai déjà rencontré des problèmes étranges, avec des champs calculés et computeWithForm sur XPages. Il n'y a pas de problème avec les sous-formulaires, au moins sur 9.0.1FP2. Mais il y a eu quelques changements sur le comportement de 8.5 à 9.0.

Sur un cas, j'ai trouvé que discordances de type de terrain entraînent des problèmes inattendus (blogué ici: http://lotusnotus.com/lotusnotus_en.nsf/dx/more-xpages-error-fun....htm)

Je suggère de vérifier les types de ces champs. Par exemple, si vous définissez un champ comme Date/Heure mais fournissez une valeur String, computeWithForm ne lancera pas d'erreur, mais le champ sera vide. C'est la même chose pour les erreurs de formule.

Pour trouver la cause première, supprimez ces champs un par un dans un paramètre XPage-Form-Subform distinct.