tw30119a.pp 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. //{$codepage cp_acp}
  2. //{$codepage cp1250}
  3. program tw30119;
  4. //uses
  5. // fkdane,
  6. // fkrecord;
  7. //uses
  8. // cwstring;
  9. {$H+}
  10. type
  11. rButikPtr = ^rButik;
  12. rButik =
  13. packed record
  14. data : word; {2}
  15. dowod : word; {4}
  16. numer : int64; {12}
  17. dataDost : word; {14} {w zamowieniu otwarte 00 }
  18. memoa, {16} { 1- dot zamowienia zamkniete 10
  19. 2- par fisk --> WNT z importu zawieszone 01 anulowane 11
  20. 4- paleta pilne
  21. 8- (nazwa zestawu) (stare :dot produkcji
  22. 16- numer odbiorcy w tww
  23. 32- zablokowane (stare:druga jednostkia cenaP
  24. 64- poprano z produkcji - wyrob (stere data WZ w twn (norm numer WZ))
  25. 128 : pole memo w tww
  26. }
  27. vat : byte;
  28. towar, {18}
  29. dostawca, {20}
  30. odbiorca : word; {22}
  31. typ : shortint; {23}
  32. ilosc, {27}
  33. cenaZ, {31}
  34. cenaS : single; {35}
  35. akwizytor : byte; {36}
  36. wolne1 : word; {38} {nr dostawy}
  37. cenaE : single; {42}
  38. end;
  39. const
  40. ntFakturaIMP = 2;
  41. ntKoszt = 3;
  42. ntWOC = 4;
  43. ntFI = 5;
  44. ntPW = 14;
  45. ntPrzyjecieTow = 15;
  46. ntFakturaExp = 25;
  47. ntFakturaSprz = 26;
  48. ntKP = 27;
  49. ntUslUnia = 28;
  50. ntfakturaUSL = 29;{ *}
  51. ntPzRWS = 30;
  52. ntFakturaSprzVat= 34;
  53. ntFakturaUslVat = 35; { faktura do paragonu*}
  54. ntZamowienieSprz= 36;
  55. ntDetal = 55;
  56. ntRW = 65;
  57. ntPrzesun = 66;
  58. ntDekompl = 67;
  59. ntPZO = 68;
  60. // ntWymiana = 69;{*}
  61. ntFakturaSprzDew = 69;
  62. ntReklamacjaVAT = 70;
  63. ntPZOVat = 71;
  64. ntBO = 77;
  65. ntZobowImp = 78;
  66. ntWZ = 79;
  67. ntZwrotPW = 80;
  68. ntKpZ = 81;
  69. ntKWz = 82;
  70. ntPZOEXP = 83;
  71. ntFakturaW = 84;
  72. ntExpUnia = 98;
  73. ntImpUnia = 99;
  74. ntImpUniaM = 100;
  75. ntPZOUnia = 103;
  76. var
  77. tab : array [0..10] of double;
  78. procedure testCaseRaw(const rr : rButik);
  79. var
  80. kwz: Double;
  81. begin
  82. kwz:=20;
  83. case rr.typ of
  84. ntFakturaSprz,ntFakturaSPrzVat,
  85. ntPzoExp,ntPzoUnia,
  86. ntPzoVat,ntPzo,
  87. ntDetal,ntPzRWS,
  88. ntExpUnia,ntFakturaEXP: begin
  89. tab[1]:=tab[1]+rr.ilosc;
  90. tab[2]:=tab[2]+kwz;
  91. end;
  92. ntRW : begin
  93. tab[4]:=tab[4]+kwz;
  94. end;
  95. -ntFakturaIMP,
  96. -ntPrzyjecietow : begin
  97. tab[3]:=tab[3]+kwz;
  98. end;
  99. -ntBO : begin
  100. tab[5]:=tab[5]+kwz;
  101. end;
  102. end;
  103. end;
  104. procedure testCaseA;
  105. var
  106. r : rButik;
  107. begin
  108. // zeruj(r);
  109. r.ilosc:=1;
  110. r.cenaZ:=10;
  111. r.typ:=65;
  112. testCaseRaw(r);
  113. // checkEquals(10,tab[4]);
  114. r.typ:=-ntPrzyjecieTow;
  115. testCaseRaw(r);
  116. // checkEquals(10,tab[3]);
  117. r.typ:=65;
  118. testCaseRaw(r);
  119. end;
  120. begin
  121. writeln('start');
  122. testCaseA;
  123. writeln('stop') ;
  124. end.