📄 stock_state.pas
字号:
unit Stock_State;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, Buttons, XPMenu, Grids,StdCtrls, DBGrids;
type
Tfrm_Stock_State = class(TForm)
Panel1: TPanel;
Panel3: TPanel;
Panel4: TPanel;
SpeedButton5: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton4: TSpeedButton;
XPMenu1: TXPMenu;
SpeedButton1: TSpeedButton;
Cmd_Storage: TSpeedButton;
Cmd_FB: TSpeedButton;
Cmd_Detail: TSpeedButton;
Cmd_Search: TSpeedButton;
Edit_Goods_NO: TLabeledEdit;
Edit_Goods_Name: TLabeledEdit;
Edit_Storage_Name: TEdit;
Panel2: TPanel;
Panel5: TPanel;
Pan_detail: TPanel;
Panel7: TPanel;
Panel8: TPanel;
L_Amount: TLabel;
L_Money: TLabel;
l_Cmoney: TLabel;
Panel9: TPanel;
DBGrid1: TDBGrid;
Panel10: TPanel;
DBGrid_Detail: TDBGrid;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure Cmd_StorageClick(Sender: TObject);
procedure Cmd_FBClick(Sender: TObject);
procedure Cmd_DetailClick(Sender: TObject);
procedure Cmd_SearchClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
private
{ Private declarations }
procedure Stock_States_Total;
public
{ Public declarations }
end;
var
frm_Stock_State: Tfrm_Stock_State;
implementation
uses Storage_Select, Goods_Cent, Storage_List, Sign_Search, Data, func;
{$R *.dfm}
//自定义库存统计过程
procedure Tfrm_Stock_State.Stock_States_Total;
begin
end;
procedure Tfrm_Stock_State.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
frm_data.ClientDataSet_Stock_States_Total.Active:=False;
frm_data.ClientDataSet_Stock_States_Total.Close;
frm_data.ClientDataSet_Stock_States.Active:=False;
frm_data.ClientDataSet_Stock_States_detail.Active:=false;
frm_data.ClientDataSet_Stock_States_detail.Close;
Action:=Cafree;
end;
procedure Tfrm_Stock_State.FormShow(Sender: TObject);
var
aa1,aa2,aa3:String;
begin
frm_Stock_State.Left:=170 * longint(Screen.Width) div 1024;
frm_Stock_State.Top:=40 * longint(Screen.Height) div 768;
frm_Stock_State.Width:=860 * longint(Screen.Width) div 1024;
frm_Stock_State.Height:=715 * longint(Screen.Height) div 768;
//采购信息管理的库存状况
if Public_Do='Stock_States' then
begin
with frm_data.ClientDataSet_Stock_States do
begin
Close;
CommandText:='';
CommandText:='Select Goods_NO,Goods_Name,Norms_Type,Factory,Base_Monad,sum(Stock_amount),Costing_price,sum(Stock_money) from [V_Stock_States_View] where Stock_amount>0 group by Goods_NO,Goods_Name,Norms_Type,Factory,Base_Monad,Costing_price';
try
Open;
if frm_data.ClientDataSet_Stock_States.RecordCount>0 then
begin
frm_data.DataSource_Stock_States.DataSet:=frm_data.ClientDataSet_Stock_States;
frm_data.DataSource_Stock_States.Enabled:=True;
Dbgrid1.DataSource:=frm_data.DataSource_Stock_States;
DBGrid1.Columns[0].Width:=80; DBGrid1.Columns[1].Width:=80;
DBGrid1.Columns[2].Width:=80; DBGrid1.Columns[3].Width:=100;
DBGrid1.Columns[4].Width:=40; DBGrid1.Columns[5].Width:=60;
DBGrid1.Columns[6].Width:=60; DBGrid1.Columns[7].Width:=80;
DBGrid1.Columns[0].Title.Caption:='商品编号';
DBGrid1.Columns[1].Title.Caption:='商品名称';
DBGrid1.Columns[2].Title.Caption:='规格型号';
DBGrid1.Columns[3].Title.Caption:='生产厂家';
DBGrid1.Columns[4].Title.Caption:='单位';
DBGrid1.Columns[5].Title.Caption:='库存数量';
DBGrid1.Columns[6].Title.Caption:='平均价格';
DBGrid1.Columns[7].Title.Caption:='库存金额';
with frm_data.ClientDataSet_Stock_States_Total do
begin
Close;
CommandText:='';
CommandText:='Select Sum(Stock_Amount)as a1, Sum(Stock_money)as a2 from [V_Stock_States_View]';
Open;
aa1:=frm_data.ClientDataSet_Stock_States_Total.FieldByName('a1').AsString;
aa2:=frm_data.ClientDataSet_Stock_States_Total.FieldByName('a2').AsString;
aa2:=Format('%8.2f', [StrToFloat(aa2)]);
aa3:=FloatToStr((StrToFloat(aa2))/(StrToFloat(aa1)));
aa3:=Format('%8.2f', [StrToFloat(aa3)]);
L_Amount.Caption:='总计数量:'+Trim(aa1);
L_Money.Caption:='总计金额:'+Trim(aa2);
L_Cmoney.Caption:='平均价格:'+Trim(aa3);
end;
end;
except
Application.MessageBox('系统错误,在打开数据库【库存状况数据表】时出错!'+#13#10#13+'请检查远程服务器连接是否正常?请确认!',Pchar(application.Title),mb_ICONwarning);
Exit;
end;
end;
end;
end;
procedure Tfrm_Stock_State.SpeedButton4Click(Sender: TObject);
begin
Close;
end;
procedure Tfrm_Stock_State.Cmd_StorageClick(Sender: TObject);
var
aa1,aa2,aa3:String;
begin
if Trim(Edit_Goods_NO.Text)='' then
begin
Application.MessageBox('错误操作,选择的【商品编号】不能为空,请确认!'+#13#10#13+'请双击数据网格控件后再【选择仓库】',pchar(application.Title),mb_iconwarning);
Exit;
end;
Check_Storage:='';
Check_Storage_Result:='';
Check_Storage:='Stock_State_Str';
frm_Storage_Select:=Tfrm_Storage_Select.Create(self);
frm_Storage_Select.ShowModal;
//选择全部仓库
if Stock_States_Detail_str='Select_all' then
begin
with frm_data.ClientDataSet_Stock_States_detail do
begin
Close;
CommandText:='';
CommandText:='Select Goods_NO,Goods_Name,Storage_Name,shop_name,Stock_amount,Costing_price,Stock_money,Norms_Type,Factory,Base_Monad from [V_Stock_States_View] where Stock_amount>0 and Goods_NO='''+Trim(Goods_No_Str)+'''';
try
Open;
if frm_data.ClientDataSet_Stock_States_detail.RecordCount>0 then
begin
Pan_detail.Visible:=True;
frm_data.DataSource_Stock_States_detail.DataSet:=frm_data.ClientDataSet_Stock_States_detail;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -