こちらのTIPS(「レコード保存直後に自動採番」)ではアプリでレコード保存時に採番しているので、「レコードを追加する」などで他アプリからレコード追加した場合には共通の番号で採番することができません。
今回は、他アプリからレコード追加した場合でも、通常のレコード保存と共通の番号で採番する方法を紹介します。具体的には、顧客マスタアプリではレコード保存時に採番して、問い合わせ管理からは顧客マスタアプリへレコード追加時に採番します。
今回のカスタマイズで出来ること
他アプリからのレコード追加時でも、共通の番号で採番します
ルックアップキーを顧客コードと氏名の結合キーにして、名前での検索も可能にします
顧客マスタアプリには以下のフィールドを作成しました
問い合わせ管理アプリには以下のフィールドを作成しました
問い合わせ管理では顧客をルックアップして登録しますが、顧客マスタにない場合は「顧客追加」ボタンを押して新規顧客を登録するという流れです。
Customineの設定
顧客マスタアプリ
基本的な動きは、テンプレートの「[テンプレート] 空き番号が出ない自動採番」と同じです。詳細はこちらのページ(「レコード保存直後に自動採番」)をご確認ください。
※アクショングラフに「やること」の名称を追加
ただ、採番を連動させるために「自動採番を行う」の設定を変更します。以下のように設定して下さい。
設定で重要なのは以下の点です。
フィールドは未指定
アプリ単位の採番は「なし」
採番サイクルは「なし」
採番キーは何かの決まった文字(今回は 連動採番 にしました)
この部分は、両方のアプリで同じ設定にしてください。
まとめると、全体の設定は次のようになります。
「レコードを保存した直後(削除後は除く)」の時に「自動採番を行う」と「レコードを更新する(キーの値をフィールドで指定)」
「追加画面・編集画面を表示した時」の時に「フィールドを無効化する」
「再利用モードで追加画面を表示した時」の時に「フィールド値をクリアする」
という動きになります。
問い合わせ管理アプリ
ボタンを押した時に、顧客マスタにレコードを追加します。念のため、顧客氏名が空欄の場合にはエラーダイアログを表示してレコードを追加しないようにしました。
レコード追加後は自動的にルックアップを取得するようにしているので、正常にレコード追加したことも確認できるようになっています。
※アクショングラフに「やること」の名称を追加
全体の設定は次のようになります。
「追加画面・編集画面を表示した時」に「ボタンをスペースに配置する」でボタンを配置します。
「ボタンを押した時」に「フィールド値が空ならば」、「エラーダイアログを表示する」でダイアログを出して処理を中止します。
「ボタンを押した時」に「フィールド値が空でないならば」、「自動採番を行う」で採番します。
その後、「他のアクションの実行が完了した時」に「レコードを追加する」で採番付きでレコードを追加します。
最後に、「フィールドに値をセットする」と「ルックアップを取得しなおす」でルックアップを自動更新します。
ルックアップの自動更新が不要であれば、「レコードを追加する」までの処理で終わっても問題ないかと思います。
まとめ
自動採番の設定は、フィールドが指定されていればフィールド単位で番号が管理されていますが、うまく未指定な部分を増やすと今回のように複数アプリでも共通の番号が可能になります。
ぜひ、お試しください。