|
@@ -150,6 +150,15 @@ begin
|
|
|
end;
|
|
|
|
|
|
procedure TSearchData.SearchOverRange;
|
|
|
+
|
|
|
+ function CheckOverRange(ANode: TMeasureBillsIDTreeNode): Boolean;
|
|
|
+ begin
|
|
|
+ if ANode.Rec.CalcType.AsInteger = 0 then
|
|
|
+ Result := ANode.Rec.Quantity.AsFloat < ANode.Rec.AddDealQuantity.AsFloat
|
|
|
+ else
|
|
|
+ Result := ANode.Rec.TotalPrice.AsFloat < ANode.Rec.AddDealTotalPrice.AsFloat;
|
|
|
+ end;
|
|
|
+
|
|
|
var
|
|
|
i: Integer;
|
|
|
vNode: TMeasureBillsIDTreeNode;
|
|
@@ -162,9 +171,8 @@ begin
|
|
|
for i := 0 to BillsMeasureTree.Count - 1 do
|
|
|
begin
|
|
|
vNode := TMeasureBillsIDTreeNode(BillsMeasureTree.Items[i]);
|
|
|
- if not vNode.HasChildren then
|
|
|
- if vNode.Rec.Quantity.AsFloat < vNode.Rec.AddDealQuantity.AsFloat then
|
|
|
- AddSearchResult(vNode);
|
|
|
+ if not vNode.HasChildren and CheckOverRange(vNode) then
|
|
|
+ AddSearchResult(vNode);
|
|
|
end;
|
|
|
end;
|
|
|
finally
|