Exécuter automatiquement des tâches

Certaines tâches peuvent être automatisées dans Logo en créant des fichiers de script et en les chargeant au moment voulu. Cela est utile par exemple pour la création régulière de sauvegardes, l'importation ou l'exportation régulière de certaines données ou la production de certains rapports.

Les fichiers de script peuvent être créés directement à partir de la boîte de dialogue de la tâche, puis exécutés dans Logo via Fichier > Scripts.

Enregistrer un fichier script

En bas à gauche de la boîte de dialogue de la tâche requise se trouvent les fonctions de script.

  • Copier les paramètres en tant que tâche dans le presse-papier – Copie uniquement les paramètres de la tâche en cours pour les coller dans un script existant.

  • Copier les paramètres en tant que script dans le presse-papier – Copie les paramètres de la tâche, y compris les informations requises, afin de les coller quelque part sous forme de script.

  • Enregistrer le script dans le fichier – Enregistre les paramètres de la tâche directement sous forme de script dans un fichier texte.

Exemple d’un fichier script

; ------------------------------------------------------------------------- ; Ligne de départ avec spécification de la tâche (valeur de ProductGroup) @GEOLOGIX_SCRIPT Logo12 ; Spécification des variables qui peuvent être utilisées dans les paramètres. @VARIABLE InputDirectory=D:\Scripts\Input @VARIABLE OutputDirectory=D:\Scrips\Output @VARIABLE Prefix=Import_Drain ; Spécification facultative d'un fichier journal @LOGFILE %OutputDirectory%\Logs\%Filename%_%Date%.log ; ------------------------------------------------------------------------- @TASK BACKUPDATEN @COMMENT Backup de la base de données EReportFile=%OutputDirectory%\Backup.zip @ENDTASK ; ------------------------------------------------------------------------- @TASK RAPPORTDESARRETS @COMMENT Arrêts FFilename=%OutputDirectory%\Rapport_Arrets.xlsx @ENDTASK ; ------------------------------------------------------------------------- @TASK DRAINIMPORTCHAMBRES @COMMENT Drain\Import d'Excel\1. chambres Filename=%InputDirectory%\%Prefix%_chambre.xls @ENDTASK ; ------------------------------------------------------------------------- ; Avec les commandes @INCLUDE des fichiers de script supplémentaires peuvent être inclus. ; Ces fichiers include ne peuvent contenir que des blocs @TASK ou des requêtes @INCLUDE supplémentaires. @INCLUDE Export_Base_Sections.txt

Mots clés / commandes prédéfinis

Mots-clés

Description

Exemple

Mots-clés

Description

Exemple

@GEOLOGIX_SCRIPT

Précise l'application à laquelle le fichier de script appartient. Ces informations n'ont généralement pas besoin d'être modifiées.

@GEOLOGIX_SCRIPT Logo12

@VARIABLE

Définit des variables pour une utilisation ultérieure dans le script

@VARIABLE InputDirectory=D:\Scripts\Input

@LOGFILE

Définit un fichier journal. Le journal de la tâche est ensuite enregistré dans ce fichier. La spécification d'un fichier journal est fortement recommandée pour le suivi et le débogage.

@LOGFILE D:\Protocole.log

@TASK

Identification de la tâche. Ces informations ne doivent généralement pas être modifiées.

@TASK RAPPORTFOUILLES

@COMMENT

Commentaire sur la tâche. Ce message est affiché dans l'application pendant l'exécution. Par exemple, des indications sur les filtres peuvent être notées.

@COMMENT Rapport de toutes les places de stationnement dans la commune X

@INCLUDE

Avec @INCLUDE, des fichiers de script supplémentaires peuvent être inclus. Ces fichiers ne peuvent contenir que des blocs @TASK ou des déclarations @INCLUDE supplémentaires.

@INCLUDE Export_Base_Sections.txt

Variables prédéfinies

Les variables suivantes sont prédéfinies et peuvent être utilisées dans les fichiers de script :

Variable

Description

Exemple - Entrée

Exemple - Résultat

Variable

Description

Exemple - Entrée

Exemple - Résultat

Today

Date actuelle

D:\Rapport_%Today%.xlsx

D:\Rapport_20200311.xlsx

Date

Date actuelle sous la forme yyyymmdd

D:\Rapport_%Date%.xlsx

D:\Rapport_20200311.xlsx

Time

Heure actuelle sous la forme hhmmss

D:\Rapport_%Time%.xlsx

D:\Rapport_130417.xlsx

Filename

Nom du fichier de script sans extension de fichier

D:\%Filename%_%Date%.log dans le fichier script
T:\Scripts\RapportKuba.txt

D:\RapportKuba_20200311.log

Exécution de tâches dans des fichiers de script

Si un fichier script a été créé ou enregistré, il peut être appelé via le menu Fichier > Scripts et les tâches qu'il contient peuvent être exécutées. Si un fichier script contient plusieurs tâches, il est possible d'exécuter soit des tâches individuelles, soit toutes les tâches.

Exécution de scripts via Windows Command Prompt

Si les tâches doivent être exécutées régulièrement et à des moments précis, le planificateur de tâches de Windows peut être utilisé. Pour cela, il faut disposer des informations suivantes en plus du fichier script :

  • Chemin d'accès à Logo.exe, qui doit être démarré

  • Spécification du fichier INI à utiliser (si celui-ci ne se trouve pas dans le même répertoire que Logo.exe, le chemin d'accès complet doit être spécifié)

  • Spécification du (des) fichier(s) de script à exécuter

Ces informations peuvent être soit saisies directement dans le planificateur de Windows, soit enregistrées dans un fichier texte avec l'extension *.cmd, qui est ensuite inclus dans le planificateur.

\\server01\Logo12\Logo12.exe -config CtValais.ini -script D:\LOGO\batch_signalshp.txt

Dans cet exemple, Logo12.exe est lancé, la base de données du Canton du Valais est ouverte et l'exportation par lots des signaux vers un shapefile est exécutée.

Si des données doivent être exportées vers un fichier (ex : shapefile), il faut s'assurer que le fichier correspondant n'est pas bloqué par quelqu'un au moment de l'exportation.

Problèmes avec les accents / caractères spéciaux

Voir https://geologix-ag.atlassian.net/browse/LG-12725

TLDR : La solution consiste à ouvrir le fichier de script dans l'éditeur et à l'enregistrer avec le jeu de caractères UTF-8 avec BOM.

Par sécurité, tous les scripts utilisés dans Logo devraient être enregistrés dans le jeu de caractères UTF-8 avec BOM, dans le cas contraire ils pourraient ne pas fonctionner correctement lors de leur exécution dans Logo.