Внедрение автоматизированного рабочего места ОАО "Уфалейникель" Серовский рудник

Анализ экономической информационной системы предприятия ОАО "Уфалейникель" Серовский рудник, обоснование необходимости ее совершенствования. Разработка АИС сбора информации, учета материальных ценностей: программное обеспечение, руководство пользователя.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 02.06.2011
Размер файла 4,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

A computer has the ability to automatically execute a program stored within itself. During execution of the program, the computer performs various digital operations (adding two numbers, moving data in and out of storage, reading in or printing out data, etc.) If the stored program is changed, the actions of the computer change. Thus, the computer actions depend on both the configuration of the computer hardware (the physical computer equipment) and the software (the programs stored within the computer).

A given computer capability can be provided either by hardware alone or by a combination of hardware and software. The choice of a given mixture of hardware and software depends on factors such as cost, speed, ease of maintenance, and flexibility.

There are three nominal levels of programming language: machine language, assembler language, and compiler language.

Компьютерная система Ксавье Пачеко. Руководство разработчика Delphi.:Западное издательское объединение, 2005. - С. 10-12.

Компьютерная система является собранием компонентов, которые сотрудничают, чтобы обработать данные. Цель компьютерной системы состоит в том, чтобы сделать это настолько легким насколько возможно для вас использовать компьютер, чтобы решить проблемы. Функционирующая компьютерная система комбинирует элементы аппаратных средств с элементами программного обеспечения. Элементы аппаратных средств - механические устройства в системе, машинах и электронике, которая выполняет физические функции.

Элементы программного обеспечения - программы, написанные для системы; эти программы выполняют логические и математические операции для вас, чтобы управлять системой. Документация включает руководства, и списки, которые объясняют, как использовать аппаратные средства и программное обеспечение.

Все вместе эти компоненты обеспечивают полную компьютерную систему: аппаратные средства системы + программное обеспечение системы + документация системы = компьютерная система. Обычно, компьютерная система требует эти пункты основного комплекта оборудования: компьютер, который выполняет всю обработку данных; устройство, используемое как пишущая машинка для двухсторонней коммуникации между пользователем и системой; и носитель данных для того, чтобы хранить программы и данные.

Компьютерные системы, обеспечивают (или используют) устройство памяти, потому что память - стандартные устройства хранения информации. Периферийные устройства относятся к категориям (ввода / вывода) информации, поскольку они обеспечивают (ввод) информации на компьютер, или (вывод) информации из компьютера, или то и другое. Принтеры - устройства, которые выполняют только операцию вывода.

Терминалы и устройства хранения - это устройства ввода/информации, они выполняют операции по вводу информации. Системное программное обеспечение- набор поставляемых программ, которые эффективно преобразовывают компоненты аппаратных средств системы в инструменты годные к употреблению. Эти программы включают в себя операций, функций и процедуры, которые делают ее легче использовать аппаратные средства для достижения результатов. Например, некоторые программы, системы хранят и восстанавливают данные среди различных периферийных устройств. Другие выполняют трудные или длинные математические вычисления. Некоторые программы позволяют вам создавать, редактировать, и обрабатывать прикладные программы. Системное программное обеспечение всегда работает под операционной системой, которая является основной" компьютерной системой. Обычно программное обеспечение включает в себя один или несколько языковых процессоров.

Программирование

Программирование - процесс подготовки ряда закодированной информации, которая, при выполнении компьютером, принимает решение определенной проблемы или выполняет определенные функции. Каждый компьютер и каждый язык программирования имеют собственный уникальный репертуар, метод операции, и т.д. Они должны быть изучены и поняты перед написанием программы на определенном языке для выполнения на компьютере.

Компьютер имеет способность автоматически выполнить программу, сохраненную в пределах себя. В течение выполнения программы, компьютер выполняет различные цифровые операции (сложение двух чисел, перемещение данные «в» и «из» хранения, читая в или распечатывая данные, и т.д.), Если сохраненная программа изменена, действия компьютерного изменяются. Таким образом, компьютерные действия зависят от двух конфигураций,

компьютерных аппаратных средств (физическое компьютерное оборудование) и программного обеспечения (программы, сохраненные в памяти)

Данную компьютерную способность можно обеспечить или аппаратными средствами одними или комбинацией аппаратных средств и программного обеспечения. Выбор аппаратных средств и программного обеспечения зависит от факторов, типа, стоимости, скорости, непринужденности обслуживания, и гибкости. Есть три номинальных уровня языка программирования: машинный код, язык ассемблера, и язык компилятора.

