如何用SuiteScript在NetSuite创建Time Entry?错误排查与字段设置
问题解决方案
1. FEATURE_DISABLED错误处理
错误提示明确说明你的NetSuite账户未启用**Timesheets(工时表)**功能,必须先启用该功能才能创建Time Entry记录:
- 登录NetSuite后台,进入设置 > 公司 > 启用功能
- 在员工与人力资源分类下找到工时表选项,勾选启用
- 保存设置(需管理员权限,若无法操作可联系内部管理员或NetSuite支持)
2. Duration(hours字段)设置方法
NetSuite的hours字段不接受4:00或4:00:00这类时间字符串,仅支持小数格式的时长:
- 整数部分代表小时,小数部分按60进制转换为分钟(比如0.5=30分钟,0.25=15分钟)
- 示例:
- 4小时 →
4 - 4小时15分钟 →
4.25 - 30分钟 →
0.5 - 1小时45分钟 →
1.75
- 4小时 →
修改后的代码示例:
var rec = record.create( { type: record.Type.TIME_ENTRY, isDynamic: true } ); rec.setValue({ fieldId: 'employee', value: 1962, ignoreFieldChange: true }); rec.setValue({ fieldId: 'customer', value: 2069, ignoreFieldChange: true }); rec.setValue({ fieldId: 'casetaskevent', value: 1227, ignoreFieldChange: true }); // 设置为4小时30分钟(示例) rec.setValue({ fieldId: 'hours', value: 4.5, ignoreFieldChange: true }); var trackTime = rec.save();
内容的提问来源于stack exchange,提问作者Shahriar
相关产品推荐
相关产品推荐

