ユーザマニュアル

「プリザンターをもっと活用するために」資料ダウンロード

2025/12/15

MANUAL

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

## 概要 指定したサイトIDのテーブルにレコードを作成します。 ・ 構文①:オブジェクトを指定する方法 > 使用例① ・ 構文②:JSON文字列を指定する方法 > 使用例②、使用例③ ## 制限事項 作成したレコードのIDを、items.Createの戻り値から取得することはできません。   ・ 構文①で記述すると、作成したレコードのIDを取得できます。> 使用例① ・ 構文②で記述すると、作成したレコードのIDを取得できません。> 使用例②、使用例③ ## 構文① ``` items.Create(siteId, model) ``` ## パラメータ |パラメータ|型|必須|説明| |:----------|:----------|:---:|:---------------------------| |siteId|object|○|対象テーブルのサイトIDを指定| |model|object|○|items.NewSite,items.NewIssue,Items.Resultメソッドで取得したapiModelオブジェクトを指定| ## 戻り値 レコードを作成できたらtrue、作成できなかったらfalseを返却します。 作成したレコード内容はレコードIDを含めmodelに反映されます。 ## 構文② ``` items.Create(siteId, json) ``` ## パラメータ |パラメータ|型|必須|説明| |:----------|:----------|:---:|:---------------------------| |siteId|object|○|対象テーブルのサイトIDを指定| |json|string|○|JSON文字列を指定| ## 戻り値 レコードを作成できたらtrue、作成できなかったらfalseを返却します。 ## サンプルコード ##### コード内の{{ ... }} は適宜修正してください。 <details> <summary>1. 構文①でレコード作成</summary> 構文①でレコードを新規作成します。 ##### itemsCreateP1.js ``` // サイトIDを指定しレコードを1件作成 // サイト名を指定しレコードを1件作成 const siteName = '{サイト名}'; let apiModel = items.NewResult(); apiModel.Title = 'サンプル案件_P1'; apiModel.Status = 200; apiModel.ClassA = '問い合わせ'; apiModel.DateA = '2025/01/10'; apiModel.NumA = 5; // サイト情報を取得 const site = items.GetClosestSite(siteName); if (!site) { logs.LogInfo(`${siteName} サイト情報取得失敗`); return false; } items.Create(site.SiteId, apiModel); // ブラウザのコンソールに作成したレコードのIDを出力 logs.LogInfo(apiModel.ResultId); ``` ##### 実行結果 ``` (Info):9999 ``` </details> <details> <summary>2. 構文②でレコード作成</summary> 構文②でレコードを新規作成します。 ##### itemsCreateP2.js ``` // サイト名を指定しレコードを1件作成 const siteName = '{サイト名}'; // サイト情報を取得 const site = items.GetClosestSite(siteName); if (!site) { logs.LogInfo(`${siteName} サイト情報取得失敗`); return false; } const data = { ApiVersion: 1.1, Title: 'サンプル案件_P1', Status: 200, ClassHash: { ClassA: '問い合わせ' }, DateHash: { DateA: '2025/1/10' }, NumHash: { NumA: 5 }, }; const result = items.Create(site.SiteId, JSON.stringify(data)); if (result) { logs.LogInfo('レコード作成成功'); } else { logs.LogInfo('レコード作成失敗'); } ``` ##### 実行結果 ``` (Info):レコード作成成功 ``` </details> <details> <summary>3. CSVファイルを読み込み複数件レコード作成</summary> CSVを読み込み、複数件のレコードを作成します。 ##### itemsCreateP3.js ``` // サイト名を指定 const siteName = '{サイト名}'; // サイト情報を取得 const site = items.GetClosestSite(siteName); if (!site) { logs.LogInfo(`${siteName} サイト情報取得失敗`); return false; } // セクションとファイルパスを指定し、CSVファイルを読み込み const section = 'files'; const path = 'projects_data.csv'; const file = $ps.file.readAllText(section, path); // CSV文字列を配列に変換 const csvRec = $ps.CSV.str2csv(file); // 配列の各行をレコードとして作成 for (const rec of csvRec) { let apiModel = items.NewResult(); apiModel.Title = rec[0]; apiModel.Status = rec[1]; apiModel.ClassA = rec[2]; apiModel.NumA = rec[3]; apiModel.NumB = rec[4]; apiModel.DateA = rec[5]; apiModel.DateB = rec[6]; apiModel.DescriptionA = rec[7]; items.Create(site.SiteId, apiModel); // ブラウザのコンソールに作成したレコードのIDを出力 logs.LogInfo(`レコード作成しました/${apiModel.ResultId}`); } ``` ##### 実行結果 ``` (Info):レコード作成しました/9999 (Info):レコード作成しました/9999 (Info):レコード作成しました/9999 ・・・ ``` </details> ## 関連情報 ・ [テーブルの管理:サーバスクリプト](/manual/table-management-server-script) ・ [オブジェクトごとの実行タイミング](/manual/server-script-conditions) ・ [itemsオブジェクト](/manual/server-script-items) ・ [itemsオブジェクト:NewSiteメソッド](/manual/server-script-items-new-site) ・ [itemsオブジェクト:NewIssueメソッド](/manual/server-script-items-new-issue) ・ [itemsオブジェクト:NewResultメソッド](/manual/server-script-items-new-result) ・ [apiModelオブジェクト](/manual/server-script-api-model) ・ [$ps.fileオブジェクト](/manual/server-script-ps-file) ・ [$ps.fileオブジェクト:readAllTextメソッド](/server-script-ps-file-read-all-text)
TOP