使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

KB 978268

症状

尝试在 Microsoft Dynamics GP 中的人力资源自助服务套件 (HRMSSS) for Business Portal (BP) 中分配新创建的支付计划或更改现有的支付计划时,会收到以下错误消息之一:

 

支付计划的日期与去年的活动支付计划重叠。 无法保存两个共享日期的活动支付计划。



分配给此支付计划的支付期与支付频率不匹配。 重新计算支付计划支付期。

原因

出现上面第一条消息的问题是因为新支付计划中的第 1 期开始日期与上一支付计划的最后一个期间的日期重叠。 但是,HRMSSS 模块要求支付计划必须超过 365 天,并且不允许跳过日期或在两个计划之间重叠。


上面的第二条消息的问题是,支付计划为 364 天,系统要求在允许对计划的任何更改之前 365 天,或者可以创建与它相邻的新支付计划。
 

解决方法


示例:

假设 2021 年付费计划从 2021 年 12 月 23 日运行到 2022 年 12 月 22 日。 本示例创建一个名为"2022"的新支付计划,该计划从 2022 年 12 月 22 日起开始,但无法创建,因为它已被以前的支付计划使用。 

支付计划:开始日期 -结束日期

2021:当前设置为日期 12/23/2021 - 12/22/2022

2022:需要日期 12/22/2022 - 12/21/2023;您希望在 2022 年 12 月 22 日启动此新计划,但无法启动,因为上一年的支付计划已使用此日期。 

注意:系统要求该期的"名称"与该支付计划的"开始日期"上的"年份"戳记一致。

