マスターとして管理するデータポケットのフィールド値を、別のデータポケットに複数登録したいことがあります。例えば、マスターデータの製品コードを参照して、その製品名を取得するような処理です。レコード選択フィールドでマスターデータのフィールドを参照する方法をレシピ集「マスターデータから複数の値を取得して設定する」で紹介しました。
ここでは、レコード選択フィールドの初期値の処理としてマスターデータを検索して値を取得する方法を説明します。
例えば、バーコードやQRコードで読み取った場合、読み取った文字列が「AAQ0001XYZ」のように、マスターデータで管理する文字列を含むと、そこから車両コードの「Q0001」を抜き出してマスターデータから値を取得したいことがあります。この場合、テキスト生成フィールドで車両コードの文字列を抜き出し、レコード選択フィールドの初期値の処理で抜き出した文字列を検索して一致したレコードから値を取得します。
※レコード選択については、フィールドガイド、機能ガイドを参照してください。
※初期値については、フィールドガイドの「共通プロパティ(基本・高度なプロパティ)」を参照してください。
初期値の動作は、Platioアプリからのみ動作します。データビューアーでは動作しませんので注意してください。
レコード選択の初期値で簡易検索を使う
例として、レシピ集「マスターデータから複数の値を取得して設定する」を参考にして同じミニアプリを作成してください。作成したミニアプリにQRコードの読み取り処理を追加します。
QRコード用として以下の構成で、レコード管理タイプのデータポケットを作成します。設備コードからQRコードを生成します。
設備管理データポケット(QRコード用)
・設備コード:テキストフィールド
・QRコード:QRコード生成フィールド
新しく下記の構成で、レコード入力タイプのデータポケットを作成します。
走行距離入力(リーダー)データポケット(リーダー記録用)
・記録日:日付フィールド
・設備コード:テキストフィールド
・車両コード:テキスト生成フィールド
・車両名:レコード選択フィールド
・今回のメーター値:数値フィールド
テキスト生成フィールド
走行距離入力(リーダー)データポケットで、車両コードのテキスト生成フィールドでは、設備コードの3文字目から5文字を切り出して設定するようにします。
プロパティの値に、設備コードのフィールドIDを参照して下記のPlatio式を記述します。
※Platio式については機能ガイド「Platio式」を参照してください。
substring(c1111111 /* 設備コード */, 2, 5)
レコード選択フィールド
レコード選択フィールドを追加すると、選択元を指定する画面が表示されます。
ここでは下図のように車両管理データポケットの車両名を選択します。
プロパティで高度なプロパティを表示します。
ここで、下図のように初期値で「簡易レコード検索」を選択し、検索対象フィールドで選択元の車両管理データポケットの車両コードを、このデータポケットの車両コードの値で検索するように設定することで、マスターデータから値を取得して設定することができます。
バーコード読取シーンの追加
データポケット編集画面で「シーンの設定」をクリックします。
レコードタブの「レコードの作成」で「バーコード」を選択し、さらに「レコード作成後の動作」で「編集」を選択して完了します。
※レコード作成後の動作が初期設定の「戻る」の場合、QRコードを読み取って値を記録するとすぐにレコードを保存します。そのため、読み取り後に編集シーンが表示されるように「編集」を選択します。
新規バーコード読取の設定アイコンをクリックし、割り当てで読み取った値を保存するフィールドを選択します。
バーコードで「設備コード」を選択します。
動作確認
データポケットを保存してミニアプリを配布します。
データビューアーにログインし、設備管理データポケットへ設備コードを登録します。作成されたレコードでQRコードが生成されます。
例:
設備コード
AAQ0001XYZ
AAQ0002XYZ
ABR0001XYZ
ABR0002XYZ
下図はデータビューアーのレコードリストです。設備コードからQRコードが生成されました。
Platioアプリでミニアプリを更新します。
走行距離入力(リーダー)データポケットの追加ボタンをタップして新規バーコード読取シーンを表示します。
テストとして、データビューアーで設備管理データポケットの設備コードのQRコードを表示して、リーダーで読み取ります。
新規シーンから編集シーンに切り替わり、設備コード、車両コード、車両名が自動設定されていることが確認できます。動作としては、新規バーコード読取シーンで読み取った値を設備コードに設定し、設備コードから文字列を切り出して車両コードを設定し、車両コードをキーにマスターデータを検索して一致した結果の車両名が設定されました。
以上で、手順は終わりです。
ここでは、車両コードから車両名を登録しました。例えば、商品コードから商品名、価格、サイズなど複数の情報がある場合でも同様の設定で登録できます。
マスターデータから複数の値を取得して設定する方法を活用してみてください。