Procházet zdrojové kódy

Bug #891 输入设计数量1后,不应重新计算金额

MaiXinRong před 9 roky
rodič
revize
02c02d7ebc
1 změnil soubory, kde provedl 8 přidání a 8 odebrání
  1. 8 8
      DataModules/BillsCompileDm.pas

+ 8 - 8
DataModules/BillsCompileDm.pas

@@ -226,8 +226,10 @@ procedure TBillsCompileData.sdvBillsCompileAfterValueChanged(
   end;
 
 var
-  stnNode: TsdIDTreeNode;
+  vNode: TBillsIDTreeNode;
 begin
+  vNode := TBillsIDTreeNode(BillsCompileTree.FindNode(AValue.Owner.ValueByName('ID').AsInteger));
+
   if SameText(AValue.FieldName, 'OrgQuantity') or
       SameText(AValue.FieldName, 'OrgTotalPrice') then
     CalculateOrg(AValue.Owner.ValueByName('ID').AsInteger)
@@ -237,15 +239,13 @@ begin
   else if SameText(AValue.FieldName, 'OthQuantity') or
       SameText(AValue.FieldName, 'OthTotalPrice') then
     CalculateOth(AValue.Owner.ValueByName('ID').AsInteger)
-  else if SameText(AValue.FieldName, 'Price') or
-      SameText(AValue.FieldName, 'DgnQuantity1') then
-    CalculateTotal(AValue.Owner.ValueByName('ID').AsInteger);
+  else if SameText(AValue.FieldName, 'Price') then
+    CalculateTotal(AValue.Owner.ValueByName('ID').AsInteger)
+  else if SameText(AValue.FieldName, 'DgnQuantity1') then
+    CalculateDesignPrice(vNode);
 
   if (AValue.FieldName = 'LockedInfo') then
-  begin
-    stnNode := BillsCompileTree.FindNode(AValue.Owner.ValueByName('ID').AsInteger);
-    ResetChildrenLockedInfo(stnNode, AValue.AsBoolean);
-  end;
+    ResetChildrenLockedInfo(vNode, AValue.AsBoolean);
 
   if (AValue.FieldName = 'B_Code') then
   begin