有没有人想办法从时间表记录中删除时间输入记录,而不实际删除时间表?我的用例是我将JIRA的工作时间同步到NetSuite一年多了。当出现错误或需要更新时间时,我的集成只会删除它并重新创建所有内容。从来没有问题,因为时间表尚未提交或批准,此时。
现在,我们已经安装了这个SuitePeople捆绑包(遗憾的是,正在处理的项目经理没有测试任何东西......:/),这完全改变了时间跟踪。除了自定义字段不再显示在列中(完全不同的问题),它们现在生成通用时间表,供人们显示休假时间。这些时间表无法删除,他们的时间条目甚至无法编辑(大概是因为它们是由系统创建的 - 至少是NetSuite所说的)。
我最后的希望是在添加额外系统生成的时间表时添加/编辑/删除时间输入记录。但是,每当我尝试删除时间条目时,我都会收到错误,即timeentry不是有效的记录类型(因为它是一个子记录)。
有什么想法?感到完全不知所措......
答案 0 :(得分:1)
我很高兴知道,因为我与JIRA工作日志直接集成,但没有SuitePeople。
您可以取消/拒绝时间表吗?
答案 1 :(得分:0)
原来我必须通过RESTlet运行它,其中SuiteScript能够直接搜索和删除时间条目记录。以下是该脚本的重要部分,以防任何人遇到此问题。
var timeEntrySearch=search.create({
type:'timeentry',
columns:[{name:'employee'},{name:'hours'},{name:'internalid'},{name:'memo'}],
filters:[{name:'date',operator:'within',values:[startDate,endDate]},{name:'employee',operator:'is',values:[userID]}]
}).run().each(function(result){
log.debug('results',JSON.stringify(result));
var memoField=result.getValue({name:'memo'});
if(memoField.indexOf('JIRA Time')!=-1){responseArray.push(result);}
return true;
});
for(var el in responseArray){
try{
log.debug('Deleting',JSON.stringify(responseArray[el].id));
record.delete({type:'timeentry',id:responseArray[el].id});
}catch(deleteErr01){
log.debug('ERROR[deleteErr01]',JSON.stringify(deleteErr01));
continue;
}
}