📄 f_loss.pas
字号:
unit f_loss;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, DB, ADODB, StdCtrls, ExtCtrls, Grids, DBGrids, Buttons,
DBCtrls, Mask, DBGridEh;
type
Tdfmloss = class(TForm)
StatusBar1: TStatusBar;
Panel2: TPanel;
postbtn: TBitBtn;
DataSource2: TDataSource;
Atblbranch: TADOTable;
ATblspec: TADOTable;
DataSource3: TDataSource;
DataSource4: TDataSource;
AQryware: TADOQuery;
BitBtn1: TBitBtn;
ADOQuery1: TADOQuery;
DataSource6: TDataSource;
Panel1: TPanel;
Panel3: TPanel;
Label3: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
DataSource1: TDataSource;
ADOQuery2: TADOQuery;
ADOQuery4: TADOQuery;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
ADOQuery5: TADOQuery;
ADOQuery6: TADOQuery;
ADOQuery7: TADOQuery;
ADOQuery3: TADOQuery;
Label2: TLabel;
DateTimePicker2: TDateTimePicker;
DBGridEh1: TDBGridEh;
DBGridEh2: TDBGridEh;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure postbtnClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure readycheck;
procedure exequery;
procedure delquery;
private
{ Private declarations }
public
{ Public declarations }
end;
var
dfmloss: Tdfmloss;
fstr4,delstr:string;
implementation
uses dbmRainbowMis, chHeadUnit, dfm_updasto;
{$R *.dfm}
procedure Tdfmloss.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Atblbranch.Active := false;
ATblspec.Active := false;
action:=cafree;
end;
procedure Tdfmloss.FormCreate(Sender: TObject);
begin
Atblbranch.Active := true;
ATblspec.Active := true;
DateTimePicker1.Date :=date();
DateTimePicker2.Date :=date();
end;
procedure Tdfmloss.FormKeyPress(Sender: TObject; var Key: Char);
begin
chHeadUnit.tabventer(dfmloss,key);
end;
procedure Tdfmloss.postbtnClick(Sender: TObject);
begin
readycheck; {准备好各项用于计算的表}
ADOQuery2.close; {显示盘点汇总表}
ADOQuery2.open;
{显示损益表}
with ADOQuery1 do
begin
Close;
Parameters.ParamByName('vbmh').Value :=trim(DBLookupComboBox1.Text) ;
Open ;
end;
end;
procedure Tdfmloss.BitBtn1Click(Sender: TObject);
begin
if ADOQuery2.IsEmpty = false then
begin
readycheck;
If Application.FindComponent('dfmupdasto')=Nil Then
dfmupdasto:=Tdfmupdasto.Create(Application);
dfmupdasto.Showmodal;
end
else
Application.MessageBox('没有盘点信息,无法更新库存!','系统提示',MB_OK);
end;
procedure Tdfmloss.readycheck;
var
fstr:string;
begin
delstr:='delete * from t_check'; {清空盘点汇总表}
delquery;
delstr:='delete from t_checkdel';{清空盘点销售差异表}
delquery;
delstr:='delete from t_stoindel';{清空盘点进货差异表}
delquery;
delstr:='delete from t_stooutdel';{清空盘点出货差异表}
delquery;
{汇总要从盘点中减去的销售}
fstr4:='insert into t_checkdel select bmh,clabel,spbh,sum(t_saledet.sl) as sl'
+' from t_saledet'
+' where t_saledet.bmh=''%s'' and t_saledet.rq>#%s# and t_saledet.rq<=#%s#'
+' group by bmh,clabel,spbh';
exequery;
{汇总要从盘点差异的进货}
fstr4:='insert into t_stoindel select cinceptbra,clabel,spbh,sum(t_stoin.sl) as sl'
+' from t_stoin'
+' where t_stoin.cinceptbra=''%s'' and t_stoin.cdate>#%s# and t_stoin.cdate<=#%s#'
+' group by cinceptbra,clabel,spbh';
exequery;
{汇总盘点差异的出货}
fstr4:='insert into t_stooutdel select csendbra,clabel,spbh,sum(t_stoout.sl) as sl'
+' from t_stoout'
+' where t_stoout.csendbra=''%s'' and t_stoout.cdate>#%s# and t_stoout.cdate<=#%s#'
+' group by csendbra,clabel,spbh';
exequery;
{汇总出盘点总表}
fstr:='insert into t_check select bmh,clabel,spbh,sum(cnumber) as cnumber,cdate'
+' from t_checkin'
+' where t_checkin.bmh=''%s'' and t_checkin.cdate=#%s#'
+' group by cdate,bmh,clabel,spbh';
with ADOQuery6 do
begin
close;
sql.Clear ;
sql.Add(Format(fstr,[trim(DBLookupComboBox1.text),datetostr(DateTimePicker1.Date)]));
Prepared;
ExecSql;
end;
end;
procedure Tdfmloss.exequery;
begin
with ADOQuery7 do
begin
close;
sql.Clear ;
sql.Add(Format(fstr4,[trim(DBLookupComboBox1.text),datetostr(DateTimePicker1.Date),datetostr(DateTimePicker2.Date)]));
Prepared;
ExecSql;
end;
end;
procedure Tdfmloss.delquery;
begin
with ADOQuery5 do
begin
SQL.Clear;
SQL.Add(delstr);
ExecSQL ;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -