ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
「'」の符号は「& # x 2 7」としてインポート/エクスポートされる
適用
製品: NetSuite 2023.1
シナリオ
外部Webベースインテグレーションから情報をインポートする時、シングル引用符「'」の符号はHTLMエンティティの「& # x 2 7」として表示される場合があります。
その動作はNetSuiteにて問題になりません。然し、そのデータをエクスポートすれば、例えCSVとかExcelファイル等、それぞれのアプリケーションで「'」は読めないので、HTMLエンティティ化が行います。
解決策
Javascriptのネイティブ機能の「.replace()」を介して、HTMLエンティティコードを「'」の符号に切り換えます。
NetSuiteのUIにて見分けないが、Javascriptでは符号とHTMLエンティティの違いが発見できます。
同じようにNetSuiteの保存検索にて「含む」の条件を介して、「'」の符号として表示されるが、HTMLエンティティを含むレコードは発見できます。
以下のサンプルコードで、顧客の保存検索とHTMLコードの切り換えが行います。
function suitelet(request, response){ var customerSearch = nlapiSearchRecord("customer",null, [["lastname","contains","'"]],[new nlobjSearchColumn("internalid",null,null)]); for (var i = 0; i < customerSearch.length; i++) { customerRecord = nlapiLoadRecord('customer',customerSearch[i].getId()); var lastName = customerRecord.getFieldValue("lastname"); var aposCode = "'"; if (lastName.indexOf(aposCode) !== -1) { var newLastName = lastName.replace(aposCode,"'"); nlapiSubmitField('customer',customerSearch[i].getId(),'lastname',newLastName); } }
上記変数の「aposCode」にアポストロフィが含まれていれば(HTMLエンティティは「'」の符号として変換して表示)、空白と括弧を除いて次の文字列で切り換えます。[ & # x 2 7 ]
免責事項
ここに記載されているサンプルコードは、法律で認められている最大限の範囲で、いかなる種類の保証もなく、「現状のまま」で提供されています。Oracle+NetSuite社は、開発者がそれぞれの開発プラットフォームにサンプルコードを実装したり、独自の Web サーバー構成を使用したりする際に、個々の成功を保証するものではありません。
Oracle + NetSuite社は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性または完全性に関して、いかなる保証も行わず、表明もしません。Oracle + NetSuite社は、明示的にも黙示的にもすべての保証を放棄し、特に、商品性、特定目的への適合性、およびコード、またはそれに関連するサービスやソフトウェアに関連する保証を放棄します。
Oracle + NetSuite社は、本サンプルコードに関連してお客様または他者が行った行為に起因するいかなる種類の直接的、間接的または結果的な損害または費用についても責任を負いません。