批处理保存在 Microsoft Dynamics GP 中的“过帐”、“正在接收”、“忙碌”、“已标记”、“已锁定”或“已编辑”状态中
本文提供了在 Microsoft Dynamics GP 或 Microsoft Business Solutions - Great Plains 中尝试发布批处理并打开批处理时发生的错误的解决方案。
适用于: Microsoft Dynamics GP
原始 KB 数: 850289
症状
尝试在 Microsoft Dynamics GP 或 Microsoft Business Solutions - Great Plains 中发布批后,会为该批分配以下状态之一:
- 张贴
- 接收
- 忙碌
- 标记为
- 已锁定
- 编辑
无法发布或取消标记批。 尝试打开批处理时,可能会收到以下错误消息:
“Batch 被另一个用户标记为要发布。”
原因
出现此问题的原因可能是电源波动或其他问题导致发布进程停止。
解决方案
注意
“解析”部分中的所有脚本都必须在查询工具中运行。 若要打开相应的查询工具,请在 Microsoft SQL Server Management Studio 中运行 语句。 若要打开SQL Server Management Studio,请选择“开始”,指向“MicrosoftSQL Server (2019) (程序>”或) 的版本,然后选择“SQL Server Management Studio”。 若要运行脚本,请选择“ 新建查询”。
若要解决此问题,请执行以下步骤:
确保拥有公司数据库的当前备份,并要求所有用户退出 Microsoft Dynamics GP。 若要在 Microsoft Dynamics GP 中创建备份,请在所有用户从 Microsoft Dynamics GP 注销后执行相应的步骤:
- 在“ 文件 ”菜单上,选择“ 备份”。
- 在“ 公司名称” 列表中,选择要备份的公司。
- 在 “选择备份文件 ”框中,选择黄色文件夹以打开要在其中放置备份文件的位置。
或
- 在对象资源管理器中,展开数据库,以便看到要备份的数据库。
- 右键单击“ 数据库名称”,转到 “任务”,然后选择“ 备份”。
- 选择 “添加 ”按钮,然后选择要保存备份的位置和文件名。
- 选择 “确定” 开始备份。
查看下表的内容,验证所有用户是否已注销:
DYNAMICS..ACTIVITY
、DYNAMICS..SY00800
、DYNAMICS..SY00801
、TEMPDB..DEX_LOCK
和TEMPDB..DEX_SESSION
。 为此,请运行以下脚本。SELECT * FROM DYNAMICS..ACTIVITY SELECT * FROM DYNAMICS..SY00800 SELECT * FROM DYNAMICS..SY00801 SELECT * FROM TEMPDB..DEX_LOCK SELECT * FROM TEMPDB..DEX_SESSION
注意
当所有用户从 Microsoft Dynamics GP 注销时,这些表中不会有任何记录。
如果未返回任何结果,请转到步骤 4。 否则,请使用以下任何适当的脚本清除卡住的记录。
DELETE DYNAMICS..ACTIVITY DELETE DYNAMICS..SY00800 DELETE DYNAMICS..SY00801 DELETE TEMPDB..DEX_LOCK DELETE TEMPDB..DEX_SESSION
针对公司数据库运行以下脚本。 将 XXX 替换为你尝试在 Microsoft Dynamics GP 中发布或选择的批号或名称。
UPDATE SY00500 SET MKDTOPST=0, BCHSTTUS=0 where BACHNUMB='XXX'
注意
的值
BACHNUMB
与 Microsoft Dynamics GP 中的 Batch ID 窗口的值相同。验证事务的准确性。
验证是否可以编辑和发布批。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