rmGclBillsAddDm.pas 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  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);
  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);
  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);
  239. var
  240. PhaseData: TPhaseData;
  241. StageData: TStageData;
  242. begin
  243. PhaseData := TPhaseData.Create(nil);
  244. try
  245. PhaseData.SimpleOpen(Format('%s\Phase%d.dat', [FProjectData.TempPath, APhaseIndex]));
  246. if PhaseData.IsLastStage then
  247. LoadStageData(PhaseData.StageData, APhaseIndex)
  248. else
  249. begin
  250. try
  251. StageData := TStageData.Create(PhaseData);
  252. StageData.TableName := PhaseData.StageTableName[PhaseData.AuditCount];
  253. StageData.Open(PhaseData.ADOConnection);
  254. LoadStageData(StageData, APhaseIndex);
  255. finally
  256. StageData.Free;
  257. end;
  258. end;
  259. finally
  260. PhaseData.Free;
  261. end;
  262. end;
  263. procedure TrmGclBillsAddData.LoadStageData(
  264. StageData: TStageData; APhaseIndex: Integer);
  265. var
  266. i: Integer;
  267. StageRec: TsdDataRecord;
  268. stnNode: TsdIDTreeNode;
  269. GclNode: TGclAddNode;
  270. begin
  271. for i := 0 to StageData.sddStage.RecordCount - 1 do
  272. begin
  273. StageRec := StageData.sddStage.Records[i];
  274. with FProjectData.BillsCompileData.BillsCompileTree do
  275. stnNode := FindNode(StageRec.ValueByName('BillsID').AsInteger);
  276. // 非最底层工程量清单不添加数据
  277. if stnNode.HasChildren or (stnNode.Rec.ValueByName('B_Code').AsString = '') then Continue;
  278. GclNode := FindGclNode(stnNode.Rec);
  279. if Assigned(GclNode) then
  280. begin
  281. GclNode.FP_Quantity[APhaseIndex] := StageRec.ValueByName('GatherQuantity').AsFloat;
  282. GclNode.FP_TotalPrice[APhaseIndex] := StageRec.ValueByName('GatherTotalPrice').AsFloat;
  283. end;
  284. end;
  285. end;
  286. procedure TrmGclBillsAddData.WriteBills;
  287. var
  288. iGcl: Integer;
  289. GclAddNode: TGclAddNode;
  290. begin
  291. for iGcl := 0 to FGclAddList.Count - 1 do
  292. begin
  293. GclAddNode := TGclAddNode(FGclAddList.Items[iGcl]);
  294. cdsBills.Append;
  295. cdsBillsB_Code.AsString := GclAddNode.FB_Code;
  296. cdsBillsIndexCode.AsString := GclAddNode.FIndexCode;
  297. cdsBillsName.AsString := GclAddNode.FName;
  298. cdsBillsUnits.AsString := GclAddNode.FUnits;
  299. cdsBillsPrice.AsFloat := GclAddNode.FPrice;
  300. cdsBillsDealQuantity.AsFloat := GclAddNode.FDealQuantity;
  301. cdsBillsDealTotalPrice.AsFloat := GclAddNode.FDealTotalPrice;
  302. cdsBillsQuantity.AsFloat := GclAddNode.FQuantity;
  303. cdsBillsTotalPrice.AsFloat := GclAddNode.FTotalPrice;
  304. cdsBillsQuantity1.AsFloat := GclAddNode.FP_Quantity[1];
  305. cdsBillsTotalPrice1.AsFloat := GclAddNode.FP_TotalPrice[1];
  306. cdsBillsQuantity2.AsFloat := GclAddNode.FP_Quantity[2];
  307. cdsBillsTotalPrice2.AsFloat := GclAddNode.FP_TotalPrice[2];
  308. cdsBillsQuantity3.AsFloat := GclAddNode.FP_Quantity[3];
  309. cdsBillsTotalPrice3.AsFloat := GclAddNode.FP_TotalPrice[3];
  310. cdsBillsQuantity4.AsFloat := GclAddNode.FP_Quantity[4];
  311. cdsBillsTotalPrice4.AsFloat := GclAddNode.FP_TotalPrice[4];
  312. cdsBillsQuantity5.AsFloat := GclAddNode.FP_Quantity[5];
  313. cdsBillsTotalPrice5.AsFloat := GclAddNode.FP_TotalPrice[5];
  314. cdsBillsQuantity6.AsFloat := GclAddNode.FP_Quantity[6];
  315. cdsBillsTotalPrice6.AsFloat := GclAddNode.FP_TotalPrice[6];
  316. cdsBillsQuantity7.AsFloat := GclAddNode.FP_Quantity[7];
  317. cdsBillsTotalPrice7.AsFloat := GclAddNode.FP_TotalPrice[7];
  318. cdsBillsQuantity8.AsFloat := GclAddNode.FP_Quantity[8];
  319. cdsBillsTotalPrice8.AsFloat := GclAddNode.FP_TotalPrice[8];
  320. cdsBillsQuantity9.AsFloat := GclAddNode.FP_Quantity[9];
  321. cdsBillsTotalPrice9.AsFloat := GclAddNode.FP_TotalPrice[9];
  322. cdsBillsQuantity10.AsFloat := GclAddNode.FP_Quantity[10];
  323. cdsBillsTotalPrice10.AsFloat := GclAddNode.FP_TotalPrice[10];
  324. cdsBillsQuantity11.AsFloat := GclAddNode.FP_Quantity[11];
  325. cdsBillsTotalPrice11.AsFloat := GclAddNode.FP_TotalPrice[11];
  326. cdsBillsQuantity12.AsFloat := GclAddNode.FP_Quantity[12];
  327. cdsBillsTotalPrice12.AsFloat := GclAddNode.FP_TotalPrice[12];
  328. cdsBillsQuantity13.AsFloat := GclAddNode.FP_Quantity[13];
  329. cdsBillsTotalPrice13.AsFloat := GclAddNode.FP_TotalPrice[13];
  330. cdsBillsQuantity14.AsFloat := GclAddNode.FP_Quantity[14];
  331. cdsBillsTotalPrice14.AsFloat := GclAddNode.FP_TotalPrice[14];
  332. cdsBillsQuantity15.AsFloat := GclAddNode.FP_Quantity[15];
  333. cdsBillsTotalPrice15.AsFloat := GclAddNode.FP_TotalPrice[15];
  334. cdsBillsQuantity16.AsFloat := GclAddNode.FP_Quantity[16];
  335. cdsBillsTotalPrice16.AsFloat := GclAddNode.FP_TotalPrice[16];
  336. cdsBillsQuantity17.AsFloat := GclAddNode.FP_Quantity[17];
  337. cdsBillsTotalPrice17.AsFloat := GclAddNode.FP_TotalPrice[17];
  338. cdsBillsQuantity18.AsFloat := GclAddNode.FP_Quantity[18];
  339. cdsBillsTotalPrice18.AsFloat := GclAddNode.FP_TotalPrice[18];
  340. cdsBillsQuantity19.AsFloat := GclAddNode.FP_Quantity[19];
  341. cdsBillsTotalPrice19.AsFloat := GclAddNode.FP_TotalPrice[19];
  342. cdsBillsQuantity20.AsFloat := GclAddNode.FP_Quantity[20];
  343. cdsBillsTotalPrice20.AsFloat := GclAddNode.FP_TotalPrice[20];
  344. cdsBillsQuantity21.AsFloat := GclAddNode.FP_Quantity[21];
  345. cdsBillsTotalPrice21.AsFloat := GclAddNode.FP_TotalPrice[21];
  346. cdsBillsQuantity22.AsFloat := GclAddNode.FP_Quantity[22];
  347. cdsBillsTotalPrice22.AsFloat := GclAddNode.FP_TotalPrice[22];
  348. cdsBillsQuantity23.AsFloat := GclAddNode.FP_Quantity[23];
  349. cdsBillsTotalPrice23.AsFloat := GclAddNode.FP_TotalPrice[23];
  350. cdsBillsQuantity24.AsFloat := GclAddNode.FP_Quantity[24];
  351. cdsBillsTotalPrice24.AsFloat := GclAddNode.FP_TotalPrice[24];
  352. cdsBillsQuantity25.AsFloat := GclAddNode.FP_Quantity[25];
  353. cdsBillsTotalPrice25.AsFloat := GclAddNode.FP_TotalPrice[25];
  354. cdsBillsQuantity26.AsFloat := GclAddNode.FP_Quantity[26];
  355. cdsBillsTotalPrice26.AsFloat := GclAddNode.FP_TotalPrice[26];
  356. cdsBillsQuantity27.AsFloat := GclAddNode.FP_Quantity[27];
  357. cdsBillsTotalPrice27.AsFloat := GclAddNode.FP_TotalPrice[27];
  358. cdsBillsQuantity28.AsFloat := GclAddNode.FP_Quantity[28];
  359. cdsBillsTotalPrice28.AsFloat := GclAddNode.FP_TotalPrice[28];
  360. cdsBillsQuantity29.AsFloat := GclAddNode.FP_Quantity[29];
  361. cdsBillsTotalPrice29.AsFloat := GclAddNode.FP_TotalPrice[29];
  362. cdsBillsQuantity30.AsFloat := GclAddNode.FP_Quantity[30];
  363. cdsBillsTotalPrice30.AsFloat := GclAddNode.FP_TotalPrice[30];
  364. cdsBillsQuantity31.AsFloat := GclAddNode.FP_Quantity[31];
  365. cdsBillsTotalPrice31.AsFloat := GclAddNode.FP_TotalPrice[31];
  366. cdsBillsQuantity32.AsFloat := GclAddNode.FP_Quantity[32];
  367. cdsBillsTotalPrice32.AsFloat := GclAddNode.FP_TotalPrice[32];
  368. cdsBillsQuantity33.AsFloat := GclAddNode.FP_Quantity[33];
  369. cdsBillsTotalPrice33.AsFloat := GclAddNode.FP_TotalPrice[33];
  370. cdsBillsQuantity34.AsFloat := GclAddNode.FP_Quantity[34];
  371. cdsBillsTotalPrice34.AsFloat := GclAddNode.FP_TotalPrice[34];
  372. cdsBillsQuantity35.AsFloat := GclAddNode.FP_Quantity[35];
  373. cdsBillsTotalPrice35.AsFloat := GclAddNode.FP_TotalPrice[35];
  374. cdsBillsQuantity36.AsFloat := GclAddNode.FP_Quantity[36];
  375. cdsBillsTotalPrice36.AsFloat := GclAddNode.FP_TotalPrice[36];
  376. cdsBillsQuantity37.AsFloat := GclAddNode.FP_Quantity[37];
  377. cdsBillsTotalPrice37.AsFloat := GclAddNode.FP_TotalPrice[37];
  378. cdsBillsQuantity38.AsFloat := GclAddNode.FP_Quantity[38];
  379. cdsBillsTotalPrice38.AsFloat := GclAddNode.FP_TotalPrice[38];
  380. cdsBillsQuantity39.AsFloat := GclAddNode.FP_Quantity[39];
  381. cdsBillsTotalPrice39.AsFloat := GclAddNode.FP_TotalPrice[39];
  382. cdsBillsQuantity40.AsFloat := GclAddNode.FP_Quantity[40];
  383. cdsBillsTotalPrice40.AsFloat := GclAddNode.FP_TotalPrice[40];
  384. cdsBillsQuantity41.AsFloat := GclAddNode.FP_Quantity[41];
  385. cdsBillsTotalPrice41.AsFloat := GclAddNode.FP_TotalPrice[41];
  386. cdsBillsQuantity42.AsFloat := GclAddNode.FP_Quantity[42];
  387. cdsBillsTotalPrice42.AsFloat := GclAddNode.FP_TotalPrice[42];
  388. cdsBillsQuantity43.AsFloat := GclAddNode.FP_Quantity[43];
  389. cdsBillsTotalPrice43.AsFloat := GclAddNode.FP_TotalPrice[43];
  390. cdsBillsQuantity44.AsFloat := GclAddNode.FP_Quantity[44];
  391. cdsBillsTotalPrice44.AsFloat := GclAddNode.FP_TotalPrice[44];
  392. cdsBillsQuantity45.AsFloat := GclAddNode.FP_Quantity[45];
  393. cdsBillsTotalPrice45.AsFloat := GclAddNode.FP_TotalPrice[45];
  394. cdsBillsQuantity46.AsFloat := GclAddNode.FP_Quantity[46];
  395. cdsBillsTotalPrice46.AsFloat := GclAddNode.FP_TotalPrice[46];
  396. cdsBillsQuantity47.AsFloat := GclAddNode.FP_Quantity[47];
  397. cdsBillsTotalPrice47.AsFloat := GclAddNode.FP_TotalPrice[47];
  398. cdsBillsQuantity48.AsFloat := GclAddNode.FP_Quantity[48];
  399. cdsBillsTotalPrice48.AsFloat := GclAddNode.FP_TotalPrice[48];
  400. cdsBillsQuantity49.AsFloat := GclAddNode.FP_Quantity[49];
  401. cdsBillsTotalPrice49.AsFloat := GclAddNode.FP_TotalPrice[49];
  402. cdsBillsQuantity50.AsFloat := GclAddNode.FP_Quantity[50];
  403. cdsBillsTotalPrice50.AsFloat := GclAddNode.FP_TotalPrice[50];
  404. cdsBills.Post;
  405. end;
  406. end;
  407. end.