适用于: Microsoft Dynamics GP
原始 KB 数: 855877
症状
如果尝试在 Microsoft Dynamics GP 的“购买发票输入”窗口中选择采购订单,将收到以下错误消息:
不能接收未经授权的采购订单。
此外,不能批量批准“采购订单增强项录入窗口”中的采购订单。
如果以下情况之一为真,则会出现此问题:
激活采购订单时,会停用采购订单,然后重新激活采购订单,激活过程不会正确更新采购订单的审批状态。 若要成功输入或匹配发票,采购订单的状态必须为 “已批准”。
已取消的采购订单或一些已取消的订单项保留在CPO10110表格中。 已取消的行项不得在此表中显示。
决议
若要解决此问题,请尝试 方法 1。 如果方法 1 无法解决问题,请尝试 方法 2。
注意
在按照本文中的说明操作之前,请确保拥有数据库的完整备份副本,如果出现问题,可以还原该副本。
方法 1
确保采购订单在POA40003表中的状态 为“已 批准”。 为此,请在 MICROSOFT SQL 查询分析器中针对公司数据库运行以下语句。 若要启动 SQL 查询分析器,请单击“开始”,指向“程序”,指向Microsoft SQL Server,然后单击“查询分析器”。
运行以下 SELECT 语句,找到该记录的采购订单和DEX_ROW_ID值。
注意
将 xxx 替换为采购订单号。
SELECT DEX_ROW_ID, * FROM POA40003 where PONUMBER =xxx运行以下 UPDATE 语句,将采购订单状态设置为 “已批准 ”,方法是使用记录的DEX_ROW_ID值作为条件。
UPDATE POA40003 SET POA_PO_APPROVAL_STATUS = 2 where DEX_ROW_ID = '<yyy>'注意
- 在此语句中,将 yyy 替换为记录的实际DEX_ROW_ID值。
- 值 2 表示批准状态。
方法 2
更新状态为“已取消”的采购订单行项。 将状态更改为 “更改订单”,然后将状态更改回 “已取消 ”,以从CPO10110表中删除行项。 为此,请按照下列步骤进行操作:
单击“交易”,指向“购买”,然后单击“编辑采购订单”。
单击 PO 编号旁边的“查找”按钮。 然后打开要更新的采购订单。
找到状态为 “已取消”的特定行项。 然后单击“状态”列表中这些项目的“更改顺序”。
单击处理。
运行以下 SQL 语句,并注意“更改订单”行项的 ORD 值。
SELECT ORD, * FROM POP10110 where PONUMBER = <xxx>注意
- 在此语句中,将 xxx 替换为实际的采购订单号。
- 默认情况下,第一行项的 ORD 值始终为 16384。 ORD 值始终递增 16384。 因此,第二行项的值为 32768,第三行项的值为 49152,依此等。
单击“交易”,指向“购买”,然后单击“编辑采购订单”。
单击 PO 编号旁边的“查找”按钮。 然后打开要更新的采购订单。
找到状态为 “更改顺序”的特定行项。 然后在“状态”列表中,单击“已取消”。
单击处理。
验证采购订单行项是否不在CPO10110表中。 为此,请在以下 SQL 语句中插入步骤 e 中的 ORD 值,然后在 SQL 查询分析器中运行该语句。
SELECT * FROM CPO10110 where PONUMBER = <xxx> and ORD = <zzz>注意
- 在此语句中,将 xxx 替换为实际的采购订单号。
- 在此语句中,将 zzz 替换为行项编号的实际顺序。
- 此语句不应返回任何记录,因为已取消的行项或已取消的采购订单不会在此表中显示。
协调采购订单。 为此,请在“Microsoft Dynamics GP”菜单上,单击“工具”,指向“实用工具”,指向“购买”,然后单击“协调购买文档”。
在 “协调购买文档 ”窗口中,单击“ 协调”和“打印报表”,然后单击“ 处理”。
请确保所有用户都注销 Microsoft Dynamics GP。
在“Microsoft Dynamics GP”菜单上,单击“文件”,指向“维护”,然后单击“采购订单增强功能”。
单击以选中 “协调 ”复选框以协调采购订单增强表和记录。 然后单击“ 处理”。