在NetSuite中,当编辑记录时,我有一个按钮,该按钮需要能够获取所有联系人的名字,姓氏,电子邮件以及可能的角色,以便将其附加到我已经编写的其他代码上。我似乎无法弄清楚如何提取与记录关联的联系人。
我已经从“ N / record”模块中检索了记录,并使用sublistId“ contact”获得了Sublist“ contact”,但是使用Sublist的唯一方法是getColumn,它需要一个options.fieldId,我没有。没有或不知道如何查找,即使我做了它会返回的对象(列对象),也似乎没有我想要的值。
/**
* @NApiVersion 2.0
* @NScriptType ClientScript
* @NModuleScope SameAccount
*/
define(['N/currentRecord','N/record'],function(context, recordKeeper){
var options = {type:context.get().type, id:context.get().id, isDynamic:context.get().isDynamic};
var record = recordKeeper.load(options);
function TestButtonClick(){
var contactSublist = record.getSublist({sublistId:"contact"});
//Need to get the contact information here
alert(JSON.stringify(contactSublist));//{"id":"contact","type":"staticlist","isChanged":false,"isDisplay":true}
}
function pageInit(context){
//some code
}
var exports = {};
exports.TestButtonClick = TestButtonClick;
exports.pageInit = pageInit;
return exports;
});
**EDIT 2**
NetSuite Fields
+customer
+customer - Address
-customer Contact
-customer Contact 1
Alt. Email
Assist. Phone
Assistant
Attached Role
Catagory
Comments
Contact (Auto-Filled)
Contact Company
Customer ID/Project
Email
Externalid
Fax
First Name
Global subscription Status
Home Phone
Image
Inactive
Job Title
Last Name
我的contactSublist给我一个对象,正如我期望的那样,但是我不确定从该联系人子列表中如何检索与记录相关联的联系人,或者我什至没有采取正确的途径来获取该信息。
编辑: 我已经尝试过record.getLineCount({sublistid:“ contact”}) record.getSublistValue({sublistId:“ contact”,fieldId:,line:}) 和record.getSublistText({sublistId:“ contact”,fieldId:,line:}) 但是,即使我在屏幕上看到联系人,我也会抛出异常,好像我的联系人不存在一样。这是异常消息 “您试图执行无效的子列表或订单项操作。您正在尝试访问不存在的行中的字段,或者试图在静态子列表中添加或删除行。”
编辑2
如果可能的话,我不知道如何在此处附加屏幕截图,因此这里是文本的视觉效果,请查看代码部分,因为我无法在此处使布局看起来不错,仅在代码部分中可以保持格式。
答案 0 :(得分:1)
如果要获取联系人信息,则应遍历联系人子列表。首先使用record.getLineCount({sublistid: "contact"})
获取子列表的计数。然后,您可以在循环(通常是for循环)中使用record.getSublistValue({sublistId: "contact", fieldId: <field>,line: <index>})
来获取每个子列表字段/列的信息。