Jump to content

Clem

Membres
  • Content Count

    3910
  • Joined

  • Last visited

  • Days Won

    97

Clem last won the day on August 4

Clem had the most liked content!

About Clem

  • Rank
    3200
  • Birthday 07/09/1956

Contact Methods

  • AIM
    clemhoff9756
  • Skype
    clemhoff

Profile Information

  • Gender
    Homme
  • Location
    Alsacistan

FileMaker Profile

  • FM
    FMPA 17, iOS Antic
  • OS
    OSX 10.13.4 | Win 7.x, 10.x
  • Claris Partner
    --Non membre--

Recent Profile Visitors

29059 profile views
  1. Bonjour, Passer la rubrique en Entrée auto. par Résultat de calcul avec SupprimerFormatTexte ( Contenu ) détend en général
  2. Parce qu'un bouton auquel on applique un format conditionnel suffit.
  3. Merci Clem

     

    Bonne journée

    Michel

  4. Bonjour, un exemple à décortiquer … RecapCouleurs.fmp12
  5. Clem

    Code qr

    une autre solution tout à fait temporaire, car l'API Google Chart utilisée dans le document joint est déclarée obsolète depuis belle lurette… QRCode-Get.fmp12
  6. Clem

    Code qr

    Bonjour, Sans connexion web, un webviewer et une librairie Javascript peuvent remplir le travail. Il y a aussi le plug-in gratuit "ScriptMaster" et l'API développée par Google "zxing" fqui font également l'affaire. J'en avais posté il y a bien longtemps un fichier d'exemple , mais je n'ai trouvé que celui permettant de lire un QRCode. Le script Groovy utilisé pour écrire un QRCode avec zxing RegisterGroovy( "zxing_QRCodeWrite( fmString ; fmOut ; fmECL )" ; "/**¶ * * zxing_QRCodeWrite ( fmString ; fmOut ; fmECL )¶ * by clem 2012-11-27¶ * Génère une image PNG représentant un QRCode.¶ * fmString : les données¶ * fmOut : le chemin ( format système) de sortie du document¶ * fmECL : lniveau de capacité de correction d'erreur (L, M, H, Q)¶ * **/¶ ¶ import com.google.zxing.BarcodeFormat¶ import com.google.zxing.EncodeHintType¶ import com.google.zxing.WriterException¶ import com.google.zxing.client.j2se.MatrixToImageWriter¶ import com.google.zxing.qrcode.QRCodeWriter¶ import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel¶ ¶ import java.awt.image.BufferedImage¶ ¶ hints = new Hashtable() // new Hashtable<EncodeHintType, Object>()¶ ¶ switch (fmECL?.toUpperCase()) { // L=7% , M=15%, H=25%, Q=30%¶ case \"L\" : hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);break¶ case \"M\" : hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);break¶ case \"H\" : hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);break¶ case \"Q\" : hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.Q);break¶ default: hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L)¶ }¶ hints.put(EncodeHintType.CHARACTER_SET, \"UTF-8\") // UTF-8, ISO-8859-1, Shift_JIS¶ // Now with zxing version 3.2.1 you could change border size (white border size to just 1)¶ hints.put(EncodeHintType.MARGIN, 4); /* default = 4 */¶ ¶ def writer = new QRCodeWriter()¶ try{¶ bitMatrix = writer.encode(fmString, BarcodeFormat.QR_CODE, 300 , 300, hints)¶ ¶ if (fmOut == null) {¶ BufferedImage image = MatrixToImageWriter.toBufferedImage(bitMatrix)¶ return image¶ } else {¶ file = new File(fmOut)¶ if (file.name.lastIndexOf('.') == -1) {¶ return ( println (\"Error: Please provide a filename with extension\") )¶ }¶ ext = file.name.tokenize('.').last().toString()¶ MatrixToImageWriter.writeToFile bitMatrix, ext, file¶ return true¶ }¶ } catch (WriterException e){¶ return \"ERROR: $e.message\"¶ } catch (IOException e){¶ println \"ERROR: $e.message\"¶ }"; "isGui=false" )
  7. Effectivement "PrinterSwitch" n'est plus compatible avec FMP v.18 et ultérieur, ni avec aucune version FMP sous MacOS 10.15 Si ton environnement et le contexte d'utilisation te le permettent, tu pourrais éventuellement utiliser la commande "Executer AppleScript" et appeler via Terminal les différentes commandes utiles aux paramétrages d'imprimantes (ex: lpstat, lpoptions, lpadmin, etc…)
  8. Oui, oui, clair. Mais , si un an plus tard, tu crées le même jour de l'année une fiche, tu obtiendras le même nombre et alors bye bye l'unicité ! De même si tu crées une deuxième fiche le même jour. etc… etc… Et savais-tu qu'aujourdh'ui était le 200ème de l'année ? Te souviendras-tu lors d'une recherche à quel JourAnnee() tu auras créé la fiche/note? Désolé pas moi. Pour sérialiser un identifiant il existe beaucoup de méthodes. Les unes stables et fiables, d'autres pas du tout. A mon sens, celle mise en place par défaut par FM/Claris et qui utilise les fonctions Obtenir ( UUID ) ou Obtenir ( UUIDnombre ) sont de bonnes stratégies/solutions qui permettent d'obtenir (à quelques très rares exceptions prêt) l'unicité très probable d'un identifiant. SI c'est un repère dans le temps que tu cherches, pourquoi ne pas utiliser (en plus de l'UUID) et dans une autre rubrique l'horodatage (formulé au format ISO par ex.) de la création de l'enregistrement/fiche/note.
  9. Une rubrique de type date ayant une Entrée automatique par résultat de calcul utilisant le calcul : JourAnnee ( Obtenir ( DateActuelle ) ) et garder la case "Ne pas remplacer val. existante………" cochée ; ce qui aura pour effet de rentrer le numero du jour de l'année en cours lors de la création d'un nouvel enregistrement. Mais quelle est l'utilité de ce nombre ???
  10. Mac OS 10.8 (Mountain Lion) … et ta version de FMP ?? Sous FMP 17/18 (mais la procédure doit être à peu près la même pour des versions antérieures )… Pour ne pas afficher la date d'une rubrique Horodatage… En mode Modèle, sélectionne ta rubrique contenant l'horodatage , affiche l'inspecteur et sélectionne l'onglet "Donnée" (le dernier). Au bas de cet onglet, dans "Formatage des données", sélectionne l’icône "Calendrier", dans le menu déroulant "Format" sélectionne "P.ersonnalisé", puis attribue la valeur 'Aucun' aux 8 élements constituant la date. passe ensuite à l'icône "Heure" et personnalise le format de l'heure selon l'un des choix de formats proposés.
  11. Peut-être en modifiant la liste de valeur de valeurs "Clients" en affichant l'ID ET en aussi le Nom (2ème rubrique), et également sélectionner l'option "Afficher uniq. les valeurs de la 2ème rubrique" (Nom). Puis sur ton modèle, supprime la liste de valeur attribuée à TIERS | FACTURES::Nom , applique le style de contrôle Liste déroulante -> liste valeurs Clients à la rubrique ID . Puis superpose les deux rubriques et rend la rubrique nom inaccessible. essai.fmp12
  12. En partant du principe que les jours de WE sont les samedi et les dimanche… Si ( ( dateDeb And dateFin ) And ( dateFin >= dateDeb ) ; Definir ( [ dd = dateDeb + Position ( "17" ; JourSemaine ( dateDeb ) ; 1 ; 1 ) ; df = dateFin - Position ( "71" ; JourSemaine ( dateFin ) ; 1 ; 1 ) ; joursOuvres = Plancher ( ( df - dd ) / 7 ) * 5 + ( JourSemaine ( df ) - JourSemaine ( dd ) ) + Si( JourSemaine ( dd ) > JourSemaine ( df ) ; 5 ) + 1 ]; joursOuvres * taux / 100 ) // fin Definir ) // fin Si La fonction JourSemaine ( date ) retourne 7 pour samedi , 1 pour dimanche, 2 pour lundi, etc… dd = dateDeb + Position ( "17" ; JourSemaine ( dateDeb ) ; 1 ; 1 ) // si la date de début est un dimanche ou un samedi, on ajoute (selon la position dans "17" du jour de la semaine ) le nombre 1 ou 2 à la date de début pour ramener la date au lundi suivant la date de début. df = dateFin - Position ( "71" ; JourSemaine ( dateFin ) ; 1 ; 1 ) // si la date de fin est un samedi ou un dimanche, on retranche (selon la position dans "71" du jour de la semaine ) le nombre 1 ou 2 à la date de fin pour ramener la date au vendredi de la date de fin. Ces deux dates 'corrigées' permettent de calculer le nombre de semaines entières hors w-e. contenues dans cet intervalle de dates => Plancher ( ( df - dd ) / 7 ) * 5 Auquel nombre on ajoute la différence ( JourSemaine ( df ) - JourSemaine ( dd ) ) que l'on corrige en ajoutant 5 si le JourSemaine ( dd ) > JourSemaine ( df ) => joursOuvres = Plancher ( ( df - dd ) / 7 ) * 5 + ( JourSemaine ( df ) - JourSemaine ( dd ) ) + Si ( JourSemaine ( dd ) > JourSemaine ( df ) ; 5 ) + 1 Pour la réflexion à suivre que je subodore concernant les jours fériés helvètes (… et ne tombant pas un w-e…) que je ne connais pas, ni son code du travail, je te laisse les additionner et les soustraire aux jours ouvrés vacances.fmp12
×
×
  • Create New...