|
Forums, dernières contributions
Zikos Gregoris
Voici quelques lignes de codes à copier dans un fichier. vbs qui devraient vous aider, ills suffit de remplacer le Msgbox par une ecriture dans un fichier csv et ca devrait etre un bon debut ;)
testé sur XI3.1 et devrait fonctionner en XI2 aussi Cordialement, Gregoris Zikos Pour les rapports Dim SessionManager Dim esession Dim iStore Dim FolderName Const CEuser = 'User' 'This is a BO admin Const cePassword = 'Password' 'password for User specified above Const CECMS = '@cms' 'Cms to connect Const CEAuth= 'secEnterprise' 'Auth Type, usually secEnterprise CEUserSession CEUser, CEpassword, CECMS, CEAuth QueryStr = 'select * from CI_INFOOBJECTS where SI_KIND in ('Webi','FullClient') order by SI_NAME' Set Reports = iStore.Query(QueryStr) For Each Report in Reports Set PluginMgr = IStore.PluginManager Set ObjectPlugin = PluginMgr.PluginInfo('CrystalEnterprise.Webi') Set ReportObject = Report.PluginInterface('') ReportID = ReportObject.ID 'Wscript.Echo Reportid FolderList = '' If ReportObject.ParentID 49 Then If ReportObject.Parent.ParentID 4 Then If ReportID 0 Then ' Wscript.Echo 'Level 1' Set DocHierParent = ReportObject.Parent While ReportID 0 If ReportID 4 Then ' Wscript.Echo 'Level 2' oldfolderlist = FolderList newfolder = DocHierParent.Title FolderList = newfolder & '/' & oldfolderlist ReportID = DocHierParent.ParentID Set DocHierParent = DocHierParent.Parent ' Wscript.echo FolderList Else ' Wscript.Echo 'Level 3' ReportID = ReportObject.ParentID Set DocHierParent = ReportObject.Parent End If Wend ' ' Rng(RowNum, 3) = Left(DocumentItem.Parent.Kind & ':' & FolderList, Len(DocumentItem.Parent.Kind & ':' & FolderList) - 1) ' Wscript.Echo newfolder 'Wscript.Echo Left(FolderList, Len(FolderList) - 1) & ' ' & Pathfile End If End If End If ' End If ReportsName = Report.Properties('SI_NAME').Value ReportsDescription = Report.Properties('SI_DESCRIPTION').Value 'GetfolderName(Report.Properties('SI_PARENT_FOLDER').Value) MsgBox('Universe Name : ' & ReportsName & Chr(10) & 'Description' & ReportsDescription & Chr(10) & 'Universe Folder :' & Left(FolderList, Len(FolderList) - 1)) Next Function CEUserSession(CEUser, CEpassword, CECMS, CEAuth) 'Create BO Session set oEnterpriseSessionMgr = CreateObject('CrystalEnterprise.SessionMgr') set ceSession = oEnterpriseSessionMgr.Logon(CEuser, CEpassword, CECMS, CEAuth) set iStore = ceSession.Service('','InfoStore') End Function Function GetfolderName(ParentId) QueryFolderStr = 'select * from CI_INFOOBJECTS where SI_ID = ' & ParentId &' order by SI_NAME' Set Folders = iStore.Query(QueryFolderStr) If FOLDERS.count > 0 Then Set Folder = Folders(1) FolderName = Folder.Properties('SI_NAME').Value End If End function pour les univers Dim SessionManager Dim esession Dim iStore Dim FolderName Const CEuser = 'User' 'This is a BO admin Const cePassword = 'Password' 'password for User specified above Const CECMS = '@cms' 'Cms to connect Const CEAuth= 'secEnterprise' 'Auth Type, usually secEnterprise CEUserSession CEUser, CEpassword, CECMS, CEAuth QueryStr = 'select * from CI_APPOBJECTS where SI_KIND = 'Universe' order by SI_NAME' Set Universes = iStore.Query(QueryStr) For Each UniverseItem In Universes UniverseName = UniverseItem.Properties('SI_NAME').Value UniverseDescription = UniverseItem.Properties('SI_DESCRIPTION').Value GetfolderName(UniverseItem.Properties('SI_PARENT_FOLDER').Value) MsgBox('Universe Name : ' & UniverseName & Chr(10) & 'Description' & UniverseDescription & Chr(10) & 'Universe Folder :' & FolderName) Next Function CEUserSession(CEUser, CEpassword, CECMS, CEAuth) 'Create BO Session set oEnterpriseSessionMgr = CreateObject('CrystalEnterprise.SessionMgr') set ceSession = oEnterpriseSessionMgr.Logon(CEuser, CEpassword, CECMS, CEAuth) set iStore = ceSession.Service('','InfoStore') End Function Function GetfolderName(ParentId) QueryFolderStr = 'select * from CI_APPOBJECTS where SI_ID = ' & ParentId &' order by SI_NAME' Set Folders = iStore.Query(QueryFolderStr) If FOLDERS.count > 0 Then Set Folder = Folders(1) FolderName = Folder.Properties('SI_NAME').Value End If End function |