我正在阅读文件柜中的CSV文件内容,其中有一个生活在销售订单上的用户Event Suitelet,并尝试在完成后将文件内容重置为空CSV
我可以成功附加行并读取内容,但是在NetSuite文档中没有任何有关重置内容的内容。 我只是在寻找一种将文件重置为空CSV的方法。
/**
*
@NApiVersion 2.x
@NModuleScope SameAccount
@NScriptType UserEventScript
@appliedtorecord salesorder
*/
define(['N/file'], function(file) {
function resetCSVFile(context) {
var fileObj = file.load({ id: '104819' });
var iterator = fileObj.lines.iterator();
var idArrays = [];
iterator.each(function(line) {
idArrays.push(line.value);
// the line below is my failed attempt at resetting the line
line.value = ''
return true;
});
log.audit({ title: 'idArrays', details: idArrays });
fileObj.save();
return true;
}
return {
afterSubmit: resetCSVFile
};
});
答案 0 :(得分:1)
处理完文件后,您将需要使用file.create()
来创建具有相同的name
,fileType
和folder
的新文件对象属性值。将该文件对象的contents
属性设置为某种值(也许是标题行),然后保存它。这将用一个空文件覆盖现有文件,但保留与原始文件相同的内部ID 。
下面是一个示例,该示例捕获CSV文件的标题行,并使用该标题行创建一个空文件。创建文件对象时,contents属性不能为null或空字符串。
var fileObj = file.load({ id: '5447' });
var currentLine = 0;
var headerRow = '';
fileObj.lines.iterator().each(function(line) {
currentLine++;
if (currentLine === 1) {
headerRow = line.value + '\n';
}
log.debug({ title: 'header', details: line.value });
return true;
});
var newFile = file.create({
name: fileObj.name,
fileType: file.Type.CSV,
folder: fileObj.folder,
contents: headerRow
});
newFile.save();