BusinessCentral.LinterCop
BusinessCentral.LinterCop copied to clipboard
False Positive on case statements
Hello there, excellent work on the LinterCop so far, big fan! I am getting a false positive on rule LC0069 for case statement that have no empty statements. Here is the actual code.
Rec.Delivered := true;
case Rec."Order Status" of
"WC Order Status"::Open:
begin
if not WCOrderLine.Get("Order No.", "Order Line No.") then
exit;
Rec."Resource No." := WCOrderLine."Resource No.";
Rec.Tons := 0;
Rec.Price := WCOrderLine.Price;
Rec.Tax := CalcLoadAmts(WCOrderLine.Tons,
WCOrderLine."Tons per Load",
WCOrderLine.Tax,
WCOrderLine."Haul Price",
Rec.Delivered);
Rec."Tax Liable" := WCOrderLine."Tax Liable";
Rec."Tax Group Code" := WCOrderLine."Tax Group Code";
WCTIK01LoadTicketManagement.GetSourceLocationTaxAreaCode(Rec."Source Location Code", Rec."Tax Liable", Rec."Tax Area Code");
//<<WC0002
Rec."Haul Price" := WCOrderLine."Haul Price";
Rec."Delivered Price" := WCOrderLine."Delivered Price";
Rec.Cost := WCOrderLine.Cost;
Rec."Haul Cost" := WCOrderLine."Haul Cost";
Rec.Comment := WCOrderLine.Comment; //A01.00 DBJ 080108
Rec."Unit of Measure Code" := WCOrderLine."Unit of Measure Code"; //A02.00 DBJ 091108
CalcAmounts();
end;
"Order Status"::Posted:
begin
if not WCPostedOrderLines.Get("Order No.", "Order Line No.") then
exit;
Rec."Resource No." := WCPostedOrderLines."Resource No.";
Rec.Tons := 0;
Rec.Price := WCPostedOrderLines.Price;
Rec.Tax := CalcLoadAmts(WCPostedOrderLines.Tons,
WCPostedOrderLines."Tons per Load",
WCPostedOrderLines.Tax,
WCPostedOrderLines."Haul Price",
Rec.Delivered);
Rec."Tax Liable" := WCPostedOrderLines."Tax Liable";
Rec."Tax Group Code" := WCPostedOrderLines."Tax Group Code";
WCTIK01LoadTicketManagement.GetSourceLocationTaxAreaCode("Source Location Code", "Tax Liable", "Tax Area Code");
Rec."Haul Price" := WCPostedOrderLines."Haul Price";
Rec."Delivered Price" := WCPostedOrderLines."Delivered Price";
Rec.Cost := WCPostedOrderLines.Cost;
Rec."Haul Cost" := WCPostedOrderLines."Haul Cost";
Rec.Comment := WCPostedOrderLines.Comment; //A01.00 DBJ 080108
Rec."Unit of Measure Code" := WCOrderLine."Unit of Measure Code"; //A02.00 DBJ 091108
CalcAmounts();
end;
end;
Here is a screenshot showing the false positive for both these case values.