nekoko 様
おはようございます。
非常に惜しかったですね。
app.record.index.edit.change.支払日 ですが、index が多いですね。
このイベントタイプですが、よく見るとわかりますけど
ドット区切りで、意味合いが変わるように作られています。
app(第一) .record(第二) .create(第三) .show(第四) と仮定して見ていくと動きがわかると思います。
第一、第二は、ほとんど変わらないので無視して、第三、第四に意味合いがあるのでそれを見ればどのイベントタイプかがわかるようになっています。
第三・・・ index (一覧) , detail (詳細) , create (追加) , edit (変更) , などで、どの画面かが主になってると思います。
第四・・・ show (画面を開いた時) , change (値に変更があった時) , sbumit (確定処理がされた時) , などで、主に動作がトリガーになっています。
※上記はざっくりした覚え方と思って下さい。
というところで、なかなか進んで来ているので次に行きましょう。
次は、本題の
> 支払日を入力したタイミングで、左下に表示される残高を入力した行の支払時点残高にコピー及び保存したい。
まず 支払日を入力したタイミング ということですが、こちらはイベントタイプを設定しているので動作の確認だけして頂ければと思います。
支払日を入力したときに、コンソールに改めてレコードの情報が表示されるかですが、レコード情報が改めて表示されればOKです。
その次へ行き、 左下に表示される残高を入力した行の支払時点残高に値を入力 で良いですかね。
ということですので、この値が取れているか確認しなければいけません。
まずコンソールに表示されているレコード情報から、残高のフィールドコードの value に 必要な値が入っているか確認をしてみて下さい。
この値の使い方ですが、console.log を今回2つ作って頂きました。
その中に、event.record と event と2つ作って頂きました。
この違いについてですが、event のログを見て頂いて、今回の場合はコンソールに表示される2つ目のオブジェクトです。
それを開いたら(
をクリック)appId: , record: , recordId: , type: とその他にも続いて画面にでてきていればOKです。
この event オブジェクトの record を表示したものが event.record です。
ですので、event オブジェクトに表示されている record の内容と event.record の内容はまったく同じものが表示されているということです。
この record の中から対象の値を取得したい場合は、変数に代入をするということをしていきます。
例えばレコード番号の場合は
// 変数を作成してレコード番号を取得する
var number = event.record.レコード番号.value;
// 変数にレコード番号が入っているかコンソールで確認する
console.log(number);
というように記述していきます。
これは、そのオブジェクトの中(
を開いて確認)をしていくと、その順番通りにプロパティを指定した値を取得することができます。
今回のレコード番号の場合、プロパティの順番を追っていくと record.レコード番号.value となっていることが確認できれば大丈夫です。
ざっくりですが、今回のプロパティとはオブジェクトの中で【 : (コロン)】の前にあるモノがプロパティなんだぐらいの認識で大丈夫です。
逆にその後ろにあるものが、値だと思って頂ければ大丈夫かと思います。
もうひとつ例を出します。appId の値を変数に代入する場合ですが、
var appId = event.appId;
console.log(appId) // 私のコンソール画像の場合は 158 と表示される。
というふうになります。
ということで少し長くなりましが、残高の値を変数に代入してコンソールに表示するようにしてみて下さい。
上記が終わったら、支払日が変更された時に eventオブジェクトの中に changes というプロパティがあるのでそちら中を確認して下さい。
changes の中に、row というプロパティがありますが、それが変更があったサブテーブルの行を取得しています。
そのサブテーブルの行の中にフィールドコードが入っている部分が valueプロパティです。
今回の内容は、そのvalueプロパティにある【支払時点残高】の書き換えができた時にいちようは終了ということです。
あともう少しです、頑張りましょう。