Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 04/28/22 in all areas

  1. En fait, le fait de connaître l'API utilisé m'aurait peut-être permis de trouver la documentation de l'API. En son absence, je vous propose l'extrait de script suivant : Définir variable [ $login ; Valeur: "VOTRE LOGIN" ] Définir variable [ $motdepasse ; Valeur: "VOTRE MOT DE PASSE" ] Définir variable [ $url ; Valeur: "https://VOTRE URL" ] Définir variable [ $curl ; Valeur: "-X GET --user " & Citation ( $login & ":" & $motdepasse ) ] Insérer depuis URL [ sélectionner ; Avec boîte de dialogue: Non ; Cible: $resultat ; $url ; Vérifier les certificats SSL ; Options cURL: $curl ]
    3 points
  2. salut tout le monde pour ceux que ca intéresse et qui ont l'habitude de travailler en SQL avec des outils comme PhpMyAdmin ou MySQLWorkbench, j'ai trouvé un outil sympa pour manipuler FM en ODBC/JDBC : RazorSQL https://razorsql.com/index.html
    3 points
  3. FredoMkb

    ObtenirCSS inversé ??

    Salut à tous Voici une piste possible, en utilisant le plugin gratuit "BaseElements" ("BE" pour les intimes …voir https://docs.baseelementsplugin.com/)… Ce plugin propose une fonction qui peut exécuter du code JavaScript nommée "BE_EvaluateJavaScript()", du coup, avec une rubrique calculée (ou par script le cas échéant), on peut imaginer une formule qui traite le texte CSS pour le nettoyer de toutes ses balises HTML (via un simple remplacement basé sur un petit masque RegEx)… Malheureusement, cette fonction BE n'assure pas la conversion des éventuelles entités HTML présentes dans le code créé par la fonction native "ObtenirCSS()", dès lors, on doit passer par un "Substituer()" à la sauce FileMaker pour les convertir en texte brut… Bref, voici une petite capture d'écran et le fichier d'exemple téléchargeable juste dessous : HtmlToText.fmp12 Petite précision, la liste des entités HTML n'est évidemment pas complète, je n'ai gardé que les plus utilisées dans un texte, mais pour la compléter vous trouverez aisément des listes plus exhaustives sur le Web, par exemple par ici : https://www.freeformatter.com/html-entities.html --
    2 points
  4. The post Par Jupiter – “Fan of FM Cloud!” appeared first on fmcloud.fm. Afficher la totalité du billet
    2 points
  5. Bonjour, Pas sûr d'avoir compris l'objectif, mais une fonction peut peut-être aider : SupprimerFormatTexte ( Texte ). Elle permet au texte de perdre tous ses attributs particuliers et d'obéir ensuite à la mise en forme de l'objet rubrique. Sinon, ObtenirCSS ( Texte ) peut aider à détecter les non régularités de formatage sur un texte donné. Cela vous aide ? Jérémie
    2 points
  6. et bien voila, grace aux bons conseils de @tcolles nos utilisateurs "boulets" nous couteront moins en temps à chaque oubli de leurs mots de passe 🙂 - le bouton ACTIF active/désactive le compte sur la base principale et tous les satellites et il est présent également coté client sur son tableau de bord - le bouton "réinitialiser pwd" affecte la base principale et tous les satellites, il est aussi présent coté client - les boutons de propagation propagent les droits de la principale vers les satellites, selon les options d'accés de l'utilisateur La vie est belle, le we s'annonce bien 😉 Bon week-end à tous 🙂
    2 points
  7. Moment privilégié J’ai eu la chance de pouvoir rencontrer (virtuellement) hier (12 mai 2022) deux collaborateurs francophones de Claris, qui m’ont accordé pendant plus d’une heure une interview passionnante. J’imagine que beaucoup d’entre vous ont déjà deviné que je parle de Marie Normand, responsable des partenaires Claris sur la région « EMEIA » et Douglas Wallis, responsable […]Afficher la totalité du billet
    2 points
  8. Bonsoir, pas sûre de comprendre l’énoncé avec les " et les ', mais si le premier mot sont les heures/minutes et le second, les secondes, dans ce cas n'est il pas mieux de tout convertir en seconde et laisser time faire ? Let ([ hms = "176'52""" // "138""79" ]; time ( 0 ; 0 ; LeftWords ( hms ; 1 ) *60 + RightWords ( hms ; 1 ) ) ) et ajouter un test si à un moment il peut n'y avoir qu'un "mot"
    2 points
  9. Il ne faut pas spécialement que l'utilisateur soit en accès intégral mais simplement que les scripts exécutés se voient accordés les privilèges d'accès intégral.
    2 points
  10. Les petits plus de FileMaker Go Savez-vous que vous pouvez faire lire un code-barre à FileMaker directement ? Ou encore obtenir une signature manuelle dans une rubrique conteneur directement ? Connaissez-vous les formules de calculs qui ne fonctionnent qu’avec FileMaker Go ? Et que même dans les scripts, on peut trouver quelques pépites réservées à […]Afficher la totalité du billet
    2 points
  11. David Julot

    Navigation

    Bonjour, J'opterai pour une variable unique contenant : Soit une liste de valeurs. Les valeurs étant séparées par des retours à ligne. On utilise la fonction Liste pour ajouter une valeur à la liste : Liste ( $$modeles ; Obtenir ( NomModele ) ) ; On utilise la fonction DecompteValeurs pour connaître le nombre de valeurs de la liste : DecompteValeurs ( $$modeles ) ; On utilise la fonction ObtenirValeur pour récupérer une valeur particulière, pour obtenir la dernière valeur : ObtenirValeur ( $$modeles ; DecompteValeurs ( $$modeles ) ) ; Soit un JSON, et dans ce cas, on peut opter pour plusieurs types d'arborescences de données : tableau : Pour ajouter une valeur, on utilise la formule JSONSetElement ( $$modeles ; "[" & $i & "]" ; Obtenir ( NomModèle ) ; JSONString ) où $i est une valeur comprise entre 0 et n ; Pour récupérer une valeur, on utilise la formule JSONGetElement ( $$modeles ; "[" & $i & & "]" ) où $i est une valeur comprise entre 0 et n ; Pour connaître le nombre de valeurs, on utilise la formule DecompteValeurs ( JSONListKeys ( $$modeles ; "." ) ) ; Pour supprimer une valeur, on utilise la formule JSONDeleteElement ( $$modeles ; "[" & $i & "]" ) où $i est une valeur comprise entre 0 et n ; clefs / valeurs : Pour ajouter une valeur, on utilise la formule JSONSetElement ( $$modeles ; $i ; Obtenir ( NomModèle ) ; JSONString ) où $i est l'indice de la valeur ; Pour récupérer une valeur, on utilise la formule JSONGetElement ( $$modeles ; $i ) où $i est l'indice de la valeur souhaitée ; Pour connaître le nombre de valeurs, on utilise la formule DecompeValeurs ( JSONListKeys ( $$modeles ; "." ) Pour supprimer une valeur, on utilise la formule JSONDeleteElement ( $$modeles ; $i ) où $i est l'indice de la valeur souhaitée.
    1 point
  12. jilc

    ObtenirCSS inversé ??

    Jolie solution, très intéressante, merci Fred, du partage ! Je vais tenté de l'intégrer. JLuc
    1 point
  13. Les listes virtuelles, suite de l’atelier de novembre 2021 Pour cet atelier, je vais céder la place de présentateur à Jérémie Gimenez (Par Jupiter) qui va creuser le sujet déjà abordé lors de l’atelier de novembre. Je lui laisse la plume pour vous annoncer le menu : Dans la suite de cette première présentation, où […]Afficher la totalité du billet
    1 point
  14. C'est bien vrai ! Bravo pour le nouveau site…
    1 point
  15. Mais avez-vous relancé fmse entre deux tentatives ? En ligne de commande : fmsadmin start fmse
    1 point
  16. De quoi s’agit-il ? Comme je vous l’indiquais dans mon premier article de cette série sur les annonces de Claris, un tout nouveau programme fait son apparition. Son nom officiel est « Claris Problem Solvers Circle » et il ne sera pas traduit dans les différents langues. Lorsque j’ai interrogé Douglas et Marie à ce sujet, ils […]Afficher la totalité du billet
    1 point
  17. Merci Jérémie pour cet possibilité ! En CSS, on peut aller chercher d'autres fonctions 😉 L'idée général de ma demande est de ne pas avoir à faire plusieurs fois la mise en forme, entre la cellule de saisie finale et une cellule de prévisualisation plus petite. Antonin
    1 point
  18. Bonjour Jérémie, Ah oui, j'avais raté ce détail, merci. Christophe
    1 point
  19. Fredco03

    Liste alpha

    Effectivement, je viens de la mettre dans 3 autres rubriques, encore merci. Bonne soirée. Cdlt Frédéric
    1 point
  20. Pardonnez ma réponse si différée. Merci pour votre suggestion. Excellente journée à vous.
    1 point
  21. j'avais complètement oublier qu'il y avait un menu contextuel sur les scripts....... D'ailleurs c'est quoi "Activer le don de raccourci"?!?! Je connaissais le don d'ubiquité, d'organes, de sperme...... mais le don de raccourci..... 🙂
    1 point
  22. Bonsoir, Les actions de création de compte, suppression, activation, réinitialisation de mdp,...doivent être exécutées dans le fichier lui-même avec un privilège d'accès intérgal. Il est donc envisageable d'avoir une table de gestion des utilisateurs dans le fichier maître et que toutes les actions relatives à la gestion de comptes déclenchent des scripts dans ce fichier maître qui eux-mêmes font appel à des scripts similaires dans tous les satellites avec passage de paramètres (compte, privilège, mdp,...)La particularité des scripts est qu'ils doivent être exécutés avec le privilège accès intégral. bien à toi, Tanguy
    1 point
  23. Merci d'abord à vous deux, j'apprécie énormément. Je vous réponds: Pour Astucieux Apophis000 Je sens que je vais apprendre beaucoup de chose aujourd’hui 😄 1- Pourquoi une table <Date> avec un ID «ID_Rendo» et une rubrique «Date» déjà incluse dans la table <RAN_Randonnées>. À quoi cela sert-il? 2- Je trouve une Badge Script dans la rubrique «;;TRA_Nom», et j’ignore son rôle. Je découvre que cette rubrique en cache une autre «::zkf_TRA». C’est la clé étrangère de la table <TRA_Trajet>, et c’est elle qui permet la sélection du trajet. Elle contient un script: «valides» ( Valider enreg./requêtes [Avec boîte de dialogue: Non] ) Quel est le rôle de ce script? - Que valide-t’il? Pourquoi utiliser la rubrique «::zkf_TRA» dans le modèle <Date Rando> ? - plutôt que «;;TRA_Nom» en liste déroulante et flèche sur la liste des trajets? 3- Enfin à quoi servent les boutons <KmA>, <KmB> et <KmC> avec un script: «Définir rubrique [RAN_Randonnées::G_triTE[X]; Obtenir ( ParamètreScript ) ]. R- …À inscrire dans la rubrique «texte» un paramètre dont j’ignore la nature ? 4- Les cases «à cocher» devraient se comporter comme des boutons «Jeu de cercles d’option». Mais, les jeux de cercles ne sont utilisable qu'avec une liste de valeurs… Ce qui prête mal à des calculs éventuels. 5- La poubelle «Suppression de la rangée» est à abandonner, car nous devons garder les noms des personnes qui se sont inscrites, mais qui ne se sont pas présentées. Généreux Maître Jérémie Gimenez, «Présence» et «choix de trajet/parcours» sont donc 2 rubriques qui doivent figurer dans la table Participe. Oui, tout à fait. Ces deux rubrique permanentes accompagnent la date, le nom et les groupes, et constituent les informations essentielles sur la randonnée. S'ajouteront aussi quelles autres dont la météo, l'état des voies, et les commentaires des chefs de files et des participants. Donc, on ne prévoit pas de rubrique "Présent/Absent", c'est bien. Non, comme je disais à Apophis, il nous faut conserver la liste des inscrits en permanence. Ta compréhension est très juste. Il n'y a pas de recherche, sauf pour les données sur les personnes (participants inscrits (100) parmi les membres actifs :350, pour 2022 ) et les trajets. …on n'a finalement pas de table Groupe, et la table Participe ne relie pas Personne à Groupe mais à Randonnée. Ce que je présume ici c'est que la table <Participe> contient la liste des personnes inscrites tirée de ta table PER_Personnes. La confusion provient probablement du fait que je me suis fait petit fichier FMP pour l'exploration de solutions techniques avec uniquement la liste des personnes inscrites (Participants potentiels dont il nous faut connaître leur présence et choix de trajet) que j'ai nommé <PER_Personnes>. J'explore les astuces d 'Apophis, et me mets au travail…. «à suivre». Merci encore à vous deux
    1 point
  24. Bonsoir, "Définir rubrique par nom" fonctionne aussi en mode recherche. 1- mode recherche 2 - définir rubrique par nom = 1 3 exécuter recherche ------------------------------------------------- Par ailleurs, ce type de rubrique 'oui/non' s'appelle une rubrique booléenne et est de type nombre où 1 = vrai et 0 = faux - l'idéal est d'ailleurs de définir une auto entrée sur la rubrique comme suit : ObtenirCommeBooleen ( Contenu ) https://fmhelp.filemaker.com/help/18/fmp/fr/index.html#page/FMP_Help%2Fgetasboolean.html%23ww1285140
    1 point
  25. Bonjour, Merci pour votre aide bienvenue ! Votre suggestion de Boucle d'une rubrique à l'autre avec <Remplacer contenu rubrique> sans spécifier la rubrique, fonctionne après mes premiers essais ! C'est un peu lent, mais çà le fait tout de même ! Cela fonctionne aussi pour Trier la sélection avec <Trier enreg. par rubrique> sans définir la rubrique cible.. Par contre, je n'arrive pas à opérer une sélection avec <Exécuter la recherche>.
    1 point
  26. Il te reste 6 occasions de tester avant le saut fatidique en 2023… ☄️ 😄
    1 point
  27. Bonjour à tous, Nous sommes passés récemment sur une version cloud de FMPro pour partager notre base sur 3 utilisateurs. Certaines choses ne fonctionnent apparemment pas comme sur une version monoposte en local, et j'ai actuellement le souci suivant : je crée des factures dans l'appli par script, et j'ai une table mono-enregistrement séparée pour gérer le chrono (prochain numéro de facture) qui est automatiquement incrémenté lors de la création de la facture. Ce numéro évolue automatiquement à chaque facture, et repasse à 1 à chaque début de mois. C'est du moins ce qui se passait sur la version locale monoposte. Je précise aussi que chaque poste est susceptible de générer des factures. Mon souci est que la rubrique est désormais systématiquement réinitialisée à 1, à chaque reconnexion à la base ... Auriez-vous un conseil pour que je puisse stocker et gérer cette valeur sans surprise et de façon pérenne ? Merci d'avance de vos lumières 😉 Patrick
    1 point
  28. Bonjour Jérémie, et un grand merci pour ton aide ! C'était bien mon test qui ne marchait pas : et tout simplement parce que la rubrique mois de dernière utilisation::mois était globale. On verra au passage en juin si ça fonctionne bien. Encore merci 😉 Patrick
    1 point
  29. Hâte et curieux de connaître les résultats (pas de la F1 hein ) Sinon, en relisant le fils, je me dis que les temps de latence que tu constates, peuvent venir surtout de la complexité du modèle (notamment s'il y a beaucoup de données liées issues d'autres tables, ou même de la présence d'éventuelles rubriques statistiques)… Bref, dans un monde idéal, il faudrait tester ces différentes techniques sur des contextes d'utilisation différents… mais bon, l'essentiel c'est que tu trouves celle qui est la meilleur pour ton cas de figure… En tout cas, je vais suivre cet échange, qui sait, peut-être que d'autres idées plus "géniales" verront le jour
    1 point
  30. une autre solution possible en utilisant le numéro d'enregistrement : - je défini une rubrique calcul non mémorisée "numero_enr" en utilisant Obtenir (NumeroEnreg) une fois entré dans le modèle, donc avec le résultat de la recherche de base triée - je genere la liste de valeurs en utilisant "numero_enr" et "nom_magasin" en affichant que la valeur de "nom_magasin" - je defini une rubrique globale "select_enr" avec cette liste - j'utilise Afficher Enreg/requete/page par valeur calculée sur "select_enr" Dans ce cas je ne sort pas de mon jeu d'enregistrement et je ne fais pas de nouvelles recherche Et ca va plus vite, pas "beaucoup" plus vite mais plus vite quand meme, et la charge sur FMP pro/serveur est surement plus légère 🙂 Il y a peut-être plus rapide 😉 Bon week-end
    1 point
  31. Bonsoir Jérémie, Finalement ce n'est pas si sûr ... 😉 J'ai vérifié que ma rubrique chrono n'était pas globale ; mais quand je ferme ma base et que je la rouvre, la valeur repasse immanquablement à 1 🤨. Il y a peut-être d'autres points à vérifier ? Cette base est sur le Cloud FileMaker, et 3 personnes travaillent dessus simultanément. Ce qui est bizarre, c'est que ma table "variables globales" contient d'autres paramètres qui eux ne sont pas réinitialisés (cf screen) ... et je ne vois aucune différence au niveau de la définition des rubriques. J'ai un peu recherché sur internet mais sans grand succès (français et anglais), donc si tu as quelques liens qui pourraient m'éclairer, je suis preneur !!! Patrick
    1 point
  32. Salut gpto Il me semble qu'une table externe filtrée est un moyen rapide pour trouver des enregistrements. Même si il reste quelque ligne après les filtre ( plusieur global avec "et" ) le choix est facile car visuel. Un clique sur celui voulut et op! vers ca fiche ... Peut-etre aussi avec un modèle liste ? ( sans garentie, car, jamais travailler avec plus de 3000 fiche ... )
    1 point
  33. Un grand merci à toi Jérémie ! Tout fonctionne 😉
    1 point
  34. Il faut exporter ta rubrique conteneur dans un fichier temporaire et le réutiliser dans le même script dans l'envoi du courrier - Définir variable : $temp : Obtenir (CheminTemporaire)&Doc::CGV - Exporter contenu de la rubrique : Doc::CGV, ficher de sortie : $temp - Envoyer courrier : joindre un fichier : $temp Je pense que ca peut marcher
    1 point
  35. Bon désolé mais je viens de résoudre la chose via une rubrique transparente (sans couleur de fond) par dessus la date récupéré. Script déclenché à la modification de la rubrique transparente (on croit cliquer sur la date mais on modifie finalement la rubrique qui est au dessus) Le script efface la rubrique de changement car sinon il y a deux textes superposés
    1 point
  36. Merci beaucoup ca me parait un peu lourd et je pense que ca va ralentir pas mal mes fenetres Bonne journée
    1 point
  37. Bonjour C'est pas ceci ? que vous devez décocher ?
    1 point
  38. @Jérémie Gimenez les commandes int et mod en francai, c'est quoi svp? @Marc Boucher vos temps sont 2:28:01 et pas 138"79 ?? En partant de 138"79 , j'ai fait une autre solution, mais pas très académique, j'en conviens.
    1 point
  39. voici un exemple ou les : représentent tant les heures que les minutes et les secondes n'ont aucune spécificité, pas retrouvé pour heure en minute
    1 point
  40. MMB

    Table questions

    Je connaissais pas le lien en X ça résout mon problème merci beaucoup !
    1 point
  41. Bonjour Marc, Tu peux essayer cette formule Let ( [ _time = "176'138\"79" ; _timeV = Substitute ( _time ; ["\"" ; ¶] ; ["'" ; ¶ ] ) ; _h = GetValue ( _timeV ; 1 ) ; _m = GetValue ( _timeV ; 2 ) ; _s = GetValue ( _timeV ; 3 ) ; _m = _m + int ( _s / 60 ) ; _s = mod ( _s ; 60 ) ; _h = _h + int ( _m / 60 ) ; _m = mod ( _m ; 60 ) ] ; time ( _h ; _m ; _s ) ) un peu testée...sans doute à bétonner
    1 point
  42. tcolles

    Table questions

    Bonjour Effectivement si vous voulez simplement récupérer les valeurs stat et/ou calcul d'une table il faut un lien. (Ce lien peut être par ailleurs un lien de type X qui lie toutes les fiches des deux tables impliquées) Une autre solution est de se lancer dans du ExecuteSQL qui permet de s'affranchir des relations. Pour avancer plus précisément, il faudrait en savoir plus sur le schéma relationnel de votre base. Mais en soi, tout est possible 😉
    1 point
  43. Je suis encore à me demander pourquoi j'ai pris le truc à l'envers !!!!
    1 point
  44. Apophis000

    Table questions

    Bonjour, Si dans la fenêtre carte, il y a une table externe. Ont peu filtrer cette table avec ta rubrique 1-0 ( =0 cad affichera que les questions sans rep. ) Si c'est un modèle liste, ont peu mettre un déclencheur de script a l'ouverture du modèle , pour faire une recherche des enregistrements à 0 dans la rubrique 1-0
    1 point
  45. Fredco03

    Portrait

    Avec mes excuses, je viens de trouver mon erreur. Donc résolu. Merci
    1 point
  46. Oui Jérémie, Tu as tout à fait raison et je pense que tout cela est possible selon le contexte. Mais si la formule est simplement: Obtenir ( NombreRépétitionsCalcul ) - Multivaluee (n) cela donne (avec 10 répétitions et une valeur de comparaison de 7) : -6 | -5 | -4 | -3 | -2 |- 1 | 0 | 1 | 2 | 3 C'est pourquoi j'y ai introduit ces histoires de transformation négative à un endroit ou un autre. Une autre idée?
    1 point
  47. Oui c'est bien Obtenir ( NombreRépétitionsCalcul ) qu'il me faut ! Merci Jérémie et Lupus. C'est vrai que la traduction embrouille un peu : Tantôt il utilise valeurs / repetitions / répétitions ou nombre / numéro Obtenir (NuméroValeurCalcul) aurait été plus explicite !!
    1 point
  48. Bonjour, ce qui frappe ici est l'aspect irrégulier. Si je comprends bien, certaines sessions de script se terminent correctement, d'autres non. D'autre part, ces sessions provoquent un ralentissement. Ces indices laissent penser que la session est effectivement en cours (il ne s'agit pas d'une déconnexion non détectée par FM Server) et que le script fait bien quelque chose (sans quoi il n'y aurait pas de raison de ralentir) Êtes-vous certain que dans certaines circonstances le script ne peut tomber dans une boucle infinie ? [PAUSE PUBLIICITAIRE] De notre côté nous utilisons cet add-on qui permet de tracer précisément ce qui se passe, du côté client ou du côté serveur https://www.1-more-thing.com/en/products/1mt-log/ [FIN DE LA PAUSE PUBLICITAIRE]
    1 point
  49. fabriceN

    Liste A - Liste B

    1 point
  50. Bonjour, Une solution "pas à pas" en décomposant puis recomposant unités et décimales. Arrondi.fmp12
    1 point
×
×
  • Create New...