通过AL代码添加跟踪规范行



我正试图通过代码添加Tracking Spec条目;

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遍历一些代码行,检查DB中的记录是否仍然存在,直到找到删除记录的行

但可能在这么多天里你就已经明白了。

相关内容

  • 没有找到相关文章

最新更新