Получение типов корпоративных проектов с использованием интерфейса Project Server - PullRequest
0 голосов
/ 08 сентября 2011

В настоящее время я создаю приложение для программного создания проектов в Microsoft Project Server с использованием веб-служб, предоставляемых через интерфейс Project Server (PSI).

Я могу создать проект с типом корпоративного проекта, используяметод QueueCreateProject, однако мне нужно указать GUID EPT, который я не хочу жестко кодировать в коде.

Есть ли другой веб-сервис или способ получить GUID определенного EPT, найденногопо его имени?

Кроме того, можно ли сделать то же самое для пользовательских полей таким же образом?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2012

Вот ответ: https://stackoverflow.com/a/12267251/1594383

Вкратце: методы доступны из сервиса Workflow.

0 голосов
/ 08 сентября 2011

Я думаю, что вы ищете Параметры фильтра PSI . Проверьте этот пост для примера получения Guid пользовательского поля.

Действительно, я думаю, что ключ устанавливает критерии фильтра:

cfFilter.Criteria = new PSLibrary.Filter.FieldOperator(equal, nameColumn, customFieldName);

Где nameColumn - это cfDataSet.CustomFields.MD_PROP_NAMEColumn.ColumnName, а customFieldName - это значение, которое вы передаете.

Если вы похожи на меня, вы хотите сделать это для многих полей. Я использовал фильтр для запроса всех имен полей и MD_PROP_UID, а затем просто поместил его в хеш-таблицу, чтобы мне больше не приходилось делать вызовы PSI.

Отказ от ответственности: я использую 2007, но я предполагаю, что это в основном то же самое для пользовательских полей (не для части EPT, которую я не включил).

...