在 SuiteScript2.0 中获取字段值的问题
Trouble with getting value of field in SuiteScript2.0
我已将字符串数据编码为 base64 格式,并将输出设置为自定义字段,其类型为长文本。在记录的用户界面中,我可以看到编码值的整个输出。但是,当尝试使用 rec.getText({fieldId:'customfieldname'}) 获取输出值时,它会以某种方式破坏值并且不会 return 整个值。自定义字段值有大小限制吗?
获取自定义字段值的UserEvent脚本:
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
将该值截断为 3,999 个字符。这就是您看不到完整值的原因。
我已将字符串数据编码为 base64 格式,并将输出设置为自定义字段,其类型为长文本。在记录的用户界面中,我可以看到编码值的整个输出。但是,当尝试使用 rec.getText({fieldId:'customfieldname'}) 获取输出值时,它会以某种方式破坏值并且不会 return 整个值。自定义字段值有大小限制吗?
获取自定义字段值的UserEvent脚本:
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
将该值截断为 3,999 个字符。这就是您看不到完整值的原因。