Netsuite 在SuiteScript2.0中获取字段值时遇到问题
我将字符串数据编码为base64格式,并将输出设置为自定义字段,该字段的类型为长文本。在记录的用户界面中,我可以看到整个编码值的输出。但是,当尝试使用rec.getText({fieldId:'customfieldname')获取输出值时,它会以某种方式破坏该值,并且不会返回整个值。自定义字段值的大小是否有限制 获取自定义字段值的UserEvent脚本:Netsuite 在SuiteScript2.0中获取字段值时遇到问题,netsuite,suitescript,suitescript2.0,Netsuite,Suitescript,Suitescript2.0,我将字符串数据编码为base64格式,并将输出设置为自定义字段,该字段的类型为长文本。在记录的用户界面中,我可以看到整个编码值的输出。但是,当尝试使用rec.getText({fieldId:'customfieldname')获取输出值时,它会以某种方式破坏该值,并且不会返回整个值。自定义字段值的大小是否有限制 获取自定义字段值的UserEvent脚本: function beforeSubmit(scriptContext) { try { var invrecord =
function beforeSubmit(scriptContext) {
try {
var invrecord = scriptContext.newRecord;
var encodedata = invrecord.getText({fieldId: 'customfield'});
log.debug({title:'Custom field value',
details: encodedata});
return true;
}
catch (e) {
log.error({
title: e.name,
details: e.message
});
return false;
}}
return {
beforeSubmit: beforeSubmit, };});
为了对字段值进行编码,我使用了以下代码:
function encodeBase64Binary(strdata) {
try{
var base64EncodedString = encode.convert({
string: strdata,
inputEncoding: encode.Encoding.UTF_8,
outputEncoding: encode.Encoding.BASE_64
});
return base64EncodedString;
}
catch (e) {
log.error({
title: e.name,
details: e.message)}
}
该字段的值包含您要查找的值,但是,
log.debug
将该值截断为3999个字符。这就是为什么您看不到完整的值。通过UI创建的长文本包含1000000个字符,通过SuiteScript创建的长文本包含100000个字符。您是否尝试过使用getValue
而不是getText
?您还可以将其设置为HIDDEN+INLINEHTML,因为我怀疑是否需要查看base64数据required@ehcanadian是的,我试过getValue。两者都返回相同的结果。@niso您怎么知道脚本没有得到全部值?如果您依赖的是log.debug
,您可能看不到所有数据,因为日志记录会将该值截断为3999个字符。@是的,它会返回整个数据,但在日志中不会显示所有数据。在这种情况下,我应该回复我的帖子,或者我们如何关闭它?