4. 日历定义与管理
在 Primavera P6 中,日历不是“辅助设置”,而是决定作业何时能被排入时间轴的核心数据。一个作业的工期是 5 天,并不等于它一定在 5 个自然日后完成——它究竟落在哪些日期上、每天排多少小时,完全由该作业最终生效的日历决定。因此,理解日历的三种类型、它们的优先级规则,以及工作日、非工作日、例外日期和工时这四个要素如何组合,是编制可信进度计划的前提。
三种日历:全局、项目、资源
P6 中的日历按作用范围分为三类,它们不是并列关系,而是“可被引用”的层级关系。
- 全局日历(Global Calendar):属于企业级数据,存放在 EPS 之上,可被所有项目引用。通常由计划管理部门统一维护,例如“标准五天工作制”“七天连续施工”“两班倒”等通用日历。全局日历是建立项目日历和资源日历的模板来源。
- 项目日历(Project Calendar):属于某个具体项目,定义该项目默认的工作时间。每个项目必须指定一个项目日历,它作为该项目内所有未单独指定日历的作业的“兜底日历”。
- 资源日历(Resource Calendar):挂在具体资源(如某台塔吊、某个班组、某台设备)上,描述该资源实际可工作的时间。当作业分配了带资源日历的资源时,资源日历会参与该作业的排程约束。
三者的关系可以概括为:全局日历提供模板,项目日历提供项目默认值,资源日历提供资源个体的真实可用性。它们共同决定一个作业最终“落在哪些天、每天几小时”。
工作日、非工作日、例外日期与工时
打开任一日历,其编辑界面围绕四个要素展开:
工作日(Workdays):一周中哪些天算工作日。P6 默认周一至周五为工作日,周六、周日为非工作日。对于连续施工项目,可把七天全部勾选为工作日。
非工作日(Non-workdays):与工作日相对,是日历中不排工的星期。它决定了作业在周与周之间的“断点”。
例外日期(Exceptions / Holidays):在常规周模式之外,单独指定的特殊日期。它有两种用法——把某个本应工作的日期设为休息(如国庆节),或把某个本应休息的日期设为工作(如赶工期的周末加班)。例外日期是日历中最灵活、也最容易出错的部分。
工时(Work Hours):每个工作日的工作时段与总小时数。P6 中一个“天”的工期换算依赖于日历的每日工时。例如日历设为 8 小时/天,则 5 天工期 = 40 小时;若改为 10 小时/天,同样 5 天工期就代表 50 小时。工时设置直接改变工期与小时数的换算关系。
创建与配置的实际操作
以某房建项目为例,说明从全局日历到项目日历的完整创建过程。
- 进入 Enterprise → Calendars,在全局日历区点击 Add,新建日历并命名为“主体施工-六天制”。
- 在 Workweek 选项卡中,勾选周一至周六为工作日,周日为非工作日;将每天工时设为 8:00–12:00、13:00–17:00,合计 8 小时。
- 切换到 Exceptions 选项卡,添加例外日期:将 10 月 1 日至 10 月 3 日设为非工作日(国庆),将 10 月 7 日(周六)设为工作日(调休补班)。
- 保存后,在项目 Project → Details → Defaults 中,把该项目默认日历指定为“主体施工-六天制”。
- 对于塔吊资源,进入 Resources 窗口,打开该资源详情,在 Calendar 字段选择“塔吊检修日历”,其中每周三下午为非工作日。
完成上述配置后,一个分配了塔吊的混凝土浇筑作业,其排程结果将是:作业日历(六天制)与塔吊日历(周三下午休息)的交集。若该作业工期为 3 天,且从周一上午开始,则实际完成时间会因周三下午的停工而顺延。
优先级规则与常见陷阱
日历优先级可以总结为一条判定链:作业自身日历 > 项目默认日历,而资源日历在作业日历基础上进一步收紧。也就是说,资源日历不会让作业在作业日历的非工作日上工作,只会让作业在资源不可用的日期上停工。
实际工作中最容易出现的三个问题:
- 项目日历未指定:新建项目若未指定默认日历,P6 会使用全局默认日历,导致作业日期与预期不符。应在项目建立之初就明确默认日历。
- 例外日期遗漏:法定节假日、雨季停工日、设备检修日若未加入例外日期,进度计算会把这些天当作工作日,造成工期偏乐观。
- 工时与工期混淆:把“5 天工期”理解为“5 个自然日”是常见错误。在六天制日历下,5 天工期可能跨越 6 个自然日;在 10 小时/天日历下,5 天工期代表 50 小时工作量。
日历配置检查清单
在完成日历定义后,可用下表逐项核对,确保日历数据完整、优先级正确。
| 检查项 | 检查内容 | 合格标准 |
|---|---|---|
| 全局日历 | 是否已建立项目所需的标准日历模板 | 模板命名清晰,工作日与工时符合企业制度 |
| 项目日历 | 项目默认日历是否已指定 | Project Details 中 Default Calendar 非空且正确 |
| 资源日历 | 关键资源是否配置了独立日历 | 塔吊、班组等资源日历已关联且反映真实可用性 |
| 例外日期 | 法定节假日、调休、检修日是否录入 | 例外日期与项目实际停工安排一致 |
| 工时设置 | 每日工时是否与工期换算一致 | 8 小时/天或按实际班制设置,无遗漏时段 |
| 优先级验证 | 作业日历与资源日历叠加结果是否正确 | 抽查作业日期,确认非工作日未被排工 |
日历管理看似基础,却直接决定进度计算的输入是否真实。把全局日历当作模板库、把项目日历当作项目默认值、把资源日历当作资源真实可用性,再通过例外日期和工时把“制度时间”与“现场时间”对齐,才能让后续的进度计算、关键路径分析和资源平衡建立在可信的时间基准之上。