ユーザマニュアル

【9/16開催】Pleasanter User Meet Up#11 プリザンター×MCPサーバ 「プリザンターをもっと活用するために」資料ダウンロード 「プリザンター入門」発売中!

2026/08/04

MANUAL

開発者向け機能:スクリプト:$p.apiUpdate

## 概要 AjaxのPOSTリクエストにより、レコードおよびWikiを更新します。 ## 使い方 ##### JavaScript ``` $p.apiUpdate({ id: <レコードID>, data: { <更新データ> }, done: <任意の処理>, fail: <任意の処理>, always: <任意の処理> }); ``` ## 各パラメータの説明 |パラメータ名|説明| |:--|:--| |レコードID|操作対象のレコードID |更新データ|POSTするjsonデータ| |任意の処理|API通信成功(done:必須)、失敗時(fail:任意)、完了時(always:任意)の処理| ## 記述方法 ##### JavaScript ``` $p.apiUpdate({ id: 123, data: { ApiVersion: 1.1, ClassHash: { ClassA: 'テストデータ' } }, done: function (data) { console.log(data); }, fail: function (data) { console.log(data); }, always: function (data) { console.log(data); } }); ``` ## サンプルコード ##### コード内の【 ... 】 は適宜修正してください。 <details> <summary>1. レコードIDを直接指定し更新</summary> レコードIDを直接指定し更新します。 ##### JavaScript ``` // 更新対象のレコードID const recordId = 【レコードID】; $p.apiUpdate({ id: recordId, data: { ApiVersion: 1.1, Title: 'タイトル変更', ClassHash: { ClassA: '障害' }, }, done: function (data) { console.log('更新成功'); }, fail: function (data) { console.log('更新失敗'); }, }); ``` ##### 実行結果 ``` 更新成功 ``` </details> <details> <summary>2. 複数のレコードを更新</summary> 条件に該当するレコードを取得し、該当するレコード複数件を更新します。 ##### JavaScript ``` // 更新対象を絞り込むサイトID const siteId = 【サイトID】; $p.apiGet({ id: siteId, data: { View: { ColumnFilterHash: { Status: `["100"]`, // 状況が未着手(100)のレコードを抽出 }, }, }, done: function (data) { const records = data.Response.Data; records.forEach(function (item) { // 結果テーブルは ResultId、課題テーブルは IssueId で参照 const recordId = item.ResultId || item.IssueId; $p.apiUpdate({ id: recordId, data: { Status: '910', // 状況を保留(910)に更新 }, done: function (updated) { console.log(`更新成功:Id=${recordId}`); }, fail: function (updated) { console.log(`更新失敗:Id=${recordId}`); }, }); }); }, fail: function (data) { console.log('レコード取得に失敗しました。'); }, }); ``` ##### 実行結果 ``` 更新成功:Id=9999 更新成功:Id=9999 更新成功:Id=9999 ``` </details> <details> <summary>3. 添付ファイルを削除</summary> 特定のレコードに添付されている添付ファイルをすべて削除します。 ##### JavaScript ``` // 処理対象のレコードID const recordId = 【レコードID】; $p.apiGet({ id: recordId, data: { ApiVersion: 1.1 }, done: function (data) { const records = data.Response.Data; if (records.length === 0) { console.log(`レコードが見つかりませんでした: Id=${recordId}`); return; } const record = records[0]; // 添付ファイルの配列を取得(環境により Hash 形式 / フラット形式の両対応) const attachments = (record.AttachmentsHash && record.AttachmentsHash.AttachmentsA) || record.AttachmentsA || []; if (attachments.length === 0) { console.log(`添付ファイルなしのため更新不要: Id=${recordId}`); return; } $p.apiUpdate({ id: recordId, data: { ApiVersion: 1.1, AttachmentsHash: { // すべての添付の Guid を指定し Deleted:1 にして削除 AttachmentsA: attachments.map(function (attachment) { return { Guid: attachment.Guid, Deleted: 1 }; }), }, }, done: function (updated) { console.log( `更新成功: Id=${recordId}, 削除対象=${attachments.length}件`, ); }, fail: function (updated) { console.log(`更新失敗: Id=${recordId}`); }, }); }, fail: function (data) { console.log('レコード取得に失敗しました。'); }, }); ``` ##### 実行結果 ``` 更新成功: Id=9999, 削除対象=3件 ``` </details> <details> <summary>4. レコードのアクセス制御を設定</summary> 特定のレコードにレコードのアクセス制御を設定します。 ##### JavaScript ``` // 処理対象のレコードID const recordId = 【レコードID】; $p.apiUpdate({ id: recordId, data: { ApiVersion: 1.1, // グループID=1 に対してすべての権限(511)をレコードのアクセス制御に付与 RecordPermissions: ['Group,1,511'], }, done: function (data) { console.log(`更新成功: Id=${recordId}`); }, fail: function (data) { console.log(`更新失敗: Id=${recordId}`); }, }); ``` ##### 実行結果 ``` 更新成功:Id=9999 ``` </details>
code VS Codeで開発作業をもっとスマートに

スクリプト開発の効率を高めたい方に、Code Assistをご用意しています。

Code Assistの詳細はこちら →
account_tree 複雑な構成も、すっきり視覚化

サイト構成やデータのつながりを可視化し、把握しやすくします。

Site Visualizerの詳細はこちら →
TOP