IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

4D (2003 et 2004), iCal (MacOS seulement) et Web Services

Avec iCal, vous pouvez programmer un événement qui exécute un AppleScript qui communiquera avec 4D à travers les Web Services. ♪

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Résumé

N’avez-vous jamais voulu faire exécuter une procédure 4D à un moment précis ? Nous connaissons tous l’avantage de pouvoir par programmation faire exécuter une tâche en utilisant une méthode 4D. C’est un gain de temps et cela évite des erreurs. Et si l’on pouvait planifier la même méthode 4D pour qu’elle s’exécute n’importe quand et de n’importe où ?

Imaginez que vous puissiez planifier un backup lorsque vous le souhaitez ou planifiez l’impression d’un rapport toutes les semaines et l’envoyer à vos commerciaux par email tout de suite.

Beaucoup de personnes ont déjà pris l’habitude d’utiliser les applications « Calendriers » dans leur vie courante. Mais pourquoi ne pas l’utiliser également dans le domaine professionnel ?

II. Introduction

4D 2003 a incorporé une fonctionnalité très puissante, les Web services. Et avec les Web Services, les méthodes 4D peuvent être appelées à distance. Ceci laisse la liberté aux développeurs de maintenir leurs bases de données à partir de n’importe où et permet à l’utilisateur final de tirer parti de fonctionnalités personnalisées . Les Web Services sont indépendants de plate-forme et de langage, ainsi il importe peu que vous utilisiez votre base sur Mac ou sous Windows, les deux sont facilement accessibles.

ICal est une application Calendrier. Les récentes versions d’iCal (à partir de la version 1.5.1) ont vu l’implémentation de la possibilité d’appeler des AppleScripts. Les AppleScripts sont les petits programmes qui peuvent exécuter une multitude d’appels, qui peuvent être : jouer une chanson d’iTunes ou vider la corbeille. La dernière version d’AppleScript supporte les WebServices. Ainsi, avec iCal, vous pouvez programmer un événement qui exécute un AppleScript qui communiquera avec 4D à travers les Web Services (figure 1).

Pictures 0502x0325
Figure 1 : intégration de 4D et iCal à travers les Web Services.

Cette note technique vous expliquera les différentes étapes nécessaires pour intégrer iCal avec 4D à travers les Web Services. Les quelques scénarios ci-dessous serviront à illustrer la mise en place de cette technologie.

III. AppleScript

AppleSript est un langage de script qui est capable d’automatiser les tâches de l’ordinateur. La dernière version d’AppleScript, disponible sous MacOSX, permet les communications SOAP à travers le protocole HTTP. Et avec AppleScript vous pouvez automatiser des tâches qui normalement prennent du temps et de l’énergie.

IV. iCal

ICal permet aux utilisateurs Apple de planifier à leur convenance des événements et ceci avec une interface simple. L’intégration de 4D apportera une nouvelle efficacité et organisation. iCal version 1.5.1 et supérieure possède des fonctionnalités plus puissantes qui porte la planification à un niveau jamais atteint. Il est important de noter que cette puissante fonctionnalité peut être utilisée par les utilisateurs Mac et Windows. Pour le moment, iCal ne tourne que sur les machines Apple, mais souvenez-vous, les Web Services sont indépendants de plate-forme ; ainsi votre base de données peut tourner soit sur une machine Windows, soit sur une machine Mac.

Une précédente note technique explique l’intégration de 4D et d’iCal sous un autre aspect. Pour plus d’informations, voir la note technique 4D-200405-13-FR : « Ical et 4D ».

V. Scénario 1 : planifier un backup

Pour l’administrateur d’une base de données, une des tâches les plus importantes est la sauvegarde des données. Votre activité repose sur vos données et de celles-ci on ne fait jamais assez de sauvegardes. En tant qu’administrateur, vous avez besoin de développer une routine planifiant les backups de votre base. Vous décidez par exemple de « backuper » deux fois par mois, le 1er et le 15 de chaque mois, à 9 heures du soir.

Quelle solution à votre disposition ?

Si vous utilisez un 4D monoposte 2003, la seule façon de planifier une routine de backup est de créer une méthode qui contrôle le jour et l’heure et commence le backup au moment voulu.

