2016-07-22 15 views
0

Wenn ich einen Bericht bearbeite, kann ich auf "Berichtcode" klicken, um Informationen über die Berichtsstruktur zu sehen. Es sieht so aus:IcCube - Zugriff auf Berichtscode mit Javascript

{ 
"classID": "ic3.ReportGuts", 
"guts_": { 
    "ic3Version": 12, 
    "schemaName": "test_schema", 
    "cubeName": "Cube", 
    "layout": { 
     "classID": "ic3.FixedLayout", 
     "guts_": { 
      "ic3Version": 12, 
      "grid": 10, 
      "boxes": [ 
       { 
        "classID": "ic3.FixedLayoutBox", 
        "guts_": { 
         "ic3Version":... 

Wie kann ich auf diese Informationen mit Javascript zugreifen? Kontext. $ Bericht offenbar nicht diese Informationen.

Gibt es auch eine Möglichkeit, die Informationen zu erhalten, welche MDX-Anweisungen in den verschiedenen Diagrammen eines Berichts verwendet werden? Und kann das mit Javascript geändert werden?

Antwort

1

zu erhalten, um Mut diesen Code in das Code Bericht melden hinzufügen:

function consumeEvent(context, event) {         
    if (event.name == 'ic3-report-init') {         
    console.log(event.value.state.report); 
    }                  
} 

Als mdx Anfrage vor senden für die Handhabung, es irgendwie schwieriger ist. Wieder in ReportCode:

function consumeEvent(context, event) {         
    if (event.name == 'ic3-report-init') {  
    event.value.widgetMgr().forEach(function(idx,item){ 
     if(item.hasOwnProperty('onVizBeforeRequestSend')){ 
      return; 
     } 

     var oldMethod = item.onVizBeforeRequestSend.bind(item); 
     item.onVizBeforeRequestSend = function(request){ 
      console.log(item, request); 
      oldMethod(request); 
     } 
    }); 
} 

In dieser Funktion Artikel ist widgetAdapter mit Informationen über das Widget und Anforderungsinstanz anfordern.

+0

1. Das Javascript sagt mir, dass event.value nicht definiert ist. wenn ich console.log (event), bekomme ich nur Object {type: null, name: "ic3-report-init", Wert: undefined} 2. Woher bekommst du dein Wissen? Gibt es einen Text, den ich lesen kann, um mehr über solche Sachen zu erfahren? – UlrichWuenstel

+0

@UlrichWuenstel Welche Version von Reporting verwenden Sie? –

+0

Ich versuchte es mit 5.1.7 und 5.2 – UlrichWuenstel