-
Map/Reduce がユーザーイベントを実行しない
適用 製品: NetSuite 2025.1 Bundle: Fixed Assets Management | ID 551966 シナリオ FAMバンドルの更新が失敗し、[インストール済みバンドル]ページ(カスタマイズ > SuiteBundler > バンドルの検索とインストール > 一覧)に次のステータスが表示されます。 固定資産管理の最新版へのアップグレードおよびDHRの償却スケジュールへの移行は、資産の償却やバックグラウンドタスクがまだ保留中または進行中のため、開始できません。すべてのプロセスの状況を確認するには、[固定資産 > 固定資産バックグラウンド処理 > プロセスインスタンス一覧]に移動してください。 解決策…
-
ユーザーイベントスクリプトを介して削除された時間エントリのリストを取得する
適用 製品: NetSuite 2020.2 シナリオ ユーザーは時間請求レコードを削除したいが、削除する必要がある時間請求レコードを保存および/または追跡する必要があります。 解決策 これは、送信後のデータが削除されるたびにトリガーされるユーザーイベントスクリプトを作成することで可能になります。アクションタイプは、if-then条件ステートメントを使用して削除に設定する必要があります。レコードを追跡するために、条件に他のアクションを挿入することもできます(例えば取得した時間エントリの値を取得するカスタムレコードを作成し、削除するレコードのデータをユーザーがどのように処理するかに応じて、システムノートなどの削除をログに記録します)。…
-
販売トランザクションのアイテム明細レベルのアイテム名/番号の代わりにアイテム表示名/コードを印刷する
適用 製品: NetSuite 2020.2 シナリオ アドバンストPDF/HTMLテンプレートを使用して、販売トランザクションのアイテム行レベルでアイテム名/番号の代わりにアイテム表示名/コードを印刷する方法。 アイテムの表示名/コードのフィールドヘルプには、「販売フォームのアイテム列に表示名が印刷されます。このアイテムがキットのメンバーである場合、アイテムを印刷ボックスをオンにすると、この名前がアイテム列に表示されます」と表示されます。ただし、これは基本的な印刷機能でのみ機能します。これに対する解決策は、カスタム行フィールドを作成し、表示名を取得して、アドバンストPDF/HTMLテンプレートに印刷することです。 解決策 *…
-
SuiteScript>ネイティブJavaScript> parseInt()は異なる結果を返す場合があります
適用 製品: NetSuite 2023.1 シナリオ 先行ゼロが8と9の数値は、正しく解析されません。 以下を実行すると: var result = []; for (var i = 0; i < 100; i++) { result.push({a: i, b: parseInt('0' + i)}) } 結果は次のようになります。 08 = null 09001 = NaN 028 = 2 解決策 基数を指定しないparseInt()は、入力されたパラメーターを8進数として扱います。解決策は、基数パラメーターを関数に渡すことです。 以下を実行すると: var result = []; for (var i = 0; i < 100;…
-
グーグルクロームのデベロッパーツールを介して、レコードにデプロイされた2.0のクライアントイベントスクリプトをデバグする
適用 製品: NetSuite 2023.1 シナリオ グーグルクロームにて、レコードにデプロイされたクライアントイベントスクリプトはデバグできます。 解決策 * グーグルクロームにてキーボードのF12(Windows OS)を押下して、デベロッパーツールを開きます * デベロッパーツールのメニューにて、ソースを押下します * 「ナビゲータを表示」のアイコンを押下します * 「top」 を押下します。 * 「{accountid}.app.netsuite.com」を押下します。 * 注:上記「accountid」とは、設定 > 会社 > 会社情報のアカウントIDのものです。 * app > common >…
-
現在のユーザーがワークフローを介して承認者として自分の名前を設定できないようにする
適用 製品: NetSuite 2020.1 シナリオ 管理者が、現在のユーザーが仕訳入力レコードの次の承認者として自分自身を選択できないようにしたい場合があります。ユーザーがレコードを保存できないように、既存の仕訳入力承認ワークフローを変更し、ユーザーを返すエラーを追加する場合があります。 解決策 * カスタマイゼーション> ワークフロー> ワークフローに移動します * 既存の仕訳入力承認ワークフローで編集をクリックします * 目的の状態をクリックします 例:開始 * 右下隅:新しいアクションをクリックします * ユーザーエラーを返すをクリックします * 基本情報: * トリガーの時期:レコード送信前を選択 * 状態: *…
-
SuiteTalk>顧客レコードの代わりにリードを作成する
適用 製品: 2022.1 シナリオ SuiteTalkを使用してカスタマーレコードの代わりにリードレコードを作成するには、カスタマーステータスを任意のリードステージに設定する必要があります。使用するエンティティステータスの内部IDを取得するには、設定> 営業> タスクを設定> 顧客ステータスに移動します。 解決策 免責事項 サンプルSOAP request:- <soapenv:Body> <add xsi:type='platformMsgs:AddRequest'> <record xsi:type='listRel:Customer'> <firstName xsi:type='xsd:string'>TESTfirstName>…
-
NetSuiteのスクリプトを介して、BOOMIへJSONデータを送信する
適用 製品: NetSuite 2023.1 シナリオ NetSuiteのスクリプト(※)を介して、BOOMIへJSONデータを送信すします。 ※例え、発注書のデータを送信する 解決策 NetSuiteから送信したJSONデータは、文字列化の時のみにBOOMIで受け取ります。BOOMIへデータを渡す前、JSON.Stringifyで処理できます。JSON.Stringifyで文字列化にした後、BOOMIでデータは正常に受け取ります。
-
SuiteScriptを使用して価格水準を動的に取得
適用 製品: NetSuite 2019.2 シナリオ 設定 > 会計 > 会計リスト > 価格水準に手動で移動せずに、アカウントで使用可能なすべての価格水準を動的に取得します。 解決策 SuiteScript 1.0: var search = nlapiSearchRecord('pricelevel', null, null, null); for (var i in search) { var internalId = search[i].getId(); var recType = search[i].getRecordType(); var description = nlapiLookupField(recType,…
-
SuiteScript>現在の時刻と指定された時刻との比較
適用 製品: NetSuite 2020.1 シナリオ ユーザーは、スクリプトを使用して現在の時刻と特定の時刻を比較します。 解決策 以下のサンプルコードスニペットを参照してください。 var cudate = new Date(); //現在の時刻を取得 var date = nlapiDateToString(cudate); //現在の時間を含む日付を取得 var comparetime = "12:00:00" //日時を特定 var compareDateTime = new Date(date+' '+ comparetime); //現在の日付と比較時間の連結 if(cudate >compareDateTime)…
-
注文書かつ請求書からの2つPDFドキュメントを1つのドキュメントに結合する
適用 製品: NetSuite 2022.1 シナリオ 注文書かつ請求書から新規作成された2つドキュメントを結合します。 解決策 以下のコードで請求書のPDFファイルは保存した後、 var invoiceFileId = IObj.save(); var invoiceFileLoaded = file.load({ id: invoiceFileId; }); invoiceFileLoaded.isOnline = true; var invoiceFileId = invoiceFileLoaded.save(); //ファイルを再ロード var invoiceFileLoaded = file.load({ id:…
-
SuiteScript > encodeURIComponentを介してURLエラーを回避する
適用 製品: NetSuite 2025.1 シナリオ ユーザーが特殊文字を含むURL文字列を生成したい場合、特殊文字をそのままURLに追加すると、無効なURLエラーが発生する可能性があります。 解決策 このエラーを解消するには、特殊文字を含むパラメータの値に対して encodeURIComponent 関数を使用してください。 var baseURL = "https://system.na3.netsuite.com/app/common/item/item.nl"; var param = "user123@test.com"; var url = baseURL + "?email=" +…
-
SuiteScript 2.0を介して、トランザクションにて重複のラインアイテムを避ける
適用 製品: NetSuite 2023.1 シナリオ SuiteScript 2.0を介して、トランザクションにて重複のラインアイテムを避けます。 解決策 /** * NApiVersion 2.0 * NScriptType ClientScript * NModuleScope SameAccount */ define(['N/currentRecord'], /** * @param {email} email * @param {dialog} dialog */ function(currentRecord) { function validateLine(){ var record =…
-
CSV Integrator Toolで表示されるエラー「Cannot detect the mapping」の解決方法
適用 製品: NetSuite 2025.1 シナリオ このエラーは、CSVファイルのヘッダーとUIで定義されたヘッダーの不一致、またはツールの実行に必要なトークンID、トークンシークレット、その他のフィールドなどのnetsuite.propertiesファイルの誤った情報が原因で発生することがよくあります。 CSVファイルとnetsuite.propertiesファイルの情報が有効である場合、他に考えられる要因は、CSVインテグレーターツールがカスタムロールのUIでのアクセスを必要とすることです。これを解決するには、影響を受けるカスタムロールのWebサービスのみのロールのチェックマークを外します。 解決策 設定 > ユーザ/ロール >…
-
アドバンスPDF / HTMLテンプレートを使用して、顧客ステートメントに各請求書の未払い総額を表示する
適用 製品: NetSuite 2021.1 シナリオ アドバンスPDF / HTMLテンプレートを使用して、顧客ステートメントに各請求書の未払い総額を表示する 解決策 カスタマイゼーション > フォーム > アドバンスPDF / HTMLテンプレート カスタムステートメントアドバンスPDF / HTMLテンプレート:「編集」をクリック 右上隅:ソースコードに切り替える class = "itemtable"を含むコード行を検索 タグ内に、次のコードを挿入: <th align="right">Amount Dueth> タグ内に、次のコードを挿入:…
-
Webストアで製品を購入する場合、予期しないSuiteScriptエラーが発生する
適用 製品: NetSuite 2024.1 シナリオ 注文書レコードの場所を作成するクライアント・スクリプトを指すWebストアから製品を購入すると、ユーザーは上のエラーを受け取ります。 解決策 あるアイテム・製品のみで発生かつ関係がある場所を設定しているスクリプトが参照しているメッセージによって、未完成の場所設定は原因だと可能性が高いです。 * リスト>会計>アイテムへ移動 * Webストアで購入してエラーが出るアイテムを選択 * 設定>会社>場所へ移動し、場所が設定完了かどうか確認 * 住所フォームで必要な詳細をすべて入力
-
無効にした後、ドキュメントフィールドを編集およびアップロードできます
適用 製品: NetSuite 2021.2 シナリオ ユーザーは、ドキュメントの種類を持つカスタムボディフィールドを作成しました。 次に、ワークフローまたはスクリプトを使用してフィールドを無効にしましたが、ドキュメントを編集およびアップロードすることは引き続き可能です。 解決策 これがまだ可能である理由は、フィールドの外に適用されたNetSuite標準カスタムボタンがそれらの主な機能を維持するためです。 この場合、これらはプラスフィールドと新しいウィンドウアイコンのフィールドです。これらのフィールドは、スクリプトまたはワークフローで無効にすることはできません。…
-
アドバンスPDF/HTML テンプレートを使用して小切手の明細が印刷されない場合の解決策
適用 製品: NetSuite 2025.1 シナリオ 小切手の印刷にアドバンストPDF/HTMLテンプレートを使用する場合、ユーザーは、この特定の小切手に品目明細行または適用されたトランザクションを表示したいと考えています。 ただし、チェックの詳細テンプレートには、デフォルトで適用先サブリストが含まれていません。 したがって、印刷時にアイテム行は表示されません。 これは、HTMLコードを変更することで解決できます。 解決策 カスタマイゼーション > フォーム > アドバンスト PDF / HTML テンプレート 優先アドバンス PDF テンプレート: 編集 または カスタマイズ をクリック 右上隅: ソースコード のトグルスイッチ…
-
カスタムロールのアクセスを、顧客払戻レコードの「選択する住所」フィールドに制限する
適用 製品: Netsuite 2021.1 シナリオ ユーザーは、カスタムロールが顧客払戻レコードの「宛先」フィールドにアクセスできないようにしたいと考えています。 これは、顧客払戻フォームとカスタムロールを変更することで実現できます。 解決策 1.顧客払戻フォームを変更 * カスタマイゼーション > フォーム > トランザクションフォーム * 優先顧客払戻フォーム:編集/カスタマイズをクリック * 「スクリーンフィールド」タブをクリック * 受取人住所をクリック * 選択する住所: ○ 表示タイプ:無効を選択 * 保存をクリック 2.カスタムフォームをカスタムロールの優先フォームとして設定 *…
-
トランザクションフォームの経費サブリストにトランザクションラインフィールドを配置します
適用 製品: NetSuite 2023.2 シナリオ トランザクションフォームの経費サブリストにトランザクションラインフィールドを配置します。 解決策 * カスタマイゼーション> フォーム> トランザクションフォームに移動します * 優先トランザクションフォーム:編集をクリックします * スクリーンフィールドをクリックします * 経費をクリックします * フィールドの位置を調整します * 保存をクリックします
-
SuiteScript>スクリプトを使用して従業員レコードにロールをアサインする方法
適用 製品: NetSuite 2020.1 シナリオ 従業員にロールをアサインする 解決策 設定>ユーザー/ロール>ロールを管理より、アサインしたいロールの内部IDを確認します。 * SuiteScript 1.0でのサンプルスクリプト: var x = nlapiLoadRecord('employee', 3); //3は従業員の内部ID x.selectNewLineItem('roles'); x.setCurrentLineItemValue('roles', 'selectedrole', 6); //6はロールの内部ID x.commitLineItem('roles'); SuiteScript…
-
ユーザーが表示モードでボタンをクリックしたときに確認ダイアログを表示する方法
適用 製品: NetSuite 2020.2 シナリオ ユーザーは、表示モードからボタンがクリックされたときに確認ダイアログを表示したいと考えています。 解決策 ワークフローの確認アクションはクライアントトリガーであるフィールド編集前とユーザー送信前のみ使用できます。従って、これらは編集モードにのみトリガーされます。 ユーザイベントスクリプトとクライアントスクリプトを組み合わせることにより、表示モードでボタンをクリックした際に確認ダイアログを表示させることができます。 以下のスクリプトは表示モードでケースレコード上のSend Follow Up Email(カスタムボタン)がクリックされると確認ダイアログを表示されるようにしています。…
-
SuiteScriptを使用して、現在ログインしているユーザー(従業員)に割り当てられているすべてのロールを取得する方法
適用 製品: NetSuite 2020.1 シナリオ 以下は、nlapiGetContext()APIを使用して現在ログインしているユーザーの内部IDを返し、 一時的な検索を使用してロールの列を取得するサンプルスクリプトです。 function getUserRoles() { var user = nlapiGetContext().getUser(); var filters = new Array(); filters[0] = new nlobjSearchFilter('internalid',null,'is',user); var columns = new Array(); columns[0]= new…
-
SuiteScript 2.0 > ユーザイベントスクリプト >関数のパラメータとして呼び出しているクライアントスクリプトに変数を渡す
適用 製品: NetSuite 2022.1 シナリオ ユーザーは、ユーザー・イベントスクリプトから参照先のクライアント・スクリプトに値を渡すことで、クライアント・スクリプト内でのその後の処理に使用できます。クライアント・スクリプトは、beforeLoadのユーザー・イベント・スクリプトで作成されたボタンによってトリガーされます。 解決策 クライアント・スクリプトのいずれかの関数で、必要な値を含む変数を関数パラメータとして渡します。 次のサンプルコードには、数値、文字列またはURLパラメータを渡す場合のシナリオが含まれています。 * ステップ1:…
-
顧客レコードのクレジットカードのメモフィールドを取得する
適用 製品: NetSuite 2023.1 シナリオ 顧客レコードの財務サブタブのクレジットカードサブリストのメモフィールドはのサブリストの一部なので、保存検索で直接に参照できません。 解決策 スクリプトのみでアクセス可能です。特に、顧客またはカスタム顧客保存検索を使用するSuiteletです。nlapiLoadRecordが返した内部IDを参照して顧客レコードをロードします。それで、サブリストをアクセスして、全てのサブリストのメモフィールドにループして情報を取得します。…
-
ワークフロー>終了/退社日をワークフローの条件として設定する方法
適用 製品: NetSuite 2023.1 シナリオ One Worldアカウントでは、終了/退社日フィールドはワークフロー条件のオプションとして表示されません。 解決策 ビルダーを使用する代わりに、カスタムの計算式を使用で以下を設定します。 計算式:{releasedate} is not null
-
移動伝票からカスタムピッキングカードを印刷するときに予期しないエラーが発生
適用 製品: NetSuite 2021.1 シナリオ カスタムアドバンストPDF / HTMLテンプレートを使用して移動伝票からピッキングカードを印刷すると、予期しないエラーが返されます。 再現手順: * カスタムトランザクションボデイフィールドを作成する * カスタマイゼーション> リスト、レコードおよびフィールド> トランザクションボデイフィールド> 新規作成に移動します * 以下の設定でフィールドを構成します * ラベル:トランザクション番号 * 種類:リスト/レコード * リスト/レコード:トランザクション * 値を保存:チェックをつけます * 保存をクリックします *…
-
基本印刷を使用して明細書に請求書の期日を印刷する方法
適用 製品: NetSuite 2022.1 シナリオ 基本印刷タイプを介して印刷された明細書の請求書レコードの期日フィールドを含めます。 解決策 * カスタマイゼーション > フォーム > トランザクションフォーム * 優先明細書フォーム: 編集/カスタマイズ]をクリック * 印刷タイプ: 基準を選択 * フィールドの印刷をクリック * 列をクリック * 期日: * 印刷/メール: チェックマークを付ける * 保存をクリック
-
保存アイテムで特定の結果を返す方法スクリプトを介してグループ概要の種類で利用可能な場所を検索する
適用 製品: NetSuite 2023.1 シナリオ SuiteScriptを使用したItem Saved Searchで、Group Summary Typeを持つLocation Availableフィールドから特定の結果を得ることができません。 解決策 コードスニペットは、Summary Type Sum を持つ Location Available フィールドの特定の結果にアクセスする方法を示しています。 define(['N/search'], function(search) { var srch = search.load({ id: , type: search.Type.INVENTORY_ITEM }).run();…
-
アドバンスPDF/HTMLテンプレートで印刷されたアイテムをグループ化する方法
適用 製品: NetSuite 2020.2 シナリオ アドバンスPDF / HTMLテンプレートを使用して印刷するときに、ユーザーがアイテムサブリストからアイテム値をグループ化したい 。 解決策 1.カスタマイゼーション > フォーム > アドバンスPDF / HTMLテンプレート 2.優先トランザクションテンプレート:「編集/カストマイズ」をクリック 3.合計値コンテナを宣言します。 以下のコードを参照してください: 4.アイテムグループごとおよび合計ごとにアイテム値をグループ化します。 以下のコードを参照してください:<#if record.item?has_content><#assign totalTime = 0…