Si vous utilisez un 4D Server 2003, vous pouvez utiliser le calendrier du Backup. Le calendrier permet de faire intervenir un backup chaque minute, heure, jour ou semaine. Mais vous ne pouvez pas spécifier un jour précis. Vous ne pourrez pas par exemple choisir le 1er et le 15e jour du mois. Ni avoir un backup qui commence à 21 heures. Si vous voulez un backup à une date spécifique et à une heure précise, vous devez programmer une méthode qui gère cela. Cela ne vous convient peut-être pas, alors que faire ?

Avec la version 2004, vous pouvez aisément planifier cela avec les paramétrages intégrés de sauvegarde. L’intérêt de passer par iCal dans ce cas-là, est de pouvoir lancer la sauvegarde à tout moment et de n’importe où, en générant simplement un événement qui appellera l’AppleScript. C’est alors celui ou celle qui gère les événements dans iCal qui décidera du backup.

Une nouvelle solution

Les Web Services vont vous permettre cette solution. En utilisant le langage 4D, vous pouvez créer une méthode qui exécute le backup de la base de données. Puis proposez cette méthode comme Web Service. Maintenant la méthode est accessible de n’importe où. En utilisant iCal, vous pouvez planifier un événement le 1er et le 15 de chaque mois à 21 heures. Aux heures souhaitées, l’événement exécutera l’AppleScript qui appellera 4D. Vous devez juste créer la méthode de backup. Maintenant, examinons les différentes étapes.

4D

