rmGclBillsAddDm.pas 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428
  1. unit rmGclBillsAddDm;
  2. interface
  3. uses
  4. SysUtils, Classes, ProjectData, DB, DBClient, sdIDTree,
  5. PhaseData, sdDB, StageDm;
  6. type
  7. TP_DoubleArray = array [1..50] of Double;
  8. TGclAddNode = class
  9. FB_Code: string;
  10. FIndexCode: string;
  11. FName: string;
  12. FUnits: string;
  13. FPrice: Double;
  14. FDealQuantity: Double;
  15. FDealTotalPrice: Double;
  16. FQuantity: Double;
  17. FTotalPrice: Double;
  18. FP_Quantity: TP_DoubleArray;
  19. FP_TotalPrice: TP_DoubleArray;
  20. end;
  21. TrmGclBillsAddData = class(TDataModule)
  22. cdsBills: TClientDataSet;
  23. cdsBillsB_Code: TStringField;
  24. cdsBillsIndexCode: TStringField;
  25. cdsBillsName: TWideStringField;
  26. cdsBillsUnits: TWideStringField;
  27. cdsBillsPrice: TFloatField;
  28. cdsBillsDealQuantity: TFloatField;
  29. cdsBillsDealTotalPrice: TFloatField;
  30. cdsBillsQuantity: TFloatField;
  31. cdsBillsTotalPrice: TFloatField;
  32. cdsBillsQuantity1: TFloatField;
  33. cdsBillsTotalPrice1: TFloatField;
  34. cdsBillsQuantity2: TFloatField;
  35. cdsBillsTotalPrice2: TFloatField;
  36. cdsBillsQuantity3: TFloatField;
  37. cdsBillsTotalPrice3: TFloatField;
  38. cdsBillsQuantity4: TFloatField;
  39. cdsBillsTotalPrice4: TFloatField;
  40. cdsBillsQuantity5: TFloatField;
  41. cdsBillsTotalPrice5: TFloatField;
  42. cdsBillsQuantity6: TFloatField;
  43. cdsBillsTotalPrice6: TFloatField;
  44. cdsBillsQuantity7: TFloatField;
  45. cdsBillsTotalPrice7: TFloatField;
  46. cdsBillsQuantity8: TFloatField;
  47. cdsBillsTotalPrice8: TFloatField;
  48. cdsBillsQuantity9: TFloatField;
  49. cdsBillsTotalPrice9: TFloatField;
  50. cdsBillsQuantity10: TFloatField;
  51. cdsBillsTotalPrice10: TFloatField;
  52. cdsBillsQuantity11: TFloatField;
  53. cdsBillsTotalPrice11: TFloatField;
  54. cdsBillsQuantity12: TFloatField;
  55. cdsBillsTotalPrice12: TFloatField;
  56. cdsBillsQuantity13: TFloatField;
  57. cdsBillsTotalPrice13: TFloatField;
  58. cdsBillsQuantity14: TFloatField;
  59. cdsBillsTotalPrice14: TFloatField;
  60. cdsBillsQuantity15: TFloatField;
  61. cdsBillsTotalPrice15: TFloatField;
  62. cdsBillsQuantity16: TFloatField;
  63. cdsBillsTotalPrice16: TFloatField;
  64. cdsBillsQuantity17: TFloatField;
  65. cdsBillsTotalPrice17: TFloatField;
  66. cdsBillsQuantity18: TFloatField;
  67. cdsBillsTotalPrice18: TFloatField;
  68. cdsBillsQuantity19: TFloatField;
  69. cdsBillsTotalPrice19: TFloatField;
  70. cdsBillsQuantity20: TFloatField;
  71. cdsBillsTotalPrice20: TFloatField;
  72. cdsBillsQuantity21: TFloatField;
  73. cdsBillsTotalPrice21: TFloatField;
  74. cdsBillsQuantity22: TFloatField;
  75. cdsBillsTotalPrice22: TFloatField;
  76. cdsBillsQuantity23: TFloatField;
  77. cdsBillsTotalPrice23: TFloatField;
  78. cdsBillsQuantity24: TFloatField;
  79. cdsBillsTotalPrice24: TFloatField;
  80. cdsBillsQuantity25: TFloatField;
  81. cdsBillsTotalPrice25: TFloatField;
  82. cdsBillsQuantity26: TFloatField;
  83. cdsBillsTotalPrice26: TFloatField;
  84. cdsBillsQuantity27: TFloatField;
  85. cdsBillsTotalPrice27: TFloatField;
  86. cdsBillsQuantity28: TFloatField;
  87. cdsBillsTotalPrice28: TFloatField;
  88. cdsBillsQuantity29: TFloatField;
  89. cdsBillsTotalPrice29: TFloatField;
  90. cdsBillsQuantity30: TFloatField;
  91. cdsBillsTotalPrice30: TFloatField;
  92. cdsBillsQuantity31: TFloatField;
  93. cdsBillsTotalPrice31: TFloatField;
  94. cdsBillsQuantity32: TFloatField;
  95. cdsBillsTotalPrice32: TFloatField;
  96. cdsBillsQuantity33: TFloatField;
  97. cdsBillsTotalPrice33: TFloatField;
  98. cdsBillsQuantity34: TFloatField;
  99. cdsBillsTotalPrice34: TFloatField;
  100. cdsBillsQuantity35: TFloatField;
  101. cdsBillsTotalPrice35: TFloatField;
  102. cdsBillsQuantity36: TFloatField;
  103. cdsBillsTotalPrice36: TFloatField;
  104. cdsBillsQuantity37: TFloatField;
  105. cdsBillsTotalPrice37: TFloatField;
  106. cdsBillsQuantity38: TFloatField;
  107. cdsBillsTotalPrice38: TFloatField;
  108. cdsBillsQuantity39: TFloatField;
  109. cdsBillsTotalPrice39: TFloatField;
  110. cdsBillsQuantity40: TFloatField;
  111. cdsBillsTotalPrice40: TFloatField;
  112. cdsBillsQuantity41: TFloatField;
  113. cdsBillsTotalPrice41: TFloatField;
  114. cdsBillsQuantity42: TFloatField;
  115. cdsBillsTotalPrice42: TFloatField;
  116. cdsBillsQuantity43: TFloatField;
  117. cdsBillsTotalPrice43: TFloatField;
  118. cdsBillsQuantity44: TFloatField;
  119. cdsBillsTotalPrice44: TFloatField;
  120. cdsBillsQuantity45: TFloatField;
  121. cdsBillsTotalPrice45: TFloatField;
  122. cdsBillsQuantity46: TFloatField;
  123. cdsBillsTotalPrice46: TFloatField;
  124. cdsBillsQuantity47: TFloatField;
  125. cdsBillsTotalPrice47: TFloatField;
  126. cdsBillsQuantity48: TFloatField;
  127. cdsBillsTotalPrice48: TFloatField;
  128. cdsBillsQuantity49: TFloatField;
  129. cdsBillsTotalPrice49: TFloatField;
  130. cdsBillsQuantity50: TFloatField;
  131. cdsBillsTotalPrice50: TFloatField;
  132. private
  133. FProjectData: TProjectData;
  134. FGclAddList: TList;
  135. function FindGclNode(ARec: TsdDataRecord): TGclAddNode;
  136. procedure FilterGclBills(ANode: TsdIDTreeNode);
  137. procedure FilterBills(ANode: TsdIDTreeNode);
  138. procedure LoadStageData(StageData: TStageData; APhaseIndex: Integer);
  139. procedure LoadPhaseData(APhaseIndex: Integer; AProjectData: TProjectData = nil);
  140. procedure WriteBills;
  141. public
  142. function AssignData(AProjectData: TProjectData): TDataSet;
  143. end;
  144. implementation
  145. uses
  146. ZhAPI, UtilMethods;
  147. {$R *.dfm}
  148. { TrmGclBillsAddData }
  149. function TrmGclBillsAddData.AssignData(AProjectData: TProjectData): TDataSet;
  150. var
  151. iPhase: Integer;
  152. begin
  153. FProjectData := AProjectData;
  154. FGclAddList := TList.Create;
  155. cdsBills.DisableControls;
  156. cdsBills.Active := True;
  157. cdsBills.EmptyDataSet;
  158. try
  159. FilterBills(FProjectData.BillsCompileData.BillsCompileTree.FirstNode);
  160. for iPhase := 1 to FProjectData.ProjProperties.PhaseCount do
  161. LoadPhaseData(iPhase, FProjectData);
  162. WriteBills;
  163. finally
  164. Result := cdsBills;
  165. cdsBills.EnableControls;
  166. ClearObjects(FGclAddList);
  167. FGclAddList.Free;
  168. end;
  169. end;
  170. procedure TrmGclBillsAddData.FilterBills(ANode: TsdIDTreeNode);
  171. begin
  172. if not Assigned(ANode) then Exit;
  173. if ANode.HasChildren then
  174. FilterBills(ANode.FirstChild)
  175. else
  176. FilterGclBills(ANode);
  177. FilterBills(ANode.NextSibling);
  178. end;
  179. procedure TrmGclBillsAddData.FilterGclBills(ANode: TsdIDTreeNode);
  180. function CreateGclNode(ARec: TsdDataRecord): TGclAddNode;
  181. begin
  182. Result := TGclAddNode.Create;
  183. FGclAddList.Add(Result);
  184. Result.FB_Code := ARec.ValueByName('B_Code').AsString;
  185. Result.FIndexCode := B_CodeToIndexCode(ARec.ValueByName('B_Code').AsString);
  186. Result.FName := ARec.ValueByName('Name').AsString;
  187. Result.FUnits := ARec.ValueByName('Units').AsString;
  188. Result.FPrice := ARec.ValueByName('Price').AsFloat;
  189. end;
  190. function GetGclNode(ARec: TsdDataRecord): TGclAddNode;
  191. begin
  192. Result := FindGclNode(ARec);
  193. if not Assigned(Result) then
  194. Result := CreateGclNode(ARec);
  195. end;
  196. procedure LoadDealData(AGclNode: TGclAddNode; AB_Code: string);
  197. var
  198. DealRec: TsdDataRecord;
  199. begin
  200. DealRec := TProjectData(FProjectData).DealBillsData.DealRecord(AB_Code);
  201. if Assigned(DealRec) then
  202. begin
  203. AGclNode.FDealQuantity := DealRec.ValueByName('Quantity').AsFloat;
  204. AGclNode.FDealTotalPrice := DealRec.ValueByName('TotalPrice').AsFloat;
  205. end;
  206. end;
  207. var
  208. Rec, StageRec: TsdDataRecord;
  209. GclNode: TGclAddNode;
  210. begin
  211. if not Assigned(ANode) then Exit;
  212. Rec := ANode.Rec;
  213. if Rec.ValueByName('B_Code').AsString = '' then Exit;
  214. GclNode := GetGclNode(Rec);
  215. LoadDealData(GclNode, Rec.ValueByName('B_Code').AsString);
  216. GclNode.FQuantity := GclNode.FQuantity + Rec.ValueByName('Quantity').AsFloat;
  217. GclNode.FTotalPrice := GclNode.FTotalPrice + Rec.ValueByName('TotalPrice').AsFloat;
  218. end;
  219. function TrmGclBillsAddData.FindGclNode(ARec: TsdDataRecord): TGclAddNode;
  220. var
  221. I: Integer;
  222. GclNode: TGclAddNode;
  223. begin
  224. Result := nil;
  225. for I := 0 to FGclAddList.Count - 1 do
  226. begin
  227. GclNode := TGclAddNode(FGclAddList.Items[I]);
  228. if SameText(GclNode.FB_Code, ARec.ValueByName('B_Code').AsString) and
  229. SameText(GclNode.FName, ARec.ValueByName('Name').AsString) and
  230. SameText(GclNode.FUnits, ARec.ValueByName('Units').AsString) and
  231. (GclNode.FPrice = ARec.ValueByName('Price').AsFloat) then
  232. begin
  233. Result := GclNode;
  234. Break;
  235. end;
  236. end;
  237. end;
  238. procedure TrmGclBillsAddData.LoadPhaseData(APhaseIndex: Integer; AProjectData: TProjectData);
  239. var
  240. PhaseData: TPhaseData;
  241. StageData: TStageData;
  242. begin
  243. PhaseData := TPhaseData.Create(AProjectData);
  244. try
  245. PhaseData.SimpleOpen(Format('%s\Phase%d.dat', [FProjectData.TempPath, APhaseIndex]));
  246. try
  247. StageData := TStageData.Create(PhaseData);
  248. StageData.TableName := PhaseData.StageTableName[PhaseData.AuditCount];
  249. StageData.Open(PhaseData.ADOConnection);
  250. LoadStageData(StageData, APhaseIndex);
  251. finally
  252. StageData.Free;
  253. end;
  254. finally
  255. PhaseData.Free;
  256. end;
  257. end;
  258. procedure TrmGclBillsAddData.LoadStageData(
  259. StageData: TStageData; APhaseIndex: Integer);
  260. var
  261. i: Integer;
  262. StageRec: TsdDataRecord;
  263. stnNode: TsdIDTreeNode;
  264. GclNode: TGclAddNode;
  265. begin
  266. for i := 0 to StageData.sddStage.RecordCount - 1 do
  267. begin
  268. StageRec := StageData.sddStage.Records[i];
  269. with FProjectData.BillsCompileData.BillsCompileTree do
  270. stnNode := FindNode(StageRec.ValueByName('BillsID').AsInteger);
  271. // 非最底层工程量清单不添加数据
  272. if not Assigned(stnNode) or stnNode.HasChildren or
  273. (stnNode.Rec.ValueByName('B_Code').AsString = '') then
  274. Continue;
  275. GclNode := FindGclNode(stnNode.Rec);
  276. if Assigned(GclNode) then
  277. begin
  278. GclNode.FP_Quantity[APhaseIndex] := GclNode.FP_Quantity[APhaseIndex] + StageRec.ValueByName('GatherQuantity').AsFloat;
  279. GclNode.FP_TotalPrice[APhaseIndex] := GclNode.FP_TotalPrice[APhaseIndex] + StageRec.ValueByName('GatherTotalPrice').AsFloat;
  280. end;
  281. end;
  282. end;
  283. procedure TrmGclBillsAddData.WriteBills;
  284. var
  285. iGcl: Integer;
  286. GclAddNode: TGclAddNode;
  287. begin
  288. for iGcl := 0 to FGclAddList.Count - 1 do
  289. begin
  290. GclAddNode := TGclAddNode(FGclAddList.Items[iGcl]);
  291. cdsBills.Append;
  292. cdsBillsB_Code.AsString := GclAddNode.FB_Code;
  293. cdsBillsIndexCode.AsString := GclAddNode.FIndexCode;
  294. cdsBillsName.AsString := GclAddNode.FName;
  295. cdsBillsUnits.AsString := GclAddNode.FUnits;
  296. cdsBillsPrice.AsFloat := GclAddNode.FPrice;
  297. cdsBillsDealQuantity.AsFloat := GclAddNode.FDealQuantity;
  298. cdsBillsDealTotalPrice.AsFloat := GclAddNode.FDealTotalPrice;
  299. cdsBillsQuantity.AsFloat := GclAddNode.FQuantity;
  300. cdsBillsTotalPrice.AsFloat := GclAddNode.FTotalPrice;
  301. cdsBillsQuantity1.AsFloat := GclAddNode.FP_Quantity[1];
  302. cdsBillsTotalPrice1.AsFloat := GclAddNode.FP_TotalPrice[1];
  303. cdsBillsQuantity2.AsFloat := GclAddNode.FP_Quantity[2];
  304. cdsBillsTotalPrice2.AsFloat := GclAddNode.FP_TotalPrice[2];
  305. cdsBillsQuantity3.AsFloat := GclAddNode.FP_Quantity[3];
  306. cdsBillsTotalPrice3.AsFloat := GclAddNode.FP_TotalPrice[3];
  307. cdsBillsQuantity4.AsFloat := GclAddNode.FP_Quantity[4];
  308. cdsBillsTotalPrice4.AsFloat := GclAddNode.FP_TotalPrice[4];
  309. cdsBillsQuantity5.AsFloat := GclAddNode.FP_Quantity[5];
  310. cdsBillsTotalPrice5.AsFloat := GclAddNode.FP_TotalPrice[5];
  311. cdsBillsQuantity6.AsFloat := GclAddNode.FP_Quantity[6];
  312. cdsBillsTotalPrice6.AsFloat := GclAddNode.FP_TotalPrice[6];
  313. cdsBillsQuantity7.AsFloat := GclAddNode.FP_Quantity[7];
  314. cdsBillsTotalPrice7.AsFloat := GclAddNode.FP_TotalPrice[7];
  315. cdsBillsQuantity8.AsFloat := GclAddNode.FP_Quantity[8];
  316. cdsBillsTotalPrice8.AsFloat := GclAddNode.FP_TotalPrice[8];
  317. cdsBillsQuantity9.AsFloat := GclAddNode.FP_Quantity[9];
  318. cdsBillsTotalPrice9.AsFloat := GclAddNode.FP_TotalPrice[9];
  319. cdsBillsQuantity10.AsFloat := GclAddNode.FP_Quantity[10];
  320. cdsBillsTotalPrice10.AsFloat := GclAddNode.FP_TotalPrice[10];
  321. cdsBillsQuantity11.AsFloat := GclAddNode.FP_Quantity[11];
  322. cdsBillsTotalPrice11.AsFloat := GclAddNode.FP_TotalPrice[11];
  323. cdsBillsQuantity12.AsFloat := GclAddNode.FP_Quantity[12];
  324. cdsBillsTotalPrice12.AsFloat := GclAddNode.FP_TotalPrice[12];
  325. cdsBillsQuantity13.AsFloat := GclAddNode.FP_Quantity[13];
  326. cdsBillsTotalPrice13.AsFloat := GclAddNode.FP_TotalPrice[13];
  327. cdsBillsQuantity14.AsFloat := GclAddNode.FP_Quantity[14];
  328. cdsBillsTotalPrice14.AsFloat := GclAddNode.FP_TotalPrice[14];
  329. cdsBillsQuantity15.AsFloat := GclAddNode.FP_Quantity[15];
  330. cdsBillsTotalPrice15.AsFloat := GclAddNode.FP_TotalPrice[15];
  331. cdsBillsQuantity16.AsFloat := GclAddNode.FP_Quantity[16];
  332. cdsBillsTotalPrice16.AsFloat := GclAddNode.FP_TotalPrice[16];
  333. cdsBillsQuantity17.AsFloat := GclAddNode.FP_Quantity[17];
  334. cdsBillsTotalPrice17.AsFloat := GclAddNode.FP_TotalPrice[17];
  335. cdsBillsQuantity18.AsFloat := GclAddNode.FP_Quantity[18];
  336. cdsBillsTotalPrice18.AsFloat := GclAddNode.FP_TotalPrice[18];
  337. cdsBillsQuantity19.AsFloat := GclAddNode.FP_Quantity[19];
  338. cdsBillsTotalPrice19.AsFloat := GclAddNode.FP_TotalPrice[19];
  339. cdsBillsQuantity20.AsFloat := GclAddNode.FP_Quantity[20];
  340. cdsBillsTotalPrice20.AsFloat := GclAddNode.FP_TotalPrice[20];
  341. cdsBillsQuantity21.AsFloat := GclAddNode.FP_Quantity[21];
  342. cdsBillsTotalPrice21.AsFloat := GclAddNode.FP_TotalPrice[21];
  343. cdsBillsQuantity22.AsFloat := GclAddNode.FP_Quantity[22];
  344. cdsBillsTotalPrice22.AsFloat := GclAddNode.FP_TotalPrice[22];
  345. cdsBillsQuantity23.AsFloat := GclAddNode.FP_Quantity[23];
  346. cdsBillsTotalPrice23.AsFloat := GclAddNode.FP_TotalPrice[23];
  347. cdsBillsQuantity24.AsFloat := GclAddNode.FP_Quantity[24];
  348. cdsBillsTotalPrice24.AsFloat := GclAddNode.FP_TotalPrice[24];
  349. cdsBillsQuantity25.AsFloat := GclAddNode.FP_Quantity[25];
  350. cdsBillsTotalPrice25.AsFloat := GclAddNode.FP_TotalPrice[25];
  351. cdsBillsQuantity26.AsFloat := GclAddNode.FP_Quantity[26];
  352. cdsBillsTotalPrice26.AsFloat := GclAddNode.FP_TotalPrice[26];
  353. cdsBillsQuantity27.AsFloat := GclAddNode.FP_Quantity[27];
  354. cdsBillsTotalPrice27.AsFloat := GclAddNode.FP_TotalPrice[27];
  355. cdsBillsQuantity28.AsFloat := GclAddNode.FP_Quantity[28];
  356. cdsBillsTotalPrice28.AsFloat := GclAddNode.FP_TotalPrice[28];
  357. cdsBillsQuantity29.AsFloat := GclAddNode.FP_Quantity[29];
  358. cdsBillsTotalPrice29.AsFloat := GclAddNode.FP_TotalPrice[29];
  359. cdsBillsQuantity30.AsFloat := GclAddNode.FP_Quantity[30];
  360. cdsBillsTotalPrice30.AsFloat := GclAddNode.FP_TotalPrice[30];
  361. cdsBillsQuantity31.AsFloat := GclAddNode.FP_Quantity[31];
  362. cdsBillsTotalPrice31.AsFloat := GclAddNode.FP_TotalPrice[31];
  363. cdsBillsQuantity32.AsFloat := GclAddNode.FP_Quantity[32];
  364. cdsBillsTotalPrice32.AsFloat := GclAddNode.FP_TotalPrice[32];
  365. cdsBillsQuantity33.AsFloat := GclAddNode.FP_Quantity[33];
  366. cdsBillsTotalPrice33.AsFloat := GclAddNode.FP_TotalPrice[33];
  367. cdsBillsQuantity34.AsFloat := GclAddNode.FP_Quantity[34];
  368. cdsBillsTotalPrice34.AsFloat := GclAddNode.FP_TotalPrice[34];
  369. cdsBillsQuantity35.AsFloat := GclAddNode.FP_Quantity[35];
  370. cdsBillsTotalPrice35.AsFloat := GclAddNode.FP_TotalPrice[35];
  371. cdsBillsQuantity36.AsFloat := GclAddNode.FP_Quantity[36];
  372. cdsBillsTotalPrice36.AsFloat := GclAddNode.FP_TotalPrice[36];
  373. cdsBillsQuantity37.AsFloat := GclAddNode.FP_Quantity[37];
  374. cdsBillsTotalPrice37.AsFloat := GclAddNode.FP_TotalPrice[37];
  375. cdsBillsQuantity38.AsFloat := GclAddNode.FP_Quantity[38];
  376. cdsBillsTotalPrice38.AsFloat := GclAddNode.FP_TotalPrice[38];
  377. cdsBillsQuantity39.AsFloat := GclAddNode.FP_Quantity[39];
  378. cdsBillsTotalPrice39.AsFloat := GclAddNode.FP_TotalPrice[39];
  379. cdsBillsQuantity40.AsFloat := GclAddNode.FP_Quantity[40];
  380. cdsBillsTotalPrice40.AsFloat := GclAddNode.FP_TotalPrice[40];
  381. cdsBillsQuantity41.AsFloat := GclAddNode.FP_Quantity[41];
  382. cdsBillsTotalPrice41.AsFloat := GclAddNode.FP_TotalPrice[41];
  383. cdsBillsQuantity42.AsFloat := GclAddNode.FP_Quantity[42];
  384. cdsBillsTotalPrice42.AsFloat := GclAddNode.FP_TotalPrice[42];
  385. cdsBillsQuantity43.AsFloat := GclAddNode.FP_Quantity[43];
  386. cdsBillsTotalPrice43.AsFloat := GclAddNode.FP_TotalPrice[43];
  387. cdsBillsQuantity44.AsFloat := GclAddNode.FP_Quantity[44];
  388. cdsBillsTotalPrice44.AsFloat := GclAddNode.FP_TotalPrice[44];
  389. cdsBillsQuantity45.AsFloat := GclAddNode.FP_Quantity[45];
  390. cdsBillsTotalPrice45.AsFloat := GclAddNode.FP_TotalPrice[45];
  391. cdsBillsQuantity46.AsFloat := GclAddNode.FP_Quantity[46];
  392. cdsBillsTotalPrice46.AsFloat := GclAddNode.FP_TotalPrice[46];
  393. cdsBillsQuantity47.AsFloat := GclAddNode.FP_Quantity[47];
  394. cdsBillsTotalPrice47.AsFloat := GclAddNode.FP_TotalPrice[47];
  395. cdsBillsQuantity48.AsFloat := GclAddNode.FP_Quantity[48];
  396. cdsBillsTotalPrice48.AsFloat := GclAddNode.FP_TotalPrice[48];
  397. cdsBillsQuantity49.AsFloat := GclAddNode.FP_Quantity[49];
  398. cdsBillsTotalPrice49.AsFloat := GclAddNode.FP_TotalPrice[49];
  399. cdsBillsQuantity50.AsFloat := GclAddNode.FP_Quantity[50];
  400. cdsBillsTotalPrice50.AsFloat := GclAddNode.FP_TotalPrice[50];
  401. cdsBills.Post;
  402. end;
  403. end;
  404. end.