问题描述
rec_trackingspec.init();
if rec_trackingspec2.FindLast() then
rec_trackingspec."Entry No." := rec_trackingspec2."Entry No." + 1 else
rec_trackingspec."Entry No." := 1;
rec_trackingspec."Creation Date" := WorkDate();
rec_trackingspec.Positive := true;
rec_trackingspec.Validate("Item No.",rec_SalesLine."No.");
rec_trackingspec.Validate("Lot No.",rec_itemledgerentry."Lot No.");
rec_trackingspec."Location Code" := 'MAIN';
rec_trackingspec.Validate("Quantity (Base)",rec_SalesLine.Quantity);
rec_trackingspec.Validate("Bin Code",rec_SalesLine."Bin Code");
rec_trackingspec."Source Ref. No." := rec_SalesLine."Line No.";
rec_trackingspec.Insert(true);
通过调试器检查,我看到Insert(true)被执行了,但是当我检查Tracking Spec是否有我要插入的行时,它不会在其中显示条目。
解决方法
检查INSERT之后是否有一个代码可以像ERROR命令一样撤消所有更改。
,对于这种问题,我通常倾向于使用SQL Server。
- 使用调试器,调试插入
- 在SQL Server上运行,您应该会看到记录已插入。
SELECT * FROM [Table Name] with (nolock) WHERE [KeyFields]
- 然后在调试器中按F5键,它将在发生错误的地方停止并删除记录,如果不发生这种情况,请使用F11进行一些代码行,并检查数据库中的记录是否仍然存在,直到找到哪一行删除记录。
但是也许在这几天中,您已经知道了。