javascript - NetSuite - 自定义字段 - 分配给地址簿但无法使用 JS 访问
问题描述
我目前正在销售订单上编写一个脚本,以提取附加到所选送货地址的自定义字段。我能够提取所有地址字段(城市、邮编等),但我无法弄清楚如何访问该地址的任何附加自定义字段。
示例脚本:
var custid = document.getElementById("hddn_entity_fs").value;
var shiptoid = document.getElementById("hddn_shipaddresslist2").value;
var customer = nlapiLoadRecord("customer", custid);
var itemCount = customer.getLineItemCount('addressbook');
for (var i = 1; i < itemCount; i++) {
if (customer.getLineItemValue('addressbook', 'id', i) == shiptoid) {
//this works
var zip = customer.getLineItemValue('addressbook', 'zip', i);
console.log('zip:' + zip);
//this does not work
var custrecord19 = customer.getLineItemValue('addressbook', 'custrecord19', i);
console.log('custrecord19:' + custrecord19);
}
}
我确定我错过了一些简单的东西。非常感谢任何帮助!
压缩
解决方案
地址上的自定义字段实际上在地址记录上
所以像:
SS1.0动态模式。显然只有服务器端。
var customer = nlapiLoadRecord('customer', custid, {recordmode:'dynamic'});
...
customer.selectLineItem('addressbook', i);
var addr = customer.editCurrentLineItemSubrecord('addressbook', 'addressbookaddress');
console.log(addr.getFieldValue('custrecord19'));
或 SS1 服务器端不是动态的
var addr = custRec.viewLineItemSubrecord('addressbook', 'addressbookaddress', i);
console.log(addr.getFieldValue('custrecord19'));
SS2.0 工作在客户端或服务器端
var addr = custRec.getSublistSubrecord({sublistId:'addressbook', fieldId:'addressbookaddress', line:i});
console.log(addr.getValue({fieldId:'custrecord19'}));
一个帐户混合使用 SS1 和 SS2 脚本是完全可行的。
就让它工作而言,我建议将您当前的客户端脚本更改为 SS2。
下面是一个骨架客户端脚本:
/**
* @NApiVersion 2.x
* @NScriptType ClientScript
*/
define(['N/currentRecord', 'N/ui/message', 'N/url', 'N/https', 'N/search'],
function(rec, msg, url, http, search) {
return {
fieldChanged : function(){ console.log('fired field changed');},
postSourcing: function(){ console.log('fired sourcing');}
};
});
推荐阅读
- rust - 为什么 std::str::parse 的签名不使用特征绑定?
- django - 在表单中显示 django DateTimeRangeField() 作为单独的输入
- python - Django聚合(总和错误
- php - 使用 .htaccess 删除.php 扩展后联系不工作
- swift - Swift:自定义 CalloutView 上的按钮操作
- mongodb - mongo deleteOne 不是函数
- python - 列表搜索中的通配符
- javascript - VueJS 自动创建嵌套对象属性以简化代码
- node.js - 特快专递不发布未定义 req.body 的数据
- scheduling - 具有作业执行时间、截止日期和处罚的作业排序