rmGclBillsAddDm.pas 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628
  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..100] 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. cdsBillsQuantity51: TFloatField;
  133. cdsBillsTotalPrice51: TFloatField;
  134. cdsBillsQuantity52: TFloatField;
  135. cdsBillsTotalPrice52: TFloatField;
  136. cdsBillsQuantity53: TFloatField;
  137. cdsBillsTotalPrice53: TFloatField;
  138. cdsBillsQuantity54: TFloatField;
  139. cdsBillsTotalPrice54: TFloatField;
  140. cdsBillsQuantity55: TFloatField;
  141. cdsBillsTotalPrice55: TFloatField;
  142. cdsBillsQuantity56: TFloatField;
  143. cdsBillsTotalPrice56: TFloatField;
  144. cdsBillsQuantity57: TFloatField;
  145. cdsBillsTotalPrice57: TFloatField;
  146. cdsBillsQuantity58: TFloatField;
  147. cdsBillsTotalPrice58: TFloatField;
  148. cdsBillsQuantity59: TFloatField;
  149. cdsBillsTotalPrice59: TFloatField;
  150. cdsBillsQuantity60: TFloatField;
  151. cdsBillsTotalPrice60: TFloatField;
  152. cdsBillsQuantity61: TFloatField;
  153. cdsBillsTotalPrice61: TFloatField;
  154. cdsBillsQuantity62: TFloatField;
  155. cdsBillsTotalPrice62: TFloatField;
  156. cdsBillsQuantity63: TFloatField;
  157. cdsBillsTotalPrice63: TFloatField;
  158. cdsBillsQuantity64: TFloatField;
  159. cdsBillsTotalPrice64: TFloatField;
  160. cdsBillsQuantity65: TFloatField;
  161. cdsBillsTotalPrice65: TFloatField;
  162. cdsBillsQuantity66: TFloatField;
  163. cdsBillsTotalPrice66: TFloatField;
  164. cdsBillsQuantity67: TFloatField;
  165. cdsBillsTotalPrice67: TFloatField;
  166. cdsBillsQuantity68: TFloatField;
  167. cdsBillsTotalPrice68: TFloatField;
  168. cdsBillsQuantity69: TFloatField;
  169. cdsBillsTotalPrice69: TFloatField;
  170. cdsBillsQuantity70: TFloatField;
  171. cdsBillsTotalPrice70: TFloatField;
  172. cdsBillsQuantity71: TFloatField;
  173. cdsBillsTotalPrice71: TFloatField;
  174. cdsBillsQuantity72: TFloatField;
  175. cdsBillsTotalPrice72: TFloatField;
  176. cdsBillsQuantity73: TFloatField;
  177. cdsBillsTotalPrice73: TFloatField;
  178. cdsBillsQuantity74: TFloatField;
  179. cdsBillsTotalPrice74: TFloatField;
  180. cdsBillsQuantity75: TFloatField;
  181. cdsBillsTotalPrice75: TFloatField;
  182. cdsBillsQuantity76: TFloatField;
  183. cdsBillsTotalPrice76: TFloatField;
  184. cdsBillsQuantity77: TFloatField;
  185. cdsBillsTotalPrice77: TFloatField;
  186. cdsBillsQuantity78: TFloatField;
  187. cdsBillsTotalPrice78: TFloatField;
  188. cdsBillsQuantity79: TFloatField;
  189. cdsBillsTotalPrice79: TFloatField;
  190. cdsBillsQuantity80: TFloatField;
  191. cdsBillsTotalPrice80: TFloatField;
  192. cdsBillsQuantity81: TFloatField;
  193. cdsBillsTotalPrice81: TFloatField;
  194. cdsBillsQuantity82: TFloatField;
  195. cdsBillsTotalPrice82: TFloatField;
  196. cdsBillsQuantity83: TFloatField;
  197. cdsBillsTotalPrice83: TFloatField;
  198. cdsBillsQuantity84: TFloatField;
  199. cdsBillsTotalPrice84: TFloatField;
  200. cdsBillsQuantity85: TFloatField;
  201. cdsBillsTotalPrice85: TFloatField;
  202. cdsBillsQuantity86: TFloatField;
  203. cdsBillsTotalPrice86: TFloatField;
  204. cdsBillsQuantity87: TFloatField;
  205. cdsBillsTotalPrice87: TFloatField;
  206. cdsBillsQuantity88: TFloatField;
  207. cdsBillsTotalPrice88: TFloatField;
  208. cdsBillsQuantity89: TFloatField;
  209. cdsBillsTotalPrice89: TFloatField;
  210. cdsBillsQuantity90: TFloatField;
  211. cdsBillsTotalPrice90: TFloatField;
  212. cdsBillsQuantity91: TFloatField;
  213. cdsBillsTotalPrice91: TFloatField;
  214. cdsBillsQuantity92: TFloatField;
  215. cdsBillsTotalPrice92: TFloatField;
  216. cdsBillsQuantity93: TFloatField;
  217. cdsBillsTotalPrice93: TFloatField;
  218. cdsBillsQuantity94: TFloatField;
  219. cdsBillsTotalPrice94: TFloatField;
  220. cdsBillsQuantity95: TFloatField;
  221. cdsBillsTotalPrice95: TFloatField;
  222. cdsBillsQuantity96: TFloatField;
  223. cdsBillsTotalPrice96: TFloatField;
  224. cdsBillsQuantity97: TFloatField;
  225. cdsBillsTotalPrice97: TFloatField;
  226. cdsBillsQuantity98: TFloatField;
  227. cdsBillsTotalPrice98: TFloatField;
  228. cdsBillsQuantity99: TFloatField;
  229. cdsBillsTotalPrice99: TFloatField;
  230. cdsBillsQuantity100: TFloatField;
  231. cdsBillsTotalPrice100: TFloatField;
  232. private
  233. FProjectData: TProjectData;
  234. FGclAddList: TList;
  235. function FindGclNode(ARec: TsdDataRecord): TGclAddNode;
  236. procedure FilterGclBills(ANode: TsdIDTreeNode);
  237. procedure FilterBills(ANode: TsdIDTreeNode);
  238. procedure LoadStageData(StageData: TStageData; APhaseIndex: Integer);
  239. procedure LoadPhaseData(APhaseIndex: Integer; AProjectData: TProjectData = nil);
  240. procedure WriteBills;
  241. public
  242. function AssignData(AProjectData: TProjectData): TDataSet;
  243. end;
  244. implementation
  245. uses
  246. ZhAPI, UtilMethods;
  247. {$R *.dfm}
  248. { TrmGclBillsAddData }
  249. function TrmGclBillsAddData.AssignData(AProjectData: TProjectData): TDataSet;
  250. var
  251. iPhase: Integer;
  252. begin
  253. FProjectData := AProjectData;
  254. FGclAddList := TList.Create;
  255. cdsBills.DisableControls;
  256. cdsBills.Active := True;
  257. cdsBills.EmptyDataSet;
  258. try
  259. FilterBills(FProjectData.BillsCompileData.BillsCompileTree.FirstNode);
  260. for iPhase := 1 to FProjectData.ProjProperties.PhaseCount do
  261. LoadPhaseData(iPhase, FProjectData);
  262. WriteBills;
  263. finally
  264. Result := cdsBills;
  265. cdsBills.EnableControls;
  266. ClearObjects(FGclAddList);
  267. FGclAddList.Free;
  268. end;
  269. end;
  270. procedure TrmGclBillsAddData.FilterBills(ANode: TsdIDTreeNode);
  271. begin
  272. if not Assigned(ANode) then Exit;
  273. if ANode.HasChildren then
  274. FilterBills(ANode.FirstChild)
  275. else
  276. FilterGclBills(ANode);
  277. FilterBills(ANode.NextSibling);
  278. end;
  279. procedure TrmGclBillsAddData.FilterGclBills(ANode: TsdIDTreeNode);
  280. function CreateGclNode(ARec: TsdDataRecord): TGclAddNode;
  281. begin
  282. Result := TGclAddNode.Create;
  283. FGclAddList.Add(Result);
  284. Result.FB_Code := ARec.ValueByName('B_Code').AsString;
  285. Result.FIndexCode := B_CodeToIndexCode(ARec.ValueByName('B_Code').AsString);
  286. Result.FName := ARec.ValueByName('Name').AsString;
  287. Result.FUnits := ARec.ValueByName('Units').AsString;
  288. Result.FPrice := ARec.ValueByName('Price').AsFloat;
  289. end;
  290. function GetGclNode(ARec: TsdDataRecord): TGclAddNode;
  291. begin
  292. Result := FindGclNode(ARec);
  293. if not Assigned(Result) then
  294. Result := CreateGclNode(ARec);
  295. end;
  296. procedure LoadDealData(AGclNode: TGclAddNode; AB_Code: string);
  297. var
  298. DealRec: TsdDataRecord;
  299. begin
  300. DealRec := TProjectData(FProjectData).DealBillsData.DealRecord(AB_Code);
  301. if Assigned(DealRec) then
  302. begin
  303. AGclNode.FDealQuantity := DealRec.ValueByName('Quantity').AsFloat;
  304. AGclNode.FDealTotalPrice := DealRec.ValueByName('TotalPrice').AsFloat;
  305. end;
  306. end;
  307. var
  308. Rec, StageRec: TsdDataRecord;
  309. GclNode: TGclAddNode;
  310. begin
  311. if not Assigned(ANode) then Exit;
  312. Rec := ANode.Rec;
  313. if Rec.ValueByName('B_Code').AsString = '' then Exit;
  314. GclNode := GetGclNode(Rec);
  315. LoadDealData(GclNode, Rec.ValueByName('B_Code').AsString);
  316. GclNode.FQuantity := GclNode.FQuantity + Rec.ValueByName('Quantity').AsFloat;
  317. GclNode.FTotalPrice := GclNode.FTotalPrice + Rec.ValueByName('TotalPrice').AsFloat;
  318. end;
  319. function TrmGclBillsAddData.FindGclNode(ARec: TsdDataRecord): TGclAddNode;
  320. var
  321. I: Integer;
  322. GclNode: TGclAddNode;
  323. begin
  324. Result := nil;
  325. for I := 0 to FGclAddList.Count - 1 do
  326. begin
  327. GclNode := TGclAddNode(FGclAddList.Items[I]);
  328. if SameText(GclNode.FB_Code, ARec.ValueByName('B_Code').AsString) and
  329. SameText(GclNode.FName, ARec.ValueByName('Name').AsString) and
  330. SameText(GclNode.FUnits, ARec.ValueByName('Units').AsString) and
  331. (GclNode.FPrice = ARec.ValueByName('Price').AsFloat) then
  332. begin
  333. Result := GclNode;
  334. Break;
  335. end;
  336. end;
  337. end;
  338. procedure TrmGclBillsAddData.LoadPhaseData(APhaseIndex: Integer; AProjectData: TProjectData);
  339. var
  340. PhaseData: TPhaseData;
  341. StageData: TStageData;
  342. begin
  343. PhaseData := TPhaseData.Create(AProjectData);
  344. try
  345. PhaseData.SimpleOpen(Format('%s\Phase%d.dat', [FProjectData.TempPath, APhaseIndex]));
  346. try
  347. StageData := TStageData.Create(PhaseData);
  348. StageData.TableName := PhaseData.StageTableName[PhaseData.AuditCount];
  349. StageData.Open(PhaseData.ADOConnection);
  350. LoadStageData(StageData, APhaseIndex);
  351. finally
  352. StageData.Free;
  353. end;
  354. finally
  355. PhaseData.Free;
  356. end;
  357. end;
  358. procedure TrmGclBillsAddData.LoadStageData(
  359. StageData: TStageData; APhaseIndex: Integer);
  360. var
  361. i: Integer;
  362. StageRec: TsdDataRecord;
  363. stnNode: TsdIDTreeNode;
  364. GclNode: TGclAddNode;
  365. begin
  366. for i := 0 to StageData.sddStage.RecordCount - 1 do
  367. begin
  368. StageRec := StageData.sddStage.Records[i];
  369. with FProjectData.BillsCompileData.BillsCompileTree do
  370. stnNode := FindNode(StageRec.ValueByName('BillsID').AsInteger);
  371. // 非最底层工程量清单不添加数据
  372. if not Assigned(stnNode) or stnNode.HasChildren or
  373. (stnNode.Rec.ValueByName('B_Code').AsString = '') then
  374. Continue;
  375. GclNode := FindGclNode(stnNode.Rec);
  376. if Assigned(GclNode) then
  377. begin
  378. GclNode.FP_Quantity[APhaseIndex] := GclNode.FP_Quantity[APhaseIndex] + StageRec.ValueByName('GatherQuantity').AsFloat;
  379. GclNode.FP_TotalPrice[APhaseIndex] := GclNode.FP_TotalPrice[APhaseIndex] + StageRec.ValueByName('GatherTotalPrice').AsFloat;
  380. end;
  381. end;
  382. end;
  383. procedure TrmGclBillsAddData.WriteBills;
  384. var
  385. iGcl: Integer;
  386. GclAddNode: TGclAddNode;
  387. begin
  388. for iGcl := 0 to FGclAddList.Count - 1 do
  389. begin
  390. GclAddNode := TGclAddNode(FGclAddList.Items[iGcl]);
  391. cdsBills.Append;
  392. cdsBillsB_Code.AsString := GclAddNode.FB_Code;
  393. cdsBillsIndexCode.AsString := GclAddNode.FIndexCode;
  394. cdsBillsName.AsString := GclAddNode.FName;
  395. cdsBillsUnits.AsString := GclAddNode.FUnits;
  396. cdsBillsPrice.AsFloat := GclAddNode.FPrice;
  397. cdsBillsDealQuantity.AsFloat := GclAddNode.FDealQuantity;
  398. cdsBillsDealTotalPrice.AsFloat := GclAddNode.FDealTotalPrice;
  399. cdsBillsQuantity.AsFloat := GclAddNode.FQuantity;
  400. cdsBillsTotalPrice.AsFloat := GclAddNode.FTotalPrice;
  401. cdsBillsQuantity1.AsFloat := GclAddNode.FP_Quantity[1];
  402. cdsBillsTotalPrice1.AsFloat := GclAddNode.FP_TotalPrice[1];
  403. cdsBillsQuantity2.AsFloat := GclAddNode.FP_Quantity[2];
  404. cdsBillsTotalPrice2.AsFloat := GclAddNode.FP_TotalPrice[2];
  405. cdsBillsQuantity3.AsFloat := GclAddNode.FP_Quantity[3];
  406. cdsBillsTotalPrice3.AsFloat := GclAddNode.FP_TotalPrice[3];
  407. cdsBillsQuantity4.AsFloat := GclAddNode.FP_Quantity[4];
  408. cdsBillsTotalPrice4.AsFloat := GclAddNode.FP_TotalPrice[4];
  409. cdsBillsQuantity5.AsFloat := GclAddNode.FP_Quantity[5];
  410. cdsBillsTotalPrice5.AsFloat := GclAddNode.FP_TotalPrice[5];
  411. cdsBillsQuantity6.AsFloat := GclAddNode.FP_Quantity[6];
  412. cdsBillsTotalPrice6.AsFloat := GclAddNode.FP_TotalPrice[6];
  413. cdsBillsQuantity7.AsFloat := GclAddNode.FP_Quantity[7];
  414. cdsBillsTotalPrice7.AsFloat := GclAddNode.FP_TotalPrice[7];
  415. cdsBillsQuantity8.AsFloat := GclAddNode.FP_Quantity[8];
  416. cdsBillsTotalPrice8.AsFloat := GclAddNode.FP_TotalPrice[8];
  417. cdsBillsQuantity9.AsFloat := GclAddNode.FP_Quantity[9];
  418. cdsBillsTotalPrice9.AsFloat := GclAddNode.FP_TotalPrice[9];
  419. cdsBillsQuantity10.AsFloat := GclAddNode.FP_Quantity[10];
  420. cdsBillsTotalPrice10.AsFloat := GclAddNode.FP_TotalPrice[10];
  421. cdsBillsQuantity11.AsFloat := GclAddNode.FP_Quantity[11];
  422. cdsBillsTotalPrice11.AsFloat := GclAddNode.FP_TotalPrice[11];
  423. cdsBillsQuantity12.AsFloat := GclAddNode.FP_Quantity[12];
  424. cdsBillsTotalPrice12.AsFloat := GclAddNode.FP_TotalPrice[12];
  425. cdsBillsQuantity13.AsFloat := GclAddNode.FP_Quantity[13];
  426. cdsBillsTotalPrice13.AsFloat := GclAddNode.FP_TotalPrice[13];
  427. cdsBillsQuantity14.AsFloat := GclAddNode.FP_Quantity[14];
  428. cdsBillsTotalPrice14.AsFloat := GclAddNode.FP_TotalPrice[14];
  429. cdsBillsQuantity15.AsFloat := GclAddNode.FP_Quantity[15];
  430. cdsBillsTotalPrice15.AsFloat := GclAddNode.FP_TotalPrice[15];
  431. cdsBillsQuantity16.AsFloat := GclAddNode.FP_Quantity[16];
  432. cdsBillsTotalPrice16.AsFloat := GclAddNode.FP_TotalPrice[16];
  433. cdsBillsQuantity17.AsFloat := GclAddNode.FP_Quantity[17];
  434. cdsBillsTotalPrice17.AsFloat := GclAddNode.FP_TotalPrice[17];
  435. cdsBillsQuantity18.AsFloat := GclAddNode.FP_Quantity[18];
  436. cdsBillsTotalPrice18.AsFloat := GclAddNode.FP_TotalPrice[18];
  437. cdsBillsQuantity19.AsFloat := GclAddNode.FP_Quantity[19];
  438. cdsBillsTotalPrice19.AsFloat := GclAddNode.FP_TotalPrice[19];
  439. cdsBillsQuantity20.AsFloat := GclAddNode.FP_Quantity[20];
  440. cdsBillsTotalPrice20.AsFloat := GclAddNode.FP_TotalPrice[20];
  441. cdsBillsQuantity21.AsFloat := GclAddNode.FP_Quantity[21];
  442. cdsBillsTotalPrice21.AsFloat := GclAddNode.FP_TotalPrice[21];
  443. cdsBillsQuantity22.AsFloat := GclAddNode.FP_Quantity[22];
  444. cdsBillsTotalPrice22.AsFloat := GclAddNode.FP_TotalPrice[22];
  445. cdsBillsQuantity23.AsFloat := GclAddNode.FP_Quantity[23];
  446. cdsBillsTotalPrice23.AsFloat := GclAddNode.FP_TotalPrice[23];
  447. cdsBillsQuantity24.AsFloat := GclAddNode.FP_Quantity[24];
  448. cdsBillsTotalPrice24.AsFloat := GclAddNode.FP_TotalPrice[24];
  449. cdsBillsQuantity25.AsFloat := GclAddNode.FP_Quantity[25];
  450. cdsBillsTotalPrice25.AsFloat := GclAddNode.FP_TotalPrice[25];
  451. cdsBillsQuantity26.AsFloat := GclAddNode.FP_Quantity[26];
  452. cdsBillsTotalPrice26.AsFloat := GclAddNode.FP_TotalPrice[26];
  453. cdsBillsQuantity27.AsFloat := GclAddNode.FP_Quantity[27];
  454. cdsBillsTotalPrice27.AsFloat := GclAddNode.FP_TotalPrice[27];
  455. cdsBillsQuantity28.AsFloat := GclAddNode.FP_Quantity[28];
  456. cdsBillsTotalPrice28.AsFloat := GclAddNode.FP_TotalPrice[28];
  457. cdsBillsQuantity29.AsFloat := GclAddNode.FP_Quantity[29];
  458. cdsBillsTotalPrice29.AsFloat := GclAddNode.FP_TotalPrice[29];
  459. cdsBillsQuantity30.AsFloat := GclAddNode.FP_Quantity[30];
  460. cdsBillsTotalPrice30.AsFloat := GclAddNode.FP_TotalPrice[30];
  461. cdsBillsQuantity31.AsFloat := GclAddNode.FP_Quantity[31];
  462. cdsBillsTotalPrice31.AsFloat := GclAddNode.FP_TotalPrice[31];
  463. cdsBillsQuantity32.AsFloat := GclAddNode.FP_Quantity[32];
  464. cdsBillsTotalPrice32.AsFloat := GclAddNode.FP_TotalPrice[32];
  465. cdsBillsQuantity33.AsFloat := GclAddNode.FP_Quantity[33];
  466. cdsBillsTotalPrice33.AsFloat := GclAddNode.FP_TotalPrice[33];
  467. cdsBillsQuantity34.AsFloat := GclAddNode.FP_Quantity[34];
  468. cdsBillsTotalPrice34.AsFloat := GclAddNode.FP_TotalPrice[34];
  469. cdsBillsQuantity35.AsFloat := GclAddNode.FP_Quantity[35];
  470. cdsBillsTotalPrice35.AsFloat := GclAddNode.FP_TotalPrice[35];
  471. cdsBillsQuantity36.AsFloat := GclAddNode.FP_Quantity[36];
  472. cdsBillsTotalPrice36.AsFloat := GclAddNode.FP_TotalPrice[36];
  473. cdsBillsQuantity37.AsFloat := GclAddNode.FP_Quantity[37];
  474. cdsBillsTotalPrice37.AsFloat := GclAddNode.FP_TotalPrice[37];
  475. cdsBillsQuantity38.AsFloat := GclAddNode.FP_Quantity[38];
  476. cdsBillsTotalPrice38.AsFloat := GclAddNode.FP_TotalPrice[38];
  477. cdsBillsQuantity39.AsFloat := GclAddNode.FP_Quantity[39];
  478. cdsBillsTotalPrice39.AsFloat := GclAddNode.FP_TotalPrice[39];
  479. cdsBillsQuantity40.AsFloat := GclAddNode.FP_Quantity[40];
  480. cdsBillsTotalPrice40.AsFloat := GclAddNode.FP_TotalPrice[40];
  481. cdsBillsQuantity41.AsFloat := GclAddNode.FP_Quantity[41];
  482. cdsBillsTotalPrice41.AsFloat := GclAddNode.FP_TotalPrice[41];
  483. cdsBillsQuantity42.AsFloat := GclAddNode.FP_Quantity[42];
  484. cdsBillsTotalPrice42.AsFloat := GclAddNode.FP_TotalPrice[42];
  485. cdsBillsQuantity43.AsFloat := GclAddNode.FP_Quantity[43];
  486. cdsBillsTotalPrice43.AsFloat := GclAddNode.FP_TotalPrice[43];
  487. cdsBillsQuantity44.AsFloat := GclAddNode.FP_Quantity[44];
  488. cdsBillsTotalPrice44.AsFloat := GclAddNode.FP_TotalPrice[44];
  489. cdsBillsQuantity45.AsFloat := GclAddNode.FP_Quantity[45];
  490. cdsBillsTotalPrice45.AsFloat := GclAddNode.FP_TotalPrice[45];
  491. cdsBillsQuantity46.AsFloat := GclAddNode.FP_Quantity[46];
  492. cdsBillsTotalPrice46.AsFloat := GclAddNode.FP_TotalPrice[46];
  493. cdsBillsQuantity47.AsFloat := GclAddNode.FP_Quantity[47];
  494. cdsBillsTotalPrice47.AsFloat := GclAddNode.FP_TotalPrice[47];
  495. cdsBillsQuantity48.AsFloat := GclAddNode.FP_Quantity[48];
  496. cdsBillsTotalPrice48.AsFloat := GclAddNode.FP_TotalPrice[48];
  497. cdsBillsQuantity49.AsFloat := GclAddNode.FP_Quantity[49];
  498. cdsBillsTotalPrice49.AsFloat := GclAddNode.FP_TotalPrice[49];
  499. cdsBillsQuantity50.AsFloat := GclAddNode.FP_Quantity[50];
  500. cdsBillsTotalPrice50.AsFloat := GclAddNode.FP_TotalPrice[50];
  501. cdsBillsQuantity51.AsFloat := GclAddNode.FP_Quantity[51];
  502. cdsBillsTotalPrice51.AsFloat := GclAddNode.FP_TotalPrice[51];
  503. cdsBillsQuantity52.AsFloat := GclAddNode.FP_Quantity[52];
  504. cdsBillsTotalPrice52.AsFloat := GclAddNode.FP_TotalPrice[52];
  505. cdsBillsQuantity53.AsFloat := GclAddNode.FP_Quantity[53];
  506. cdsBillsTotalPrice53.AsFloat := GclAddNode.FP_TotalPrice[53];
  507. cdsBillsQuantity54.AsFloat := GclAddNode.FP_Quantity[54];
  508. cdsBillsTotalPrice54.AsFloat := GclAddNode.FP_TotalPrice[54];
  509. cdsBillsQuantity55.AsFloat := GclAddNode.FP_Quantity[55];
  510. cdsBillsTotalPrice55.AsFloat := GclAddNode.FP_TotalPrice[55];
  511. cdsBillsQuantity56.AsFloat := GclAddNode.FP_Quantity[56];
  512. cdsBillsTotalPrice56.AsFloat := GclAddNode.FP_TotalPrice[56];
  513. cdsBillsQuantity57.AsFloat := GclAddNode.FP_Quantity[57];
  514. cdsBillsTotalPrice57.AsFloat := GclAddNode.FP_TotalPrice[57];
  515. cdsBillsQuantity58.AsFloat := GclAddNode.FP_Quantity[58];
  516. cdsBillsTotalPrice58.AsFloat := GclAddNode.FP_TotalPrice[58];
  517. cdsBillsQuantity59.AsFloat := GclAddNode.FP_Quantity[59];
  518. cdsBillsTotalPrice59.AsFloat := GclAddNode.FP_TotalPrice[59];
  519. cdsBillsQuantity60.AsFloat := GclAddNode.FP_Quantity[60];
  520. cdsBillsTotalPrice60.AsFloat := GclAddNode.FP_TotalPrice[60];
  521. cdsBillsQuantity61.AsFloat := GclAddNode.FP_Quantity[61];
  522. cdsBillsTotalPrice61.AsFloat := GclAddNode.FP_TotalPrice[61];
  523. cdsBillsQuantity62.AsFloat := GclAddNode.FP_Quantity[62];
  524. cdsBillsTotalPrice62.AsFloat := GclAddNode.FP_TotalPrice[62];
  525. cdsBillsQuantity63.AsFloat := GclAddNode.FP_Quantity[63];
  526. cdsBillsTotalPrice63.AsFloat := GclAddNode.FP_TotalPrice[63];
  527. cdsBillsQuantity64.AsFloat := GclAddNode.FP_Quantity[64];
  528. cdsBillsTotalPrice64.AsFloat := GclAddNode.FP_TotalPrice[64];
  529. cdsBillsQuantity65.AsFloat := GclAddNode.FP_Quantity[65];
  530. cdsBillsTotalPrice65.AsFloat := GclAddNode.FP_TotalPrice[65];
  531. cdsBillsQuantity66.AsFloat := GclAddNode.FP_Quantity[66];
  532. cdsBillsTotalPrice66.AsFloat := GclAddNode.FP_TotalPrice[66];
  533. cdsBillsQuantity67.AsFloat := GclAddNode.FP_Quantity[67];
  534. cdsBillsTotalPrice67.AsFloat := GclAddNode.FP_TotalPrice[67];
  535. cdsBillsQuantity68.AsFloat := GclAddNode.FP_Quantity[68];
  536. cdsBillsTotalPrice68.AsFloat := GclAddNode.FP_TotalPrice[68];
  537. cdsBillsQuantity69.AsFloat := GclAddNode.FP_Quantity[69];
  538. cdsBillsTotalPrice69.AsFloat := GclAddNode.FP_TotalPrice[69];
  539. cdsBillsQuantity70.AsFloat := GclAddNode.FP_Quantity[70];
  540. cdsBillsTotalPrice70.AsFloat := GclAddNode.FP_TotalPrice[70];
  541. cdsBillsQuantity71.AsFloat := GclAddNode.FP_Quantity[71];
  542. cdsBillsTotalPrice71.AsFloat := GclAddNode.FP_TotalPrice[71];
  543. cdsBillsQuantity72.AsFloat := GclAddNode.FP_Quantity[72];
  544. cdsBillsTotalPrice72.AsFloat := GclAddNode.FP_TotalPrice[72];
  545. cdsBillsQuantity73.AsFloat := GclAddNode.FP_Quantity[73];
  546. cdsBillsTotalPrice73.AsFloat := GclAddNode.FP_TotalPrice[73];
  547. cdsBillsQuantity74.AsFloat := GclAddNode.FP_Quantity[74];
  548. cdsBillsTotalPrice74.AsFloat := GclAddNode.FP_TotalPrice[74];
  549. cdsBillsQuantity75.AsFloat := GclAddNode.FP_Quantity[75];
  550. cdsBillsTotalPrice75.AsFloat := GclAddNode.FP_TotalPrice[75];
  551. cdsBillsQuantity76.AsFloat := GclAddNode.FP_Quantity[76];
  552. cdsBillsTotalPrice76.AsFloat := GclAddNode.FP_TotalPrice[76];
  553. cdsBillsQuantity77.AsFloat := GclAddNode.FP_Quantity[77];
  554. cdsBillsTotalPrice77.AsFloat := GclAddNode.FP_TotalPrice[77];
  555. cdsBillsQuantity78.AsFloat := GclAddNode.FP_Quantity[78];
  556. cdsBillsTotalPrice78.AsFloat := GclAddNode.FP_TotalPrice[78];
  557. cdsBillsQuantity79.AsFloat := GclAddNode.FP_Quantity[79];
  558. cdsBillsTotalPrice79.AsFloat := GclAddNode.FP_TotalPrice[79];
  559. cdsBillsQuantity80.AsFloat := GclAddNode.FP_Quantity[80];
  560. cdsBillsTotalPrice80.AsFloat := GclAddNode.FP_TotalPrice[80];
  561. cdsBillsQuantity81.AsFloat := GclAddNode.FP_Quantity[81];
  562. cdsBillsTotalPrice81.AsFloat := GclAddNode.FP_TotalPrice[81];
  563. cdsBillsQuantity82.AsFloat := GclAddNode.FP_Quantity[82];
  564. cdsBillsTotalPrice82.AsFloat := GclAddNode.FP_TotalPrice[82];
  565. cdsBillsQuantity83.AsFloat := GclAddNode.FP_Quantity[83];
  566. cdsBillsTotalPrice83.AsFloat := GclAddNode.FP_TotalPrice[83];
  567. cdsBillsQuantity84.AsFloat := GclAddNode.FP_Quantity[84];
  568. cdsBillsTotalPrice84.AsFloat := GclAddNode.FP_TotalPrice[84];
  569. cdsBillsQuantity85.AsFloat := GclAddNode.FP_Quantity[85];
  570. cdsBillsTotalPrice85.AsFloat := GclAddNode.FP_TotalPrice[85];
  571. cdsBillsQuantity86.AsFloat := GclAddNode.FP_Quantity[86];
  572. cdsBillsTotalPrice86.AsFloat := GclAddNode.FP_TotalPrice[86];
  573. cdsBillsQuantity87.AsFloat := GclAddNode.FP_Quantity[87];
  574. cdsBillsTotalPrice87.AsFloat := GclAddNode.FP_TotalPrice[87];
  575. cdsBillsQuantity88.AsFloat := GclAddNode.FP_Quantity[88];
  576. cdsBillsTotalPrice88.AsFloat := GclAddNode.FP_TotalPrice[88];
  577. cdsBillsQuantity89.AsFloat := GclAddNode.FP_Quantity[89];
  578. cdsBillsTotalPrice89.AsFloat := GclAddNode.FP_TotalPrice[89];
  579. cdsBillsQuantity90.AsFloat := GclAddNode.FP_Quantity[90];
  580. cdsBillsTotalPrice90.AsFloat := GclAddNode.FP_TotalPrice[90];
  581. cdsBillsQuantity91.AsFloat := GclAddNode.FP_Quantity[91];
  582. cdsBillsTotalPrice91.AsFloat := GclAddNode.FP_TotalPrice[91];
  583. cdsBillsQuantity92.AsFloat := GclAddNode.FP_Quantity[92];
  584. cdsBillsTotalPrice92.AsFloat := GclAddNode.FP_TotalPrice[92];
  585. cdsBillsQuantity93.AsFloat := GclAddNode.FP_Quantity[93];
  586. cdsBillsTotalPrice93.AsFloat := GclAddNode.FP_TotalPrice[93];
  587. cdsBillsQuantity94.AsFloat := GclAddNode.FP_Quantity[94];
  588. cdsBillsTotalPrice94.AsFloat := GclAddNode.FP_TotalPrice[94];
  589. cdsBillsQuantity95.AsFloat := GclAddNode.FP_Quantity[95];
  590. cdsBillsTotalPrice95.AsFloat := GclAddNode.FP_TotalPrice[95];
  591. cdsBillsQuantity96.AsFloat := GclAddNode.FP_Quantity[96];
  592. cdsBillsTotalPrice96.AsFloat := GclAddNode.FP_TotalPrice[96];
  593. cdsBillsQuantity97.AsFloat := GclAddNode.FP_Quantity[97];
  594. cdsBillsTotalPrice97.AsFloat := GclAddNode.FP_TotalPrice[97];
  595. cdsBillsQuantity98.AsFloat := GclAddNode.FP_Quantity[98];
  596. cdsBillsTotalPrice98.AsFloat := GclAddNode.FP_TotalPrice[98];
  597. cdsBillsQuantity99.AsFloat := GclAddNode.FP_Quantity[99];
  598. cdsBillsTotalPrice99.AsFloat := GclAddNode.FP_TotalPrice[99];
  599. cdsBillsQuantity100.AsFloat := GclAddNode.FP_Quantity[100];
  600. cdsBillsTotalPrice100.AsFloat := GclAddNode.FP_TotalPrice[100];
  601. cdsBills.Post;
  602. end;
  603. end;
  604. end.