ブログ

2024/04/24
【プリザンター】 第244回)スクリプト記述のミスを減らすメソッドの使い方

そのスクリプト、テーブル種別は合っていますか?

こんにちは、シーイーシーカスタマサービスの森山です。

当社内でもプリザンターを使うメンバーが増えているのですが、使い始めたメンバーから「ブログで紹介されている通りに項目もスクリプトも設定したが、期待した通りに動かない」という質問を受けることがあります。
上手く動かない原因は様々あるのですが、私が気になった原因の1つに「テーブル種別に応じたスクリプトの修正漏れ」があります。

スクリプトでは同じ分類A項目でも、テーブル種別が記録テーブルであれば「#Results_ClassA」、期限付きテーブルであれば「#Issues_ClassA」と記述する必要があります。
ですが、スクリプトに不慣れであればテーブル種別が原因と気づきにくいですし、スクリプトを記述する私自身、よく使う項目種類などは「テーブル種別を気にすることなく再利用しやすくなればいいのに」と思うことは少なくありません。
そんな時、マニュアルでピッタリなメソッドを見つけました!

そこで今回は、スクリプトにて「スクリプトを配置したフォルダまたはテーブルの種類を取得するメソッド」についてご紹介します。

スクリプトでテーブル種別を取得する

今回ご紹介するメソッドは $p.tableName です。

このメソッドを使うと、フォルダ・記録テーブル・期限付きテーブル・Wikiといったテーブルの種類を取得することができます。
ではサンプルを使って動きを見てみましょう。

記録テーブル・期限付きテーブル・Wikiの各テーブルのスクリプトタブに下記コードを記述し、出力先「編集」にチェックを入れます。
動作確認のため異なるテーブル種類に設定を行いますが、記述するコードは全て同じものとなりますのでご留意ください。
コードの内容は、各テーブル種類の内容項目にプレースホルダでテーブル種別を表示するというものになっています。

$p.events.on_editor_load = function () {
$('#' + $p.tableName() + '_Body').attr('placeholder', 'テーブル種別:' + $p.tableName());
}
スクリプトを設定した各テーブルの編集画面で、内容項目のプレースホルダの表示を確認してみます。

■記録テーブル


■期限付きテーブル


■Wiki


上図のとおり、コード内のテーブル種別を書き換えることなく同じスクリプトを設定し、スクリプトが正しく実行されることが確認できました!

まとめ

いかがでしたか?

スクリプトを記述する際、これまではテーブル種別を覚えておく必要がありましたが、このメソッドを使用することで記述が少し楽になりますので、是非一度お試しください。

弊社ではプリザンターをご使用中、または、これからご使用になられる方向けに、運用ノウハウ集、プリザンター逆引き辞典、スタイル・スクリプトサンプル集の販売を行っております。
また、 プリザンターからのExcel帳票出力・PDF帳票出力の支援パック販売 も行っております。
プリザンター導入の支援や、スクリプト開発などの支援も行っておりますので、まずは気軽にご相談ください。
※ご相談の内容によっては有料となる場合がございます。予めご了承ください。
☆☆☆
ブログ内容への質問や追加説明をご希望の方は【 問い合わせフォーム 】からお気軽にお問い合わせください
☆☆☆

PAGE TOP