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