Модуль учета поставок компьютеров, оргтехнике и комплектующих

Автор: Пользователь скрыл имя, 28 Февраля 2013 в 12:24, дипломная работа

Описание работы

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

Содержание

ВВЕДЕНИЕ 5
1 ОБЩАЯ ЧАСТЬ 7
1.1 Цель разработки 7
1.2 Анализ использования разработки 7
1.3 Анализ методов решения 8
1.4 Анализ средств автоматизации 9
2 Специальная часть 15
2.1 Постановка задачи 15
2.2 Описание алгоритма 18
2.3 Текст программы с описанием 20
2.4 Описание процесса отладки 21
2.5 Инструкция пользователя 22
3 Экономическая часть 29
3.1 Расчет себестоимости программного продукта «Модуль учета поставок компьютеров, оргтехники и комплектующих» 29
4 Охрана труда и Техника Безопасности 40
4.1 Анализ потенциально-опасных и вредных факторов 40
4.2 Техника безопасности 40
4.3 Эргономика 42
ЗАКЛЮЧЕНИЕ 45
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 46
ПРИЛОЖЕНИЕ 1 47

Работа содержит 1 файл

Пояснительная записка.docx

— 1.43 Мб (Скачать)

    Label4: TLabel;

    Label5: TLabel;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

  Edit4: TEdit;

    BitBtn1: TBitBtn;

    UniQuery1id: TLargeintField;

    CheckBox1: TCheckBox;

    BitBtn2: TBitBtn;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    Label10: TLabel;

    Edit5: TEdit;

    Edit6: TEdit;

    Edit7: TEdit;

    Edit8: TEdit;

    DateTimePicker2: TDateTimePicker;

    CheckBox2: TCheckBox;

    StatusBar1: TStatusBar;

    ToolBar1: TToolBar;

    ImageList1: TImageList;

    ToolButton1: TToolButton;

    ToolButton2: TToolButton;

    BitBtn3: TBitBtn;

    BitBtn4: TBitBtn;

    BitBtn5: TBitBtn;

    BitBtn6: TBitBtn;

    BitBtn7: TBitBtn;

    BitBtn8: TBitBtn;

    BitBtn9: TBitBtn;

    BitBtn10: TBitBtn;

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

    procedure RadioButton1Click(Sender: TObject);

    procedure RadioButton2Click(Sender: TObject);

    procedure DataSource1DataChange(Sender: TObject; Field: TField);

     ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

    procedure BitBtn1Click(Sender: TObject);

    procedure CheckBox1Click(Sender: TObject);

    procedure CheckBox2Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure ToolButton1Click(Sender: TObject);

    procedure Edit1MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure Edit2MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure Edit3MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure Edit4MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure BitBtn1MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure Edit5MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure Edit6MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure Edit7MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure Edit8MouseActivate(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure BitBtn2MouseActivate(Sender: TObject; Button: TMouseButton;

       ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1 

    Shift: TShiftState; X, Y, HitTest: Integer;

      var MouseActivate: TMouseActivate);

    procedure DateTimePicker2Enter(Sender: TObject);

    procedure DateTimePicker1Enter(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form4: TForm4;

implementation

{$R *.dfm}

uses Unit1;

procedure TForm4.BitBtn1Click(Sender: TObject);

begin

uniquery2.SQL.Text:='update dogovora set postavchik=:postavchik where id=:id';

 uniquery2.ParamByName('id').AsInteger:=uniquery1.FieldByName('id').AsInteger;

 uniquery2.ParamByName('postavchik').AsString:=edit1.Text;

uniquery2.Execute;

uniquery2.SQL.Text:='update dogovora set data_dogovora=:data_dogovora where id=:id';

 uniquery2.ParamByName('id').AsInteger:=uniquery1.FieldByName('id').AsInteger;

 uniquery2.ParamByName('data_dogovora').AsDateTime:=DateTimePicker1.DateTime;

uniquery2.Execute;

uniquery2.SQL.Text:='update dogovora set nomer_dogovora=:nomer_dogovora where id=:id';

 uniquery2.ParamByName('id').AsInteger:=uniquery1.FieldByName('id').AsInteger;

 uniquery2.ParamByName('nomer_dogovora').AsString:=edit2.Text;

uniquery2.Execute;

uniquery2.SQL.Text:='update dogovora set pred_dogovora=:pred_dogovora where id=:id';

 uniquery2.ParamByName('id').AsInteger:=uniquery1.FieldByName('id').AsInteger;

 uniquery2.ParamByName('pred_dogovora').AsString:=edit3.Text;

uniquery2.Execute;

uniquery2.SQL.Text:='update dogovora set skan=:skan where id=:id';

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

 uniquery2.ParamByName('id').AsInteger:=uniquery1.FieldByName('id').AsInteger;

 uniquery2.ParamByName('skan').AsString:=edit4.Text;

uniquery2.Execute;

uniquery1.Refresh;

end;

procedure TForm4.BitBtn1MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn3.Visible:=false;

bitbtn4.Visible:=false;

bitbtn5.Visible:=false;

bitbtn6.Visible:=false;

edit1.Width:=371;

edit2.Width:=371;

edit3.Width:=371;

edit4.Width:=371;

end;

procedure TForm4.BitBtn2Click(Sender: TObject);

begin

  uniquery2.SQL.Text:='INSERT INTO dogovora (pred_dogovora, data_dogovora, nomer_dogovora, postavchik, skan)';

  uniquery2.SQL.Add('VALUES (:pred_dogovora, :data_dogovora, :nomer_dogovora, :postavchik, :skan)');

  uniquery2.ParamByName('pred_dogovora').AsString:=edit7.Text;

  uniquery2.ParamByName('data_dogovora').AsDateTime:=DateTimePicker1.DateTime;

  uniquery2.ParamByName('nomer_dogovora').AsString:=edit6.Text;

  uniquery2.ParamByName('postavchik').AsString:=edit5.Text;

  uniquery2.ParamByName('skan').AsString:=edit8.Text;

  uniquery2.Execute;

  uniquery1.Refresh;

  edit5.Clear;

  edit6.Clear;

  edit7.Clear;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1 

edit8.Clear;

end;

procedure TForm4.BitBtn2MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn7.Visible:=false;

bitbtn8.Visible:=false;

bitbtn9.Visible:=false;

bitbtn10.Visible:=false;

edit5.Width:=371;

edit6.Width:=371;

edit7.Width:=371;

edit8.Width:=371;

end;

procedure TForm4.CheckBox1Click(Sender: TObject);

begin

 if checkbox1.Checked=true then DateTimePicker1.DateMode:=dmUpDown else DateTimePicker1.DateMode:=dmComboBox;

end;

procedure TForm4.CheckBox2Click(Sender: TObject);

begin

 if checkbox2.Checked=true then DateTimePicker2.DateMode:=dmUpDown else DateTimePicker2.DateMode:=dmComboBox;

end;

procedure TForm4.DataSource1DataChange(Sender: TObject; Field: TField);

begin

edit1.Text:=uniquery1.FieldByName('postavchik').AsString;

DateTimePicker1.Date:=uniquery1.FieldByName('data_dogovora').AsDateTime;

edit2.Text:=uniquery1.FieldByName('nomer_dogovora').AsString;

edit3.Text:=uniquery1.FieldByName('pred_dogovora').AsString;

edit4.Text:=uniquery1.FieldByName('skan').AsString;

end;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

procedure TForm4.DateTimePicker1Enter(Sender: TObject);

begin

bitbtn3.Visible:=false;

bitbtn4.Visible:=false;

bitbtn5.Visible:=false;

bitbtn6.Visible:=false;

edit1.Width:=371;

edit2.Width:=371;

edit3.Width:=371;

edit4.Width:=371;

end;

procedure TForm4.DateTimePicker2Enter(Sender: TObject);

begin

bitbtn7.Visible:=false;

bitbtn8.Visible:=false;

bitbtn9.Visible:=false;

bitbtn10.Visible:=false;

edit5.Width:=371;

edit6.Width:=371;

edit7.Width:=371;

edit8.Width:=371;

end;

procedure TForm4.Edit1MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn3.Visible:=true;

bitbtn4.Visible:=false;

bitbtn5.Visible:=false;

bitbtn6.Visible:=false;

edit1.Width:=324;

edit2.Width:=371;

 edit3.Width:=371;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

 edit4.Width:=371;

end;

procedure TForm4.Edit2MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn3.Visible:=false;

bitbtn4.Visible:=true;

bitbtn5.Visible:=false;

bitbtn6.Visible:=false;

edit1.Width:=371;

edit2.Width:=324;

edit3.Width:=371;

edit4.Width:=371;

end;

procedure TForm4.Edit3MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn3.Visible:=false;

bitbtn4.Visible:=false;

bitbtn5.Visible:=true;

bitbtn6.Visible:=false;

edit1.Width:=371;

edit2.Width:=371;

edit3.Width:=324;

edit4.Width:=371;

end;

procedure TForm4.Edit4MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn3.Visible:=false;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

bitbtn4.Visible:=false;

 bitbtn5.Visible:=false;

bitbtn6.Visible:=true;

edit1.Width:=371;

edit2.Width:=371;

edit3.Width:=371;

edit4.Width:=324;

end;

procedure TForm4.Edit5MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn7.Visible:=true;

bitbtn8.Visible:=false;

bitbtn9.Visible:=false;

bitbtn10.Visible:=false;

edit5.Width:=324;

edit6.Width:=371;

edit7.Width:=371;

edit8.Width:=371;

end;

procedure TForm4.Edit6MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn7.Visible:=false;

bitbtn8.Visible:=true;

bitbtn9.Visible:=false;

bitbtn10.Visible:=false;

edit5.Width:=371;

edit6.Width:=324;

edit7.Width:=371;

edit8.Width:=371;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

end;

procedure TForm4.Edit7MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn7.Visible:=false;

bitbtn8.Visible:=false;

bitbtn9.Visible:=true;

bitbtn10.Visible:=false;

edit5.Width:=371;

edit6.Width:=371;

edit7.Width:=324;

edit8.Width:=371;

end;

procedure TForm4.Edit8MouseActivate(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y, HitTest: Integer;

  var MouseActivate: TMouseActivate);

begin

bitbtn7.Visible:=false;

bitbtn8.Visible:=false;

bitbtn9.Visible:=false;

bitbtn10.Visible:=true;

edit5.Width:=371;

edit6.Width:=371;

edit7.Width:=371;

edit8.Width:=324;

end;

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

begin

form1.visible:=true;

end;

procedure TForm4.RadioButton1Click(Sender: TObject);

begin

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

Form4.DateTimePicker1.DateMode:=dmCombobox;

end;

procedure TForm4.RadioButton2Click(Sender: TObject);

begin

Form4.DateTimePicker1.DateMode:=dmUpDown;

end;

procedure TForm4.ToolButton1Click(Sender: TObject);

begin

// Диалог поиска

 DBGridEhFindDlgs.ExecuteDBGridEhFindDialog(DBGridEh1, '', '', nil, false)

end;

end.

 

unit postavki_edit;

interface

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,

  System.Classes, ShellApi, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, DBGridEhGrouping, Vcl.Menus, Data.DB,

  DBAccess, Uni, MemDS, Vcl.ImgList, Vcl.ComCtrls, DBGridEhFindDlgs, GridsEh,

  DBGridEh,

  Vcl.ToolWin, Vcl.StdCtrls, Vcl.Buttons, Vcl.ExtCtrls, ComObj, UniProvider,

  PostgreSQLUniProvider, frxClass, frxDBSet, frxExportXLS, frxExportPDF;

type

  TPostavkiForm = class(TForm)

    Splitter1: TSplitter;

    Panel1: TPanel;

    ToolBar1: TToolBar;

    ToolButton1: TToolButton;

    ToolButton4: TToolButton;

    DBGridEh1: TDBGridEh;

    StatusBar1: TStatusBar;

    ImageList1: TImageList;

      ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

   ReadQuery: TUniQuery;

    UniDataSource1: TUniDataSource;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    EditQuery: TUniQuery;

    ListQuery: TUniQuery;

    UniConnection1: TUniConnection;

    PostgreSQLUniProvider1: TPostgreSQLUniProvider;

    ReadQueryid: TLargeintField;

    ReadQuerynom_naim: TWideStringField;

    ReadQuerydata_dogovora: TDateField;

    ReadQuerynomer_dogovora: TIntegerField;

    ReadQuerykontr_naim: TWideStringField;

    ReadQuerylink_nomenklatura: TIntegerField;

    ReadQuerylink_kontragenti: TIntegerField;

    ReadQuerylink_dogovora: TIntegerField;

    ReadQuerycena: TFloatField;

    ReadQuerykol_vo: TFloatField;

    ReadQueryinv_nomer: TIntegerField;

    ReadQuerydata_platezha: TDateField;

    ReadQuerydata_postavki: TDateField;

    ReadQueryprimechanie: TWideStringField;

    ReadQuerysumma: TFloatField;

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    Label11: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label9: TLabel;

    Label10: TLabel;

    Label12: TLabel;

       ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

    Label13: TLabel;

    Label16: TLabel;

    Label18: TLabel;

    ed_id: TEdit;

    Button3: TButton;

    Button1: TButton;

    ed_cena: TEdit;

    ed_kol_vo: TEdit;

    ed_primechanie: TEdit;

    ed_data_platezha: TDateTimePicker;

    ed_data_postavki: TDateTimePicker;

    ed_link_dogovora: TComboBox;

    ed_link_kontragenti: TComboBox;

    ed_link_nomenklatura: TComboBox;

    ed_inv_nomer: TEdit;

    TabSheet2: TTabSheet;

    Label2: TLabel;

    Label4: TLabel;

    Label8: TLabel;

    Label3: TLabel;

    Label14: TLabel;

    Label1: TLabel;

    Label15: TLabel;

    Label20: TLabel;

    Label17: TLabel;

    Button4: TButton;

    add_link_kontragenti: TComboBox;

    add_link_nomenklatura: TComboBox;

    add_cena: TEdit;

    add_kol_vo: TEdit;

    add_primechanie: TEdit;

    add_link_dogovora: TComboBox;

    add_data_platezha: TDateTimePicker;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

   add_data_postavki: TDateTimePicker;

    add_inv_nomer: TEdit;

    ExcelExp: TfrxXLSExport;

    Report: TfrxReport;

    frDBDataset: TfrxDBDataset;

    PDFExp: TfrxPDFExport;

    N4: TMenuItem;

    CheckBox1: TCheckBox;

    CheckBox2: TCheckBox;

    CheckBox3: TCheckBox;

    CheckBox4: TCheckBox;

    procedure Button2Click(Sender: TObject);

    procedure ToolButton4Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure FormActivate(Sender: TObject);

    procedure DBGridEh1CellClick(Column: TColumnEh);

    procedure ToolButton1Click(Sender: TObject);

    procedure N2Click(Sender: TObject);

    procedure DBGridEh1TitleBtnClick(Sender: TObject; ACol: Integer; Column: TColumnEh);

    procedure FormDestroy(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure CheckBox1Click(Sender: TObject);

    procedure PageControl1Change(Sender: TObject);

    procedure CheckBox2Click(Sender: TObject);

    procedure CheckBox3Click(Sender: TObject);

    procedure CheckBox4Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

    Procedure FillDataForUpdate;

    Procedure FillDataForAdd;

     ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

    Procedure FillGrid;

    Procedure FillCombos;

    Procedure NullCombos;

    function FindColumnByField(Field: String): TColumnEh;

    function LBItemByID(LB: TComboBox; id: Int64): Integer;

  end;

var

  PostavkiForm: TPostavkiForm;

implementation

{$R *.dfm}

var

  SQL: String =

'SELECT postavki.id, nomenklatura.naimeninovanie as nom_naim, data_dogovora, nomer_dogovora,      '   +

'kontragenti.naimeninovanie as kontr_naim, link_nomenklatura, link_kontragenti, link_dogovora, cena,  '  +

'       kol_vo, cena * kol_vo as summa, inv_nomer, data_platezha, data_postavki, primechanie   '+

'  FROM postavki '   +

'  left join dogovora on dogovora.id = link_dogovora    '    +

'  left join kontragenti on kontragenti.id = link_kontragenti    '  +

'  left join nomenklatura on nomenklatura.id = link_nomenklatura  '  ;

var

  ORDER: String = 'nom_naim';

var

  SORT: String = 'ASC';

type

  TListObject = class

    name: String;

    id: Int64;

  end;

  // Поиск элемента в списке по ID строки СУБД

function TPostavkiForm.LBItemByID(LB: TComboBox; id: Int64): Integer;

var

  i: Integer;

begin

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

  result := -1;

  for i := 0 to LB.Items.Count do

  begin

    if Assigned(LB.Items.Objects[i]) then

    begin

      if TListObject(LB.Items.Objects[i]).id = id then

      begin

        result := i;

        break;

      end;

    end;

  end;

end;

// Очищение выподающих  списков

procedure TPostavkiForm.NullCombos;

var

  i: Integer;

begin

  // Для режима создания

  add_link_nomenklatura.Items.BeginUpdate;

  for i := 0 to add_link_nomenklatura.Items.Count - 1 do

  begin

    if Assigned(add_link_nomenklatura.Items.Objects[i]) then

      TListObject(add_link_nomenklatura.Items.Objects[i]).Free;

  end;

  add_link_nomenklatura.Items.Clear;

  add_link_nomenklatura.Items.EndUpdate;

  add_link_kontragenti.Items.BeginUpdate;

  for i := 0 to add_link_kontragenti.Items.Count - 1 do

  begin

    if Assigned(add_link_kontragenti.Items.Objects[i]) then

      TListObject(add_link_kontragenti.Items.Objects[i]).Free;

  end;

   ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 1

  add_link_kontragenti.Items.Clear;

  add_link_kontragenti.Items.EndUpdate;

  add_link_kontragenti.Items.BeginUpdate;

  for i := 0 to add_link_dogovora.Items.Count - 1 do

  begin

    if Assigned(add_link_dogovora.Items.Objects[i]) then

      TListObject(add_link_dogovora.Items.Objects[i]).Free;

  end;

  add_link_dogovora.Items.Clear;

  add_link_dogovora.Items.EndUpdate;

  // Для режима правки

    ed_link_nomenklatura.Items.BeginUpdate;

  for i := 0 to ed_link_nomenklatura.Items.Count - 1 do

  begin

    if Assigned(ed_link_nomenklatura.Items.Objects[i]) then

      TListObject(ed_link_nomenklatura.Items.Objects[i]).Free;

  end;

  ed_link_nomenklatura.Items.Clear;

  ed_link_nomenklatura.Items.EndUpdate;

  ed_link_kontragenti.Items.BeginUpdate;

  for i := 0 to ed_link_kontragenti.Items.Count - 1 do

  begin

    if Assigned(ed_link_kontragenti.Items.Objects[i]) then

      TListObject(ed_link_kontragenti.Items.Objects[i]).Free;

  end;

  ed_link_kontragenti.Items.Clear;

  ed_link_kontragenti.Items.EndUpdate;

     ed_link_kontragenti.Items.BeginUpdate;

  for i := 0 to ed_link_dogovora.Items.Count - 1 do

  begin

    if Assigned(ed_link_dogovora.Items.Objects[i]) then

      TListObject(ed_link_dogovora.Items.Objects[i]).Free;

Информация о работе Модуль учета поставок компьютеров, оргтехнике и комплектующих