ПЗ (Автоматизированная информационная система предприятия компьютерного сервиса), страница 12
Описание файла
Файл "ПЗ" внутри архива находится в следующих папках: Автоматизированная информационная система предприятия компьютерного сервиса, Черноусов. Документ из архива "Автоматизированная информационная система предприятия компьютерного сервиса", который расположен в категории "". Всё это находится в предмете "дипломы и вкр" из 8 семестр, которые можно найти в файловом архиве ДВГУПС. Не смотря на прямую связь этого архива с ДВГУПС, его также можно найти и в других разделах. .
Онлайн просмотр документа "ПЗ"
Текст 12 страницы из документа "ПЗ"
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+i].Select;
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
end;
Excel.Cells[i+PosInc,1] := dstJobs.FieldByName('Работа').AsString;
Excel.Cells[i+PosInc,4] := 'шт';
Excel.Cells[i+PosInc,5] := FormatFloat('#,00', dstJobs.FieldByName('Количество').AsFloat);
Excel.Cells[i+PosInc,6] := dstJobs.FieldByName('ОплатаЗаНорму').AsCurrency / 118 * 100;
Excel.Cells[i+PosInc,7] := dstJobs.FieldByName('Сумма').AsCurrency / 118 * 100;
Excel.Cells[i+PosInc,10] := dstJobs.FieldByName('Сумма').AsCurrency / 118 * 18;
Excel.Cells[i+PosInc,11] := dstJobs.FieldByName('Сумма').AsCurrency;
Inc(i);
Sum := Sum + dstJobs.FieldByName('Сумма').AsCurrency;
dstJobs.Next;
end; //while not dstJobs.Eof
//Цикл по материалам:
dstMat.First;
while not dstMat.Eof do
begin
//Добавление новой строки для работы:
if i <> 0 then
begin
Excel.Rows.Item[PosInc+i].Select;
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].Select;
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+i].Select;
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
end;
Excel.Cells[i+PosInc,1] := dstMat.FieldByName('Материал').AsString;
Excel.Cells[i+PosInc,4] := tbStore.FieldByName('ЕдИзм').AsString;
Excel.Cells[i+PosInc,5] := FormatFloat('#,00', dstMat.FieldByName('Количество').AsFloat);
Excel.Cells[i+PosInc,6] := dstMat.FieldByName('Цена').AsCurrency / 118 * 100;
Excel.Cells[i+PosInc,7] := dstMat.FieldByName('Сумма').AsCurrency / 118 * 100;
Excel.Cells[i+PosInc,10] := dstMat.FieldByName('Сумма').AsCurrency / 118 * 18;
Excel.Cells[i+PosInc,11] := dstMat.FieldByName('Сумма').AsCurrency;
Inc(i);
Sum := Sum + dstMat.FieldByName('Сумма').AsCurrency;
dstMat.Next;
end; //while not dstJobs.Eof
Excel.Cells[i+PosInc,10] := Sum / 118 * 18;
Excel.Cells[i+PosInc,11] := Sum;
//Выводреквизитов:
DM.tbRequisite.Open;
Excel.Cells[6,2] := DM.tbRequisite.FieldByName('Наименование').AsString;
Excel.Cells[7,2] := DM.tbRequisite.FieldByName('Адрес').AsString;
Excel.Cells[8,2] := DM.tbRequisite.FieldByName('ИНН').AsString + ' / ' +
DM.tbRequisite.FieldByName('КПП').AsString;
Excel.Cells[9,3] := DM.tbRequisite.FieldByName('Наименование').AsString +
', ' + DM.tbRequisite.FieldByName('Адрес').AsString;
Excel.Cells[i+PosInc+3,6] := DM.tbRequisite.FieldByName('ГенДиректор').AsString;
Excel.Cells[i+PosInc+3,12] := DM.tbRequisite.FieldByName('ГлавБух').AsString;
DM.tbRequisite.Close;
end; //with
Excel.Visible := True;
except
Excel.Quit;
end;
finally
Screen.Cursor := crDefault;
end;
end;
//Функция возвращает дату формата "xx месяца xxxx г."
function GetRightDate(ADate: TDateTime): string;
var
Month: string;
begin
case MonthOf(ADate) of
1: Month := 'января';
2: Month := 'февраля';
3: Month := 'марта';
4: Month := 'апреля';
5: Month := 'мая';
6: Month := 'июня';
7: Month := 'июля';
8: Month := 'августа';
9: Month := 'сентября';
10: Month := 'октября';
11: Month := 'ноября';
12: Month := 'декабря';
end;
Result := FormatDateTime('dd ' + Month + ' yyyy г.', ADate);
end;
//Формирование отчета по выбранному набору данных (вывод заголовков видимых
//полейиихзначений):
procedure Rep_Any(ADBGrid: TDBGrid; NumCol: Integer; ACaption: string);
var
Excel: Variant;
i, j, Width: Integer;
begin
Excel := CreateOleObject('Excel.Application');
Screen.Cursor := crHourGlass;
try
try
Excel.Application.EnableEvents := False;
Excel.Workbooks.Add;
for i:=0 to NumCol-1 do
begin
//Вывод в шапку таблицы названий полей из DBGrid'а:
Excel.Cells[5,i+1] := ADBGrid.Columns[i].Title.Caption;
//Форматированиезаголовка:
Width := Min(30, Trunc(ADBGrid.Columns[i].Width * 0.2));
Excel.Cells[5,i+1].ColumnWidth := Width;
Excel.Cells[5,i+1].Font.Bold := True;
Excel.Cells[5,i+1].Borders[7].LineStyle := 1;
Excel.Cells[5,i+1].Borders[8].LineStyle := 1;
Excel.Cells[5,i+1].Borders[9].LineStyle := 1;
Excel.Cells[5,i+1].Borders[10].LineStyle := 1;
end;
Excel.Cells[1,1] := Date;
Excel.Cells[3,1] := ACaption;
Excel.Cells[3,1].Font.Bold := True;
Excel.Cells[3,1].Font.Size := 12;
i := 5;
//Экспорт данных из таблиц БД:
with ADBGrid.DataSource.DataSet do
begin
DisableControls; //Отключаем сетку на время формирования отчета
First;
while not Eof do
begin
Inc(i);
//Выводятся NumCol первых полей таблицы, отображенных в DBGrid'е:
for j:=0 to NumCol-1 do
begin
Excel.Cells[i,j+1].NumberFormat := '@'; //Формат "текст"
//Текст выводится так, как он отображен в DBGrid'e:
Excel.Cells[i,j+1] := FieldByName(ADBGrid.Columns[j].FieldName).DisplayText;
Excel.Cells[i,j+1].Borders[7].LineStyle := 1;
Excel.Cells[i,j+1].Borders[8].LineStyle := 1;
Excel.Cells[i,j+1].Borders[9].LineStyle := 1;
Excel.Cells[i,j+1].Borders[10].LineStyle := 1;
if ADBGrid.Columns[j].Alignment = taLeftJustify then
Excel.Cells[i,j+1].HorizontalAlignment := 2 //Выравниваниевлево
else
Excel.Cells[i,j+1].HorizontalAlignment := 4;//Выравниваниевправо
Excel.Cells[i,j+1].WrapText := True; //Переностекставячейке
end;
Next;
end;
end; //with
Excel.Application.EnableEvents := True;
Excel.Visible := True;
except
Excel.Quit;
end;
finally
ADBGrid.DataSource.DataSet.EnableControls;
Screen.Cursor := crDefault;
ADBGrid.Enabled := True;
end;
end;
end.
Программный модуль Req.pas
unit Req;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, Buttons;
type
TfmRequisite = class(TForm)
Label1: TLabel;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
DBEdit7: TDBEdit;
Label8: TLabel;
DBEdit8: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBMemo1: TDBMemo;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmRequisite: TfmRequisite;
implementation
uses DMUnit, DB;
{$R *.dfm}
procedure TfmRequisite.FormShow(Sender: TObject);
begin
DM.tbRequisite.Open;
end;
procedure TfmRequisite.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
DM.tbRequisite.Close;
end;
procedure TfmRequisite.BitBtn1Click(Sender: TObject);
begin
if DM.tbRequisite.State = dsEdit then
DM.tbRequisite.Post;
Close;
end;
procedure TfmRequisite.BitBtn2Click(Sender: TObject);
begin
DM.tbRequisite.Cancel;
Close;
end;
end.