ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
nlapiSetFieldValue()を使用して数値を設定すると、引用符で囲まれた値と引用符で囲まれていない値の保存方法が異なります
適用
製品: NetSuite 2021.1
シナリオ
nlapiSetFieldValue()を使用して、フリーフォームテキストフィールドまたは標準テキストフィールドの数値を設定しますが、値は10進形式で設定されます。
解決策
nlapiSetFieldValue()関数を次のように使用すると、値は数値形式で設定されます。
var rec = nlapiLoadRecord('customer', 14168); rec.setFieldValue('comments', 2); nlapiSubmitRecord(rec); nlapiLogExecution('ERROR', 'comments', nlapiLoadRecord('customer', 14168).getFieldValue('comments'));
ただし、以下のように使用すると、値は文字列値として設定されます。
var rec = nlapiLoadRecord('customer', 14168); rec.setFieldValue('comments', '2'); nlapiSubmitRecord(rec); nlapiLogExecution('ERROR', 'comments', nlapiLoadRecord('customer', 14168).getFieldValue('comments'));
JavaScript番号は、国際IEEE 754標準に従って、常に64ビット浮動小数点数として格納されるため、「2.0」として設定された値は予期された動作をします。 NetSuiteの内部JavaScriptエンジンはこの標準に従います。
クライアントスクリプトでは、値は2.0として表示され、ユーザー側では2として表示されます。ただし、内部的には、ユーザー側でも、JavaScriptは数値をFloatとして処理します。ユーザーが「2」を使用する場合、それは文字列の使用法を示しているため、フィールドは値2を保持します。
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。
Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。