お客様の課題を解決!お困りごとに応じたサンプルコードのご紹介
①C社のケース:
請求書の自動チェック機能の実装
C社では、請求データの管理にプリザンターを使用しており、請求内容の妥当性を確認する作業が必要でした。
請求金額に関連する 数値A~C という3つの項目があり、いずれかの項目の値が 1以上 であれば、請求が発生していると判断する仕様です。
担当者がいちいち値を確認せずに済むよう、請求発生項目(チェックA)に自動でチェックを入れる仕組みを作りたいとのお問い合わせをいただきました。
この場合は、自動ポストバックとサーバスクリプトにて実現できました。
ご提供したサンプルは次の通りです。
・任意のテーブルに、数値A~Cを表示しておく
→ 数値A~Cで「自動ポストバック」のチェックを入れる
→ 数値A~Cで「自動ポストバック時に返却する項目」に CheckA を記述する
・サーバスクリプトの条件は「計算式の後」を指定する
・サーバスクリプトに下記コードを設定する
try {
// NumA, NumB, NumC のいずれかが 0 より大きい場合、CheckA を true に設定
// すべて 0 以下なら false にする
model.CheckA = (model.NumA > 0 || model.NumB > 0 || model.NumC > 0);
} catch (e) {
// エラーが発生した場合、エラーメッセージをログに記録
context.Log(e.stack);
}
②D社のケース:
親子テーブルのデータ表示を最適化
D社では、親テーブルに「製品情報」、子テーブルに「部品リスト」 を登録して管理されています。
親テーブルの一覧画面でデータを確認する際に、一覧画面に子テーブルのデータを表示すると、プリザンターの仕様上、部品ごとに親テーブルのレコード表示件数が増えてしまいます。
「一覧画面で同じ製品が何度も表示されると、どれが正しいのかわかりにくい!」という現場の声より、親テーブルの製品レコードは1つだけ表示し、説明項目に子テーブルの部品リストを箇条書きでまとめる形にできないか?とのお問い合わせをいただきました。
この場合も、サーバスクリプトにて実現することができます。
ご提供したサンプルは次の通りです。
・親テーブル(記録テーブル)
→ 一覧画面に、説明Aを表示しておく
・子テーブル(記録テーブル、ID:123)
→ 分類Aに、親テーブルとのリンクを設定
・サーバスクリプトの条件は「行表示の前」を指定する
・サーバスクリプトに下記コードを設定する
// フィルタ条件を設定(親テーブルのIDに基づいて子テーブルのデータを取得)
let data = {
"View": {
"ColumnFilterHash": {
"ClassA": JSON.stringify([model.ResultId]) // ClassA で model.ResultId を含むレコードを絞り込み
}
}
};
// 子テーブルのデータを取得(items.Get の引数 123 は対象のテーブルID)
let results = items.Get(123, JSON.stringify(data));
// 取得した子テーブルのデータを、親テーブルの「説明A」欄に表示
for (let item of results) {
// DescriptionA の RawText に取得した item.Title を改行付きで追加
columns.DescriptionA.RawText = columns.DescriptionA.RawText + `${item.Title}
`;
}


まとめ
いかがでしたか?
今回は、プリザンター年間サポートの活用事例として、「スクリプトによる機能拡張」でのお困りごとと解決策をご紹介しました。
トラブル対応に限らず、プリザンターの運用をより効率的にする技術サポートを行っているのも、年間サポートの大きな特徴です。お客様の環境や要件に合わせたスクリプト開発のアドバイスにより、最適な運用を実現していただけます。
また、標準機能ではカバーしきれない要望や拡張にも柔軟に対応し、今後の運用や新たな活用の可能性を広げるお手伝いをいたします。年間サポート をご活用いただき、スクリプト開発や機能拡張に役立ててください。
また、弊社ではプリザンターをご使用中の方、これからご使用になられる方向けに以下サービスの提供も行っております。
・各種書籍
・帳票出力(Excel/PDF)支援パック
プリザンターの導入から開発・運用をあらゆる角度から全力サポートいたします。
ぜひお気軽にご相談ください!
☆☆☆
サービスの説明などをご希望の方は【 問い合わせフォーム 】よりお気軽にお問い合わせください。
☆☆☆
年間サポートで解決するスクリプト開発の課題
こんにちは、シーイーシーカスタマサービスの森山です。
前回の記事 では、プリザンター年間サポートメニューをご契約のお客様から寄せられた「ユーザ情報の同期に関するトラブル」についてご紹介しました。
年間サポートメニューでは、このようなトラブルへの対応に加え、標準機能では実現が難しい処理をスムーズに進めるためのスクリプトサンプルの提供も行っています。
今回は、年間サポートをご契約のお客様から寄せられたスクリプト開発に関するお困りごとと、それを解決するために提供したサンプルをご紹介します。
スクリプト開発のヒントを得たい方や、プリザンターの活用方法を広げたい方は、ぜひ最後までご覧ください。