Author Topic: Rapports Gedart : besoin d'aide  (Read 124 times)

0 Members and 1 Guest are viewing this topic.

Offline remi0144

  • VIP
  • Full Member
  • *
  • Posts: 34
    • View Profile
Rapports Gedart : besoin d'aide
« on: December 01, 2022, 07:52:23 »
Bonjour à tous,

Après de nombreuses heures (jours) à rechercher, j'en appelle désormais svp à l'aide de la communauté.

Je suis à l'aise avec l'informatique du quotidien, mais la programmation, incluant le html et java, pas du tout. Mais je suis volontaire pour m'y mettre, du moins les bases. J'ai commencé et j'ai testé.

Aussi, je souhaite sortir ma généalogie avec les rapports Gedart que je trouve particulièrement sympas. Mais comme tout, je veux personnaliser mes fiches puisqu'aucune ne corresponde à ce que je veux. Et c'est là que je coince.
J'ai commencé à me créer un rapport détaillé III, basé sur le I et le II qui ont quelques lacunes à mes yeux (fichier indiShett.vm), en suivant le tuto pour la personnalisation de ces rapports. J'ai mis en PJ mon fichier pour suivre ce qui suit.

- J'ai réussi à intégrer les listes de lieux de résidences et de professions par un simple copier coller de ce qui est fait dans le rapport I puisqu'ils y sont (et absent dans le II) : à partir de la ligne 430 environ.
Ça fonctionne, mais simple question de curiosité, je me demande comment il peut récupérer mes adresses car il va, à priori, chercher les champs ADDR, ADDR:CITY, ADDR:POST alors que moi je ne travaille qu'avec le PLAC.
- Toutes mes adresses dans le fichier ressortent uniquement sur Ville, CP, Département et Région. Je n'ai ni le lieu-dit ni le pays qui ressortent. J'ai cherché et j'ai modifié la macro PLAC (lignes 120 à 160 environ) car dans Ancestris, j'ai paramétré mes lieux pour les écrire 0, 1, 2, 3, 4, 5, 6, 7, 8 étant donné que j'ai rajouté à la base initiale d'autres champs comme les provinces et les paroisses.
Je ne comprends pourquoi je ne les ai pas à l'affichage dans le rapport final. Dans le rapport I, ils y sont bien, mais ce n'est pas écrit de la même manière, j'ai l'impression qu'on ne passe pas par la même syntaxe générale du document.
- Je souhaiterais, pour signaler un évènement mariage, rajouter ce qu'il y a d'écrit dans le champ "TYPE" lorsqu'il y ait, et rien si le champ est vide. Cas concret : tous les couples non mariés mais pacsés sont enregistrés sous un mariage, mais je le précise dans le champs type où je rajoute "Pacs".

Au final, je souhaite créer un livre pdf pour éditer (via CoolLibri ? ou autres) à ma famille : je vais passer par une mise en page avec un traitement de texte, LibreOffice Writer sous Debian pour ne pas le citer, pour y intégrer tous les Gedart, des arbres, des statistiques...tous issus des rapports de Ancestris, en y créant sommaire personnalisés et index. L'ouverture du HTML dans Writer donne une mise en page complètement éclatée. Ai-je raté quelque chose, une option à cocher ou un paramétrage, en sachant que sous Word de Microsoft (essai sur l'ordinateur du travail), la finalité est très correcte, mais je ne souhaite pas utiliser le traitement de texte Word ?
Plus concrètement, quelqu'un s'est-il déjà lancé, après avoir édité tous les rapports souhaités, dans une mise en page avec le traitement de texte Writer ?

Je remercie tous ceux qui m'aideront à trouver une solution à mes problématiques, qui me guideront ou m'éclaireront dans cette programmation Java et html. Car le but recherché est que j'arrive à le faire seul, pour comprendre, et je trouve qu'avoir la main sur ce fichier pour sortir le rapport à sa sauce est un réel plus...quand on maîtrise ou comprend cette syntaxe et logique.
Et au final, si j'arrive à écrire avec l'aide de la communauté le fichier pour sortir le rapport qui me va bien, je le partagerais ici pour qui voudra l'utiliser.

