Odoo19的Recurring tasks以每周会议、状态报告等重复工作为背景,说明软件可以自动创建这些任务。新一轮的产生有状态前提:上一任务被设为Done或Canceled之后,才创建递归任务。它描述的是新任务记录的形成,不能只按会议周期的文字就认定某一新记录已经出现。[1]

新记录的看板位置从项目第一阶段开始,文档以New或等价阶段举例。这个起点没有直接沿用上一轮的结束位置。Task stages and statuses同时说,Done和Canceled独立于看板阶段;一项记录在哪一列,与它是否已经关闭,属于分别定义的资料。因此,前一轮关闭后产生下一轮,并不等于把前一轮的结束状态整份复制。[1][3]

可复制的范围由Recurring tasks逐项列出:名称、描述、项目、被分配人员、客户和标签取自原任务。这些字段让下一轮带着原有任务主题、项目关联与人员等资料开始,不需要把“同一类工作”只保留成一个重复出现的标题。字段之间有不同内容,但在这一段中共享明确的来源——原任务。[1]

另一组资料却不随之复制:里程碑、工时表、Chatter、活动和子任务均在排除清单中。名称、描述被保留,不代表先前记录中的过程历史与下级任务也一同延续。尤其是人员字段可以沿用,而上一轮工时表不复制;原任务安排给谁,与此前在它上面记录了哪些工时,在这份复制规则中没有被捆在一起。[1]

截止日期采用另一种变化,而非原样复制。它根据Repeat Every字段更新,原例中每周重复就是在原截止日期上增加七天。这个参照是原任务的deadline。因而,同一组递归任务可以在名称、描述等字段保持来源关系的同时,拥有向后推进的截止日期;字段复制与日期更新在新记录上同时发生,却采用不同规则。[1]

递归次数的显示也有具体对象:任务上的智能按钮显示已存在的递归任务总数。至于后续改变,文档将最后一个递归任务上的更改应用到未来才创建的任务。已存在的数量与未来创建范围分别被说出;后一句不是把所有过去记录重新定义一遍,而是限定之后新记录取得资料的范围。[1]

Task dependencies处理的则是已有任务之间的关系。它把successor称为被其他任务阻挡的后继任务,把predecessor称为阻挡后继的前置任务。Gantt中的箭头从前置指向后继,表示依赖方向。这里没有因为前置结束就复制出另一轮的叙述,而是在说明已经相联的两端各承担什么角色。[2]

依赖页规定,后继处于Waiting,不能进入In Progress,直到前置任务被标为Approved、Cancelled或Done。这与递归页的Done或Canceled创建条件并不相同:Approved出现在解除已有后继等待的文字中,却没有被列为该递归新建条件。两页的状态名称必须连同各自对象保留,不能把“前置可继续”改写成“必定产生新一轮”。[2][1]

看板阶段本身还可以因项目而异。阶段在Kanban中表现为列,默认属于具体项目,也能由采用同一工作流的多个项目共享。于是,递归说明中的“第一阶段”指向所在项目的看板起点,而不是要求所有项目具有同一列名。它同任务状态分别定义,也让New或等价阶段的说法保留了具体项目这一参照。[3]

本文只解释19.0公开文字的记录与条件,没有建立依赖、改变任务状态或配置递归。递归页配置段的标签歧义不采用,各页状态名单不拼成统一完整枚举;首发日期未知。

信息来源

本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。