如何在 SuiteScript 中从 FileCabinet 加载文件
How do I load a file from FileCabinet in SuiteScript
我想使用 suitescript 中保存的 csv 导入来导入 csv 文件。
为此,我正在脚本调试器中测试我的代码。
我在 Suitescript 1.0 中成功地做到了这一点:
var import1 = nlapiCreateCSVImport();
import1.setMapping('custimport_test_import');
import1.setPrimaryFile(nlapiLoadFile(252));
nlapiSubmitCSVImport(import1);
现在我在 Suitescript 2.0 中像这样尝试它:
/**
*@NApiVersion 2.x
*@NScriptType ScheduledScript
*/
var func = require(["N/task", "N/file"], function(task, file) {
var csv = file.load({ id: 252 });
var mrTask = task.create({
taskType: task.TaskType.CSV_IMPORT,
importFile: csv,
mappingId: "custimport_test_import"
});
mrTask.submit();
});
func();
我得到的错误是 TypeError: Cannot read 属性 "length" from undefined (SYSTEM_LIBS$debugger.sys#2396)
我怎样才能用 2.0 脚本实现我用 1.0 脚本所做的?
它以某种方式使用了稍微不同的方法:
/**
*@NApiVersion 2.x
*@NScriptType ScheduledScript
*/
var func = require(["N/task", "N/file"], function(task, file) {
var scriptTask = task.create({ taskType: task.TaskType.CSV_IMPORT });
scriptTask.mappingId = "custimport_test_import";
var f = file.load("SuiteScripts/test.csv");
scriptTask.importFile = f;
var csvImportTaskId = scriptTask.submit();
});
func();
调试器仍然返回上述错误,但记录是在 netsuite 中创建的。
我想使用 suitescript 中保存的 csv 导入来导入 csv 文件。 为此,我正在脚本调试器中测试我的代码。
我在 Suitescript 1.0 中成功地做到了这一点:
var import1 = nlapiCreateCSVImport();
import1.setMapping('custimport_test_import');
import1.setPrimaryFile(nlapiLoadFile(252));
nlapiSubmitCSVImport(import1);
现在我在 Suitescript 2.0 中像这样尝试它:
/**
*@NApiVersion 2.x
*@NScriptType ScheduledScript
*/
var func = require(["N/task", "N/file"], function(task, file) {
var csv = file.load({ id: 252 });
var mrTask = task.create({
taskType: task.TaskType.CSV_IMPORT,
importFile: csv,
mappingId: "custimport_test_import"
});
mrTask.submit();
});
func();
我得到的错误是 TypeError: Cannot read 属性 "length" from undefined (SYSTEM_LIBS$debugger.sys#2396)
我怎样才能用 2.0 脚本实现我用 1.0 脚本所做的?
它以某种方式使用了稍微不同的方法:
/**
*@NApiVersion 2.x
*@NScriptType ScheduledScript
*/
var func = require(["N/task", "N/file"], function(task, file) {
var scriptTask = task.create({ taskType: task.TaskType.CSV_IMPORT });
scriptTask.mappingId = "custimport_test_import";
var f = file.load("SuiteScripts/test.csv");
scriptTask.importFile = f;
var csvImportTaskId = scriptTask.submit();
});
func();
调试器仍然返回上述错误,但记录是在 netsuite 中创建的。