キンコミ kintone user community

みんなの投稿

2024/12/19 11:14

アイデアをお貸しください。

・契約中のコース( スタンダード)

・お悩みの背景、目的
kintoneのアプリで、顧客に対しての金額設定を行いたいです。
今【➀②③】のアプリはすでに設定済です。

【➀顧客マスター(ランク1~10)】
 Aさんランク1、Bさんランク2・・・
※顧客マスターは1年で1ランクあがる。
【②商品マスター(50品)】
※商品名は増減あり、金額は毎年かわる。
【③受発注画面】
➀のマスターから顧客名でルックアップ、②の商品マスターから商品名でルックアップのデータがあります。

このアプリを使って
例えば、Aさん(ランク1)が商品Aを購入したデータは③のアプリにレコードが登録されるのですが、それに対しての金額入力を自動計算で行いたいです。

今やりかけたのは、➀の顧客マスターへ②の商品と金額をルックアップで登録。と思ったのですが、②の商品が50品あるので➀の顧客マスターへ50品目×ランク10=500フィールドを追加しなくてはならないので、果たしてこのやり方であってるのか、もっと良い方法があるのではと思い質問させていただきました。

標準機能のみで、対応できると大変助かります。

分かりにくい文章で大変恐縮ですが、お知恵を貸していただけると嬉しいです。




3件のコメント (新着順)
ふゆき
製造業
2024/12/20 12:36

アプリ「商品マスタ」を
表計算ソフト(Excelなど)に置き換えたと仮定して
「行項目名」「列項目名」から
行と列の「交点値」を参照する

TISさんの
「条件分岐処理プラグイン」の自動ルックアップ
で考えてみました。ご参考までに!

追記---商品の(全角文字、半角文字)文字統一が必要です
   (ランクは数値フィールド利用し
    plugin設定も数値にすれば問題ありません)

※9フィールドの削減が可能です(=Data量の削減)
※Data量が少ないと、レコードが増えた時でも軽快に動きます


vision
2024/12/20 13:10

ふゆきさん、ありがとうございます!

この方法だと、マスター管理がしやすそうです。

「条件分岐処理プラグイン」使ったことあるのですが、私の理解力が乏しく使いこなせておりませんでした。図解でのわかりやすい説明とてもありがたいです。

色々な方法を試してみようと思います!

かな
建設業
2024/12/19 12:29

うーん、、非常に面倒ですが、方法は2つですかね。

方法1:②を500レコード作成する。
【メリット】メンテナンスが楽。
金額の変更があった時に②商品アプリのレコードを編集出来る人なら誰でも更新ができます。

【デメリット】1レコードごとになるので、③のアプリのルックアップ名を工夫する必要がある。
②商品アプリは、
・商品名 ・ランク ・金額
・ルックアップ用名称:文字列(1行)フィールド
 → 「商品名 & ランク」 または 「ランク & 商品名」
 →③アプリではこのルックアップ用名称を使ってルックアップさせる
・関連レコード
 →商品名をキーワードに各ランクのレコードを紐づける
(テーブル形式なので、多少メンテナンスが楽になるかな、と。。)

========

方法2:③に計算フィールドを追加してIF文でゴリゴリに計算させる
【メリット】1フィールド追加で対応できる
【デメリット】アプリを更新できる人にしかメンテナンスが出来ない。IF(のカッコ数など)を間違えると地獄。。

一応50×10=500ものパターンIFは考えただけでも死にそうなので、chatAIをご活用されると良いかなと思います。

Excelで表を作って(あると思いますので…)それを読み込ませればIF文書いてくれます。
chatGPTでも行けるには行けると思いますが、
(個人的には「perplexity」が割とこの手の自動計算得意かな、と最近感じます。ご参考までに。)
https://www.perplexity.ai/onboarding?redirect=https%3A%2F%2Fwww.perplexity.ai%2F%3Flogin-source%3DoneTapHome

行数がえげつないので、AIも間違える可能性が高いです。
書いてもらってから必ず確認をお願いします。

「csvの表を元に、商品とランクごとのIF文を作成して。kintoneの標準機能の自動計算で使いたいからIF関数だけで書いて。」
(⇧後半は何で使うかを書かないとJavaScript書かれました。もちろん使えません。。)

========
標準機能で出来る範囲だとどちらもメリットデメリットあるので、扱いやすい方でご検討頂ければと思います。


vision
2024/12/19 13:05

かなさん、ありがとうございます!

方法2は別の担当者が更新するとなった際に、計算式を間違える恐れが多分にあるので、方法1の方が弊社向きかなとおもいました。

最初はフィールドを500個作るしかない!?と思考停止しかけたのですが、アイデアを頂き光が見えてきました。
いずれにしても、集中してやらないと間違えそうなので気合をいれて頑張ってみます。
具体的にご説明いただきありがとうございました。

スマホからの回答のため、サンプル画像をつけれずすみません。

1レコード内に50商品×10ランクのフィールドを作るよりも、商品ごとのレコードに10ランク、もしくはランクごとのレコードに50商品を入れるほうが、ルックアップしやすい気がします。
どちらのほうがよいかは、運用次第でしょうか。

力技になりますが、一人で何商品も同時に購入することを想定すると、ランクごとのレコードにして、ルックアップ時のコピーで各商品のそのランクでの金額を③アプリにコピーしておけば(フィールドを50個使いますが)、③レコード内でも使いやすいと思います。


上記スキームの使用例です。外貨の費用精算に使っています。

■為替マスタ
  基準日ごとのレコードに、各通貨のレートが入力されています。

■費用精算アプリ
 ・基準日でルックアップし、為替マスタの核通貨のレートをすべてコピーしています。
 ・その上で、ドロップダウンで選択した通貨の横の計算フィールドに、
  IF関数でその通貨のレートを引用しています。

 50商品となるとちょっと大変ですが、力業となりますが、これなら標準機能で対応可能です。

vision
2024/12/19 13:09

もりおすさん、ありがとうございます!

1人1商品でのレコード登録での運用になりそうなので、1商品に10ランク設定で登録してみます。
ご提案ありがとうございました。

vision
2024/12/19 13:59

為替レートのところをランク1~10で登録するイメージが出来ました。

ご丁寧に画像まで載せていただきありがとうございました!