Bläddra i källkod

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

MaiXinRong 9 år sedan
förälder
incheckning
0b3dd81700
1 ändrade filer med 8 tillägg och 8 borttagningar
  1. 8 8
      DataModules/BillsCompileDm.pas

+ 8 - 8
DataModules/BillsCompileDm.pas

@@ -226,8 +226,10 @@ procedure TBillsCompileData.sdvBillsCompileAfterValueChanged(
   end;
 
 var
-  stnNode: TsdIDTreeNode;
+  stnNode: 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