Tout d’abord, commençons par créer le projet de Backup. Une fois que le plug-in 4D Backup est installé, faites un premier backup qui créera le projet et la destination de vos backups. L’étape suivante est la création d’une méthode simple qui programmera le backup de la base de données en utilisant le projet de backup. Voici un exemple de code qui exécutera le backup chaque fois que la méthode sera exécutée :

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
   `Auteur : Sati Hillyer

   `Date: 1/8/04
   `Description: Cette méthode lance un backup basé sur le projet de backup


C_ENTIER($vError;$vState)
C_TEXTE(bkResult)

DECLARATION SOAP(bkResult;Est un texte ;SOAP sortie ;"backup_result")

$vError:=BK Begin full backup
Si ($vError#0)
   bkResult:="Backup en cours"
Sinon
   $vError:=BK Start copy
   Si ($vError#0)
      bkResult:="Backup en cours"
   Sinon
      Repeter
         $vState:=BK Get state
      Jusque ($vState#4)
      Si ($vState#5)
         bkResult:="Backup en cours"
      Sinon
         bkResult:="Backup terminé !"
      Fin de si
   Fin de si
   BK END BACKUP

Fin de si

En 4D 2004 :

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
C_ENTIER($vError;$vState)

C_TEXTE(bkResult)

DECLARATION SOAP(bkResult;Est un texte ;SOAP sortie ;"backup_result")
SAUVEGARDER

Si (OK#0)
   bkResult:="La sauvegarde s’est bien déroulée."
Sinon
   bkResult:="Problème survenu durant la sauvegarde !"
Fin de si

Maintenant nous faisons en sorte de rendre accessible cette méthode via les Web Services de façon à pouvoir l’appeler de n’importe où. 4D 2003 et 4D 2004 permettent de rendre très facilement accessible, via les Web Services, n’importe quelle méthode 4D (voir figure 2). Une fois la méthode créée, appelez le dialogue de propriétés de la méthode :

Pictures 0535x0360
Figure 2 : passer une méthode 4D en Web Service

Cochez l’option : Offert comme Web Service, ainsi la méthode sera accessible à travers les Web Services. La seconde option Publiée dans WSDL est à la discrétion du développeur. Cette option permettra de faire en sorte que ce Web Service soit public pour les autres. Une fois que les propriétés de la méthode ont été mises en place, vous pouvez lancer cette méthode à travers les Web Services. Ce qu’il reste à faire au niveau de 4D est de lancer le serveur Web et de permettre les requêtes Web Services. Vous pouvez lancer le serveur Web en Mode Utilisation ou avoir demandé à publier la base au démarrage (figure 3).

Pictures 0493x0383
Figure 3 : lancer le serveur web au démarrage

La dernière étape est d’autoriser les requêtes Web Services. Sélectionnez l’option (figure 4).

Pictures 0541x0420
Figure 4 : autoriser les requêtes Web Services

AppleScript

Maintenant, comment incorporer iCal et 4D ? Ceci se fait avec les AppleScripts et c’est assez simple. Lancez l’Éditeur de Scripts sur votre Mac (figure 5)

Pictures 0338x0409
Figure 5 : Éditeur de Scripts, pour écrire et compiler AppleScript

Voici le code pour appeler une méthode 4D utilisant un Web Service en AppleScript :

Pictures 0643x0243
Pictures 0623x0257

Cette méthode fait un appel SOAP au Web Service 4D :

Pictures 0634x0262

Cette méthode appellera le Web Service 4D commençant le processus de backup. 4D renverra une réponse de confirmation et un message (Note: vous pouvez changer les messages ou les supprimer si vous le souhaitez).

Ensuite vous faites l’intégration avec iCal - la dernière étape, et la plus simple. Avec le système de calendrier d’iCal, vous pouvez obtenir l’exécution d’un AppleScript à n’importe quels jour et heure choisis par vous. De plus, les Web Services 4D vous permettent d’appeler cette commande de n’importe quel système connecté au Web. Voici les étapes simples pour mettre en œuvre cette solution.

iCal

Maintenant que les scripts sont écrits, le reste est facile. Lancez iCal et créez votre routine de backup. Pour ce scénario, vous planifiez votre backup tous les 1er et 15 de chaque mois, à 21 heures (figure 6).

Choisissez le jour où vous souhaitez commencer et créer un nouvel événement. Éditez cet événement (figure 7). Choisissez combien de fois vous souhaitez que l’événement se répète, cela peut être très générique comme tous les mardis, ou plus spécifique comme le 1er et le 15 de chaque mois. Indiquez une date de fin, si vous le souhaitez. La section Alarme est la zone cruciale qui lancera AppleScript. Placez l’alarme sur Ouvrir fichier et choisissez votre fichier AppleScript. Pour notre exemple, nous demandons de lancer très précisément le script à 21 heures. Vous pouvez aussi créer un calendrier qui stockent toutes les dates qui peuvent être publiées pour les autres personnes de votre société et ainsi les partager. Pour plus d’information concernant cela, voir la note 4D.

Pictures 0600x0458
Figure 6 : iCal et les événements planifiés
Pictures 0627x0195
Pictures 0183x0386
Figure 7 : Mise en place du lancement de l’Apple Script

Sauvegardez les événements ainsi générés. Félicitations, vous venez de planifier une sauvegarde tous les jours à 19 heures. À ce moment-là, iCal lancera l’AppleScript indiqué qui enverra une requête Web Services à 4D. 4D recevra la requête, lancera la sauvegarde et retournera une réponse de confirmation. L’AppleScript recevra cette réponse et l’affichera à l’utilisateur.

VI. Scénario 2 : Imprimer un inventaire

Pour maintenir un inventaire, vous voulez générer et imprimer des rapports d’inventaire chaque semaine. Ces rapports doivent être imprimés chaque lundi à 8 heures pour refléter les comptes de la semaine. Voici donc une solution pour réduire ainsi les problèmes d’approvisionnement des stocks.

Comment fonctionne cette solution ?

Comme dans les exemples précédents, nous devons créer une méthode dans 4D qui vérifiera la date et l’heure. Ceci nécessite du code additionnel. Une fois la méthode créée, nous construisons notre rapport et l’imprimons par programmation avec les commandes de l’éditeur d’État Rapide. Cela peut nécessiter un peu plus de travail que prévu initialement, aucune importance, les Web Services sont là !

Une nouvelle solution

Avec les Web Services, vous pouvez créer une méthode 4D qui générera et imprimera le rapport d’inventaire. Une fois de plus, cette méthode doit être publiée en tant que Service Web. En utilisant iCal, nous pouvons programmer un événement tous les lundis à 8 heures. Cet événement exécutera l’AppleScript qui à son tour appellera 4D.

4D

Nous devons créer un projet d’État Rapide qui sera utilisé et imprimé sur demande. En utilisant l’assistant de l’Éditeur d’État Rapide, créez un rapport en fixant sa destination vers l’imprimante. Sauvegardez le projet. Pour notre exemple, le projet a été nommé « Inventory_Report » (Figure 8).

Pictures 0629x0416
Figure 8 : Création de l’État Rapide

Maintenant que le projet a été créé, nous pouvons développer la méthode qui l’imprimera. Voici un exemple de code qui générera l’État Rapide et l’imprimera chaque fois qu’il sera exécuté :

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
   `Auteur : Sati Hillyer

   `Description:
   `Cette méthode projet générera l’État Rapide pour l’inventaire.
   `Elle charge le blob de la table [ReportTemplate]

C_ENTIER LONG($qrArea)
   `on recherche le modèle d’états rapides associé à l’inventaire

