タイムカードを自動生成

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:2分
  • アドミンは、タイムカードユーザーに割り当てられたプロジェクトタスクのタイムカードを自動的に生成するように、スケジュール済みジョブを設定できます。

    始める前に

    必要なロール:admin

    このタスクについて

    手動オプション [タイムカードを生成] に加えて、スケジュール済みジョブを実行して、プロジェクトタスクのタイムカードを自動的に生成することもできます。たとえば、毎週日曜日にジョブを毎週実行するようにスケジュールして、翌週のすべてのユーザーのタイムシートを生成することができます。組織のビジネスプロセスに基づいて、スケジュール済みジョブをいつ実行するかを設定できます。デフォルトでは、スケジュール済みジョブはオフになっています。詳細については、「 スクリプト実行のスケジュール 」を参照してください。
    注:
    スケジュール済みジョブでは、割り当てられたタイムシートポリシー[タイムカードを毎週自動作成する] オプションが true に設定されているユーザーに対してのみ、タイムカードが自動生成されます。

    手順

    1. 移動先 すべて > システム定義 > スケジュール済みジョブ.
    2. [スケジュール済みジョブ] リストで、[タイムカードの自動生成] を選択します。
    3. ビジネス要件に従って、スクリプトで次のパラメーターを構成します。
      • 実行対象 (CURRENT_WEEK, NEXT_WEEK, LAST_WEEK)
      • グループ名 (includeGroups、excludeGroups)
      注:
      • タイムカードの週にプロジェクトタスクのタイムカードが存在する場合、重複するタイムカードは作成されません。
      • タイムカードは、週中に進行中または予定されているプロジェクトタスクに対してのみ生成されます。
      • [プロジェクトフォーム][タイムカードレポートを許可]フィールドによって、プロジェクトタスクのタイムカードを作成できるレベルが決まります。

    次のスクリプト例は、スケジュール済みジョブが実行され、データベースグループとハードウェアグループの現在の週のタイムカードが生成されるときに実行されます。

    // Clone this schedule job to run separately for different groups at different times
    // One of the following values
    // TimeCardConstants.CURRENT_WEEK
    // TimeCardConstants.NEXT_WEEK
    // TimeCardConstants.LAST_WEEK
    var runFor = TimeCardConstants.CURRENT_WEEK;
    
    // Comma separated group sys ids or group names. TimeSheet/TimeCards will be auto generated for time card users in the given groups.
    var includeGroups = [Database,Hardware];
    var excludeGroups = [];
    
    var generator = new TimeCardGenerator();
    generator.generateFromConfig(runFor, includeGroups, excludeGroups);