新規投稿
フォローする

サブテーブル行追加時に上の行の内容を下の行にコピーする方法

サブテーブルの行追加時に、上の行の内容を下の行にコピーする小技です。

テーブルを準備します。
(フィールドコード=フィールド名)

 

行追加で日付フィールドを下の行にコピーするには・・・

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;
  }
);

 

1

9件のコメント

Avatar
ジェシーおいたん

お世話になります。

こちらの内容で「ルックアップ」「開始時刻」「終了時刻」を引き継ぎたい場合の記述はどうなりますでしょうか。素人なりに応用してみましたが成功しませんでした。。。

0
Avatar
juridon

こんにちは!

書かれたコードを貼り付けていただけるとアドバイスしやすいので、お願いできますでしょうか?

0
Avatar
ジェシーおいたん

ありがとうございます。コードあげさせて頂きます。

 

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;
    }
  );
0
Avatar
juridon

先程、event.recordだとルックアップ更新できませんとコメントしたのですが、誤りでした。(削除しました)
保存前のときのみ更新できないようですね^^;

ちなみにどのようなエラーが出ていますでしょうか?

syuryoが宣言されていないのが原因ではないかなと思うのですがいかがでしょうか?

0
Avatar
ジェシーおいたん

以下、ルックアップのフィールドコードを「現場」とし、実行してみた際の表示です。

 

0
Avatar
juridon

なるほどです、ありがとうございます。
ifの前に{
が足りないですね。

コピー元のわたしのコードも間違っていたので修正しました。

juridonにより編集されました
0
Avatar
ジェシーおいたん

ifの前、{追記してみましたがやはりダメでした。。。

 

ちなみに現在のコードです。↓

 

0
Avatar
juridon

そういうことでしたか。

大変申し訳無いのですが、そのコードでは動きません。
紹介したコードは、全体のコードではなく、「変更イベントのコード」です。
JavaScriptカスタマイズの基本の部分は省略しております。

↓こちらチュートリアルがありますので、ご参考にされてみて下さい。
第1回 kintone JavaScript APIのイジりかた

0
Avatar
ジェシーおいたん

勉強不足申し訳ありませんでした。

 

その後数回トライして無事作動できました。色々お世話になりました・ありがとうございました。

1
サインインしてコメントを残してください。