Explorar el Código

Bug #969 删除计量数据报错

MaiXinRong hace 9 años
padre
commit
dd91ec5ac0
Se han modificado 1 ficheros con 20 adiciones y 17 borrados
  1. 20 17
      DataModules/BillsMeasureDm.pas

+ 20 - 17
DataModules/BillsMeasureDm.pas

@@ -809,27 +809,30 @@ var
   iID: Integer;
   vNode: TBillsIDTreeNode;
 begin
-  iID := AValue.Owner.ValueByName('ID').AsInteger;
-  vNode := TBillsIDTreeNode(BillsMeasureTree.FindNode(iID));
+  if AValue.Owner.Owner.Name = 'sddBills' then
+  begin
+    iID := AValue.Owner.ValueByName('ID').AsInteger;
+    vNode := TBillsIDTreeNode(BillsMeasureTree.FindNode(iID));
 
-  if SameText(AValue.FieldName, 'Price') then
-    TProjectData(FProjectData).BillsCompileData.Calculate(iID);
+    if SameText(AValue.FieldName, 'Price') then
+      TProjectData(FProjectData).BillsCompileData.Calculate(iID);
 
-  if TProjectData(FProjectData).PhaseData.Active then
-  begin
-    if AValue.FieldName = 'Price' then
-      StageData.ReCalculate(iID);
-    if AValue.FieldName = 'NewPrice' then
-      StageData.ReCalculate(iID);
-  end;
+    if TProjectData(FProjectData).PhaseData.Active then
+    begin
+      if AValue.FieldName = 'Price' then
+        StageData.ReCalculate(iID);
+      if AValue.FieldName = 'NewPrice' then
+        StageData.ReCalculate(iID);
+    end;
 
-  if Pos('DgnQuantity1', AValue.FieldName) > 0 then
-    CalcAddDgnPrice(vNode);
+    if Pos('DgnQuantity1', AValue.FieldName) > 0 then
+      CalcAddDgnPrice(vNode);
 
-  if (AValue.FieldName = 'Code') then
-    BillsMeasureTree.RecodeChildrenCode(vNode, VarToStrDef(AValue.OldValue, ''), AValue.AsString)
-  else if (AValue.FieldName = 'B_Code') then
-    BillsMeasureTree.RecodeChildrenB_Code(vNode, VarToStrDef(AValue.OldValue, ''), AValue.AsString)
+    if (AValue.FieldName = 'Code') then
+      BillsMeasureTree.RecodeChildrenCode(vNode, VarToStrDef(AValue.OldValue, ''), AValue.AsString)
+    else if (AValue.FieldName = 'B_Code') then
+      BillsMeasureTree.RecodeChildrenB_Code(vNode, VarToStrDef(AValue.OldValue, ''), AValue.AsString);
+  end;
 end;
 
 procedure TBillsMeasureData.ExpandCurPhase;