使用以下方法之一解决此问题:

  • 如果对 Microsoft Dynamics GP 10.0 使用 BP 4.0,则使用下面的方法 1 或方法 2。

  • 如果将 BP 5.0 或 BP 5.1 与 Microsoft Dynamics GP 2010 或 BP 6.0/6.1 与 Microsoft Dynamics GP 2013 一同使用,并且具有 27 个周期 (每两周) 或每周 () 53 个周期,请使用下面的方法 1 或方法 2。

  • 如果将 BP 5.0 或 BP 5.1 与 Microsoft Dynamics GP 2010 或 BP 6.0/6.1 与 Microsoft Dynamics GP 2013 一同使用,并且具有 26 个周期 (每两周) 或每周 (52 个周期) 因为您单击了"仅使用完整支付周期"选项,请使用下面的方法 1 或方法 3。 仅使用完整期) 的 2021 年 2021 年支付计划 (似乎将于 2022 年 12 月 21 日结束,但不允许为 2022 年创建从 2022 年 12 月 22 日开始的新计划,即使之前的支付计划中未使用此日期。

方法 1:取消分配过去的支付计划,以便系统不会查看它。


如果已完成使用过去的支付计划,并且所有这些时间表都批准完成,则只需从所有员工取消分配该支付计划,系统将不再考虑。 然后,你将能够从所需的任何日期开始创建新的支付计划。 如果能够等到上一个计划不再被使用并且使用该支付计划的所有时间表都得到批准/完成,则这是解决此问题的最快速且最简单的方法。

1. 以管理员角色登录到 BP。

2. 单击"管理"选项卡。

3. 单击"Timecard 设置"。

4. 选择正确的"支付计划",然后单击"分配"按钮。

5. 使用"限制者"下拉列表选择"部门",然后单击"全部取消标记"。 然后按员工进行限制,然后选择"全部取消标记"。 (按位置和位置检查,尽管它们不太常使用。) 保存。

6. 现在,可以单击"添加"并创建一个新的支付计划,从所需的任何日期开始。



注意 不要从业务门户"删除"以前的支付计划。 必须存在支付计划,才能查看历史数据。 但是,如果从"支付计划"窗口删除过去的支付计划,则只需再次创建它,但不将其分配给任何员工。 它只需存在,以显示过去的 timecard 历史记录。

方法 2:如果具有 27 或 53 个周期,则使用 Microsoft 脚本修改支付SQL日期

注意 在按照本文中的说明操作之前,请确保有一个完整的数据库备份副本,在出现问题时可以还原该副本。


其他说明:

  • 建议进行备份。 记下所有支付计划开始日期和结束日期,以便可以相应地SQL脚本。

  • 建议批准要更改的支付计划的所有时间表。 因此,在支付计划结束之前,请勿执行这些步骤。


以下步骤的目的是将最后一个时间段重命名为 (第 27 期或第 53 期) 期 0,以便系统将该时间段移动到计划的开头。 然后,我们将更改该时间段的年戳,以便额外一天添加到上一年的日程的开头,从计划结束时删除以释放该日期。 基本上,这是将计划提前一天 (或 2020 年 12 月 22 日- 2021 年 12 月 21 日) 。 我们需要这样做,因为系统仍要求计划为 365 天。 

步骤 1
运行相应的脚本,将"期间 ID"值从"每两周"或"每周"值更改为 0,如下所示。 这会将最后一个期间移到支付计划的开头:

BIWEEKLY:
update HRM_PayPeriod set PayPeriodID ='0' where PayPeriodID ='27' and yearid='2021' and frequencyid ='2'
WEEKLY:
update HRM_PayPeriod set PayPeriodID ='0' where PayPeriodID ='53' and yearid='2021' and frequencyid ='1'



注意 将上述脚本中的 YEARID 更新为旧支付计划的名称。 这些示例脚本仅涵盖每周和每两周一次,但是,如果计划频率不同(如每月或半月)不同,也可以进行相应的编辑。 请打开支持案例,获取这些值以插入到脚本中。
 

步骤 2

运行以下相应脚本,更改"期间名称"值以匹配:

BIWEEKLY:
update HRM_PayPeriod set Name = 'Period 0' where Name = 'Period 27' and Yearid = '2021' and frequencyid = '2'

WEEKLY:
update HRM_PayPeriod set Name = 'Period 0' where Name = 'Period 53' and Yearid = '2021' and frequencyid = '1'





步骤 3
现在,需要将"期间 0"的开始日期和结束日期更改为上一年,以便向"支付"计划的开头添加额外的一天。 运行这两个脚本,首先更改"期间 0"的开始日期,然后更改"期间 0"的结束日期:

BIWEEKLY:
update HRM_PayPeriod set BeginDate ='2021-12-22' where payperiodid ='0' and yearid='2021' and frequencyid ='2'

update HRM_PayPeriod set EndDate ='2021-12-22' where payperiodid ='0' and yearid='2021' and frequencyid ='2'


WEEKLY:
update HRM_PayPeriod set BeginDate ='2021-12-22' where payperiodid ='0' and yearid='2021' and frequencyid ='1'

update HRM_PayPeriod set EndDate ='2021-12-22' where payperiodid ='0' and yearid='2021' and frequencyid ='1'

注意 最后一个时间段中的日期是 2022 年 12 月 22 日-2022 年 12 月 22 日,现在已更改为 12/22/2021-12/22/22/2021,通过仅更改计划上的年戳,为计划的开头添加额外的一天。 期限 26 或 52 于 2022 年 12 月 21 日结束。



步骤 4
运行以下脚本来更新 HRM_PaySchedule 表,以匹配表表中第 0 HRM_PayPeriod开始日期:

BIWEEKLY:
update HRM_payschedule set BeginDate='2021-12-22' where yearid='2021' and frequencyid ='2'

WEEKLY:

update HRM_payschedule set BeginDate='2021-12-22' where yearid='2021' and frequencyid ='1'

注意 若要验证 HRM_PaySchedule 表中的 BeginDate 值是否与 HRM_PayPeriod 表中的 BeginDate 值匹配,请运行以下脚本:

BIWEEKLY:
Select BeginDate, * from HRM_PayPeriod where yearid ='2021' and frequencyid = 2 and PayPeriodID = 0
Select BeginDate, * from HRM_PaySchedule where yearid ='2021' and frequencyid = 2

WEEKLY:
Select BeginDate, * from HRM_PayPeriod where yearid ='2021' and frequencyid = 1 and PayPeriodID = 0
Select BeginDate, * from HRM_PaySchedule where yearid ='2021' and frequencyid = 1
 


步骤 5
现在,你可以为开始日期为"2022 年 12 月 22 日"的 2022 年创建一个新的支付计划。 在 BP 中,单击"管理"选项卡,然后单击"Timecard 设置"。 单击"支付计划"部分中的"添加"按钮。 键入频率和开始日期(2022 年 12 月 22 日)并单击"计算支付期"。 保存。


注意 新的支付计划还会为额外的一天计划创建一个额外的第 27 期或第 53 期 (因为 365 不能同样被 7 天) 。 但是,不建议在此时修改额外的时间段。 否则,支付计划将再次与以前的当前支付计划重叠,因此应等到年底再进行修改。


步骤 6
选择"支付计划",然后单击"分配"按钮,将新计划分配给部门、位置、特定员工或职位。



 

方法 3:如果具有 26 或 52 个周期,则使用 Microsoft 脚本修改支付SQL日期



注意 在按照本文中的说明操作之前,请确保有一个完整的数据库备份副本,在出现问题时可以还原该副本。


其他说明:

  • 建议进行备份。 记下所有支付计划开始日期和结束日期,以便可以相应地SQL脚本。

  • 建议批准要更改的支付计划的所有时间表。 因此,在支付计划结束之前,请勿执行这些步骤。



本示例中的现有 2021 年支付计划从 2021 年 12 月 23 日至 2022 年 12 月 21 日 (有 26 或 52 个) 。 想要更改现有支付计划,或创建从 2022 年 12 月 22 日开始的新计划,但仍出现错误,即使此日期未由现有支付计划使用。 系统不允许创建新的支付计划,因为以前的计划不是 365 天。  


以下步骤的目的是为现有计划添加额外的一天,使其具有 365 天的时间,这样你将能够创建新的支付计划。 

步骤 1
查看"期间 1"中的当前日期和" (26 期或第 52 期) 支付计划:

BIWEEKLY: Select * from HRM_PayPeriod where yearid='2021' and frequencyid ='2'
WEEKLY: Select * from HRM_PayPeriod where yearid='2021' and frequencyid ='1'



注意 将上述脚本中的 YEARID 更新为现有支付计划的名称。 这些示例脚本仅涵盖每周和每两周一次,但是,如果计划频率不同(如每月或半月)不同,也可以进行相应的编辑。 请打开支持案例,获取这些值以插入到脚本中。

步骤 2

将"第 1 期"中的开始日期备份为一天,以在"支付计划"的开头添加额外的一天,使其延长 365 天。

BIWEEKLY:
update HRM_PayPeriod set BeginDate ='2021-12-22' where payperiodid ='1' and yearid='2021' and frequencyid ='2'


WEEKLY:
update HRM_PayPeriod set BeginDate ='2021-12-22' where payperiodid ='1' and yearid='2021' and frequencyid ='1'

注意 如果添加开始日期与上一年的"支付计划"重叠,则首先可能需要从所有员工中取消分配该旧计划,以便系统不会关注它,并且不会看到另一个重叠问题。



注意 这将使支付计划从 2021 年 12 月 22 日到 2022 年 12 月 21 日结束,这会在计划开始时额外增加一天,使其时间长到 365 天。 


步骤 3
运行以下脚本来更新 HRM_PaySchedule 表,以匹配表表中第 1 HRM_PayPeriod开始日期:

BIWEEKLY:
update HRM_payschedule set BeginDate='2021-12-22' where yearid='2021' and frequencyid ='2'

WEEKLY:
update HRM_payschedule set BeginDate='2021-12-22' where yearid='2021' and frequencyid ='1'

注意 若要验证 HRM_PaySchedule 表中的 BeginDate 值是否与 HRM_PayPeriod 表中的 BeginDate 值匹配,请运行以下脚本:

BIWEEKLY:
Select BeginDate, * from HRM_PayPeriod where yearid ='2021' and frequencyid = 2 and PayPeriodID = 0
Select BeginDate, * from HRM_PaySchedule where yearid ='2021' and frequencyid = 2

WEEKLY:
Select BeginDate, * from HRM_PayPeriod where yearid ='2021' and frequencyid = 1 and PayPeriodID = 0
Select BeginDate, * from HRM_PaySchedule where yearid ='2021' and frequencyid = 1


步骤 4
现在,可以在开始日期为"2022 年 12 月 22 日"的 2022 年创建一个新的支付计划。 在 BP 中,单击"管理"选项卡,然后单击"Timecard 设置"。 单击"支付计划"部分中的"添加"按钮。 键入频率和开始日期(2022 年 12 月 22 日)并单击"计算支付期"。 保存。


注意 新的支付计划还会为额外的一天 (创建一个额外的第 27 期或第 53 期,因为 365 不同样被 7) 整除,或者如果您使用"仅使用全付期",它将再次创建 26 或 52 个支付期。 但是,不建议在此时修改额外的时间段。 否则,支付计划将再次与以前的当前支付计划重叠,因此应等到年底再进行修改。


步骤 5
选择"支付计划",然后单击"分配"按钮,将新计划分配给部门、位置、特定员工或职位。

 

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×