Page 1 of 1

Felder befüllen mit Server Side scripting

Posted: 08. Apr 2013, 13:14
by ayk
Hallo zusammen,

ich möchte einem Formular einen AD Account auswählen und mir zu diesem Department, CostCenter und Location anzeigen lassen. Die Datendefinition hinter dem Formular hat eine Relation auf die AD Account Tabelle. Soweit kein Problem. Wenn ich nun einen Account aus der Relation auswähle soll ein anderes Feld des Dialogs mit z.B. der Organisationseinheit des gewählten Accounts gefüllt werden.

Im Hintergrund müsste also eine Abfrage ausgeführt werden die die OU des Accounts ermittelt.
Soweit ich bisher herausgefunden habe, sollte das mit dieser ServerSide Funktion möglich sein:

Code: Select all

update4u.SPS.DataLayer.DataReader.ClassReader.GetValue(strClassName, guidIDOfClass, strASQLQuery) 
So z.B.:

Code: Select all

update4u.SPS.DataLayer.DataReader.ClassReader.GetValue("SPSAccountClassBase", "ID des ausgewählten User", "T(SPSCommonClassBase).OU.IDName") 
Wie baue ich das jetzt in meine Dialog ein?
Unter den erweiterten Eigenschaften des Feld ADAccount habe ich autopostback="true" aktiviert. Im Skript des Dialog habe ich folgendes eingetragen:

Code: Select all

var varOU = "<%=update4u.SPS.DataLayer.DataReader.ClassReader.GetValue("SPSAccountClassAD","9C643530-FBAB-4447-886D-C5D7F74C4F38","T(SPSCommonClassBase).OU.IDName")%>"; 

alert(varOU);
Edit:
Wie oben geschrieben wird das Script ausgeführt. Allerdings scheint da noch ewas am Aufruf falsch zu sein. Das Log sagt.
ERROR: Content for selected tab is not available.; System.Web.HttpCompileException: (0): error CS1502: The best overloaded method match for 'update4u.SPS.DataLayer.DataReader.ClassReader.GetValue(string, System.Guid, string)' has some invalid arguments

Re: Felder befüllen mit Server Side scripting

Posted: 27. Sep 2018, 12:51
by T.W.
Der 2. Parameter muss vom Typ System.Guid sein

Code: Select all

var varOU = "<%=update4u.SPS.DataLayer.DataReader.ClassReader.GetValue("SPSAccountClassAD",new Guid("9C643530-FBAB-4447-886D-C5D7F74C4F38"),"T(SPSCommonClassBase).OU.IDName")%>"; 

alert(varOU);
müsste funktionieren.