unit rmGclBillsAddDm; interface uses SysUtils, Classes, ProjectData, DB, DBClient, sdIDTree, PhaseData, sdDB, StageDm; type TP_DoubleArray = array [1..100] of Double; TGclAddNode = class FB_Code: string; FIndexCode: string; FName: string; FUnits: string; FPrice: Double; FDealQuantity: Double; FDealTotalPrice: Double; FQuantity: Double; FTotalPrice: Double; FP_Quantity: TP_DoubleArray; FP_TotalPrice: TP_DoubleArray; end; TrmGclBillsAddData = class(TDataModule) cdsBills: TClientDataSet; cdsBillsB_Code: TStringField; cdsBillsIndexCode: TStringField; cdsBillsName: TWideStringField; cdsBillsUnits: TWideStringField; cdsBillsPrice: TFloatField; cdsBillsDealQuantity: TFloatField; cdsBillsDealTotalPrice: TFloatField; cdsBillsQuantity: TFloatField; cdsBillsTotalPrice: TFloatField; cdsBillsQuantity1: TFloatField; cdsBillsTotalPrice1: TFloatField; cdsBillsQuantity2: TFloatField; cdsBillsTotalPrice2: TFloatField; cdsBillsQuantity3: TFloatField; cdsBillsTotalPrice3: TFloatField; cdsBillsQuantity4: TFloatField; cdsBillsTotalPrice4: TFloatField; cdsBillsQuantity5: TFloatField; cdsBillsTotalPrice5: TFloatField; cdsBillsQuantity6: TFloatField; cdsBillsTotalPrice6: TFloatField; cdsBillsQuantity7: TFloatField; cdsBillsTotalPrice7: TFloatField; cdsBillsQuantity8: TFloatField; cdsBillsTotalPrice8: TFloatField; cdsBillsQuantity9: TFloatField; cdsBillsTotalPrice9: TFloatField; cdsBillsQuantity10: TFloatField; cdsBillsTotalPrice10: TFloatField; cdsBillsQuantity11: TFloatField; cdsBillsTotalPrice11: TFloatField; cdsBillsQuantity12: TFloatField; cdsBillsTotalPrice12: TFloatField; cdsBillsQuantity13: TFloatField; cdsBillsTotalPrice13: TFloatField; cdsBillsQuantity14: TFloatField; cdsBillsTotalPrice14: TFloatField; cdsBillsQuantity15: TFloatField; cdsBillsTotalPrice15: TFloatField; cdsBillsQuantity16: TFloatField; cdsBillsTotalPrice16: TFloatField; cdsBillsQuantity17: TFloatField; cdsBillsTotalPrice17: TFloatField; cdsBillsQuantity18: TFloatField; cdsBillsTotalPrice18: TFloatField; cdsBillsQuantity19: TFloatField; cdsBillsTotalPrice19: TFloatField; cdsBillsQuantity20: TFloatField; cdsBillsTotalPrice20: TFloatField; cdsBillsQuantity21: TFloatField; cdsBillsTotalPrice21: TFloatField; cdsBillsQuantity22: TFloatField; cdsBillsTotalPrice22: TFloatField; cdsBillsQuantity23: TFloatField; cdsBillsTotalPrice23: TFloatField; cdsBillsQuantity24: TFloatField; cdsBillsTotalPrice24: TFloatField; cdsBillsQuantity25: TFloatField; cdsBillsTotalPrice25: TFloatField; cdsBillsQuantity26: TFloatField; cdsBillsTotalPrice26: TFloatField; cdsBillsQuantity27: TFloatField; cdsBillsTotalPrice27: TFloatField; cdsBillsQuantity28: TFloatField; cdsBillsTotalPrice28: TFloatField; cdsBillsQuantity29: TFloatField; cdsBillsTotalPrice29: TFloatField; cdsBillsQuantity30: TFloatField; cdsBillsTotalPrice30: TFloatField; cdsBillsQuantity31: TFloatField; cdsBillsTotalPrice31: TFloatField; cdsBillsQuantity32: TFloatField; cdsBillsTotalPrice32: TFloatField; cdsBillsQuantity33: TFloatField; cdsBillsTotalPrice33: TFloatField; cdsBillsQuantity34: TFloatField; cdsBillsTotalPrice34: TFloatField; cdsBillsQuantity35: TFloatField; cdsBillsTotalPrice35: TFloatField; cdsBillsQuantity36: TFloatField; cdsBillsTotalPrice36: TFloatField; cdsBillsQuantity37: TFloatField; cdsBillsTotalPrice37: TFloatField; cdsBillsQuantity38: TFloatField; cdsBillsTotalPrice38: TFloatField; cdsBillsQuantity39: TFloatField; cdsBillsTotalPrice39: TFloatField; cdsBillsQuantity40: TFloatField; cdsBillsTotalPrice40: TFloatField; cdsBillsQuantity41: TFloatField; cdsBillsTotalPrice41: TFloatField; cdsBillsQuantity42: TFloatField; cdsBillsTotalPrice42: TFloatField; cdsBillsQuantity43: TFloatField; cdsBillsTotalPrice43: TFloatField; cdsBillsQuantity44: TFloatField; cdsBillsTotalPrice44: TFloatField; cdsBillsQuantity45: TFloatField; cdsBillsTotalPrice45: TFloatField; cdsBillsQuantity46: TFloatField; cdsBillsTotalPrice46: TFloatField; cdsBillsQuantity47: TFloatField; cdsBillsTotalPrice47: TFloatField; cdsBillsQuantity48: TFloatField; cdsBillsTotalPrice48: TFloatField; cdsBillsQuantity49: TFloatField; cdsBillsTotalPrice49: TFloatField; cdsBillsQuantity50: TFloatField; cdsBillsTotalPrice50: TFloatField; cdsBillsQuantity51: TFloatField; cdsBillsTotalPrice51: TFloatField; cdsBillsQuantity52: TFloatField; cdsBillsTotalPrice52: TFloatField; cdsBillsQuantity53: TFloatField; cdsBillsTotalPrice53: TFloatField; cdsBillsQuantity54: TFloatField; cdsBillsTotalPrice54: TFloatField; cdsBillsQuantity55: TFloatField; cdsBillsTotalPrice55: TFloatField; cdsBillsQuantity56: TFloatField; cdsBillsTotalPrice56: TFloatField; cdsBillsQuantity57: TFloatField; cdsBillsTotalPrice57: TFloatField; cdsBillsQuantity58: TFloatField; cdsBillsTotalPrice58: TFloatField; cdsBillsQuantity59: TFloatField; cdsBillsTotalPrice59: TFloatField; cdsBillsQuantity60: TFloatField; cdsBillsTotalPrice60: TFloatField; cdsBillsQuantity61: TFloatField; cdsBillsTotalPrice61: TFloatField; cdsBillsQuantity62: TFloatField; cdsBillsTotalPrice62: TFloatField; cdsBillsQuantity63: TFloatField; cdsBillsTotalPrice63: TFloatField; cdsBillsQuantity64: TFloatField; cdsBillsTotalPrice64: TFloatField; cdsBillsQuantity65: TFloatField; cdsBillsTotalPrice65: TFloatField; cdsBillsQuantity66: TFloatField; cdsBillsTotalPrice66: TFloatField; cdsBillsQuantity67: TFloatField; cdsBillsTotalPrice67: TFloatField; cdsBillsQuantity68: TFloatField; cdsBillsTotalPrice68: TFloatField; cdsBillsQuantity69: TFloatField; cdsBillsTotalPrice69: TFloatField; cdsBillsQuantity70: TFloatField; cdsBillsTotalPrice70: TFloatField; cdsBillsQuantity71: TFloatField; cdsBillsTotalPrice71: TFloatField; cdsBillsQuantity72: TFloatField; cdsBillsTotalPrice72: TFloatField; cdsBillsQuantity73: TFloatField; cdsBillsTotalPrice73: TFloatField; cdsBillsQuantity74: TFloatField; cdsBillsTotalPrice74: TFloatField; cdsBillsQuantity75: TFloatField; cdsBillsTotalPrice75: TFloatField; cdsBillsQuantity76: TFloatField; cdsBillsTotalPrice76: TFloatField; cdsBillsQuantity77: TFloatField; cdsBillsTotalPrice77: TFloatField; cdsBillsQuantity78: TFloatField; cdsBillsTotalPrice78: TFloatField; cdsBillsQuantity79: TFloatField; cdsBillsTotalPrice79: TFloatField; cdsBillsQuantity80: TFloatField; cdsBillsTotalPrice80: TFloatField; cdsBillsQuantity81: TFloatField; cdsBillsTotalPrice81: TFloatField; cdsBillsQuantity82: TFloatField; cdsBillsTotalPrice82: TFloatField; cdsBillsQuantity83: TFloatField; cdsBillsTotalPrice83: TFloatField; cdsBillsQuantity84: TFloatField; cdsBillsTotalPrice84: TFloatField; cdsBillsQuantity85: TFloatField; cdsBillsTotalPrice85: TFloatField; cdsBillsQuantity86: TFloatField; cdsBillsTotalPrice86: TFloatField; cdsBillsQuantity87: TFloatField; cdsBillsTotalPrice87: TFloatField; cdsBillsQuantity88: TFloatField; cdsBillsTotalPrice88: TFloatField; cdsBillsQuantity89: TFloatField; cdsBillsTotalPrice89: TFloatField; cdsBillsQuantity90: TFloatField; cdsBillsTotalPrice90: TFloatField; cdsBillsQuantity91: TFloatField; cdsBillsTotalPrice91: TFloatField; cdsBillsQuantity92: TFloatField; cdsBillsTotalPrice92: TFloatField; cdsBillsQuantity93: TFloatField; cdsBillsTotalPrice93: TFloatField; cdsBillsQuantity94: TFloatField; cdsBillsTotalPrice94: TFloatField; cdsBillsQuantity95: TFloatField; cdsBillsTotalPrice95: TFloatField; cdsBillsQuantity96: TFloatField; cdsBillsTotalPrice96: TFloatField; cdsBillsQuantity97: TFloatField; cdsBillsTotalPrice97: TFloatField; cdsBillsQuantity98: TFloatField; cdsBillsTotalPrice98: TFloatField; cdsBillsQuantity99: TFloatField; cdsBillsTotalPrice99: TFloatField; cdsBillsQuantity100: TFloatField; cdsBillsTotalPrice100: TFloatField; private FProjectData: TProjectData; FGclAddList: TList; function FindGclNode(ARec: TsdDataRecord): TGclAddNode; procedure FilterGclBills(ANode: TsdIDTreeNode); procedure FilterBills(ANode: TsdIDTreeNode); procedure LoadStageData(StageData: TStageData; APhaseIndex: Integer); procedure LoadPhaseData(APhaseIndex: Integer; AProjectData: TProjectData = nil); procedure WriteBills; public function AssignData(AProjectData: TProjectData): TDataSet; end; implementation uses ZhAPI, UtilMethods; {$R *.dfm} { TrmGclBillsAddData } function TrmGclBillsAddData.AssignData(AProjectData: TProjectData): TDataSet; var iPhase: Integer; begin FProjectData := AProjectData; FGclAddList := TList.Create; cdsBills.DisableControls; cdsBills.Active := True; cdsBills.EmptyDataSet; try FilterBills(FProjectData.BillsCompileData.BillsCompileTree.FirstNode); for iPhase := 1 to FProjectData.ProjProperties.PhaseCount do LoadPhaseData(iPhase, FProjectData); WriteBills; finally Result := cdsBills; cdsBills.EnableControls; ClearObjects(FGclAddList); FGclAddList.Free; end; end; procedure TrmGclBillsAddData.FilterBills(ANode: TsdIDTreeNode); begin if not Assigned(ANode) then Exit; if ANode.HasChildren then FilterBills(ANode.FirstChild) else FilterGclBills(ANode); FilterBills(ANode.NextSibling); end; procedure TrmGclBillsAddData.FilterGclBills(ANode: TsdIDTreeNode); function CreateGclNode(ARec: TsdDataRecord): TGclAddNode; begin Result := TGclAddNode.Create; FGclAddList.Add(Result); Result.FB_Code := ARec.ValueByName('B_Code').AsString; Result.FIndexCode := B_CodeToIndexCode(ARec.ValueByName('B_Code').AsString); Result.FName := ARec.ValueByName('Name').AsString; Result.FUnits := ARec.ValueByName('Units').AsString; Result.FPrice := ARec.ValueByName('Price').AsFloat; end; function GetGclNode(ARec: TsdDataRecord): TGclAddNode; begin Result := FindGclNode(ARec); if not Assigned(Result) then Result := CreateGclNode(ARec); end; procedure LoadDealData(AGclNode: TGclAddNode; AB_Code: string); var DealRec: TsdDataRecord; begin DealRec := TProjectData(FProjectData).DealBillsData.DealRecord(AB_Code); if Assigned(DealRec) then begin AGclNode.FDealQuantity := DealRec.ValueByName('Quantity').AsFloat; AGclNode.FDealTotalPrice := DealRec.ValueByName('TotalPrice').AsFloat; end; end; var Rec, StageRec: TsdDataRecord; GclNode: TGclAddNode; begin if not Assigned(ANode) then Exit; Rec := ANode.Rec; if Rec.ValueByName('B_Code').AsString = '' then Exit; GclNode := GetGclNode(Rec); LoadDealData(GclNode, Rec.ValueByName('B_Code').AsString); GclNode.FQuantity := GclNode.FQuantity + Rec.ValueByName('Quantity').AsFloat; GclNode.FTotalPrice := GclNode.FTotalPrice + Rec.ValueByName('TotalPrice').AsFloat; end; function TrmGclBillsAddData.FindGclNode(ARec: TsdDataRecord): TGclAddNode; var I: Integer; GclNode: TGclAddNode; begin Result := nil; for I := 0 to FGclAddList.Count - 1 do begin GclNode := TGclAddNode(FGclAddList.Items[I]); if SameText(GclNode.FB_Code, ARec.ValueByName('B_Code').AsString) and SameText(GclNode.FName, ARec.ValueByName('Name').AsString) and SameText(GclNode.FUnits, ARec.ValueByName('Units').AsString) and (GclNode.FPrice = ARec.ValueByName('Price').AsFloat) then begin Result := GclNode; Break; end; end; end; procedure TrmGclBillsAddData.LoadPhaseData(APhaseIndex: Integer; AProjectData: TProjectData); var PhaseData: TPhaseData; StageData: TStageData; begin PhaseData := TPhaseData.Create(AProjectData); try PhaseData.SimpleOpen(Format('%s\Phase%d.dat', [FProjectData.TempPath, APhaseIndex])); try StageData := TStageData.Create(PhaseData); StageData.TableName := PhaseData.StageTableName[PhaseData.AuditCount]; StageData.Open(PhaseData.ADOConnection); LoadStageData(StageData, APhaseIndex); finally StageData.Free; end; finally PhaseData.Free; end; end; procedure TrmGclBillsAddData.LoadStageData( StageData: TStageData; APhaseIndex: Integer); var i: Integer; StageRec: TsdDataRecord; stnNode: TsdIDTreeNode; GclNode: TGclAddNode; begin for i := 0 to StageData.sddStage.RecordCount - 1 do begin StageRec := StageData.sddStage.Records[i]; with FProjectData.BillsCompileData.BillsCompileTree do stnNode := FindNode(StageRec.ValueByName('BillsID').AsInteger); // 非最底层工程量清单不添加数据 if not Assigned(stnNode) or stnNode.HasChildren or (stnNode.Rec.ValueByName('B_Code').AsString = '') then Continue; GclNode := FindGclNode(stnNode.Rec); if Assigned(GclNode) then begin GclNode.FP_Quantity[APhaseIndex] := GclNode.FP_Quantity[APhaseIndex] + StageRec.ValueByName('GatherQuantity').AsFloat; GclNode.FP_TotalPrice[APhaseIndex] := GclNode.FP_TotalPrice[APhaseIndex] + StageRec.ValueByName('GatherTotalPrice').AsFloat; end; end; end; procedure TrmGclBillsAddData.WriteBills; var iGcl: Integer; GclAddNode: TGclAddNode; begin for iGcl := 0 to FGclAddList.Count - 1 do begin GclAddNode := TGclAddNode(FGclAddList.Items[iGcl]); cdsBills.Append; cdsBillsB_Code.AsString := GclAddNode.FB_Code; cdsBillsIndexCode.AsString := GclAddNode.FIndexCode; cdsBillsName.AsString := GclAddNode.FName; cdsBillsUnits.AsString := GclAddNode.FUnits; cdsBillsPrice.AsFloat := GclAddNode.FPrice; cdsBillsDealQuantity.AsFloat := GclAddNode.FDealQuantity; cdsBillsDealTotalPrice.AsFloat := GclAddNode.FDealTotalPrice; cdsBillsQuantity.AsFloat := GclAddNode.FQuantity; cdsBillsTotalPrice.AsFloat := GclAddNode.FTotalPrice; cdsBillsQuantity1.AsFloat := GclAddNode.FP_Quantity[1]; cdsBillsTotalPrice1.AsFloat := GclAddNode.FP_TotalPrice[1]; cdsBillsQuantity2.AsFloat := GclAddNode.FP_Quantity[2]; cdsBillsTotalPrice2.AsFloat := GclAddNode.FP_TotalPrice[2]; cdsBillsQuantity3.AsFloat := GclAddNode.FP_Quantity[3]; cdsBillsTotalPrice3.AsFloat := GclAddNode.FP_TotalPrice[3]; cdsBillsQuantity4.AsFloat := GclAddNode.FP_Quantity[4]; cdsBillsTotalPrice4.AsFloat := GclAddNode.FP_TotalPrice[4]; cdsBillsQuantity5.AsFloat := GclAddNode.FP_Quantity[5]; cdsBillsTotalPrice5.AsFloat := GclAddNode.FP_TotalPrice[5]; cdsBillsQuantity6.AsFloat := GclAddNode.FP_Quantity[6]; cdsBillsTotalPrice6.AsFloat := GclAddNode.FP_TotalPrice[6]; cdsBillsQuantity7.AsFloat := GclAddNode.FP_Quantity[7]; cdsBillsTotalPrice7.AsFloat := GclAddNode.FP_TotalPrice[7]; cdsBillsQuantity8.AsFloat := GclAddNode.FP_Quantity[8]; cdsBillsTotalPrice8.AsFloat := GclAddNode.FP_TotalPrice[8]; cdsBillsQuantity9.AsFloat := GclAddNode.FP_Quantity[9]; cdsBillsTotalPrice9.AsFloat := GclAddNode.FP_TotalPrice[9]; cdsBillsQuantity10.AsFloat := GclAddNode.FP_Quantity[10]; cdsBillsTotalPrice10.AsFloat := GclAddNode.FP_TotalPrice[10]; cdsBillsQuantity11.AsFloat := GclAddNode.FP_Quantity[11]; cdsBillsTotalPrice11.AsFloat := GclAddNode.FP_TotalPrice[11]; cdsBillsQuantity12.AsFloat := GclAddNode.FP_Quantity[12]; cdsBillsTotalPrice12.AsFloat := GclAddNode.FP_TotalPrice[12]; cdsBillsQuantity13.AsFloat := GclAddNode.FP_Quantity[13]; cdsBillsTotalPrice13.AsFloat := GclAddNode.FP_TotalPrice[13]; cdsBillsQuantity14.AsFloat := GclAddNode.FP_Quantity[14]; cdsBillsTotalPrice14.AsFloat := GclAddNode.FP_TotalPrice[14]; cdsBillsQuantity15.AsFloat := GclAddNode.FP_Quantity[15]; cdsBillsTotalPrice15.AsFloat := GclAddNode.FP_TotalPrice[15]; cdsBillsQuantity16.AsFloat := GclAddNode.FP_Quantity[16]; cdsBillsTotalPrice16.AsFloat := GclAddNode.FP_TotalPrice[16]; cdsBillsQuantity17.AsFloat := GclAddNode.FP_Quantity[17]; cdsBillsTotalPrice17.AsFloat := GclAddNode.FP_TotalPrice[17]; cdsBillsQuantity18.AsFloat := GclAddNode.FP_Quantity[18]; cdsBillsTotalPrice18.AsFloat := GclAddNode.FP_TotalPrice[18]; cdsBillsQuantity19.AsFloat := GclAddNode.FP_Quantity[19]; cdsBillsTotalPrice19.AsFloat := GclAddNode.FP_TotalPrice[19]; cdsBillsQuantity20.AsFloat := GclAddNode.FP_Quantity[20]; cdsBillsTotalPrice20.AsFloat := GclAddNode.FP_TotalPrice[20]; cdsBillsQuantity21.AsFloat := GclAddNode.FP_Quantity[21]; cdsBillsTotalPrice21.AsFloat := GclAddNode.FP_TotalPrice[21]; cdsBillsQuantity22.AsFloat := GclAddNode.FP_Quantity[22]; cdsBillsTotalPrice22.AsFloat := GclAddNode.FP_TotalPrice[22]; cdsBillsQuantity23.AsFloat := GclAddNode.FP_Quantity[23]; cdsBillsTotalPrice23.AsFloat := GclAddNode.FP_TotalPrice[23]; cdsBillsQuantity24.AsFloat := GclAddNode.FP_Quantity[24]; cdsBillsTotalPrice24.AsFloat := GclAddNode.FP_TotalPrice[24]; cdsBillsQuantity25.AsFloat := GclAddNode.FP_Quantity[25]; cdsBillsTotalPrice25.AsFloat := GclAddNode.FP_TotalPrice[25]; cdsBillsQuantity26.AsFloat := GclAddNode.FP_Quantity[26]; cdsBillsTotalPrice26.AsFloat := GclAddNode.FP_TotalPrice[26]; cdsBillsQuantity27.AsFloat := GclAddNode.FP_Quantity[27]; cdsBillsTotalPrice27.AsFloat := GclAddNode.FP_TotalPrice[27]; cdsBillsQuantity28.AsFloat := GclAddNode.FP_Quantity[28]; cdsBillsTotalPrice28.AsFloat := GclAddNode.FP_TotalPrice[28]; cdsBillsQuantity29.AsFloat := GclAddNode.FP_Quantity[29]; cdsBillsTotalPrice29.AsFloat := GclAddNode.FP_TotalPrice[29]; cdsBillsQuantity30.AsFloat := GclAddNode.FP_Quantity[30]; cdsBillsTotalPrice30.AsFloat := GclAddNode.FP_TotalPrice[30]; cdsBillsQuantity31.AsFloat := GclAddNode.FP_Quantity[31]; cdsBillsTotalPrice31.AsFloat := GclAddNode.FP_TotalPrice[31]; cdsBillsQuantity32.AsFloat := GclAddNode.FP_Quantity[32]; cdsBillsTotalPrice32.AsFloat := GclAddNode.FP_TotalPrice[32]; cdsBillsQuantity33.AsFloat := GclAddNode.FP_Quantity[33]; cdsBillsTotalPrice33.AsFloat := GclAddNode.FP_TotalPrice[33]; cdsBillsQuantity34.AsFloat := GclAddNode.FP_Quantity[34]; cdsBillsTotalPrice34.AsFloat := GclAddNode.FP_TotalPrice[34]; cdsBillsQuantity35.AsFloat := GclAddNode.FP_Quantity[35]; cdsBillsTotalPrice35.AsFloat := GclAddNode.FP_TotalPrice[35]; cdsBillsQuantity36.AsFloat := GclAddNode.FP_Quantity[36]; cdsBillsTotalPrice36.AsFloat := GclAddNode.FP_TotalPrice[36]; cdsBillsQuantity37.AsFloat := GclAddNode.FP_Quantity[37]; cdsBillsTotalPrice37.AsFloat := GclAddNode.FP_TotalPrice[37]; cdsBillsQuantity38.AsFloat := GclAddNode.FP_Quantity[38]; cdsBillsTotalPrice38.AsFloat := GclAddNode.FP_TotalPrice[38]; cdsBillsQuantity39.AsFloat := GclAddNode.FP_Quantity[39]; cdsBillsTotalPrice39.AsFloat := GclAddNode.FP_TotalPrice[39]; cdsBillsQuantity40.AsFloat := GclAddNode.FP_Quantity[40]; cdsBillsTotalPrice40.AsFloat := GclAddNode.FP_TotalPrice[40]; cdsBillsQuantity41.AsFloat := GclAddNode.FP_Quantity[41]; cdsBillsTotalPrice41.AsFloat := GclAddNode.FP_TotalPrice[41]; cdsBillsQuantity42.AsFloat := GclAddNode.FP_Quantity[42]; cdsBillsTotalPrice42.AsFloat := GclAddNode.FP_TotalPrice[42]; cdsBillsQuantity43.AsFloat := GclAddNode.FP_Quantity[43]; cdsBillsTotalPrice43.AsFloat := GclAddNode.FP_TotalPrice[43]; cdsBillsQuantity44.AsFloat := GclAddNode.FP_Quantity[44]; cdsBillsTotalPrice44.AsFloat := GclAddNode.FP_TotalPrice[44]; cdsBillsQuantity45.AsFloat := GclAddNode.FP_Quantity[45]; cdsBillsTotalPrice45.AsFloat := GclAddNode.FP_TotalPrice[45]; cdsBillsQuantity46.AsFloat := GclAddNode.FP_Quantity[46]; cdsBillsTotalPrice46.AsFloat := GclAddNode.FP_TotalPrice[46]; cdsBillsQuantity47.AsFloat := GclAddNode.FP_Quantity[47]; cdsBillsTotalPrice47.AsFloat := GclAddNode.FP_TotalPrice[47]; cdsBillsQuantity48.AsFloat := GclAddNode.FP_Quantity[48]; cdsBillsTotalPrice48.AsFloat := GclAddNode.FP_TotalPrice[48]; cdsBillsQuantity49.AsFloat := GclAddNode.FP_Quantity[49]; cdsBillsTotalPrice49.AsFloat := GclAddNode.FP_TotalPrice[49]; cdsBillsQuantity50.AsFloat := GclAddNode.FP_Quantity[50]; cdsBillsTotalPrice50.AsFloat := GclAddNode.FP_TotalPrice[50]; cdsBillsQuantity51.AsFloat := GclAddNode.FP_Quantity[51]; cdsBillsTotalPrice51.AsFloat := GclAddNode.FP_TotalPrice[51]; cdsBillsQuantity52.AsFloat := GclAddNode.FP_Quantity[52]; cdsBillsTotalPrice52.AsFloat := GclAddNode.FP_TotalPrice[52]; cdsBillsQuantity53.AsFloat := GclAddNode.FP_Quantity[53]; cdsBillsTotalPrice53.AsFloat := GclAddNode.FP_TotalPrice[53]; cdsBillsQuantity54.AsFloat := GclAddNode.FP_Quantity[54]; cdsBillsTotalPrice54.AsFloat := GclAddNode.FP_TotalPrice[54]; cdsBillsQuantity55.AsFloat := GclAddNode.FP_Quantity[55]; cdsBillsTotalPrice55.AsFloat := GclAddNode.FP_TotalPrice[55]; cdsBillsQuantity56.AsFloat := GclAddNode.FP_Quantity[56]; cdsBillsTotalPrice56.AsFloat := GclAddNode.FP_TotalPrice[56]; cdsBillsQuantity57.AsFloat := GclAddNode.FP_Quantity[57]; cdsBillsTotalPrice57.AsFloat := GclAddNode.FP_TotalPrice[57]; cdsBillsQuantity58.AsFloat := GclAddNode.FP_Quantity[58]; cdsBillsTotalPrice58.AsFloat := GclAddNode.FP_TotalPrice[58]; cdsBillsQuantity59.AsFloat := GclAddNode.FP_Quantity[59]; cdsBillsTotalPrice59.AsFloat := GclAddNode.FP_TotalPrice[59]; cdsBillsQuantity60.AsFloat := GclAddNode.FP_Quantity[60]; cdsBillsTotalPrice60.AsFloat := GclAddNode.FP_TotalPrice[60]; cdsBillsQuantity61.AsFloat := GclAddNode.FP_Quantity[61]; cdsBillsTotalPrice61.AsFloat := GclAddNode.FP_TotalPrice[61]; cdsBillsQuantity62.AsFloat := GclAddNode.FP_Quantity[62]; cdsBillsTotalPrice62.AsFloat := GclAddNode.FP_TotalPrice[62]; cdsBillsQuantity63.AsFloat := GclAddNode.FP_Quantity[63]; cdsBillsTotalPrice63.AsFloat := GclAddNode.FP_TotalPrice[63]; cdsBillsQuantity64.AsFloat := GclAddNode.FP_Quantity[64]; cdsBillsTotalPrice64.AsFloat := GclAddNode.FP_TotalPrice[64]; cdsBillsQuantity65.AsFloat := GclAddNode.FP_Quantity[65]; cdsBillsTotalPrice65.AsFloat := GclAddNode.FP_TotalPrice[65]; cdsBillsQuantity66.AsFloat := GclAddNode.FP_Quantity[66]; cdsBillsTotalPrice66.AsFloat := GclAddNode.FP_TotalPrice[66]; cdsBillsQuantity67.AsFloat := GclAddNode.FP_Quantity[67]; cdsBillsTotalPrice67.AsFloat := GclAddNode.FP_TotalPrice[67]; cdsBillsQuantity68.AsFloat := GclAddNode.FP_Quantity[68]; cdsBillsTotalPrice68.AsFloat := GclAddNode.FP_TotalPrice[68]; cdsBillsQuantity69.AsFloat := GclAddNode.FP_Quantity[69]; cdsBillsTotalPrice69.AsFloat := GclAddNode.FP_TotalPrice[69]; cdsBillsQuantity70.AsFloat := GclAddNode.FP_Quantity[70]; cdsBillsTotalPrice70.AsFloat := GclAddNode.FP_TotalPrice[70]; cdsBillsQuantity71.AsFloat := GclAddNode.FP_Quantity[71]; cdsBillsTotalPrice71.AsFloat := GclAddNode.FP_TotalPrice[71]; cdsBillsQuantity72.AsFloat := GclAddNode.FP_Quantity[72]; cdsBillsTotalPrice72.AsFloat := GclAddNode.FP_TotalPrice[72]; cdsBillsQuantity73.AsFloat := GclAddNode.FP_Quantity[73]; cdsBillsTotalPrice73.AsFloat := GclAddNode.FP_TotalPrice[73]; cdsBillsQuantity74.AsFloat := GclAddNode.FP_Quantity[74]; cdsBillsTotalPrice74.AsFloat := GclAddNode.FP_TotalPrice[74]; cdsBillsQuantity75.AsFloat := GclAddNode.FP_Quantity[75]; cdsBillsTotalPrice75.AsFloat := GclAddNode.FP_TotalPrice[75]; cdsBillsQuantity76.AsFloat := GclAddNode.FP_Quantity[76]; cdsBillsTotalPrice76.AsFloat := GclAddNode.FP_TotalPrice[76]; cdsBillsQuantity77.AsFloat := GclAddNode.FP_Quantity[77]; cdsBillsTotalPrice77.AsFloat := GclAddNode.FP_TotalPrice[77]; cdsBillsQuantity78.AsFloat := GclAddNode.FP_Quantity[78]; cdsBillsTotalPrice78.AsFloat := GclAddNode.FP_TotalPrice[78]; cdsBillsQuantity79.AsFloat := GclAddNode.FP_Quantity[79]; cdsBillsTotalPrice79.AsFloat := GclAddNode.FP_TotalPrice[79]; cdsBillsQuantity80.AsFloat := GclAddNode.FP_Quantity[80]; cdsBillsTotalPrice80.AsFloat := GclAddNode.FP_TotalPrice[80]; cdsBillsQuantity81.AsFloat := GclAddNode.FP_Quantity[81]; cdsBillsTotalPrice81.AsFloat := GclAddNode.FP_TotalPrice[81]; cdsBillsQuantity82.AsFloat := GclAddNode.FP_Quantity[82]; cdsBillsTotalPrice82.AsFloat := GclAddNode.FP_TotalPrice[82]; cdsBillsQuantity83.AsFloat := GclAddNode.FP_Quantity[83]; cdsBillsTotalPrice83.AsFloat := GclAddNode.FP_TotalPrice[83]; cdsBillsQuantity84.AsFloat := GclAddNode.FP_Quantity[84]; cdsBillsTotalPrice84.AsFloat := GclAddNode.FP_TotalPrice[84]; cdsBillsQuantity85.AsFloat := GclAddNode.FP_Quantity[85]; cdsBillsTotalPrice85.AsFloat := GclAddNode.FP_TotalPrice[85]; cdsBillsQuantity86.AsFloat := GclAddNode.FP_Quantity[86]; cdsBillsTotalPrice86.AsFloat := GclAddNode.FP_TotalPrice[86]; cdsBillsQuantity87.AsFloat := GclAddNode.FP_Quantity[87]; cdsBillsTotalPrice87.AsFloat := GclAddNode.FP_TotalPrice[87]; cdsBillsQuantity88.AsFloat := GclAddNode.FP_Quantity[88]; cdsBillsTotalPrice88.AsFloat := GclAddNode.FP_TotalPrice[88]; cdsBillsQuantity89.AsFloat := GclAddNode.FP_Quantity[89]; cdsBillsTotalPrice89.AsFloat := GclAddNode.FP_TotalPrice[89]; cdsBillsQuantity90.AsFloat := GclAddNode.FP_Quantity[90]; cdsBillsTotalPrice90.AsFloat := GclAddNode.FP_TotalPrice[90]; cdsBillsQuantity91.AsFloat := GclAddNode.FP_Quantity[91]; cdsBillsTotalPrice91.AsFloat := GclAddNode.FP_TotalPrice[91]; cdsBillsQuantity92.AsFloat := GclAddNode.FP_Quantity[92]; cdsBillsTotalPrice92.AsFloat := GclAddNode.FP_TotalPrice[92]; cdsBillsQuantity93.AsFloat := GclAddNode.FP_Quantity[93]; cdsBillsTotalPrice93.AsFloat := GclAddNode.FP_TotalPrice[93]; cdsBillsQuantity94.AsFloat := GclAddNode.FP_Quantity[94]; cdsBillsTotalPrice94.AsFloat := GclAddNode.FP_TotalPrice[94]; cdsBillsQuantity95.AsFloat := GclAddNode.FP_Quantity[95]; cdsBillsTotalPrice95.AsFloat := GclAddNode.FP_TotalPrice[95]; cdsBillsQuantity96.AsFloat := GclAddNode.FP_Quantity[96]; cdsBillsTotalPrice96.AsFloat := GclAddNode.FP_TotalPrice[96]; cdsBillsQuantity97.AsFloat := GclAddNode.FP_Quantity[97]; cdsBillsTotalPrice97.AsFloat := GclAddNode.FP_TotalPrice[97]; cdsBillsQuantity98.AsFloat := GclAddNode.FP_Quantity[98]; cdsBillsTotalPrice98.AsFloat := GclAddNode.FP_TotalPrice[98]; cdsBillsQuantity99.AsFloat := GclAddNode.FP_Quantity[99]; cdsBillsTotalPrice99.AsFloat := GclAddNode.FP_TotalPrice[99]; cdsBillsQuantity100.AsFloat := GclAddNode.FP_Quantity[100]; cdsBillsTotalPrice100.AsFloat := GclAddNode.FP_TotalPrice[100]; cdsBills.Post; end; end; end.