Merci à tous de m'avoir lu, et aux mordus de la programmation html et java de m'aider sur vos heures précieuses.

Bien amicalement,

Rémi

Offline Zurga

  • VIP
  • Supernatural Member
  • *
  • Posts: 2 804
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #1 on: December 01, 2022, 12:54:36 »
On va essayer de donner des réponses intelligentes
- J'ai réussi à intégrer les listes de lieux de résidences et de professions par un simple copier coller de ce qui est fait dans le rapport I puisqu'ils y sont (et absent dans le II) : à partir de la ligne 430 environ.
Ça fonctionne, mais simple question de curiosité, je me demande comment il peut récupérer mes adresses car il va, à priori, chercher les champs ADDR, ADDR:CITY, ADDR:POST alors que moi je ne travaille qu'avec le PLAC.
La blague se situe dans le fait qu'on teste l'existence de l'adresse en ligne 434 :  #if ($!resi.getProperty("ADDR"))
Si cela n'existe pas, on passe dans la branche else en ligne 442 qui indique : <span class="megr">$!resi.Place <br> p&eacute;riode : $!resi.Date</span>
Ce qui débouche sur l'utilisation du champ PLAC et non ADDR.
- Toutes mes adresses dans le fichier ressortent uniquement sur Ville, CP, Département et Région. Je n'ai ni le lieu-dit ni le pays qui ressortent. J'ai cherché et j'ai modifié la macro PLAC (lignes 120 à 160 environ) car dans Ancestris, j'ai paramétré mes lieux pour les écrire 0, 1, 2, 3, 4, 5, 6, 7, 8 étant donné que j'ai rajouté à la base initiale d'autres champs comme les provinces et les paroisses.
Je ne comprends pourquoi je ne les ai pas à l'affichage dans le rapport final. Dans le rapport I, ils y sont bien, mais ce n'est pas écrit de la même manière, j'ai l'impression qu'on ne passe pas par la même syntaxe générale du document.
Dans la ligne 442, vous ne faites pas appel à la macro de formatage des lieux : <span class="megr">$!resi.Place <br> p&eacute;riode : $!resi.Date</span>
Donc, vous pouvez modifier tout ce que vous voulez dans la macro, elle n'est jamais appelé
Si vous voulez que ce soit pris en compte, il faut faire comme pour la ligne 325 : <strong>Lieu de naissance : </strong>#place($INDI.getProperty("BIRT:PLAC"))
Et entourer la propriété par #place()

- Je souhaiterais, pour signaler un évènement mariage, rajouter ce qu'il y a d'écrit dans le champ "TYPE" lorsqu'il y ait, et rien si le champ est vide. Cas concret : tous les couples non mariés mais pacsés sont enregistrés sous un mariage, mais je le précise dans le champs type où je rajoute "Pacs".
Vous pouvez rajouter au niveau de la ligne 635 la propriété type : $!fam.getProperty("MARR:TYPE")
Le point d'exclamation permet de ne rien afficher et de ne pas poser d'erreur si le champ n'existe pas.
Au final, je souhaite créer un livre pdf pour éditer (via CoolLibri ? ou autres) à ma famille : je vais passer par une mise en page avec un traitement de texte, LibreOffice Writer sous Debian pour ne pas le citer, pour y intégrer tous les Gedart, des arbres, des statistiques...tous issus des rapports de Ancestris, en y créant sommaire personnalisés et index. L'ouverture du HTML dans Writer donne une mise en page complètement éclatée. Ai-je raté quelque chose, une option à cocher ou un paramétrage, en sachant que sous Word de Microsoft (essai sur l'ordinateur du travail), la finalité est très correcte, mais je ne souhaite pas utiliser le traitement de texte Word ?
Plus concrètement, quelqu'un s'est-il déjà lancé, après avoir édité tous les rapports souhaités, dans une mise en page avec le traitement de texte Writer ?
Je n'ai pas essayé avec Libre Office pour voir le résultat. Il n'est pas exclu que le html ne soit pas parfait et qu'il pose problème à Writer.
Comme le but de ces rapports est de créer des pages web, on ne s'est pas vraiment penché sur la compatibilité avec des éditeurs de texte.

