Netsuite SuiteFlow | | SuiteScript:根据文件大小发送电子邮件

Netsuite SuiteFlow | | SuiteScript:根据文件大小发送电子邮件,netsuite,Netsuite,我们有一个Suiteflow,它将电子邮件作为附件发送。但是,如果附件大小超过5MB,则不会发送电子邮件。我想在操作中添加一个条件,说明文档大小小于5MB的情况。我计划再添加一个单独的操作,如果文件大小>=5MB,则发送不带附件的电子邮件。这可能吗?如果不可能,有什么解决办法 SuiteScript(Javascript)当然是一个选项,但我更喜欢修改现有的SuiteFlow ::针对以下评论: 电子邮件附件将添加到交易的文档字段中,而不是文件子选项卡中。我找不到如何在搜索中获得它的属性(如大小

我们有一个Suiteflow,它将电子邮件作为附件发送。但是,如果附件大小超过5MB,则不会发送电子邮件。我想在操作中添加一个条件,说明文档大小小于5MB的情况。我计划再添加一个单独的操作,如果文件大小>=5MB,则发送不带附件的电子邮件。这可能吗?如果不可能,有什么解决办法

SuiteScript(Javascript)当然是一个选项,但我更喜欢修改现有的SuiteFlow

::针对以下评论: 电子邮件附件将添加到交易的文档字段中,而不是文件子选项卡中。我找不到如何在搜索中获得它的属性(如大小)。(见下文第2段)。 此外,代码示例(idea#1)不起作用,因为nlapiLoadFile不会加载大于5 mb的文件,这意味着我无法进行测试等。我试图避免将整个过程作为脚本编写


到目前为止,唯一的解决办法(我觉得这不是一个好办法)是发送电子邮件,把它写成一个脚本,然后试着抓住它。任何其他想法???

假设作为附件发送的文件是Netsuite文件柜中已存在的文件,则可以添加脚本以验证附件的大小:

var load = nlapiLoadFile('100');//where 100 is the internal id of the file
var filesize = load.getSize(); //Returns the size of the file in bytes

if(filesize > .....) //
有关使用此Suitescript API的参考:


Helpguide>SuiteCloud(自定义、脚本编写和Web服务):SuiteScript:SuiteScript API:SuiteScript对象:nlobjFile

我知道这样做效率不高,但如何通过搜索获得文件的大小呢。像这样的

过滤器: 内部Id=附件的内部Id

结果: 大小


“大小”列将返回以KB为单位的文件大小。

我想我是糊涂了。在文档()中,它说“在SuiteScript中,文件/文档的大小有5MB的限制,可以使用文件API(如nlapiLoadFile、nlapiPrintRecord、nlapiMergeRecord、NLAPIxmltodf、nlapiSubmitFile和nlapiCreateFile)创建、提交或访问这些文件/文档。”这是否意味着如果我担心的部分内容超过了5MB的限制,我就不能加载文件?问题解决了。如果无法加载该文件,则意味着它不符合您的限制。那么。。。将我的整个工作流程转换为SuiteScript,然后尝试加载文件?我很乐意按照你说的去做,我实际上是在尺寸上做了一些调整,但是如果它坏了,你就不能得到尺寸。事实上,这可能行得通。搜索的工作流条件通常不会花费太长时间,我可以使用日期范围来确保列表不会变得太大。好主意!我会试试看它是否有效