3種のスクリプトをデバッグする方法
それではデバッグ方法についてご紹介します。
■ スクリプト
プリザンターの「スクリプト」は「クライアントサイド」で動作します。
そのため、スクリプトのデバッグ情報はブラウザの「開発者ツール(デベロッパーツール)」(※F12キーで起動)で確認します。
開発者ツールを開きましたら、まずはエラーが出ているか確認します。
赤文字で表示されている行がエラーです。エラーメッセージの内容、スクリプトファイル名、行番号が表示されます。
また、スクリプトに console.log()メソッド を設定することで、デバッグ情報を出力することができます。
スクリプトのコードの中に以下のように書くことで、値を確認できます。
// コンソールへのログ出力例
$p.on('change', 'Status', function() {
//状況項目が「完了」に変更されると数値A項目に1を自動入力する
if ($p.getControl('Status').val() === '900') {
// 状況の値をコンソールへ出力
console.log($p.getControl('Status').val());
$p.set($p.getControl('NumA'), 1);
}
});
値が「undefined」や「null」になっていないかを確認できます。
先述のエラーで止まっている場所が判明している場合、その手前に console.log() を入れて調査することができます。
■サーバスクリプト
「サーバスクリプト」はその名の通り、「サーバサイド」で動作します。
サーバスクリプトでデバッグ情報を出力するには、context.Log()メソッド を使用します。スクリプトで使用する console.log() とは異なりますのでご注意ください。
これにより、サーバサイドで生成されたログがクライアントサイドに送信され、ブラウザの開発者ツール上のコンソールでデバッグ情報を確認することができます。
開発者向け機能:サーバスクリプト:context.Log
また、Visual Studio Code を使用するとサーバスクリプトのラインデバッグを行うことができます。
下記マニュアルの設定を行ったうえでサーバスクリプトの先頭行に //debug// と記述することで、デバッグ実行することができます。
開発者向け機能:サーバスクリプト:デバッグ
この他にも、サーバスクリプトで記述したコードを自動的に try-catch文 として変換して実行する「TryCatch」機能があります。
この機能を有効化することで、記述したコードをtryブロックに設定し、catchブロックではエラー内容を logs.LogException にて出力する処理が設定されます。
これにより、エラー内容をブラウザの開発者ツール上のコンソールに表示するとともに、システムログに記録されます。
開発者向け機能:サーバスクリプト:TryCatch
■バックグラウンドサーバスクリプト
「バックグラウンドサーバスクリプト」については、テナントの管理画面にて設定するため、テーブルの管理画面にて設定するサーバスクリプトの context.Log() によるコンソールへのログ出力は利用できません。
ただし、バックグラウンドサーバスクリプトのデバッグについて、 サーバスクリプトと同様、スクリプトの先頭行に //debug// と記述した場合のデバッグ は利用できます。
バックグラウンドサーバスクリプトに //debug// を記述し、設定画面の [今すぐ実行] を押下すると、サーバスクリプトと同様にデバッグができます。
なお、サーバスクリプトがデバッグ待ちで画面応答が無い状態となる動作に対して、バックグラウンドサーバスクリプトの場合は [今すぐ実行] を押しても画面が応答待ちとはなりませんが、続けてデバッガを実行することでデバッグを実行することができます。
また、前述のサーバスクリプトと同様に、バックグラウンドサーバスクリプトでも「TryCatch」機能が利用できます。
開発者向け機能:サーバスクリプト:TryCatch
まとめ
いかがでしたか?
今回は、プリザンターで使用できるクライアントサイドのスクリプト、サーバスクリプト、バックグラウンドサーバスクリプトのデバッグ方法をご紹介しました。
スクリプト開発では、思い通りに動かない場面に直面することが少なくありません。
そんな時こそ、適切なデバッグ方法を知っていることが重要です。console.log() や context.Log() を活用して変数の値や処理の流れを確認することで、多くの問題が解決できる、または、解決のヒントを得ることができます。
また、Visual Studio Code を使ったサーバスクリプトのデバッグや、TryCatch機能の活用など、プリザンターには開発者をサポートする機能が充実しています。
エラーが発生した際も、今回ご紹介した方法を参考に、落ち着いて原因を特定していただければと思います。
プリザンターの魅力は「ノーコードで簡単に」という点ですが、少しのコードを書くことで、さらに可能性が広がります。コードを書いたことがない方も、この記事をきっかけにスクリプト開発に挑戦してみてはいかがでしょうか。
弊社ではプリザンターをご使用中の方、これからご使用になられる方向けに以下サービスの提供も行っております。
・各種書籍
・帳票出力(Excel/PDF)支援パック
プリザンターの導入から開発・運用をあらゆる角度から全力サポートいたします。
ぜひお気軽にご相談ください!
☆☆☆
サービスの説明などをご希望の方は【 問い合わせフォーム 】よりお気軽にお問い合わせください。
☆☆☆
スクリプトが動かないときの第一歩!プリザンターでのデバッグ
こんにちは、シーイーシーカスタマサービスの森山です。
プリザンターはノーコードで簡単に業務アプリを作成できるツールですが、少ないコードでも標準機能では実現できない機能が実装できます。
これまでコードを書いたことのない人でも、公式ユーザマニュアル や 弊社ブログ に掲載されているサンプルを使用することで、簡単なカスタマイズや機能の拡張を体験することができます。
しかし、サンプルを使用しても思い通りの処理が実行されないという声を耳にすることがあります。このような場合には、どこでエラーが発生しているのか調べる必要があります。
そこで今回は、スクリプト・サーバスクリプト・バックグラウンドサーバスクリプトのデバッグ方法についてご紹介します。
作成したコードが思い通りに動かずお悩みの方は、是非今回の記事を参考にしてください。