如何使用RESTlet在Netsuite中获取特定用户的联系人?

时间:2015-12-08 11:51:19

标签: restlet netsuite

管理员有10个联系人。其中一个用户有15个联系人。当我使用RESTlet获得单一联系时,输出来了。但是,当我得到所有联系人时,它无法获取所有联系人。它试图获得管理员的联系。

用户不应访问管理员帐户的联系人。它显示错误,

  

[code] => INSUFFICIENT_PERMISSION

     

[message] =>出于安全原因,只允许管理员编辑管理员记录。

i)我想获取与管理员帐户无关的所有记录。

ii)我想只获取与任何帐户无关的所有记录。

编码

function getAllIDs(datain) {
        var MAX_SIZE = typeof (datain.size) == 'undefined' ? 200 : datain.size;
        var INDEX = 0;

        if (typeof (datain.index) !== 'undefined') {
            INDEX = datain.index * MAX_SIZE;
            MAX_SIZE += INDEX;
        }

        var NS_filters = new Array();

        var columns = new Array();
        columns[0] = new nlobjSearchColumn('lastmodifieddate').setSort(1);

        var search = nlapiCreateSearch(datain.recordtype, NS_filters, columns)
        var results = search.runSearch();
        var records = results.getResults(INDEX, MAX_SIZE);
        return records;
    }

    function get_Allrecords(datain) {
        var all_IDs = getAllIDs(datain);
        var len = all_IDs.length;
        var result = new Array();

        for (var i = 0; i < len; i++) {
            result[i] = nlapiLoadRecord(all_IDs[i].getRecordType(), all_IDs[i].id)
        }
        return result;
    }

输入

$datastring = array('recordtype' => 'contact','size' => 100,'index'=>0);
$data_string = json_encode($datastring);

1 个答案:

答案 0 :(得分:1)

基于聊天讨论

  

1)您不希望将执行设置为角色管理员   2)问题适用于公司字段指向客户/合作伙伴的联系人。

错误不是由于RESTlet或脚本造成的,而是由于当前用户对所选公司联系人记录值的作用的限制。

请注意,限制可能是因为:

  

1)部门,班级和地点(部门,班级,角色的位置限制)   2)根据角色设置,很少有员工只能访问您是销售代表的客户(员工角色限制)