0

我提前道歉,我对 JavaScript 和 NetSuite 很陌生。

我正在使用 DocuSign for NetSuite 捆绑包。该捆绑包具有在按钮中使用其功能的选项。

问题:我正在尝试从 NetSuite 获取字段值并将其组合到自定义电子邮件主题字段中。例如,机会状态。

SuiteScript 支持吗?如果是这样,怎么做?

JavaScript 通常似乎通过使用“这是动态的 + 'customVariableName'”的语法来支持它。

以下是我的脚本,提前致谢:

function oppStatus () {
var status = nlapiGetFieldText('status');
}

function customSendMain () {
var searches = [
{ keyword: '.docx .doc'
, type: 'broad' }
];
var staticEmail = {
subject: 'Opportunity ' + status,
blurb: 'Static email blurb'
};
var recipients = docusignGetRecipients(docusignContext);
var files = docusignGetFiles(docusignContext, searches);
var email = staticEmail;
return docusignPopulateEnvelope(docusignContext, recipients, files, email);
}

“docusignPopulateEnvelope”中的“email”是一个对象。“subject”和“blurb”包含字符串值。

如何在字符串中为“subject”或“blurb”引用变量值?我不断收到语法错误。

也试过这样:

var staticEmail = {
subject: Opportunity ' ' .status,
blurb: 'Static email blurb'
};
4

2 回答 2

2

这似乎更像是一种 JS 语法,而不是 Suitescript sepcific。

如果要访问变量“状态”,可以将代码修改为:

function oppStatus () {
return nlapiGetFieldText('status'); 
}

var staticEmail = {
subject: 'Opportunity ' + oppStatus(),
blurb: 'Static email blurb'
};

如果这是你要问的。

于 2015-09-16T05:23:59.343 回答
0

通过使用下面的工作。

function RecipientsMain() {
    var recordId = docusignContext.recordId;
    var contactId = nlapiLookupField(docusignContext.recordType, docusignContext.recordId, 'customField');
    if(contactId != '')
    {   
        var fields = ['entityid', 'email'];
        var contactFields = nlapiLookupField('contact', contactId, fields);
        var entityName = contactFields.entityid;
        var entityEmail = contactFields.email;
        var dummyRecipients = [
            { id: 1 
            , order: 1
            , name: entityName
            , email: entityEmail

        }];
        var nsRecipients = docusignGetRecipients(docusignContext, 2, 2);
        var recipients = dummyRecipients.concat(nsRecipients);
        var files = docusignGetFiles(docusignContext);
        return docusignPopulateEnvelope(docusignContext, recipients, files);
    }
    else
    {
        var files = docusignGetFiles(docusignContext);
        var recipients = docusignGetRecipients(docusignContext);
        return docusignPopulateEnvelope(docusignContext, recipients, files);
    }   
}
于 2017-02-01T01:02:28.463 回答