我对SuiteScript 2.0有问题:
在报价记录中,我有一个按钮来创建SOLICITACAO DE OF(制造请求),并且此文档有其自己的编号,与报价编号不同,我当时正在考虑使用xml来保存编号,并且每次我需要生成一个新文档时,我都会生成一个新编号,因此我将在用户事件脚本中运行以下代码:
function getOfNumber(){
var xmlFileContents = file.load({id:1474}).getContents();
var xmlDocument = xml.Parser.fromString({text:xmlFileContents});
var solicitacaoOfNode = xml.XPath.select({
node : xmlDocument,
xpath : '//SOLICITACAO_OF'
});
var currentOfNumber = solicitacaoOfNode[0].firstChild.nextSibling.textContent;
log.debug({title:"Xml Content",details:currentOfNumber});
}
运行此代码时,它将返回给我当前的编号,直到将其用作我在另一个函数中创建的文档的文档编号。直到这里还可以,但是现在,我需要在此数字上加1并将其保存在xml中,以便下次此函数在另一条记录中运行时。
但是我不知道如何编辑该xml,有人可以帮我吗?我在查看模块上的帮助中心时,发现了很多N / xml函数,我不知道该如何使用。
这是我的xml文件:
<?xml version="1.0"?>
<SOLICITACAO_OF>
<Current_number>8866</Current_number>
</SOLICITACAO_OF>
答案 0 :(得分:1)
我不确定是否有办法更新文件柜上的现有文件,我将遵循的方法是:
currentOfNumber = parseInt(currentOfNumber)++;
var xmlString = '<?xml version="1.0"?>';
xmlString += '<SOLICITACAO_OF>';
xmlString += '<Current_number>'+ currentOfNumber+'</Current_number>';
xmlString += '</SOLICITACAO_OF>';
由于新的xml文件ID将动态(删除/创建),因此文件夹id参数将很容易知道要加载哪个文件。
希望这对您有意义。祝好运!
答案 1 :(得分:0)
听起来您只是想为序列号提供一致的来源。 xml方法似乎有些矫kill过正。
您可以轻松地加载一个文本文件,提取数字并重写该文件。 (请参阅帮助中的N /文件)
但是,您也可以定义具有整数字段的自定义记录。您将读取整数值并记录下来,然后写回更新的值。相当简单,性能更好。