|
@@ -72,6 +72,8 @@ type
|
|
|
|
|
|
function FindNodeWithZJJL(ANode: TsdIDTreeNode): TsdIDTreeNode;
|
|
function FindNodeWithZJJL(ANode: TsdIDTreeNode): TsdIDTreeNode;
|
|
|
|
|
|
|
|
+ procedure CalcMeasureFilter(ANode: TsdIDTreeNode);
|
|
|
|
+
|
|
// 计算 修改各期原报审核数据时,需对累计数据做增量
|
|
// 计算 修改各期原报审核数据时,需对累计数据做增量
|
|
procedure UpdateRecordDeal(ABillsID: Integer; AQuantity, ATotalPrice: Double);
|
|
procedure UpdateRecordDeal(ABillsID: Integer; AQuantity, ATotalPrice: Double);
|
|
procedure UpdateRecordQc(ABillsID: Integer; AQuantity, ATotalPrice: Double);
|
|
procedure UpdateRecordQc(ABillsID: Integer; AQuantity, ATotalPrice: Double);
|
|
@@ -819,11 +821,11 @@ var
|
|
iID: Integer;
|
|
iID: Integer;
|
|
vNode: TBillsIDTreeNode;
|
|
vNode: TBillsIDTreeNode;
|
|
begin
|
|
begin
|
|
|
|
+ iID := AValue.Owner.ValueByName('ID').AsInteger;
|
|
|
|
+ vNode := TBillsIDTreeNode(BillsMeasureTree.FindNode(iID));
|
|
|
|
+
|
|
if AValue.Owner.Owner.Name = 'sddBills' then
|
|
if AValue.Owner.Owner.Name = 'sddBills' then
|
|
begin
|
|
begin
|
|
- iID := AValue.Owner.ValueByName('ID').AsInteger;
|
|
|
|
- vNode := TBillsIDTreeNode(BillsMeasureTree.FindNode(iID));
|
|
|
|
-
|
|
|
|
if SameText(AValue.FieldName, 'Price') then
|
|
if SameText(AValue.FieldName, 'Price') then
|
|
TProjectData(FProjectData).BillsCompileData.Calculate(iID);
|
|
TProjectData(FProjectData).BillsCompileData.Calculate(iID);
|
|
|
|
|
|
@@ -1219,4 +1221,21 @@ begin
|
|
Result := TProjectData(FProjectData).ProjProperties.DecimalManager.Common;
|
|
Result := TProjectData(FProjectData).ProjProperties.DecimalManager.Common;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TBillsMeasureData.CalcMeasureFilter(ANode: TsdIDTreeNode);
|
|
|
|
+var
|
|
|
|
+ i: Integer;
|
|
|
|
+ vNode: TMeasureBillsIDTreeNode;
|
|
|
|
+begin
|
|
|
|
+ if not Assigned(ANode) then Exit;
|
|
|
|
+
|
|
|
|
+ for i := 0 to ANode.ChildCount - 1 do
|
|
|
|
+ CalcMeasureFilter(ANode.ChildNodes[i]);
|
|
|
|
+
|
|
|
|
+ vNode := TMeasureBillsIDTreeNode(ANode);
|
|
|
|
+ vNode.Rec.HisHasMeasure.AsBoolean := vNode.Rec.HisHasMeasure.AsBoolean or vNode.Rec.CurHasMeasure.AsBoolean;
|
|
|
|
+ vNode.Rec.CurHasMeasure.AsBoolean := False;
|
|
|
|
+
|
|
|
|
+ CalcMeasureFilter(ANode.NextSibling);
|
|
|
|
+end;
|
|
|
|
+
|
|
end.
|
|
end.
|