在NetSuite编辑记录时,我有一个按钮,需要能够获取所有联系人的名字,姓氏,电子邮件和可能的角色,以便我可以将其附加到我已编写的其他代码中。我似乎无法弄清楚如何提取与记录关联的联系人。
我从'N / record'模块中检索了记录,并使用sublistId“contact”获得了子列表“contact”,但是子列表的唯一方法是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
我不知道如何在这里附上截图,如果它可能,所以这里是它的文本视觉,看看代码部分因为我不能让布局在这里看起来很好,只在代码部分它会保持我的格式。
如果要获取联系信息,则应遍历联系人子列表。首先使用record.getLineCount({sublistid: "contact"})
获取子列表的计数。然后,您可以在循环中使用record.getSublistValue({sublistId: "contact", fieldId: <field>,line: <index>})
获取每个子列表字段/列的信息,通常是for循环。