Zurga

Offline remi0144

  • VIP
  • Full Member
  • *
  • Posts: 34
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #2 on: December 01, 2022, 13:42:16 »
On va essayer de donner des réponses intelligentes

Vous donnez toujours des réponses intelligentes. C'est juste moi qui ne connaîs pas ce langage, mais je ne demande qu'à essayer et à apprendre.
 
La blague se situe dans le fait qu'on teste l'existence de l'adresse en ligne 434 :  #if ($!resi.getProperty("ADDR"))
Si cela n'existe pas, on passe dans la branche else en ligne 442 qui indique : <span class="megr">$!resi.Place <br> p&eacute;riode : $!resi.Date</span>
Ce qui débouche sur l'utilisation du champ PLAC et non ADDR.

Merci pour cette info. Voilà qui me fait avancer en comprenant.

Dans la ligne 442, vous ne faites pas appel à la macro de formatage des lieux : <span class="megr">$!resi.Place <br> p&eacute;riode : $!resi.Date</span>
Donc, vous pouvez modifier tout ce que vous voulez dans la macro, elle n'est jamais appelé
Si vous voulez que ce soit pris en compte, il faut faire comme pour la ligne 325 : <strong>Lieu de naissance : </strong>#place($INDI.getProperty("BIRT:PLAC"))
Et entourer la propriété par #place()

Je pensais que depuis la ligne 442 on lisait directement la ligne 446 puisque je ne sais pas à quoi servent les lignes 443 à 445 qui ne sont qu'une recopie que j'ai faite du fichier rapport I. Sont-elles utiles ? J'imagine que oui si elles ont été écrites dans le rapport I. Je vais faire mes essais ce soir en tentant de comprendre ce que vous dites et me servir d'exemple de la ligne 325. Mais où j'écris cette ligne ? En 442 ? Et je maintiens la ligne qui est en 446 ?

Vous pouvez rajouter au niveau de la ligne 635 la propriété type : $!fam.getProperty("MARR:TYPE")
Le point d'exclamation permet de ne rien afficher et de ne pas poser d'erreur si le champ n'existe pas.

Merci pour ce retour, je vais l'intégrer et essayer. Voilà une explication de syntaxe qui me fait encore avancer.

Je n'ai pas essayé avec Libre Office pour voir le résultat. Il n'est pas exclu que le html ne soit pas parfait et qu'il pose problème à Writer.
Comme le but de ces rapports est de créer des pages web, on ne s'est pas vraiment penché sur la compatibilité avec des éditeurs de texte.

Pas de problème, je comprends, je vais donc faire la mise en page. Le but est d'imprimer un livre pour ma famille.

En tout cas, cette possibilité de pouvoir modifier le fichier et sortir le rapport que l'on veut est génial, il faut juste comprendre et maîtriser cette syntaxe.
Merci d'avoir pris le temps de m'aider.
Si j'arrive au bout de mes peines à faire ce que je veux, je posterai mon fichier final pour qui voudrait en faire usage pour ses rapports.

Belle journée.

Rémi

