JAVAスクリプトが動くタイミングについて

いつもお世話になっております。

下記のようなコードを書きました。

(function () {
“use strict”;
kintone.events.on(‘app.record.edit.show’, (event) => {

var record = event.record;

    // 品目コードのフィールドコード
    var itemCodeFieldCode = '品目コード';

    // 品種コードのフィールドコード
    var varietyCodeFieldCode = '品種コード';

    // 品目コードの値を取得
    var itemCodeValue = event.record[itemCodeFieldCode].value;

    // 左から6文字を抜き出す
    var extractedValue = itemCodeValue.substring(0, 6);

    // 抜き出した値を品種コードのフィールドに設定
    event.record[varietyCodeFieldCode].value = extractedValue;

return event;
});
})();

CSVで品目コードを1,000品目ほど読み込み、
JAVAで品種コードに左6桁を挿入したいです。
しかし、1点1点レコードを編集するボダンを押し、
保存しない限り品種コードへ6桁が挿入されません。

最初の部分を ‘app.record.detail.show’ に変えても更新されたものが
表示されませんでした。

可能であればCSVを読み込んだ時、またはレコード詳細を表示した時にJAVAが動いてくればと思いますが、方法ありますでしょうか?

CSVの段階で、 エクセルのleft関数をつかって、品種コードをインポートするのはいかがですか?

「いいね!」 1

ご回答誠にありがとうございます。

ご指摘の通り、現状CSVの段階でleft関数で品種コードをイポートしています。

KINTONEは何でも出来てしまうので、出来るかと思い質問させて頂きました。

TAKAさん、

「app.record.detail.show」(レコード詳細画面のイベント)には、
「フィールドの値を書き換える」ということは実行できないようですね!

JavaScriptにてkintoneのイベントオブジェクトで
実行できる操作はここに書いてます!
▼ レコード詳細画面のイベント

でも、やはりkintoneでカスタマイズでできると
テンションが上がりますね(個人的に) 笑

それで、kintone REST APIを使うことで
レコード内のフィールドを一括で取得、更新するが可能だと思います。
▼ 複数のレコードを取得する

▼ 複数のレコードを更新する

まずは複数のレコードのデータを取得し、
それらのレコード内の「品目」の値を整形し「品種」に挿入するようにレコードの値を更新する方法を考えてみてはどうでしょうか?:blush:

「いいね!」 2

ご回答誠にありがとうございます。

でも、やはりkintoneでカスタマイズでできると
テンションが上がりますね(個人的に) 笑

本当にその通りです。
1回目でうまくいった試しが有りません。
しかし、試行錯誤してうまくいったときの喜びは
何事にも変えられません。

APIについても調べたことがあります。
しかし、素人プログラマーなので深掘りしていませんでした。
残された手はAPIですね!!!

エクセル関数のメリット・デメリットを比較して
導入を検討したいと思います。

ありがとうございました。

「いいね!」 1