ソースを参照

BillsMeasure: OverRange Bug

MaiXinRong 8 年 前
コミット
3aaefd5ae7
1 ファイル変更9 行追加3 行削除
  1. 9 3
      Frames/BillsMeasureFme.pas

+ 9 - 3
Frames/BillsMeasureFme.pas

@@ -207,7 +207,7 @@ var
   stnNode: TMeasureBillsIDTreeNode;
   iCreatePhaseID: Integer;
   StageRec: TStageRecord;
-  fDiffer: Double;
+  fDiffer, fCompare: Double;
 begin
   AColor := clWindow;
   if ACoord.Y > stdBillsMeasure.IDTree.Count + 1 then Exit;
@@ -242,10 +242,16 @@ begin
     with stnNode.Rec do
     begin
       if CalcType.AsInteger = 0 then
-        fDiffer := QuantityRoundTo(AddDealQuantity.AsFloat - Quantity.AsFloat)
+      begin
+        fDiffer := QuantityRoundTo(AddDealQuantity.AsFloat - Quantity.AsFloat);
+        fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.Quantity.CompareValue;
+      end
       else
+      begin
         fDiffer := TotalPriceRoundTo(AddDealTotalPrice.AsFloat - TotalPrice.AsFloat);
-      if fDiffer > 0 then
+        fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.TotalPrice.CompareValue;
+      end;
+      if fDiffer > fCompare then
         AColor := $00646AFE;
     end;
   end;