| 
					
				 | 
			
			
				@@ -20,6 +20,7 @@ type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cdsSearchCurQcQuantity: TFloatField; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cdsSearchPrice: TFloatField; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cdsSearchCompleteRate: TFloatField; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cdsSearchSerialNo: TIntegerField; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure cdsSearchQuantityGetText(Sender: TField; var Text: String; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       DisplayText: Boolean); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   private 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -33,6 +34,7 @@ type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure SearchKeyword(const AKeyword: string); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure SearchOverRange; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure SearchBelowRange; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    procedure SearchRelaFile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure LocateCurrent(ALocateType: TLocateType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -140,7 +142,8 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         vNode := TMeasureBillsIDTreeNode(BillsMeasureTree.Items[iNode]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Pos(AKeyword, vNode.Rec.B_Code.AsString) > 0) or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            (Pos(AKeyword, vNode.Rec.Name.AsString) > 0) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            (Pos(AKeyword, vNode.Rec.Name.AsString) > 0) or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            (Pos(AKeyword, vNode.Rec.Code.AsString) > 0) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           AddSearchResult(vNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -212,4 +215,43 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+procedure TSearchData.SearchRelaFile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function HasRelaFile(vNode: TMeasureBillsIDTreeNode): Boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  var 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    i: Integer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Result := False; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    with TProjectData(FProjectData) do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for i := 0 to AttachmentData.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (AttachmentData[i].BillID = vNode.Rec.ID.AsInteger) and (AttachmentData[i].Phase = PhaseIndex) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          Result := True; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          Break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  i: Integer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  vNode: TMeasureBillsIDTreeNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cdsSearch.DisableControls; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cdsSearch.EmptyDataSet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    with TProjectData(FProjectData).BillsMeasureData do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for i := 0 to BillsMeasureTree.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        vNode := TMeasureBillsIDTreeNode(BillsMeasureTree.Items[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if vNode.Rec.HasAttachment.AsBoolean or HasRelaFile(vNode) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          AddSearchResult(vNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  finally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cdsSearch.EnableControls; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end. 
			 |