Диплом: Автоматизация представления данных о налогоплательщиках для ООО "Сибтрейд"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
86
Word.Documents.Add(ExtractFilePath(ParamStr(0))+'shablon\'+DbGrid2.DataSource.Da
taSet.FieldByName('path').AsString);
Word.visible:=true;
end
else
begin
Showmessage(' Файл '+DbGrid2.DataSource.DataSet.FieldByName('path').AsString+' не
найден в папке shablon.'+#10+#13+'Проверьте правильность названия файла и его
наличие в указанной папке.');
end;
end;
end;
produre TFrm1.N2Click(Send: TObject);
begin
n7.Click;
n8.Click;
end;
produre TFrm1.FrmResize(Send: TObject);
begin
panel1.Width:=Round((frm1.Width-50)*0.5);
panel2.Width:=Round((frm1.Width-50)*0.5);
panel1.Width:=Round(frm1.Width*0.5);
BitBtn3.Left:=Round(panel5.Width*0.5)-Round(Bitbtn3.Width*0.5);
DbGrid2.Collums[0].Width:=ROUND(DbGrid2.Width*0.65);
DbGrid2.Collums[1].Width:=ROUND(DbGrid2.Width*0.26);
DbGrid1.Collums[0].Width:=ROUND(DbGrid1.Width*0.65);
DbGrid1.Collums[1].Width:=ROUND(DbGrid1.Width*0.26);
end;
end.
unit shabl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Frms,
Dialogs, StdCtrls, Buttons, DB, ADODB, comobj;
type
TFrm2 = class(TFrm)
Label1: TLabel;
Label2: TLabel;
Edt1: TEdt;
BitBtn1: TBitBtn;
Edt2: TEdt;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
OpenDialog1: TOpenDialog;
Label3: TLabel;
ADOQuery1: TADOQuery;
produre BitBtn3Click(Send: TObject);
produre Edt1Change(Send: TObject);
produre Edt2Change(Send: TObject);
produre BitBtn1Click(Send: TObject);
produre BitBtn2Click(Send: TObject);
produre FrmClose(Send: TObject; var Action: TCloseAction);
87
produre BitBtn4Click(Send: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm2: TFrm2;
implementation
Uses main;
{$R *.dfm}
produre TFrm2.BitBtn3Click(Send: TObject);
begin
Frm2.Close;
end;
produre TFrm2.Edt1Change(Send: TObject);
begin
if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';
end;
produre TFrm2.Edt2Change(Send: TObject);
begin
if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';
end;
produre TFrm2.BitBtn1Click(Send: TObject);
begin
openDialog1.InitialDir := GetCurrentDir;
if opendialog1.Execute then
begin
if FileExists(opendialog1.FileName) then
begin
Edt2.Text:=Opendialog1.FileName;
end;
end;
end;
produre TFrm2.BitBtn2Click(Send: TObject);
begin
if Edt1.text='' then begin showmessage('Имя шаблона не может быть пустым');
Edt1.SetFocus; exit; end;
if Edt2.text='' then begin showmessage('Необходимо выбрать файл');
BitBtn1.SetFocus; exit; end;
if not (FileExists(ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text)) or
(FileExists(Edt2.Text)) then begin showmessage('Указанный файл шаблона не
найден'); BitBtn1.SetFocus; exit; end;
if OpenDialog1.filename='' then
OpenDialog1.filename:=ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text;
With AdoQuery1 do
begin
close;
SQl.clear;
SQL.add('UPDATE shablon SET caption = :caption, path = :path WHERE id = :id');
Parameters.ParamByName('caption').value:=Edt1.text;
Parameters.ParamByName('path').value:=ExtractFileName(OpenDialog1.Filename);
88
Parameters.ParamByName('id').value:=label3.caption;
execSQL;
end;
CopyFile(Pchar(Edt2.text),
Pchar(ExtractFilePath(ParamStr(0))+'shablon\'+ExtractFileName(OpenDialog1.Filena
me)), true) ;
caption:=copy(caption,0,length(caption)-2);
close;
Frm1.N7.Click;
end;
produre TFrm2.FrmClose(Send: TObject; var Action: TCloseAction);
begin
if copy(caption,length(caption)-1,1) = '*' then
begin
If MessageBox(Handle,PChar('Данные были изменены. Сохранить
изменения?'),PChar('Подтверждение'),MB_ICONINFRMATION+MB_YESNO+MB_DEFBUTTON2)=Id
Yes
then BitBtn2.Click;
end;
end;
produre TFrm2.BitBtn2Click(Send: TObject);
begin
if Edt1.text='' then begin showmessage('Имя шаблона не может быть пустым');
Edt1.SetFocus; exit; end;
if Edt2.text='' then begin showmessage('Необходимо выбрать файл');
BitBtn1.SetFocus; exit; end;
if not (FileExists(ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text)) or
(FileExists(Edt2.Text)) then begin showmessage('Указанный файл шаблона не
найден'); BitBtn1.SetFocus; exit; end;
if OpenDialog1.filename='' then
OpenDialog1.filename:=ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text;
With AdoQuery1 do
begin
close;
SQl.clear;
SQL.add('UPDATE shablon SET caption = :caption, path = :path WHERE id = :id');
Parameters.ParamByName('caption').value:=Edt1.text;
Parameters.ParamByName('path').value:=ExtractFileName(OpenDialog1.Filename);
Parameters.ParamByName('id').value:=label3.caption;
execSQL;
end;
produre TFrm2.BitBtn4Click(Send: TObject);
var
Word:Variant;
begin
if fileExists(Edt2.text) then
begin
Word := CreateOleObject('Word.Application');
Word.Documents.Add(Edt2.text);
if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';
Word.visible:=true;
end
else
begin
Showmessage(' Файл '+Edt2.text+' не найден.'+#10+#13+'Проверьте правильность
названия файла и его наличие в указанной папке.');
89
end;
end;
end.
unit Connect;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm5 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
Uses DataM;
{$R *.dfm}
procedure TForm5.BitBtn1Click(Sender: TObject);
var
SetF : TextFile;
s:array[1..9] of string;
i:integer;
begin
if Edit1.text='' then begin showmessage('Укажите имя сервера'); exit; end;
if Edit2.text='' then begin showmessage('Укажите логин'); exit; end;
if Edit3.text='' then begin showmessage('Укажите пароль'); exit; end;
if Edit4.text='' then begin showmessage('Укажите имя базы данных'); exit; end;
AssignFile(SetF, ExtractFilePath(ParamStr(0))+'SetF.cfg');
reset(SetF);
For i:=1 to 4 do Readln(Setf,s[i]);
closeFile(SetF);
s[1]:=edit1.text;
s[2]:=edit2.text;
s[3]:=edit3.text;
s[4]:=edit4.text;
Rewrite(SetF);
90
For i:=1 to 9 do Writeln(Setf,s[i]);
closefile(Setf);
Close;
end;
end.
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, ExtCtrls, Menus, ComObj;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N3: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
Panel1: TPanel;
ADOConnection1: TADOConnection;
Sotr: TADOTable;
Label1: TLabel;
Label2: TLabel;
GrUser: TADOTable;
Sotrid: TAutoIncField;
SotrFIO: TWideStringField;
SotrPhone: TWideStringField;
SotrGrUser: TIntegerField;
SotrGruserL: TStringField;
SotrPass: TWideStringField;
EdIzm: TADOTable;
Label3: TLabel;
EdIzmid: TAutoIncField;
EdIzmnaim: TWideStringField;
EdIzmPrim: TWideStringField;
N17: TMenuItem;
ZakazClient: TADOQuery;
ZakazClientid: TAutoIncField;
ZakazClientDater: TDateTimeField;
ZakazClientSumm: TBCDField;
ZakazClientStatus: TIntegerField;
ZakazClientSotrFIO: TWideStringField;
91
ZakazClientKlientFIO2: TWideStringField;
Label4: TLabel;
klient: TADOTable;
Label5: TLabel;
Postav: TADOTable;
Label6: TLabel;
klientid: TAutoIncField;
klientFIO: TWideStringField;
klientphone: TWideStringField;
klientadres: TWideStringField;
klientprim: TWideStringField;
Postavid: TAutoIncField;
PostavNaim: TWideStringField;
PostavPhone: TWideStringField;
PostavAdres: TWideStringField;
PostavPrim: TWideStringField;
ZakazPostav: TADOQuery;
Label7: TLabel;
ZakazPostavid: TAutoIncField;
ZakazPostavDater: TDateTimeField;
ZakazPostavFIO: TWideStringField;
ZakazPostavNaim: TWideStringField;
ZakazPostavStatus: TIntegerField;
ZakazPostavidSotr: TIntegerField;
ZakazPostavidPostav: TIntegerField;
Postup: TADOQuery;
Label8: TLabel;
PostupidZakaz: TIntegerField;
PostupPrim: TWideStringField;
PostupStatus: TIntegerField;
Postupdater: TDateTimeField;
PostupSumm: TBCDField;
PostupFIO: TWideStringField;
Prihod: TADOQuery;
Prihodid: TAutoIncField;
PrihodidZakaz: TIntegerField;
Prihodsumm: TBCDField;
PrihodDater: TDateTimeField;
PrihodPrim: TWideStringField;
PrihodidSotr: TIntegerField;
PrihodStatus: TIntegerField;
PrihodFIO: TWideStringField;
Label9: TLabel;
Rashod: TADOQuery;
Label10: TLabel;
RashodFIO: TWideStringField;
Rashodid: TAutoIncField;
Rashoddater: TDateTimeField;
Rashodsumm: TBCDField;
RashodidSotr: TIntegerField;
RashodPoluch: TWideStringField;
RashodPrim: TWideStringField;
RashodStatus2: TIntegerField;
Otgruz: TADOQuery;
Otgruzid: TAutoIncField;
OtgruzidZakaz: TIntegerField;
OtgruzSumm: TBCDField;
OtgruzidSotr: TIntegerField;
OtgruzPrim: TWideStringField;
OtgruzStatus: TIntegerField;
OtgruzDater: TDateTimeField;
92
OtgruzFIO: TWideStringField;
ZakaKlientTovar: TADOTable;
ZakaKlientTovarid: TAutoIncField;
ZakaKlientTovaridZakaz: TIntegerField;
ZakaKlientTovaridTovar: TIntegerField;
ZakaKlientTovarnum: TIntegerField;
ZakaKlientTovarprice: TBCDField;
Tovar: TADOTable;
Tovarid: TAutoIncField;
Tovarnaim: TWideStringField;
Tovarostatok: TIntegerField;
Tovared: TIntegerField;
ZakaKlientTovarTovarL: TStringField;
ZakaKlientTovarStoim: TCurrencyField;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
TovarEdL: TStringField;
ZakazClientPrim: TWideStringField;
ZakazClientidKlient: TIntegerField;
ZakazClientidSotr: TIntegerField;
TovarPrice: TBCDField;
TovarOstatokL: TFloatField;
ZakaKlientTovarOstatok: TFloatField;
OtgruzTovar: TADOTable;
AutoIncField1: TAutoIncField;
StringField1: TStringField;
IntegerField1: TIntegerField;
IntegerField2: TIntegerField;
IntegerField3: TIntegerField;
BCDField1: TBCDField;
CurrencyField1: TCurrencyField;
FloatField1: TFloatField;
ZakaKlientTovarnumOt: TIntegerField;
OtgruzTovarnumOt: TIntegerField;
OtgruzTovarT: TADOTable;
OtgruzTovarTid: TAutoIncField;
OtgruzTovarTidOtgruz: TIntegerField;
OtgruzTovarTidTovar: TIntegerField;
OtgruzTovarTnum: TIntegerField;
OtgruzTovarTPrice: TBCDField;
OtgruzTovarTTovarL: TStringField;
OtgruzTovarTStoim: TCurrencyField;
ZakaKlientTovarRez: TIntegerField;
OtgruzTovarRez: TIntegerField;
OtgruzTovarnumot1: TIntegerField;
N21: TMenuItem;
ADOQuery1: TADOQuery;
ZakazPostavTovar: TADOTable;
Label14: TLabel;
ZakazPostavTovarid: TAutoIncField;
ZakazPostavTovaridTovar: TIntegerField;
ZakazPostavTovaridZakaz: TIntegerField;
ZakazPostavTovarnum: TIntegerField;
ZakazPostavTovarTovarL: TStringField;
ZakazPostavTovarprice: TBCDField;
ZakazPostavTovarStoim: TCurrencyField;
ZakazPostavPrim: TWideStringField;
ZakazPostavSumm: TBCDField;
Tovarzakupprice: TBCDField;
Tovarzakazano: TIntegerField;
93
PostupTovarT: TADOTable;
Label15: TLabel;
Label16: TLabel;
PostupTovar: TADOTable;
PostupTovarTid: TAutoIncField;
PostupTovarTidtovar: TIntegerField;
PostupTovarTidPostup: TIntegerField;
PostupTovarTnum: TIntegerField;
PostupTovarid: TAutoIncField;
PostupTovaridTovar: TIntegerField;
PostupTovaridZakaz: TIntegerField;
PostupTovarnum: TIntegerField;
PostupTovarprice: TBCDField;
PostupTovarTovarL: TStringField;
PostupTovarStoim: TFloatField;
PostupTovarTprice: TBCDField;
PostupTovarTnumpostup: TIntegerField;
PostupTovarTTovarL: TStringField;
PostupTovarTStoim: TFloatField;
PostupTovarnumpostup: TIntegerField;
ZakazPostavpostup: TIntegerField;
Postupid: TAutoIncField;
PostupidSotr: TAutoIncField;
procedure CreateSpravForm(const childName, id: string; table: TDataset;
p: integer);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure ZakaKlientTovarCalcFields(DataSet: TDataSet);
procedure N14Click(Sender: TObject);
procedure TovarCalcFields(DataSet: TDataSet);
procedure OtgruzTovarCalcFields(DataSet: TDataSet);
procedure OtgruzTovarTCalcFields(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Othet(const Data: TADOQUERY; Otchetname: string);
procedure N18Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure ZakazPostavTovarCalcFields(DataSet: TDataSet);
procedure PostupTovarCalcFields(DataSet: TDataSet);
procedure PostupTovarTCalcFields(DataSet: TDataSet);
private
procedure CreateDocForm(const childName: string; table: TDataset;
p: integer);
procedure CreateOtchetForm(const childName:String; p: integer);
{ Private declarations }
public
{ Public declarations }
94
end;
var
Form1: TForm1;
implementation
uses Sprav, Doc, Login, Otchet;
{$R *.dfm}
//процедура для создания формы для ввода параметров отчета
procedure TForm1.CreateOtchetForm(const childName:String; p: integer);
//параметры - название формы и индекс отчета
var
Child: TForm9;
i,k :integer;
f : boolean;
begin
f:=False; //влаг-ложь
k:=0;
for i:=0 to Form1.MDIChildCount-1 do//проверяем создан ли экземнляр такого окна
if (Form1.MDIChildren[i] is TForm9) then
begin
f:=True;
k:=i;
end;
if (f)then //если создан, то
Form1.MDIChildren[k].Close;//переносим его вперед
Child := TForm9.Create(Application);
Child.Caption := childName;//задаем название формы
Child.DateTimePicker1.DateTime:=now-30; //устанавливаем дату на 30 дней меньше
текущей
Child.DateTimePicker2.datetime:=now;//устанавливаем текущую дату
Child.Label3.Caption:=IntTOStr(p);//индекс отчета
end;
//создание формы для работы со справочником
procedure TForm1.CreateSpravForm(const childName, id : string; table: TDataset;
p: integer);
var
Child: TForm2;
i,k :integer;
f : boolean;
begin
f:=False; //влаг-ложь
k:=0;
for i:=0 to Form1.MDIChildCount-1 do//проверяем создан ли экземнляр такого окна
if (Form1.MDIChildren[i] is TForm2) and (Form1.MDIChildren[i].caption=childName)
then
begin
f:=True;
k:=i;
end;
if (f)and (Form1.MDIChildren[k].Caption=childName) then begin//если создан, то
Form1.MDIChildren[k].bringToFront; //переносим его вперед
if Form1.MDIChildren[k].WindowState=wsMinimized then
Form1.MDIChildren[k].WindowState:=wsNormal;
end
else
95
begin//иначе - создаем форму
Child := TForm2.Create(Application);
Child.Caption := childName; //задаем название
Child.DBGrid1.DataSource.DataSet:=table; //задаем таблицу справочник, с которой
будем работать
table.active:=true;//делаем таблицу активной
Child.Setgridcolumnwidths;//выравниваем ширину столбцов
Child.Label1.Caption:=id; //передаем ид
Case p of
1: Child.n1.visible:=true; //отображаем первый пункт сонтекстного меню
2: Child.n2.visible:=true; //отображаем второй пункт контекстрого меню
{3: Child.n3.visible:=true; //отображаем третий пункт контекстного меню
4: Child.n4.visible:=true; //отображаем четвертый пункт контекстного меню
5:begin Child.n5.visible:=true; //отображаем четвертый пункт контекстного меню
Child.Panel2.visible:=false; }
end;
end;
end;
//процедура создания формы для работы со списком документов
procedure TForm1.CreateDocForm(const childName : string; table: TDataset; p:
integer); //название формы, таблица - источник данных и индекс документа
var
Child: TForm3;
i,k :integer;
f : boolean;
begin
f:=False; //влаг-ложь
k:=0;
for i:=0 to Form1.MDIChildCount-1 do//проверяем создан ли экземнляр такого окна
if (Form1.MDIChildren[i] is TForm3) and (Form1.MDIChildren[i].caption=childName)
then
begin
f:=True;
k:=i;
end;
if (f)and (Form1.MDIChildren[k].Caption=childName) then begin //если создан, то
Form1.MDIChildren[k].bringToFront; //переносим его вперед
if Form1.MDIChildren[k].WindowState=wsMinimized then
Form1.MDIChildren[k].WindowState:=wsNormal;
end
else
begin//иначе - создаем форму
Child := TForm3.Create(Application);
Child.Caption := childName; //задаем название формы
Child.DBGrid1.DataSource.DataSet:=table;//задаем источник данных
table.open;//открываем источник данных
Child.Setgridcolumnwidths;//выравниваем ширину столбцов
Child.label1.caption:=IntToStr(p); //параметр для определения типа открытого
документа
Case p of//в зависимости от типа документов настраиваем выпадающие списки/прячем
их
1: begin
Child.Combobox2.Items.Add('Все'); //добавляем элементы для заказов покупателей
Child.Combobox2.Items.Add('Оплаченные');
Child.Combobox2.Items.Add('Неоплаченные');
Child.ComboBox2.ItemIndex:=0;
Child.Combobox3.Items.Add('Все');
Child.Combobox3.Items.Add('Отгруженные');
Child.Combobox3.Items.Add('Неотгруженные');

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)