|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 14 ![]() |
Bonjour à tous
Je suis confronté au problème suivant: J'ai programmé l'action "Macro personnalisée" via le scheduler BCA mais cela n'a aucun effet. J'ai l'impression que ma macro n'est pas déclenchée. J'ai bien entendu vérifié auparavant que celle ci fonctionnait en local avant de l'envoyer au serveur BCA. Si parmis vous une personne a déjà utilisé cette commande, je serais ravi de partager son expérince. Par avance merci PS: je suis en 6.5 SP2 Cyril |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Je confirme que normalement ça marche.
Es-tu sûr qu'une erreur ne se produit pas sur le BCA, qui interrompt le rafraichissement ? Du genre répertoire non défini, ou autre. De plus il y a peut-être des interdictions sur ton BCA d'exécuter une macro ?
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 14 ![]() |
Je suis rassuré dans ce cas là mais je ne vois pas alors d'où viens mon erreur dans ma façon de faire.
Lorsque je regarde sur BCA Console la requete, celle-ci reste bloquée avec l'état "en cours d'exécution" mais sans message d'erreur. Je suis obligé de l'interrompre car elle peut restée comme ça pendant des heures. Y a t'il des contraintes sur du code VB que l'on ne pourrait exécuter via une Macro ? |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 14 ![]() |
Je viens de vérifier dans "Administration Console", la seule option que j'ai trouvée (Activer Macros pour utilisateurs intéractifs) est active
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Tu pourrais me dire ce que fais ta macro en substance (télécharger un rapport, le rafraichir puis le sauver en pdf par exemple) et mettre un squelette de ton code (avec les éventuelles boucles, import/export de données, etc.).
Ou même ta macro si elle n'est ni confidentielle ni trop grosse.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 14 ![]() |
C'est sympas d'y consacrer du temps
En fait je suis arrivée à faire fonctionner ma macro en désactivant l'appel à des fonctions qui j'ai capitalisé dans une DLL. Ces fonctions sont testées et fonctionnent déjà sur une cinquantaine d'état BO scédulés via BCA mais utilisé lors de l'événement AfterRefresh par ex En subtence voila le code qui permet de boucler sur les matricules des salariés présents et de générer un rapport au format pdf pour chacun d'eux si je désactif le code faisant référence à FctUti cela marche Private Function lov2(param1, param2) Dim cl As Class Set cl = ThisDocument.DataProviders.Item(1).Universe.Classes(param1) Set lov2 = cl.Objects.Item(param2).ListOfValues End Function Sub BoucleSurMatricule() Dim FctUti As FonctionsUtiles Dim Parametres As String Dim liste As ListOfValues 'Objet servant à stocker une liste d'éléments d'une entité. Dim Matricule As Variant Dim j As Integer On Error GoTo Document_BoucleSurMatricule_Err Set FctUti = New FonctionsUtiles FctUti.WriteInfo (FctUti.GetPathFileSaveComplex("DOC_RH", "FICHE_INDIV")) Set liste = lov2("SIRH_Rémunération", "MatriculePrésentAS") Application.Interactive = False 'Le programme VB prend la main 'Ecriture de l'heure de début et des paramètres Parametres = ActiveDocument.Name & " / [" & Date & " - " & Time & "] / " & _ "Date de situation = " & FctUti.LastDayOfMonth(Date) & " / " & _ "Date début historique imputation YYYYMM = 199901 / " & _ "Date fin historique imputation YYYYMM = 209901 / " & _ "Société = 001 / " ActiveDocument.Variables.Item("Date de situation").Value = FctUti.LastDayOfMonth(Date) 'ActiveDocument.Variables.Item("Date de situation").Value = "31/10/2006" ActiveDocument.Variables.Item("Date début historique imputation YYYYMM").Value = "199901" ActiveDocument.Variables.Item("Date fin historique imputation YYYYMM").Value = "209901" ActiveDocument.Variables.Item("Société").Value = "001" 'Pour chaque valeur contenu dans l'objet liste, on itére Matricule = liste.Values For j = 1 To UBound(Matricule) 'Complète le paramètrage ActiveDocument.Variables.Item("Matricule").Value = Matricule(j) 'On rafraichit tout les reports ActiveDocument.Refresh ActiveDocument.ExportAsPDF (FctUti.GetPathFileSaveComplex("DOC_RH", "FICHE_INDIV") & "_" & Matricule(j) & ".pdf") 'ActiveDocument.ExportAsPDF ("\\M-asp\DocRH\REPORTING\FI_" & Matricule(j) & ".pdf") Next j 'Ecriture de l'heure de fin de l'exécution FctUti.WriteInfo (Parametres) Document_BoucleSurMatricule_Exit: Application.Interactive = True Set FctUti = Nothing On Error GoTo 0 Exit Sub Document_BoucleSurMatricule_Err: FctUti.GestErreur ThisDocument.Name Resume Document_BoucleSurMatricule_Exit End Sub |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Hum. Donc ça serait un problème d'appel à une fonction un peu... exotique non ?
Est-ce que tu as moyen de faire tourner cette macro en mode manuel mais sur le serveur Webi pour voir ?
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 14 ![]() |
Je l'ai déjà déclenchée en exécutant la macro en local (ok ça marche)
par contre je ne sais pas comment faire pour tester cette macro comme tu me le demande. En fait je ne suis sûr de comprendre |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Ben normalement c'est ton serveur Webi qui fait tourner le BCA. Donc il faudrait aller sur le serveur Webi (ouvrir une session windows quoi), accéder au rapport sous cette session et regarder si ça tourne. C'est peut-être seulement la version du VBA du serveur Webi qui n'est pas la bonne, ou alors il lui manque des librairies par rapport à ton poste.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 14 ![]() |
Voilà pourquoi je n'avais pas percuter tout de suite.
Je n'ai pas de BO d'installer sur la même machine que le serveur BCA car déconseillé (source BO). Je vais quand même l'insatller temporairement juste pour le test Cyril |
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Euh va pas tout planter non plus hein, mais c'est vrai que ça serait une base pour résoudre le problème...
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 14 ![]() |
Certes, la fin mois approche et le reporting mensuel également.
Je vais donc avancer sur des oeufs Je te tiens informé. Cyril |
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 14 ![]() |
C'est à rien y comprendre
Le problème survient dès que j'utilise les fonction de date !!!! Du style DateAdd, Day ou encore Date. Je m'en suis rendu compte en recopiant ma fonction LastDayOfMonth de ma Dll directement dans le corps de la macro. Je suis dessus depuis Lundi et je vais finir par abandonner. C'est pas mon style mais là je perds trop de temps |
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Je pense qu'effectivement le gain du rafraichissement automatique par BCA par rapport au rafraichissement manuel (lancement de la macro sur un poste).
Personnellement j'ai abandonné le BCA pour les rafraichissement via macro, pas parce que ça ne marchait pas bien mais parce que je trouvais que c'était plus pratique...
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 14 ![]() |
Je crois que je vais adopter la même philo.
Encore merci pour t'on aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com