Jump to content

David Julot

Membres
  • Content Count

    977
  • Joined

  • Last visited

  • Days Won

    44

David Julot last won the day on March 2

David Julot had the most liked content!

About David Julot

  • Rank
    800
  • Birthday 07/16/1971

Contact Methods

  • Website URL
    https://www.lesterius.com
  • AIM
    djulot@mac.com

Profile Information

  • Gender
    Homme
  • Location
    Paris
  • Interests
    FileMaker, XML et API

FileMaker Profile

  • FM Conférence
    Poitiers 2019
  • FM
    FM19
  • OS
    macOS 10.15 , Windows 10
  • Certification
    FileMaker 18
  • FBA
    Platinum
    Trainer

Recent Profile Visitors

16755 profile views
  1. Bonjour, Pour la première question : # Entre écrire Si [ calcul = True ] Définir rubrique [ table::rubrique ; True ] Fin de si # Et écrire Définir rubrique [ table::rubrique ; Cas ( calcul = True ; True ; False ) ] En temps de calcul c'est rien, cela ce compte en 10000e de seconde la différence entre les deux écriture. Si c'est cela est la question ? Car pour la deuxième écriture j'aurais tendance à écrire : Définir rubrique [ table::rubrique ; calcul = True ] Enfin tout dépend de ce que l'on veut faire et de sa façon d'écrire. La première écriture permet d'éviter de modifier le contenu de la rubrique si le test est faux. Alors que la deuxième écriture modifie le contenu de la rubrique quelque soit le test. Pour la deuxième question : Je ne suis pas adepte dans l'utilisation de variables globales si l'on doit passer un ou des paramètres à un script. Car le fait d'utiliser les variables globales, signifie qu'elle occupe une place mémoire tant que l'on ne les vide pas, elles persistent une fois le script exécuté. Alors que passer directement les paramètres au script, en JSON ou non, les valeurs ne persistent plus une fois le script exécuté, c'est à la fois une économie de mémoire occupée et aussi de discrétion dans le cas où une valeur est sensible…
  2. Bonsoir, Retrouvez la liste des nouveautés en français ici : https://help.claris.com/fr/pro-help/#page/FMP_Help%2Fnew-features.html%23ww1133564
  3. Bonjour, Effectivement vous avez la réponse à votre question. 🙂
  4. Bonjour, Pour une recherche par script, évitez ce type de script : # éviter ce type de script Activer modèle [ “Modèle” (Occurrence) ; Animation: Aucune ] Exécuter la recherche [ Rétablir ] # # ou ce type de script Activer modèle [ “Modèle” (Occurrence) ; Animation: Aucune ] Mode Recherche [ Pause: Non ] Définir rubrique [ Occurrence::rubrique ; "*" ] Exécuter la recherche [] Privilégiez ce type de script : # Privilégiez ce type de script Mode Recherche [ Pause: Non ] Activer modèle [ “Modèle” (Occurrence) ; Animation: Aucune ] Définir rubrique [ Occurrence::rubrique ; "*" ] Exécuter la recherche [] En effet, lorsque que vous utilisez l'action Activer modèle, FileMaker va non seulement rechercher la définition du modèle pour l'afficher, mais également le 1er enregistrement, plus quelques enregistrements précédents et/ou suivants (suivant le type d'affichage) pour permettre à l'utilisateur de naviguer ensuite plus rapidement entre les enregistrements. Le fait de se mettre d'abord en mode recherche avant d'activer le modèle, permet à FileMaker de rechercher la définition du modèle et c'est tout, il n'ira pas rechercher d'enregistrement, d'indexe, etc. puisque en mode recherche il n'y a que la définition du modèle qui est chargé, plus la définition de la table et des rubriques. On gagne beaucoup de temps. Si votre table comporte un très grand nombre d'enregistrements, il est fortement conseillé d'indexer les rubriques qui seront utilisées pour la recherche.
  5. Bonjour, Effectivement, l'XML est sensible à la casse : la balise <event> est différente de la balise <Event>, etc. Deuxième remarque, l'XML est un standard d'échange d'arborescences de données. Chaque producteur de données est libre d'employer sa propre grammaire et son propre vocabulaire, tout ceci peut être décrit un document DTD (fichier XML), ou schéma XSD fichier XML). Les documents de transformation XSL-T ou XSL-FO (fichiers XML) sont là pour transformer une arborescence XML en une autre arborescence XML, HTML ou TEXT (pour le XSL-T, t pour transformer) ou un document formaté (pour le XSL-FO, fo pour formater). FileMaker Pro intègre depuis la version 4 le parser XALAN (du groupe Apache Software Foundation) et ne gère que les transformation XSL-T. Voici le schéma de transformation via le parser. On doit à chaque fois que l'on reçois un fichier XML (XML1) connaître si possible sa grammaire (DTD1) pour pouvoir le transformer en un XML reconnu par FileMaker Pro (XML2) dont sa grammaire se nomme FMPXMLRESULT, créer / utiliser une feuille de transformation XSL-T. Pour rappel, FileMaker Pro a été le premier gestionnaire de base de données compatible XML !
  6. Bonsoir, La documentation est disponible depuis le site de l'éditeur à cette adresse : https://fmhelp.filemaker.com/docs/16/fr/fms16_cwp_guide.pdf Et ce qui vous intéresse plus particulièrement ceux sont les chapitres 6, 7 et 8. Bonne lecture.
  7. Pourtant c'est juste, je ne comprends pas votre problème. Voici donc le fichier XSL-T modifié : FMXML__XsLChrono.xsl
  8. Un Parser XML parcours l'arborescence de données comme nous le faisons d'une arborescence de dossiers ou d'un chemin URL… Vous avez l'arborescence XML suivante : <listEventInfoComp> <events> <eventDate>valeur</eventDate> ... </events> ... <skybillNumber>valeur</skybillNumber> </listEventInfoComp> La feuille de transformation XSL-T entre dans l'arborescence via <xsl:template match="listEventInfoComp"> ... </xsl:template> Une fois que nous sommes dans cette instruction, nous lui demandons d'effectuer n fois un traitement, pour chaque balise events : <xsl:for-each select="events"> ... </xsl:for-each> À l'intérieur de cette instruction, nous nous trouvons donc dans /listEventInfoComp/events/ c'est pour cela que pour récupérer la valeur de eventDate par exemple nous avons simplement besoin d'écrire : <xsl:value-of select="eventDate"/> Alors que pour obtenir la valeur de skybillNumber qui se trouve non pas dans le chemin /listEventInfoComp/eventss/skybillNumber mais un cran au-dessus, donc dans le chemin /listEventInfoComp/skybillNumber ou comme dans un chemin relatif ../skybillNumber nous avons simplement besoin d'écrire : <xsl:value-of select="../skybillNumber"/>
  9. Dans ce cas là je propose de modifier le type de résultat à Nombre et de modifier la formule comme suit : Minutes ( heureDebut[1] + Obtenir ( NombreRépétitionsCalcul ) * 15 * 60 )
  10. Pour la récupération de la valeur de la balise skybillNumber on peut mettre dans la balise instruction value-of la valeur ../skybillNumber. Comme dans le fichier modifié : FMXML__XsLChrono.xsl
  11. Il faut laisser la rubrique en heure et jouer avec le format d'affichage pour (via un format personnalisé dans l'inspecteur) afficher uniquement les minutes.
  12. En fait le xsl: est ce que l'on appelle un espace de nom, c'est un identifiant qui permet au Parser de comprendre que que value-of n'est pas une balise ordinaire mais une instruction xsl-t. Je simplifie évidemment. Le deuxième problème venait aussi du s manquant à event dans la balise instruction for-each. Le troisième problème venait de la balise instruction template et de son attribut match où il faut spécifier la balise racine du document xml reçu. Ce qui fait que la balise instruction for-each sait que l'on parle des balises events se trouvant dans la balise ListEventInfoComp.
  13. Bonjour, Ce n'était pas grand chose, mais voici le fichier XSL-T corrigé. FMXML__XsLChrono.xsl
  14. Bonjour, Une formule simple à mettre dans la rubrique multivaluée et qui doit retournée une heure comme résultat : heureDebut[1] + Obtenir ( NombreRépétitionsCalcul ) * 15 * 60
  15. Rigolo 😁, il y a bien trois fonctions : ObtenirLargeur, ObtenirHauteur et ObtenirAttributConteneur, qui génèrent quatre formules…
×
×
  • Create New...