📄 ufz.pas
字号:
sql.add(' and c.fdelivdate = :dd');
sql.add(' group by fname,fcode');
if wwDBDateTimePicker2.Text<>'' then
Parameters.ParamByName('dd').Value:=wwDBDateTimePicker2.Date;
open;
end;
adoquery3.DisableControls;
try
excelid := createoleobject('excel.application');
mybook := createoleobject('excel.sheet');
mybook := excelid.workbooks.add;
row := 1;
col := 1;
excelflg := true;
except
excelflg := false;
application.MessageBox('请确定EXCEL是否正确安装!', '提示信息', mb_ok);
end;
if excelflg then
begin
colcount := 4;
excelid.range['A' + inttostr(row), chr(64 + colcount) +
inttostr(row)].merge();
mybook.worksheets[1].cells.item[row, col] := '基本报表';
mybook.worksheets[1].cells.item[row, col].font.size := 18;
mybook.worksheets[1].cells.item[row, col].font.bold := true;
mybook.worksheets[1].cells.item[row, col].HorizontalAlignment := xlcenter;
row := row + 1;
excelid.range['A' + inttostr(row), chr(64 + colcount) +
inttostr(row)].merge();
mybook.worksheets[1].cells.item[row, col] := '报表日期:' +
datetostr(date);
row := row + 1;
frow := row;
adoquery3.First;
excelid.columns[1].ColumnWidth := Grid.Columns[0].Width / 8;
excelid.columns[1].NumberFormatLocal := '@';
mybook.worksheets[1].cells.item[row, 1] := '序号';
excelid.columns[2].ColumnWidth := Grid.Columns[1].Width / 8;
excelid.columns[2].NumberFormatLocal := '@';
mybook.worksheets[1].cells.item[row, 2] := '物料代码';
excelid.columns[3].ColumnWidth := Grid.Columns[2].Width / 8;
excelid.columns[3].NumberFormatLocal := '@';
mybook.worksheets[1].cells.item[row, 3] :='物料名称';
excelid.columns[4].ColumnWidth := Grid.Columns[3].Width / 8;
excelid.columns[4].NumberFormatLocal := '@';
mybook.worksheets[1].cells.item[row, 4] := '扫描数量';
i:=1;
row := row + 1;
while not adoquery3.Eof do
begin
mybook.worksheets[1].cells.item[row, 1] :=i;
mybook.worksheets[1].cells.item[row, 2] := adoquery3.FieldByName('fcode').Value;
mybook.worksheets[1].cells.item[row, 3] := adoquery3.FieldByName('fname').Value;
mybook.worksheets[1].cells.item[row, 4] := adoquery3.FieldByName('fqty').Value;
i:=i+1;
row := row + 1;
adoquery3.Next;
end;
excelid.range['A' + inttostr(row), chr(64 + colcount) +
inttostr(row)].merge();
mybook.worksheets[1].cells.item[row, col].font.size := 12;
mybook.worksheets[1].cells.item[row, col].font.bold := true;
mybook.worksheets[1].cells.item[row, col].HorizontalAlignment := xlcenter;
mybook.worksheets[1].cells.item[row, col] := '总记录数:' +
inttostr(adoquery3.RecordCount) + '条';
row := row + 1;
rpstr := '报表条件:';
excelid.range['A' + inttostr(row), chr(64 + colcount) +
inttostr(row)].merge();
mybook.worksheets[1].cells.item[row, col] := rpstr;
row := row + 1;
excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
- 1)].Borders[1].LineStyle := xlContinuous;
excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
- 1)].Borders[2].LineStyle := xlContinuous;
excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
- 1)].Borders[3].LineStyle := xlContinuous;
excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
- 1)].Borders[4].LineStyle := xlContinuous;
excelid.visible := true;
end;
adoquery3.EnableControls;
end;
procedure Tffz.GridColExit(Sender: TObject);
var
n,ii:integer;
ss,sw,sii:string;
total:double;
begin
//inherited;
if CDSsub.State in [dsEdit,dsinsert] then
begin
case grid.SelectedIndex of
2,3:
begin
GetsqlData(CDSselectsub,'Vitem','fid','fcode='+vartosql(CDSsub['fcode']),1);
if CDSselectsub.RecordCount > 0 then
begin
CDSsub['fitemid']:=CDSselectsub['fid'] ;
CDSsub['fname']:=CDSselectsub['fname'];
CDSsub['fcode']:=CDSselectsub['fcode'];
CDSsub['ftype'] :=CDSselectsub['ftype'];
CDSsub['funit']:=CDSselectsub['funit'];
// CDSsub['color']:=CDSselectsub['color'];
// CDSsub['colorno']:=CDSselectsub['colorno'];
CDSsub['zs']:=CDSselectsub['zs'];
// CDSsub['gno']:=CDSselectsub['gno'];
// CDSsub['stime']:=str4;
// CDSsub['total'] :=strtofloat( str2)*CDSsub['fqty'];
// grid.SelectedIndex:=11;
end
else
MessageDlg('没找到相应的资料 ? ',mtWarning,[MBOK],0);
end;
9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35:
begin
CdSsub['total']:=CDSsub['s1']+CDSsub['s2']+CDSsub['s3']+CDSsub['s4']+CDSsub['s5']+CDSsub['s6']+
CDSsub['s7']+CDSsub['s8']+CDSsub['s9']+CDSsub['s10']+CDSsub['s11']+CDSsub['s12'];
// CDSsub['fqty'] :=CdSsub['pm']*CdSsub['total']/CdSsub['qtyunit']*(1+CDSsub['per1']/100);
total:=0;
for n:=1 to 12 do
begin
ss:='s'+inttostr(n);
sw:='sw'+inttostr(n);
total:=total+cdssub[ss]*cdssub[sw]/CdSsub['qtyunit']*(1+CDSsub['per1']/100);
end;
CDSsub['fqty'] :=total;
end ;
end;
end;
end;
procedure Tffz.wwDBEdit6Change(Sender: TObject);
begin
inherited;
grid.Columns[13].Title.caption:=wwDBEdit6.Text;
end;
procedure Tffz.wwDBEdit7Change(Sender: TObject);
begin
inherited;
grid.Columns[15].Title.caption:=wwDBEdit7.Text;
end;
procedure Tffz.wwDBEdit9Change(Sender: TObject);
begin
inherited;
grid.Columns[17].Title.caption:=wwDBEdit9.Text;
end;
procedure Tffz.wwDBEdit10Change(Sender: TObject);
begin
inherited;
grid.Columns[19].Title.caption:=wwDBEdit10.Text;
end;
procedure Tffz.wwDBEdit11Change(Sender: TObject);
begin
inherited;
grid.Columns[21].Title.caption:=wwDBEdit11.Text;
end;
procedure Tffz.wwDBEdit12Change(Sender: TObject);
begin
inherited;
grid.Columns[23].Title.caption:=wwDBEdit12.Text;
end;
procedure Tffz.wwDBEdit13Change(Sender: TObject);
begin
inherited;
grid.Columns[25].Title.caption:=wwDBEdit13.Text;
end;
procedure Tffz.wwDBEdit14Change(Sender: TObject);
begin
inherited;
grid.Columns[27].Title.caption:=wwDBEdit14.Text;
end;
procedure Tffz.wwDBEdit15Change(Sender: TObject);
begin
inherited;
grid.Columns[29].Title.caption:=wwDBEdit15.Text;
end;
procedure Tffz.wwDBEdit16Change(Sender: TObject);
begin
inherited;
grid.Columns[31].Title.caption:=wwDBEdit16.Text;
end;
procedure Tffz.wwDBEdit17Change(Sender: TObject);
begin
inherited;
grid.Columns[33].Title.caption:=wwDBEdit17.Text;
end;
procedure Tffz.wwDBEdit18Change(Sender: TObject);
begin
inherited;
grid.Columns[35].Title.caption:=wwDBEdit18.Text;
end;
procedure Tffz.aclineaddExecute(Sender: TObject);
var
sw,sii:string;
ii:integer;
begin
inherited;
for ii:=1 to 12 do
begin
sii:='s'+inttostr(ii);
sw:='sw'+inttostr(ii);
CDSsub[sii]:=0;
if wwdbedit20.Text='' then
CDSsub[sw]:=0 else
CDSsub[sw]:=wwdbedit20.Text;
end;
CDSsub['qtyunit']:=16;
CDSsub['per1']:=0;
CDSsub['fqty']:=0;
CDSsub['total']:=0;
end;
procedure Tffz.p07Execute(Sender: TObject);
var
frname:string;
begin
inherited;
frname:=gs_appPath+'\Prints\frlm.frf';
cdssub.DisableControls;
frMD.LoadFromFile(frname);
frMD.ShowReport;
cdssub.EnableControls;
end;
procedure Tffz.acaddExecute(Sender: TObject);
begin
inherited;
wwDBLookupCombo1.Text:='亿溢';
end;
procedure Tffz.CDSsubBeforePost(DataSet: TDataSet);
var
n,ii:integer;
ss,sw,sii:string;
total:double;
begin
inherited;
if cdssub.State in [dsedit,dsinsert] then
begin
CdSsub['total']:=CDSsub['s1']+CDSsub['s2']+CDSsub['s3']+CDSsub['s4']+CDSsub['s5']+CDSsub['s6']+
CDSsub['s7']+CDSsub['s8']+CDSsub['s9']+CDSsub['s10']+CDSsub['s11']+CDSsub['s12'];
total:=0;
for n:=1 to 12 do
begin
ss:='s'+inttostr(n);
sw:='sw'+inttostr(n);
total:=total+cdssub[ss]*cdssub[sw]/CdSsub['qtyunit']*(1+CDSsub['per1']/100);
end;
CDSsub['fqty'] :=total;
end;
end;
procedure Tffz.GridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if grid.SelectedIndex=2 then
if char(key)='p' then
if cdssub.State in [dsedit,dsinsert] then
Selectsub;
end;
procedure Tffz.CDSsubAfterInsert(DataSet: TDataSet);
var
sw,sii:string;
ii:integer;
begin
inherited;
for ii:=1 to 12 do
begin
sii:='s'+inttostr(ii);
sw:='sw'+inttostr(ii);
CDSsub[sii]:=0;
if wwdbedit20.Text='' then
CDSsub[sw]:=0 else
CDSsub[sw]:=wwdbedit20.Text;
end;
CDSsub['qtyunit']:=16;
CDSsub['per1']:=0;
CDSsub['fqty']:=0;
CDSsub['total']:=0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -