Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 01/08/21 in all areas

  1. Salut Sadlig, Alors, tu avances bien, bravo. Ces deux extraits portent sur la même chose, ce que j'ai appelé précédemment "désigner une des dents du patients". La question est où et quand fait-on cette désignation ? Sur quel modèle est-on et dans quel étape de quel processus…
    2 points
  2. J'en profite pour rappeler à quel point il est crucial de sauvegarder régulièrement ses bases/son fichier FileMaker. Un simple copier/coller du fichier avant de travailler dessus vous sauvera à coup sûr de nombreuses heures perdues... Et pour plus d'efficacité, mettez en place un simple petit numéro de version, que vous incrémentez à chaque mise à jour, afin de vous y retrouver 😊 J'utilise le logiciel Carbon Copy Cloner pour mes sauvegardes automatiques au quotidien (je n'ai même pas besoin de penser à sauvegarder), et je dois bien avouer que pouvoir retrouver plusieurs versions anciennes
    2 points
  3. Jacques R.

    script de validation

    Bonjour Après le pas de script "Boite de dialogue", placez SI : Obtenir(DernierChoixMessage) = 2 -> Fin de Script.. Si le bouton Annuler est en 2ème position, sinon = 1.
    2 points
  4. Alors un grand merci à tous les deux pour votre aide 👍
    2 points
  5. Bonsoir Fabrice, Voici donc une petite formule pour déterminer la prochaine année bissextile par rapport à la date du jour… 😋 TantQue ( [ _annee = Annee ( Obtenir ( DateActuelle ) ) ; _sortie = False ] ; _annee ≤ 4000 and not _sortie ; [ _annee = _annee + 1 ; _sortie = Jour ( Date ( 3 ; 0 ; _annee ) ) = 29 ] ; _annee )
    2 points
  6. Parce que les navigateurs n'acceptent plus qu'on redimensionne la fenêtre en javascript (et heureusement, c'était pénible).
    2 points
  7. Tu peux aussi utiliser une rubrique calcul qui ajoute des lettres devant l'ID suivant le type de document. l'ID restant utilisé pour les liens et l'Tx_ID pour la visualisation.
    1 point
  8. @Jérémie Gimenezme corrigera si je me trompe. Je pense que tu peux définir un identifiant unique "Cle_Ext_Societe_ID" (oui Jeremie me reprendra pour ma nomenclature hasardeuse), que tu lies, dans ta base de donné au champ "Société_ID" de ta table "Société". Je présume que tu n'as pas à renseigner manuellement ce nouveau champ dans un modèle "membre", mais plutôt faire appel à un menu déroulant qui te permet d'accéder à une société que tu as créée.
    1 point
  9. Pourquoi la rubrique Date est-elle dans client et non dans dossier ? Quand je veux «imprimer les «dossiers du jour : je vais dans un modèle basé sur dossier, je cherche dossier::date = Obtenir ( DateActuelle ) et j'imprime Quand je veux «attribuer une date de RDV pour un client possédant un ou plusieurs devis encore non facturés» : je vais dans la liste des devis, je cherche ceux qui sont non facturés pour ce client là et puis je renseigne leur date Si le gars a 3 dents à voir et qu'on veut faire les 3 le même jour, on renseigne 3 fois la date ; si on veut vraiment ne pas saisir
    1 point
  10. Matessias

    Saisie dans TE

    Super ! Merci !
    1 point
  11. Jérémie Gimenez

    Saisie dans TE

    Je renouvelle cette piste : En effet, c'est ce que tu as dans ton dernier message, bravo ! 🙂 Pour simplifier : Aller à Aller à l'objet [ la_table_externe ] Boucle Fin de boucle si [ $_la_variable = la_rubrique ] Activer rangée externe [ Suivante ; Sortie après dernière ] Fin de boucle Activer rubrique [ quantite ] L'action Fin de boucle si rend l'ensemble plus léger et surtout, elle permet qu'il y ait d'autres choses dans la suite du script, ce qui est parfois nécessaire… Bonne journée, Jérémie
    1 point
  12. Donc, si Monsieur X est venu, ce jour, pour faire soigner 3 dents, j'ai 3 devis déjà créés concernant chacun l'une des 3 dents. Je suis sur la fiche informatique du client "Monsieur X", dans une table externe, je vois les 3 devis qui lui sont reliés. Pour chaque devis, je clique sur le bouton "Impression finale" qui va me sortir les 2 documents cités ici : Au passage, chacun des devis passe en statut «facture imprimée», comme ça on pourra le griser ensuite. Est-ce que quelque chose coince dans ce procès ?
    1 point
  13. gpto

    Saisie dans TE

    moi je passe par des variables, je sélectionne la dernière ligne de la TE (donc je cree un nouvel enregistrement) puis je définis, par exemple; les rubriques nom du produit et tarif unitaire, et, comme je suis deja sur la rangée active, je fais juste un "activer rubrique quantité" pour positionner l'utilisateur sur la rubrique quantité du produit qu'il vient d'ajouter...
    1 point
  14. 1 point
  15. gpto

    Saisie dans TE

    on oublis souvent de se mettre à la place de l'utilisateur, bien sur que c'est evident qu'un article de facture sans quantité ou sans prix ca n'a pas de sens..... pour nous.... pour nous...... 🙂
    1 point
  16. gpto

    Saisie dans TE

    Salut Perso je préconise la boite de dialogue (ou un modele en "carte") demandant au gens de saisir l'info ca évite des scripts de sortie pour vérifier si il ne manque rien, des mises en forme conditionnelle pour montrer ou il manque quelque-chose, etc etc... +++
    1 point
  17. Matessias

    Saisie dans TE

    Ouais ! Que des idées géniales ! Super ! Merci ! Aux fourneaux !!!
    1 point
  18. Jérémie Gimenez

    Saisie dans TE

    Salut Mamy, J'aime bien le look bleu sur blanc de ton interface. A priori, dans $REF_code, tu as l'identifiant du produit (ou celui de la ligne de devis). Or, Activer rangée externe [] demande un numéro de ligne dans la TE. Plusieurs solution : entrer dans la TE puis boucler de ligne en ligne jusqu'à constater que la ligne sur laquelle on est vérifie bien la condition ID_machin = $REF_code, mieux : quand l'utilisateur clique sur la TE de gauche, choisissant un produit, lui demander tout de suite, par boîte de dialogue, la quantité requise. En complément, on p
    1 point
  19. OPERA

    Liens avec liste déroulante

    Bonsoir, si je peux me permettre, je ne suis pas très expérimenté, mais je pense qu’il faut créer une table avec des lignes de devis ou des visites. Chaque ligne représente l’intervention avec les informations voulues: patient, date, dent,....comme des lignes de factures. ce n’est qu’une idée😃
    1 point
  20. Oui, c'est tout à fait normal. Il ne faut pas "modifier la dent". Ce que tu cherches à faire c'est "désigner une des dents du patients" dans un endroit précis, ça n'est pas modifier la dent. Quel est cet endroit, où tu veux pouvoir sélectionner une des dents du gars ? Est-ce dans le devis ?
    1 point
  21. Merci à tous les deux pour vos explications et votre aide 😊 Dans mon cas, une fonction sensible à la casse ne me dérange pas car je filtre deux valeurs générées dynamiquement et strictement identiques (donc pas d'erreur possible). A vrai dire, je ne m'étais même pas rendu compte que la fonction de Jérémie était sensible à la casse 😂
    1 point
  22. Si cela peut te conforter, les développeurs rodés, on en est un peu au même point : avancer tout en découvrant et re-modifier ce qu'on a déjà fait, c'est le lot commun. Avec l'expérience, on canalise les choses et on se forge des habitudes, des repères…
    1 point
  23. Bon matin, Voilà 👌 Alors, dans la table Devis, il y a au moins 2 enregistrements, puisqu'on voit 2 ici : Et je dis bien "au moins" 2. Passer par une importation est une option, en l'occurrence, un peu recherchée. Spontanément, je ferais plutôt une création d'enregistrement via un lien avec l'option de création active. Si je comprends bien, on a un devis fait pour une dent, qui n'est pas encore répertoriée. Depuis Devis, il faut une occurrence de Dent nommée Devis_Dent_créée, avec le lien suivant : Devis::id_dent_créée = Devis_Dent_créée::id (avec l'opt
    1 point
  24. Bonsoir, Moi, je ne vois pas une colonne grisée, dans la version de gauche, mais une colonne vide parce qu'il y a 0 enregistrement à importer. NB : dans un import de FMP vers FMP, le jeu d'enregistrement source peut varier si la table est actuellement ouverte dans un modèle. Là, c'est parce qu'il y a 3 enregistrements à la source. Visiblement, à gauche et à droite, on va piocher dans la même table, mais elle n'est pas dans le même état de [jeu d'enregistrements trouvés dans une fenêtre]. Que sont les "chiffres d'ordre d'importation des rubriques" ?
    1 point
  25. Jacques R.

    Variable sur multi-évaluée

    Oui c'est cela. Le séparateur de valeur de la fonction Liste est un saut de ligne.
    1 point
  26. Jacques R.

    Variable sur multi-évaluée

    Bonjour et bonne année On peut aussi utiliser la formule de calcul : Substituer ( Liste ( MaRubriqueMultuvalué ) ; "¶" ; ", " ) & "."
    1 point
  27. attention que cette fonction (de @Jérémie Gimenez) est sensible à la casse.
    1 point
  28. cela dit, sur mon insistance lourde, ils ont fini par permettre l'ouverture du menu au clavier depuis la 15. (barre espace)
    1 point
  29. tu travailles sous Windows ? parce que je crois que depuis FileMaker 12 on ne peut plus ouvrir un menu déroulant par script en mac.
    1 point
  30. Hello, definir ( [ a = "ligne 1¶ligne 2 à supprimer¶ligne 3¶ligne 4 à virer" ; b = "suppr" ; c = "virer" ] ; FilterValues ( a ; Substitute ( a ; [ b ; "" ] ; [ c ; "" ] ) ) ) renvoie : ligne 1 ligne 3 Ca le fait pour toi ? Jérémie
    1 point
  31. Merci pour tes encouragements ! La prochaine est en cours d'écriture. C'est bien pensé, mais le lien dans ton fichier : … ne fait pas cela du tout. Vois-tu l'erreur ? L'exemple du livre de la bibliothèque devrait te guider à ce niveau. Dans la table Membres, il faut une rubrique ID_société, et c'est cette rubrique qui doit être reliée à Société::Société_ID Est-ce que cela t'aide ? Jérémie
    1 point
  32. OUI, j'ai vu ! C'est "Installer un script sur temporisation" dans le dossier "Contrôle" des actions de script !
    1 point
  33. Là, tu m'apprends encore une fois de nouvelles leçons ! "Ça mérite d'exister" comme tu dis !
    1 point
  34. En monoposte, pour déclencher une opération quotidiennement sans intervention humaine, on peut avoir un temporisation. Cela se fait avec "Mettre script sur temporisation", qui est une action de script. On peut régler la fréquence de répétition. Par exemple, on peut mettre 1 fois par heure, et au début du script déclenché chaque heure, on fait un test [ SI Heures ( ObtenirHeureActuelle ) > 18 AND global::date_dernier_envoi_commandes < Obtenir ( DateActuelle ) ] --> on continue le script. Ca nécessite que le fichier reste ouvert, et ça interrompt l'utilisateur s'il est en trai
    1 point
  35. Bonjour, J'ai testé, via un script depuis mon popover, la création d'enregistrements dans ma table externe (posée sur le popover) en ouvrant une nouvelle fenêtre, et en effet l'écran de départ ne bouge pas au retour, c'est parfait !
    1 point
  36. D'accord. Et l'équipe travaille aussi sans FMS ?
    1 point
  37. C'est l'occasion de t'habituer aux scripts serveurs (je pense que dans la console, ils ont un autre nom, "Programmes") C'est trucs-là servent principalement à : gérer les sauvegardes, traiter les besoins du genre «envoi quotidien des commandes en attentes», «envoi quotidien des relances de factures impayées», etc. C'est donc typiquement ton besoin ici. NB : tu sais ouvrir la console FMS, n'est-ce pas ?
    1 point
  38. Ceci correspond à l'esprit d'un script serveur, paramétrable depuis la console FMS. Cependant, avant de programmer ce script serveur, il faut que le script tout court fonctionne bien : collecter les "à commander" du jour, les répartir par fournisseur, concocter pour chaque fournisseur un mail (avec ou sans PDF lié), envoyer le mail, enregistrer dans FM le fait que la commande est partie (en principe), loguer les erreurs…
    1 point
  39. Bonjour et merci cher Jérémie, c’est ce que je fais mais les incréments sont trop forts. Encore merci
    1 point
  40. Salut Mamy, 1. Regrouper les commandes "à passer" par fournisseur pour les émettre en une seule fois en fin de journée, bonne idée ! Quelle est la question ? 2. FM Migration Tool (que je n'ai encore jamais eu l'occasion d'utiliser) Bon début de semaine, Jérémie
    1 point
  41. Je suppose donc que vous avez une table pour les bateaux et une table pour les remplissages et que ces tables sont liées par l'identifiant du bateau. Une rubrique calcul (ou nombre à autoentrée) dans la table Bateaux avec Somme des remplissages liés doit résoudre votre question.
    1 point
  42. Oui, c'est une bonne idée, je vais voir cela demain, sinon, je ne vais pas me prendre la tête et les laisser dans la base actuelle en les ignorants tout simplement. Merci pour ton aide, mais je creuserai ce problème export/import, car cela m'intrigue. Bonne soirée.
    1 point
  43. Bonjour, Sans aller jusqu'à utiliser un site web, je vous propose ces formules de calcul pour FileMaker : Definir ( _annee = 2026 ; // <- placer ici l'année à tester Jour ( Date ( 3 ; 0 ; _annee ) ) = 29 ) ou Jour ( Date ( 3 ; 0 ; année_à_tester ) ) = 29 Les deux formules retourne 1 (True) dans le cas d'une année bissextile ou 0 (False) dans le cas contraire.
    1 point
  44. Jérémie Gimenez

    Année Bissextile

    Une réponse attendue depuis 2006… 😉
    1 point
  45. Excusez le retard, mail Gmail m'a collé votre réponse en spam (c'est nouveau ça vient de sortir...). Après avoir vérifié, le résultat était "Texte". Je viens de le mettre en "Nombre". Merci pour vos lumières
    1 point
  46. Bonjour Pour connaitre les prochaines années bissextiles, il y a un outil sympas annee-bissextile.com. En tout cas la prochaine année bissextile est 2024 :)
    1 point
  47. Plus gros que le nez au milieu de la figure.... C'est ça !! Et comme souvent la solution est écrite sur la première ligne qu'on ne lit jamais. Cela m'aura fait réviser le reste. Meciiiii !!
    1 point
  48. Tu as raison, mais les flèches, c'est encore trop compliqué autant définir directement l'ordre du classement. Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12 Export4.fmp12
    1 point
  49. fabriceN

    Année Bissextile

    En même temps, comme FileMaker a un calendrier intégré, on peut aussi tester que l'évaluation de la date 29/2 de l'année en question est bien en février. Dans le cas contraire, on serait le 1/3. Après vérification, la formule suivante fonctionne : Mois ( Date ( 2; 29; anneeAtester )) = 2 et renvoie 1 pour les bissextiles, et 0 pour les autres. Ceci dit, je conviens parfaitement que c'est une occasion de ratée de se pencher sur la fonction MOD
    1 point
×
×
  • Create New...