2013-05-16 3 views
2

netsuite에서 사용자 정의 html 양식으로 일부 값을 자동 완성하는 방법을 알아 내려고 노력했습니다. nlapiGetContext (http://www.netsuite.com/portal/developers/resources/APIs/Dynamic%20HTML/SuiteScriptAPI/MS_SuiteScriptAPI_WebWorks.1.1.html)suitscript를 사용하여 netsuite html 양식의 현재 사용자 정보에 액세스

그러나 그것이 말하는 정확히 어떻게해야

,

, nlapigetcontext의 CONSOLE.LOG 덤프를 수행 할 때()

: 연구의 조금 후

, 나는이 보석을 발견

다음과 같은 정보가 표시됩니다 나의 현재 사용자 정보에 기록

enter image description here

어떤 도움이나지도가 감사

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()); 
} 

:

여기에 내 현재 테스트 스크립트입니다!

감사합니다.

답변

3

이 양식은 어디에 있습니까? 컨텍스트는 시스템에 로그인 한 경우에만 작동하므로 온라인 고객 양식에는 적용되지 않으며 "시스템 외부"로 간주됩니다.

값을 검색하는 경우에만 외부 양식에서 데이터를 검색하도록 Suitelet을 작성할 수 있습니다.

외부 방문 페이지에서 캠페인 정보를 얻으려면이 방법을 사용합니다.

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", "promocode": "CAM999", "를 012 ","family ":"12 "}

또한 외부 사이트에서 NetSuite 고객 온라인 양식으로 서버 쪽 게시를 수행 할 수 있습니다. 데이터는 NS에 입력 필드가 설정되어있는 한 끔찍한 iframe을 사용하지 않는 훌륭한 방법입니다.

+0

아를 확인, 감사합니다. netsuite에서 정보를 얻기 위해 서버에 서브렛을 작성한 다음 json 객체로 전달하고 예상대로 작동합니다. –

2

사용이 기능 자세한 내용

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