📄 mrxsfxunt.pas
字号:
unit mrxsfxunt;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, Buttons, Grids, DBGridEh, PrnDbgeh,Printers,WinSpool;
type
Tkccxfrm = class(TForm)
BitBtn1: TBitBtn;
DBGridEh1: TDBGridEh;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
DataSource1: TDataSource;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
Label5: TLabel;
Edit3: TEdit;
BitBtn4: TBitBtn;
Label6: TLabel;
Edit4: TEdit;
Label7: TLabel;
Edit5: TEdit;
SaveDialog1: TSaveDialog;
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn2Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
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
kccxfrm: Tkccxfrm;
implementation
uses data,maind;
{$R *.dfm}
procedure Tkccxfrm.FormActivate(Sender: TObject);
begin
label1.Caption:=formatdatetime('yyyy年mm月dd日',date);
edit1.Text:='0';
edit2.Text:='0';
edit3.Text:='0';
edit4.Text:='0';
edit5.Text:='0';
end;
procedure Tkccxfrm.BitBtn1Click(Sender: TObject);
begin
try
with dataman.xscxQuery do
begin
close;
sql.Clear;
sql.Add('select 货物条形码,sum(数量) as 总数量,sum(总额) as 总金额 from xsview group by 货物条形码');
prepared;
open;
end;
if not dataman.xscxQuery.IsEmpty then
begin
with dataman.mrQuery do
begin
close;
sql.Clear;
sql.Add('select sum(商品金额) as 销售金额 from sellm');
sql.Add('group by 销售日期 HAVING (CONVERT(varchar(10), dbo.sellm.销售日期, 120)=CONVERT(varchar(10),GETDATE(), 120))');
open;
if dataman.mrQuery.IsEmpty then
edit1.Text:='0'
else
edit1.Text:=floattostr(round(dataman.mrQuery.Fields[0].Value));
close;
sql.Clear;
sql.Add('select * from withdrawm where substring(退货单据号,4,6)=:xdate');
parameters.ParamByName('xdate').Value:=formatdatetime('yymmdd',date);
open;
if dataman.mrQuery.IsEmpty then
edit2.Text:='0'
else
begin
close;
sql.Clear;
sql.Add('select sum(退货金额) from withdrawm where substring(退货单据号,4,6)=:xdate');
parameters.ParamByName('xdate').Value:=formatdatetime('yymmdd',date);
open;
edit2.Text:=floattostr(round(dataman.mrQuery.Fields[0].Value));
end;
close;
sql.Clear;
sql.Add('select * from changem where substring(换货单据号,4,6)=:xdate');
parameters.ParamByName('xdate').Value:=formatdatetime('yymmdd',date);
open;
if dataman.mrQuery.IsEmpty then
edit3.Text:='0'
else
begin
close;
sql.Clear;
sql.Add('select sum(换货金额) from changem where substring(换货单据号,4,6)=:xdate');
parameters.ParamByName('xdate').Value:=formatdatetime('yymmdd',date);
open;
edit3.Text:=floattostr(round(dataman.mrQuery.Fields[0].Value));
end;
end;
end;
edit5.Text:=inttostr(strtoint(trim(edit1.Text))-strtoint(trim(edit2.Text))+strtoint(trim(edit3.Text)));
except
abort;
end;
end;
procedure Tkccxfrm.BitBtn3Click(Sender: TObject);
begin
dataman.xscxQuery.Close;
kccxfrm.close;
end;
procedure Tkccxfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
kccxfrm:=nil;
kccxfrm.Free;
end;
procedure Tkccxfrm.BitBtn2Click(Sender: TObject);
var
fd:textfile;
dayfile,daysell,shpname:string;
menb:integer;
begin
menb:=0;
try
dayfile:=ExtractFilePath(Application.ExeName)+'dayout.txt';
AssignFile(fd,dayfile);
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));
daysell:=stringOfChar(' ',(32-Length('牧羊人服饰'+formatdatetime('yyyy"年"mm"月"dd"日"',date)+'销售清单')) div 2)+'牧羊人服饰'+formatdatetime('yyyy"年"mm"月"dd"日"',date)+'销售清单';
write(fd,daysell+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:16);
write(fd,dbgrideh1.DataSource.DataSet.FieldByName('总数量').Value:8);
menb:=menb+dataman.xscxQuery.Fields[1].Value;
write(fd,dbgrideh1.DataSource.DataSet.FieldByName('总金额').Value:8);
write(fd,chr(10));
dataman.xscxQuery.Next;
end;
Writeln(fd,' ');
write(fd,'-------------------------------');
Writeln(fd,'今日总共销售'+inttostr(menb)+'件');
write(fd,'今日销售总额 :'+' '+trim(edit1.text)+chr(10));
Writeln(fd,' ');
Writeln(fd,' ');
Writeln(fd,' ');
Writeln(fd,' ');
Writeln(fd,' ');
CloseFile(fd);
PrintFile(dayfile);
except
abort;
end;
end;
procedure Tkccxfrm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
Perform(CM_DialogKey,Vk_TAB,0);
key:=#0;
end;
end;
procedure Tkccxfrm.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 Tkccxfrm.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));
writeln(xsfile,' 总营业额:'+trim(edit5.Text));
writeln(xsfile,' 实收总金额:'+trim(edit4.Text));
end;
closefile(xsfile);
showmessage(savedialog1.FileName+'.txt'+'保存成功!');
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -