Файл: Проектирование реализации операций бизнес-процесса «Расчет заработной платы (АНАЛИТИЧЕСКАЯ ЧАСТЬ).pdf
Добавлен: 17.05.2023
Просмотров: 451
Скачиваний: 2
P1.Name:='P1';
P1.DataType:=ftInteger;
P1.Value:=1;
stroka_SQL:='SELECT .[], .[], , , , , , , , , ';
stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';
stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()<>""));';
if (stroka_SQL<>'') then
begin
mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);
mainclientsform.ADOQuery2.Active:=true;
mainclientsform.ADOQuery2.ExecSQL();
end;
end;
if nomer_poisk=7 then begin
childTemplateForm.Button1.Visible:=false;
S:=Edit2.Text;
summa:=STRTOINT(Edit4.Text);
srok:=STRTOINT(Edit5.Text);
P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P1.Name:='P1';
P1.DataType:=ftString;
P1.Value:=S;
P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter;
P2.Name:='P2';
P2.DataType:=ftinteger;
P2.Value:=round(0.5*summa/srok);
stroka_SQL:='SELECT, , , , , , .[], .[], ';
stroka_SQL:=stroka_SQL+'FROM INNER JOIN ( INNER JOIN ON.[] =.[]) ON Фактвыполнения.[Код факта] =.[]';
stroka_SQL:=stroka_SQL+'WHERE ( (>:P2) and () AND((Фактвыполнения.нарушение)="нет") AND (( [) AND (() AND (());';
if (stroka_SQL<>'') then
begin
mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);
mainclientsform.ADOQuery2.Active:=true;
mainclientsform.ADOQuery2.ExecSQL();
if mainclientsform.ADOQuery2.RecordCount>0 then
begin
childTemplateForm.Label1.Caption:=!!!!'
end
else
childTemplateForm.Label1.Caption:=
end;
end;
end;
end.
unit ChildTemplate;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, Grids, DBGrids, ExtCtrls, Menus, StdCtrls, OleServer, ExcelXP, OleCtnrs, ComObj;
type
TChildTemplateForm = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RzToolbarButton2Click(Sender: TObject);
procedure RzToolbarButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.dfm}
uses mainclients;
procedure TChildTemplateForm.Button1Click(Sender: TObject);
var put,asFileName:string;
var
XlApplication: OleVariant;
XLWorkSheet: OleVariant;
var
vVarApp,vVarBooks,vVarBook,
vVarSheets,vVarSheet,vVarCell,ws: Variant;
i,j:integer;
a:string;
begin
if mainclientsform.ADOQuery2.RecordCount>0 then
begin
try
XlApplication := GetActiveOleObject('Excel.Application');
except
XlApplication := CreateOleObject('Excel.Application');
end;
XlApplication.Workbooks.Open[ExtractFilePath(Application.ExeName)+'zayavka.xlt', 0, true]; XlApplication.Visible := true;
XLWorkSheet := XlApplication.ActiveWorkBook.ActiveSheet;
if nomer_poisk<>8 then
XLWorkSheet.cells[3,3]:=''
else
XLWorkSheet.cells[3,3]:='';
mainclientsform.ADOQuery2.First;
for i:=1 to mainclientsform.ADOQuery2.RecordCount do
begin
j:= 0;
A:= mainclientsform.ADOQuery2.FieldByName('Фамилия').AsString;
XLWorkSheet.cells[i+5,2]:=A ;
A:= mainclientsform.ADOQuery2.FieldByName('Имя').AsString;
XLWorkSheet.cells[i+5,3]:=A ;
A:= mainclientsform.ADOQuery2.FieldByName('Отчество').AsString;
XLWorkSheet.cells[i+5,4]:=A ;
A:= mainclientsform.ADOQuery2.FieldByName('телефон1').AsString;
XLWorkSheet.cells[i+5,5]:=A ;
A:= mainclientsform.ADOQuery2.FieldByName('город').AsString;
XLWorkSheet.cells[i+5,6]:=A ;
A:= mainclientsform.ADOQuery2.FieldByName('улица').AsString;
XLWorkSheet.cells[i+5,7]:=A ;
A:= mainclientsform.ADOQuery2.FieldByName('дом').AsString;
XLWorkSheet.cells[i+5,8]:=A ;
A:= mainclientsform.ADOQuery2.FieldByName('квартира').AsString;
XLWorkSheet.cells[i+5,9]:=A ;
mainclientsform.ADOQuery2.Next;
end ;
end;
end;
procedure TChildTemplateForm.FormClose(Sender: TObject;