初めまして、kintoneの基本仕様以外javascriptの仕様につきまして、マニュアルを見ても意味わからないことが多く、こちらに質問を投稿します。
現在私は、ライトプランを利用しています。受注プログラムをkintoneで自作で作ろうとしたら、受注明細の、複数の金額を入れる数値フィールドの合計値が必要となり下記のような感じでプログラムを作ってみました。
NO 商品名 商品単価 数 小計
1 AAA 1000 1 1000
2 BBB 2000 2 4000
3 #N/A!
合計 #N/A!
【問題】
※ 小計と最後の合計は”計算フィールド”を使用したため何も入れないと
”#N/A!” のようなエラー文字が表示されます。
3の小計の欄に0を入れると合計も出ますが、問題は該当データを
PDF納品書で出力するため、行が増えると意味のな”0”” 欄が格好悪く表示されます。
上記、3行の小計が空白の場合でもエラー表示が出ないようにjavascriptで
解消できるものでしょうか。
プログラム応用が難しく、サンプルコード実装方法など親切に教えて頂けたら幸いです。
今後も応用版のデータを作る予定でいますが、上記仕様のためとても困っております。
どなたか知恵を貸して頂けませんか。
| >※ 小計と最後の合計は”計算フィールド”を使用したため何も入れないと | |
| >”#N/A!” のようなエラー文字が表示されます。 | | | |
| | | | | | | | |
| >3の小計の欄に0を入れると合計も出ますが、問題は該当データを | | |
| >PDF納品書で出力するため、行が増えると意味のな”0”” 欄が格好悪く表示されます。 |
| | | | | | | | |
| >上記、3行の小計が空白の場合でもエラー表示が出ないようにjavascriptで | |
| >解消できるものでしょうか。 | | | | | |
| | | | | | | | |
| 作られている「受注プログラム」全体のことはわかりませんが、 | | |
| 上記引用の箇所について、ちょっと、考えたことを試してみましたので、ご報告します。 |
| | | | | | | | |
| 問題は「3行の小計が空白の場合でもエラー表示が出ないように」ということですが、 |
| それでは、無用な「空白」のある行を除外してはどうでしょうか。 | | |
| | | | | | | | |
| まず、この件の状況の一部(「合計」欄はありません)を再現してみました。 | |
| | | | | | | | |
|
| |
| | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| この3行目のデータを除外してみました。 | | | | |
| データ行の「小計」フィールドが空白なら、追加した行を、その場で、すぐさま、削除します。 |
| | | | | | | | |
| jsは、次の通りです。 | | | | | | |
| | | | | | | | |
| ・・・・・・ | | | | | | | |
| for (var ix = 0; ix < tableRecords[i].length; ix++) { | | |
| | //行追加 | | | | | | |
| var row = myRecordSpace.insertRow(myRecordSpace.rows.length); | |
| | | | | | | | |
| ・・・・・・ | | | | | | | |
| | | | | | | | |
| if(!tableRecords[i][ix].value[‘小計’].value) { | //値がないなら、 | |
| myRecordSpace.deleteRow(ix); | //行削除 | | |
| } | | | | | | |
| | | | | | | | |
| ・・・・・・ | | | | | | | |
| | | | | | | | |
| ※「空白」の判定は、単純に、「! .....」を使いました。それ以外の書き方もあると思います。 |
| | | | | | | | |
| | | | | | | | |
| 得られた結果は、次の通りです。 | | | | | |
|
| |
| | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| 以上、あくまで、こういう考え方でできないでしょうか、ということです。 | |
| | | | | | | | |
| よろしくお願い致します。 | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
少なくともライトコースではjavascriptやプラグインによるカスタマイズはできないはずです。
カスタマイズが必要であればスタンダードコースをお勧めします。
kazuo urata様 kazuo urata様
ご回答ありがとうございます。
プランの変更と改善案のご説明を参考しながら試してみます。