}

Delphi.int.ru — Портал программистов

Вход Регистрация | Забыли пароль?

Просмотр кода

Идентификатор: 13d6d579 Описание: Код загружен: 8 ноября 2014, 15:35 (Валя)

  1. unit u_razc1;
  2. {
  3.  вазовские расчетки по годам
  4.  }
  5. interface
  6.  
  7. uses
  8.  
  9. interface
  10.  
  11. uses
  12. Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  13. StdCtrls, ExtCtrls, Menus;
  14.  
  15. type
  16. TForm1 = class(TForm)
  17. Panel2: TPanel;
  18. Label2: TLabel;
  19. Panel1: TPanel;
  20. mont: TEdit;
  21. year: TEdit;
  22. Image5: TImage;
  23. Image4: TImage;
  24. Image3: TImage;
  25. Image2: TImage;
  26. Image1: TImage;
  27. Image6: TImage;
  28. ComboBox1: TComboBox;
  29. Button6: TButton;
  30. MainMenu1: TMainMenu;
  31. File1: TMenuItem;
  32. Save1: TMenuItem;
  33. procedure FormCreate(Sender: TObject);
  34. procedure ComboBox1Change(Sender: TObject);
  35. procedure Button6Click(Sender: TObject);
  36. procedure Save1Click(Sender: TObject);
  37. private
  38. {ns }
  39.   public
  40.   { Pub
  41. public
  42. {s }
  43.   //
  44.   proced
  45. //ender: TObject; Button: TMouseButton;
  46. Shift:
  47. Shift: TShiftState; X, Y: Integer);
  48. end;
  49.  
  50. type iarray=array of integer;
  51.  
  52. type chassum=packed record
  53. chas: currency;
  54. sum: currency;
  55. end;
  56.  
  57. type kchassum=packed record
  58. kod: word;
  59. chas: currency;
  60. sum: currency;
  61. end;
  62.  
  63. type ksum=packed record
  64. kod: word;
  65. sum: currency;
  66. end;
  67.  
  68. type list=packed record ////Расчетный лист
  69. r2: byte;//Месяц
  70. r3: word;//Год
  71. r4: longword;//Постоя
  72. r2: byte;//[250];//Фамилия, имя, отчество
  73. r6: word;//Профессия, должность
  74. r7: word;//Код налога
  75. r8: word;//Р-д
  76. r9: currency;//Тарифная ставка, оклад
  77. t1: lo
  78. r6: word;//ный номер
  79. t2: currency;//Премия рабочим
  80. t3: currency;//Премия РСиС
  81. u1: chassum;//По тарифной ставке или окладу
  82. u2: chassum;//Премия за выполнение норм. (производ.) задания
  83. u3: chassum;//Доплата з
  84. t2: currency;//ssum;//Доплата за работу в ночную смену
  85. u5: currency;//Надбавка за выпол. инд. показателей
  86. u6: chassum;//Доплата за выходные и праздники
  87. u7: chassum;//Доплата за срерхурочные
  88. u8: chassum;//Оплата за отпуск
  89. u9: chassum;//Оплата по больничным листам
  90. u10: currency;//Доплата за условия труда
  91. n1: array[0..15]of kchassum;//Начисления Код Часы Сумма (16)
  92. a1: currency;//Аванс
  93. a2: currency;//По
  94. u5: currency;//y;//Профсоюзн. взносы
  95. a4: currency;//Долг прошлого месяца
  96. a5: array[0..11]of ksum;//Удержания Код Сумма (16)
  97. //Средняя заработная плата
  98. a6: currency;//За последние 2 календарных года для оплаты больничных (дневная)
  99. a7: currency;//За последние 12 месяцев для оплаты по среднему (часовая)
  100. a8: currency;//За последние 12 месяцев для оплаты отпуска (дневная)
  101. a9: currency;//Индив. фонд времени
  102. z1: currency;//Начислено
  103. z2: currency;//Причитается
  104. z3: currency;//Долг за работающим
  105. z4: currency;//Удержано
  106. z5: currency;//Сумма к выплате
  107. //Перечислено в банк
  108. z6: word;//Код
  109. z7: currency;//Сумма
  110. a4: currency;//rray[1..12]of list;
  111. var
  112. Form1: TForm1;
  113. Sum: Extended;
  114. cro: currency;
  115. SumStr: string;
  116. bio: bob;
  117. f: file of bob;
  118. vo: list;
  119. pn: array[1..12]of tpanel;
  120. sa: array[1..12]of string[12]=('Январь','Февраль','Март',
  121. 'Апрель','Май','Июнь',
  122. 'Июль','Август','Сентябрь',
  123. 'Октябрь','Ноябрь','Декабрь');
  124. dnov: array[0..4]of integer=(0,10,13,13,13);
  125. dnog: array[0..7]of integer=(0,160,50,70,70,70,30,70);
  126. dnogi: iarray;
  127. dnovi: iarray;
  128. dnoe: array[0..10]of tedit;
  129. dnol: array[0..12]of tlabel;
  130. udvi: iarray;
  131. udgi: iarra
  132. var
  133. Form1: TForm1;
  134. Sum: Extended;
  135. cro: currency;
  136. SumStr: string;
  137. bio: bob;
  138. f: file of bob;
  139. vo: list;
  140. pn: array[1..12]of tpanel;
  141. sa: array[1..12]of string[12]=('Январь','Февраль','Март',
  142. 'Апрель','Май','Июнь',
  143. 'Июль','Август','Сентябрь',
  144. 'Октябрь','Ноябрь','Декабрь');
  145. dnov: array[0..4]of integer=(0,10,13,13,13);
  146. dnog: array[0..7]of integer=(0,160,50,70,70,70,30,70);
  147. dnogi: iarray;
  148. dnovi: iarray;
  149. dnoe: array[0..10]of tedit;
  150. dnol: array[0..12]of tlabel;
  151. udvi: iarray;
  152. udgi: iarray;
  153. ude: array[0..28]of tedit;
  154. udl: array[0..11]of tlabel;
  155. //:=x[i];
  156. end;
  157.  
  158.  
  159. function tooi(x: integer; y: iarray): integer;// универсальное говно призванное
  160. // уничтожить буржуазию как класс
  161. var i: integer;
  162. begin
  163. result:=0;
  164. for i:=0 to high(y)do
  165. if x>i then
  166. inc(result,y[i]);
  167. end;
  168.  
  169.  
  170. function getsxxx: single;
  171. var i,j,k: integer;
  172. b: bob;
  173. mx,dx,c,v: currency;
  174. function get479(x: integer): currency; // аванс в банк
  175. var i: integer;
  176. begin
  177. result:=0;
  178. for i:=0 to high(bio[x].a5) do
  179. if bio[x].a5[i].kod=479 then
  180. begin
  181. result:=bio[x].a5[i].sum;
  182. exit;
  183. end;
  184. end;
  185. begin
  186. mx:=0;//-maxint;
  187. for j:=0 to high(boob) do
  188. begin
  189. b:=boob[j];
  190. for i:=1 to 12 do
  191. begin
  192. c:=get479(i);
  193. end;
  194.  
  195.  
  196. function tooi(x: integer; y: iarray): integer;// +c);
  197. if (1969+j)>1997 then v:=v*1000;
  198. if v>mx then
  199. mx:=v;
  200. end;
  201. end;
  202. sxxx:=mx/70;
  203. end;
  204.  
  205.  
  206.  
  207. procedure vw2;
  208. var i,j,k,x,y,z: integer;
  209. sx,sy: single;
  210. mx,mi,dx,c: currency;
  211.  
  212. function get479(x: integer): currency; // аванс в банк
  213. var i: integer;
  214. begin
  215. result:=0;
  216. for i:=0 to high(bio[x].a5) do
  217. begin
  218. if bio[x].a5[i].kod=479 then
  219. begin
  220. result:=bio[x].a5[i].sum;
  221. exit;
  222. end;
  223. end;
  224. end;
  225. begin
  226. getsxxx;
  227. mx:=0;//-maxint;
  228. mi:=maxint;
  229. with form1 do
  230. with image6.canvas do
  231. begin
  232. brush.color:=clred;
  233. fillrect(rect(0,0,image6.Width,image6.Height));
  234. sx:=sxxx;
  235. if
  236. +c);
  237. if (1969+j)>1997 then v:=v*1000;
  238. if v>mx then
  239. mx:=v;
  240. end;
  241. end;
  242. sxxx:=mx/70;
  243. end;
  244.  
  245.  
  246.  
  247. procedure vw2;
  248. var i,j,k,x,y,z: integer;
  249. sx,sy: single;
  250. mx,mi,dx,c: currency;
  251.  
  252. function get479(x: integer): currency; //;//claqua;//
  253. pen.width:=10;
  254. c:=get479(i);
  255. x:=-10+i*49;
  256. y:=100-round( (bio[i].z5
  257. +bio[i].a1
  258. +bio[i].z7
  259. +c) / sx );
  260. z:=100-round( (bio[i].z5
  261. +bio[i].z7) / sx );
  262. moveto(x,100);
  263. lineto(x,y);
  264. pen.color:=clblue;//cllime;//
  265. moveto(x,z);
  266. lineto(x,y);
  267. pen.width:=3;
  268. pen.color:=clwhite;
  269. ellipse(x-k,y-k,x+k,y+k);
  270. if (bio[i].u1.sum>0)then
  271. begin
  272. // хитрый способ обойтись без бсклер, который
  273. // потом хрен отключишь
  274. brush.style:=bsBDiagonal;//bsclear; //
  275. textout(x-10,110,format('%.f%%',[(100*
  276. pen.width:=10;
  277. c:=get479(i);
  278. x:=-10+i*49;
  279. y:=100-round( (bio[i].z5
  280. +bio[i].a1
  281. +bio[i].z7
  282. +c) / sx );
  283. z:=100-round( (bio[i].z5
  284. +bio[i].z7) / sx );
  285. moveto(x,100);
  286. lineto(x,y);
  287. pen.color:=clblue;//d): string;
  288. begin
  289. result:='';
  290. if x=0 then exit;
  291. result:=format('%.3d',[x]);
  292. end;
  293.  
  294.  
  295.  
  296. function rd2str(x: word): string;
  297. begin
  298. result:='';
  299. if x=0 then exit;
  300. result:=format('%d',[x]); // .3
  301. end;
  302.  
  303.  
  304. function str2word(x: string): word;
  305. begin
  306. result:=0;
  307. if x='' then exit;
  308. result:=strtoint(x);
  309. end;
  310.  
  311.  
  312. function chas2str(x: currency): string;
  313. begin
  314. result:='';
  315. if x=0 then exit;
  316. result:=format('%.1f',[x]);
  317. end;
  318.  
  319.  
  320.  
  321. function kodvaz(x: word): string;
  322. begin
  323. result:=' ';
  324. if x=0 then exit;
  325. case x of
  326. 001: result:='Оплата за проработанное время по среднему заработку';
  327. 003: result:='Доплата за сданную продукцию';
  328. 004: result:='Оплата по среднему беременным женщинам на легком труде';
  329. 005: result:='Доплата за напряженность труда';
  330. 006: result:='Оплата по тарифной ставке (окладу)';
  331. 007: result:='Надбавка за выполнение индивидуальных показателей';
  332. 008: result:='Доплата за условия труда';
  333. 009: result:='Премия за выполнение нормированного (производственного) задания';
  334. 010:
  335. begin
  336. result:='';
  337. if x=0 then exit;
  338. result:=format('%.3d',[x]);
  339. end;
  340.  
  341.  
  342.  
  343. function rd2str(x: word): string;
  344. begin
  345. result:='';
  346. if x=0 then exit;
  347. result:=format('%d',[x]); //esult:='Доплата за временное заместительство';
  348. 018: result:='Надбавка за классность';
  349. 019: result:='Доплата за ненормированный рабочий день';
  350. 022: result:='Доплата за работу в вечернюю смену';
  351. 023: result:='Доплата за перевыполнение нормирования задания';
  352. 024: result:='Дополнительная оплата за работу в ОАО АВТОВАЗ';
  353. 031: result:='Доплата за сокращенные на 1 час ночные смены';
  354. 033: result:='Доплата за работу в сверхурочное время';
  355. 034: result:='Доплата за работу в выходные и праздничные дни';
  356. 036: result:='Персональная надбавка';
  357. 046: result:='Премия за обучение молодых рабочих';
  358. 048: result:='Доплата за руководство практикой студентов';
  359. 049: result:='Доплата за теоретическое обучение';
  360. 052: result:='Оплата труда изобретателей и изобретателей';
  361. 053: result:='Единовременное вознаграждение за снижение технологической трудоемкости';
  362. 058: result:='Вознаграждение по результатам работам за год';
  363. 063: result:='Доплата за стаж работы на конвейере';
  364. 065: result:='Премия РСиС за основные рез-ты хоз-ной деят-ти';
  365. 066: result:='Премия за выполнение отдельных показателей хозяйственной деятельности';
  366. 067: result:='Премия за повышение эффективности производства';
  367. 068: result:='Премия за трудовую активность';
  368. 069: result:='Премия за экономию всех видов ресурсов';
  369. 070: result:='Премия за ускорение подготовки производства';
  370. 079: result:='Прочие выплаты и премии по основной зарплате';
  371. 110: result:='Пособие по временной нетрудоспособности за первые 2 дня';
  372. 125: result:='Доплата до средней заработной платы';
  373. 130: result:='Оплата простоя на рабочем месте по вине работодателя';
  374. 131: result:='Оплата простоя на рабочем месте не по вине работодателя';
  375. 132: result:='Оплата простоя по вине работодателя при отсутствии работника на рабочем месте';
  376. 136: result:='Компенсация за неиспользованный отпуск';
  377. 137: result:='Оплата часов гособязанностей';
  378. 138: result:='Оплата очередного отпуска в счет текущего месяца';
  379. 139: result:='Оплата очередного отпуска в счет будущего месяца';
  380. 140: result:='Оплата времени прохожд
  381. 018: result:='Надбавка за классность';
  382. 019: result:='Доплата за ненормированный рабочий день';
  383. 022: result:='Доплата за работу в вечернюю смену';
  384. 023: result:='Оплата донорам';
  385. 157: result:='Компенсационная выплата женщинам (матерям) по уходу за ребенком до 3-х лет';
  386. 158: result:='Оплата дней отпуска рабочим сверх установленных законодательством в счет текущего месяца';
  387. 159: result:='Оплата дней отпуска рабочим сверх установленных законодательством в счет будущего месяца';
  388. 166: result:='Вознаграждение за нерабочие праздничные дни';
  389. 167: result:='Вознаграждение за работу по непрерывному трехсменному графику';
  390. 168: result:='Премия за работу станочником в ОАО АВТОВАЗ';
  391. 169: result:='Вознаграждение за работу в выходные и праздничные дни по трехсменным графикам';
  392. 179: result:='Прочие выплаты по дополнительной зарплате';
  393. 180: result:='Доплата до бюджета прожиточного минимума';
  394. 261: result:='Премия единовременного характера в связи с праздничными и юбилейными датами';
  395. 293: result:='Премия непроизводственного характера';
  396. 294: result:='Оплата нерабочих дней по семейным обстоятельствам';
  397. 295: result:='Доп. пособие по уходу за ребенком до 3-х лет';
  398. 296: result:='Оплата дополнительного дородового отпуска';
  399. 298: result:='Прочие выплаты и премии из ФМП';
  400. 360: result:='Пособие по временной нетрудоспособности в счет прошлого месяца';
  401. 361: result:='Пособие по временной нетрудоспособности в счет текущего месяца';
  402. 362: result:='Пособие по временной нетрудоспособности в счет будущего месяца';
  403. 363: result:='Пособие по уходу за ребенком-инвалидом';
  404. 365: result:='Премия за содействие изобретательству';
  405. 367: result:='Единовременное пособие беременным женщинам';
  406. 368: result:='Авторское вознаграждение, не подтвержденное свидетельством авторских изобретений';
  407. 369: result:='Премия за содействие внедрению рацпредложений';
  408. 370: result:='Премия по итогу соревнования по БРИЗ';
  409. 372: result:='Пособие по уходу за ребенком до 1,5 лет';
  410. 375: result:='Доплата за раздачу проездных билетов';
  411. 376: result:='Депонированная заработная плата';
  412. 378: result:='Зарплата за оказание платных услуг';
  413. 384: result:='Сумма, начисл. за задержку выплаты зарплаты';
  414. 386: result:='Внесено в кассу';
  415. 388: result:='Материальная помощь по заявлению';
  416. 389: result:='Пенсионный взнос';
  417. 396: result:='Дивиденды и иные доходы от прироста капитала';
  418. 397: result:='Прочие выплаты и премии, не облагаемые налогом';
  419. 398: result:='Прочие выплаты и премии, облагаемые налогом';
  420. 441: result:='Удержания за спецодежду';
  421. 442: result:='Удержания за инструмент';
  422. 443: result:='Удержания за материальный ущерб';
  423. 445: result:='Удержания в пользу профтехучилища';
  424. 446: result:='Удержания в пользу других организаций';
  425. 448: result:='Квартирная плата по заявлению в УК №2';
  426. 449: result:='Оплата за услуги телевидения';
  427. 451: result:='Взносы независимых профсоюзов';
  428. 458: result:='Выплаченное вознаграждение';
  429. 463: result:='Погашение задолженности по договору с рассрочкой платежа';
  430. 464: result:='Ссуда молодым семьям';
  431. 465: result:='Перечисление в негосударственный пенсионный фонд';
  432. 467: result:='Страховые взносы АО Самара-АСКО';
  433. 468: result:='Страховые взносы ПК Социальный';
  434. 469: result:='Страховые взносы ОАО АСТРО-ВОЛГА';
  435. 470: result:='Страховые взносы СК ЭКСПЕРТ';
  436. 475: result:='Налог с дивидендов';
  437. 477: result:='Налог с доходов по ставке 35%';
  438. 478: result:='Удержание за проживание в общежитии';
  439. 479: result:='Плановый аванс, перечисленный в банк';
  440. 480: result:='Налог с доходов по ставке 13%';
  441. 481: result:='Отчисления в негосударственный пенсионный фонд';
  442. 482: result:='Плановый аванс';
  443. 483: result:='Разовые выплаты';
  444. 484: result:='Перечисление заработной платы в банк';
  445. 485: result:='Перечисление отпускных в банк';
  446. 486: result:='Удержание за питание по талонам';
  447. 487: result:='За брак деталей и полуфабрикатов';
  448. 488: result:='Алименты';
  449. 489: result:='Другие исполнительные листы';;
  450. 157: result:='Компенсационная выплата женщинам (матерям) по уходу за ребенком до 3-х лет';
  451. 158: result:='Оплата дней отпуска рабочим сверх установленных законодательством в счет текущего месяца';
  452. 159: result:='Оплата дней отпуска рабочим сверх установленных законодательством в счет будущего месяца';
  453. 166: result:='Вознаграждение за нерабочие праздничные дни';
  454. 167: result:='Вознаграждение за работу по непрерывному трехсменному графику';
  455. 168: result:='Премия за работу станочником в ОАО АВТОВАЗ';
  456. 169: result:='Вознаграждение за работу в выходные и праздничные дни по трехсменным графикам';
  457. 179: result:='Прочие выплаты по дополнительной зарплате';
  458. 180: result:='Доплата до бюджета прожиточного минимума';
  459. 261: result:='Премия единовременного характера в связи с праздничными и юбилейными датами';
  460. 293: result:='Премия непроизводственного характера';
  461. 294: result:='Оплата нерабочих дней по семейным обстоятельствам';
  462. 295: result:=''<ude[4+i*2].text;
  463. ude[4+i*2].Hint:=kodvaz(a5[i].kod); /// описание кода
  464. ude[5+i*2].text:=curr2str(a5[i].sum);
  465. end;
  466. //// na2
  467. for i:=0 to 15 do
  468. begin
  469. na2e[0+i*3].text:=kod2str(n1[i].kod);
  470. na2e[0+i*3].ShowHint:=''<na2e[0+i*3].text;
  471. na2e[0+i*3].Hint:=kodvaz(n1[i].kod);
  472. na2e[1+i*3].text:=chas2str(n1[i].chas);
  473. na2e[2+i*3].text:=curr2str(n1[i].sum);
  474. end;
  475. /// na1
  476. na1e[16].text:=curr2str(u5);
  477. na1e[17].text:=curr2str(t2);
  478. na1e[18].text:=curr2str(u10);
  479. na1e[19].text:=curr2str(t3);
  480. na1e[0].text:=chas2str(u1.chas);
  481. na1e[1].text:=curr2str(u1.sum);
  482. na1e[2].text:=chas2str(u2.chas);
  483. na1e[3].text:=curr2str(u2.sum);
  484. na1e[4].text:=chas2str(u3.chas);
  485. na1e[5].text:=curr2str(u3.sum);
  486. na1e[6].text:=chas2str(u4.chas);
  487. na1e[7].text:=curr2str(u4.sum);
  488.  
  489. na1e[8].text:=chas2str(u6.chas);
  490. na1e[9].text:=curr2str(u6.sum);
  491. na1e[10].text:=chas2str(u7.chas);
  492. na1e[11].text:=curr2str(u7.sum);
  493. na1e[12].text:=chas2str(u8.chas);
  494. na1e[13].text:=curr2str(u8.sum);
  495. na1e[14].text:=chas2str(u9.chas);
  496. na1e[15].text:=curr2str(u9.sum);
  497. /// hat
  498. hate[0].text:=kod2str(r6);
  499. hate[1].text:=kod2str(r7);
  500. hate[2].text:=rd2str(r8);
  501. hate[3].text:=curr2str(r9);
  502. end;
  503. end;
  504.  
  505.  
  506. function createl(x,y,w,h: integer; s: string): tlabel;
  507. begin
  508. result:=tlabel.create(form1);
  509. with result do
  510. begin
  511. wordwrap:=true;
  512. caption:=s;
  513. autosize:=false;
  514. alignment:=tacenter;
  515. color:=clwhite;//cllime;
  516. font.Name:='arial';
  517. font.Size:=5;
  518. width:=w;
  519. height:=h;
  520. parent:=form1.Panel1;
  521. top:=y;
  522. left:=x;
  523. hint:=s;
  524. showhint:=true;
  525. end;
  526. end;
  527.  
  528.  
  529. function createe(x,y,w,h: integer; s: string): tedit;
  530. begin
  531. result:=tedit.create(form1);
  532. with result do
  533. begin
  534. color:=rgb($f0,$f0,$a0);//clyellow;
  535. autosize:=false;
  536. borderstyle:=bsnone;
  537. width:=w;
  538. height:=h;
  539. text:='';
  540. parent:=form1.Panel1;
  541. top:=y;
  542. left:=x;
  543. end;
  544. end;
  545.  
  546.  
  547. procedure uderj;
  548. var i,j,k,i1,i2,i3,i4: integer;
  549. begin
  550. with form1 do
  551. begin
  552. ///////////////// удержания лейблы
  553. udl[0]:=createl(image2.left+1,image2.top+1,
  554. tooi(2,udgi)-1,tooi(2,udvi)-1,'Аванс');
  555. udl[1]:=createl(1+image2.left+tooi(2,udgi),image2.top+1,
  556. tooi(2,udgi)-1,tooi(2,udvi)-1,'Подоход. налог');
  557. udl[2]:=createl(1+image2.left+tooi(3,udgi),image2.top+1,
  558. tooi(4,udgi)-tooi(3,udgi)-1,tooi(2,udvi)-1,'Код');
  559. udl[3]:=createl(1+image2.left+tooi(4,udgi),image2.top+1,
  560. tooi(5,udgi)-tooi(4,udgi)-1,tooi(2,udvi)-1,'Сумма');
  561. udl[4]:=createl(1+image2.left+tooi(5,udgi),image2.top+1,
  562. tooi(6,udgi)-tooi(5,udgi)-1,tooi(2,udvi)-1,'Код');
  563. udl[5]:=createl(1+image2.left+tooi(6,udgi),image2.top+1,
  564. tooi(7,udgi)-tooi(6,udgi)-1,tooi(2,udvi)-1,'Сумма');
  565. udl[6]:=createl(1+image2.left+tooi(7,udgi),image2.top+1,
  566. tooi(8,udgi)-tooi(7,udgi)-1,tooi(2,udvi)-1,'Код');
  567. udl[7]:=createl(1+image2.left+tooi(8,udgi),image2.top+1,
  568. tooi(9,udgi)-tooi(8,udgi)-1,tooi(2,udvi)-1,'Сумма');
  569. udl[8]:=createl(1+image2.left+tooi(9,udgi),image2.top+1,
  570. tooi(10,udgi)-tooi(9,udgi)-1,tooi(2,udvi)-1,'Код');
  571. udl[9]:=createl(1+image2.left+tooi(10,udgi),image2.top+1,
  572. tooi(11,udgi)-tooi(10,udgi)-1,tooi(2,udvi)-1,'Сумма');
  573. udl[10]:=createl(1+image2.left+tooi(1,udgi),
  574. 1+image2.top+tooi(3,udvi),
  575. tooi(2,udgi)-tooi(1,udgi)-1,
  576. tooi(4,udvi)-tooi(3,udvi)-1,'Профсоюз.'#10#13'взносы');
  577. udl[11]:=createl(1+image2.left+tooi(2,udgi),
  578. 1+image2.top+tooi(3,udvi),
  579. tooi(3,udgi)-tooi(2,udgi)-1,
  580. tooi(4,udvi)-tooi(3,udvi)-1,'Долг прошлого'#10#13'месяца');
  581. ///////////////////// удержания эдиты
  582. ude[0]:=createe(1+image2.left+tooi(1,udgi),
  583. 1+image2.top+tooi(2,udvi),
  584. tooi(2,udgi)-tooi(1,udgi)-1,
  585. tooi(4,udvi)-tooi(3,udvi)-1,'0');
  586. ude[1]:=createe(1+image2.left+tooi(2,udgi),
  587. 1+image2.top+tooi(2,udvi),
  588. tooi(3,udgi)-tooi(2,udgi)-1,
  589. tooi(4,udvi)-tooi(3,udvi)-1,'1');
  590. ude[2]:=createe(1+image2.left+tooi(1,udgi),
  591. 1+image2.top+tooi(4,udvi),
  592. tooi(2,udgi)-tooi(1,udgi)-1,
  593. tooi(4,udvi)-tooi(3,udvi),'2');
  594. u''<ude[4+i*2].text;
  595. ude[4+i*2].Hint:=kodvaz(a5[i].kod); //image2.top+tooi(4,udvi),
  596. tooi(3,udgi)-tooi(2,udgi)-1,
  597. tooi(4,udvi)-tooi(3,udvi),'3');
  598. for i:=0 to 2 do
  599. begin
  600. ude[4+i*2]:=createe(1+image2.left+tooi(3,udgi),
  601. 1+image2.top+tooi(2+i,udvi),
  602. tooi(4,udgi)-tooi(3,udgi)-1,
  603. tooi(4,udvi)-tooi(3,udvi),inttostr(4+i*2));
  604. ude[5+i*2]:=createe(1+image2.left+tooi(4,udgi),
  605. 1+image2.top+tooi(2+i,udvi),
  606. tooi(5,udgi)-tooi(4,udgi)-1,
  607. tooi(4,udvi)-tooi(3,udvi),inttostr(5+i*2));
  608. end;
  609. for i:=0 to 2 do
  610. begin
  611. ude[4+6+i*2]:=createe(1+image2.left+tooi(5,udgi),
  612. 1+image2.top+tooi(2+i,udvi),
  613. tooi(6,udgi)-tooi(5,udgi)-1,
  614. tooi(4,udvi)-tooi(3,udvi),inttostr(4+6+i*2));
  615. ude[5+6+i*2]:=createe(1+image2.left+tooi(6,udgi),
  616. 1+image2.top+tooi(2+i,udvi),
  617. tooi(7,udgi)-tooi(6,udgi)-1,
  618. tooi(4,udvi)-tooi(3,udvi),inttostr(5+6+i*2));
  619. end;
  620. for i:=0 to 2 do
  621. begin
  622. ude[4+12+i*2]:=createe(1+image2.left+tooi(7,udgi),
  623. 1+image2.top+tooi(2+i,udvi),
  624. tooi(8,udgi)-tooi(7,udgi)-1,
  625. tooi(4,udvi)-tooi(3,udvi),inttostr(4+12+i*2));
  626. ude[5+12+i*2]:=createe(1+image2.left+tooi(8,udgi),
  627. 1+image2.top+tooi(2+i,udvi),
  628. tooi(9,udgi)-tooi(8,udgi)-1,
  629. tooi(4,udvi)-tooi(3,udvi),inttostr(5+12+i*2));
  630. end;
  631. for i:=0 to 2 do
  632. begin
  633. ude[4+18+i*2]:=createe(1+image2.left+tooi(9,udgi),
  634. 1+image2.top+tooi(2+i,udvi),
  635. tooi(10,udgi)-tooi(9,udgi)-1,
  636. tooi(4,udvi)-tooi(3,udvi),inttostr(4+18+i*2));
  637. ude[5+18+i*2]:=createe(1+image2.left+tooi(10,udgi),
  638. 1+image2.top+tooi(2+i,udvi),
  639. tooi(11,udgi)-tooi(10,udgi)-1,
  640. tooi(4,udvi)-tooi(3,udvi),inttostr(5+18+i*2));
  641. end;
  642. end;
  643. end;
  644.  
  645.  
  646. procedure nachis2;
  647. var i,j,k,i1,i2,i3,i4: integer;
  648. begin
  649. with form1 do
  650. begin
  651. ////////////// начисления-2 лейблы
  652. for i:=0 to 3 do
  653. begin
  654. na2l[i+0]:=createl(1+image3.left+tooi(i*3+1,na2g),
  655. 1+image3.top+tooi(1,na2v),
  656. tooi(2,na2g)-tooi(1,na2g)-1,
  657. tooi(2,na2v)-tooi(1,na2v)-1,'Код'); //
  658. na2l[i+1]:=createl(1+image3.left+tooi(i*3+2,na2g),
  659. 1+image3.top+tooi(1,na2v),
  660. tooi(3,na2g)-tooi(2,na2g)-1,
  661. tooi(2,na2v)-tooi(1,na2v)-1,'Часы');
  662. na2l[i+2]:=createl(1+image3.left+tooi(i*3+3,na2g),
  663. 1+image3.top+tooi(1,na2v),
  664. tooi(4,na2g)-tooi(3,na2g)-1,
  665. tooi(2,na2v)-tooi(1,na2v)-1,'Суммa');
  666. end;
  667. //////// начисление-2 эдиты na1g
  668. for j:=0 to 3 do
  669. for i:=0 to 3 do
  670. begin
  671. i1:=j*12+i*3+0;
  672. i2:=j*12+i*3+1;
  673. i3:=j*12+i*3+2;
  674. na2e[i1]:=createe(1+image3.left+tooi(i*3+1,na2g),
  675. 1+image3.top+tooi(j+2,na2v),
  676. tooi(2,na2g)-tooi(1,na2g)-1,
  677. tooi(3,na2v)-tooi(2,na2v),inttostr(i1)); //
  678. na2e[i2]:=createe(1+image3.left+tooi(i*3+2,na2g),
  679. 1+image3.top+tooi(j+2,na2v),
  680. tooi(3,na2g)-tooi(2,na2g)-1,
  681. tooi(3,na2v)-tooi(2,na2v),inttostr(i2)); //'Ч');
  682. na2e[i3]:=createe(1+image3.left+tooi(i*3+3,na2g),
  683. 1+image3.top+tooi(j+2,na2v),
  684. tooi(4,na2g)-tooi(3,na2g)-1,
  685. tooi(3,na2v)-tooi(2,na2v),inttostr(i3)); //'С');
  686. end;
  687. end;
  688. end;
  689.  
  690.  
  691. procedure nachis1;
  692. var i,j,k,i1,i2,i3,i4: integer;
  693. begin
  694. with form1 do
  695. begin
  696. /////////начислено-1 лэйбл
  697. for i:=0 to 3 do
  698. begin
  699. na1l[i*2+0]:=createl(1+image4.left+tooi(i*2+1,na1g),
  700. 1+image4.top+tooi(1,na1v),
  701. tooi(2,na1g)-tooi(1,na1g)-1,
  702. tooi(2,na1v)-tooi(1,na1v)-1,
  703. 'Часы');
  704. na1l[i*2+1]:=createl(1+image4.left+tooi(i*2+2,na1g),
  705. 1+image4.top+tooi(1,na1v),
  706. tooi(3,na1g)-tooi(2,na1g)-1,
  707. tooi(2,na1v)-tooi(1,na1v)-1,
  708. 'Сумма');
  709. end;
  710. na1l[8]:=createl(1+image4.left+tooi(9,na1g),
  711. 1+image4.top+tooi(1,na1v),
  712. tooi(3,na1g)-tooi(2,na1g)-1,
  713. tooi(2,na1v)-tooi(1,na1v)-1,
  714. 'Сумма');
  715. na1l[9]:=createl(3+image4.left+tooi(10,na1g),
  716. 3+image4.top+tooi(1
  717. ,
  718. tooi(3,udgi)-tooi(2,udgi)-1,
  719. tooi(4,udvi)-tooi(3,udvi),'3');
  720. for i:=0 to 2 do
  721. begin
  722. ude[4+i*2]:=createe(1+image2.left+tooi(3,udgi),
  723. 1+image2.top+tooi(2+i,udvi),
  724. tooi(4,udgi)-tooi(3,udgi)-1,
  725. tooi(4,udvi)-tooi(3,udvi),inttostr(4+i*2));
  726. ude[5+i*2]:=createe(1+image2.left+tooi(4,udgi),
  727. 1+image2.top+tooi(2+i,udvi),
  728. tooi(5,udgi)-tooi(4,udgi)-1,
  729. tooi(4,udvi)-tooi(3,udvi),inttostr(5+i*2));
  730. end;
  731. for i:=0 to 2 do
  732. begin
  733. ude[4+6+i*2]:=createe(1+image2.left+tooi(5,udgi),
  734. 1+image2.top+tooi(2+i,udvi),
  735. tooi(6,udgi)-tooi(5,udgi)-1,
  736. tooi(4,udvi)-tooi(3,udvi),inttostr(4+6+i*2));
  737. ude[5+6+i*2]:=createe(1+image2.left+tooi(6,udgi),
  738. 1+image2.top+tooi(2+i,udvi),
  739. tooi(7,udgi)-tooi(6,udgi)-1,
  740. tooi(4,udvi)-tooi(3,udvi),inttostr(5+6+i*2));
  741. end;
  742. for i:=0 to 2 do
  743. begin
  744. ude[4+12+i*2]:=createe(1+image2.left+tooi(7,udgi),
  745. 1+image2.top+tooi(2+i,udvi),
  746. tooi(8,udgi)-tooi(7,udgi)-1,
  747. tooi(4,udvi)-tooi(3,udvi),inttostr(4+12+i*2));
  748. ude[5+12+i*2]:=createe(1+image2.left+tooi(8,udgi),
  749. 1+image2.top+tooi(2+i,udvi),
  750. tooi(9,udgi)-tooi(8,udgi)-1,
  751. tooi(4,udvi)-tooi(3,udvi),inttostr(5+12+i*2));
  752. end;
  753. for i:=0 to 2 do
  754. begin
  755. ude[4+18+i*2]:=createe(1+image2.left+tooi(9,udgi),
  756. 1+image2.top+tooi(2+i,udvi),
  757. tooi(10,udgi)-tooi(9,udgi)-1,
  758. tooi(4,udvi)-tooi(3,udvi),inttostr(4+18+i*2));
  759. ude[5+18+i*2]:=createe(1+image2.left+tooi(10,udgi),
  760. 1+image2.top+tooi(2+i,udvi),
  761. tooi(11,udgi)-tooi(10,udgi)-1,
  762. tooi(4,udvi)-tooi(3,udvi),inttostr(5+18+i*2));
  763. end;
  764. end;
  765. end;
  766.  
  767.  
  768. procedure nachis2;
  769. var i,j,k,i1,i2,i3,i4: integer;
  770. begin
  771. with form1 do
  772. begin
  773. //'по больничным листам');
  774. na1l[19]:=createl(1+image4.left+tooi(9,na1g),
  775. 1+image4.top+tooi(4,na1v),
  776. tooi(10,na1g)-tooi(9,na1g)-1,
  777. tooi(3,na1v)-tooi(2,na1v)-1,
  778. 'Доплата за'#10#13'условия труда');
  779. na1l[20]:=createl(3+image4.left+tooi(10,na1g),
  780. 1+image4.top+tooi(4,na1v),
  781. tooi(11,na1g)-tooi(10,na1g)-5,
  782. tooi(3,na1v)-tooi(2,na1v)-1,
  783. 'Премия РСиС');
  784. ////////// начисления-1 эдиты
  785. for i:=0 to 3 do
  786. begin
  787. i1:=i*2;
  788. i2:=i*2+1;
  789. na1e[i1]:=createe(1+image4.left+tooi(i*2+1,na1g),
  790. 1+image4.top+tooi(3,na1v),
  791. tooi(2,na1g)-tooi(1,na1g)-1,
  792. tooi(3,na1v)-tooi(2,na1v)-1,'К+'+inttostr(i1)); //
  793. na1e[i2]:=createe(1+image4.left+tooi(i*2+2,na1g),
  794. 1+image4.top+tooi(3,na1v),
  795. tooi(3,na1g)-tooi(2,na1g)-1,
  796. tooi(3,na1v)-tooi(2,na1v)-1,'Ч+'+inttostr(i2));
  797. end;
  798. for i:=0 to 3 do
  799. begin
  800. i1:=8+i*2;
  801. i2:=9+i*2;
  802. na1e[i1]:=createe(1+image4.left+tooi(i*2+1,na1g),
  803. 1+image4.top+tooi(5,na1v),
  804. tooi(2,na1g)-tooi(1,na1g)-1,
  805. tooi(3,na1v)-tooi(2,na1v)-1,'К-'+inttostr(i1)); //
  806. na1e[i2]:=createe(1+image4.left+tooi(i*2+2,na1g),
  807. 1+image4.top+tooi(5,na1v),
  808. tooi(3,na1g)-tooi(2,na1g)-1,
  809. tooi(3,na1v)-tooi(2,na1v)-1,'Ч-'+inttostr(i2));
  810. end;
  811. na1e[16]:=createe(1+image4.left+tooi(9,na1g),
  812. 1+image4.top+tooi(3,na1v),
  813. tooi(10,na1g)-tooi(9,na1g)-1,
  814. tooi(3,na1v)-tooi(2,na1v)-1,'hy16');
  815. na1e[17]:=createe(3+image4.left+tooi(10,na1g),
  816. 1+image4.top+tooi(3,na1v),
  817. tooi(11,na1g)-tooi(10,na1g)-5,
  818. tooi(3,na1v)-tooi(2,na1v)-1,'za17');
  819. na1e[18]:=createe(1+image4.left+tooi(9,na1g),
  820. 1+image4.top+tooi(5,na1v),
  821. tooi(10,na1g)-tooi(9,na1g)-1,
  822. tooi(3,na1v)-tooi(2,na1v)-1,'bo18');
  823. na1e[19]:=createe(3+image4.left+tooi(10,na1g),
  824. 1+image4.top+tooi(5,na1v),
  825. tooi(11,na1g)-tooi(10,na1g)-5,
  826. tooi(3,na1v)-tooi(2,na1v)-3,'ta19');
  827. end;
  828. end;
  829.  
  830.  
  831. procedure hatto;
  832. var i,j,k: integer;
  833. begin
  834. ///// шапка лейблы
  835. with form1 do
  836. begin
  837. hatl[0]:=createl(1+image5.left+tooi(1,hatg),
  838. 1+image5.top+tooi(1,hatv),
  839. tooi(2,hatg)-tooi(1,hatg)-1,
  840. tooi(2,hatv)-tooi(1,hatv)-1,
  841. 'Професс.'#10#13'должность');
  842. hatl[1]:=createl(1+image5.left+tooi(2,hatg),
  843. 1+image5.top+tooi(1,hatv),
  844. tooi(3,hatg)-tooi(2,hatg)-1,
  845. tooi(2,hatv)-tooi(1,hatv)-1,
  846. 'Kод'#10#13'налога');
  847. hatl[2]:=createl(1+image5.left+tooi(3,hatg),
  848. 1+image5.top+tooi(1,hatv),
  849. tooi(4,hatg)-tooi(3,hatg)-1,
  850. tooi(2,hatv)-tooi(1,hatv)-1,
  851. 'Р-д');
  852. hatl[3]:=createl(1+image5.left+tooi(4,hatg),
  853. 1+image5.top+tooi(1,hatv),
  854. tooi(5,hatg)-tooi(4,hatg)-1,
  855. tooi(2,hatv)-tooi(1,hatv)-1,
  856. 'Тарифн. ставка'#10#13'оклад');
  857. hatl[4]:=createl(3+image5.left+tooi(5,hatg),
  858. 3+image5.top+tooi(1,hatv),
  859. tooi(6,hatg)-tooi(5,hatg)-5,
  860. tooi(3,hatv)-tooi(1,hatv)-3,
  861. 'Табельный номер');
  862. ///// шапка эдиты
  863. hate[0]:=createe(1+image5.left+tooi(1,hatg),
  864. 1+image5.top+tooi(2,hatv),
  865. tooi(2,hatg)-tooi(1,hatg)-1,
  866. tooi(3,hatv)-tooi(2,hatv)-1,'П-0');
  867. hate[1]:=createe(1+image5.left+tooi(2,hatg),
  868. 1+image5.top+tooi(2,hatv),
  869. tooi(3,hatg)-tooi(2,hatg)-1,
  870. tooi(3,hatv)-tooi(2,hatv)-1,'K-1');
  871. hate[2]:=createe(1+image5.left+tooi(3,hatg),
  872. 1+image5.top+tooi(2,hatv),
  873. tooi(4,hatg)-tooi(3,hatg)-1,
  874. tooi(3,hatv)-tooi(2,hatv)-1,'Р-2');
  875. hate[3]:=createe(1+image5.left+tooi(4,hatg),
  876. 1+image5.top+tooi(2,hatv),
  877. tooi(5,hatg)-tooi(4,hatg)-1,
  878. tooi(3,hatv)-tooi(2,hatv)-1,'Т-3');
  879. end;
  880. end;
  881.  
  882.  
  883. procedure dno; // донные ячейки
  884. var i,j,k,i1,i2,i3,i4: integer;
  885. begin
  886. with form1 do
  887. begin
  888. dnoe[0]:=createe(image1.left+dnogi[1]+1,image1.top+11,
  889. tooi(3,dnogi)-tooi(2,dnogi)-1,12,'010nx');
  890. dnoe[1]:=createe(image1.left+dnogi[1]+1,image1.top+11+dnovi[2],
  891. tooi(3,dnogi)-tooi(2,dnogi)-1,12,'020nx');
  892. dnoe[2]:=createe(image1.left+dnogi[1]+1,image1.top+1+tooi(4,dnovi),
  893. dnoe[1].Width,tooi(5,dnovi)-tooi(4,dnovi)-1,'030nx');
  894. dnoe[3]:=createe(image1.left+tooi(3,dnogi)+1,image1
  895. ;
  896. na1l[19]:=createl(1+image4.left+tooi(9,na1g),
  897. 1+image4.top+tooi(4,na1v),
  898. tooi(10,na1g)-tooi(9,na1g)-1,
  899. tooi(3,na1v)-tooi(2,na1v)-1,
  900. 'Доплата за'#10#13'условия труда');
  901. na1l[20]:=createl(3+image4.left+tooi(10,na1g),
  902. 1+image4.top+tooi(4,na1v),
  903. tooi(11,na1g)-tooi(10,na1g)-5,
  904. tooi(3,na1v)-tooi(2,na1v)-1,
  905. 'Премия РСиС');
  906. //.left+tooi(4,dnogi)+1,dnoe[2].top,
  907. tooi(5,dnogi)-tooi(4,dnogi)-1,tooi(5,dnovi)-tooi(4,dnovi)-1,'050nx');
  908. dnoe[8]:=createe(image1.left+tooi(5,dnogi)+1+2,dnoe[2].top,
  909. tooi(6,dnogi)-tooi(5,dnogi)-1-2,tooi(5,dnovi)-tooi(4,dnovi)-1-2,'050nx');
  910. dnoe[9]:=createe(image1.left+tooi(6,dnogi)+1+2,dnoe[2].top,
  911. 29-2,tooi(5,dnovi)-tooi(4,dnovi)-1-2,'050nx');
  912. dnoe[10]:=createe(image1.left+tooi(7,dnogi)+1,dnoe[2].top,
  913. tooi(8,dnogi)-tooi(7,dnogi)-1-2,tooi(5,dnovi)-tooi(4,dnovi)-1-2,'050nx');
  914.  
  915.  
  916.  
  917. dnol[0]:=createl(image1.left+1,image1.top+1,
  918. tooi(3,dnogi)-tooi(1,dnogi)-1,9,
  919. 'Средняя заработная плата');
  920. dnol[1]:=createl(image1.left+1+tooi(3,dnogi),image1.top+1,
  921. tooi(6,dnogi)-tooi(5,dnogi)-1,9,
  922. 'Инд. фонд времени');
  923. dnol[2]:=createl(image1.left+1+tooi(4,dnogi),image1.top+1,
  924. tooi(6,dnogi)-tooi(5,dnogi)-1,9,
  925. 'Начислено');
  926. dnol[3]:=createl(image1.left+1+tooi(5,dnogi),image1.top+1,
  927. tooi(6,dnogi)-tooi(5,dnogi)-1,9,
  928. 'Удержано');
  929. dnol[4]:=createl(image1.left+1+tooi(6,dnogi)+2,image1.top+1+2,
  930. tooi(8,dnogi)-tooi(6,dnogi)-1-4,tooi(3,dnovi)-tooi(1,dnovi)-1-2,'Перечислено'+#10#13+
  931. ' в банк');
  932. dnol[5]:=createl(image1.left+1,image1.top+1+tooi(2,dnovi),
  933. tooi(2,dnogi)-tooi(0,dnogi)-1,12,'За последние 2 календарных года для'+#10#13+
  934. 'оплаты больничных (дневная)');
  935. dnol[6]:=createl(image1.left+1,image1.top+1+tooi(3,dnovi),
  936. tooi(2,dnogi)-tooi(0,dnogi)-1,12,'За последние 12 месяцев '+#10#13+
  937. 'для оплаты по среднему (часовая)');
  938. dnol[7]:=createl(image1.left+1,image1.top+1+tooi(4,dnovi),
  939. tooi(2,dnogi)-tooi(0,dnogi)-1,tooi(5,dnovi)-tooi(4,dnovi)-1,'За последние 12 месяцев '+#10#13+
  940. 'для оплаты отпуска (дневная)');
  941. dnol[8]:=createl(dnol[1].left,dnol[6].top,tooi(6,dnogi)-tooi(5,dnogi)-1,12,
  942. 'Причитается');
  943. dnol[9]:=createl(dnol[2].left,dnol[6].top,tooi(6,dnogi)-tooi(5,dnogi)-1,12,
  944. 'Долг за работающим');
  945. dnol[10]:=createl(dnol[3].left+2,dnol[6].top+2,tooi(6,dnogi)-tooi(5,dnogi)-1-2,12-2,
  946. 'Сумма к выплате');
  947. dnol[11]:=createl(dnol[4].left,dnol[6].top+2,29-2,12-2,
  948. 'Код');
  949. dnol[12]:=createl(image1.left+1+tooi(7,dnogi),
  950. dnol[6].top+2,
  951. tooi(8,dnogi)-tooi(7,dnogi)-1-2,12-2,
  952. 'Сумма');
  953. end;
  954. end;
  955.  
  956.  
  957. procedure TForm1.FormCreate(Sender: TObject);
  958. const c100: array[boolean]of tcolor=(clwhite,cllime);
  959. var i,j,k,i1,i2,i3,i4: integer;
  960. begin
  961. //////// удержания лейблы
  962. uderj;
  963. ////////////// начисления-2 лейблы
  964. nachis2;
  965. /////////начислено-1 лэйбл
  966. nachis1;
  967. ///// шапка лейблы
  968. hatto;
  969. with image1.Canvas do
  970. begin
  971. brush.color:=clblue;//clyellow;
  972. fillrect(rect(0,0,521,tooi(5,dnovi)+1));//
  973. end;
  974. with image2.Canvas do
  975. begin
  976. brush.color:=clblue;
  977. fillrect(rect(0,0,521,2+tooi(6,udvi))); //
  978. end;
  979. with image3.Canvas do
  980. begin
  981. brush.color:=clblue; //clred;//clyellow; //
  982. fillrect(rect(0,0,521,2+tooi(6,na2v))); //
  983. end;
  984. with image4.Canvas do
  985. begin
  986. brush.color:=clblue; //clgreen;//
  987. fillrect(rect(0,0,521,1+tooi(6,na1v))); //
  988. end;
  989. with image5.Canvas do
  990. begin
  991. brush.color:=clblue; //clred;//clgreen;//
  992. fillrect(rect(0,0,521,1+tooi(3,hatv))); //
  993. end;
  994. dno; // дно
  995. for i:=1 to 12 do //
  996. begin
  997. pn[i]:=tpanel.create(form1);
  998. with pn[i] do
  999. begin
  1000. top:=12;
  1001. left:=20+(i-1)*49;
  1002. width:=40;
  1003. height:=20;
  1004. font.Color:=clblue;
  1005. color:=c100[i=1];
  1006. caption:=sa[i];
  1007. tag:=i;
  1008. onmousedown:=ck;
  1009. parent:=panel2;
  1010. end;
  1011. end;
  1012. for i:=1969 to 2069 do
  1013. combobox1.items.Add(inttostr(i));
  1014. button6.OnClick(self); // загрузить из файлов
  1015. bio:=boob[cury]; // первый год
  1016. vw;
  1017. vw2;
  1018. application.ProcessMessages;
  1019. end;
  1020.  
  1021.  
  1022. procedure TForm1.ck(Sender: TObject; Button: TMouseButton;
  1023. Shift: TShiftState; X, Y: Integer);
  1024. const cc: array[boolean]of tcolor=(clwhite,cllime);
  1025. var i: integer;
  1026. begin
  1027. cur:=(sender as tpanel).tag;
  1028. mont.text:=sa[cur];
  1029. label2.caption:=(sender as tpanel).caption;
  1030. for i:=1 to 12 do
  1031. pn[i].color:=cc[i=(sender as tpanel).tag];
  1032. vw;
  1033. end;
  1034.  
  1035.  
  1036. function NameNoExt(x: string): string;
  1037. begin // имя файла без расширения
  1038. result:=Copy(x,1,length(x)-length(ExtractFileExt(x)));
  1039. end;
  1040.  
  1041.  
  1042. function str2curr(x: string): currency;
  1043. begin
  1044. x:=trim(x);
  1045. x:=stringreplace(x,'.',',',[rfReplaceAll]);
  1046. result:=0;
  1047. if x='' then exit;
  1048. result:=strtocurr(x);
  1049. end;
  1050.  
  1051.  
  1052. procedure TForm1.ComboBox1Change(Sender: TObject);
  1053. begin
  1054. bio:=boob[ComboBox1.ItemIndex];
  1055. cury:=ComboBox1.ItemIndex;
  1056. year.text:=inttostr(1969+ComboBox1.ItemIndex);
  1057. vw;
  1058. vw2;
  1059. end;
  1060.  
  1061. procedure TForm1.Button6Click(Sender: TObject);
  1062. var i: integer; s: string;
  1063. c: boolean;
  1064. begin
  1065. c:=true;
  1066. for i:=1969 to 2069 do
  1067. begin
  1068. s:=format('%d.vaz',[i]);
  1069. if not fileexists(s) then continue;
  1070. if c then
  1071. begin
  1072. c:=false;
  1073. cury:=i-1969;
  1074. ComboBox1.ItemIndex:=i-1969;
  1075. year.Text:=int
  1076. ,
  1077. tooi(5,dnogi)-tooi(4,dnogi)-1,tooi(5,dnovi)-tooi(4,dnovi)-1,'050nx');
  1078. dnoe[8]:=createe(image1.left+tooi(5,dnogi)+1+2,dnoe[2].top,
  1079. tooi(6,dnogi)-tooi(5,dnogi)-1-2,tooi(5,dnovi)-tooi(4,dnovi)-1-2,'050nx');
  1080. dnoe[9]:=createe(image1.left+tooi(6,dnogi)+1+2,dnoe[2].top,
  1081. 29-2,tooi(5,dnovi)-tooi(4,dnovi)-1-2,'050nx');
  1082. dnoe[10]:=createe(image1.left+tooi(7,dnogi)+1,dnoe[2].top,
  1083. tooi(8,dnogi)-tooi(7,dnogi)-1-2,tooi(5,dnovi)-tooi(4,dnovi)-1-2,'050nx');
  1084.  
  1085.  
  1086.  
  1087. dnol[0]:=createl(image1.left+1,image1.top+1,
  1088. tooi(3,dnogi)-tooi(1,dnogi)-1,9,
  1089. 'Средняя заработная плата');
  1090. dnol[1]:=createl(image1.left+1+tooi(3,dnogi),image1.top+1,
  1091. tooi(6,dnogi)-tooi(5,dnogi)-1,9,
  1092. 'Инд. фонд времени');
  1093. dnol[2]:=createl(image1.left+1+tooi(4,dnogi),image1.top+1,
  1094. tooi(6,dnogi)-tooi(5,dnogi)-1,9,
  1095. 'Начислено');
  1096. dnol[3]:=createl(image1.left+1+tooi(5,dnogi),image1.top+1,
  1097. tooi(6,dnogi)-tooi(5,dnogi)-1,9,
  1098. 'Удержано');
  1099. dnol[4]:=createl(image1.left+1+tooi(6,dnogi)+2,image1.top+1+2,
  1100. tooi(8,dnogi)-tooi(6,dnogi)-1-4,tooi(3,dnovi)-tooi(1,dnovi)-1-2,'Перечислено'+#10#13+
  1101. ' в банк');
  1102. dnol[5]:=createl(image1.left+1,image1.top+1+tooi(2,dnovi),
  1103. tooi(2,dnogi)-tooi(0,dnogi)-1,12,'За последние 2 календарных года для'+#10#13+
  1104. 'оплаты больничных (дневная)');
  1105. dnol[6]:=createl(image1.left+1,image1.top+1+tooi(3,dnovi),
  1106. tooi(2,dnogi)-tooi(0,dnogi)-1,12,'За последние 12 месяцев '+#10#13+
  1107. 'для оплаты по среднему (часовая)');
  1108. dnol[7]:=createl(image1.left+1,image1.top+1+tooi(4,dnovi),
  1109. tooi(2,dnogi)-tooi(0,dnogi)-1,tooi(5,dnovi)-tooi(4,dnovi)-1,'За последние 12 месяцев '+#10#13+
  1110. 'для оплаты отпуска (дневная)');
  1111. dnol[8]:=createl(dnol[1].left,dnol[6].top,tooi(6,dnogi)-tooi(5,dnogi)-1,12,
  1112. 'Причитается');
  1113. dnol[9]:=createl(dnol[2].left,dnol[6].top,tooi(6,dnogi)-tooi(5,dnogi)-1,12,
  1114. 'Долг за работающим');
  1115. dnol[10]:=createl(dnol[3].left+2,dnol[6].top+2,tooi(6,dnogi)-tooi(5,dnogi)-1-2,12-2,
  1116. 'Сумма к выплате');
  1117. dnol[11]:=createl(dnol[4].left,dnol[6].top+2,29-2,12-2,
  1118. 'Код');
  1119. dnol[12]:=createl(image1.left+1+tooi(7,dnogi),
  1120. dnol[6].top+2,
  1121. tooi(8,dnogi)-tooi(7,dnogi)-1-2,12-2,
  1122. 'Сумма');
  1123. end;
  1124. end;
  1125.  
  1126.  
  1127. procedure TForm1.FormCreate(Sender: TObject);
  1128. const c100: array[boolean]of tcolor=(clwhite,cllime);
  1129. var i,j,k,i1,i2,i3,i4: integer;
  1130. begin
  1131. // udvi:=butt([0,10,17,17,17]);
  1132. udgi:=butt([0,70,70,30,65,30,65,30,65,30,65]);
  1133. na2v:=butt([0,10,13,13,13,13]);
  1134. na2g:=butt([0,30,30,70,30,30,70,30,30,70,30,30,70]);
  1135. na1v:=butt([0,13,13,13,13,13]);
  1136. na1g:=butt([0,30,65,30,65,30,65,30,65,65,75]);
  1137. hatv:=butt([0,16,13]);
  1138. hatg:=butt([0,40,25,17,65,75]);
  1139. end.</code>
  1140.  

Ссылка на данный код:

На главную страницу сервиса обмена кодом »