いつも大変お世話になっております。
先日も投稿して、アドバイス頂いておりました。
https://developer.cybozu.io/hc/ja/community/posts/115010339006-%E8%AB%8B%E6%B1%82%E3%82%A2%E3%83%97%E3%83%AA
まだ行き詰まったので、アドバイスいただきたく投稿させていただきました。
①小計=購入単価×年換算係数×契約数 (年換算係数(1 or 12))
にしたいですが、テーブルの外にある「購入単価」をどうやってテーブルの中の計算式に入れたらいいのかわからなくて・・
②また、「年換算係数」をレコード追加するときに、レコード作成者が記入できないようにしたいですが(今は一応1or 12が入りますが、レコード作成者の記入画面でも数値を入力することができてしまって)、どんな思考で考えればよろしいでしょうか?アドバイスよろしくお願い致します。
(function() {
“use strict”;
kintone.events.on([‘app.record.create.submit’,‘app.record.edit.submit’], function(event){
var record = event.record;
record.Table.value.forEach(function(element, index){
if (record[‘単位’][‘value’] === ‘1ユーザー/月’) {
record.Table.value[index].value.年換算係数.value = 12;
}else {
record.Table.value[index].value.年換算係数.value = 1;
}
record.Table.value[index].value.小計.value = Number(element.value.年換算係数.value) * Number(element.value.契約数.value);
});
return event;
});
})();
玲香様
お世話になっております。
cstapの江田と申します。
1について、サブテーブル外のフィールドについてもフィールドコードを設定することで計算に用いることができます。
https://help.cybozu.com/ja/k/user/set_autocalc.html
小計の計算式を「購入単価*年換算係数*契約数」とするのであれば、購入単価のフィールドコードを「購入単価」と設定すれば計算できます。
2について、年換算係数はレコードごとに1つの値に定まると思えるのですが、そのような認識で宜しかったでしょうか?
もしそのようでしたら、サブテーブル外に年換算係数のフィールドを設置しては如何でしょうか。
サブテーブルに含まれないフィールドであれば容易に入力不可に設定できます。
サンプルコードを書いてみました。
ご参考になればと思います。
(function() {
"use strict";
kintone.events.on(['app.record.create.show','app.record.edit.show'], function(event){
var record = event.record;
record.年換算係数.disabled = true;
return event;
});
kintone.events.on(['app.record.create.change.単位','app.record.edit.change.単位'], function(event){
var record = event.record;
if (record['単位']['value'] === '1ユーザー/月') {
record.年換算係数.value = 12;
}else {
record.年換算係数.value = 1;
}
return event;
});
})();
玲香さん、江田さん
横から失礼します。
江田さんからコード例がありましたので、私からプラグインを使った例を。
有償ですが、計算式プラグインと項目検証プラグインを使った例です。
Excel の計算式のような設定で、対応できます。
・操作例
・計算式プラグインの設定例
・項目検証プラグインの設定例
江田篤史 様
いつもお世話になっております。
アドバイスとサンプルコードまでサポートしていただき、本当にありがとうございます。求めていた形で出来ました。
本当にありがとうございました。とても感謝しております。
rex0220 様
いつも大変お世話になっております。
rex0220さんの作っていらっしゃるプラグイン本当にすばらしいです。
ちょっと時間かかるかもしれないですが、上司と相談しながら、未解決のアプリはぜひ購入も含め、検討させていただきます。
いつもアドバイスいただき、本当にありがとうございます。