CHERCHER([ReportTemplate];[ReportTemplate]Report_Name="Inventory Report")

   `on charge le blob contenant l’état rapide dans une zone hors écran
$qrArea:=QR Creer zone hors ecran
QR BLOB VERS ETAT($qrArea;[ReportTemplate]Report_Blob_)
QR FIXER PROPRIETE DOCUMENT($qrArea;qr DIALOGUE d'impression ;0)
QR FIXER ENTETE ET PIED DE PAGE($qrArea;1;"";"Inventory Report";"";50)

   `on envoie le rapport à l’imprimante
QR EXECUTER COMMANDE($qrArea;2008)  `impression du rapport

   `on supprime la zone hors écran

QR SUPPRIMER ZONE HORS ECRAN($qrArea)

La méthode ci-dessus sera appelée par la méthode suivante pour générer l’Etat Rapide et ceci fait, envoyer une confirmation par l’AppleScript. Maintenant, faisons de la méthode ci-dessous un Web Service en changeant ses propriétés, comme vu auparavant.

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
   `Méthode objet : PrintInventory

   `Auteur : Sati Hillyer
   `Cette méthode imprime l’État Rapide généré

C_TEXTE(result)
C_BOOLEEN(b_result)

   `Creates a confirmation that is sent back by the Web Service
   `crée une confirmation qui est renvoyée par le Web Service
DECLARATION SOAP(result;Est un texte ;SOAP sortie ;"return_result")

Si (b_result=Faux)
   TOUT SELECTIONNER([Inventory])
   qr_Report
   result:="Impression réussie."
Sinon
   result:="Impression en cours."
Fin de si

AppleScript

Vous pouvez utiliser le même Apple Script que ci-dessous ; vous devez juste indiquer le nom de la méthode. Voici le code qui appelle cette méthode d’un AppleScript :

Pictures 0649x0427

Maintenant que le script est écrit, lancez iCal et planifiez un événement qui appelle cette méthode. Référez-vous aux scénarios précédents pour créer un événement iCal et lancer l’AppleScript.

VII. Scénario 3 : Envoyer par mail un rapport des ventes hebdomadaires

Dans notre dernier scénario, vous devez générer chaque semaine un rapport des ventes qui sera envoyé par e-mail à chaque membre de l’équipe des ventes. Cet événement doit avoir lieu tous les vendredis à 16 heures, de façon à ce que chaque membre de l’équipe ait l’état de ses ventes de la semaine. Vous avez besoin de générer un état rapide qui compilera les ventes par produits, informations stockées dans la table [Sales].

Qu’elle est votre solution actuelle ?

Votre solution actuelle nécessitera un peu de travail, ce qui sera un peu trop long à implémenter. Utilisez l’éditeur d’État Rapide pour construire un projet générant le rapport des ventes. Une fois le rapport fait, vous avez deux options. Vous pouvez manuellement faire l’état et le mettre en pièce jointe à un email que vous envoyez individuellement à chaque membre de l’équipe commerciale. Cette option fonctionnera, mais nécessitera beaucoup de travail pour envoyer chaque email. La seconde option serait d’intégrer les Internet Commands qui fournissent un moyen de programmer un email et de l’envoyer à toute l’équipe. Ceci nécessite plus de code, mais évite de faire les manipulations chaque semaine et évite donc les erreurs.

Vous devez toujours créer une méthode pour vérifier le jour et l’heure et ainsi envoyer votre rapport le vendredi à 16 heures.

Une nouvelle solution

4D

Ce scénario vous fera franchir plusieurs étapes par rapport au précédent ; maintenant avec iCal et les Web Services de 4D, beaucoup de tracas peuvent être supprimés. La première étape consiste à construire un projet d’État Rapide qui sera utilisé pour la génération du rapport hebdomadaire. Puis installez le plug-in 4D Internet Commands. Nous allons maintenant programmer la génération et l’envoi par email de ce rapport. La première méthode construira l’email qui va être envoyé à chaque personne du service des ventes. Voici un exemple de code :

Note : Vérifiez bien que votre méthode est publiée en Web Services.

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
  `Méthode projet : sentReport

   `Auteur : Sati Hillyer
   `Description:
   `Cette méthode génère un email et l’envoie, avec le rapport des ventes en pièce jointe, à tous les
   `membres de l’équipe commerciale

