Expand my Community achievements bar.

liveCycle forms dynamic table row count wrong.

Avatar

Level 2


Hello adobe community,


I have experiencing this problem.

New job (started 2 weeks ago).

I was asked to look at an existing form that contain many tables and subforms.

The problem is that the form initialize, this is javascript that remove the last row for some of the tables while for other table it doesn't.

So on an empty form did a console.println of specific tables.instanceManager.count to see what is going on and here is the result.

var sf1 = xfa.resolveNode("topmostSubform.Page1.Sous-form_2.Tableau1.Rangée1");
var sf3 = xfa.resolveNode("topmostSubform.Page1.Sous-form_4.Tableau3.Rangée1");
var sf4 = xfa.resolveNode("topmostSubform.Page1.Sous-form_5.Tableau4.Rangée1");
var sf5 = xfa.resolveNode("topmostSubform.Page1.Sous-form_6.Tableau5.Rangée1");
var sf6 = xfa.resolveNode("topmostSubform.Page2.Sous-form_1.Tableau6.Rangée1");
var sf7 = xfa.resolveNode("topmostSubform.Page2.Sous-form_2.Tableau7.Rangée1");
var sf12 = xfa.resolveNode("topmostSubform.Page3.Sous-form_3.Tableau12.Rangée1");
var sf14 = xfa.resolveNode("topmostSubform.Page3.Sous-form_4.Tableau14.Rangée1");

var i1 = parseInt(sf1.instanceManager.count);
var i3 = parseInt(sf3.instanceManager.count);
var i4 = parseInt(sf4.instanceManager.count);
var i5 = parseInt(sf5.instanceManager.count);
var i6 = parseInt(sf6.instanceManager.count);
var i7 = parseInt(sf7.instanceManager.count);

var i12 = parseInt(sf12.instanceManager.count);
var i14 = parseInt(sf14.instanceManager.count);

+i1 + " Tableau3:"+i3 + " Tableau4:"+i4 + " Tableau5:"+i5 + " Tableau6:"+i6 + " Tableau7:"+i7 +" Tableau12:"+i12 + " Tableau14:"+i14 );

The result when opening the empty form was "Initialize: Table1:0 Table3:0 Table4:0 Table5:1 Table6:0 Table7:0 Table12:1 Table14:1"

how can for some the the tables the count be 1 while for other the count be 0?

Thanks

2 Replies

Avatar

Level 10

C'est très difficile à dire c'est quoi le problème.

Il peut arriver souvent que LiveCycle ne fonctionne pas très bien avec les noms utilisés (souvent répétés) en plus que les noms que t'utilises contiennent des caractères spéciaux avec des accents.

Cela pourrait créer des erreurs...

Je te conseille de modifier les noms Rangée1 pour enlever les accents ainsi que t'assurer de mettre des noms différents pour chaque rangée dans chaque tableau.

Il m'a déjà arriver d'avoir une erreur semblable pcq des objets avaient les memes noms mais dans mon cas c'était Row1 à plusieurs endroits différents dans le formulaire.

Il se pourrait que ce ne soit pas la solution, mais c'est certain que c'est à cause que LiveCycle a de la difficulté à bien lire l'objet.

En programmation il a toujours été hautement conseiller de ne jamais mettre de caractère special ni de lettre avec accents dans les noms des objets.

Le traitement de texte avec caractère spécial et lettre avec accent doit être traité dans le code en fichier XML, alors il se peut qu'avec un formulaire PDF un peu plus complexe que la normale, LiveCycle créer des erreurs lors de la lecture ou l'écriture.

Avatar

Level 2


Merci beaucoup Magus069,

Je vais regarder à ce niveau, j'avais aussi lu que le problème pouvais venir de 'duplicate' de nom en effet mais comme je suis nouveau avec liveCycle je voulais avoir une opinion plus professionnel.

Pour ce qui est de la nomenclature, en effet jamais je n'aurais utiliser le même nom pour 2 éléments mais ce n'est pas moi qui l'ai créer.

Merci pour tes conseil encore.