ユーザマニュアル

ITrevviewレビュー投稿で2,500円分アマギフプレゼント! 「プリザンターをもっと活用するために」資料ダウンロード

2025/12/15

MANUAL

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

## 概要 指定したレコードを更新します。 ## 構文 ``` items.Update(recordId, data) ``` ## パラメータ |パラメータ|型|必須|説明| |:----------|:----------|:---:|:---------------------------| |recordId|object|○|対象レコードのレコードIDを指定| |data|string|○|更新内容をJSON形式で指定| ## 戻り値 レコードを更新できたらtrue、更新できなかったらfalseを返却します。 ## サンプルコード ##### コード内の{{ ... }} は適宜修正してください。 <details> <summary>1. レコードIDを直接指定し更新</summary> レコードIDを直接指定し更新します。 ##### itemsUpdateP1.js ``` // レコードIDを指定しレコードを更新 const recordId = {{レコードID}}; const data = { Title: 'タイトル変更', ClassHash: { ClassA: '障害', }, }; const result = items.Update(recordId, JSON.stringify(data)); if (result) { logs.LogInfo(`更新成功`); } else { logs.LogUserError(`更新失敗`); } ``` ##### 実行結果 ``` (Info):更新成功 ``` </details> <details> <summary>2. 複数のレコードを更新</summary> 条件に該当するレコードを取得し、該当するレコード複数件を更新します。 ##### itemsUpdateP2.js ``` // 処理対象のサイト名を指定 const siteName = '{{サイト名}}'; // サイト情報を取得 const site = items.GetClosestSite(siteName); if (!site) { logs.LogInfo(`${siteName} サイト情報取得失敗`); return false; } // 状況が未着手(100)のデータを抽出対象とする const status_codes = `["100"]`; const data = { View: { ColumnFilterHash: { Status: `${status_codes}`, }, }, }; const results = Array.from(items.Get(site.SiteId, JSON.stringify(data))); for (const item of results) { // 状況を保留(910)に更新 const data = { Status: '910', }; const result = items.Update(item.ResultId, JSON.stringify(data)); if (result) { logs.LogInfo(`更新成功:Id=${item.ResultId}`); } else { logs.LogUserError(`更新失敗:Id=${item.ResultId}`); } } ``` ##### 実行結果 ``` (Info):更新成功:Id=9999 (Info):更新成功:Id=9999 (Info):更新成功:Id=9999 ``` </details> <details> <summary>3. 添付ファイルを削除</summary> 特定のレコードに添付されている添付ファイルをすべて削除します。 ##### itemsUpdateP3.js ``` // 処理対象のレコードID const recordId = {{レコードID}}; // レコード取得 const results = Array.from(items.Get(recordId)); if (!results || results.length === 0) { logs.LogInfo(`レコードが見つかりませんでした: Id=${recordId}`); return; } // AttachmentsAを扱いやすい形にパース const attachments = JSON.parse( $ps.JSON.stringify(results[0].AttachmentsA || []) ); if (attachments.length === 0) { logs.LogInfo(`添付ファイルなしのため更新不要: Id=${recordId}`); return; } // すべての添付の Guid を指定、Deleted=1 にして更新する(添付を削除する) const data = { AttachmentsHash: { AttachmentsA: attachments.map((attachment) => ({ Guid: attachment.Guid, Deleted: 1, })), }, }; const result = items.Update(recordId, JSON.stringify(data)); if (result) { logs.LogInfo( `更新成功: Id=${recordId}, 削除対象=${attachments.length}件` ); } else { logs.LogUserError(`更新失敗: Id=${recordId}`); } ``` ##### 実行結果 ``` (Info):更新成功: Id=9999, 削除対象=3件 ``` </details> <details> <summary>4. レコードのアクセス制御を設定</summary> 特定のレコードにレコードのアクセス制御を設定します。 ##### itemsUpdateP4.js ``` // 処理対象のレコードID const recordId = {{レコードID}}; // グループID=1に対して管理者権限をレコードのアクセス制御に付与する const data = { RecordPermissions: ['Group,1,511'], }; const result = items.Update(recordId, JSON.stringify(data)); if (result) { logs.LogInfo(`更新成功: Id=${recordId}`); } else { logs.LogUserError(`更新失敗: Id=${recordId}`); } ``` ##### 実行結果 ``` (Info):更新成功:Id=9999 ``` </details> <details> <summary>5. プロセスを実行</summary> 任意のプロセスを実行します。 ##### itemsUpdateP5.js ``` // 処理対象のレコードID const recordId = {{レコードID}}; // プロセスID=1を実行する const data = { ProcessId: 1, }; const result = items.Update(recordId, JSON.stringify(data)); if (result) { logs.LogInfo(`更新成功: Id=${recordId}`); } else { logs.LogUserError(`更新失敗: Id=${recordId}`); } ``` ##### 実行結果 ``` (Info):更新成功:Id=9999 ``` </details> ## 注意事項 こちらは[サーバスクリプト](/ja/manual/table-management-server-script)で使用するメソッドです。[スクリプト](/ja/manual/table-management-script)では使用できません。 ## 関連情報 ・[テーブルの管理:サーバスクリプト](/manual/table-management-server-script) ・[オブジェクトごとの実行タイミング](/manual/server-script-conditions) ・[itemsオブジェクト](/manual/server-script-items)
TOP