在netsuite中,我编写了这些代码但是我遇到了一个问题
ReferenceError nlapiCreateFile is not defined
代码:
function creatingFile() {
var file = "xxxxx";
var fileObj = nlapiCreateFile('mycsv.csv','CSV',file); // Error !!!
nlapiSendEmail(15,'epost@xx.com,"subject" ,fileObj, null, null, null, null);
}
答案 0 :(得分:0)
我有一些类似的旧1.0代码可以正常工作。从快速浏览可能由于未定义“文件”变量而失败,并且您在nlapiSendEmail函数中有一个额外的撇号。是否在您的脚本中早先将其定义为全局变量,将“x”定义为电子邮件地址或内部ID?
尝试使用一些try catch语句运行它以获取更具体的错误信息。这应该为您提供足够的信息来调试问题所在。
function creatingFile(){
var fileContents='ASDFASDf,asdfgasfasdf';
var folderID='12345'; //replace with a valid folder internal ID.
try{
var fileObj=nlapiCreateFile('mycsv.csv','CSV',fileContents);
fileObj.setFolder(folderID);
var fID=nlapiSubmitFile(fileObj);
}catch(err01){
nlapiLogExecution('DEBUG','ERROR 01',JSON.stringify(err01));
}
try{
nlapiSendEmail(15,x,"asd",fID,null,null,null,null);
}catch(err02){
nlapiLogExecution('DEBUG','ERROR 02',JSON.stringify(err02));
}
}
答案 1 :(得分:0)
我相信您遇到了我认为的“错误”,但是NetSuite可能不同意。如果您是通过用户事件(例如Suitelet表单上的按钮等)调用creatingFile()
函数,则该函数似乎属于NetSuite逻辑中的“客户端脚本”类别,而nlapiCreateFile
功能在客户端脚本上下文中不可用。这一点都不直观,因为从我的角度来看,这是Suitelet的全部内容,该功能支持该功能。我发现解决此问题的唯一方法是在脚本加载时创建文件,而不是在用户操作时创建文件。但是,这导致了其他我尚未发现的问题,例如一旦客户单击按钮,我如何在客户端上下文中使用新创建的文件对象(我正在尝试将文件作为电子邮件附件发送)