如何修改工资单检查或直接收益语句以从 Microsoft Dynamics GP 中的人力资源提取出勤余额

本文包含如何提取 HR 考勤余额字段, (数组) 报告编写器中的"工资单检查报告"或"DD 收益表"报告。 对于 HR,您将退出数组,其中与会者字段将在数组内按字母数字顺序打印。 下面还包括一个示例,以及一些常见的疑难解答问题。 默认情况下,"工资单"端中的"休假/病假"字段默认为这些可调整的报告,你必须删除它们并拖动到余额的 HR 数组中。

适用于:   Microsoft Dynamics GP
原始 KB 编号:   4021536

备注

若要将 来自 HR 的时间代码余额添加到员工工资单或 DD 收益表,请使用以下步骤: (Canned 报告将默认为工资单端。)

编辑任何报告之前,应先将当前修改的报告导出到文件夹中进行安全保存或参考。 为此:

  1. 在 Microsoft Dynamics GP 中,转到 Microsoft Dynamics GP >自定义 > > 维护
  2. 突出显示报告,然后选择 顶部的"导出 "。
  3. 将报告保存到您所选择的文件或位置。 扩展将为 .pkg

解决方案

  1. 打开报告编写器:为此,请选择 "Microsoft Dynamics GP > 工具 > 自定义 > 报告编写器"。

  2. 选择"产品: Microsoft Dynamics GP", 选择"确定"。

  3. 菜单栏中 选择"报告"。

  4. 如果已修改报表,则报表已列在右侧。 如果未修改报表,请在"原始报告"列中的左侧找到它,并选择突出显示报告 (显示。 "员工检查"或") 收益单",然后选择"插入"将其移动到"修改的报告"列表。 在 "修改的报告" 列表中选择突出显示报告,然后选择"打开 "。 (选择所需的报告。)

  5. 然后选择布局 按钮 。 (打开工具箱、报表定义和报表布局窗口) 。

  6. 在"工具箱" (如下所示的) 上,选择"工资单工作检查"表并向下滚动以选择"可用时间数组",并将该字段拖动到您希望这些字段位于的"报表布局"窗口中。 (在报表布局上,可以找到工资单休假和病假字段,并突出显示它们,然后按 Delete 将它们从报告中删除。 然后将上面的新"可用时间数组"字段拖到其位置)

    6b. 在将新字段放置到报表上时,将打开" 报表字段选项 "窗口。 为数组索引放入 1。

    6c. 此外,在"报告字段选项"窗口中, 选择" 格式"字段旁边的省略号按钮。 在"格式查找"中,选择任何 (选项,例如DLR11_U2) 美元符号的组。 选择 "确定",然后选择 "确定 "关闭窗口。 (如果不这样做,你的营业时间旁边就会有一个美元符号。)

    6d. 重复 5a 和 5b,将"可用时间数组"拖到文档中要列出的代码数。 将每个数组索引增加 1,以便下一个数组索引的数组 索引2, 等等。规则是拖动出与打印代码最多的员工一样多的数组。 (大多数用户拖动一个休假和一个病假时间,因此将字段拖动到布局两次。)

    备注

    这些代码将按字母数字顺序打印。 (请参阅下一节中的示例。) 因此,如果要打印的代码较少,并且所有员工都使用相同的代码进行注册,将更容易。

    例如,Array #1 可能打印出一名员工的病假时间,但另一名员工的休假时间。 因此,可以在下一步中将相应的标题拖出以与每个代码一起运行:

  7. 添加字段标签:在"可用时间数组"字段的左侧,只需对报表上的 VAC 和 SICK 标签进行硬编码(如果需要)。 但是,由于代码以字母数字顺序打印,因此,对于不同的员工,代码可能按不同顺序打印,因此,您还需要拖出"时间代码数组"字段,以便字段标签可以默认用于每个员工。 按照下面的步骤操作。

    1. 工具箱中,将下拉列表更改为"工资 单检查说明"。

    2. 向下滚动到 "时间代码****数组",并将此字段拖动到报表。

    3. A report Field Options Window will pop up and in the Array Index field put 1. (1 的此字段标签将对应于 report.)

    4. 对需要跟踪的数字重复 6b 和 6c。将每个 数组索引 增加 1。 (注意:请确保在"可用时间数组 1"旁边拖放"时间代码数组 1", 因为它们对应。 拖动"可用 时间数组 2"旁边的"时间代码数组 2" 等)

  8. 保存对报表所做的更改。 (关闭所有窗口,然后选择系统 提示 时保存。)

  9. 转到"文件 > ""Microsoft Dynamics GP", 返回到 GP 并退出"报告编写器"。

  10. 返回到 GP 中 ,请确保授予 用户对修改的报告的访问权限。 转到 Microsoft Dynamics GP > 工具 > 安装程序 > 系统/备用修改的表单和报表

  11. 测试 打印多个员工的修改后的报告,并验证现在显示的正确余额。

  12. 对要修改的其他任何报告重复步骤,如收益表或重新打印付款单等。

更多信息

示例:

下面是代码如何在不同数组中为不同员工打印的示例:

员工#A分配有两个代码:SICK 和)。 (每小时 vac)

员工#B分配有三个代码:HOL、SICK 和 SVAC。 (工资)

  • 因此,我们将三个"可用时间"和"时间代码数组"拖到检查中。

这是代码的打印方式:

  • 对于员工#A:Array 1 - #A,Array 2 -SICK。
  • 对于 Employee #B:数组 1 - HOL,数组 2 -SICK,数组 3 - SVAC。
  • 因此,你可以看到,如果员工具有不同的代码,这些代码将按不同的顺序打印。 Array #1 表示第一名员工的 VAC,但另一名员工的休假在 Array #3 中。 默认情况下,两者都有函数 SICK 为数组 #2。 代码以字母数字顺序打印。
  • 如果将 HOL 标记为不为员工 B 打印,则数组 1 将为 SICK,而 Array 2-SVAC 表示员工 B。因此,员工 A 将按该顺序打印假期和病假,员工 B 将按该顺序打印病假和休假。

如果我想在 DD 语句上为所有人打印 SICK 和 VAC,应该怎么做? 如何进行此操作?

在以上示例中,您可以将数组字段 #2 拖动到收益语句的"SICK"区域。 但是,VAC 代码对于员工来说是不同的数组,因此你无法将任何数组拖出 VAC 时间。

我们建议删除收益语句上的硬编码标题,并改为将游戏的相应时间代码数组拖到每个可用时间数组旁边。

下面是一些选项:

  1. 将标题或时间代码数组拖出以对应于每个可用时间数组,并且不要硬编码标题。 (它们在当前收益单上硬编码,你不希望这样操作,因为代码将按不同顺序打印给每个员工。 仅在所有员工都注册所有相同的代码时,才对报表上的字段标签进行硬编码)

  2. 你可以将员工 A 注册到 HOL 代码 (或虚拟) ,以便他们为员工打印相同数量的数组。 (尽管上述示例中的顺序仍然不同。) 在此示例中,您必须将三个数组拖到收益语句中 (调整为 1 合 1,而将另一个框中的字体调整为 2。 VAC 是一个雇员的数组 1,另一个雇员的数组 3,因此除非愿意重命名代码,否则你必须将全部三个代码拖到语句及其相应的标题或时间代码数组)

  3. 重命名某些代码以强制它们按特定顺序打印。 例如,由于字母数字顺序,因此上例中的"下例"中的"下一个数组"和"SVAC"以相反的数组进行打印。 你可以重命名这些代码或设置新代码,如 VACH 和 VACS,以便它们最后打印给两名员工。 然后在 HOL 或虚拟代码中注册员工 A。 对于上述示例中的所有员工,你的数组 1、2 和 3 将是相同的。 如果它们对于所有员工都具有相同的顺序,则你可以硬编码标题。

  • 我们不建议对标题进行硬编码。 请改为使用相应的时间代码数组,这样在以后添加新代码时可以解决问题。 这将防止将来出现不匹配的情况。
  • 不过,修改支票或收益声明由你决定,因为它是已修改的报告。

疑难解答提示

下面是有关是否将数组用于标题或说明以及是否硬编码每个数组的标题或说明的说明:

如何按特定顺序显示代码,以便对标题进行硬编码

如果 硬编码标题 或说明,而不是使用时间代码数组,可以使用以下提示强制它们按特定顺序显示:

  1. 如果你想要确保始终先打印代码,可以设置 1sick 或 1vac 等代码。 使用编号序列可以按特定顺序打印它们。 (或者你可以仅将 Comp 作为 Xcomp, 以便它打印 last.)

  2. 或者,你可以将所有员工分配给所有代码,只要为不使用代码的员工打印 0 余额。

  3. 或者创建一 个虚拟代码 ,以填充那些短于一个 代码的员工。 例如,如果你有由于代码不适用于所有人而丢弃代码的 COMP,你可以创建虚拟代码并将其名称为 FillerCompNone (或者你所需的任何代码,以便它与其他代码) 的字母数字顺序相同,并将其分配给其他员工。 将其标记为在检查上打印。 这将打印 0 个余额,因为它不用于这些员工。

如何获取要打印的代码

  1. 转到 "卡 > ""HR 考勤维护",显示员工和权益类型代码,你将看到一个框,名为"打印工资 > > 单检查的可用时间"。 如果此框已标记,则检查时可查看此时间。

    (此框对应于 TATM1030 表中的 PRNAVAILTMEPYRL 字段。 值 1 指示字段可以显示在员工工资单上。)

  2. 使用查询工具并检查 TATM1030 表SQL也是一个好主意。 有时它可能在前端显示标记,但表格可能不会显示值 1。 在这种情况下,需要更新表。

选择以任何方式进行此操作都由你决定。 请务必先将数据加载到测试环境中并进行测试,以确认你正在获取你期望的结果。

如果你的代码未打印出来

  1. 打印权益 类型。
  2. 确保在" 员工考勤维护 "窗口中标记了"打印工资单检查的可用时间"选项。 (卡 > HR > Employee > Attendance Maintenance)
  3. 时间代码必须链接到支付代码。 深入了解"员工考勤维护"窗口中的时间代码以进行验证。 (或 转到工具设置 > > HR > > 勤时间代码.)

如果列出了六个数组,但并非所有员工都分配了六个代码,那么如何获取未在剩余数组中打印的零

双击"报表编写器"中的数组,而不是"可见",可以选择"空白时隐藏"。

我修改了报告,但用户仍然看到旧报告

你需要向报表授予访问权限,用户才能使用它。

参考