Offline Zurga

  • VIP
  • Supernatural Member
  • *
  • Posts: 2 804
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #3 on: December 01, 2022, 14:56:42 »
Dans la ligne 442, vous ne faites pas appel à la macro de formatage des lieux : <span class="megr">$!resi.Place <br> p&eacute;riode : $!resi.Date</span>
Donc, vous pouvez modifier tout ce que vous voulez dans la macro, elle n'est jamais appelé
Si vous voulez que ce soit pris en compte, il faut faire comme pour la ligne 325 : <strong>Lieu de naissance : </strong>#place($INDI.getProperty("BIRT:PLAC"))
Et entourer la propriété par #place()
Je pensais que depuis la ligne 442 on lisait directement la ligne 446 puisque je ne sais pas à quoi servent les lignes 443 à 445 qui ne sont qu'une recopie que j'ai faite du fichier rapport I. Sont-elles utiles ? J'imagine que oui si elles ont été écrites dans le rapport I. Je vais faire mes essais ce soir en tentant de comprendre ce que vous dites et me servir d'exemple de la ligne 325. Mais où j'écris cette ligne ? En 442 ? Et je maintiens la ligne qui est en 446 ?
Mea culpa, j'ai repris le numéro de ligne du paragraphe précédent sans vérifier.
La ligne utile pour l'affichage du champ est bien la ligne 446
Dans le principe, vous devez écrire <span class="megr">#place($!resi.Place) <br> p&eacute;riode : $!resi.Date</span>
Pour les lignes encadrant : <ul><li></li></ul> il s'agit d'un formatage HTML de liste, donc elles sont utiles pour la mise en forme du fichier HTML.

Pour information, la syntaxe des balises de remplacement est du Apache Velocity (https://velocity.apache.org/) et vous trouverez des explications de fonctionnement de la syntaxe ici : https://velocity.apache.org/engine/2.3/translations/user-guide_fr.html
Le code de la page lui-même est du HTML, tout ce qu'il y a de standard. Vous pourrez trouver montagnes de tutoriels et documentations sur les balises et le formatage HTML un peu partout sur internet.

Zurga

Offline remi0144

  • VIP
  • Full Member
  • *
  • Posts: 34
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #4 on: December 02, 2022, 07:00:17 »
Bonjour Zurga,

Merci pour tous vos conseils qui, hier soir, m'ont bien aidé.

Mea culpa, j'ai repris le numéro de ligne du paragraphe précédent sans vérifier.
La ligne utile pour l'affichage du champ est bien la ligne 446
Dans le principe, vous devez écrire <span class="megr">#place($!resi.Place) <br> p&eacute;riode : $!resi.Date</span>

Cette ligne semble ne pas fonctionner, mais j'ai laissé celle qui était mise dans le rapport détaillé I et cela marche. Je laisse donc comme ça.

Pour information, la syntaxe des balises de remplacement est du Apache Velocity (https://velocity.apache.org/) et vous trouverez des explications de fonctionnement de la syntaxe ici : https://velocity.apache.org/engine/2.3/translations/user-guide_fr.html
Le code de la page lui-même est du HTML, tout ce qu'il y a de standard. Vous pourrez trouver montagnes de tutoriels et documentations sur les balises et le formatage HTML un peu partout sur internet.

Oui j'avais vu sur le tuto ce lien vers le site de Velocity, mais comme il était tout en anglais, j'avais passé mon chemin. Merci pour ce lien vers la version française, je vais m'y instruire.

Je poste en PJ le fichier pour qui veut l'utiliser, voire même si vous souhaitez l'intégrer pour tout le monde.
Il n'est cependant, à cette heure, pas encore complètement parfait et je vais devoir encore y travailler :
- pour les lieux, j'ai pu intégrer les lieux-dits et pays sur les décès, mais pas sur les naissances. Il se faisait tard hier soir, je regarde si j'arrive à le faire courant de semaine prochaine.
- j'ai réussi à intégrer la mention de Pacs pour les mariages, quand ils y sont. Il faut maintenant que je puisse intégrer cette condition quand pour un individu, on relate et détaille ses ascendants (parents et grands-parents qui pourraient être pacsés). Ce n'est bien évidemment pas possible à ma génération, le Pacs n'existait pas pour mes parents et au dessus. Mais je pense si je veux sortir la fiche d'un de mes enfants : leurs parents (ma conjointe et moi, sommes pacsés et cela apparaît comme mariés).
- sinon c'est le rapport détaillé identique au II, mais j'ai apporté les retouches que je trouvais utiles pour mon usage : intégration chronologique du détail des métiers exercés et des lieux de résidence, mise du paragraphe note en bas de la fiche individu et pas en haut, et mention du pacs comme dit plus haut.

Si quelqu'un voit une aberration dans ce que j'ai saisi, une proposition d'amélioration ou toute autre information qui pourrait m'être utile, je suis preneur.

Un grand merci encore Zurga pour l'aide apportée, et encore bravo pour votre logiciel.

Bonne journée.

Rémi

Offline remi0144

  • VIP
  • Full Member
  • *
  • Posts: 34
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #5 on: December 07, 2022, 07:46:24 »
Bonjour,

Avec l'aide et les conseils de Zurga, j'ai réussi à me créer non sans mal le fichier qui convient à mes attentes. Merci pour l'aide apportée, et je poste le fichier final indiSheet.vm que je viens de me faire si certains veulent l'utiliser. Il me convient, même s'il n'est pas complètement parfait. J'évoque quelques points plus bas si certains ont une idée, par leurs connaissances plus poussées, je suis preneur, sinon je me contenterais de celui transmis.

C'est le rapport détaillé II (dont j'aime la présentation et les multiples médias), dans lequel j'ai inclus d'autres éléments dont certains qu'il y avait dans le rapport détaillé I :
- Identité plus précise et détaillée
- Intégration d'une partie crémation juste au dessus de inhumation
- Correction sur les adresses et professions pour qu'elles apparaissent correctement, ce qui n'était pas le cas dans le rapport II
- Ajout du champ "Pacs" dans le bloc "Union", quand il est renseigné dans le TYPE d'un MARR
- Descente des notes en bas de la fiche individu car je les trouve plus pertinente ici pour mon usage

Si possible, si certains ont une idée des commandes et syntaxes pour faire ce qui suit :
- Sortir le html dans l'ordre des Sosa (et donc génération par génération, ce qui n'est pas le cas actuellement) : en premier le De Cujus, ensuite ses parents, puis ses grands-parents...Ce n'est pas le cas actuellement, et pourtant j'ai bien fait inscrire le _SOSA dans mon Gedcom, et je ne trouve pas la formule à intégrer pour pouvoir le faire. Ce sera plus facile à intégrer dans un livre que je veux monter avec un traitement de texte.
- Intégrer la notion de Pacs pour les parents et grands-parents quand ils sont renseignés dans le champ TYPE de MARR. J'ai bien essayé $!fam.getProperty("MARR:TYPE") dans les lignes concernées, mais ça ne marche pas. L'informatique fait ce qu'on lui demande, donc si ça ne marche pas, c'est que je ne mets pas ce qu'il faut où il faut. Genre, pouvoir sortir "il s'était repacsé" ou "il était déjà pacsé", en lieu et place de "il s'était remarié" ou "il était déjà marié".
- Je ne fais référence que au PLAC pour mes lieux, or, sur certains, notamment les naissances entre autres, elles apparaissent différemment des décès. Pour les décès j'ai la complète des lieux-dits jusqu'au pays, alors que pour les autres je n'ai que Ville, CP, Département, Région. Encore une fois, c'est moi qui rate quelque chose que je ne vois pas. Cela fait plusieurs jours que je cherche, mais je ne vois plus rien à force d'avoir le nez dedans.