C_ENTIER($error;$vState)
C_TEXTE(vConfirm)

   `On crée une confirmation qui sera renvoyée par le web services
DECLARATION SOAP(vConfirm;Est un texte ;SOAP sortie ;"Confirmation")

   ` *** Génération du rapport et corps de l’email
$Body:="Chers Commerciaux,<p>Voici le rapport hebdomadaire des ventes.<p>Cordialement,<p>"+"Le Directeur Commercial<p>"
$Body:=GenerateSales ($Body)

TOUT SELECTIONNER([SalesTeam])
   `Création du message
$error:=SMTP_New ($smtp_id)

   `indication du serveur de mail - Saisissez le vôtre
$error:=SMTP_Host ($smtp_id;"smtp.4d.fr") `Indiquez ici votre serveur de mail
   `saisissez votre propre email
$error:=SMTP_From ($smtp_id;"sylvie.mourier@4d.fr") `Indiquez ici le mail de l’expéditeur
$error:=SMTP_ReplyTo ($smtp_id;"jean.mourier@4d.fr") `Indiquez ici le mail de la personne à qui l’on doit
   ` répondre
$error:=SMTP_Subject ($smtp_id;"Rapport des ventes")

   `On boucle sur la table [SalesTeam]
Boucle ($i;1;Enregistrements trouves([SalesTeam]))
   Si ([SalesTeam]Email#"")
      $error:=SMTP_To ($smtp_id;[SalesTeam]Email;0)  `on récupère leur email pour envoi
   Fin de si
   ENREGISTREMENT SUIVANT([SalesTeam])
Fin de boucle

   `on ajoute le header
$error:=SMTP_AddHeader ($smtp_id;"Content-Type:";"text/html;charset=us-ascii")
   `on indique le body (corps) du mail
$error:=SMTP_Body ($smtp_id;$Body)
   `on précise la pièce-jointe html
$error:=SMTP_Attachment ($smtp_id;"Sales_Report.html";0)

   `on envoie le message et on met à jour la variable de confirmation
Si ($error=0)
   $error:=SMTP_Send ($smtp_id)
   vConfirm:="Transmis avec succès."
Sinon
   vConfirm:="Transmission en cours."
Fin de si

   `on efface les messages et on libère la mémoire

$error:=SMTP_Clear ($smtp_id)

Cette seconde méthode génère la version .html du rapport des ventes. Nous convertirons ensuite ce fichier html en fichier texte qui sera affiché dans le corps de l’email. Voici la méthode projet :

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
   `Méthode projet : GenerateSales

   `Auteur : Sati Hillyer
   `Description: Cette méthode génère le rapport des ventes.

C_TEXTE($0;$1)
C_BLOB($doc)
C_ENTIER LONG($qrArea;$Offset)

TOUT SELECTIONNER([Sales])

   `1. Génère le raport en HTML
   `on recherche d’abord le modèle associé aux ventes
CHERCHER([ReportTemplate];[ReportTemplate]Report_Name="Sales Report")

   `on charge le blob dans une zone hors écran
$qrArea:=QR Creer zone hors ecran
QR BLOB VERS ETAT($qrArea;[ReportTemplate]Report_Blob_)

   `On génère le fichier HTML qui sera en pièce jointe de l’email
QR FIXER DESTINATION($qrArea;qr fichier HTML ;"Sales_Report.html")
QR EXECUTER COMMANDE($qrArea;qr cmd EXECUTER )

   `on supprime la zone hors écran
QR SUPPRIMER ZONE HORS ECRAN($qrArea)

   `2. On charge le rapport HTML dans une variable Texte
$Offset:=0
DOCUMENT VERS BLOB(GetStructureFolderPath +"Sales_Report.html";$doc)
$body:=BLOB vers texte($doc;Texte sans longueur ;$Offset)
$body:=$1+"<P>"+$body

$0:=$body

Cette troisième méthode retrouve le chemin d’accès du rapport en HTML afin de le convertir en texte pour l’email :

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
   `Méthode projet : GetStructureFolderPath

   `Auteur : Sati Hillyer
   `Description: Cette méthode récupère le chemin d’accès
   `du fichier HTML généré par l’éditeur d’États Rapides

C_TEXTE($0;$path)
C_ALPHA(2;$sep)
C_ENTIER LONG($platform)

PROPRIETES PLATE FORME($platform)
Si ($platform=3)
   $sep:="\\"   ` utilisez un seul anti-slash (\) pour les versions 6.x.
Sinon
   $sep:=":"
Fin de si

$path:=Fichier structure

$len:=Longueur($path)
$Done:=Faux
Repeter
   Si ($path[[$len]]=$sep)
      $Done:=Vrai
   Sinon
      $len:=$len-1
   Fin de si
Jusque ($Done)
$path:=Sous chaine($path;1;$len)

$0:=$path

Maintenant, la procédure peut être appelée par un Web Service. Créons l’AppleScript :

Pictures 0607x0621

iCal

Maintenant que l’AppleScript est écrit, lancez iCal et planifiez un événement pour appeler cette méthode. Référez-vous aux scénarios précédents.

Pictures 0244x0422

VIII. Utilisation de la base de démo

La base de démonstration fournie couvre les trois scénarios. Ceci nécessite d’installer les plug-ins 4D BackUp et 4D Internet Commands pour 4D 2003, et 4D Internet Commands pour 4D 2004 (le backup étant intégré dans 4D 2004). Vous devez avoir une version 1.5.1 ou supérieure de iCal. Tous les fichiers AppleScript sont inclus et prêts à fonctionner. Il est possible que vous ayez à changer les valeurs par défaut du Web Service pour pouvoir vous connecter au serveur. Si vous faites tourner la base 4D sous Windows, les AppleScripts doivent pointer sur le numéro IP de la machine. Changez simplement la ligne suivante :

property « http://xxx.xxx.xxx.xxx:8080/4DSOAP/ »

où xxx.xxx.xxx.xxx est l’adresse IP de la machine faisant tourner la base 4D.

Pour exécuter le Backup, vous devez d’abord avoir créé un projet de Backup. Ceci peut être fait en Mode Utilisation. En 4D 2003, dans le menu Plug-ins, choisissez « Sauvegarde intégrale ». En 4D 2004, Menu Fichier, choisissez « Sauvegarder… ». Choisissez la localisation de vos sauvegardes et sauvez le projet de Backup. Désormais à chaque sauvegarde, 4D se référera au projet de backup.

Si vous souhaitez changer le modèle d’État Rapide, en Mode Utilisation, exécutez la méthode saveReportTemplate et choisissez vos nouveaux modèles. Le premier modèle sera associé à l’inventaire, et le second au rapport de ventes. Les noms et les emails sont inventés. Remplacez-les simplement par de vrais emails pour recevoir la confirmation.

IX. Ressources

Pour trouver des informations sur iCal ou le télécharger :

http://www.apple.com/fr/ical/

Pour plus d’informations sur les AppleScripts et iCal :

http://www.apple.com/applescript/ical/

Pour plus d’informations sur les Web Services, référez-vous à la note :

4D-200401-01-FR : Introduction aux Web Services

Pour plus d’informations sur iCal :

4D-200405-13-FR : iCal et 4D.

X. Conclusion

La planification est devenue un élément crucial. Cette possibilité seule rend vos applications inestimables. La nouvelle version de iCal est vraiment faite pour programmer n’importe quelle routine dans 4D de façon très simple et efficace. Désormais tous ces automatismes vitaux peuvent être mis en place à partir de l’interface du calendrier iCal. Avec 4D, iCal et les Web Services, vos tâches peuvent être exécutées à tous moments, n’importe quel jour, et être lancées de n’importe où.

Les Web Services vous donnent, à vous et à vos applications, la possibilité de s’intégrer à des solutions opérationnelles. Enfin ceci permet de réaliser des solutions complètes.

XI. Bases exemples

Téléchargez les bases exemples :

2004

2003 Mac

2003 Win

les scripts

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.