|
@@ -63,20 +63,12 @@ type
|
|
|
procedure DoOnReCalcNode(ANode: TsdIDTreeNode); overload; virtual; abstract;
|
|
|
end;
|
|
|
|
|
|
- TCompileBillsIDTreeNode = class(TBillsIDTreeNode)
|
|
|
- public
|
|
|
- function UpLevel: Boolean; override;
|
|
|
- function DownLevel: Boolean; override;
|
|
|
- end;
|
|
|
-
|
|
|
TCompileBillsIDTree = class(TBillsIDTree)
|
|
|
private
|
|
|
FOnReCalcNode: TReCalculateNode;
|
|
|
- protected
|
|
|
- function CreateItem: TsdIDTreeNode; override;
|
|
|
public
|
|
|
- procedure DoOnReCalcNode(AID: Integer); overload;
|
|
|
- procedure DoOnReCalcNode(ANode: TsdIDTreeNode); overload;
|
|
|
+ procedure DoOnReCalcNode(AID: Integer); overload; override;
|
|
|
+ procedure DoOnReCalcNode(ANode: TsdIDTreeNode); overload; override;
|
|
|
|
|
|
property OnReCalcNode: TReCalculateNode read FOnReCalcNode write FOnReCalcNode;
|
|
|
end;
|
|
@@ -98,8 +90,8 @@ type
|
|
|
protected
|
|
|
function CreateItem: TsdIDTreeNode; override;
|
|
|
public
|
|
|
- procedure DoOnReCalcNode(AID: Integer); overload;
|
|
|
- procedure DoOnReCalcNode(ANode: TsdIDTreeNode); overload;
|
|
|
+ procedure DoOnReCalcNode(AID: Integer); overload; override;
|
|
|
+ procedure DoOnReCalcNode(ANode: TsdIDTreeNode); overload; override;
|
|
|
|
|
|
property CompileTree: TCompileBillsIDTree read FCompileTree write FCompileTree;
|
|
|
end;
|
|
@@ -207,7 +199,10 @@ begin
|
|
|
end;
|
|
|
|
|
|
function TBillsIDTreeNode.DownLevel: Boolean;
|
|
|
+var
|
|
|
+ iOrgParentID: Integer;
|
|
|
begin
|
|
|
+ iOrgParentID := ParentID;
|
|
|
Result := inherited DownLevel;
|
|
|
|
|
|
if not Result then Exit;
|
|
@@ -220,6 +215,9 @@ begin
|
|
|
Parent.Rec.ValueByName('Quantity').AsFloat := 0;
|
|
|
Parent.Rec.ValueByName('Price').AsFloat := 0;
|
|
|
end;
|
|
|
+
|
|
|
+ TBillsIDTree(Owner).DoOnReCalcNode(ParentID);
|
|
|
+ TBillsIDTree(Owner).DoOnReCalcNode(iOrgParentID);
|
|
|
end;
|
|
|
|
|
|
function TBillsIDTreeNode.GetRec: TBillsRecord;
|
|
@@ -278,7 +276,10 @@ begin
|
|
|
end;
|
|
|
|
|
|
function TBillsIDTreeNode.UpLevel: Boolean;
|
|
|
+var
|
|
|
+ iOrgParentID: Integer;
|
|
|
begin
|
|
|
+ iOrgParentID := ParentID;
|
|
|
Result := inherited UpLevel;
|
|
|
|
|
|
if not Result then Exit;
|
|
@@ -291,6 +292,9 @@ begin
|
|
|
Rec.ValueByName('Quantity').AsFloat := 0;
|
|
|
Rec.ValueByName('Price').AsFloat := 0;
|
|
|
end;
|
|
|
+
|
|
|
+ TBillsIDTree(Owner).DoOnReCalcNode(iOrgParentID);
|
|
|
+ TBillsIDTree(Owner).DoOnReCalcNode(ParentID);
|
|
|
end;
|
|
|
|
|
|
{ TEstimateIDTreeNode }
|
|
@@ -328,11 +332,6 @@ begin
|
|
|
FOnReCalcNode(AID);
|
|
|
end;
|
|
|
|
|
|
-function TCompileBillsIDTree.CreateItem: TsdIDTreeNode;
|
|
|
-begin
|
|
|
- Result := TCompileBillsIDTreeNode.Create(Self);
|
|
|
-end;
|
|
|
-
|
|
|
procedure TCompileBillsIDTree.DoOnReCalcNode(ANode: TsdIDTreeNode);
|
|
|
begin
|
|
|
if Assigned(ANode) then
|
|
@@ -358,32 +357,6 @@ begin
|
|
|
FCompileTree.DoOnReCalcNode(ANode);
|
|
|
end;
|
|
|
|
|
|
-{ TCompileBillsIDTreeNode }
|
|
|
-
|
|
|
-function TCompileBillsIDTreeNode.DownLevel: Boolean;
|
|
|
-var
|
|
|
- iOrgParentID: Integer;
|
|
|
-begin
|
|
|
- iOrgParentID := ParentID;
|
|
|
- Result := inherited DownLevel;
|
|
|
-
|
|
|
- if not Result then Exit;
|
|
|
- TCompileBillsIDTree(Owner).DoOnReCalcNode(ParentID);
|
|
|
- TCompileBillsIDTree(Owner).DoOnReCalcNode(iOrgParentID);
|
|
|
-end;
|
|
|
-
|
|
|
-function TCompileBillsIDTreeNode.UpLevel: Boolean;
|
|
|
-var
|
|
|
- iOrgParentID: Integer;
|
|
|
-begin
|
|
|
- iOrgParentID := ParentID;
|
|
|
- Result := inherited UpLevel;
|
|
|
-
|
|
|
- if not Result then Exit;
|
|
|
- TCompileBillsIDTree(Owner).DoOnReCalcNode(iOrgParentID);
|
|
|
- TCompileBillsIDTree(Owner).DoOnReCalcNode(ParentID);
|
|
|
-end;
|
|
|
-
|
|
|
{ TMeasureBillsIDTreeNode }
|
|
|
|
|
|
function TMeasureBillsIDTreeNode.DownLevel: Boolean;
|