SuiteScript 1.0线路级现场采购代码(列表/记录)故障排除

问题描述 投票:0回答:2

我是一名缺乏经验的技术开发人员,使用SuiteScript 1.0开发我的第一个SuiteScript。我收到SSS_MISSING_REQD_ARGUMENT错误,但我确信我的代码中还有更多错误。该脚本的目的是在联合记录中填充费用记录行项目的部门字段。最终用户将在费用行上选择一个项目,脚本应在项目记录(自定义字段)中查找部门,并将值添加到本地部门字段。代码复制如下。

function ProjectSegment ()
{
    var record = nlapiLoadRecord(nlapiGetRecordType(), nlapiGetRecordId());

    var recordID = nlapiGetRecordId(record);

    //internal ID of project record
    var project = nlapiGetField ('custcol_nra_expense_project');

    //load project record
    var precord = nlapiLoadRecord('job', project);

    //get department on project record (internal ID)
    var pdepartment = precord.GetFieldValue('custentity_nra_dept_project');

    //get project name from project record
    var projectName = precord.GetFieldText('entityid');

    //load existing search
    var search = nlapiLoadSearch('job','customsearch161');

    //add filter to include project name
    search.addFilter(new nlobjSearchFilter('entityid',null,'is',projectName));

    //run search
    var resultSet = search.runSearch();

    //get department line
    var departmentResult = new nlobjSearchColumn('custentity_nra_dept_project');

    //set value
    nlapiSetFieldTexts('job','department',1,departmentResult)

    //record.commitLineItem('department');
    nlapiSubmitRecord(record, true);
}
javascript netsuite suitescript
2个回答
1
投票

//项目记录的内部ID var project = nlapiGetFieldValue('custcol_nra_expense_project');


0
投票

Praveen Kumar的回答对于缺少必要的论证是正确的,但是你已经猜测了脚本还有许多其他问题。

附注:

  • nlobjRecord的getFieldValue和getFieldText方法不是大写的。
  • 出于性能原因,您可以/应该使用搜索从作业记录中获取所需的值。除非您想要更改记录,否则加载记录只是为了获取字段值是浪费。
  • 您的搜索过滤器可能应该基于作业记录中的entityid的值(而不是文本)。
  • 您想要的搜索列可能无效(我不认为可能会在工作记录中存在一个custentity字段)。
  • 获取搜索结果不正确。

你需要这样的东西:

var result = resultSet.getResults(0, 1);
if (result) {
    var department = result.getValue('custentity_nra_dept_project');
    // etc.
}

尽管如此,根据您的描述,我认为您无论如何都不需要搜索。一旦你有了pdepartment(再次使用precord.getFieldValue),我认为你需要的是:

record.setFieldValue('department', pdepartment);

或者,如果您要设置行级部门,则会有所不同。

这是什么样的剧本?我想提出更多建议,但这取决于发生了什么。

© www.soinside.com 2019 - 2024. All rights reserved.