Файл: Применение процессного подхода для оптимизации бизнес-процессов.pdf
Добавлен: 03.07.2023
Просмотров: 161
Скачиваний: 4
tblList1Размещение: TIntegerField;
tblList1Количество: TIntegerField;
tblList1Сумма: TBCDField;
tblWorkerКод: TAutoIncField;
tblWorkerФИО: TWideStringField;
tblWorkerТелефон: TWideStringField;
tblWorkerАдрес: TWideStringField;
tblWorkerМагазин: TIntegerField;
dsWorkerList: TDataSource;
tblWorkerList: TADOTable;
tblWorkerListКод: TAutoIncField;
tblWorkerListФИО: TWideStringField;
tblWorkerListТелефон: TWideStringField;
tblWorkerListАдрес: TWideStringField;
tblWorkerListМагазин: TIntegerField;
tblList1WorkerList: TStringField;
tblTypeItemsFilterКод: TAutoIncField;
tblTypeItemsFilterНазвание: TWideStringField;
tblProducerFilterКод: TAutoIncField;
tblProducerFilterНазвание: TWideStringField;
tblDistrib: TADOTable;
tblDistribКод: TAutoIncField;
tblDistribТовар: TIntegerField;
tblDistribМагазин: TIntegerField;
tblDistribКоличество: TIntegerField;
tblDistribShopDist: TStringField;
qryItemSearch: TADOQuery;
dsItemSearch: TDataSource;
qryDistrib: TADOQuery;
tblList: TADODataSet;
dsList1: TDataSource;
procedure tblSaleAfterScroll(DataSet: TDataSet);
private
procedure ReadConnectionString;
procedure WriteConnectionString;
public
procedure LinkedBase(conn: boolean);
procedure SettingLink;
end;
var
DM: TDM;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
procedure TDM.SettingLink;
begin
LinkedBase(false);
mainConn.ConnectionString:=PromptDataSource(0,mainConn.ConnectionString);
WriteConnectionString;
LinkedBase(true);
end;
procedure TDM.tblSaleAfterScroll(DataSet: TDataSet);
begin
tblList.Close;
tblList.Parameters.ParamByName('Kod').Value:=tblSale.FieldByName('Код').AsInteger;
tblList.Open;
tblList.FieldByName('Код').Visible:=false;
tblList.FieldByName('Продажа').Visible:=false;
tblList.FieldByName('Размещение').Visible:=false;
tblList.FieldByName('Продавец').Visible:=false;
tblList.FieldByName('Товар').DisplayWidth:=62;
end;
procedure TDM.LinkedBase(conn: boolean);
var
i: integer;
begin
mainConn.Connected:=false;
MainConn.ConnectionString:='';
if conn then ReadConnectionString;
try
mainConn.Connected:=conn;
if mainConn.Connected then begin
for i := 0 to ComponentCount - 1 do
if Components[i] is TADOTable then
(Components[i] as TADOTable).Active:=conn;
qryItemSearch.Active:=conn;
end;
except
on E: Exception do begin
if MessageDlg('Хотите настроить подключение?',mtWarning,mbOkCancel,0)=1 then
SettingLink;
end;
end;
end;
{****Функции работы с подключением к базе****}
procedure TDM.ReadConnectionString; //читаем строку подключения из файла setup.ini
var
fl_str, conn_str: string;
myIniFile: TIniFile;
begin
fl_str:=ExtractFilePath(Application.Exename) + 'setup.ini'; //путь к файлу stup.ini
if FileExists(fl_str) then //файл существует?
begin
myIniFile:=TIniFile.Create(fl_str); //подключаемся к файлу
MainConn.ConnectionString:=myIniFile.ReadString('Connect','Str',''); //и читаем из него строку подключения
end;
if MainConn.ConnectionString='' then //если строка подключения всё же пуста, то
begin
ShowMessage('Не настроено подключение к базе'); //выводим предупреждение
conn_str:=PromptDataSource(0,mainConn.ConnectionString);
mainConn.ConnectionString:=conn_str;//PromptDataSource(0,mainConnect.ConnectionString); //начинаем настройку подключения
WriteConnectionString;
end;
end;
procedure TDM.WriteConnectionString; //записываем строку подключения в файл setup.ini