Hallo alle zusammen,
Ich habe mich gefragt, wie ich das verwenden kann, was von Getting a Scriptable object zurückgegeben wird.
Ich habe zum Beispiel diesen Code, den ich mit der Distributionsplattform verwende
biv={};
Biv1={};
Biv2={};
Biv3={};
test=0;
Biv1 = Current Report()[OutlineBox(1)] << Get Scriptable Object;
Biv2 = Current Report()[OutlineBox(2)] << Get Scriptable Object;
Biv3 = Current Report()[OutlineBox(3)] << Get Scriptable Object;
if(biv3=={Distribution[]},
Biv = Current Report()[OutlineBox(3)] << Get Scriptable Object;
test=3;
,
biv2=={Distribution[]},
Biv = Current Report()[OutlineBox(2)] << Get Scriptable Object;
test=2;
,
biv1=={Distribution[]},
Biv = Current Report()[OutlineBox(1)] << Get Scriptable Object;
test=1;
,
".";
);Das Problem ist, dass meine If-Anweisung nicht funktioniert, da keiner der Biv1-3 den Rückgabewert des Scripital-Objekts erkennt.
Ich verwende dies, um festzustellen, ob ein lokaler Datenfilter oder Spaltenumschalter vorhanden ist, und gebe daher das richtige Gliederungsfeld zurück.
Wenn es kein LDF oder CS gibt, verwende ich Outline Box 1, wenn es entweder ein LDF oder CS gibt, verwende ich Outline Box 2, wenn es sowohl ein LDF als auch ein CS gibt, verwende ich Outline Box 3.
Danke für Ideen
Steve
Wenn Sie nur nach der richtigen Gliederungsbox suchen, warum verwenden Sie dann nicht den Namen der Gliederungsbox in Ihrem Code?
SpecifcBox = Report(Biv)[OutlineBox("Name of the box you are after")]Vielleicht könntest du versuchen, diese in Charaktere umzuwandeln? Ich bin mir nicht sicher, wie robust das wäre, könnte aber gut funktionieren:
if(char(biv3) == "Distribution[]",<BR />...
Das war wirklich gut zu lesen und ich bin mir sicher, dass ich es in einem anderen Skript verwenden werde, aber die Hilfe, die ich brauche, ist nicht zu wissen, ob eine Outline-Box existiert, sondern welche die Distribution[]-Box ist.