我有一个套件脚本,它应该检查一个框,然后在创建新发票或更新旧发票时创建日记帐分录。但是,当导入带有我要更新的发票的 csv 时,它只会选中该框,但不会创建正确的日记帐分录。我已经检查了“导入 CSV 首选项”中的“运行服务器 SuiteScript 和触发工作流程”,并且已经完成了我能想到的所有事情,但我仍然卡住了。欢迎任何帮助。您可以在下面找到脚本:
/** *@NApiVersion 2.1 *@NScriptType UserEventScript */
定义(['N/记录'],函数(记录){
function afterSubmit(context){
let invoice = context.newRecord;
let uk_subs = [11,13,14,12,38,39,42,52,54,55,56,57,58,53,46,16,41,18]
let esp_subs = [47,7,48,5,4,45,3,6,9,10,40]
let invoice_subs = parseInt(invoice.getValue('subsidiary'));
let link_anacap = invoice.getValue('custbodyfinaced_anacap_jt');
let link_journal = invoice.getValue('custbody_journal_created')
let invoice_num = invoice.getValue('tranid')
let total_amount = invoice.getValue('custbody_stc_total_after_discount');
function create_journal(object, account_1, account_2, account_3){
object.selectNewLine('line');
object.setCurrentSublistValue('line','account',account_1);
object.setCurrentSublistValue('line','credit',total_amount);
object.commitLine('line');
object.selectNewLine('line');
object.setCurrentSublistValue('line','account',account_2);
object.setCurrentSublistValue('line', 'debit',total_amount*0.02);
object.commitLine('line');
object.selectNewLine('line');
object.setCurrentSublistValue('line','account',account_3);
object.setCurrentSublistValue('line', 'debit',total_amount *0.98);
object.commitLine('line');
return object.save();
}
if(context.type == context.UserEventType.CREATE || context.type == context.UserEventType.EDIT){
if(link_anacap == true && link_journal== false){
/* record.submitFields({
id: context.newRecord.id,
type: context.newRecord.type,
values:{'custbody_journal_created':true}
}); */
let create_jour = record.create({
type: record.Type.JOURNAL_ENTRY,
isDynamic : true
});
create_jour.setValue('subsidiary', invoice_subs);
create_jour.setValue('memo', invoice_num);
record.submitFields({
id: context.newRecord.id,
type: context.newRecord.type,
values:{'custbody_journal_created':true}
});
if(esp_subs.includes(invoice_subs)){
create_journal(create_jour, 1027,1008,5919)
}
else if(uk_subs.includes(invoice_subs)){
create_journal(create_jour,1022, 1008, 7586)
}
}
} else if(link_anacap == true && link_journal== true){}
}