本文提供了使用 Microsoft Dynamics GP 在“支付管理”中查找购买批处理时发生的错误的解决方案。
适用于: Microsoft Dynamics GP
原始 KB 数: 2316165
现象
转到“应付账款批处理输入”窗口后,尝试查找一个批处理时,会收到以下错误提示:
未经处理的脚本异常:
数组“VerifyBatchTotals”的索引 0 在脚本中已超过范围。
“Batch_Lookup_Scrolling_Window SCROLL_FILL”,脚本已终止。
然后在窗口中向下滚动以查看消息的其余部分:
EXCEPTION_CLASS_SCRIPT_OUT_OF_RANGE
SCRIPT_CMD_INDEX
选择“确定”时,会收到以下消息:
已删除所选记录。
原因
此消息可能是由于SY00500过账定义主表中支票批次的损坏记录造成的。 此表保存系统中的批信息。
决议
若要解决此问题,请使用下面列出的两个选项之一重新创建SY00500发布定义主表。 可以在 Microsoft Dynamics GP 中使用 SQL 维护或使用专业服务工具库中的免费工具包重新创建此表。 下面列出了这两个选项:
注意
在继续之前,请确保具有当前的可还原备份,或先在测试环境中测试这些步骤,然后再将步骤应用到生产数据库。 如果收到任何意外的结果,请立即还原到备份。
选项 1 - 使用 SQL 维护
- 对 Microsoft Dynamics GP 进行完整备份。
- 选择 Microsoft Dynamics GP,指向 维护,然后选择 SQL。
- 选择收到错误的公司数据库。
- 在“表格”列表中,选择发布定义主模板。
- 在窗口右侧,选中每个复选框,然后选择“ 进程”。
- 对以下消息选择“是”:
“已选择删除表;这会删除其中的任何数据。 是否确实要继续?
注意
此过程重新创建SY00500 - 发布定义主表。 但是,您将暂时丢失所有未发布的批次。 若要检索这些未发布批处理,请在子模块上运行检查链接程序。 然后,对微软Great Plains总账的批进行对账。 但是,它将任何设置为“重复”的批处理设置为“单一使用”。 如果需要,必须将这些批更改回定期。
为了检索这些批次,请执行以下步骤。
如果在 Microsoft Dynamics GP 应付管理模块中使用多币种选项,请先在“应付管理历史逻辑系统文件”上运行“检查链接”程序,然后再在“应付管理交易逻辑系统文件”上运行检查链接程序。 如果使用多货币,则可以跳过此步骤并转到步骤 2。
若要对以下文件运行检查链接程序,请选择Microsoft Dynamics GP,指向维护,选择“检查链接”,选择以下系列名称之一,然后键入相应的逻辑表名称。 按照此步骤获取以下文件:
模块:应付账款管理
系列/逻辑表:购买系列 - 应付事务逻辑模块:采购订单处理
系列/逻辑表:购买系列 - 购买事务逻辑模块:应收账款管理
系列/逻辑表:销售系列 - 应收账款开放式交易模块:开票
系列/逻辑表:销售系列 - 发票工作文件模块:销售订单处理
系列/逻辑表:Sales - Sales Work 文件模块:清单
系列/逻辑表:清单 - 清单事务工作文件模块:材料清单
系列/逻辑表:库存 - 库存 - 物料清单交易文件
如果使用 Microsoft Dynamics GP 项目系列 (PS) 时间和费用,则还必须对以下文件运行检查链接。 若要对以下文件运行检查链接,请选择“文件”,选择“维护”,选择“PS 检查”链接,然后选择以下文件名之一。 按照此步骤获取以下文件:
- 时间表批处理 - PS 时间表交易
- 资产日志批处理 - PS 资产日志事务
- 费用日志批次 - PS费用日志事务
- 库存转移批次 - PS 库存转移事务
- 采购订单批处理 - PS 采购订单交易
- 系列名称:供应商发票批处理 - PS 供应商发票交易
- 员工费用批次 - PS 员工费用交易
- 计费批处理 - PS 计费时间和材料交易
如果 Microsoft Dynamics GP 总账中存在任何批,请在“Microsoft Dynamics GP”菜单中选择工具,指向实用工具,指向财务,然后选择对账。 选择“批处理”,然后选择“协调”以协调批。
重新测试以验证错误消息是否已解决。
OPTION #2 - 使用专业服务工具库 (PSTL)
对 Microsoft Dynamics GP 进行完整备份。
让所有用户注销 Microsoft Dynamics GP。
使用以下步骤安装专业服务工具库(PSTL),并将其添加为 Microsoft Dynamics GP 中的快捷方式。 如果已完成此操作,可以跳过此步骤。
安装专业服务服务库的步骤(PSTL):
请访问此 CustomerSource 站点以下载 PSTL:(下载中包含安装说明)。
安装 PSTL 后,以系统管理员(“sa”用户)身份登录到 Microsoft Dynamics GP。
当系统提示包含新代码时,请选择“ 是 ”。
若要将 PSTL 添加到快捷栏,请选择“添加”,选择“其他窗口”,展开“技术服务工具”,展开“项目”,选择“专业工具库”,选择“添加”,然后选择“完成”。
在快捷栏上,选择 “专业服务工具”。 等待 SQL 对象生成。 当系统提示输入注册密钥时,只需选择“ 取消”。 无需使用注册密钥来使用免费工具包。
选择 “工具包”。 选择下一步。
在“工具包选项”下,选择“ 重新创建 SQL 对象 ”,然后选择“ 下一步”。
在“系列”旁边,选择“公司”。
在表旁边,选择SY00500。
在维护选项下,选择重新创建所选表和重新创建所选表的数据。
重要
必须选中“为所选表重新创建数据”复选框,以便保留表中的当前数据。 如果忘记标记它,则将丢失所有当前数据,并且必须立即还原到备份。
选择“ 执行所选维护”。
收到以下消息时,请选择“ 确定” :
将使用数据重新创建表
将使用数据重新创建SY00500表。 在继续操作之前,请确认已经进行了备份,SY00500已经被重新创建。
重新测试以查看错误消息是否已解决。
如果继续收到错误消息,则需要为SY00800(批处理活动)重新创建索引。 为此,请按照以下步骤解决此问题:*请确保你有公司数据库的可还原备份,以防出现不需要的数据丢失。
从“快捷方式”选项卡中选择“专业服务工具库”链接,然后选择启用工具包。 将显示“工具包”窗口。
从“工具包”窗口中选择 “重新创建 SQL 对象 ”,然后选择“ 下一步”。
选择 “系统”作为系列,并为表选择“SY00800”。
在 “维护选项”下,为所选表选择“ 重新生成索引 ”。
注意
验证在为此表重新创建索引时,没有人发布或编辑批处理。 每当用户编辑或发布任何模块中的批时,SY00800表中都有一条记录。
选择“ 执行所选维护 ”按钮以重新创建索引。
详细信息
如果你有任何批处理转到批处理恢复,请参阅 KB - 在 Microsoft Dynamics GP 中将批处理保留为“发布”、“接收”、“忙碌”、“已标记”、“已锁定”或“编辑”状态,了解如何将批处理重新设置为 “可用 ”状态。