ПРИЛОЖЕНИЕ 2

Структура автоматизированных рабочих мест

ПРИЛОЖЕНИЕ 3

Исходный текст программы

unit Unit_act;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, DBCtrls, Mask, Db, ExtCtrls, Grids, DBGrids;

type

TfAct2 = class(TForm)

DBGact2: TDBGrid;

DBNact: TDBNavigator;

DSact: TDataSource;

Label1: TLabel;

DBEdit1: TDBEdit;

Label2: TLabel;

DBEdit2: TDBEdit;

Label3: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

Label4: TLabel;

DBLookupComboBox2: TDBLookupComboBox;

Label5: TLabel;

DBEdit3: TDBEdit;

Label6: TLabel;

DBEdit4: TDBEdit;

Label7: TLabel;

DBLookupComboBox3: TDBLookupComboBox;

Label8: TLabel;

DBEdit5: TDBEdit;

Button1: TButton;

Button2: TButton;

procedure DBGact2Enter(Sender: TObject);

procedure DBGact2Exit(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fAct2: TfAct2;

Продолжение приложения 3

implementation

uses Unit_dm, Unit_rep, Unit_rep2;

{$R *.DFM}

procedure TfAct2.DBGact2Enter(Sender: TObject);

begin

If DM.ATact.Modified then DM.ATact.Post;

end;

procedure TfAct2.DBGact2Exit(Sender: TObject);

begin

If DM.ATzact.Modified then DM.ATzact.Post;

end;

procedure TfAct2.Button2Click(Sender: TObject);

begin

fRep2.ADScalc.Close;

fRep2.ADScalc.Parameters[0].Value := DM.ATactN_act.AsInteger;

fRep2.ADScalc.Open;

fRep2.QRcalc.Preview;

end;

end.

unit Unit_act2;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Db, Grids, DBGrids, StdCtrls;

type

TfAct = class(TForm)

Bftn_add: TButton;

Bftn_ed: TButton;

Bftn_del: TButton;

Bftn_ex: TButton;

DBGnakl: TDBGrid;

DSact: TDataSource;

Продолжение приложения 3

procedure Bftn_addClick(Sender: TObject);

procedure Bftn_edClick(Sender: TObject);

procedure Bftn_delClick(Sender: TObject);

procedure Bftn_exClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fAct: TfAct;

implementation

uses Unit_dm, Unit_act;

{$R *.DFM}

procedure TfAct.Bftn_addClick(Sender: TObject);

begin

DM.ATact.Insert;

DM.ATzact.Close;

DM.ATzact.Open;

fAct2.ShowModal;

end;

procedure TfAct.Bftn_edClick(Sender: TObject);

begin

DM.ATact.Edit;

DM.ATzact.Close;

DM.ATzact.Open;

fAct2.ShowModal;

end;

procedure TfAct.Bftn_delClick(Sender: TObject);

begin

DM.ATact.Delete;

end;

procedure TfAct.Bftn_exClick(Sender: TObject);

begin

close;

Продолжение приложения 3

end;

end.

unit Unit_arm;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls;

type

TfArm = class(TForm)

RadioGroup1: TRadioGroup;

GroupBox1: TGroupBox;

Bfarm_1: TButton;

Bfarm_2: TButton;

procedure Bfarm_2Click(Sender: TObject);

procedure Bfarm_1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fArm: TfArm;

implementation

uses Unit_buh, Unit_ceh, Unit_skl;

{$R *.DFM}

procedure TfArm.Bfarm_2Click(Sender: TObject);

begin

Close;

end;

procedure TfArm.Bfarm_1Click(Sender: TObject);

Продолжение приложения 3

begin

Hide;

case RadioGroup1.ItemIndex of

0: fSclad.Show;

1: fBuh.Show;

2: fCeh.Show;

end;

end;

end.

unit Unit_buh;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Menus;

type

TfBuh = class(TForm)

MMbuh: TMainMenu;

Nf: TMenuItem;

Nf1: TMenuItem;

N1: TMenuItem;

Nf2: TMenuItem;

Nbd: TMenuItem;

N2: TMenuItem;

Nsf: TMenuItem;

N3: TMenuItem;

Npod: TMenuItem;

No: TMenuItem;

Ninv: TMenuItem;

Ndmc: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

OpenDialog1: TOpenDialog;

Nps: TMenuItem;

Nnal: TMenuItem;

Nz: TMenuItem;

N4: TMenuItem;

Продолжение приложения 3

Npp: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

procedure Nf1Click(Sender: TObject);

procedure Nf2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure NsfClick(Sender: TObject);

procedure NpodClick(Sender: TObject);

procedure NpsClick(Sender: TObject);

procedure NnalClick(Sender: TObject);

procedure NzClick(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure NppClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fBuh: TfBuh;

implementation

uses Unit_dm, Unit_arm, Unit_tn, Unit_mc, Unit_prov;

{$R *.DFM}

procedure TfBuh.Nf1Click(Sender: TObject);

begin

with DM.ACon do begin

Close;

Provider := 'Microsoft.Jet.OLEDB.4.0';

OpenDialog1.InitialDir := ExtractFilePath(Application.ExeName);

if OpenDialog1.Execute then

begin

Properties['Data Source'].Value := OpenDialog1.FileName;

Open;

Nbd.Enabled := true;

No.Enabled := true;

end;

end;

Продолжение приложения 3

end;

procedure TfBuh.Nf2Click(Sender: TObject);

begin

Close;

end;

procedure TfBuh.FormClose(Sender: TObject; var Action: TCloseAction);

begin

fArm.Close;

end;

procedure TfBuh.NsfClick(Sender: TObject);

begin

with fTn do begin

Caption := 'Счета-фактуры';

DM.ATsftn.Filter := 'Vid = false';

DM.ATsftn.Filtered := true;

DM.ATsftn.Close;

DM.ATsftn.Open;

ShowModal;

end;

end;

procedure TfBuh.NpodClick(Sender: TObject);

begin

DM.ATpodr.Close;

fMC.Caption := 'Справочник: "Подразделения"';

fMC.DSmc.DataSet := DM.ATpodr;

DM.ATpodr.Open;

fMC.ShowModal;

end;

procedure TfBuh.NpsClick(Sender: TObject);

begin

DM.ATpsch.Close;

fMC.Caption := 'Справочник: "План счетов"';

fMC.DSmc.DataSet := DM.ATpsch;

DM.ATpsch.Open;

fMC.ShowModal;

end;

procedure TfBuh.NnalClick(Sender: TObject);

Продолжение приложения 3

begin

DM.ATnalog.Close;

fMC.Caption := 'Справочник: "Налоги"';

fMC.DSmc.DataSet := DM.ATnalog;

DM.ATnalog.Open;

fMC.ShowModal;

end;

procedure TfBuh.NzClick(Sender: TObject);

begin

DM.ATzatr.Close;

fMC.Caption := 'Справочник: "Затраты"';

fMC.DSmc.DataSet := DM.ATzatr;

DM.ATzatr.Open;

fMC.ShowModal;

end;

procedure TfBuh.N7Click(Sender: TObject);

begin

DM.ATpart.Close;

fMC.Caption := 'Справочник: "Партнеры"';

fMC.DSmc.DataSet := DM.ATpart;

DM.ATpart.Open;

fMC.ShowModal;

end;

procedure TfBuh.N8Click(Sender: TObject);

begin

DM.ATbank.Close;

fMC.Caption := 'Справочник: "Банки"';

fMC.DSmc.DataSet := DM.ATbank;

DM.ATbank.Open;

fMC.ShowModal;

end;

procedure TfBuh.NppClick(Sender: TObject);

begin

with fProv do begin

ADSProv.Close;

ADSProv.Open;

ShowModal;

end;

end;

Продолжение приложения 3

end.

unit Unit_ceh;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Menus;

type

TfCeh = class(TForm)

MMceh: TMainMenu;

Nf: TMenuItem;

Nf1: TMenuItem;

N1: TMenuItem;

Nf2: TMenuItem;

Nbd: TMenuItem;

N2: TMenuItem;

Nuse: TMenuItem;

N3: TMenuItem;

Npr: TMenuItem;

No: TMenuItem;

Ninv: TMenuItem;

Ndmc: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

OpenDialog1: TOpenDialog;

procedure Nf1Click(Sender: TObject);

procedure Nf2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure NuseClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fCeh: TfCeh;

implementation

Продолжение приложения 3

uses Unit_dm, Unit_arm, Unit_act2;

{$R *.DFM}

procedure TfCeh.Nf1Click(Sender: TObject);

begin

with DM.ACon do begin

Close;

Provider := 'Microsoft.Jet.OLEDB.4.0';

OpenDialog1.InitialDir := ExtractFilePath(Application.ExeName);

if OpenDialog1.Execute then

begin

Properties['Data Source'].Value := OpenDialog1.FileName;

Open;

Nbd.Enabled := true;

No.Enabled := true;

end;

end;

end;

procedure TfCeh.Nf2Click(Sender: TObject);

begin

Close;

end;

procedure TfCeh.FormClose(Sender: TObject; var Action: TCloseAction);

begin

fArm.Close;

end;

procedure TfCeh.NuseClick(Sender: TObject);

begin

DM.ATact.Close;

DM.ATact.Open;

fAct.ShowModal;

end;

end.

unit Unit_dm;

Продолжение приложения 3

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Db, ADODB;

type

TDM = class(TDataModule)

ACon: TADOConnection;

ATact: TADOTable;

ATbank: TADOTable;

ATei: TADOTable;

ATmc: TADOTable;

ATnakl: TADOTable;

ATnalog: TADOTable;

ATpsch: TADOTable;

ATpodr: TADOTable;

ATpart: TADOTable;

ATprod: TADOTable;

ATsftn: TADOTable;

ATzact: TADOTable;

ATznakl: TADOTable;

ATzsf: TADOTable;

ATzatr: TADOTable;

ATsftnId_sf: TAutoIncField;

ATsftnNum_sf: TIntegerField;

ATsftnData: TDateTimeField;

ATsftnId_nal: TIntegerField;

ATsftnPost: TIntegerField;

ATsftnN_dov: TIntegerField;

ATsftnVid: TBooleanField;

ATactId_act: TAutoIncField;

ATactN_act: TIntegerField;

ATactData: TDateTimeField;

ATactPodr: TIntegerField;

ATactProd: TIntegerField;

ATactPotr: TIntegerField;

ATactOzp: TBCDField;

ATactNozp: TFloatField;

ATactNal: TIntegerField;

ATactNras: TFloatField;

ATbankId: TAutoIncField;

ATbankBIK: TWideStringField;

Продолжение приложения 3

ATbankBank: TWideStringField;

ATeiId_ei: TAutoIncField;

ATeiName_ei: TWideStringField;

ATeiUsl: TWideStringField;

ATmcId_mc: TAutoIncField;

ATmcN_k: TIntegerField;

ATmcName_mc: TWideStringField;

ATmcId_ei: TIntegerField;

ATmcUch_p: TBCDField;

ATnaklId_nakl: TAutoIncField;

ATnaklNum_nakl: TIntegerField;

ATnaklOtk: TIntegerField;

ATnaklData: TDateTimeField;

ATnaklKom: TIntegerField;

ATnaklSch: TIntegerField;

ATnalogId_nal: TAutoIncField;

ATnalogName_n: TWideStringField;

ATnalogRate_n: TBCDField;

ATpschId_sch: TAutoIncField;

ATpschNum_sch: TWideStringField;

ATpschName_sch: TWideStringField;

ATpodrId_p: TAutoIncField;

ATpodrNum_p: TIntegerField;

ATpodrName_p: TWideStringField;

ATpodrRuk_p: TWideStringField;

ATpartId_pp: TAutoIncField;

ATpartINN: TWideStringField;

ATpartName_pp: TWideStringField;

ATpartAdres: TWideStringField;

ATpartTlf: TWideStringField;

ATpartRS: TWideStringField;

ATpartBank: TIntegerField;

ATprodId_gp: TAutoIncField;

ATprodName_gp: TWideStringField;

ATzactId_zn: TAutoIncField;

ATzactId_act: TIntegerField;

ATzactId_mc: TIntegerField;

ATzactkol: TBCDField;

ATzactPrice: TBCDField;

ATzactId_zatr: TIntegerField;

ATznaklId_zn: TAutoIncField;

ATznaklId_nakl: TIntegerField;

ATznaklId_mc: TIntegerField;

Продолжение приложения 3

ATznaklkol: TBCDField;

ATzsfId_zap: TAutoIncField;

ATzsfId_sf: TIntegerField;

ATzsfId_mc: TIntegerField;

ATzsfKol_vo: TBCDField;

ATzsfPrice: TBCDField;

ATzsfSch: TIntegerField;

ATzatrId_zat: TAutoIncField;

ATzatrVid: TWideStringField;

ATzatrSch: TIntegerField;

DSsf: TDataSource;

DSnakl: TDataSource;

DSact: TDataSource;

ATsftnlPost: TStringField;

ATsftnlNalog: TStringField;

ATzsflMC: TStringField;

ATzsflsch: TStringField;

ATnakllOtk: TStringField;

ATnakllKomu: TStringField;

ATnakllSch: TStringField;

ATznakllMC: TStringField;

ATmclei: TStringField;

ATzatrlSch: TStringField;

ATpartlBank: TStringField;

ATactlPodr: TStringField;

ATactlPotr: TStringField;

ATactlNal: TStringField;

ATzactlZatr: TStringField;

procedure ATsftnBeforePost(DataSet: TDataSet);

private

{ Private declarations }

public

{ Public declarations }

end;

var

DM: TDM;

implementation

uses Unit_tn;

{$R *.DFM}

Продолжение приложения 3

procedure TDM.ATsftnBeforePost(DataSet: TDataSet);

begin

If fTn.Caption = 'Товарные накладные' then ATsftn.FieldValues['Vid'] := true

else ATsftn.FieldValues['Vid'] := false;

end;

end.

unit Unit_mc;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, DBCtrls, Grids, DBGrids, Db;

type

TfMC = class(TForm)

DSmc: TDataSource;

DBGmc: TDBGrid;

DBNmc: TDBNavigator;

private

{ Private declarations }

public

{ Public declarations }

end;

var

fMC: TfMC;

implementation

{$R *.DFM}

end.

unit Unit_nakl;

interface

Продолжение приложения 3

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Grids, DBGrids, Db, StdCtrls;

type

TfNakl = class(TForm)

Bftn_ex: TButton;

DSnakl: TDataSource;

DBGnakl: TDBGrid;

Bftn_del: TButton;

Bftn_ed: TButton;

Bftn_add: TButton;

procedure Bftn_addClick(Sender: TObject);

procedure Bftn_edClick(Sender: TObject);

procedure Bftn_delClick(Sender: TObject);

procedure Bftn_exClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fNakl: TfNakl;

implementation

uses Unit_dm, Unit_nakl2;

{$R *.DFM}

procedure TfNakl.Bftn_addClick(Sender: TObject);

begin

DM.ATnakl.Insert;

DM.ATznakl.Close;

DM.ATznakl.Open;

fNakl2.ShowModal;

end;

procedure TfNakl.Bftn_edClick(Sender: TObject);

begin

DM.ATnakl.Edit;

DM.ATznakl.Close;

Продолжение приложения 3

DM.ATznakl.Open;

fNakl2.ShowModal;

end;

procedure TfNakl.Bftn_delClick(Sender: TObject);

begin

DM.ATnakl.Delete;

end;

procedure TfNakl.Bftn_exClick(Sender: TObject);

begin

close;

end;

end.

unit Unit_nakl2;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

DBCtrls, StdCtrls, Mask, Db, Grids, DBGrids, ExtCtrls;

type

TfNakl2 = class(TForm)

Label1: TLabel;

DBEdit1: TDBEdit;

Label2: TLabel;

DBEdit2: TDBEdit;

Label3: TLabel;

DBLookupComboBox1: TDBLookupComboBox;

Label4: TLabel;

DBLookupComboBox2: TDBLookupComboBox;

Label5: TLabel;

DBLookupComboBox3: TDBLookupComboBox;

DBGznakl: TDBGrid;

DSznakl: TDataSource;

Button1: TButton;

DBNznakl: TDBNavigator;

procedure DBGznaklEnter(Sender: TObject);

procedure DBGznaklExit(Sender: TObject);

Продолжение приложения 3

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fNakl2: TfNakl2;

implementation

uses Unit_dm, Unit_rep;

{$R *.DFM}

procedure TfNakl2.DBGznaklEnter(Sender: TObject);

begin

If DM.ATnakl.Modified then DM.ATnakl.Post;

end;

procedure TfNakl2.DBGznaklExit(Sender: TObject);

begin

If DM.ATznakl.Modified then DM.ATznakl.Post;

end;

procedure TfNakl2.Button1Click(Sender: TObject);

begin

fRep.ADSnakl.Close;

fRep.ADSnakl.Parameters[0].Value := DM.ATnaklNum_nakl.AsInteger;

fRep.ADSnakl.Open;

fRep.QRnakl.preview;

end;

end.

unit Unit_prov;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Продолжение приложения 3

StdCtrls, Db, Mask, DBCtrls, ADODB;

type

TfProv = class(TForm)

ADSprov: TADODataSet;

ADSprovprov2_bSumSumma: TFloatField;

ADSprovprov2_sSumSumma: TFloatField;

ADSprovCpr: TFloatField;

Label1: TLabel;

DBEdit1: TDBEdit;

DSprov: TDataSource;

Label2: TLabel;

DBEdit2: TDBEdit;

Label3: TLabel;

DBEdit3: TDBEdit;

Button1: TButton;

private

{ Private declarations }

public

{ Public declarations }

end;

var

fProv: TfProv;

implementation

{$R *.DFM}

end.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.