| 
					
				 | 
			
			
				@@ -236,7 +236,7 @@ var 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   stnNode: TMeasureBillsIDTreeNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   iCreatePhaseID: Integer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   StageRec: TStageRecord; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  fDiffer, fCompare: Double; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  fDiffer, fCompare, fDeal, fLedger: Double; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   AColor := clWindow; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if ACoord.Y > stdBillsMeasure.IDTree.Count + 1 then Exit; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -268,21 +268,67 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 叶子节点,累计合同计量超过0号台账,整行数据的底色变为暗红提示用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if TProjectData(FBillsMeasureData.ProjectData).ProjProperties.ShowOverRange and not stnNode.HasChildren then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   (* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     with stnNode.Rec do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if CalcType.AsInteger = 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fDiffer := QuantityRoundTo(AddDealQuantity.AsFloat - Quantity.AsFloat); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if Quantity.AsFloat > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := QuantityRoundTo(AddDealQuantity.AsFloat - Quantity.AsFloat) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if AddDealQuantity.AsFloat > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := QuantityRoundTo(Quantity.AsFloat - AddDealQuantity.AsFloat); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 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 TotalPrice.AsFloat > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := QuantityRoundTo(AddDealTotalPrice.AsFloat - TotalPrice.AsFloat) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if AddDealTotalPrice.AsFloat > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := QuantityRoundTo(TotalPrice.AsFloat - AddDealTotalPrice.AsFloat); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // fDiffer := TotalPriceRoundTo(TotalPrice.AsFloat - EndDealTotalPrice.AsFloat); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.TotalPrice.CompareValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if fDiffer > fCompare then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         AColor := $00646AFE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    *) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (stnNode.Rec.CalcType.AsInteger > 0) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if Assigned(stnNode.StageRec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if stnNode.Rec.Quantity.AsFloat > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := QuantityRoundTo(stnNode.StageRec.EndDealQuantity.AsFloat - stnNode.Rec.Quantity.AsFloat) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if stnNode.StageRec.EndDealQuantity.AsFloat > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := QuantityRoundTo(stnNode.Rec.Quantity.AsFloat - stnNode.StageRec.EndDealQuantity.AsFloat); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.Quantity.CompareValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fDiffer := 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if Assigned(stnNode.StageRec) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if stnNode.Rec.TotalPrice.AsFloat > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := QuantityRoundTo(stnNode.StageRec.EndDealTotalPrice.AsFloat - stnNode.Rec.TotalPrice.AsFloat) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if stnNode.StageRec.EndDealTotalPrice.AsFloat > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fDiffer := QuantityRoundTo(stnNode.Rec.TotalPrice.AsFloat - stnNode.StageRec.EndDealTotalPrice.AsFloat); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fCompare := TProjectData(FBillsMeasureData.ProjectData).ProjProperties.DecimalManager.Common.TotalPrice.CompareValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fDiffer := 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if fDiffer > fCompare then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      AColor := $00646AFE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if Assigned(stdBillsMeasure.IDTree.Selected) and (ACoord.Y = stdBillsMeasure.IDTree.Selected.MajorIndex + 2) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     AColor := $00cdfaff; 
			 |