レコードの再利用ではフィールドの値がコピーされた状態で表示されますが、今回のカスタマイズではその際に一部のフィールドだけ値をコピーする という事を実現します。また、通常ではコピーされない添付ファイルをコピー出来るようにします。
今回のカスタマイズで出来ること
指定したフィールドのみ値をコピーします
添付ファイルをコピーしたレコードを作成したあとにそのレコードの編集画面に遷移します
標準の再利用画面でキャンセルした場合レコードは作成されませんが、このカスタマイズはレコード追加後に編集画面を表示するためキャンセルはできず、レコードは作成されている状態になる点が異なります。
アプリの準備
サンプルアプリとして以下のフィールドを作成しました。
※フィールド名とフィールドコードは同じものを指定しています。
詳細画面での表示は次のようになります。
Customineの設定
全体の流れは次のようになります。
詳細画面を表示した時の処理
メニュー位置にボタンを配置します。
やること「ボタンをメニュー位置に配置する」、条件「詳細画面を表示した時」を用います。
ボタンを押した時の処理
まず、やること「添付ファイルをコピーする」、条件「ボタンを押した時」でボタンを押した時に添付ファイルをアップロード後にファイルキーを取得します。ファイルキーは「アクションの結果値」として $5 に格納されます。
その後にやること「レコードを追加する」のマッピングで添付ファイルフィールドに値をセットします。なお「レコードを追加する」のマッピングではコピーしたいフィールドのみを指定し、指定されなかったフィールド値は初期値になります。
最後にやること「レコード編集画面に遷移する」で、追加したレコードの編集画面へ遷移します。このとき表示するレコードのレコード番号も「レコードを追加する」の「アクションの結果値」として $6 に格納されています。
まとめ
値のコピーが必要なフィールドを指定できるので、特定の値によってコピーされるフィールドが違う場合などにも対応可能です。
また、後述のようにルックアップが多くあってクリアしなければならない場合にも対応可能です。
ルックアップについての注意点
基本機能のレコードの再利用ではルックアップの値もコピーされます。この時にJavaScriptカスタマイズでは見た目にはクリアできますが、ルックアップのクリアボタンを押してからでないと保存時にエラーが出ます。
今回のカスタマイズではレコードを作成してから編集画面に遷移するため、ルックアップの自動クリアも可能となっています。