私の会社はいくつかの異なるタイプのプロジェクトを実行し、選択したプロジェクトレコードで実行されているプロジェクトのタイプによってプロジェクトレコードを異なる方法で表示したいと考えています。Suitescript 2.0さまざまなタイプのプロジェクトに異なる形式を使用します
"カスタムフォーム"(これは選択フィールドです)というタイトルのフィールドと、スタッフがプロジェクトのタイプ "custentityjt_fie_pro_projecttype"(選択フィールド)を入力するフィールドがあります。
私はこれを達成しようとする負荷ユーザイベントスクリプトの前に次のことを作成しました:編集モードでプロジェクトレコードをロードする場合、カスタムフォームの選択が変更されない
/**
* @NApiVersion 2.x
* @NScriptType UserEventScript
* @NModuleScope SameAccount
*/
define(["N/record"], function(r) {
function beforeLoad(context) {
var currentRecord = context.newRecord;
var projectType = currentRecord.getValue({
fieldId: "custentityjt_fie_pro_projecttype",
});
currentRecord.setValue({
fieldID: 'customform',
value: projectType
})
}
return {
beforeLoad: beforeLoad,
}
})
、およびプロジェクトのレコードをロードするときあなたが使用する必要が
{"type":"error.SuiteScriptError","name":"UNEXPECTED_ERROR","message":null,"stack":["anonymous(N/recordService)","beforeLoad(/SuiteScripts/setForm.js:13)"],"cause":{"type":"internal error","code":"UNEXPECTED_ERROR","details":null,"userEvent":"beforeload","stackTrace":["anonymous(N/recordService)","beforeLoad(/SuiteScripts/setForm.js:13)"],"notifyOff":false},"id":"","notifyOff":false}
私はNetsuiteのに非常に新しいですし、一般的なプログラミングがとても優しくしてください:)
これは編集モードでのみ有効ですか?ビューモードでプロジェクトを表示するときにそれを動作させる方法はありますか? – jtux
編集モードでは、カスタムフォームの選択は正しく変更されますが、実際のフォーム自体は変更されません。実際に変更を実行するためにフィールドの値を変更するのではなく、選択をクリックする必要があります。変更後のページのリロードでこれを修正することはできますか? – jtux
@jtux正しいです。私はまた、それがクライアントスクリプトとしてのみ動作し、前のロードではないと信じていますユーザイベントスクリプト。 –