我是一位经验不足的技术开发人员,正在使用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);
}
答案 0 :(得分:1)
//项目记录的内部ID var project = nlapiGetFieldValue('custcol_nra_expense_project');
答案 1 :(得分:0)
Praveen Kumar对于缺少必需的参数的回答是正确的,但是您认为脚本还有很多其他问题。
旁注:
您想要这样的东西:
var result = resultSet.getResults(0, 1);
if (result) {
var department = result.getValue('custentity_nra_dept_project');
// etc.
}
尽管如此,从您的描述来看,我仍然认为您不需要进行搜索。一旦有了部门(再次使用precord.getFieldValue),我想您所需要的就是:
record.setFieldValue('department', pdepartment);
或者,如果您要设置行级部门,则将有所不同。
这是哪种脚本?我想提出更多建议,但这取决于正在发生的事情。