| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431 | 
							- unit rmGclBillsAddDm;
 
- interface
 
- uses
 
-   SysUtils, Classes, ProjectData, DB, DBClient, sdIDTree,
 
-   PhaseData, sdDB, StageDm;
 
- type
 
-   TP_DoubleArray = array [1..50] 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;
 
-   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);
 
-     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);
 
-     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);
 
- var
 
-   PhaseData: TPhaseData;
 
-   StageData: TStageData;
 
- begin
 
-   PhaseData := TPhaseData.Create(nil);
 
-   try
 
-     PhaseData.SimpleOpen(Format('%s\Phase%d.dat', [FProjectData.TempPath, APhaseIndex]));
 
-     if PhaseData.IsLastStage then
 
-       LoadStageData(PhaseData.StageData, APhaseIndex)
 
-     else
 
-     begin
 
-       try
 
-         StageData := TStageData.Create(PhaseData);
 
-         StageData.TableName := PhaseData.StageTableName[PhaseData.AuditCount];
 
-         StageData.Open(PhaseData.ADOConnection);
 
-         LoadStageData(StageData, APhaseIndex);
 
-       finally
 
-         StageData.Free;
 
-       end;
 
-     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 stnNode.HasChildren or (stnNode.Rec.ValueByName('B_Code').AsString = '') then Continue;
 
-     GclNode := FindGclNode(stnNode.Rec);
 
-     if Assigned(GclNode) then
 
-     begin
 
-       GclNode.FP_Quantity[APhaseIndex] := StageRec.ValueByName('GatherQuantity').AsFloat;
 
-       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];
 
-     cdsBills.Post;
 
-   end;
 
- end;
 
- end.
 
 
  |