ApiDataTypeで取得形式を切り替える
今回は編集画面のデータ取得を例にご紹介します。


プリザンターのAPIには、取得データの形式を制御できる便利なプロパティがあります。
開発者向け機能:JSONデータレイアウト:View
まず押さえたいのが ApiDataType です。これに KeyValues を指定すると、返却データが表示名になります。
$p.apiGet({
id: 53914,
data: {
View: {
ApiDataType: "KeyValues"
}
},
done: function (data) {
console.log(data);
}
});

さらに細かくコントロールしたい場合は ApiColumnValueDisplayType が有効です。
これに DisplayValue を指定すると表示名、Value を指定すると値が取得できます。
特定の項目だけ切り替えたい場合は ApiColumnHash を使用します。
例えば「状況だけ表示名にしたい」場合は以下のように設定します。
$p.apiGet({
id: 53914,
data: {
View: {
ApiDataType: "KeyValues",
ApiColumnValueDisplayType: "Value",
ApiColumnHash: {
Status: {
ValueDisplayType: "DisplayValue"
}
}
}
},
done: function (data) {
console.log(data);
}
});

このように、プリザンターのAPIは柔軟な取得方法を提供しており、用途に応じて使い分けることができます。
ただし、ここで一つ注意点があります。サーバースクリプトでは、選択肢一覧に直接記述された選択肢の表示名を取得することができません。
例えば、状況項目の詳細設定 > 選択値一覧には「100,未着手,未,status-new」のように設定されていますが、データベースには値(100)のみが格納されます。
そのため、表示名を扱いたい場合は、今回ご紹介したスクリプト(API)での設定を活用したり、別の参照方法を検討する必要があるケースがあります。
このあたりは環境や仕様により最適な手法が変わりますので、要件に応じた設計がカギになります。
まとめ
いかがでしたか。
今回は、プリザンターAPIで値ではなく表示名を取得するための設定方法をご紹介しました。
ポイントをおさらいします。
・ApiDataTypeでレスポンス形式を切り替え
・ApiColumnValueDisplayTypeで表示名/値を制御
・ApiColumnHashで項目ごとに設定
上記ポイントを押さえれば、APIで取得したデータの可読性が大きく向上します。
ただし、実際の開発現場では、サーバースクリプトとの使い分けや、複雑な条件下での取得方法など、さらに踏み込んだ知識が必要になるケースも多々あります。
特に、分類項目の表示名取得については、スクリプトの種類によって対応方法が異なるため、状況に応じた最適な実装方法を選択することが重要です。
「うちのケースではどう実装すればいいの?」「もっと効率的な方法はないの?」といった疑問をお持ちの方は、ぜひお気軽にご相談ください。
弊社では、プリザンター導入・活用に関して以下のサービスをご提供しています。
・年間サポート
・各種書籍
・帳票出力(Excel/PDF)支援パック
プリザンターの導入から開発・運用をあらゆる角度から全力サポートいたします!
☆☆☆
サービスの説明などをご希望の方は【 問い合わせフォーム 】よりお気軽にお問い合わせください。
☆☆☆

MAIL


APIで取得したデータが数値ばかり...これじゃ分からない!
こんにちは、シーイーシーカスタマサービスの森山です。
先日、お客様からこのようなご相談をいただきました。
「プリザンターのAPIでデータを取得したんですが、状況が『100』『900』と数値で返ってきます。『未着手』『完了』といった表示名で取得する方法はないでしょうか?」
様々なシーンでAPIを使って値を取得する際、画面上では「未着手」「完了」と表示されているのに対し、APIで取得すると「100」「900」といったデータの値になってしまいます。
これは状況項目に限らず、ユーザを設定した項目などでも同様で、画面上では「山田太郎」と表示されていても、APIで取得すると「1」「2」といったIDになります。
実は、プリザンターのAPIには、この課題を解決する仕組みが用意されています。
今回は、この「データの”値”ではなく”表示名”で取得したい」という課題を解決するヒントをご紹介します。