Fmp, Script Ical
#41
Posté 14 janvier 2009 - 15:24
(myEventList's item 1) as calendar, ça donne une erreur
Impossible de transformer «class wrev» 39 of «class wres» 19 of application "iCal" en type «class wres»
a défaut de trouver une solution à mon message précédent, y a t il un moyen d'intercepter sous forme de texte le message
d'erreur, il y a dedans le foutu 19 que je veux récuperer ( c'est le numéro de l'agenda)
#42
Posté 14 janvier 2009 - 16:11
tu cherches précisément à faire ou a obtenir quoi ?
tes messages sont tellement décousus et si pauvres d'exemples (et de retours de résultats AS) qu'il est bien difficile de t'aiguiller.
et puis, ne dépasse-t-on pas avec ta question le cadre initial du sujet ? Ne serait-il pas plus préférable d'ouvrir un nouveau sujet ?

Clement Hoffmann aka clem
Certified "Do-it-yourself" developer.
#43
Posté 14 janvier 2009 - 16:37
Avec ton script modifié, j'arrive très bien à récupérer pour un event donné toutes les modification de ses propriétés ( liées à des manip dans ical sur cet event)
( par rapport à ton script myEventList ne contient par construction qu'un seul event )
dans l'exemple donné précédement myEventList contient {event 39 of calendar 19 of application "iCal"}
l'event associé de myEventList item 1 renvoie event 39 dont je peux récupérer les propriétes.
Par contre je voudrais aussi récupérer que l'event aurait été déplacé dans un autre calendrier
(dans la pratique l'event généré par File Maker va dans un calendrier A Faire, et quand l'utilisteur de ical a traité le sujet il le déplace dans un calendrier Fait
Et la je bloque.
Je n'arrive pas à récupérer le calendrier d'un event défini, je vois bien que c'est le 19, et que la propriété de "calendrier 19" est le bon truc.
MAis je n'arrive pas à récupérer l'info
ni en passant une commande sur l'event ( event 19 ici)
Ni en récupérant sous forme texte MyEventList
( c'est là que si je passe la commande log ((myEventList's item 1) as string) que j'ai le message
Impossible de transformer «class wrev» 39 of «class wres» 19 of application "iCal" en type «class wres»
( pour info "class wres" tapé dans script editor ça compile en agenda)
si je fais log (myEventList's item 1) je ne récupère que event 39
c'est plus clair
Ni en essayant de récupérer sous forme texte l'erreur ( je sais d'ailleurs pas si c'est possible)
#44
Posté 19 juillet 2010 - 23:16
.../...
Et la je bloque.
Je n'arrive pas à récupérer le calendrier d'un event défini, je vois bien que c'est le 19, et que la propriété de "calendrier 19" est le bon truc.
MAis je n'arrive pas à récupérer l'info
ni en passant une commande sur l'event ( event 19 ici)
Ni en récupérant sous forme texte MyEventList
( c'est là que si je passe la commande log ((myEventList's item 1) as string) que j'ai le message
Impossible de transformer «class wrev» 39 of «class wres» 19 of application "iCal" en type «class wres»
( pour info "class wres" tapé dans script editor ça compile en agenda)
si je fais log (myEventList's item 1) je ne récupère que event 39
c'est plus clair
Ni en essayant de récupérer sous forme texte l'erreur ( je sais d'ailleurs pas si c'est possible)
J'arrive sur le même problème.
Tu as pu progresser depuis ?
D'avance merci
#45
Posté 20 juillet 2010 - 10:04
Je crois que le but était de récupérer le nom du nouveau calendrier.
Possible que le debut de ce truc réponde à la question ? Apparemment à la fin, j'alimente bien file maker pour le mettre à jour après une manip dans ical.
Désolé de pas avoir le temps d'approfondir .
Bon courage
"-- L'identifiant ne doit ici contenir aucun espace et n'est constitué que de caractères alphanumériques."& ¶ &
"-- pourquoi pas besoin de tell current record ? par defaut ?"& ¶ &
"set myDescriptionRequest to \""&CampagneRecouvDetail2::Pointeur&"\" "& ¶ &
"---------------------------------------------------------------------- Execution dans iCal !" & ¶ &
"tell application \"Ical\""&Si(MotsDebut ( $remote;1)=Obtenir ( NomUtilisateur );"" ; " of machine \"eppc://"&$remote&"\"")&¶ &
/* $remote contient le script pour un apple event distant, généré par script pour la session*/
" -- Initialisation des variables liste"& ¶ &
" set FilterByCalendar to {}"& ¶ &
" set AllCalendars to every calendar"& ¶ &
" -- Requête menée sur la DESCRIPTION de tous les EVENT de l'ensemble des CALENDRIERS."& ¶ &
" set FoundByCalendar to every event of every calendar whose description contains myDescriptionRequest"& ¶ &
" --On recupere le nom de l'agenda dans v3 "& ¶ &
" repeat with i from 1 to (count FoundByCalendar)"& ¶ &
" if FoundByCalendar's item i is not missing value then exit repeat"& ¶ &
" end repeat"& ¶ &
" set v1 to name of calendar i"& ¶ &
" set calendarprop to properties of calendar i"& ¶ &
" if description of calendarprop is missing value then"& ¶ &
" set v2 to \"non défini\""& ¶ &
" else"& ¶ &
" set v2 to description of calendar i"& ¶ &
" end if"& ¶ &
" -- Reduction du résultat à toutes les valeurs non vides. "& ¶ &
" repeat with i from 1 to (count FoundByCalendar)"& ¶ &
" if FoundByCalendar's item i is not missing value then"& ¶ &
" set FilterByCalendar's end to FoundByCalendar's item i"& ¶ &
" end if"& ¶ &
" end repeat"& ¶ &
" -- Extraction des données par Event"& ¶ &
" set thisEvent to properties of FilterByCalendar's item 1"& ¶ &
" tell thisEvent"& ¶ &
" set v3 to its uid"& ¶ &
" set v4 to its description"& ¶ &
" tell its start date"& ¶ &
" set v5 to (it's day & \"/\" & (it's month as integer) & \"/\" & it's year) as string"& ¶ &
" set v6 to last word of (it as string)"& ¶ &
" --v6 c'est la date v5 l'heure "& ¶ &
" end tell"& ¶ &
" tell its end date"& ¶ &
" set v7 to (it's day & \"/\" & (it's month as integer) & \"/\" & it's year) as string"& ¶ &
" set v8 to last word of (it as string)"& ¶ &
" end tell"& ¶ &
" end tell"& ¶ &
"end tell"& ¶ &
"--mise à jour dans FileMaker"& ¶ &
"set cell \"CampagneRecouvDetail2::IcalCalendar\" of current record to v1"& ¶ &
"set cell \"CampagneRecouvDetail2::IcalCalendarDescription\" of current record to v2"& ¶ &
"set cell \"CampagneRecouvDetail2::iCal_id\" of current record to v3"& ¶ &
"set cell \"CampagneRecouvDetail2::DescriptionDina\" of current record to v4"& ¶ &
"set cell \"CampagneRecouvDetail2::IcalDateDebut\" of current record to v5"& ¶ &
"set cell \"CampagneRecouvDetail2::IcalHeureDebut\" of current record to v6"& ¶ &
"set cell \"CampagneRecouvDetail2::IcalDateFin\" of current record to v7"& ¶ &
"set cell \"CampagneRecouvDetail2::IcalHeureFin\" of current record to v8"
#46
Posté 10 février 2011 - 18:09
peux ton appliquer des $variable, a la place des rubriques ?
c'est plus pratique, quand il y a differentes tables
merci qui peux
#47
Posté 10 février 2011 - 18:47
On peut bien évidemment faire usage de variables en lieu et place de rubriques...
Mais ne sachant de quel script tu parles, je prendrais en exemple celui donné dans le fichier iCal_AddEvent.fp7 du post #7
Définir variable [$cmd; Valeur: "set myCal to " & $$cal & "¶ set myEvent to " & $$varEvent & "¶ set myDescription to \"FileMaker Reference:\" & " & $$varEventID & " & return & return & " & $$varEventDescription & "¶ --¶ set mySDate to " & $$varDateStart & "¶ set mySTime to " & $$varTimeStart & "¶ --¶ set myEDate to " & $$varDateEnd & "¶ set myETime to " & $$varTimeEnd & "¶ --¶ set myISAllDay to " & $$varAllDay & " as number as boolean¶ ---------------------------------------------------------------------- Coercion en «class date» de la Date de Début¶ -- ... à partir de là plus aucune rubrique FMP n'est appelée pour assigner des variables AppleScript -- ... excepté la dernière ligne du script où une rubrique est définie par le script. Mais là, pas de variable possible. ]
Clem

Clement Hoffmann aka clem
Certified "Do-it-yourself" developer.
#48
Posté 10 février 2011 - 18:58
#49
Posté 11 février 2011 - 18:47
mon event_id, je n'arrive pas a le mettre dans une variable.
S'il vous plait.
#50
Posté 11 février 2011 - 20:27
... je pense que tu n'a pas lu le peu de commentaires que j'ai mis dans l'exemple plus haut....mon event_id, je n'arrive pas a le mettre dans une variable.
En l'occurrence la toute dernière ligne...
-- ... excepté la dernière ligne du script où une rubrique est définie par le script. Mais là, pas de variable possible.
En clair, il n'est pas possible (à ma connaissance) de définir une variable FileMaker avec la valeur d'une variable ou d'un résultat AppleScript.
La seule méthode de contournement que je connaisse et que j'utilise consiste à remplir une globale FMP et de transférer subito pronto la valeur de cette globale dans une variable $locale ou $$globale.
En plus clair:
#
Definir variable[$cmd; Valeur: ... ---------------------------------------------------------------------- retour de l'id de l'event dans fmp¶ set cell \"OccurrenceTableQuiDoitComporterAuMoinsUnEnregistrement::taRubriqueGlobale\" of layout \"tonLayoutSurLequelleSeTrouveLaGlobale\" to event_id" ] Exécuter AppleScript[$cmd] Définir variable [$taVariable; Valeur: OccurrenceTableQuiDoitComporterAuMoinsUnEnregistrement::taRubriqueGlobale] #... suite script
Clem[Thanks God it's Friday]

Clement Hoffmann aka clem
Certified "Do-it-yourself" developer.
#51
Posté 12 février 2011 - 07:17
Merci beaucoup clem.
#52
Posté 02 mai 2011 - 16:17
#53
Posté 10 août 2012 - 14:21
Je me permets de relancer cette discussion avec une question très bête (je suis débutant sur FM12)... J'ai une base de données clients avec facturation déjà existante, et je voudrais ajouter le bouton "iCal - Make new event" dans l'un de mes modèles. Comment dois-je faire ?
Merci pour votre aide envers un newbe comme moi...
#54
Posté 16 août 2012 - 08:09
Tout simplement en recopiant le script prpoposé dans le post #7 et adapter les noms et types de rubriques :
- TASKS::Calendrier // le nom du calendrier iCal dans lequel l'évènement sera ajouté. Si le calendrier n'existe pas, il est alors créé.
- TASKS::Evenement // le nom donné à l'évènement
- TASKS::zkp_ID_Event // (nombre) l'identifiant unique de l'enregistrement FileMaker qui est ajouté dans le champ "remarque" de l'évènement.
- TASKS::Event_Description // la description de l'évènement
- TASKS::Event_DateDebut // la date de début de l'évènement
- TASKS::Event_HeureDebut // l'heure de début de …
- TASKS::Event_DateFin // la date de fin de …
- TASKS::Event_HeureFin // l'heure de fin de …
- TASKS::Journalier // (nombre) l'évènement est-il journalier

Clement Hoffmann aka clem
Certified "Do-it-yourself" developer.
#55
Posté 22 août 2012 - 11:52
Merci Clem pour ces infos qui me seront très utiles ! Mais une fois que j'ai ouvert iCal_AddEvent.fp7 dans FMP12, comment dois-je faire pour avoir accès au script et le copier ?
Dans "Gérer les scripts" il y a "on open" et "iCal - schedule new event" mais si je les ouvre il n'y a pas grand chose dedans...
Merci encore pour le coup de main.
Julien
#56
Posté 20 septembre 2012 - 02:18
#58
Posté 27 septembre 2012 - 13:09
Merci pour tout, et vive ce forum génial !
#59
Posté 02 janvier 2013 - 00:40
Bonjour,
Mes meilleurs voeux à toutes et à tous.
En parcourant le forum je découvre le fichier "iCal_AddEvent.fp7 "qui m'intéresse fortement. Lors de son exécution ical renvoit une erreur. J'ai essayé de modifier le script comme indiqué, mais là ça depasse toutes mes maigres compétences. Serait-il possible que quelqu'un me modifie ce fichier? Je suis sous FM 12 et osx montain Lion
en vous remerciant d'avance
#60
Posté 28 mars 2013 - 08:34
Je reviens sur ce post...
J'ai transposé son script (la première version car la deuxième créé des task dont je n'ai pas besoin) dans ma base et remplacer les rubriques TASK par mes rubriques date, heure .
J'ai une erreur -1728...
Avez-vous une idée ?
[MAJ] je précise que le modèle de Clem fonctionne très bien.
Olivier bedouelle
http://www.vertdeco.fr
FM12 FMS12 FMAdvanced 12
Réseau 18 postes Mac os 10.8; fmGo.
FM Source est un service gratuit de La Source multimédia - spécialistes FileMaker
Développement FileMaker. Formation FileMaker. Hébergement FileMaker. Le blog FileMaker. Vente de licences FileMaker. Conférence FileMaker. Forum FileMaker. FileMaker resources
















