ディスカッション
AIを用いた自動化で請求書処理を合理化
AIを用いた考察を使用して、計画と予測を迅速化
SuiteWorldまであと41日となりました。以下の最新情報をご確認ください。
アジェンダビルダー公開
SuiteWorld On Airの登録受付開始
新しいNetSuite Prompt Studioコンテスト
その他の最新情報も!
詳細はこのスレッドでご確認ください!
ワークフローアクションスクリプトのサンプルコード:ワークフローで2種類以上の通貨を使用して承認を得る
適用
製品: NetSuite 2023.1
シナリオ
複数の通貨を使用しており、一部の取引に複数の通貨を使用しているが、アドバンスト承認が使用されている。
解決策
一部のNetSuiteアカウントでは、複数通貨機能が有効になっています。これにより、取引やエンティティに特定の通貨を指定することができます。承認者が取引通貨や基準通貨とは異なる別の通貨を使用している場合、ワークフローがこれら2つの通貨に限定されるため、問題が発生します。承認者の承認限度額を確認する際、ワークフローは承認者が使用している通貨ではなく、当該承認者の限度額を取引通貨として扱います。解決策としては、取引通貨と承認者が使用している通貨の間の為替レートを求め、それをワークフローのフィールドに保存して、さらに操作できるようにします。
注:SuiteFlowは現在、多通貨機能をサポートしていません。
これは、284679 - Workflow Manager > Multi-Currency = T > Consider Employee's Primary Currency before evaluating the condition として申請されています。
以下は、トランザクションの通貨と承認者の通貨の間の為替レートを取得するワークフローアクションスクリプトのサンプルです。
コードスニペット:
function workflowAction() { //Initialization var transCurrency = nlapiGetFieldValue('currency'); var employeeCurrency = nlapiLoadRecord('employee', nlapiGetFieldValue('employee')).getFieldValue('currency'); var supervisorCurrency = nlapiLoadRecord('employee', nlapiGetFieldValue('nextapprover')).getFieldValue('currency'); /* Source the different exchange rates involved in the transaction, in this case: Transaction (buyer) Currency to Employee Currency Transaction (buyer) Currency to Supervisor Currency */ var transToEmpExRate = nlapiExchangeRate(transCurrency,nlapiLoadRecord('employee',nlapiGetFieldValue('employee')).getFieldValue('currency')); var transToSupExRate = nlapiExchangeRate(transCurrency,nlapiLoadRecord('employee',nlapiGetFieldValue('nextapprover')).getFieldValue('currency')); /* Store the Exchange Rates on workflow fields Workflow field setup: Label: Any Type: Currency ID: Any (note that the ID is always prefixed by custworkflow)