/**
- @NApiVersion 2.x
- @NScriptType Restlet
*/
define([‘N/search’, ‘N/log’, ‘N/record’],
function (search, log, record) {
function post(params) {
var companynames;
var id;
search.create({
type: 'vendor',
columns: ['companyname'],
//filters: ['companyname', 'is', params.name]
filters: [{
name: "formulatext",
formula: "CASE WHEN {companyname}='"+params.nameEn+"' THEN 1 ELSE 0 END",
join: null,
operator: search.Operator.IS,
values: "1"
}]
}).run().each(function (result) {
companynames = result.getValue('companyname');
id=result.id;
})
if (companynames) {
log.debug('名称已存在,内部标识',id)
return id;
}else{
log.debug('参数', params)
var recordObj = record.create({
type: record.Type.VENDOR,
isDynamic: true
});
// 供应商公司名称
recordObj.setValue({
fieldId: 'companyname',
value: params.nameEn,
});
//供应商公司简称
recordObj.setText({
fieldId: 'custentity_k_short_name',
text: params.nameShort,
});
//供应商公司中文名称
recordObj.setText({
fieldId: 'custentity10',
text: params.name,
});
//供应商公司电子邮箱
recordObj.setText({
fieldId: 'email',
text: params.email,
});
//供应商电话
recordObj.setText({
fieldId: 'phone',
text: params.mobile,
});
//recordObj.setText({
// fieldId: 'subsidiary',
// value: params.companyId,
//});
//供应商附属子公司等SCM公司在NS系统中维护后修改
recordObj.setValue({
fieldId: 'subsidiary',
value: 3,
});
recordObj.setValue({
fieldId: 'payablesaccount',
value: 1509,
});
recordObj.setText({
fieldId: 'currency',
text: 'USD'
});
//供应商审核通过
recordObj.setValue({
fieldId: 'custentity_is_audit',
value: true,
});
params.supplierAddressPushNsVoList.forEach(function(i) {
// 行
recordObj.selectNewLine({
sublistId: 'addressbook'
});
var addressSubrecord = recordObj.getCurrentSublistSubrecord({
sublistId: 'addressbook',
fieldId: 'addressbookaddress'
});
//供应商-国家
addressSubrecord.setValue({
fieldId: ‘country’,
value: ‘CN’
});
//供应商-具体地址
addressSubrecord.setText({
fieldId: ‘addr1’,
text: i.address
});
// 提交行
recordObj.commitLine({
sublistId: 'addressbook'
});
})
// 保存
var id = recordObj.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
return id;
}
}
return {
post: post
};
});