コンテンツにスキップ

開発者向け機能:サーバスクリプト:saved

概要

サーバスクリプトで使用可能な更新前の「レコード」の情報をもつオブジェクトです。プロパティを使用し項目の値の読み取りが行えます。

制限事項

  1. 「更新前」の条件で意味を持ちます。その他の条件では、参照できても model と同等となります。
  2. 添付ファイル項目コメント項目は使用できません。
  3. 項目のアクセス制御で「読み取り権限」の無い項目は取得できません。
  4. 項目のアクセス制御で「更新権限」の無い項目は値を代入しても画面の表示を変更できません。
  5. 画面上に存在しない項目は取得できません。画面上にない項目を取得するには「AlwaysGetColumnsオブジェクト」を使用してください。

プロパティ

No プロパティ名 type 説明
1 IssueId / ResultId long ID項目
2 SiteId long 「サイトID項目」
3 Creator int 作成者項目
4 CreatedTime DateTime 作成日時項目
5 Updator int 更新者項目
6 UpdatedTime DateTime 更新日時項目
7 Ver int バージョン項目
8 Title string タイトル項目
9 Body string 内容項目
10 StartTime DateTime 開始項目
11 CompletionTime DateTime 完了項目
12 WorkValue decimal 作業量項目
13 ProgressRate decimal 進捗率項目
14 RemainingWorkValue decimal 残作業量項目
15 Status int 状況項目
16 Manager int 管理者項目
17 Owner int 担当者項目
18 Locked bool ロック項目
19 ClassA~ string 分類項目
20 NumA~ decimal 数値項目
21 DateA~ DateTime 日付項目
22 DescriptionA~ string 説明項目
23 CheckA~ bool チェック項目

メソッド

メソッドはありません。

使用例

「更新前」であっても model には、画面や CSV から送信されたデータで変更された値(これからデータベースに保持される値)が保持されています。
このため、model.Status が何であるかを判定するサーバスクリプトでは、ある状態に変更されたときだけ動作させたい処理を実現することが難しいです。
下記の例では状況項目が変化したかを saved を使って判定しています。

JavaScript(サーバスクリプト)
const prevStatus = saved.Status;
const currentStatus = model.Status;
if(prevStatus !== currentStatus) {
  context.Log(`Status just has been changed.`);
}

同様にして、特定のデータ項目の変更前後の監視を実現することができます。

また、更新後に同様の判定を行いたい場合には context.UserData に変更があったことを検知する共有変数を保持することで実現できる可能性があります。

ステータスに対して羃等(idempotent)な処理については、このような対応をする必要はありません。

関連情報