Browse Source

变更令调用问题

MaiXinRong 3 năm trước cách đây
mục cha
commit
e18f6ebbcc
1 tập tin đã thay đổi với 7 bổ sung4 xóa
  1. 7 4
      DataModules/BGLDm.pas

+ 7 - 4
DataModules/BGLDm.pas

@@ -134,7 +134,7 @@ type
     function CheckBGLUsed(ABGID: Integer): Boolean;
 
     function LocateBGL(const ACode: string): Boolean;
-    function LocateBGBills(ABGID: Integer; const AB_Code: string): Boolean;
+    function LocateBGBills(ABGID: Integer; const AB_Code, AName, AUnit: string; APrice: Double): Boolean;
     function GetTotalPrice: Double;
     function GetEndTotalPrice(AEndPhase: Integer): Double;
   public
@@ -391,7 +391,7 @@ var
 begin
   for I := 0 to ABGLInfo.Count - 1 do
     if LocateBGL(ABGLInfo.Codes[I]) and
-        LocateBGBills(cdsBGLID.AsInteger, ABGLInfo.B_Code) then
+        LocateBGBills(cdsBGLID.AsInteger, ABGLInfo.B_Code, ABGLInfo.Name, ABGLInfo.Units, ABGLInfo.Price) then
     begin
       cdsBGBills.Edit;
       fNum := QuantityRoundTo(StrToFloatDef(ABGLInfo.Nums[I], 0));
@@ -670,14 +670,17 @@ begin
 end;
 
 function TBGLData.LocateBGBills(ABGID: Integer;
-  const AB_Code: string): Boolean;
+  const AB_Code, AName, AUnit: string; APrice: Double): Boolean;
 begin
   Result := False;
   cdsBGBills.First;
   while (not cdsBGBills.Eof) do
   begin
     if (cdsBGBillsBGID.AsInteger = ABGID) and
-       SameText(cdsBGBillsB_Code.AsString, AB_Code) then
+       SameText(cdsBGBillsB_Code.AsString, AB_Code) and
+       SameText(cdsBGBillsName.AsString, AName) and
+       SameText(cdsBGBillsUnits.AsString, AUnit) and
+       (PriceRoundTo(cdsBGBillsPrice.AsFloat - APrice) = 0) then
     begin
       Result := True;
       Break;