ПЗ (Автоматизированная информационная система предприятия компьютерного сервиса), страница 11
Описание файла
Файл "ПЗ" внутри архива находится в следующих папках: Автоматизированная информационная система предприятия компьютерного сервиса, Черноусов. Документ из архива "Автоматизированная информационная система предприятия компьютерного сервиса", который расположен в категории "". Всё это находится в предмете "дипломы и вкр" из 8 семестр, которые можно найти в файловом архиве ДВГУПС. Не смотря на прямую связь этого архива с ДВГУПС, его также можно найти и в других разделах. .
Онлайн просмотр документа "ПЗ"
Текст 11 страницы из документа "ПЗ"
DM.tbRequisite.Open;
ObjWord.Selection.Goto(Name := 'Орг');
ObjWord.Selection.TypeText(Text := DM.tbRequisite.FieldByName('Наименование').AsString);
ObjWord.Selection.Goto(Name := 'Орг2');
ObjWord.Selection.TypeText(Text := DM.tbRequisite.FieldByName('Наименование').AsString);
ObjWord.Selection.Goto(Name := 'ЮрАдрес');
ObjWord.Selection.TypeText(Text := DM.tbRequisite.FieldByName('Адрес').AsString);
ObjWord.Selection.Goto(Name := 'ПочтАдрес');
ObjWord.Selection.TypeText(Text := DM.tbRequisite.FieldByName('Адрес').AsString);
ObjWord.Selection.Goto(Name := 'ИНН');
ObjWord.Selection.TypeText(Text := DM.tbRequisite.FieldByName('ИНН').AsString);
ObjWord.Selection.Goto(Name := 'Реквизиты');
ObjWord.Selection.TypeText(Text := DM.tbRequisite.FieldByName('Реквизиты').AsString);
ObjWord.Selection.Goto(Name := 'ГенДир');
ObjWord.Selection.TypeText(Text := DM.tbRequisite.FieldByName('ГенДиректор').AsString);
ObjWord.Selection.Goto(Name := 'ГенДир2');
ObjWord.Selection.TypeText(Text := DM.tbRequisite.FieldByName('ГенДиректор').AsString);
DM.tbRequisite.Close;
ObjWord.Visible := True;
except
ObjWord.Quit;
end;
finally
Screen.Cursor := crDefault;
end;
end;
//Формирование Приложения 1 к Договору:
procedure Rep_Order;
var
WorkbookName: string;
Excel: Variant;
i, j, PosInc: Integer;
Sum, SumItogo: Currency;
begin
//Шаблонхранитсявпапке Templates:
WorkbookName := GetCurrentDir + '\Templates\' + 'Приложение 1.xlt';
Excel := CreateOleObject('Excel.Application');
Screen.Cursor := crHourGlass;
try
try
Excel.Workbooks.Open(WorkbookName);
//Экспорт данных из таблицы БД:
with DM do
begin
i := 0;
SumItogo := 0; //Общая сумма заказа
PosInc := 7;
Excel.Cells[1,4] := 'Д' + FormatFloat('0000', dstOrders.FieldByName('NЗаказа').AsInteger) +
' от ' + GetRightDate(dstOrders.FieldByName('ДатаПриема').AsDateTime);
Excel.Cells[3,3] := dstOrders.FieldByName('Клиент').AsString;
//Цикл по работам:
dstJobs.First;
Sum := 0; //Суммаработ
while not dstJobs.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] := i+1;
Excel.Cells[i+PosInc,2] := dstJobs.FieldByName('Работа').AsString;
Excel.Cells[i+PosInc,4] := FormatFloat('000', dstJobs.FieldByName('РаботаID').AsInteger);
Excel.Cells[i+PosInc,5] := dstJobs.FieldByName('Работник').AsString;
Excel.Cells[i+PosInc,6] := dstJobs.FieldByName('ОплатаЗаНорму').AsCurrency;
Excel.Cells[i+PosInc,7] := FormatFloat('#,00', dstJobs.FieldByName('Количество').AsFloat);
Excel.Cells[i+PosInc,8] := dstJobs.FieldByName('Сумма').AsCurrency;
Inc(i);
Sum := Sum + dstJobs.FieldByName('Сумма').AsCurrency;
dstJobs.Next;
end; //while not dstJobs.Eof
Excel.Cells[i+PosInc,8] := Sum;
Inc(i, 4);
SumItogo := SumItogo + Sum;
//Цикл по мат. ценностям:
dstMat.First;
Sum := 0; //Сумма мат. ценностей
j := 0;
while not dstMat.Eof do
begin
//Добавление новой строки для мат.ценности:
if j <> 0 then
begin
Excel.Rows.Item[PosInc+i].Select;
Excel.Selection.Insert;
Excel.Rows.Item[PosInc+i-1].Select;
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+i].Select;
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
end;
Excel.Cells[i+PosInc,1] := j+1;
Excel.Cells[i+PosInc,2] := dstMat.FieldByName('Материал').AsString;
Excel.Cells[i+PosInc,5] := tbStore.FieldByName('ЕдИзм').AsString;
Excel.Cells[i+PosInc,6] := dstMat.FieldByName('Цена').AsCurrency;
Excel.Cells[i+PosInc,7] := FormatFloat('#,00', dstMat.FieldByName('Количество').AsFloat);
Excel.Cells[i+PosInc,8] := dstMat.FieldByName('Сумма').AsCurrency;
Inc(j);
Inc(i);
Sum := Sum + dstMat.FieldByName('Сумма').AsCurrency;
dstMat.Next;
end; //while not dstJobs.Eof
if j=0 then
Inc(i);
Excel.Cells[i+PosInc,8] := Sum;
SumItogo := SumItogo + Sum;
Excel.Cells[i+PosInc+2,8] := SumItogo;
Excel.Cells[i+PosInc+4,3] := SumToTxt(Format('%.2f', [SumItogo]));
Excel.Cells[i+PosInc+5,6] := dstOrders.FieldByName('Работник').AsString;
Excel.Cells[i+PosInc+6,6] := dstOrders.FieldByName('Менеджер').AsString;
end; //with
Excel.Visible := True;
except
Excel.Quit;
end;
finally
Screen.Cursor := crDefault;
end;
end;
//Формирование акта выполненных работ:
procedure Rep_Act;
var
WorkbookName: string;
Excel: Variant;
i, PosInc: Integer;
Sum: Currency;
begin
//Шаблонхранитсявпапке Templates:
WorkbookName := GetCurrentDir + '\Templates\' + 'Актвыполненныхработ.xlt';
Excel := CreateOleObject('Excel.Application');
Screen.Cursor := crHourGlass;
try
try
Excel.Workbooks.Open(WorkbookName);
//Экспорт данных из таблицы БД:
with DM do
begin
i := 0;
PosInc := 14;
//Вывод реквизитов в шапку:
DM.tbRequisite.Open;
Excel.Cells[1,1] := DM.tbRequisite.FieldByName('Наименование').AsString;
Excel.Cells[2,1] := DM.tbRequisite.FieldByName('Адрес').AsString;
Excel.Cells[3,1] := 'ИНН ' + DM.tbRequisite.FieldByName('ИНН').AsString +
', КПП ' + DM.tbRequisite.FieldByName('КПП').AsString;
Excel.Cells[8,3] := DM.tbRequisite.FieldByName('Наименование').AsString;
DM.tbRequisite.Close;
Excel.Cells[2,8] := '№ Д' + FormatFloat('0000', dstOrders.FieldByName('NЗаказа').AsInteger) +
' от ' + dstOrders.FieldByName('ДатаПриема').AsString;
Excel.Cells[9,3] := dstOrders.FieldByName('Клиент').AsString;
Excel.Cells[10,3] := dstOrders.FieldByName('Клиент').AsString;
Excel.Cells[5,4] := 'А' + FormatFloat('0000', dstOrders.FieldByName('NЗаказа').AsInteger) +
' от ' + GetRightDate(DM.dstOrders.FieldByName('ДатаПриема').AsDateTime);
//Цикл по работам:
dstJobs.First;
Sum := 0; //Суммаработ
while not dstJobs.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] := i+1;
Excel.Cells[i+PosInc,2] := dstJobs.FieldByName('Работа').AsString;
Excel.Cells[i+PosInc,4] := FormatFloat('000', dstJobs.FieldByName('РаботаID').AsInteger);
Excel.Cells[i+PosInc,5] := dstJobs.FieldByName('Работник').AsString;
Excel.Cells[i+PosInc,6] := dstJobs.FieldByName('ОплатаЗаНорму').AsCurrency;
Excel.Cells[i+PosInc,7] := FormatFloat('#,00', dstJobs.FieldByName('Количество').AsFloat);
Excel.Cells[i+PosInc,8] := dstJobs.FieldByName('Сумма').AsCurrency;
Inc(i);
Sum := Sum + dstJobs.FieldByName('Сумма').AsCurrency;
dstJobs.Next;
end; //while not dstJobs.Eof
Excel.Cells[i+PosInc,8] := Sum;
end; //with
Excel.Visible := True;
except
Excel.Quit;
end;
finally
Screen.Cursor := crDefault;
end;
end;
//Формированиесчета:
procedure Rep_Bill;
var
WorkbookName: string;
Excel: Variant;
i, PosInc: Integer;
Sum: Currency;
begin
//Шаблон хранится в папке Templates:
WorkbookName := GetCurrentDir + '\Templates\' + 'Счет.xlt';
Excel := CreateOleObject('Excel.Application');
Screen.Cursor := crHourGlass;
try
try
Excel.Workbooks.Open(WorkbookName);
//Экспорт данных из таблицы БД:
with DM do
begin
i := 0;
PosInc := 9;
Excel.Cells[4,3] := 'С' + FormatFloat('0000', dstOrders.FieldByName('NЗаказа').AsInteger) +
' от ' + dstOrders.FieldByName('ДатаПриема').AsString;
Excel.Cells[9,3] := dstOrders.FieldByName('Клиент').AsString;
Excel.Cells[6,3] := dstOrders.FieldByName('Клиент').AsString + ', ИНН ' +
DM.tbClients.FieldByName('ИНН').AsString + ', КПП ' +
DM.tbClients.FieldByName('КПП').AsString;
//Цикл по работам:
dstJobs.First;
Sum := 0;
while not dstJobs.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] := i+1;
Excel.Cells[i+PosInc,2] := 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;
Excel.Cells[i+PosInc,7] := 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] := i+1;
Excel.Cells[i+PosInc,2] := 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;
Excel.Cells[i+PosInc,7] := dstMat.FieldByName('Сумма').AsCurrency;
Inc(i);
Sum := Sum + dstMat.FieldByName('Сумма').AsCurrency;
dstMat.Next;
end; //while not dstJobs.Eof
Excel.Cells[i+PosInc,7] := Sum;
Excel.Cells[i+PosInc+2,3] := SumToTxt(Format('%.2f', [Sum]));
//Выводреквизитоввшапку:
DM.tbRequisite.Open;
Excel.Cells[1,1] := DM.tbRequisite.FieldByName('Наименование').AsString + ', ' +
DM.tbRequisite.FieldByName('Адрес').AsString + ', ИНН ' +
DM.tbRequisite.FieldByName('ИНН').AsString + ', КПП ' +
DM.tbRequisite.FieldByName('КПП').AsString;
Excel.Cells[2,1] := DM.tbRequisite.FieldByName('Реквизиты').AsString;
Excel.Cells[i+PosInc+4,4] := DM.tbRequisite.FieldByName('ГенДиректор').AsString;
DM.tbRequisite.Close;
end; //with
Excel.Visible := True;
except
Excel.Quit;
end;
finally
Screen.Cursor := crDefault;
end;
end;
//Формирование счета-фактуры:
procedure Rep_Fact;
var
WorkbookName: string;
Excel: Variant;
i, PosInc: Integer;
Sum: Currency;
begin
//Шаблонхранитсявпапке Templates:
WorkbookName := GetCurrentDir + '\Templates\' + 'Счет-фактура.xlt';
Excel := CreateOleObject('Excel.Application');
Screen.Cursor := crHourGlass;
try
try
Excel.Workbooks.Open(WorkbookName);
//Экспорт данных из таблицы БД:
with DM do
begin
i := 0;
PosInc := 19;
Excel.Cells[4,2] := 'СФ' + FormatFloat('0000', dstOrders.FieldByName('NЗаказа').AsInteger);
Excel.Cells[4,4] := GetRightDate(DM.dstOrders.FieldByName('ДатаПриема').AsDateTime);
Excel.Cells[10,3] := dstOrders.FieldByName('Клиент').AsString + ', ' +
DM.tbClients.FieldByName('Адрес').AsString;
Excel.Cells[11,3] := 'С' + FormatFloat('0000', dstOrders.FieldByName('NЗаказа').AsInteger) +
' от ' + dstOrders.FieldByName('ДатаПриема').AsString;
Excel.Cells[12,2] := dstOrders.FieldByName('Клиент').AsString;
Excel.Cells[13,2] := DM.tbClients.FieldByName('Адрес').AsString;
Excel.Cells[14,2] := DM.tbClients.FieldByName('ИНН').AsString + ' / ' +
DM.tbClients.FieldByName('КПП').AsString;
//Цикл по работам:
dstJobs.First;
Sum := 0;
while not dstJobs.Eof do
begin
//Добавление новой строки для работы:
if i <> 0 then
begin
Excel.Rows.Item[PosInc+i].Select;
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].Select;