サブテーブルの行追加時に、上の行の内容を下の行にコピーする小技です。
テーブルを準備します。
(フィールドコード=フィールド名)
行追加で日付フィールドを下の行にコピーするには・・・
kintone.events.on(
["app.record.edit.change.テーブル", "app.record.create.change.テーブル"],
(event) => {
let date = "";
event.record.テーブル.value.forEach((r) => {
if (!r.value.日付.value) {
r.value.日付.value = date;
} else {
date = r.value.日付.value;
}
});
return event;
}
);
行追加で日付も品名もコピーしたい場合は・・・
※品名もコピーしたいような場合はないかもしれませんが
kintone.events.on(
["app.record.edit.change.テーブル", "app.record.create.change.テーブル"],
(event) => {
let date = "";
let hinmei = "";
event.record.テーブル.value.forEach((r) => {
if (!r.value.日付.value) {
r.value.日付.value = date;
r.value.品名.value = hinmei;
} else {
date = r.value.日付.value;
hinmei = r.value.品名.value;
}
});
return event;
}
);
お世話になります。
こちらの内容で「ルックアップ」「開始時刻」「終了時刻」を引き継ぎたい場合の記述はどうなりますでしょうか。素人なりに応用してみましたが成功しませんでした。。。
こんにちは!
書かれたコードを貼り付けていただけるとアドバイスしやすいので、お願いできますでしょうか?
ありがとうございます。コードあげさせて頂きます。
kintone.events.on(
[“app.record.edit.change.テーブル”, “app.record.create.change.テーブル”],
(event) => {
let lookup = “”;
let kaishi = “”;
event.record.Table.value.forEach((r) =>
if (!r.value.ルックアップ.value) {
r.value.ルックアップ.value = lookup;
r.value.開始時間.value = kaishi;
r.value.終了時間.value = syuryo;
} else {
lookup = r.value.ルックアップ.value;
kaishi = r.value.開始時間.value;
syuryo = r.value.終了時間.value;
}
});
return event;
}
);
先程、event.recordだとルックアップ更新できませんとコメントしたのですが、誤りでした。(削除しました)
保存前のときのみ更新できないようですね^^;
ちなみにどのようなエラーが出ていますでしょうか?
syuryoが宣言されていないのが原因ではないかなと思うのですがいかがでしょうか?
以下、ルックアップのフィールドコードを「現場」とし、実行してみた際の表示です。
なるほどです、ありがとうございます。
ifの前に{
が足りないですね。
コピー元のわたしのコードも間違っていたので修正しました。
ifの前、{追記してみましたがやはりダメでした。。。
ちなみに現在のコードです。↓
そういうことでしたか。
大変申し訳無いのですが、そのコードでは動きません。
紹介したコードは、全体のコードではなく、「変更イベントのコード」です。
JavaScriptカスタマイズの基本の部分は省略しております。
↓こちらチュートリアルがありますので、ご参考にされてみて下さい。
第1回 kintone JavaScript APIのイジりかた
勉強不足申し訳ありませんでした。
その後数回トライして無事作動できました。色々お世話になりました・ありがとうございました。