如何在 NetSuite suitescript 2.0 中批量删除自定义记录?
How do I do a mass delete of custom records in NetSuite suitescript 2.0?
我的问题很简单。想知道有没有人知道如何使用suitescript2.0批量删除自定义记录
/** * @NApiVersion 2.x
* @NScriptType ScheduledScript
*/
define ([
'N/error',
'N/record',
'N/runtime',
'N/log',
],
function(error, record,runtime, log) {
function execute(context) {
for(var i=4;i< 11614;i++){
var objRecord = record.delete({ type: 'customrecord_uber_billing_report_data', id: i});
}
}
return {
execute: execute
};
});
Eclipse 似乎不喜欢这种语法
您似乎正确地使用了 record.delete
,只是单个自定义记录类型的实例不是顺序的。并非每个 i
从 4 到 11614 都是 customrecord_uber_billing_report_data
.
的实例
您是否遇到任何特定的错误或行为?
https://bugs.eclipse.org/bugs/show_bug.cgi?id=443876
维克多·鲁贝兹尼 2014-09-11 17:10:24 美国东部时间
随着使用 ECMA5 标准的 JavaScript 库和工具越来越多,JSDT 的使用变得越来越困难。
问题是 JSDT 解析器当前支持的 ECMA3 不允许在 ECMA5 中使用和启用许多可用的东西,例如使用关键字(如抽象、继续、删除、导入等on) 作为标识符(属性、函数或变量的名称)。
将当前的 JSDT parser/compiler/inference 引擎替换为支持 ECMA5 的引擎并非易事,因此 Bug 223131 多年未解决。
为意识到当前 JSDT 解析器的局限性的用户提供一种隐藏此类语法错误的方法应该是一种解决方案,这样用户就可以看到他们的项目没有令人讨厌的错误标记 JavaScript 图书馆和他们自己的代码。
评论 1 Victor Rubezhny 2014-09-16 13:26:29 美国东部时间
该补丁添加了对 show/hide 关键字语法错误的偏好
该修复程序将新首选项添加到 JavaScript->Validator->Errors/Warnings 页面:"Strict validation of JavaScript keywords usage"(默认值为 true - 以使其按照以前的方式工作)。 ProblemReporter 使用此首选项值来决定是否必须报告关键字的语法错误。该修复包括使首选项值更改在更改后立即播放所需的编辑器协调器更改。
......
您可以使用 "promise" 做到这一点。 Netsuite 目前还没有Suitescript 功能可以快速删除一堆记录。使用此功能,您可以一个一个地删除,并让您的代码在另一件事上继续工作。希望这有帮助。
require(['N/record', 'N/search'], function (record, search) {
function deleteUnwantedRecords() {
var objRecord = search.create.promise({
type: 'customrecord_your_record',
columns: [
'internalid', // The record's ID
],
filters: []// no filters
}).then(function (result) {
var HowManyFound = 0;
result.run().each(function (rl) {
HowManyFound++;
var recToDelete = rl.getValue('internalId');
var objNewRecord = record.delete ({
type: 'customrecord_your_record',
id: recToDelete,
});
console.log('Error ID: ' + rl.getValue('internalId'));
return true;
});
console.log('#Error Logs found: ' + HowManyFound);
}).catch (function (reason) {
log.debug("Failed: " + reason);
})
}
var delRecs = deleteUnwantedRecords();
});
我的问题很简单。想知道有没有人知道如何使用suitescript2.0批量删除自定义记录
/** * @NApiVersion 2.x
* @NScriptType ScheduledScript
*/
define ([
'N/error',
'N/record',
'N/runtime',
'N/log',
],
function(error, record,runtime, log) {
function execute(context) {
for(var i=4;i< 11614;i++){
var objRecord = record.delete({ type: 'customrecord_uber_billing_report_data', id: i});
}
}
return {
execute: execute
};
});
Eclipse 似乎不喜欢这种语法
您似乎正确地使用了 record.delete
,只是单个自定义记录类型的实例不是顺序的。并非每个 i
从 4 到 11614 都是 customrecord_uber_billing_report_data
.
您是否遇到任何特定的错误或行为?
https://bugs.eclipse.org/bugs/show_bug.cgi?id=443876
维克多·鲁贝兹尼 2014-09-11 17:10:24 美国东部时间
随着使用 ECMA5 标准的 JavaScript 库和工具越来越多,JSDT 的使用变得越来越困难。
问题是 JSDT 解析器当前支持的 ECMA3 不允许在 ECMA5 中使用和启用许多可用的东西,例如使用关键字(如抽象、继续、删除、导入等on) 作为标识符(属性、函数或变量的名称)。
将当前的 JSDT parser/compiler/inference 引擎替换为支持 ECMA5 的引擎并非易事,因此 Bug 223131 多年未解决。
为意识到当前 JSDT 解析器的局限性的用户提供一种隐藏此类语法错误的方法应该是一种解决方案,这样用户就可以看到他们的项目没有令人讨厌的错误标记 JavaScript 图书馆和他们自己的代码。
评论 1 Victor Rubezhny 2014-09-16 13:26:29 美国东部时间
该补丁添加了对 show/hide 关键字语法错误的偏好 该修复程序将新首选项添加到 JavaScript->Validator->Errors/Warnings 页面:"Strict validation of JavaScript keywords usage"(默认值为 true - 以使其按照以前的方式工作)。 ProblemReporter 使用此首选项值来决定是否必须报告关键字的语法错误。该修复包括使首选项值更改在更改后立即播放所需的编辑器协调器更改。 ......
您可以使用 "promise" 做到这一点。 Netsuite 目前还没有Suitescript 功能可以快速删除一堆记录。使用此功能,您可以一个一个地删除,并让您的代码在另一件事上继续工作。希望这有帮助。
require(['N/record', 'N/search'], function (record, search) {
function deleteUnwantedRecords() {
var objRecord = search.create.promise({
type: 'customrecord_your_record',
columns: [
'internalid', // The record's ID
],
filters: []// no filters
}).then(function (result) {
var HowManyFound = 0;
result.run().each(function (rl) {
HowManyFound++;
var recToDelete = rl.getValue('internalId');
var objNewRecord = record.delete ({
type: 'customrecord_your_record',
id: recToDelete,
});
console.log('Error ID: ' + rl.getValue('internalId'));
return true;
});
console.log('#Error Logs found: ' + HowManyFound);
}).catch (function (reason) {
log.debug("Failed: " + reason);
})
}
var delRecs = deleteUnwantedRecords();
});