Fmp, Script Ical
#1
Posté 20 septembre 2007 - 15:25
Voilà mon souci, je suis à la recherche d'un script qui me permetrait de créer un événement ical dans ical à partir d'une rubrique "date de fin" d'une de mes base le tout avec un nom defini dans un calendrier au choix de l'utilisateur....
J'ai bien pu faire une tache avec "Automator pour essayé d'exploiter un code mais impossible, pourtant c'est exactement ce qu'il me faut
Bref, si vous avez une idée
Merci
#2
Posté 20 septembre 2007 - 16:35
http://www.myfmbutle...dex.lasso?p=369
Développeur Certifié FileMaker 8, 9, 10, 11

Toute une gamme de services conçus spécialement pour les utilisateurs et développeurs FileMaker.
C2 QuickExpertise, quand le forum ne suffit plus : ne perdez plus des heures sur un problème !
1-more-tube, le premier (et seul ?) magazine vidéo en Français sur FileMaker.
mes fonctions perso sur FMfunctions.com
#3
Posté 20 septembre 2007 - 19:54
fabriceN, le 20/09/2007 - 17:35, dit :
http://www.myfmbutle...dex.lasso?p=369
Merci pour l'information mais malheureusement je ne sais pas quoi en faire d'autant que je souhaite juste créer un bouton me permettant de creer un evenement ical....
#4
Posté 20 septembre 2007 - 19:58
tell application "iCal"
tell calendar "Vacances_et_sl"
activate
make new event at end with properties {description:"Event Description", summary:"Event Name", location:"Event Location", start date:22 / 9 / 2007, allday event:true}
end tell
end tell
#5
Posté 21 septembre 2007 - 12:27
tell application "iCal"
---- création du clalendrier si il n'existe pas
set theAnswer to exists calendar "Fin de contrat"
if theAnswer is false then
create calendar with name "Fin de contrat"
end if
---- création de l'évènement
tell calendar "Fin de MAD"
activate
switch view to month view
set theDate to (current date) + 365 * days
set TheEvent to make new event at end with properties {description:"Event Description", summary:"Event Name", location:"Event Location", start date:theDate, allday event:true, status:confirmed}
---- Définition de la variable date d'alarme
set theAlarmedate to (theDate) - 15 * days
tell TheEvent
make display alarm at end with properties {trigger date:theAlarmedate}
make new mail alarm at end with properties {trigger date:theAlarmedate}
end tell
show TheEvent
end tell
end tell
#6
Posté 21 septembre 2007 - 17:07
fmontant, le 21/09/2007 - 13:27, dit :
Bonjour,
...un petit exemple de comment l'implémenter dans FMP et de la méthode de coercition des dates dans Applescript.
iCal_AddEvent.fp7 (172 Ko)
Nombre de téléchargements : 280
update
A toutes fins utiles; Olivier (merci m'sieur!) à créé un nouveau forum dédié et baptisé "Commandes Externes" (AS, Shell, VBS, VBA...)

Clement Hoffmann aka clem
Certified "Do-it-yourself" developer.
#7
Posté 22 septembre 2007 - 14:56
#8
Posté 22 septembre 2007 - 16:37
Je ne sais pas pour vous, mais pour moi, la coercition des dates dans Applescript, je trouve ça plein de poésie !
Allez Clément, un petit effort encore… il manque encore quelques petits fichiers qui devraient s'appeler iCal_ModifyEvent, iCal_DeleteEvent… Car enfin pourquoi se priver d'iCal quand on est sur Mac ?
Encore Bravo,
Francis
Mac OS X.6 FM 8-9-10
#9
Posté 24 septembre 2007 - 13:38
Par avance merci
Fabrice
#10
Posté 24 septembre 2007 - 13:55
fmontant, le 24/09/2007 - 14:38, dit :
Fabrice
Tu es sur Mac et tu télécharge le fichier depuis Safari ? C'est bien ça ?
En fait pour une raison inconnue, Safari ajoute l'extension .zip
Il te suffit de supprimer celle-ci, le Finder te demanderas de confirmer que tu veux bien utiliser .fp7 et le tour est joué.
#12
Posté 16 octobre 2007 - 10:03
Par avance merci
Fabrice
#13
Posté 16 octobre 2007 - 15:43
Fabrice
#14
Posté 16 mai 2008 - 09:13
#15
Posté 17 mai 2008 - 15:13
si j'ai bien compris tu souhaites récupérer le script? Je me suis posé la même question, et j'ai trouvé…le voilà :
"---------------------------------------------------------------------- On récupére dans des variables AS les valeurs des rubriques FMP" & ¶ &
"set myCal to get data of cell \"TASKS::Calendrier\" of current record" & ¶ &
"set myEvent to get data of cell \"TASKS::Evenement\"" & ¶ &
"set myDescription to get data of cell \"TASKS::Event_Description\"" & ¶ &
"--" & ¶ &
"set mySDate to get data of cell \"TASKS::Event_DateDebut\"" & ¶ &
"set mySTime to get data of cell \"TASKS::Event_HeureDebut\"" & ¶ &
"--" & ¶ &
"set myEDate to get data of cell \"TASKS::Event_DateFin\"" & ¶ &
"set myETime to get data of cell \"TASKS::Event_HeureFin\"" & ¶ &
"--" & ¶ &
"set myISAllDay to (get data of cell \"TASKS::Journalier\" of current record) as number as boolean" & ¶ &
"---------------------------------------------------------------------- Coercition en «class date» de la Date de Début" & ¶ &
"try" & ¶ &
" set mySDT to date (mySDate & \" \" & mySTime)" & ¶ &
"on error errtxt number errnum" & ¶ &
" display alert errtxt message errnum" & ¶ &
" return" & ¶ &
"end try" & ¶ &
"---------------------------------------------------------------------- Coercition en «class date» de la Date de Fin" & ¶ &
"try" & ¶ &
" set myEDT to date (myEDate & \" \" & myETime)" & ¶ &
"on error" & ¶ &
" -- si la cercition echoue par manque de donnée dans FMP, on rajoute 1 h à la date de début" & ¶ &
" set myEDT to mySDT + (1 * hours)" & ¶ &
"end try" & ¶ &
"---------------------------------------------------------------------- Execution dans iCal !" & ¶ &
"tell application \"iCal\"" & ¶ &
" set l to every calendar's name" & ¶ &
" if myCal is not in l then" & ¶ &
" set n to uid of (make new calendar with properties {name:myCal})" & ¶ &
" end if" & ¶ &
" tell calendar myCal" & ¶ &
" set new_event to make new event at end of events with properties ¬" & ¶ &
" {description:myDescription ¬" & ¶ &
" , summary:myEvent ¬" & ¶ &
" , start date:mySDT ¬" & ¶ &
" , end date:myEDT ¬" & ¶ &
" , allday event:myISAllDay}" & ¶ &
" " & ¶ &
" set myAlarm to mySDT - 10 * days" & ¶ &
" set myMailAlarm to mySDT - 3 * days" & ¶ &
" tell new_event" & ¶ &
" activate" & ¶ &
" make display alarm at end with properties {trigger date:myAlarm}" & ¶ &
" make new mail alarm at end with properties {trigger date:myMailAlarm}" & ¶ &
" show new_event" & ¶ &
" end tell" & ¶ &
" end tell" & ¶ &
"end tell"En espérant que c'est ca que tu voulais!
#16
Posté 19 mai 2008 - 13:14
Toutefois j'ai l'impression que sa beugue et je n'arrive pas à l'adapter à ma table.
#17
Posté 19 mai 2008 - 14:16
Macjim, le 19/05/2008 - 14:14, dit :
bonjour,
Il est vrai que "trop d'infos tue l'info!!"
Mais là, avec autant d'informations on ne pourra pas vraiment t'aider

Clement Hoffmann aka clem
Certified "Do-it-yourself" developer.
#18
Posté 19 mai 2008 - 14:40
En fait, sa ne beugue plus comme je disais.
Je m'explique sa peut servir.
Jusqu'a maintenant, lorsque je créais un nouvel enregistrement, j'étais dans l'impossibilité de l'exporter dans ICal. en effet, FM m'exportait l'ancien enregistrement.
Pour ce il faut lui faire un pti script : supprimer tous les enregistrements (en enlevant la boite de dialogue) et Nouvel enregistrement.
Le tour est joué
Jusque la tout va bien.
Ce dont j'ai du mal :
j'ai une table "prospect", avec les rubriques suivantes:
"A_relancer" qui correspond à evenement
"technicien_relance" qui correspond au nom de calendrier
"Date"
"heure_event"
"remarques"
Je joint mon fichier pour que ce soit plus clair.
Après avoir créer mon bouton et associer lequel script est concerné, je clique et rien ne se passe.
Mystère
Fichier(s) joint(s)
-
Clich___2008_05_19_15_38_28.tiff (232,53 Ko)
Nombre de téléchargements : 37
#19
Posté 20 mai 2008 - 10:12
Macjim, le 19/05/2008 - 15:40, dit :
Pour ce il faut lui faire un pti script : supprimer tous les enregistrements (en enlevant la boite de dialogue) et Nouvel enregistrement.
Le tour est joué
...mouais,
le script initial de l'exemple ne s'articulait que sur une fiche... pour étendre l'acquisition des données à la fiche en cours il suffit de modifier le script ajoutant la propriété "current record".
"tell current record" & ¶ & "set myCal to \"" & TASKS::Calendrier & "\"¶" & "set myEvent to \"" & TASKS::Evenement & "\"¶" & ... etc ... "set myISAllDay to (\"" & TASKS::Journalier & "\") as number as boolean¶" & "end tell" & ¶ & ... etc... ce qui rend la phase préventive de suppression/création totalement inutile.
Si cette propriété n'est pas stipulée, AppleScript prendra toujours sa source dans le premier enregistrement de la table en cours ...
Citation
(...)
Je joint mon fichier pour que ce soit plus clair.
Personnellement, j'éprouve également quelques difficultés avec le fichier joint... je vois de la lumière noire

Clement Hoffmann aka clem
Certified "Do-it-yourself" developer.
Partager ce sujet :
Développement FileMaker. Formation FileMaker. Hébergement FileMaker. Le blog FileMaker. Vente de licences FileMaker. Conférence FileMaker. Forum FileMaker. FileMaker resources

Aide



















