Rafraichir et imprimer plusieurs requêtes

UJAP

XLDnaute Occasionnel
Salut,

Dans le cadre de mon travail, je dois mensuellement rafraîchir et imprimer 30 requêtes BO afin de vérifier mon travail. Je voudrai savoir si il existe un moyen simple d’effectuer un traitement groupé ?

Car pour l’instant je traite les requête une par une donc je rafraichie puis j’imprime.

Existe-t-il une solution pour m’aider dans mon travail ?

NB : Je n’ai pas le BCA,

Merci pour votre aide,

Bon week-end,
 

JCGL

XLDnaute Barbatruc
Re : Rafraichir et imprimer plusieurs requêtes

Bonjour à tous,

Si tu n'as pas BrodCast Agent, il faudrait "bidouiller"

Pour le rafraichissement et l'impression mais cela se déroulera à chaque rafraichissement.... :

Code:
 ' A placer dans un module standard
Option Explicit
Sub Export_Structure()
Dim Item(1) As Document
Dim Source As String
Dim Cible As String
Source = "[URL="file://\\exploitation...............\My"]\\exploitation...............\My[/URL] Documents\My Business Objects Documents\userDocs" ' Définition du Chemin de la Source
Cible = "[URL="file://\\exploitation...................\My"]\\exploitation...................\My[/URL] Documents\My Business Objects Documents\Export" 'Définition du chemin de la Cible
Set Item(1) = Application.Documents.Open(Source & "\Structure.rep")
ActiveReport.ExportAsExcel (Cible & "\Export_Structure.xls") 'Pour exporter en XLS
ActiveReport.ExportAsText (Cible & "\Export_Structure.txt") 'Pour exporter en TXT
ActiveReport.PrintOut 'Pour lancer limpression
End Sub

Bien sur tu mets en commentaire les ActiveReportExportAs... si tu n'en as pas besoin

A placer dans le ThisDocument :

Code:
Private Sub Document_AfterRefresh()
Call Export_Structure
End Sub

Ensuite il faudrait jouer avec le rafraichissement automatique et paramétrer les jours de fin de mois (donc à modifier tous les mois....)
Voir la pièce jointe

Il y aurait aussi la possibilité d'un code OnTime mais là je laisse les pros opérer....

A+ à tous
 

Pièces jointes

  • Capture BO.JPG
    Capture BO.JPG
    50.2 KB · Affichages: 927

UJAP

XLDnaute Occasionnel
Re : Rafraichir et imprimer plusieurs requêtes

Salut à tous,

Nath, je n’ai pas accès dans ma version à la planification des requêtes. J’avais tout d’abord regardé dans l’aide. Malheureusement je n’avais pas trouvé de solutions à mon problème.

Merci JCGL pour ta réponse mais peux-tu me guider. Où faut-il placer ses codes par rapport à BO ? et que faut-il modifier pour le rafraîchissement de ma requête génère une impression et un enregistrement ?

Merci à tous,
 

JCGL

XLDnaute Barbatruc
Re : Rafraichir et imprimer plusieurs requêtes

Bonjour à tous,

Tu accèdes a VBEditor par Alt F11
Sur une requête ouverte :

Place dans le ThisDocument le petit bout de code prévu plus haut
Place dans un module standard le code prévu plus haut

Tu remarqueras que le code se lance après un Rafraichissement (AfterRefresh)

Fais un essai en manuel sur une petite requête en nombre de page à imprimer ET après avoir placé ce petit code dans le module ThisDocument

Code:
Private Sub Document_AfterRefresh()
ActiveReport.PrintOut 'Pour lancer l'impression
End Sub
ET en cliquant sur l'icône Rafraichir les données ou par Données / Rafraîchir les Données

Ensuite tu peux tester le Rafraichissement Automatique comme le montre l'image déposée plus haut en passant par Données / Visualiser les Données

A+ à tous
 
Dernière édition:

David Aubert

XLDnaute Barbatruc
Administrateur
Modérateur
Re : Rafraichir et imprimer plusieurs requêtes

Bonjour à tous,

Effectivement dans les versions 5 et 6 de BO il n'y avait pas de planificateur intégré.
Comme le dit JCGL il y avait le Broadcast Agent qui était un planificateur à acheter à part à un tarif exhorbitant.
Dans BO XI R2 et R3 il y a Infoview et DESKI.
La planification à partir d'Infoview est très bien faite et elle est très puissante.

