4. 日历定义与管理

在 Primavera P6 中,日历不是“辅助设置”,而是决定作业何时能被排入时间轴的核心数据。一个作业的工期是 5 天,并不等于它一定在 5 个自然日后完成——它究竟落在哪些日期上、每天排多少小时,完全由该作业最终生效的日历决定。因此,理解日历的三种类型、它们的优先级规则,以及工作日、非工作日、例外日期和工时这四个要素如何组合,是编制可信进度计划的前提。

三种日历:全局、项目、资源

P6 中的日历按作用范围分为三类,它们不是并列关系,而是“可被引用”的层级关系。

  • 全局日历(Global Calendar):属于企业级数据,存放在 EPS 之上,可被所有项目引用。通常由计划管理部门统一维护,例如“标准五天工作制”“七天连续施工”“两班倒”等通用日历。全局日历是建立项目日历和资源日历的模板来源。
  • 项目日历(Project Calendar):属于某个具体项目,定义该项目默认的工作时间。每个项目必须指定一个项目日历,它作为该项目内所有未单独指定日历的作业的“兜底日历”。
  • 资源日历(Resource Calendar):挂在具体资源(如某台塔吊、某个班组、某台设备)上,描述该资源实际可工作的时间。当作业分配了带资源日历的资源时,资源日历会参与该作业的排程约束。

三者的关系可以概括为:全局日历提供模板,项目日历提供项目默认值,资源日历提供资源个体的真实可用性。它们共同决定一个作业最终“落在哪些天、每天几小时”。

P6 日历层级与优先级判定 全局日历 企业级模板,可被所有项目引用 例:标准五天制 / 七天连续 两班倒(16h/天) 项目日历 项目默认日历,作业兜底 例:主体施工日历 周一至周六 8:00–17:00 资源日历 挂在资源上,描述真实可用性 例:塔吊检修日 / 班组轮休 夜班资源 22:00–06:00 派生 派生 作业排程时日历的优先级判定 ① 作业自身日历 作业属性中单独指定 ② 项目默认日历 未指定时自动继承 ③ 资源日历叠加 分配资源后参与约束 最终生效:作业日历 ∩ 资源日历 两者都工作的日期才计入工期;任一非工作日则该日不排工 (资源日历不会放宽作业日历,只会进一步收紧)

工作日、非工作日、例外日期与工时

打开任一日历,其编辑界面围绕四个要素展开:

工作日(Workdays):一周中哪些天算工作日。P6 默认周一至周五为工作日,周六、周日为非工作日。对于连续施工项目,可把七天全部勾选为工作日。

非工作日(Non-workdays):与工作日相对,是日历中不排工的星期。它决定了作业在周与周之间的“断点”。

例外日期(Exceptions / Holidays):在常规周模式之外,单独指定的特殊日期。它有两种用法——把某个本应工作的日期设为休息(如国庆节),或把某个本应休息的日期设为工作(如赶工期的周末加班)。例外日期是日历中最灵活、也最容易出错的部分。

工时(Work Hours):每个工作日的工作时段与总小时数。P6 中一个“天”的工期换算依赖于日历的每日工时。例如日历设为 8 小时/天,则 5 天工期 = 40 小时;若改为 10 小时/天,同样 5 天工期就代表 50 小时。工时设置直接改变工期与小时数的换算关系。

在 P6 中,日历的“每天工时”会影响工期类型为“固定工期与单位时间”的作业计算。修改日历工时后,务必重新计算进度(F9),否则作业的日期不会自动更新。

创建与配置的实际操作

以某房建项目为例,说明从全局日历到项目日历的完整创建过程。

  1. 进入 Enterprise → Calendars,在全局日历区点击 Add,新建日历并命名为“主体施工-六天制”。
  2. 在 Workweek 选项卡中,勾选周一至周六为工作日,周日为非工作日;将每天工时设为 8:00–12:00、13:00–17:00,合计 8 小时。
  3. 切换到 Exceptions 选项卡,添加例外日期:将 10 月 1 日至 10 月 3 日设为非工作日(国庆),将 10 月 7 日(周六)设为工作日(调休补班)。
  4. 保存后,在项目 Project → Details → Defaults 中,把该项目默认日历指定为“主体施工-六天制”。
  5. 对于塔吊资源,进入 Resources 窗口,打开该资源详情,在 Calendar 字段选择“塔吊检修日历”,其中每周三下午为非工作日。

完成上述配置后,一个分配了塔吊的混凝土浇筑作业,其排程结果将是:作业日历(六天制)与塔吊日历(周三下午休息)的交集。若该作业工期为 3 天,且从周一上午开始,则实际完成时间会因周三下午的停工而顺延。

优先级规则与常见陷阱

日历优先级可以总结为一条判定链:作业自身日历 > 项目默认日历,而资源日历在作业日历基础上进一步收紧。也就是说,资源日历不会让作业在作业日历的非工作日上工作,只会让作业在资源不可用的日期上停工。

实际工作中最容易出现的三个问题:

  • 项目日历未指定:新建项目若未指定默认日历,P6 会使用全局默认日历,导致作业日期与预期不符。应在项目建立之初就明确默认日历。
  • 例外日期遗漏:法定节假日、雨季停工日、设备检修日若未加入例外日期,进度计算会把这些天当作工作日,造成工期偏乐观。
  • 工时与工期混淆:把“5 天工期”理解为“5 个自然日”是常见错误。在六天制日历下,5 天工期可能跨越 6 个自然日;在 10 小时/天日历下,5 天工期代表 50 小时工作量。
修改已被作业引用的日历(尤其是删除工作日或增加例外日期)会改变所有引用该日历作业的日期。修改前应评估影响范围,修改后必须执行进度计算并检查关键路径是否变化。

日历配置检查清单

在完成日历定义后,可用下表逐项核对,确保日历数据完整、优先级正确。

检查项 检查内容 合格标准
全局日历 是否已建立项目所需的标准日历模板 模板命名清晰,工作日与工时符合企业制度
项目日历 项目默认日历是否已指定 Project Details 中 Default Calendar 非空且正确
资源日历 关键资源是否配置了独立日历 塔吊、班组等资源日历已关联且反映真实可用性
例外日期 法定节假日、调休、检修日是否录入 例外日期与项目实际停工安排一致
工时设置 每日工时是否与工期换算一致 8 小时/天或按实际班制设置,无遗漏时段
优先级验证 作业日历与资源日历叠加结果是否正确 抽查作业日期,确认非工作日未被排工

日历管理看似基础,却直接决定进度计算的输入是否真实。把全局日历当作模板库、把项目日历当作项目默认值、把资源日历当作资源真实可用性,再通过例外日期和工时把“制度时间”与“现场时间”对齐,才能让后续的进度计算、关键路径分析和资源平衡建立在可信的时间基准之上。