Merci à ceux qui auront une idée, sinon ce n'est pas grave, je me contenterais de ce j'ai fait.
Certains verront peut être des erreurs et/ou aberrations mais j'ai essayé avec mes connaissances informatiques un peu limitées.

Bonne journée.

Rémi.

Offline Zurga

  • VIP
  • Supernatural Member
  • *
  • Posts: 2 804
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #6 on: Yesterday at 12:14:28 »
Merci pour ce rapport.
Si possible, si certains ont une idée des commandes et syntaxes pour faire ce qui suit :
- Sortir le html dans l'ordre des Sosa (et donc génération par génération, ce qui n'est pas le cas actuellement) : en premier le De Cujus, ensuite ses parents, puis ses grands-parents...Ce n'est pas le cas actuellement, et pourtant j'ai bien fait inscrire le _SOSA dans mon Gedcom, et je ne trouve pas la formule à intégrer pour pouvoir le faire. Ce sera plus facile à intégrer dans un livre que je veux monter avec un traitement de texte.
Il n'y a pas la main pour choisir l'ordre des individus, c'est le programme qui prend les individus à exporter et les mets dans une liste non triée.
- Intégrer la notion de Pacs pour les parents et grands-parents quand ils sont renseignés dans le champ TYPE de MARR. J'ai bien essayé $!fam.getProperty("MARR:TYPE") dans les lignes concernées, mais ça ne marche pas. L'informatique fait ce qu'on lui demande, donc si ça ne marche pas, c'est que je ne mets pas ce qu'il faut où il faut. Genre, pouvoir sortir "il s'était repacsé" ou "il était déjà pacsé", en lieu et place de "il s'était remarié" ou "il était déjà marié".
Pour cela il faut changer la macro date_mariage_parents à la ligne 151.
Vous y trouverez la gestion de l'affichage des mariages des parents et grands-parents.
La propriété que vous cherchez est  : $union.getProperty("MARR:TYPE")
Dans le contexte courant, ce n'est pas fam la bonne variable mais union.
- Je ne fais référence que au PLAC pour mes lieux, or, sur certains, notamment les naissances entre autres, elles apparaissent différemment des décès. Pour les décès j'ai la complète des lieux-dits jusqu'au pays, alors que pour les autres je n'ai que Ville, CP, Département, Région. Encore une fois, c'est moi qui rate quelque chose que je ne vois pas. Cela fait plusieurs jours que je cherche, mais je ne vois plus rien à force d'avoir le nez dedans.
Je ne vois rien dans le code qui justifie un écart de comportement entre la naissance et le décès pour l'affichage des lieux.
Vérifiez dans le logiciel que le champ est bien saisi.

