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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
102
procedure TForm1.N12Click(Sender: TObject);
begin
CreateDocForm('Приходные кассовые ордеры',Form1.Prihod,4);
//приходники
end;
procedure TForm1.N17Click(Sender: TObject);
begin
CreateDocForm('Расходные кассовые ордеры',Form1.Rashod,5);
//расходники
end;
procedure TForm1.N13Click(Sender: TObject);
begin
CreateDocForm('Отгрузки товаров',Form1.Otgruz,6); //отгрузки
end;
procedure TForm1.ZakaKlientTovarCalcFields(DataSet: TDataSet);
//автоподсчет стоимости товара по позиции в заказах
begin
ZakaKlientTovar.FieldByName('Stoim').Value:=ZakaKlientTovar.Fiel
dByName('Price').Value*ZakaKlientTovar.FieldByName('Num').Value
end;
procedure TForm1.N14Click(Sender: TObject);
begin
CreateSpravForm('Товары','',Form1.Tovar,0);
end;
procedure TForm1.TovarCalcFields(DataSet: TDataSet);
//автоподсчет остатка товара в таблице справочнике товаров. если
меньше 0, то отображаем 0
begin
if Tovar.FieldByName('Ostatok').Value<0 then
Tovar.FieldByName('OstatokL').Value:=0
else
Tovar.FieldByName('OstatokL').Value:=Tovar.FieldByName('Ostatok'
).Value;
end;
procedure TForm1.OtgruzTovarCalcFields(DataSet: TDataSet);
//стоимость для отгрузок
begin
OtgruzTovar.FieldByName('Stoim').Value:=OtgruzTovar.FieldByName(
'Price').Value*OtgruzTovar.FieldByName('Numot1').Value
end;
procedure TForm1.OtgruzTovarTCalcFields(DataSet: TDataSet);
begin
103
OtgruzTovarT.FieldByName('Stoim').Value:=OtgruzTovarT.FieldByNam
e('Price').Value*OtgruzTovarT.FieldByName('Num').Value
end;
procedure TForm1.FormShow(Sender: TObject); //создаем форму
для авторизации
var
Child: TForm8;
begin
Child := TForm8.Create(Application);
Child.Width:=319;
Child.Height:=153;
end;
procedure TForm1.FormCreate(Sender: TObject); //прячем главное
меню (до момента успешного прохождения авторизации)
begin
Menu:=nil;
end;
Function IndToCol(const ind:integer):String; //функция для
перевода номер столбца Excel в его текстовой индекс
begin
case ind of
0: result:='A';
1: result:='B';
2: result:='C';
3: result:='D';
4: result:='E';
5: result:='F';
6: result:='G';
7: result:='H';
8: result:='J';
9: result:='K';
10: result:='L';
11: result:='M';
12: result:='N';
13: result:='O';
14: result:='P';
15: result:='Q';
16: result:='R';
17: result:='S';
18: result:='T';
19: result:='U';
end;
end;
Procedure TForm1.Othet(const Data: TADOQUERY; Otchetname:
string); //процедура для выгрузки отчета в Excel на основании
запроса к БД
var
104
Excel:Variant;
i,j,k:integer;
begin
//Обновляем данные
Data.close;
Data.open;
//Удаляем предыдущий отчет
if
FileExists(Pchar(ExtractFilePath(ParamStr(0))+'docs\Othet1.xls')
) then
DeleteFile(Pchar(ExtractFilePath(ParamStr(0))+'docs\Othet1.xls')
);
//Создаем новый отчет
CopyFile(Pchar(ExtractFilePath(ParamStr(0))+'docs\Othet.xls'),
Pchar(ExtractFilePath(ParamStr(0))+'docs\Othet1.xls'), true);
Excel := CreateOleObject('Excel.Application');
//Открываем его для работы
Excel.Workbooks.open[ExtractFilePath(ParamStr(0))+'docs\Othet1.x
ls'];
//задаем имя отчета
Excel.Range['A1']:=OtchetName;
//Задаем шапку таблицы
For j:=0 to Data.FieldCount-1 do
begin
Excel.Range[IndToCol(j+1)+'2']:=Data.Fields[j].FullName;
end;
//передаем результаты запроса в виде таблицы
if Data.RecordCount<>0 then
begin
k:=1;
For j:=0 to Data.FieldCount-1 do
begin
Data.First;
for i:=1 to Data.RecordCount do
begin
Excel.range['A'+IntTOStr(i+2)]:=IntTOStr(i);
Excel.Range[indToCol(j+1)+IntToStr(i+2)
]:=Data.Fields[j].Value;
Data.Next;
end;
end;
//задаем границы таблицы
Excel.Range['A2:'+indToCol(j)+IntTOStr(i+1)].Borders[5].LineStyl
e:= 0;
Excel.Range['A2:'+indToCol(j)+IntTOStr(i+1)].Borders[6].LineStyl
e:= 0;
Excel.Range['A2:'+indToCol(j)+IntTOStr(i+1)].Borders[7].LineStyl
e:= 1;
105
Excel.Range['A2:'+indToCol(j)+IntTOStr(i+1)].Borders[6].LineStyl
e:= 1;
Excel.Range['A2:'+indToCol(j)+IntTOStr(i+1)].Borders[8].LineStyl
e:= 1;
Excel.Range['A2:'+indToCol(j)+IntTOStr(i+1)].Borders[10].LineSty
le:= 1;
Excel.Range['A2:'+indToCol(j)+IntTOStr(i+1)].Borders[11].LineSty
le:= 1;
Excel.Range['A2:'+indToCol(j)+IntTOStr(i+1)].Borders[12].LineSty
le:= 1;
//строка итого
Excel.Range[indToCol(j-1)+IntTOStr(i+2)]:='ИТОГО';
Excel.Range[indToCol(j)+IntTOStr(i+2)]:='=СУММ('+indToCol(j)+'3:
'+indToCol(j)+IntTOStr(i+1)+')';
if j<2 then j:=2;
//Задаем дату формирования отчета
Excel.Range[indToCol(j-1)+IntTOStr(i+4)].Value:='Отчет
сформирован:';
Excel.Range[indToCol(j)+IntTOStr(i+4)].Value:=dateToStr(Now);
Excel.Range['A2:'+indToCol(j)+IntTOStr(i+4)].Columns.AutoFit;
end;
//отображаем отчет
Excel.visible:=true;
end;
procedure TForm1.N21Click(Sender: TObject);
//Создается форма для ввода отчетного промежутка времени
procedure TForm1.N3Click(Sender: TObject);
begin
CreateOtchetForm('Задайте интервал',1);
end;
procedure TForm1.N18Click(Sender: TObject);
begin
CreateOtchetForm('Задайте интервал',2);
end;
procedure TForm1.N19Click(Sender: TObject);
begin
CreateOtchetForm('Задайте интервал',3);
end;
106
procedure TForm1.N20Click(Sender: TObject);
begin
CreateOtchetForm('Задайте интервал',4);
end;
end;
procedure TForm1.ZakazPostavTovarCalcFields(DataSet: TDataSet);
begin
ZakazPostavTovar.FieldByName('Stoim').Value:=ZakazPostavTovar.Fi
eldByName('Price').Value*ZakazPostavTovar.FieldByName('Num').Val
ue
end;
procedure TForm1.PostupTovarCalcFields(DataSet: TDataSet);
begin
PostupTovar.FieldByName('Stoim').Value:=PostupTovar.FieldByName(
'Price').Value*PostupTovar.FieldByName('num').Value;
PostupTovar.FieldByName('numpostup').Value:=PostupTovar.FieldByN
ame('num').Value;
end;
procedure TForm1.PostupTovarTCalcFields(DataSet: TDataSet);
begin
PostupTovarT.FieldByName('Stoim').Value:=PostupTovarT.FieldByNam
e('Price').Value*PostupTovarT.FieldByName('numpostup').Value;
end;
end.

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

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