次の方法で共有


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) で設定できます。

プロジェクト サーバーのアクセス許可

権限

説明

LogOn

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>

関連項目

参照先

Admin クラス

Admin メンバー

WebSvcAdmin 名前空間