📄 usale.pas
字号:
begin
inherited;
with adoquery1 do
begin
sql.Clear;
sql.Add('select fname from titem where fcode=:fcode');
Parameters.ParamByName('fcode').Value:=wwdbedit3.text;
open;
if recordcount>0 then
if cdsmaster.State in [dsinsert,dsedit] then
cdsmaster['hname']:=fieldbyname('fname').value;
end;
end;
procedure Tfrmsale.wwDBEdit5Change(Sender: TObject);
begin
inherited;
with adoquery1 do
begin
sql.Clear;
sql.Add('select fname from titemtype where fcode=:fcode');
Parameters.ParamByName('fcode').Value:=wwdbedit5.text;
open;
if recordcount>0 then
if cdsmaster.State in [dsinsert,dsedit] then
cdsmaster['chname']:=fieldbyname('fname').value;
end;
end;
procedure Tfrmsale.wwDBEdit5Enter(Sender: TObject);
var
i:integer;
begin
inherited;
if cdsmaster.State in [dsinsert,dsedit] then
cdsmaster['chcode']:='';
listbox1.Clear;
with adoquery1 do
begin
sql.Clear;
sql.Add('select fname from titemtype');
open;
end;
i:=1;
while not adoquery1.Eof do
begin
listbox1.Items.Add(inttostr(i)+':'+adoquery1.fieldbyname('fname').value);
adoquery1.next;
i:=i+1;
end;
end;
procedure Tfrmsale.refnoEnter(Sender: TObject);
begin
inherited;
listbox1.Clear;
listbox1.Items.Add('1:打印');
listbox1.Items.Add('2:修改');
listbox1.Items.Add('3:退出');
listbox1.Items.Add('4:交班表');
end;
procedure Tfrmsale.wwDBEdit8Enter(Sender: TObject);
begin
inherited;
if cdsmaster.State in [dsinsert,dsedit] then
wwdbedit8.Text:='';
end;
procedure Tfrmsale.wwDBEdit9Enter(Sender: TObject);
begin
inherited;
if cdsmaster.State in [dsinsert,dsedit] then
wwdbedit9.Text:='';
end;
procedure Tfrmsale.refnoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=97 then
begin
if cdsmaster.State in [dsinsert,dsedit] then
begin
spbtnsave.Click;
spbtnprint.Click;
spbtnadd.Click;
end;
end;
if Key=98 then
if cdsmaster.State in [dsinsert,dsedit] then
bb.SetFocus ;
if Key=99 then //'4'
close;
if Key=100 then //'4'
SpeedButton5.Click;
end;
procedure Tfrmsale.p03Execute(Sender: TObject);
begin
adoquery1.SQL.clear;
adoquery1.SQL.Add('select fcode,fname,fnote from Tfuli');
adoquery1.open;
inherited;
end;
procedure Tfrmsale.N10Click(Sender: TObject);
begin
inherited;
{ CDSsub.DisableControls;
frMD.LoadFromFile(gs_appPath+'\Prints\frsale01.frf');
frMD.PrepareReport;
frMD.PrintPreparedReport('',1,True,frAll);
CDSsub.EnableControls; }
end;
procedure Tfrmsale.SpeedButton5Click(Sender: TObject);
var
yy,mm,dd:word;
begin
// inherited;
cdssub.DisableControls;
decodedate(gs_date,yy,mm,dd);
with query2 do
begin
sql.Clear;
sql.add('delete from jb1');
execsql;
sql.clear;
sql.add(' insert into jb1(bc,createuser,date,hname,bbs,bbs_amt) select bc,fcreauser,fdelivdate,hname,sum(tqty) tqty,sum(tamt) tamt from tsale');
sql.Add('group by bc,fcreauser,fdelivdate,hname');
execsql;
end;
with query2 do
begin
SQL.Clear;
SQL.Add('select * from tstore,tstoresub where ');
sql.add('tstore.fresid=tstoresub.fresid');
Open;
end;
while not query2.Eof do
begin
with query1 do
begin
SQL.Clear;
sql.add(' select * from jb1 where hname=:hname and bc=:bc and createuser=:user and year(date)=:yy');
sql.Add('and month(date)=:mm and day(date)=:dd');
ParamByName('hname').asstring:=query2.fieldbyname('hname').asstring;
ParamByName('bc').asstring:=gs_bc;
ParamByName('user').asstring:=gs_username;
ParamByName('yy').asinteger:= yy;
ParamByName('mm').asinteger:= mm;
ParamByName('dd').asinteger:= dd;
open;
end;
if query1.RecordCount>0 then
begin
with query1 do
begin
SQL.Clear;
sql.add(' update jb1 set bbj =bbj+:bbj where hname=:hname and bc=:bc and createuser=:user and year(date)=:yy');
sql.Add('and month(date)=:mm and day(date)=:dd');
ParamByName('hname').asstring:=query2.fieldbyname('hname').asstring;
ParamByName('bbj').asfloat:=query2.fieldbyname('fqty').asfloat;
ParamByName('bc').asstring:=gs_bc;
ParamByName('user').asstring:=gs_username;
ParamByName('yy').asinteger:= yy;
ParamByName('mm').asinteger:= mm;
ParamByName('dd').asinteger:= dd;;
execsql;
end;
end else
begin
with query1 do
begin
sql.clear;
sql.Add('insert into jb1(bc,createuser,date,hname,bbj) values (:bc,:user,:fd,:hname,:bbj)');
ParamByName('bbj').asfloat:=query2.fieldbyname('fqty').asfloat;
ParamByName('bc').asstring:=query2.fieldbyname('bc').asstring;
ParamByName('user').asstring:=query2.fieldbyname('fcreauser').asstring;
ParamByName('fd').asdate:= query2.fieldbyname('fdelivdate').asdatetime;
ParamByName('hname').asstring:=query2.fieldbyname('hname').asstring;
execsql;
end;
end;
query2.Next;
end;
///////////////////////////////end begin
with query1 do
begin
SQL.Clear;
sql.add(' update amttmp set amt1=(select SUM(bbs_amt) bbsamt from jb1 where hname=''河沙'' and bc=:bc and createuser=:user and year(date)=:yy');
sql.Add('and month(date)=:mm and day(date)=:dd group by bc,createuser,hname)');
ParamByName('bc').value:=gs_bc;
ParamByName('user').value:=gs_username;
ParamByName('yy').value:= yy;
ParamByName('mm').value:= mm;
ParamByName('dd').value:= dd;
execsql;
SQL.Clear;
sql.add(' update amttmp set amt2=(select SUM(bbs_amt) bbsamt from jb1 where hname=''石仔'' and bc=:bc and createuser=:user and year(date)=:yy');
sql.Add('and month(date)=:mm and day(date)=:dd group by bc,createuser,hname)');
ParamByName('bc').value:=gs_bc;
ParamByName('user').value:=gs_username;
ParamByName('yy').value:= yy;
ParamByName('mm').value:= mm;
ParamByName('dd').value:= dd;
execsql;
SQL.Clear;
sql.add(' update amttmp set amt3=(select SUM(bbs_amt) bbsamt from jb1 where hname=''石粉'' and bc=:bc and createuser=:user and year(date)=:yy');
sql.Add('and month(date)=:mm and day(date)=:dd group by bc,createuser,hname)');
ParamByName('bc').value:=gs_bc;
ParamByName('user').value:=gs_username;
ParamByName('yy').value:= yy;
ParamByName('mm').value:= mm;
ParamByName('dd').value:= dd;
execsql;
end;
with adoquery1 do
begin
sql.clear;
sql.Add('select * from amttmp');
open;
end;
with query1 do
begin
SQL.Clear;
sql.add(' select bc,createuser,hname,sum(sbc) sbc,sum(bbj) bbj,sum(bbs) bbs,sum(sbc+bbj-bbs) bbc,sum(bbj_a) bbj_a,sum(bbs_a) bbs_a,sum(bbs_amt) bbs_amt from jb1 where bc=:bc and createuser=:user and year(date)=:yy');
sql.Add('and month(date)=:mm and day(date)=:dd group by bc,createuser,hname');
ParamByName('bc').asstring:=gs_bc;
ParamByName('user').asstring:=gs_username;
ParamByName('yy').asinteger:= yy;
ParamByName('mm').asinteger:= mm;
ParamByName('dd').asinteger:= dd;
open;
end;
frMD.Dataset:=frDBDataSet1;
frMD.LoadFromFile(gs_appPath+'\Prints\frsale01.frf');
frMD.PrepareReport;
// frmd.ShowReport;
frMD.PrintPreparedReport('',1,True,frAll);
//////////////////////////////////////////////////////////
with query2 do
begin
sql.Clear;
sql.add('delete from chetemp');
execsql;
sql.clear;
sql.add(' insert into chetemp (chname) select fname from titemtype');
execsql;
SQL.Clear;
sql.add('select chname,bz, count(*) as total from tsale');
sql.add(' where bc=:bc and fcreauser=:user and year(fdelivdate)=:yy');
sql.Add('and month(fdelivdate)=:mm and day(fdelivdate)=:dd');
sql.add('group by chname,bz');
ParamByName('bc').asstring:=gs_bc;
ParamByName('user').asstring:=gs_username;
ParamByName('yy').asinteger:= yy;
ParamByName('mm').asinteger:= mm;
ParamByName('dd').asinteger:= dd;
open;
end;
query2.first;
while not query2.Eof do
begin
if query2.fieldbyname('bz').asstring='1' then
begin
query3.SQL.Clear;
query3.SQL.Add(' update chetemp set xk=:xk where chname=:chname');
query3.ParamByName('chname').Asstring:=query2.fieldbyname('chname').Asstring;
query3.ParamByName('xk').Asinteger:=query2.fieldbyname('total').AsInteger;
query3.ExecSQL;
end else
begin
query3.SQL.Clear;
query3.SQL.Add(' update chetemp set qk=:qk where chname=:chname');
query3.ParamByName('chname').Asstring:=query2.fieldbyname('chname').Asstring;
query3.ParamByName('qk').Asinteger:=query2.fieldbyname('total').AsInteger;
query3.ExecSQL;
end;
query2.Next;
end;
with query3 do
begin
sql.clear;
sql.add('select sum(xk+qk) xk from chetemp');
open;
end;
with query2 do
begin
sql.Clear;
sql.add('select * from chetemp');
open;
end;
frMD.Dataset:=frDBDataSet2;
frMD.LoadFromFile(gs_appPath+'\Prints\frsale02.frf');
frMD.PrepareReport;
// frmd.ShowReport;
frMD.PrintPreparedReport('',1,True,frAll);
////////////////////////////////////////////// end begin
with query2 do
begin
sql.Clear;
sql.add('delete from chetemp2');
execsql;
sql.clear;
sql.add(' insert into chetemp2 (chname) select fname from titemtype');
execsql;
end;
with query1 do
begin
SQL.Clear;
sql.add(' SELECT chname,hname,sum(tqty) tqty ,sum(tamt) tamt,count(*) tt from tsale');
sql.Add(' where bc=:bc and fcreauser=:user and year(fdelivdate)=:yy');
sql.Add('and month(fdelivdate)=:mm and day(fdelivdate)=:dd and bz=''1'' group by chname,hname ');
ParamByName('bc').asstring:=gs_bc;
ParamByName('user').asstring:=gs_username;
ParamByName('yy').asinteger:= yy;
ParamByName('mm').asinteger:= mm;
ParamByName('dd').asinteger:= dd;
open;
end;
while not query1.eof do
begin
query2.SQL.Clear;
query2.SQL.Add('update chetemp2 set amt_hs=amt_hs+:amt_hs,hs=hs+:hs,amt_sz=amt_sz+:amt_sz,sz=sz+:sz,amt_sf=amt_sf+:amt_sf,sf=sf+:sf where chname=:chname ');
query2.ParamByName('chname').asstring:=query1.fieldbyname('chname').asstring;
if query1.fieldbyname('hname').asstring='河沙' then
begin
query2.ParamByName('hs').asfloat:=query1.fieldbyname('tt').asfloat;
query2.ParamByName('amt_hs').asfloat:=query1.fieldbyname('tamt').asfloat;
end else
begin
query2.ParamByName('hs').asfloat:=0;
query2.ParamByName('amt_hs').asfloat:=0;
end;
if query1.fieldbyname('hname').asstring='石仔' then
begin
query2.ParamByName('sz').asfloat:=query1.fieldbyname('tt').asfloat;
query2.ParamByName('amt_sz').asfloat:=query1.fieldbyname('tamt').asfloat;
end else
begin
query2.ParamByName('sz').asfloat:=0;
query2.ParamByName('amt_sz').asfloat:=0;
end;
if query1.fieldbyname('hname').asstring='石粉' then
begin
query2.ParamByName('sf').asfloat:=query1.fieldbyname('tt').asfloat ;
query2.ParamByName('amt_sf').asfloat:=query1.fieldbyname('tamt').asfloat;
end else
begin
query2.ParamByName('sf').asfloat:=0;
query2.ParamByName('amt_sf').asfloat:=0;
end;
query2.execsql;
query1.Next;
end;
query1.SQL.Clear;
query1.SQL.add('select * from chetemp2');
query1.Open;
with query3 do
begin
sql.clear;
sql.add('select sum(xk) xk from chetemp');
open;
end;
frmd.Dataset:= frDBDataSet1;
frMD.LoadFromFile(gs_appPath+'\Prints\frsale03.frf');
frMD.PrepareReport;
// frMD.ShowReport;
frMD.PrintPreparedReport('',1,True,frAll);
///////////////////////////////////////////////////////////
cdssub.EnableControls;
end;
procedure Tfrmsale.CDSmasterAfterOpen(DataSet: TDataSet);
begin
inherited;
spbtnadd.Click;
end;
procedure Tfrmsale.wwDBEdit3Exit(Sender: TObject);
begin
inherited;
if bb.Text='1' then
begin
wwdbedit9.Color:=clWindow;
wwdbedit9.Enabled:=true;
wwdbedit8.Enabled:=false;
wwdbedit8.Color:=clTeal;
cdsmaster['bz']:='1';
end else
begin
wwdbedit8.Color:=clWindow;
wwdbedit8.Enabled:=true;
wwdbedit9.Enabled:=false;
wwdbedit9.Color:=clTeal;
cdsmaster['bz']:='2';
end;
end;
procedure Tfrmsale.bbExit(Sender: TObject);
begin
inherited;
// if (bb.Text<>'1') and (billno.Text='现金户') then
// begin
// showmessage('sdfdsfdsfdsf');
// bb.SetFocus;
// end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -