📄 yjunt.pas
字号:
unit yjunt;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, StdCtrls, Grids, DBGridEh, Buttons,Printers,WinSpool;
type
Tyjfrm = class(TForm)
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
DBGridEh1: TDBGridEh;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Edit1: TEdit;
DataSource1: TDataSource;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
BitBtn4: TBitBtn;
SaveDialog1: TSaveDialog;
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
yjfrm: Tyjfrm;
implementation
uses data,maind;
{$R *.dfm}
procedure Tyjfrm.FormActivate(Sender: TObject);
begin
label1.Caption:=formatdatetime('yyyy年mm月',date);
edit1.Text:='0';
edit2.Text:='0';
edit3.Text:='0';
end;
procedure Tyjfrm.BitBtn1Click(Sender: TObject);
begin
with dataman.xscxQuery do
begin
close;
sql.Clear;
sql.Add('select 货物条形码,sum(数量) as 数量,sum(总额) as 总额 from yjview GROUP BY 货物条形码');
prepared;
open;
end;
with dataman.mrQuery do
begin
close;
sql.Clear;
sql.Add('select sum(isnull(商品金额,0)) as 总金额 from sellm group by CONVERT(varchar(7), dbo.sellm.销售日期, 120) HAVING (CONVERT(varchar(7), dbo.sellm.销售日期, 120) = CONVERT(varchar(7), GETDATE(),120))');
open;
edit1.Text:=floattostr(dataman.mrQuery.Fields[0].Value);
close;
sql.Clear;
sql.Add('select sum(isnull(退货金额,0)) from withdrawm where substring(退货单据号,4,4)=:xdate');
parameters.ParamByName('xdate').Value:=formatdatetime('yymmdd',date);
open;
edit2.Text:=floattostr(round(dataman.mrQuery.Fields[0].Value));
close;
sql.Clear;
sql.Add('select sum(isnull(换货金额,0)) from changem where substring(换货单据号,4,4)=:xdate');
parameters.ParamByName('xdate').Value:=formatdatetime('yymmdd',date);
open;
edit3.Text:=floattostr(round(dataman.mrQuery.Fields[0].Value));
end;
end;
procedure Tyjfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
yjfrm:=nil;
yjfrm.Free;
end;
procedure Tyjfrm.BitBtn3Click(Sender: TObject);
begin
dataman.xscxQuery.Close;
close;
end;
procedure Tyjfrm.BitBtn2Click(Sender: TObject);
var
fd:textfile;
monthFile,monthsell,shpname:string;
begin
try
monthFile:=ExtractFilePath(Application.ExeName)+'monthout.txt';
AssignFile(fd,monthFile);
Rewrite(fd);
write(fd,chr(27)+chr(64));
shpname:=stringofchar(' ',(32-Length(ini_load_shopname('打印参数','和祥店')))div 2)+ini_load_shopname('打印参数','和祥店');
write(fd,shpname+chr(10));
monthsell:=stringOfChar(' ',(32-Length('牧羊人服饰每月销售清单')) div 2)+'牧羊人服饰每月销售清单';
write(fd,monthsell+chr(10));
writeln(fd,'--------------------------------');
// 12345678901234567890123456789012
write(fd,'商品条形码 数量 金额'+chr(10));
write(fd,'--------------------------------');
dataman.xscxQuery.First;
while not dataman.xscxQuery.Eof do
begin
write(fd,dbgrideh1.DataSource.DataSet.FieldByName('货物条形码').Value:15);
write(fd,dbgrideh1.DataSource.DataSet.FieldByName('数量').Value:5);
write(fd,dbgrideh1.DataSource.DataSet.FieldByName('总额').Value:10);
write(fd,chr(10));
dataman.xscxQuery.Next;
end;
Writeln(fd,' ');
write(fd,'-------------------------------');
write(fd,'本月销售总额 :'+' '+trim(edit1.text)+chr(10));
Writeln(fd,' ');
Writeln(fd,' ');
Writeln(fd,' ');
Writeln(fd,' ');
Writeln(fd,' ');
CloseFile(fd);
PrintFile(monthFile);
except
abort;
end;
end;
procedure Tyjfrm.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
with dbgrideh1 do
begin
Canvas.Pen.Mode:=pmmask;
if gdSelected in State then
begin
Canvas.Brush.Color:=clinfobk;
Canvas.FillRect(Rect);
Canvas.Font.Color:=clred;
Canvas.Font.Style:=[fsBold];
end;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
procedure Tyjfrm.BitBtn4Click(Sender: TObject);
var
xsfile:textfile;
str,str1,str2:string;
begin
if savedialog1.Execute then
begin
if assigned(dataman.xscxQuery) then
begin
dataman.xscxQuery.First;
assignfile(xsfile,savedialog1.FileName+'.txt');
rewrite(xsfile);
writeln(xsfile,' 每月销售清点 ');
writeln(xsfile,'-------------------------------------------');
str:=' 货物条形码 ';
str1:=' 数量 ';
str2:=' 金额 ';
write(xsfile,str);
write(xsfile,str1);
writeln(xsfile,str2);
while not dataman.xscxQuery.Eof do
begin
str:=' ';
str2:=' ';
str1:=' ';
str:=str+dataman.xscxQuery.Fields[0].AsString+' ';
str1:=str1+dataman.xscxQuery.Fields[1].AsString+' ';
str2:=str2+dataman.xscxQuery.Fields[2].AsString+' ';
write(xsfile,str);
write(xsfile,str1);
writeln(xsfile,str2);
dataman.xscxQuery.Next;
end;
writeln(xsfile,'-------------------------------------------');
writeln(xsfile,' 销售总金额:'+trim(edit1.Text));
writeln(xsfile,' 退货总金额:'+trim(edit2.Text));
writeln(xsfile,' 换货总金额:'+trim(edit3.Text));
end;
closefile(xsfile);
showmessage(savedialog1.FileName+'.txt'+'保存成功!');
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -