詳細レコードを開いた際にフィールドにあるキーワードが入力されている場合にアラートを表示させたいのですが、うまくいきません。
フィールド名:債権
条件:フィールドに未回収と入力されている場合
https://cybozudev.zendesk.com/hc/ja/articles/200730174-JavaScript%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9Fkintone%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA
内の手順3を応用しようとしてやっていますが、何か足らないのでしょうか?
よろしくお願いいたします。
(function() {
“use strict”;
//レコード表示イベントを取得
kintone.events.on(‘app.record.detail.show’, function(event) {
//表示したレコードの取得
var record = event.record;
//ユーザー数が500人以上であればメッセージを表示
if (record[‘債権’][‘value’] >= 未回収) {
alert("未回収案件です);
}
});
青山さん
if (record['債権']['value'] >= 未回収) {
の部分に何かありそうですね。
つまずきポイントは下記のどちらかではないでしょうか?
- 「record[‘債権’][‘value’] === ‘未回収’」にしてみる。
- フィールド名は「債権」とのことですが、フィールドコードも「債権」になっているでしょうか?
ご確認くださいませ。
上記に加えて
- alertの最後にダブルクォーテーションが足りない
- プログラムの最後に「})();」が足りない
といった辺りもエラーの原因のようです。
最終的に下記のコードで動作を確認しました。
(function() {
“use strict”;
//レコード表示イベントを取得
kintone.events.on(‘app.record.detail.show’, function(event) {
//表示したレコードの取得
var record = event.record;
//ユーザー数が500人以上であればメッセージを表示
if (record[‘債権’][‘value’] === ‘未回収’) {
alert(“未回収案件です”);
}
});
})();
武井さん
ご返信ありがとうございます。
早速上記コードへ変更しましたが、詳細レコードを開いてもアラート表示が出ないようです。
ご指摘のように、フィールドコード、フィールド名共に”債権”となっております。(文字列(1行))
青山さん
一つずつ確認していきましょう。
債権フィールド(文字列1行)は以下のようになっていますか?
債権フィールドに「未回収」の文字を登録していますか?
//ユーザー数が500人以上であればメッセージを表示
というコメントがありましたが、
上記コードでは、「債権」フィールドが「未回収」となっている場合にだけアラートを表示することになります。
もし、上記を行っていても、アラートが表示されない場合、
本コードそのものの問題でなく、
他のプログラムコードと競合している等の状況が考えられます。
この場合、デバッグにて調査する必要がございます。
調査の方法は以下を参照ください。
■動かない?そんな時はデバッグをしてみよう!入門編
https://cybozudev.zendesk.com/hc/ja/articles/207613916
武井さん
ご返信ありがとうございます。
ご指摘の債権フィールド(文字列1行)
債権フィールドに「未回収」両方ともその通り入っています。
デバックに関して勉強してみます。
因みに今回報告しているアプリはこのjava用(テスト運用)に作成したアプリで
「案件管理」というデフォルトのアプリで実施をしました。
念のためほかのアプリでも試したのですが症状が同じとなるのですが、
この場合もデバックが必要と考えられますでしょうか?
青山さん
見たところ問題ないと思います。
私も「案件管理」など、まったく同じ状況を作成していますが、やはりアラートは出ますね。
もし、このJavaScriptファイル以外に追加していない場合に考えられるのは、
JavaScriptファイルを「UTF-8」で保存していない、という線はないでしょうか?
武井さん
できました!
初歩的なミスでした。仰るようにUTF-8で保存し忘れていたようでした。
いろいろとご指摘いただきありがとうございました<(…)>
今後ともよろしくお願いいたします。
武井さん
確認ですが、先ほどのケースでは文字列で行いましたが、
同様の記述で行えるものはチェックボックスやラジオボタン、ドロップボックスでも同様に
可能なのでしょうか?
チェックボックスの場合、詳細レコードを表示した際に表示されている文字を条件にするのか
データの書き出しを行った際には”1”等の数値表記を条件にするのでしょうか?
以上よろしくお願いいたします。
青山さん
結論から言うと「ラジオボタン」「ドロップダウン」は同様の記法で処理可能ですが、
「チェックボックス」はやや記法を変更する必要があります。
チェックボックスの場合、表示されている文字の方を条件にすることとなります。
複数チェックされる場合があるため、
「record[‘債権’][‘value’]」
の配列の中に「未回収」があるかどうかを探索する必要が出て来ますね。
詳しいフィールド形式は下記をご覧ください。
https://cybozudev.zendesk.com/hc/ja/articles/202166330
system
(system)
クローズされました:
12
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。