home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / commercialdemos / gestacomptedemo / scripts_arexx / plan_comptable.rexx < prev    next >
OS/2 REXX Batch file  |  1997-10-28  |  5KB  |  117 lines

  1. /** $VER: Comptes_Mois 1.1 (30.09.97)
  2.  ** Auteur: Fabrice SABATIER
  3.  **
  4.  ** Commande ARexx sous GestaLivre V2.0.
  5.  **
  6.  ** Edition des transactions classées par comptes pour le mois en cours.
  7.  **
  8.  **/
  9.  
  10. OPTIONS RESULTS
  11.  
  12. NL = '0a'x                   /* caractère Retour chariot */
  13.  
  14. /*****************  Définit les variables d'environnement   ***********************/
  15.  
  16. ADDRESS COMMAND "SYS:Rexxc/rx ENV:GestaCompte.ARexxPréfs" /* execute le script de définitions des préférences */
  17. NOM_PORT_LIVRE   =GETCLIP('Port_Livre')
  18. NOM_ECRAN_PUB    =GETCLIP('Ecran_Livre')
  19.  
  20. /************************************************************************/
  21.  
  22. SIGNAL ON SYNTAX             /* détourne les messages d'erreurs */
  23.  
  24. /* ouvre la library rexxreqtools.library pour les messages d'erreurs */
  25. call addlib("rexxreqtools.library",0,-30,0)
  26.  
  27. ADDRESS VALUE NOM_PORT_LIVRE /* adresse du port Arexx du livre de caisse */
  28.  
  29. MAIN:
  30. call rtezrequest( "Ce script permet d'importer, d'exporter ou d'effacer"|| NL ||,
  31.           "le plan comptable."|| NL || NL ||,
  32.                   "---------------------------------------------------"|| NL ||,
  33.           "A savoir :"|| NL || NL ||, 
  34.           "Importer : Charge et remplace le plan comptable actuel."|| NL || NL ||,
  35.           "Exporter : Sauvegarde le plan comptable actuel."|| NL || NL ||,
  36.           "Effacer  : Efface le plan comptable actuel."|| NL ||,
  37.                   "---------------------------------------------------"|| NL || NL ||,
  38.           "                  Votre choix ?",,
  39.                   "_Importer|_Exporter|E_ffacer|_Annuler", "Plan_Comptable.rexx","rt_pubscrname="||NOM_ECRAN_PUB "rt_font=Gestacompte.font/8")
  40.  
  41. if rtresult == 0 then EXIT
  42. if rtresult == 1 then CALL ImporterPlan
  43. if rtresult == 2 then CALL ExporterPlan
  44. if rtresult == 3 then CALL EffacerPlan
  45.  
  46. EXIT /* fin du script */
  47.  
  48. /* Exporte la liste des comptes comptable */
  49. ExporterPlan:
  50.  call rtezrequest( "Où voulez-vous sortir le plan comptable ?",,
  51.                    "_Imprimante|_Fichier {ASCII}|_Annuler", ,"rt_pubscrname="||NOM_ECRAN_PUB "rt_font=Gestacompte.font/8")
  52.  
  53.  if rtresult == 0 then EXIT
  54.  if rtresult == 1 then x=OPEN('infos','PRT:','W')
  55.  if rtresult == 2 then DO
  56.      NomFichier = rtfilerequest(, , "Entrez le nom du fichier" , , "rtfi_buffer = true" "rtfi_initialpath=RAM:" "rt_pubscrname="||NOM_ECRAN_PUB "rt_font=Gestacompte.font/8")
  57.      if rtresult == 0 then EXIT
  58.      x=OPEN('infos',NomFichier,'W')
  59.      END
  60.  
  61.  numbaccounts
  62.  Nbre=RESULT
  63.  DO i=1 TO Nbre
  64.   account i
  65.   x=WRITELN('infos',RESULT)  /* écrit l'entête */
  66.  END
  67.  x=CLOSE('infos')              /* ferme le fichier */
  68. RETURN
  69.  
  70. /* Importer la liste des comptes comptable */
  71. ImporterPlan:
  72.  
  73.  NomFichier = rtfilerequest(, , "Entrez le nom du fichier" , , "rtfi_buffer = true" "rtfi_initialpath=GESTA:Scripts_ARexx/" "rt_pubscrname="||NOM_ECRAN_PUB "rt_font=Gestacompte.font/8")
  74.  if rtresult == 0 then EXIT
  75.  x=OPEN('infos',NomFichier,'R')
  76.  
  77.  DO i=1 BY 1 WHILE ~EOF('infos')           /* lit ce fichier jusqu'à la fin */
  78.   ligne.i=READLN('infos')                   /* et le place dans le tableau indicé i */
  79.  END
  80.  ligne.0=i-2            /* place le nombre de lignes du tableau en 0 */
  81.  DO i=1 TO ligne.0
  82.   newaccount ligne.i
  83.  END
  84.  x=CLOSE('infos')              /* ferme le fichier */
  85. RETURN
  86.  
  87. /* Effacer la liste des comptes comptable */
  88. EffacerPlan:
  89.  call rtezrequest( "ATTENTION !!!      Tous les comptes"NL"vont être effacés du plan comptable."|| NL || NL ||,
  90.            "----------------------------------"|| NL || NL ||,
  91.                    "     Voulez-vous continuer ?",,
  92.                    "_Oui|_Non", ,"rt_pubscrname="||NOM_ECRAN_PUB "rt_font=Gestacompte.font/8")
  93.  
  94.  if rtresult == 0 then EXIT
  95.  
  96.  numbaccounts
  97.  Nbre=RESULT
  98.  DO i=1 TO Nbre
  99.   delaccount 1
  100.  END
  101. RETURN
  102.  
  103. /* Traite les messages d'erreurs */
  104. SYNTAX:
  105. IF RC=13 THEN call rtezrequest( "      Environnement serveur non trouvé !!!" || NL || NL ||,
  106.                                 "Le nom du port ARexx utilisé dans le script est : "|| NL || NL ||,
  107.                                 "-----------------------------------------------"|| NL ||,
  108.                                 "                  " || NOM_PORT_LIVRE || NL ||,
  109.                                 "-----------------------------------------------"|| NL || NL ||,
  110.                                 "Note : Pour réparer ceci, veuillez fermer le module"|| NL ||,
  111.                 "       'Livre' et modifier le type d'outil 'REXX' de"|| NL ||,
  112.                 "       l'icône, puis le relancer."|| NL || NL ||,
  113.                 "       ATTENTION aux minuscules/majuscules      ",,
  114.                 "OK", "Informations","rt_pubscrname="||NOM_ECRAN_PUB "rt_font=Gestacompte.font/8")
  115. ELSE call rtezrequest(errortext(RC),"Vu",,"rt_pubscrname="||NOM_PORT_LIVRE "rt_font=Gestacompte.font/8")
  116. EXIT
  117.