sarly 发表于 2020-12-16 10:53:25

二次开发-调整工单-排除非工作时间

本帖最后由 adminlily 于 2020-12-16 10:54 编辑

排除非工作时间将工作时段引入账号先决条件:您必须熟悉教程中使用的语法 并且已经创建了一个扩展.
学习:显示在工单上花费的时间
水平:[ ttps://www.itophub.io/wiki/page?id=level&dataflt%5B0%5D=level_%3DBeginner]初学者
域:[ ttps://www.itophub.io/wiki/page?id=domains&dataflt%5B0%5D=domains_%3DXML]XML, [ ttps://www.itophub.io/wiki/page?id=domains&dataflt%5B0%5D=domains_%3DStopwatch]Stopwatch
最低版本:2.1.0
在此教程中,我们假设您正在使用账号工作时段来计算TTO和TTR基于工作时段的SLA 扩展,您想显示在​​TTR中花费的时间,但忽略非工作时间。
在秒表中,我们有4个内部子项目:

代码标签含义
timespent
Elapsed
在与秒表相关的状态下花费的总时间-如果秒表正在运行,则不准确!
startedstarted秒表第一次启动时
LaststartLastStart当秒表最后一次启动时-如果秒表已停止,则为空
stoppedstopped秒表最后一次停止的时间-如果秒表正在运行,则为空

排除非工作时间将为您提供这两个内部之间的时间:ttr_started和ttr_stopped。但这可能不是您想要的,因为此延迟是这两个事件之间的总时间。账号并没有考虑到TTR在此期间已停止的事实,它忽略了工作时段。
如果您想要的是支持团队到解决和工单花费的实时时间,请使用耗时的SubItem。为此,您必须在XML中将其声明为UserRequest类的字段。
[ ttps://www.itophub.io/wiki/page?do=export_code&id=2_7_0%3Acustomization%3Aadd-subitems&codeblock=0]itop_design / classes / class@UserRequest


<fields>
   <field id="tto_timespent" xsi:type="AttributeSubItem" _delta="define">
   <target_attcode>tto</target_attcode>
   <item_code>timespent</item_code>
   </field>
    </fields>
子项目必须在XML中明确声明为字段,才能在OQL中使用并显示在屏幕上。
您可以在UserRequest的详细信息屏幕中显示它,也可以不显示它,无论如何它都可以在“自定义此列表”视图中,小表格和OQL查询中使用。
这是一个耗时显示与秒表显示的示例:
https://www.itophub.io/wiki/media?media=2_7_0%3Acustomization%3Alifecycle-stopwatch-timespent-cut.png

[*]秒表已多次启动和停止,因此,“经过”与“已启动”和“已停止”之间的差异不符
[*]7 * 60s + 49s = 469s:提供者花费的时间只是“经过”子项的漂亮展示
[*]这是此教程的摘录:标记等待第三次聚会的工单


页: [1]
查看完整版本: 二次开发-调整工单-排除非工作时间