首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用suitescript访问netsuite html表单的当前用户信息

使用suitescript访问netsuite html表单的当前用户信息
EN

Stack Overflow用户
提问于 2013-05-17 03:30:33
回答 2查看 4.2K关注 0票数 2

我一直在尝试将netsuite中的一些值自动补全到我们的自定义html表单中。

经过一些研究,我发现了这个宝石: nlapiGetContext (http://www.netsuite.com/portal/developers/resources/APIs/Dynamic%20HTML/SuiteScriptAPI/MS_SuiteScriptAPI_WebWorks.1.1.html)

它应该完全按照它说的做,

但是,在执行nlapigetcontext()的console.log转储时

将显示以下信息,而不是我当前登录的用户信息

以下是我当前的测试脚本:

代码语言:javascript
复制
if (window.addEventListener) { // Mozilla, Netscape, Firefox
    window.addEventListener('load', WindowLoad, false);
} else if (window.attachEvent) { // IE
    window.attachEvent('onload', WindowLoad);
}

function WindowLoad(event) {
   alert(nlapiGetContext().getCompany());
   console.log(nlapiGetContext());
}

任何帮助或指导,我们将不胜感激!

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-17 14:40:54

此表单位于何处?上下文仅在您登录到系统时才有效,因此这不适用于在线客户表单,这些表单被认为是“系统之外的”。

如果只检索值,则可以编写一个Suitelet来从外部表单检索数据。

我使用它来获取外部登录页面上的活动信息。

代码语言:javascript
复制
function getCamData(request, response){
if ( request.getMethod() == 'GET' ){
    response.setHeader('Custom-Header-CamID', 'CamID');
    var camid = request.getParameter('camid');
    var rec = nlapiLoadRecord('campaign', camid);
    var o = new Object();
        o.thisid = camid; 
        o.promocode = rec.getFieldValue('campaignid'); 
        o.phone = rec.getFieldValue('custevent_cam_1300num');
        o.family = rec.getFieldValue('family');
        var myString = JSON.stringify(o);       
        response.write (myString);
}}

您请求的内容如下:

https://forms.netsuite.com/app/site/hosting/scriptlet.nl?script=188&deploy=1&compid=xxxxxx&h=fb8224b74b24907a79e6&camid=8020

并返回类似如下的内容:

{"thisid":"8020",“促销码”:“CAM999”,“电话”:“1800 111 222",”家庭“:”12“}

你也可以在服务器端从外部站点发布到NetSuite客户在线表单,它将捕获并验证在NS中设置的输入字段的数据,这是避免使用那些可怕的iframes的好方法。

票数 3
EN

Stack Overflow用户

发布于 2013-05-17 17:57:03

使用以下函数

代码语言:javascript
复制
nlapiGetContext().getName()
nlapiGetContext().getUser()
nlapiGetContext().getRole()
nlapiGetContext().getRoleId()
nlapiGetContext().getRoleCenter()
nlapiGetContext().getEmail()
nlapiGetContext().getContact()
nlapiGetContext().getCompany()
nlapiGetContext().getContact()

nlapiGetUser()
nlapiGetDepartment()

有关详情,请查看http://suitecoder.appspot.com/static/api.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16595887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档