Admin.ReadTimeSheetSettings メソッド
タイムシートの現在の設定を読み取ります。
名前空間: WebSvcAdmin
アセンブリ: ProjectServerServices (ProjectServerServices.dll 内)
構文
'宣言
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Admin/ReadTimeSheetSettings", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Admin/", _
ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Admin/", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function ReadTimeSheetSettings As TimeSheetSettingsDataSet
'使用
Dim instance As Admin
Dim returnValue As TimeSheetSettingsDataSet
returnValue = instance.ReadTimeSheetSettings()
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Admin/ReadTimeSheetSettings", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Admin/",
ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Admin/",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public TimeSheetSettingsDataSet ReadTimeSheetSettings()
戻り値
型: WebSvcAdmin.TimeSheetSettingsDataSet
タイムシートの現在の設定が含まれています。
注釈
注意
Project Web Appのサイトは、 System.InvalidCastExceptionを取得するからMicrosoft Office Project Server 2007サイトのアップグレードから、返されたTimeSheetSettingsDataSetでWADMIN_TS_PROJECT_MANAGER_COORDINATIONを照会する場合、作成します。フィールドの値は、 DBNullは、アプリケーションがBooleanの値にキャストできません。
タイムシートの設定は、[タイムシートの設定および既定値ページProject Web App (http:///ServerName/ProjectServerName/_layouts/pwa/Admin/TSSettings.aspx) で設定できます。
プロジェクト サーバーのアクセス許可
権限 |
説明 |
---|---|
Project Server にログオンすることができます。グローバル アクセス権。 |
例
次の使用例は、 SvcAdmin名前空間 ProjectServerServices.dll プロキシ アセンブリにします。ConfigClientEndpointsメソッドは、WCF のバインディング、動作、およびエンドポイントの設定を app.config ファイルを使用します。PSI プロキシ アセンブリと app.config ファイルを作成する方法の詳細については、 Project 2013 での WCF ベースのコード サンプルの前提条件を参照してください。
DBNullをWADMIN_TS_PROJECT_MANAGER_COORDINATIONの値には、アプリケーションがFalseとして値を扱う必要があります。例では、 GetPMCoordinationメソッドは、 WADMIN_TS_PROJECT_MANAGER_COORDINATIONの値をチェックするのにConvert.IsDBNullを使用します。
using System;
using System.Text;
namespace Microsoft.SDK.Project.Samples.ReadTimeSheetSettings
{
class Program
{
private const string ENDPOINT = "basicHttp_Admin";
private const string OUTPUT_FILES = @"C:\Project\Samples\Output\";
private static SvcAdmin.AdminClient adminClient;
private static string outFilePath;
static void Main(string[] args)
{
outFilePath = OUTPUT_FILES + "TimesheetSettings.xml";
ConfigClientEndpoints(ENDPOINT);
Console.WriteLine("Retrieving the timesheet settings...");
SvcAdmin.TimeSheetSettingsDataSet timesheetSettingsDs =
new SvcAdmin.TimeSheetSettingsDataSet();
timesheetSettingsDs = adminClient.ReadTimeSheetSettings();
if (GetPMCoordination(timesheetSettingsDs))
Console.WriteLine(
"\nProject managers can view timesheet line item approvals.");
else
Console.WriteLine(
"\nProject managers cannot view timesheet line item approvals.");
timesheetSettingsDs.WriteXml(outFilePath);
Console.WriteLine("\nSee XML output of the TimeSheetSettingsDataSet at:\n\t{0}",
outFilePath);
Console.Write("\nPress any key to exit... ");
Console.ReadKey(true);
}
private static bool GetPMCoordination(SvcAdmin.TimeSheetSettingsDataSet tsSettings)
{
bool pmCoord = false;
// Check whether WADMIN_TS_PROJECT_MANAGER_COORDINATION is DBNull, which can occur
// in upgrades from Project Server 2007 to Project Server 2010.
// If so, treat the value as false.
if (!Convert.IsDBNull(
tsSettings.TimeSheetSettings[0].WADMIN_TS_PROJECT_MANAGER_COORDINATION))
{
pmCoord = true;
}
return pmCoord;
}
// Use the endpoints that are defined in app.config to configure the client.
public static void ConfigClientEndpoints(string endpt)
{
adminClient = new SvcAdmin.AdminClient(endpt);
}
}
}
アプリケーションが保存されている TimesheetSettings.xml ファイルの例を次に示します。
<?xml version="1.0" standalone="yes"?>
<TimeSheetSettingsDataSet xmlns="https://schemas.microsoft.com/office/project/server/webservices/TimeSheetSettingsDataSet/">
<TimeSheetSettings>
<WADMIN_UIDFAKE>446855fe-d085-4ba0-8006-9fce73e9c9fb</WADMIN_UIDFAKE>
<WADMIN_TS_IS_UNVERS_TASK_ALLOWED>true</WADMIN_TS_IS_UNVERS_TASK_ALLOWED>
<WADMIN_TS_PROJECT_MANAGER_COORDINATION>true</WADMIN_TS_PROJECT_MANAGER_COORDINATION>
<WADMIN_TS_PROJECT_MANAGER_APPROVAL>false</WADMIN_TS_PROJECT_MANAGER_APPROVAL>
<WADMIN_TS_IS_AUDIT_ENABLED>false</WADMIN_TS_IS_AUDIT_ENABLED>
<WADMIN_TS_IS_FUTURE_REP_ALLOWED>true</WADMIN_TS_IS_FUTURE_REP_ALLOWED>
<WADMIN_TS_FIXED_APPROVAL_ROUTING>false</WADMIN_TS_FIXED_APPROVAL_ROUTING>
<WADMIN_TS_TIED_MODE>true</WADMIN_TS_TIED_MODE>
<WADMIN_TS_MIN_HR_PER_TS>0.000000</WADMIN_TS_MIN_HR_PER_TS>
<WADMIN_TS_MAX_HR_PER_TS>59940000.000000</WADMIN_TS_MAX_HR_PER_TS>
<WADMIN_TS_MAX_HR_PER_DAY>59940000.000000</WADMIN_TS_MAX_HR_PER_DAY>
<WADMIN_TS_HOURS_PER_DAY>480000.000000</WADMIN_TS_HOURS_PER_DAY>
<WADMIN_TS_HOURS_PER_WEEK>2400000.000000</WADMIN_TS_HOURS_PER_WEEK>
<WADMIN_TS_DEF_DISPLAY_ENUM>7</WADMIN_TS_DEF_DISPLAY_ENUM>
<WADMIN_TS_CREATE_MODE_ENUM>1</WADMIN_TS_CREATE_MODE_ENUM>
<WADMIN_TS_REPORT_UNIT_ENUM>0</WADMIN_TS_REPORT_UNIT_ENUM>
<WADMIN_TS_DEF_ENTRY_MODE_ENUM>0</WADMIN_TS_DEF_ENTRY_MODE_ENUM>
<WADMIN_DEFAULT_TRACKING_METHOD>1</WADMIN_DEFAULT_TRACKING_METHOD>
<WADMIN_IS_TRACKING_METHOD_LOCKED>true</WADMIN_IS_TRACKING_METHOD_LOCKED>
<WADMIN_TS_ALLOW_PROJECT_LEVEL>true</WADMIN_TS_ALLOW_PROJECT_LEVEL>
</TimeSheetSettings>
</TimeSheetSettingsDataSet>