ディスカッション

NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
New AI Community Guidelines. Please review and follow them to ensure AI use stays safe, accurate, and compliant.
Narrative Insights is Temporarily Unavailable due to an Infrastructure Issue. Learn how This Impacts Your Account and What to Expect While the Feature is Disabled.

サブリストレコードのカスタムナビゲーションボタン

適用

製品:  NetSuite 2021.1
 



シナリオ

レコードの上部にあるナビゲーションボタンを使用すると、ユーザーは前のレコードと次のレコードを内部IDで並べ替えて表示できます。ただし、ユーザーがカスタムサブリストのレコードのみを循環する必要があり、同じタイプのすべてのレコードを循環する必要がない場合があります。このような状況では、標準のレコードナビゲーションボタンは適用されません。



解決策

以下のソリューションでは、この機能を有効にするために2つのカスタムボタンをレコードに配置します。ユーザーイベントとクライアントスクリプトの2つのスクリプトを使用します。ユーザーイベントは、現在のレコードの前と次の内部IDを取得し、必要に応じてカスタムナビゲーションボタンを配置します。次に、クライアントスクリプトがカスタムボタンに添付され、ユーザーを適切なレコードにリダイレクトされます。

/*
1) 次のコードを使用してユーザーイベントスクリプトを作成し、Before RecordLoadイベントに設定します
*/
function beforeLoad(type, form)
{
var parentId = nlapiGetFieldValue('parent_record_field');
var id = nlapiGetRecordId(parentId);
var previd = getPrevNext(parentId, id, true);
var nextid = getPrevNext(parentId, id, false);

form.setScript(384);
// setScript呼び出しで、クライアントスクリプトの内部IDを以下に指定されたものに置き換えるだけです

if(previd != '0')
{
form.addButton('custpage_prevrec', 'Previous', 'moveToRecord('+previd+')');
}
if(nextid != '0')
{
form.addButton('custpage_nextrec', 'Next', 'moveToRecord('+nextid+')');
}
}

// これは、previd値とnextid値を取得するヘルパー関数です。
関数getPrevNext(parent、id、prev)
{
var filters = [ new nlobjSearchFilter('parent_record_field', null, 'is', parent) ];
if(prev == true) {
filters.push(new nlobjSearchFilter('id', null, 'lessthan', id));
}
else {
filters.push(new nlobjSearchFilter('id', null, 'greaterthan', id));
}
var column = new nlobjSearchColumn('internalid');
var results = new nlapiSearchRecord('sublist_record_internal_id

ようこそ!

サインイン

完全な詳細を表示するには、サインインしてください。

登録

アカウントがありませんか?ここをクリックして始めましょう!

リーダーボード

コミュニティの達人

第2四半期 (4月~6月 2026)

今週のリーダー

今月のリーダー

歴代リーダー