Sous BO V5 et V6 il faut bidouiller avec des macros comme proposées par JC.

Honnêtement je ne te conseille pas de le faire si tu ne maitrises pas le VBA...

Bon courage

David
 

macrylinda

XLDnaute Nouveau
Re : Rafraichir et imprimer plusieurs requêtes

Salut Nath,

Merci pour ta réponse,

Je suis un simple utilisateur de BO version 6.5. Je dois par l’intermédiaire de cet outil tous les mois rafraîchir et imprimer de nombreuses requêtes. L’objectif était d’automatiser Ces tâches.

Que signifie Infoview ? Et où le trouver ?

Merci,

Il y a 2 types (tout du moins j'en connais que 2..) d'accès à BO

> version Web = Infoview

> version client lourd = "logiciel" installé sur ton PC = Deski

Avant d'aller plus loin, quelle version utilises-tu ?
 

Ashaar

XLDnaute Junior
Re : Rafraichir et imprimer plusieurs requêtes

Bonjour,

30 requêtes ? c'est 30 rapports (xx.rep) ?

Dans l'affirmative, tes 30 rapports sont placé ou ?
- En local sur ton poste ou sur un répertoire réseau (fichier/ouvrir..) ?
- Dans le référentiel BO (Fichier/récupérer de/documents d'entreprises) ?
 

Ashaar

XLDnaute Junior
Re : Rafraichir et imprimer plusieurs requêtes

Bon, un petit bout de code pour ouvrir, rafraîchir, imprimer, fermer les rapports BO.

On supposera que les rapports BO sont tous placés au même endroit (Dans l'exemple : Le répertoire de stockage par défaut de BO).

Je n'ai pas géré les parametres d'invitations, il t'appartiendra de les renseigner au fur à mesure de l'exécution de la macro.

Par défaut, j'ai supposé que tu ne souhaitais pas enregistrer le rapport avant de le fermer.
J'ai ajouté un commentaire pour le modifier si besoin.


Méthode pour coller la macro VB :
Tu ouvres un nouveau document BO
combinaison des touches Alt + F11 pour accéder à l'interface Visual Basic
Dans les menus, tu cliques sur : Insertion/Module

Dans le Module, tu colles le code suivant ci après
(Puis F5 pour exécuter la macro ou F8 pour l'exécuter pas à pas).



Sub test()

Dim oFS As Variant, oLecteur As Variant, oRepertoire As Variant
Dim Dossier As Variant, oRepertoir As Variant
Dim ofichier
Dim Doct As Document

Set oFS = CreateObject("Scripting.FileSystemObject")
Set oLecteur = oFS.GetDrive("C")

Dossier = Application.GetInstallDirectory(boDocumentDirectory)
chem_sce = Dossier
If (oLecteur.IsReady) Then
If (Dossier <> "") Then
Set oRepertoire = oFS.GetFolder(Dossier)

'Boucle pour chaque rapport dans la directory déclarée
For Each ofichier In oRepertoire.Files
'Ouverture du document
Set Doct = busobj.Application.Documents.Open(ofichier.Name)
'Rafraîchissement du document
Doct.Refresh
'Impression du document
Doct.PrintOut
'Optionnel - fermeture du document
'(False) si on ne veut pas enregistrer le document
'(True) si on veut enregistrer le document
Doct.Close (False)
Next
End If
End If
End Sub



Hop donc.
 

Zivodul8

XLDnaute Nouveau
Re : Rafraichir et imprimer plusieurs requêtes

Bonjour à tous,

J'aimerai savoir comment imprimer seulement une certaine plage de page, exemple "Pages 3 à 3", puisque dans mon cas je ne souhaite que la page 3.

Je suppose que c'est toujours avec PrintOut mais pour la plage...

Merci d'avance ;-)
 

chrystelle

XLDnaute Nouveau
Re : Rafraichir et imprimer plusieurs requêtes

Donnez-moi un peu de temps, laissez-moi y réfléchir, je vais vous donner la réponse

---------------------------------------------------------------------------------------
 
Dernière édition:

Statistiques des forums

Discussions
312 345
Messages
2 087 477
Membres
103 553
dernier inscrit
jhnm