Zurga

Offline remi0144

  • VIP
  • Full Member
  • *
  • Posts: 34
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #7 on: Today at 07:47:51 »
Bonjour Zurga,

Merci de m'aider et prendre le temps de me lire.

Il n'y a pas la main pour choisir l'ordre des individus, c'est le programme qui prend les individus à exporter et les mets dans une liste non triée.
C'est dommage, je trouve que ce rapport perd de son intérêt sans ça, je pensais que c'était possible comme avec le livre Web qui sort des pages html, il y a un onglet qui le fait.
Je vais donc faire sans.

Pour cela il faut changer la macro date_mariage_parents à la ligne 151.
Vous y trouverez la gestion de l'affichage des mariages des parents et grands-parents.
La propriété que vous cherchez est  : $union.getProperty("MARR:TYPE")
Dans le contexte courant, ce n'est pas fam la bonne variable mais union.
Bien vu Zurga, effectivement, je n'étais pas sur la bonne syntaxe. Cela n'a pas marché hier soir, mais j'ai passé trop peu de temps donc il faut que je m'y atèle plus sérieusement. Ce sera compliqué avant les fêtes, mais j'essaie tout début janvier. Si j'arrive, je mettrais sur ce fil le fichier mis à jour.

Je ne vois rien dans le code qui justifie un écart de comportement entre la naissance et le décès pour l'affichage des lieux.
Vérifiez dans le logiciel que le champ est bien saisi.
J'avais effectivement pensé à vérifier ma saisie avant de poster. En vous lisant, et pour en avoir le coeur net, j'ai créé un INDI fictif, en lui créant aussi un enfant fictif. J'ai mis 3 captures écrans :
- capture de mon éditeur (Yannick m'a convaincu de l'éditeur Gedcom, je n'utilise plus que celui-ci, tellement simple, pratique et facile) : j'ai volontairement copié-collé le BIRT:PLAC sur celui de DEAT:PLAC pour comparer réellement à la virgule près comme on dit,
- la deuxième capture (partie haute) montre le rendu sur mon INDI : on voit clairement la différence d'affichage
- la deuxième capture (partie basse) montre le rendu sur la fiche de l'enfant, pour présenter sa mère : problème identique,  même sur le mariage.

Ce n'est pas grave en soit et mon fichier me sort un visuel vraiment sympa. Mais sur le plan technique, effectivement je ne vois pas ce qui bloque et rend une telle visu...
Par curiosité, avez-vous essayé mon fichier avec votre Gedcom : je sais que vous utilisez le PLAC pour les lieux pour en avoir discuté sur un autre fil. Avez-vous le même problème de lecture des lieux ?

Merci de m'avoir aidé Zurga.

Belle journée.

Rémi

Offline Zurga

  • VIP
  • Supernatural Member
  • *
  • Posts: 2 804
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #8 on: Today at 08:02:03 »
J'avais effectivement pensé à vérifier ma saisie avant de poster. En vous lisant, et pour en avoir le coeur net, j'ai créé un INDI fictif, en lui créant aussi un enfant fictif. J'ai mis 3 captures écrans :
- capture de mon éditeur (Yannick m'a convaincu de l'éditeur Gedcom, je n'utilise plus que celui-ci, tellement simple, pratique et facile) : j'ai volontairement copié-collé le BIRT:PLAC sur celui de DEAT:PLAC pour comparer réellement à la virgule près comme on dit,
- la deuxième capture (partie haute) montre le rendu sur mon INDI : on voit clairement la différence d'affichage
- la deuxième capture (partie basse) montre le rendu sur la fiche de l'enfant, pour présenter sa mère : problème identique,  même sur le mariage.

Ce n'est pas grave en soit et mon fichier me sort un visuel vraiment sympa. Mais sur le plan technique, effectivement je ne vois pas ce qui bloque et rend une telle visu...
Par curiosité, avez-vous essayé mon fichier avec votre Gedcom : je sais que vous utilisez le PLAC pour les lieux pour en avoir discuté sur un autre fil. Avez-vous le même problème de lecture des lieux ?
On ne parle plus de la même zone.
La naissance et le décès avec la macro #place s'affiche exactement de la même façon (partie haute de votre image)
Par contre, à la ligne 107 de votre template, on trouve dans la macro Filiation la ligne suivante :
$ne $!item.getProperty("BIRT:DATE") $agraven #place($item.getProperty("BIRT:PLAC")) $decede $!item.getProperty("DEAT:DATE") $agraved $!item.getProperty("DEAT:PLAC")
On voit bien que pour le lieu de naissance il y a l'utilisation de la macro place et pas pour le décès.
D'où l'écart d'affichage de la partie basse.

Zurga

Offline remi0144

  • VIP
  • Full Member
  • *
  • Posts: 34
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #9 on: Today at 09:16:50 »
Effectivement, il semblerait que ce soit #place qui gêne l'affichage que je souhaite avoir. Je vais tous les enlever ce soir, car j'ai l'impression que ce problème va se répéter sur tous les autres endroits, puis faire l'essai...
Ma ligne 107 est en fait exactement la même que sur le rapport détaillé II, ce n'est qu'un copié-collé.

Merci d'avoir mis le doigt dessus Zurga.

Belle journée.

Rémi

Offline Zurga

  • VIP
  • Supernatural Member
  • *
  • Posts: 2 804
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #10 on: Today at 12:45:04 »
Je n'ai pas dit que vous aviez changé quelque chose, juste que cela expliquait la différence.

Avant de tout virer de l'utilisation de la macro place, peut-être devriez-vous choisir et définir ce que vous voulez afficher.
Telle qu'elle est actuellement écrite, elle n'affiche le lieu-dit que si la juridiction suivante existe.
Hors, dans votre exemple : 12 rue Joseph Bernier , , Ceyzériat, 01072, Ain, , Auvergne-Rhône-Alpes, France
La juridiction 1 est vide (Paroisse), comme la juridiction 5 (Province), on voit d'ailleurs qu'il manque une virugle entre Ain et Auvergne-Rhône-Alpes.
La macro affiche toutes les juridictions en essayant de déterminer s'il faut un espace avant et une virgule après.
Les trous n'aident pas.
Vous pouvez simplifier en systématisant l'espace et en supprimant les virgules
Par exemple :
#macro(place $PLAC)
   #if(!($PLAC.format("0")=="")) $!PLAC.format("0 ")#end
   #if(!($PLAC.format("1")=="")) $!PLAC.format("1 ")#end
   #if(!($PLAC.format("2")=="")) $!PLAC.format("2 ")#end
   #if(!($PLAC.format("3")=="")) $!PLAC.format("3 ")#end
   #if(!($PLAC.format("4")=="")) $!PLAC.format("4 ")#end
        #if(!($PLAC.format("5")=="")) $!PLAC.format("5 ")#end
   #if(!($PLAC.format("6")=="")) $!PLAC.format("6")#end
#end

Vous pouvez aussi vérifier toutes les juridictions et pas seulement la suivante pour afficher la virgule :
#macro(place $PLAC)
   #if(!($PLAC.format("1")=="")||!($PLAC.format("2")=="")||!($PLAC.format("3")=="")||!($PLAC.format("4")=="")||!($PLAC.format("5")=="")||!($PLAC.format("6")==""))
      #if(!($PLAC.format("0")=="")) $!PLAC.format("0, ")#end
        #else
               #if(!($PLAC.format("0")=="")) $!PLAC.format("0")#end
   #end
   #if(!($PLAC.format("2")=="")||!($PLAC.format("3")=="")||!($PLAC.format("4")=="")||!($PLAC.format("5")=="")||!($PLAC.format("6")==""))
      #if(!($PLAC.format("1")=="")) $!PLAC.format("1, ")#end
   #else
      #if(!($PLAC.format("1")=="")) $!PLAC.format("1")#end
   #end
   #if(!($PLAC.format("3")=="")||!($PLAC.format("4")=="")||!($PLAC.format("5")=="")||!($PLAC.format("6")==""))
      #if(!($PLAC.format("2")=="")) $!PLAC.format("2, ")#end
   #else
      #if(!($PLAC.format("2")=="")) $!PLAC.format("2")#end
   #end
   #if(!($PLAC.format("4")=="")||!($PLAC.format("5")=="")||!($PLAC.format("6")==""))
      #if(!($PLAC.format("3")=="")) $!PLAC.format("3, ")#end
   #else
      #if(!($PLAC.format("3")=="")) $!PLAC.format("3")#end
   #end
   #if(!($PLAC.format("5")=="")||!($PLAC.format("6")==""))
      #if(!($PLAC.format("4")=="")) $!PLAC.format("4, ")#end
   #else
      #if(!($PLAC.format("4")=="")) $!PLAC.format("4")#end
   #end
   #if(!($PLAC.format("6")==""))
      #if(!($PLAC.format("5")=="")) $!PLAC.format("5, ")#end
   #else
      #if(!($PLAC.format("5")=="")) $!PLAC.format("5")#end
   #end
   #if(!($PLAC.format("6")=="")) $!PLAC.format("6")#end
#end

Zurga
« Last Edit: Today at 12:46:42 by Zurga »

Offline remi0144

  • VIP
  • Full Member
  • *
  • Posts: 34
    • View Profile
Re: Rapports Gedart : besoin d'aide
« Reply #11 on: Today at 14:13:33 »
Que ferions-nous sans Zurga ? Et personne ne me dira le contraire ici !
Merci ! J'ai mis un moment avant de comprendre la syntaxe du fichier en général, et cette partie du PLAC est celle qui m'a donné le plus de mal. Je pensais avoir compris la macro initialement écrite, mais en fait avec votre explication et les 2 autres exemples, non.
Je vais essayer tout ça ce soir et revient courant de semaine prochaine. On va donc arriver à un moment donné au fichier parfait (enfin du moins, à mes yeux).

Je n'ai pas dit que vous aviez changé quelque chose, juste que cela expliquait la différence.
Ce n'est absolument pas ce que j'ai voulu dire, aussi si mes propos ont été compris comme ça j'en suis vraiment désolé. Je voulais juste dire qu'en copiant cette ligne, le problème se situe alors également sur le rapport II.

Merci Zurga pour toutes ces explications, ce cours personnalisé, et je reviens partager mon fichier la semaine prochaine.

Bon weekend.

Rémi