NetSUite主要角色电子邮件
谢谢你的帮助。我不熟悉Netsuite脚本。我需要一个工作流,该工作流操作脚本用于获取角色为“主要联系人”的客户联系人的电子邮件地址,并在客户记录的自定义字段中设置此电子邮件地址NetSUite主要角色电子邮件,netsuite,Netsuite,谢谢你的帮助。我不熟悉Netsuite脚本。我需要一个工作流,该工作流操作脚本用于获取角色为“主要联系人”的客户联系人的电子邮件地址,并在客户记录的自定义字段中设置此电子邮件地址 function getContactEmail() { var numItem = nlapiGetLineItemCount('contactroles'); for (var i = 1; i <= numItem; i++) { var contact_rec
function getContactEmail() {
var numItem = nlapiGetLineItemCount('contactroles');
for (var i = 1; i <= numItem; i++)
{
var contact_rec = nlapiGetLineItemValue('contactroles', 'contact', i);
// get all the contact name of the contacts of the customer
var contactEmailAddress = nlapiGetLineItemValue('contactroles', 'email', i);
// get the e-mail address of the contact
var contactRole = nlapiLookupField('contact', contact_rec, 'contactrole');
// get the internal ID of the role of that particular contact from the customer
if (contactRole == '-10') //check is the role is 'Primary Contact' or not.
{
nlapiSetFieldValue('custentity_email', contactEmailAddress);
//set the value of custom field with email address of the
//Contact which has 'Primary Contact' role
}
}
}
函数getContactEmail(){
var numItem=nlapiGetLineItemCount('contactroles');
对于(var i=1;i你很接近了。这应该可以:
function getContactEmail() {
var numItem = nlapiGetLineItemCount('contactroles');
for (var i = 1; i <= numItem; i++) {
if(nlapiGetLineItemValue('contactroles', 'role', i) != 14) continue; // the id for primary contact is 14 in my test account
try{ //contact may be inactive
var contactInfo = nlapiLookupField('contact', nlapiGetLineItemValue('contactroles', 'contact', i), ['email', 'company']);
var roleEmail = nlapiGetLineItemValue('contactroles', 'email', i) || contactInfo.email;
if(!roleEmail) continue;
if(!contactInfo.company || contactInfo.company != nlapiGetRecordId()) continue; //maybe ok if not assigned to any company?
nlapiSetFieldValue('custentity_email', roleEmail); //set the value of custom field with email address of the Contact which has 'Primary Contact' role
break;
}catch(e){
nlapiLogExecution('ERROR', "Looking up contact: "+ nlapiGetLineItemValue('contactroles', 'contact', i), e);
}
}
}
函数getContactEmail(){
var numItem=nlapiGetLineItemCount('contactroles');
对于(var i=1;i你很接近了。这应该可以:
function getContactEmail() {
var numItem = nlapiGetLineItemCount('contactroles');
for (var i = 1; i <= numItem; i++) {
if(nlapiGetLineItemValue('contactroles', 'role', i) != 14) continue; // the id for primary contact is 14 in my test account
try{ //contact may be inactive
var contactInfo = nlapiLookupField('contact', nlapiGetLineItemValue('contactroles', 'contact', i), ['email', 'company']);
var roleEmail = nlapiGetLineItemValue('contactroles', 'email', i) || contactInfo.email;
if(!roleEmail) continue;
if(!contactInfo.company || contactInfo.company != nlapiGetRecordId()) continue; //maybe ok if not assigned to any company?
nlapiSetFieldValue('custentity_email', roleEmail); //set the value of custom field with email address of the Contact which has 'Primary Contact' role
break;
}catch(e){
nlapiLogExecution('ERROR', "Looking up contact: "+ nlapiGetLineItemValue('contactroles', 'contact', i), e);
}
}
}
函数getContactEmail(){
var numItem=nlapiGetLineItemCount('contactroles');
对于(var i=1;i对不起。我忘了联系人有多奇怪。最安全的方法是搜索:
function setContactEmail(){
var contacts = nlapiSearchRecord('customer', null,
[
new nlobjSearchFilter('internalid',null, 'is', nlapiGetRecordId()),
new nlobjSearchFilter('contactrole', 'contact', 'is', '-10'),
new nlobjSearchFilter('isinactive', 'contact', 'is', 'F'),
new nlobjSearchFilter('company', 'contact', 'is', nlapiGetRecordId())
],[
new nlobjSearchColumn('email', 'contact')
]);
if(contacts) nlapiSetFieldValue('custentity_email', contacts[0].getValue('email', 'contact'));
}
对不起,我忘了联系人有多奇怪了。最安全的方法是搜索:
function setContactEmail(){
var contacts = nlapiSearchRecord('customer', null,
[
new nlobjSearchFilter('internalid',null, 'is', nlapiGetRecordId()),
new nlobjSearchFilter('contactrole', 'contact', 'is', '-10'),
new nlobjSearchFilter('isinactive', 'contact', 'is', 'F'),
new nlobjSearchFilter('company', 'contact', 'is', nlapiGetRecordId())
],[
new nlobjSearchColumn('email', 'contact')
]);
if(contacts) nlapiSetFieldValue('custentity_email', contacts[0].getValue('email', 'contact'));
}
非常感谢您的回复。我会查看并回复您。再次感谢您的关注。您好,再次@bknight,我尝试了上述方法,并将您的号码更改为14 by-10,这是我的主要联系人的内部ID,但无效。您是否建议另一种解决方法。谢谢。是的。很抱歉,我为角色ID号m获得了14关于联系人被分配的角色。再次感谢@bknights。它现在工作得很好。我真的非常感谢你的帮助。非常感谢你的回复。我会检查一下,然后再给你回复。再次感谢你关注这一点。再次你好@bknights,我尝试了上述方法,并将你的号码改为14 by-10,这是我的内部ID主要联系人有,但没有成功。您是否建议另一种解决方法。谢谢。是的。很抱歉,无论联系人被分配到哪个角色,我都会得到14个角色id。再次感谢@bknight。现在效果很好。我非常感谢您的帮助。