オープンソースのローコード開発ツールのプリザンター(pleasanter)ブログ

オープンソースのローコード開発ツールのプリザンター(pleasanter)のブログとサービス情報サイトです

カテゴリ : お知らせプリザンターとは?使い方スクリプト・スタイル環境構築事例動画

同じ処理をスクリプトとサーバスクリプトで書き比べてみる。 Vol 2 更新処理

こんにちは。
リーデックス野田です。

 

最近、個室サウナというものに興味を抱いています。個室だとリラックスできるのでしょうか。気になる。。

 

さて 今回は同じ結果となる処理を、スクリプトとサーバスクリプトで記載してみて、書き方にどのような違いがでるのかをみていきたいと思います。1年以上前に、「項目の表示・非表示」をテーマにした書き比べのブログを書いたのですが、今回は「更新処理をテーマにブログを書いてみようと思います。初めての方にも理解していただけるよう、わかりやすく解説していきたいと思いますので、ぜひご覧ください。 

 

書き比べする処理

とある任意のレコードを更新するタイミングで、別のレコードの分類Aの値を更新するシンプルな処理を書き比べてみようと思います。

 

スクリプトで記載してみる

スクリプトは、「$p.apiUpdate」の関数を使用して処理を書いてみます。

 

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

 

今回、下記のコードで更新処理を実装しています。「$p.events.before_send」の関数を使用して、レコードを更新するタイミングで、「$p.apiUpdate」の関数が実行するようにしています。

スクリプトの出力先は、「編集」を選択してください。

$p.events.before_send_Update = function (args) {
        $p.apiUpdate({
            id: 8486, //更新するレコードID
            data: {
                ApiVersion: 1.1,
                ClassHash: {
                    ClassA: '分類A変更'
                }
            },
            done: function (data) {console.log(data);},
            fail: function (data) {console.log(data);},
            always: function (data) {console.log(data);}
        });    
    }



サーバスクリプトで記載してみる

サーバスクリプトでは、「items.Update」の関数を使用しています。

 

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

 

記述するコードは下記のコードのみです。

サーバスクリプトの実行条件は、「更新前」を選択してください。

var recordId = 8486; //更新するレコードID
items.Update(recordId, '{"ClassA":"分類A変更"}');

 

まとめ

サーバスクリプトを使用する場合、驚くほどコード量が少なくなりますね。

更新処理のようなプリザンターへのデータI/Oを伴う処理の場合は、サーバスクリプトを使用することで、わかりやすくシンプルなコードで実装ができそうです。

 

 

それでは、今回はこの辺で。
最後までご覧いただき、ありがとうございました。

 

弊社では、スクリプトやスタイルを利用したカスタマイズについてご支援させていただいております。スクリプトについて相談したい、業務を改善のために実現したい機能がある、や、本記事や過去の記事のスクリプトを応用したい、などありましたら、お気軽にお問合せください。