⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stock_state.pas

📁 delphi的一个开发实例
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -