Jump to content

Bertrand (Fr)

Membres
  • Content Count

    184
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Bertrand (Fr)

  1. J'utilise sans problème FMP15, 16 et 17 sur le même système. De moins en moins la version 15. Couramment je développe en FMP17 mais je compile toutes mes solutions en FMP16, il me semble de Mojave est plus "serré" en terme de sécurité et nécessite de signer les fichiers Runtime pour fonctionner. Si deux instances différentes de FMP sont en exécution, une solution sera ouverte dans l'instance par défaut de la solution. Si une solution est ouverte par défaut par FMPn, elle sera toujours ouverte par l'instance FMPn.
  2. Pour une telle application, il faut au minimum un fichier, soit une base de données, on peut travailler avec deux. Dans cette base de données, il faut au minimum : 1 table clients 1 table articles 1 table corps de facture 1 table lignes de facture Créer un lien entre Client/Corps de facture, un lien entre Corps de facture/Ligne de facture et un lien entre Ligne de facture/Article Après créer des listes de valeurs au moins 2. Une liste pour choisir dans le corps de facture un client, une lite pour choisir dans la ligne de facture un article. On copie par référence, c'est à dire par copie simple, les données du client dans le corps de facture et par référence les données d'un article dans une ligne de facture. Une fois la structure de cette base bien définie, on peut travailler. Attention, ceci est le minimum, après il y a un peu de travail pour les rubriques à calculer et la présentation et l'édition.
  3. Il faut que tu bâtisse un script qui permette de compter un nombre d'exécutions ou un nombre de jours et force le logiciel à quitter en cas de dépassement. Une petite table protégée pour contenir la valeur de la date de départ ou le nombre d'exécution. Après quand l'utilisateur achète ta solution, tu lui vends une solution personnalisée en dur avec un nom, un numéro siret, un numéro de série que tu demandes au moment de personnaliser la solution. Il y a plein de solutions, la solution qui consistait dans le temps de se servir de l'adresse MAC de l'appareil ne fonctionne plus.
  4. Ça permet de mettre une valeur par défaut. C'est courant d'avoir un rubrique ayant une valeur plus probable qu'une autre : exemple un client peut-être plutôt de nationalité française sur un site de vente Français, ou une voiture chez UBER noire car dans plus de 90% des cas c'est la couleur de la voiture qui se présente.
  5. Personnellement, j'ai abandonné l'exécution de FMP en dessous de 12 sur un MacBook Pro 15" sous Sierra. Chez moi FMP11 plante de temps en temps, trop souvent, mais vit très bien sur MacBook Air en 10.11.6.
  6. Bonjour Armelle Les cartes sont un nouveau type de fenêtres apparues en FM P 16. Cela s'apparente à une fenêtre modale mais elle dépend toujours d'une fenêtre "parente" et vient s'y superposer. Tu trouveras cette possibilité dans le nouveau dialogue de création d'une nouvelle fenêtre en FMP Adv 16. J'utiliserai pour résoudre ton problème soit une table qui contienne en guise de rubriques des multivaluées soit plusieurs tables correspondant à chaque liste avec autant d'enregistrements que de valeurs. Dans une solution avec séparation des données et de l'application, ces tables étant propres à l'utilisateur sont à placer dans la base Données de l'utilisateur. Avec ElementsLiteValeurs ( NomFichier ; ListesValeurs), tu peux récupérer une multivaluée correspondant au contenu de la liste. Après soit tu recopies tel que dans une rubrique d'une table, soit tu découpes en morceau pour mettre à jour les enregistrements d'une table.
  7. On doit par script pouvoir sauvegarder les listes de valeurs dans une table dédiée à chaque liste ou dans des multivaluées et les mettre dans la sauvegarde. Dans la copie compactée, il n'y a pas les listes de valeurs ? Ce serait étonnant si elles n'y étaient pas. FM 16 permet maintenant la copie de listes de valeurs d'une base à une autre en tout cas. Je n'ai pas regardé si c'était possible par script, mais il doit exister un moyen simple de le faire. Il y a un ou plusieurs utilisateurs ? Personnellement, je mets toujours les listes dans des tables, ce qui permet entre autre de les traduire en traduisant les tables. Les utilisateurs doivent ajouter des éléments dans les tables eux-mêmes, je mets un bouton + à leur disposition au cas où et avec les boutons popover, ou les cartes c'est encore plus naturel maintenant.
  8. EGC, en utilisant une liste virtuelle, tu peux constituer tes tris avant de constituer le contenu de ta liste. Exemple = tri de contacts par pays, puis par ville, puis par nom et par prénom. Une fois tes enregistrements triés, tu extrais ceux d'un pays pour constituer une liste avec comme indication 1 ) ville n° contact , 2 ) ville nom n° contact ou 3 ) ville nom prénom n° contact. Avec une liste virtuelle, c'est extrêmement simple à gérer. Tu n'as qu'une seule liste de valeurs à gérer, celle basée sur la liste virtuelle. Tu peux récupérer l'enregistrement contact sélectionné en prenant le n° de contact dans la valeur sélectionnée. J'utilise cette technique pour calculer par exemple la liste des 20 lundis suivants, le calcul tient en trois ou quatre lignes de script. Le principe consiste à créer une chaine de caractères globale $$Virtual_list contenant tous les éléments séparés par des "¶" et dans l'ordre où on veut les voir apparaître. Ensuite de créer une table Virtual_List en deux rubriques, l'une Value étant la valeur N de la liste, ObtenirValeur ( $$Virtual_list; recordnumber), non mémorisée, l'autre recordnumber étant renseignée par défaut de 1 à N. En comptant par DecompteValeurs ( $$Virtual_list) on peut tailler la table Virtual_List au nombre d'enregistrements nécessaires. Il suffit alors de définir une liste de valeur basée sur la table Virtual_List et de prendre en compte les deux rubriques et de laisser le tri sur la première rubrique qui sera toujours ascendant. Ça fonctionne très bien pour faire des listes très dynamiques et surtout contenant plus d'une rubrique ou des rubriques provenant de plusieurs tables. On peut imaginer de n'avoir que des listes de ce genre dans une application, reste à bien connaître le nombre de liste maximum présentes dans un seul modèle. On peut même constituer les listes d'un même modèle au fur et à mesure des choix fait dans d'autre rubriques, très pratique pour faire des listes de cases à cocher ou d'options à géométrie variable. Après la méthode d'affichage et de choix est selon votre bon désir.
  9. J'ai vu un truc qui s'appelle les listes virtuelles qui permettent pas mal de libertés. Je commence à l'utiliser, cela me permet de constituer à partir de plusieurs rubriques des listes de valeurs plus sophistiquées. Mettre par exemple un index, un nom, un prénom et une date dans la liste de choix. Remplacer dans des dialogues une saisie par liste sans avoir créé une liste spéciale pour cette rubrique. Peut-être une solution qui fonctionne mieux avec le webdirect ?
  10. un exemple très simple joint AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip AdresseCodePostal.fmp12.zip
  11. On peut aussi lier les deux tables. Le premier choix permettra de limiter le choix dans la deuxième liste. Pour la liste déroulante on peut préciser des valeurs en "dur" ou des valeurs venant d'une autre table. Quand on choisit d'afficher 2 informations dans une liste déroulante, c'est celle qui est affichée en premier qui se retrouve dans la rubrique correspondante Il existe pléthore d'exemples sur le Net.
  12. C'est tout à fait ce que je pense aussi mais je n'ai pas le verbe aussi élégant que notre ami Arch-Info. Je suis en train de me poser cette question est-ce que je renvoie mes clients vers EBP ou Sage ou un autre éditeur ou est-ce que je prend le risque ? Je me suis fait arnaquer par INFOCERT qui sous prétexte de vendre une formation vend pour 720 € une journée de publicité et de justifications de la norme NF525 qu'ils ont mis en place avec le fisc. Le deal est sympa pour eux : certification d'un logiciel ≈ 6 000 € et des mois de travail pour l'éditeur, puis ≈ 1 500 € pour chaque nouvelle version sachant que le fisc changeant d'idée tous les ans, c'est une rentrée assurée pour eux. En tout cas ils m'ont assuré qu'ils avaient eux-mêmes suggéré au fisc de faire des contrôles dès le 2 janvier 2018 pour montrer que l'application de la loi ne serait pas une plaisanterie. D'un autre côté si les éditeurs avaient joué le jeu dès 2012 et 2014 quand le fisc avait déjà sorti les crocs, on en serait pas là avec une loi qui va donner toute latitude à ces organismes (INFOCERT, le fisc) pour gagner encore plus d'argent.
  13. Merci dwikstroem pour ta réponse. Je m'attends à ce type de solution et là j'ai peur Je suis de la vieille garde et tout ce qui est né après Pascal (le langage) m'est complètement hermétique. Je n'arrive pas à m'habituer à l'écriture tordue du langage C, donc JavaScript m'est aussi très étranger. Le style d'écriture du script FileMaker (même s'il y manque des fonctions de structure) me convient très bien, proche du Basic ou du Pascal, je reste allergique au i++ == %. Je vais néanmoins regarder de près les liens que tu me proposes. Merci
  14. Je réactive ce post car je viens de constater avec horreur que les plug-ins n'étaient pas supportés par FileMaker Go. J'avais trouvé grâce à vos conseils un plug-in gratuit qui permet de fournir les fonctions de cryptage ECDSA. Si sur Mac ou Windows, ces plug-ins sont utilisables, ils sont ignorés sur iPhone et iPad et je pense aussi sur le Web. Me voilà bien dans la panade. La seule solution qui me reste est de créer à partir des algorithmes de base des fonctions personnalisées qui calculent des PGCD et bricolent les données pour créer des données cryptées à partir de clef publique et clef privée. J'ai les procédures et sous-procédures écrites en Phyton, il faut que je les traduise avec des fonctions FileMaker. L'autre solution est de trouver un système suffisamment solide pour éviter que l'on bricole des données après leur saisie.
  15. Ok, maintenant que je sais à quoi ça sert et ce que tu veux, on peut essayer de réfléchir plus en détail. Il faudrait dans ta liste que tu ais au moins deux rubriques de plus : date création, date changement. Tu pourrais ainsi faire des sélections plus serrées par tranche d'âge pour réduire ta liste et afficher ensuite les bons renseignements. Une sélection à faire dans le lien entre tes deux tables.
  16. Pour une liste complète des pays avec leur codes, voir ici : http://sql.sh/514-liste-pays-csv-xml
  17. Il suffit de choisir dans la définition de la rubrique des saisie liste déroulante ou menu déroulant. Ensuite créer une nouvelle liste et choisir "Utiliser les valeurs de : Rubriques...". Ensuite choisir la table et ta rubrique actuel. Il existe des listes toutes faites sur le site de l'INSEE de tous les pays du monde.
  18. Bonjour Rodolf Je suis trop cartésien, pour mon petit cerveau, un mot est un mot, une liste, une suite de mots. Pour moi deux entités de nature différente. Si ça marche comme ça tant mieux mais ça ressemble plus à une recherche d'occurence que d'égalité stricte.
  19. Bonjour Puimoisson04 Bizarre cette valeur calculée pour LienCible : 1 & "¶" & Marque & "¶" & "Moteur" & "¶" & "Couleur". Il n'y a pas des guillemets en trop pour Moteur et Couleur ? Je suis étonné que cela fonctionne, le principe d'égalité me semble bizarrement respecté dans les liens. Comment 1 mot peut-il être égal à une liste de 4 mots séparés par des saut de lignes ? Ça dépasse l'entendement ou alors je n'ai rien compris.
  20. Pour la question 1, nous ne connaissons pas d'autre solution. Soit tu affiches à côté le contenu et tu vois la vraie valeur de la rubrique, soit tu la poses par dessus pour la cacher. En terme de taille occupée sur disque et en mémoire, il vaut mieux avoir le chiffre 1 (1 octet) dans une rubrique que le texte "Mademoiselle" par exemple (12 ou 13 octets). Quand tu utilises la base dans un pensionnat de jeunes filles, s'il n'y en a ne serait-ce que 1 000 enregistrées dans la base, tu économises 11 900 (12 * 1 000) -100 ou 12 900 (13*1 000)-100 octets. Pour la question 2, j'essaye de te trouver un exemple où j'ai utilisé ça pour te montrer.
  21. J'ai fouillé un peu plus et j'ai trouvé une anomalie dans la table Client. Il faut que tu libères momentanément la modification à la saisie pour re-numéroter tes enregistrements de 1 à 2, il y a 2 fois le N° 2. Après tu peux bloquer de nouveau. Tu peux aussi faire apparaître dans chaque modèle l'identifiant unique, ce peut être utile pour se référer à un projet ou une information. En général, je le place moi-même dans la barre en haut si elle n'est pas complètement obstruée par d'autres informations. Tu pourras faire la même chose dans chaque modèle. Ça fait dix ans que je travaille sur FileMaker, j'en apprends aussi presque tous les jours
  22. Une petite copie d'écran pour te montrer pour la question 1, voir image jointe. Faire ensuite glisser cette rubrique sur la rubrique de saisie qui affiche le "fk_client", elle doit juste laisser apparaître à droite la flèche pour que l'on puisse activer la rubrique en dessous et faire apparaître la liste de choix. Faire de même pour les trois zones et essayer.
×
×
  • Create New...