Viele CustomFields sind mit Werten aus Lookup Tabellen verknüpft.

Diese Werte sind nicht einfach unter der "TEXT_VALUE" Eigenschaft des CustomFields zu finden.

 

Um an den richtigen Wert heranzukommen benötigen wir drei Schritte:

 

1. Schritt - Zuerst brauchen wir ein CustomField

//CustomField ermitteln:

foreach (Microsoft.Office.Project.Server.Schema.CustomFieldDataSet.CustomFieldsRow cfrow

in cfDS.CustomFields)

{

  if (cfrow.MD_PROP_NAME == "meinCustomField")

     {

          meinCustomFieldUID = cfrow.MD_PROP_UID;//Guid des CustomFields

          break;

     }

}

 

2. Schritt - Die Guid des Eintrags ermitteln 

//Unter der CODE_VALUE Eigenschaft des CustomFields wird die Guid des entsprechenden Eintrags

aus der Lookup Tabelle erfasst. Hier ist es wichtig, noch zusätzlich nach der Guid des Vorgangs (Task) zu prüfen

(Weil wir uns in diesem Beispiel auf Vorgangsebene bewegen, haben wir eine taskUID):

 

foreach(Microsoft.Office.Project.Server.Schema.ProjectDataSet.TaskCustomFieldsRow

trow in projectDS.TaskCustomFields)

{

     if (trow.MD_PROP_UID == meinCustomFieldUID && trow.TASK_UID == taskUID)

          {

               wertUID = trow.CODE_VALUE;

               break;

          }

}

 

3. Schritt - Wert aus der Lookup Tabelle holen 

//Unter LT_VALUE_TEXT wird der eigentliche Text gespeichert:

 

Microsoft.Office.Project.Server.Schema.LookupTableDataSet lookupDS = new

Microsoft.Office.Project.Server.Schema.LookupTableDataSet();

lookupDS = lookUpTabService.ReadLookupTables(null, false, 1033);

DataRow ltRowCE = lookupDS.LookupTableTrees.FindByLT_STRUCT_UID(wertUID);

if (ltRowCE != null)

     {

          stringMeinWert = ltRowCE.Field("LT_VALUE_TEXT");

      }

 

Nun haben wir unter stringMeinWert den eigentlichen Wert gespeichert. Wie wir die PSI Dienste ansprechen

wird unter dem folgenden Blogeintrag beschrieben:

http://www.grobmanschwarz.de/de-ms-project-blog/331-psi-direkt-ansprechen

Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv
 
Abonnieren Sie unsere Mailingliste

Kontaktformular Footer

Sie wünschen ein Beratergespräch?

Kontaktieren Sie uns - wir stehen Ihnen gerne zur Verfügung.

☎ +49 89 943 843 2-0

service@grobmanschwarz.de

Ihr Ansprechpartner:
Sebastian Vorgel

☎ +49 89 943 843 2-0
service@grobmanschwarz.de 

Grobman & Schwarz_Ihr Ansprechpartner für Dynamics-NAV

Unser Top-Seller gsPlus,
ein Produktbundle für
Microsoft Project
Server
 und Project Online 

Grobman & Schwarz auf der CeBIT

Abonnieren Sie unsere Mailingliste

Go to Top