首页
/ Zammad时间跟踪功能配置问题排查指南

Zammad时间跟踪功能配置问题排查指南

2025-06-12 11:54:29作者:郦嵘贵Just

问题现象

在使用Zammad 6.2.0版本时,用户启用了时间跟踪功能后,发现以下异常情况:

  1. 在Chrome浏览器桌面端无法显示时间跟踪弹窗
  2. 客户信息页面缺少时间跟踪数据
  3. 无法正常记录工作时间

技术分析

通过深入排查,发现问题根源在于时间跟踪选择器(time_accounting_selector)的配置不当。具体表现为:

  1. 状态选择问题:虽然界面显示了所有工单状态,但实际未正确选中任何状态,导致选择器条件为空数组
  2. 单位设置影响:当时间单位设置为"小时"时,系统行为出现异常
  3. 配置持久性问题:通过控制台直接修改设置后,Web界面未能同步更新

解决方案

正确配置步骤

  1. 重置现有配置

    Setting.reset('time_accounting')
    Setting.reset('time_accounting_selector')
    
  2. 通过Web界面重新配置

    • 导航至系统设置中的"时间跟踪"部分
    • 确保启用时间跟踪功能
    • 在状态选择器中,使用Shift+Click或逐个点击选择需要应用时间跟踪的工单状态
  3. 验证配置

    Setting.get('time_accounting_selector')
    

    正确输出应包含已选状态的ID数组,例如:

    {"condition":{"ticket.state_id":{"operator":"is","value":["4","5","1","2","7","3"]}}}
    

注意事项

  1. 状态选择技巧:必须显式选择状态,仅显示在列表中不代表已被选中
  2. 时间单位设置:建议先配置为"无单位"验证基本功能,再调整为"小时"
  3. 浏览器缓存:修改配置后可能需要刷新浏览器才能生效

技术原理

Zammad的时间跟踪功能依赖于两个关键设置:

  1. time_accounting:布尔值,控制功能开关
  2. time_accounting_selector:JSON结构,定义触发条件

当用户提交工单更新时,系统会检查当前工单状态是否匹配选择器中定义的条件。如果条件为空或未匹配,则不会触发时间跟踪弹窗。

最佳实践

  1. 建议在生产环境配置前,先在测试环境验证设置
  2. 定期检查时间跟踪配置,特别是在系统升级后
  3. 对于团队协作环境,确保所有成员了解时间跟踪的触发条件
  4. 记录配置变更历史,便于问题回溯

通过以上方法,可以确保Zammad的时间跟踪功能正常工作,为团队提供准确的工作时间记录。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
466
3.47 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
flutter_flutterflutter_flutter
暂无简介
Dart
715
172
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
203
81
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.26 K
695
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1