問題タブ [suitescript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
version-control - 本番環境から NetSuite サンドボックス コード (のみ) を更新するには?
本番環境から NetSuite サンドボックスを更新 (コードのみ)
本番環境からサンドボックスをリフレッシュできることはわかっていますが、サンドボックス全体をリフレッシュするのではなく、NetSuite SuiteScript、NetSuite フォーム、および UI オブジェクトをリフレッシュしたいと考えています。
NetSuite 独自のインフラストラクチャ/コードとそれがもたらす課題
基本的すぎると思って数週間この質問をするのをためらっていましたが、そうではないようです。しばらく NetSuite を使用した後、ソース コードとデータの境界線が曖昧になっていることが明らかになりました。私の意見では、これがまさにコードの更新を困難にしている原因です。
また、NetSuite コードをバージョン管理ソフトウェアに保存することは (すべてのコードについて) 不可能に近いことも学びました。これにより、コードだけを更新したいという私の願望も同様に不可能かもしれないと考えるようになりました。SOX コンプライアンスの問題に悩まされている IT ショップが、ビジネス ロジックの制御と変更に関して、どのように監査人を満足させることができるのか疑問に思う必要があります。
サンドボックス コードを更新する本当の疑問と理由
サンドボックス コードを更新する動機は、カスタム税フィールド (Ava-Tax) が項目タブからトランザクション本文フィールドを含むタブに不思議なことに移動した特定のフォーム (請求書と見積もり) で、サンドボックス アカウントで予期しない動作に遭遇したという事実です。 ! フォームは 1 年以上誰も更新されていないようで、フォームを壊した可能性のあるパッケージがサンドボックスにインストールされていませんでした。
ソース コードを更新できない場合、NetSuite フォームが独自の方法で保存され、明らかなソース コードが利用できないことを知って、NetSuite フォームがどのように破損したかを判断する方法はありますか? 私は、NetSuite コードのほとんどがサーバーとクライアントの両方で実行される JavaScript であり、NetSuite 外部のユーザーが使用できない部分があることを理解しています。
解決策や提案は大歓迎です。
sorting - NetSuite - 明細項目の並べ替え
特定のフィールド (例: アイテム名) に基づいてアイテム ラインをソートするトランザクション (購入注文、販売注文) に適用されるユーザー イベント スクリプト (Before Submit イベント) を作成したいと考えています。
私のアプローチは、すべての情報を配列に保存し、並べ替えてから、API のnlapiRemoveLineItemメソッドを使用して各アイテムを削除し、nlapiInsertLineItemメソッドを使用して各アイテムを正しい順序で挿入することです。
ただし、このアプローチでは、削除および挿入する前にすべての列の値を保存する必要があります。私の懸念は、行の挿入時またはレコードの送信時に特定の検証が原因で NetSuite がエラーを発生させる可能性があることです。
ラインアイテムの並べ替えを簡単にする別の方法はありますか? どんな提案でも大歓迎です。
javascript - テストのためにNetSuiteシステムの日付を将来または過去に設定する方法は?
日付トリガースクリプトをテストする目的で、NetSuite のシステム日付を一時的に変更することはできますか? そうでない場合、サンドボックス内の特定のユーザーに対して将来または過去の日付をシミュレートできるように、すべての NetSuite 日付関数をオーバーロードする方法はありますか?
特定の NetSuite レコードの有効期限が切れるまでの日数に基づいて送信される電子メール通知があります。この機能をテストしたり、レコードの有効期限を変更したりするためにユーザーを数日待たせるのではなく、NetSuite システムの日付を変更できるようにする UI を提供したいと考えています。
複数のユーザーが将来/過去の日付をシミュレートできるように、サンドボックス インスタンス全体ではなく、ユーザーに固有の日付オーバーライドを希望します。日付のオーバーライドは、クライアントとサーバーの両方の SuiteScript コードと、スケジュールされたスクリプトで機能する必要があります。
javascript - Netsuite スケジュール スクリプトで外部 URL から CSV をロードして読み取る
タイトルのとおり、CSV ファイルを 1 時間ごとにインポートするスケジュール スクリプトを作成しています。ただし、外部ソースから csv ファイルを取得するために使用できる方法が見つかりません。例: http://samplecsvs.s3.amazonaws.com/SalesJan2009.csv
nlapiLoadFile は、ファイル キャビネット内のファイルのみを取り込むようです。
何か案は?
javascript - 在庫詳細 To Bins 列
すべての行の在庫詳細サブレコード内の値 (To Bins) を読み取ることができるように、ユーザー イベント スクリプトを作成しようとしています。このようなものを持っています:-
しかし、エラーが発生しました。「To Bins」列の正確なフィールド名もわかりません。何か不足していますか?
netsuite - Netsuite API でクレジット メモを照会する方法
これは、私が以前に尋ねた質問に関連しています。
Netsuit レストレットから顧客のエージング フィールドを取得する方法
その質問への回答で説明されている手法はうまく機能しますが、クレジット メモは処理しません。クレジットメモを考慮する方法がわかりません。
たとえば、次の値を表示する顧客レコードがあります。
2000 は問題なく引き出せますが、クレジット メモから -50 を取得できないようです。
これを行うために請求書クエリを調整してみました:
また、クレジット メモに対して別のクエリを実行してみました。
そのクエリは行を返しません。エンティティを除くすべての条件を削除すると、2 つの行が返されますが、どちらも実際のクレジット メモではありません。
クレジットメモを含むこれらの正しい番号を取得する方法について誰か考えがありますか?
search - NetSuite 履歴検索結果
今日オープンしているケースの数 (月曜日の朝に実行される)、先週の月曜日の朝にオープンしたケースの数、およびその前の月曜日の朝にオープンしたケースの数を表示する検索を作成しようとしています。
問題は、基本的にこれらの結果が先週であり、それらの結果が前の週であると検索に伝える方法が見つからないことです。
フォームに存在するフィールドは使用できません。検索を表示している日付を指すことはないからです。
ロジックは簡単に思えます:
NetSuite ソリューションは私を回避しています。他の誰かがこれに遭遇したことがありますか?かなり一般的になりそうです。