0
私がしたいのは、m/rスクリプトが失敗した場合、m/rスクリプトからカスタムレコードの対応するドロップダウン値を更新することです。 SuiteScript 2.0でこれを行うにはどのように* Suitescript 2.0 * Map Reduceスクリプトからカスタムレコードのステータスを更新するにはどうすればよいですか?
私がしたいのは、m/rスクリプトが失敗した場合、m/rスクリプトからカスタムレコードの対応するドロップダウン値を更新することです。 SuiteScript 2.0でこれを行うにはどのように* Suitescript 2.0 * Map Reduceスクリプトからカスタムレコードのステータスを更新するにはどうすればよいですか?
は、スクリプトを減らして、あなたの地図に発生したエラーを取得するために要約ステップを使用することができます。次のコードはこれを達成するのに役立ちます:
function summarize(summary) {
handleErrors(summary);
handleSummaryOutput(summary.output);
//*********** HELPER FUNCTIONS ***********
function handleErrors(summary) {
var errorsArray = getErrorsArray(summary);
if(!errorsArray || !errorsArray.length){
log.debug('No errors encountered');
return;
}
for (var i in errorsArray) {
log.error('Error ' + i, errorsArray[i]);
}
if(errorsArray && errorsArray.length){
//
//INSERT YOUR CODE HERE
//
}
return errorsArray;
//*********** HELPER FUNCTIONS ***********
function getErrorsArray(summary){
var errorsArray = [];
if (summary.inputSummary.error){
log.audit('Input Error', summary.inputSummary.error);
errorsArray.push('Input Error | MSG: ' + summary.inputSummary.error);
}
summary.mapSummary.errors.iterator().each(function (key, e){
var errorString = getErrorString(e);
log.audit('Map Error', 'KEY: ' + key + ' | ERROR: ' + errorString);
errorsArray.push('Map Error | KEY: ' + key + ' | ERROR: ' + errorString);
return true; //Must return true to keep looping
});
summary.reduceSummary.errors.iterator().each(function (key, e){
var errorString = getErrorString(e);
log.audit('Reduce Error', 'KEY: ' + key + ' | MSG: ' + errorString);
errorsArray.push('Reduce Error | KEY: ' + key + ' | MSG: ' + errorString);
return true; //Must return true to keep looping
});
return errorsArray;
//*********** HELPER FUNCTIONS ***********
function getErrorString(e){
var errorString = '';
var errorObj = JSON.parse(e);
if (errorObj.type == 'error.SuiteScriptError' || errorObj.type == 'error.UserEventError'){
errorString = errorObj.name + ': ' + errorObj.message;
} else {
errorString = e;
}
return errorString;
}
}
}
function handleSummaryOutput(output){
var contents = '';
output.iterator().each(function (key, value){
contents += (key + ' ' + value + '\n');
return true;
});
if(contents){
log.debug('output', contents);
}
}
}
ありがとうございます!しかし、私はこのマップを減らした現在のレコードで、ドロップダウンの値をエラーに変更する必要があります。どうやってやるの ? – FreeMarker12
@ FreeMarker12、コードサンプルを提供する必要があります。あなたが既にあなたのレコードを知っているなら、nlapiSubmitField()だけでかなり簡単です。私はそれが簡単ではないと思っています。そして、m/rスクリプトはどういう意味ですか?アドルフォGarazaが要約に関する正しいです – scheppsr77
参照してください、この1:// \tするvar mergeRecord = record.loadを完了するために、レコードのステータスを設定する({ \t \tタイプ: 'customrecordvc_merge_vendor_request'、 \t \t ID:12 ''、 \t \t isDynamic:true \t \t}); \t \t mergeRecord.setText({ \tフィールド識別子: 'custrecordvc_merge_vendor_request_status' テキスト: '完全' \t})。 \t VAR mergeRecordId = mergeRecord.save({ enableSourcing:偽、 ignoreMandatoryFields:偽 \t})。 -------------->サマリーメソッドのドロップダウン値を変更しようとしています – FreeMarker12