予算実績アプリの集計表カスタマイズビューについて

お世話になっております。
超初心者なのですが、初心者なりに掲題のカスタマイズビューを試しましたが、何も変わりませんでした。
【やりたいこと】
営業担当者の目標及び会社全体の収益目標に対する進捗状況を確認したいです。
また、案件管理アプリを使用しており、そこから集計した数字をリアルタイム反映して、管理したいです。
【状況】
私自身は共有管理者です。
JSEdit for kintoneを入れ、上記の指示通り、一覧のカスタマイズ画面で、コードを入力し、上記の指示通りにjqGrid-4.7.0をDL後解凍し、指定のファイルをアップロード、URLの入力はしています。(サンプルコードをテキストに入力し、保存してアップロードしました。)
根本的になにかが足りていないのだと思うのですが、そこすらわからない状況です。
大変恐縮ではございますが、ご教示いただけますと幸いです。
何卒宜しくお願い申し上げます。
0
23件のコメント
こちらのページにあるカスタマイズですね。
正しく表示されないということは何かが足りていないのは間違いないようですが、その情報だけでは分からないのでこちらを参照してエラー情報等を見ると手がかりが見つかるかもしれません。
mls-hashimoto様
お世話になっております。ご指摘頂きありがとうございます。
ご教示頂いたページにも飛びましたが、
ご指摘前に一度みたページでしたが、当時は???となって
踵を返しておりました。
改めてデバッグしたところ、下記のようなエラーがあることがわかりました。
google検索しましたが、次の手がわからなくなりました。
もしよろしければご教示いただけますと幸いです。
何卒よろしくお願い申し上げます。
笹 史明 さま
発生しているエラーは「『拠点』が見付からない」というものです。
またエラー内容の末尾に「33:22」とあります。これはコードのどこでエラーが発生しているかの場所を表しているもので、クリックすると具体的にどの部分かを表示してくれます。サンプルコードに当てはめると1行違いますが
この部分ですね。同様のエラーが出た場合、慣れない内は「『見付からない』となっている手前の部分が存在していない」という認識で問題ありません。この場合だと
が存在していないことになります。records[i]とは、records(配列)のi番目のデータという意味なんですが、コードの構造を遡ると
この部分まで遡ることになり、fetchRecordsの結果が空の配列ということになっているようです。
fetchRecordsという関数は「レコードを取得し、その結果の配列を返す」というもので、空の配列が返っているということは「取得したレコードが0件」という意味になります。それに対して「取得したレコードのi番目のデータ」を取得しようとしているため最終的にエラーになっている状態です。考えられる原因として、予算管理アプリにレコードが1件も登録されていないのではないかと思います。
mls-hashimoto様
ありがとうございます。
ご指摘の通りでございました。予算管理にレコードを作成すると、実績管理にも反映されてきました。
これを基にアプリを開発してみたところ、またしても壁にぶつかってしまいました。
想定している表としては、基本的には「各担当者の収益実績」を管理するものです。
そのため、「拠点」を「担当者」という表記にして運用していきたいと思っています。
予算管理において、フォームを「拠点」→「担当者」にし、
実績管理においても、ルックアップフィールドのフォームを予算管理に関連付けたにもかかわらず、
サンプルの再現でうまく表示できたようなが表示がされなくなり、最初の状態の状況です。
何卒よろしくお願い申し上げます。
笹 史明 さま
APIのリクエストボディに問題があるのは間違いないようですが、画像からではどの部分かまでは判断できかねます。
とはいえリクエストボディのクエリはレコードの取得数と並び順しか指定していないものなので、おそらくアプリIDの指定に問題があるのではないかと思います。
以下を追加して何が表示されるか教えて下さい。仮にnullが表示されるのであれば、フィールドが存在しないか、フィールドコードの指定が間違っているか、閲覧権限がないかのいずれかです。
↓
また、別件ですが投稿されている画像にサブドメインが掲載されているので、削除か修正をおすすめします。
mls-hashimoto様
お世話になっております。
色々触って変わってしまったのかもしれませんが、昨日とやや違う状況のような気がします。
ひとまず、現時点ではこのような状況ですが、ご指示に合致しておりますでしょうか。
また、サブドメインの件ご指摘ありがとうございます。以後気を付けて参ります。
笹 史明 さま
サンプルコードにalert部分を追加する形でお使い下さい。
とはいえ投稿された画像から対象のアプリID(57)が分かったので
を
に変えても問題ないですね。その前に実行している
はルックアップ対象のアプリIDを取得し、そのアプリIDをfetchRecordsに渡しているだけなので、結果は同じになります。
mls-hashimoto様
今のところこのような状況です。挿入の仕方は間違っておりませんでしょうか。
笹 史明 さま
コンソール画面にそのまま入力されているようです。
サンプルコードはJSEdit for kintone等を使って入力していますか?その編集画面で
となっている部分を、まるごと
と書き換えて下さい。
mls-hashimoto様
書き換えた結果こうなりました。
笹 史明 さま
サンプルコードに当てはめると
おそらくこの部分ですね。最初にも申し上げましたが、「properties of undefined」となった場合は、その「reading 〇〇」となっているものの手前が存在していないことになります。
「reading value」となっている今回だと
ここですね。i番目のデータの「拠点」が存在していないようです(逆を言えばrecordsのi番目のデータ、までは取得できているのでレコードの取得には成功しているようです)。こちらは「担当者」に変えているかと思いますが、その場合は担当者というフィールドが存在していないことになっています。
画面には「null」「57」どちらが表示されましたか?おそらくですが、「担当者」というフィールドコードのフィールドが存在していないのではないかと思います(フィールド「名」ではなくフィールド「コード」)。
mls-hashimoto様
予算管理及び実績管理アプリそれぞれのフォームには「担当者」のフィールドコードが存在しているのですが、
ここ以外に変更すべき箇所はございますでしょうか。
笹 史明 さま
設定は問題なさそうです。
次にレコードの中身が取れているかを確認するため、サンプルコードの
となっている部分に
と追加してみて下さい。コンソールに取得したレコードが表示されるはずです。
mls-hashimoto様
上記のご指示に従い、このようになりました。
笹 史明 さま
フィールドは問題ないように見えますね。そもそもサンプルで動作していたものが動作しなくなるということは、書き換えた部分に問題がありそうです。
コードの全文は公開できますか?
mls-hashimoto様
このようになっております。
笹 史明 さま
当方でもアプリパックを入れてコードを適用してみました。
↓
フィールドコードの指定が違う上の箇所の修正のみで動作しました。520エラー(リクエストボディのバリデーションエラーの可能性)が出ているので恐らく間違いないでしょう。
ただし、最初に出ていた「properties of undefined (reading 'value')」のエラーは確認できていません。
mls-hashimoto様
お世話になっております。おかげ様で、おっしゃる通り、ビューは改善しました。
また、properties of undefined (reading 'value')エラーはこちらでも確認できなくなりました。
ちなみに、アプリを開いた瞬間「取得するアプリのIDは「57」」という表示がブラウザタブからぶら下がる形ででてしまいます。
これは消しても問題ないのでしょうか。
今後の展望としてはプラグインを利用する形になろうかと思いますが、予算アプリに合計の表記、実績アプリに実績の合計とその達成率が見えるようにし、実績の合計には案件管理の成約日付から、四半期ごとの集計が自動で取得できるような形がゴールかな、と思っています。
笹 史明 さま
「取得するアプリのIDは…」の文は削除しても問題ありません。そもそもいくつか前の投稿で
この部分を私が知りたくて追加したものなので(結局答えていただいてないですが)、意味のないプログラムです。
その先の展望について、実現できることを応援しております。この場所(cybozu developer network)はサポートではなくあくまでもボランティアの集まりのようなもの(私もkintoneを使っているいちユーザーに過ぎません)なので、質問に答える程度のことであれば可能です。
mls-hashimoto様
まだ用語になれておらず申し訳ございませんでした。
ちなみに、黒背景にコードを書いてお示しする場合はどのようにすればよろしいでしょうか。
コードブロックを使うのかと思いましたが、見当違いだったようです。
笹 史明 さま
順に慣れていきましょう。私自身もエンジニアではなく他業種の人間で、右も左も分からない状態からスタートし、この場所で学んで現在に至っています。必ずできるようになれます。
コードを貼り付ける方法ですが、コードブロックで間違いありません。おそらく貼り付け時に書式設定ごと貼り付けてコードブロックが解除されたのではないかと思います。私もたまにうまくいかない時があり、貼り付け後にコードを選択してコードブロックを選択し、後から変換したりしています。
こちらのトピックが参考になるかと思います。