Browse Source

添加固定id节点相关

MaiXinRong 8 years ago
parent
commit
5813db313b
1 changed files with 5 additions and 3 deletions
  1. 5 3
      DataModules/BillsCompileDm.pas

+ 5 - 3
DataModules/BillsCompileDm.pas

@@ -392,14 +392,16 @@ begin
   begin
     if FindChild(stnCurNode, stnStdNode) <> nil then
       stnCurNode := FindChild(stnCurNode, stnStdNode)
-    else
+    else if Assigned(stnCurNode) then
     begin
       if TBillsIDTreeNode(stnCurNode).HasLedger or
           (not stnCurNode.HasChildren and TBillsIDTreeNode(stnCurNode).HasMeasure) then
         raise Exception.Create('不可添加该项目节数据!')
       else
         stnCurNode := InsertChild(stnCurNode, stnStdNode);
-    end;
+    end
+    else
+      Break;
     stnStdNode := GetTopParentNode(AStdBillsNode, AStdBillsNode.Level - iLevel);
   end;
 end;
@@ -495,7 +497,7 @@ function TBillsCompileData.IsSameNode(ANode,
   ACompareNode: TsdIDTreeNode): Boolean;
 begin
   if ANode.Rec.ValueByName('StaticID').AsInteger > 0 then
-    Result := (ANode.Rec.ValueByName('ID').AsInteger = ACompareNode.Rec.ValueByName('ID').AsInteger)
+    Result := (ANode.Rec.ValueByName('StaticID').AsInteger = ACompareNode.Rec.ValueByName('ID').AsInteger)
   else
     Result := (ANode.Rec.ValueByName('Code').AsString = ACompareNode.Rec.ValueByName('Code').AsString)
           and (ANode.Rec.ValueByName('B_Code').AsString = ACompareNode.Rec.ValueByName('B_Code').AsString)