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

📄 umaterial.pas

📁 成本系统三层结构源码 开发工具:Delphi 7.0+SQLServer 2005 主要技术:Midas、COM+ 所用第三方控件: FastReport V2.47 D7 Inforp
💻 PAS
字号:
unit umaterial;
           
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, upub1, Menus, ImgList, DB, jpeg, StdCtrls,  StrUtils,
  ExtCtrls, ComCtrls, Buttons, DBCtrls, Mask, dxtree,DateUtils,
  dxdbtree, dxdbtrel, dxCntner, dxTL, dxDBCtrl, dxDBGrid, ActnList, 
  dxExEdtr, dxDBTLCl, dxGrClms, ToolWin, DBClient, dxEditor, dxEdLib,
  dxDBELib;

type
  Tfmmaterial = class(Tfmpub1)
    Label1: TLabel;                       
    DBEdit1: TDBEdit;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBLookupComboBox1: TDBLookupComboBox;
    dxDBTreeView1: TdxDBTreeView;
    DataSource2: TDataSource;
    Splitter1: TSplitter;
    Label5: TLabel;
    dxDBLookupTreeView1: TdxDBLookupTreeView;
    Label6: TLabel;
    DBEdit4: TDBEdit;
    Label8: TLabel;
    DBComboBox1: TDBComboBox;
    Label9: TLabel;
    DBRadioGroup1: TDBRadioGroup;
    Label15: TLabel;
    Label16: TLabel;
    DBComboBox2: TDBComboBox;
    DBComboBox3: TDBComboBox;
    Label7: TLabel;
    DBLookupComboBox2: TDBLookupComboBox;
    Label10: TLabel;
    DBEdit5: TDBEdit;
    Label11: TLabel;
    DBEdit6: TDBEdit;
    Label12: TLabel;
    DBEdit7: TDBEdit;
    DBCheckBox1: TDBCheckBox;
    Label17: TLabel;
    DBLookupComboBox3: TDBLookupComboBox;
    DataSource1: TDataSource;
    dxDBGrid2: TdxDBGrid;
    Label18: TLabel;
    dxDBGrid2StockName: TdxDBGridLookupColumn;
    dxDBGrid2Qty: TdxDBGridMaskColumn;
    dxDBGrid2Price: TdxDBGridMaskColumn;
    DBGrid1PartNo: TdxDBGridMaskColumn;
    DBGrid1CategoryID: TdxDBGridMaskColumn;
    DBGrid1CategoryName: TdxDBGridLookupColumn;
    DBGrid1PartNameC: TdxDBGridMaskColumn;
    DBGrid1PartNameE: TdxDBGridMaskColumn;
    DBGrid1Zjm: TdxDBGridColumn;
    DBGrid1Model: TdxDBGridMaskColumn;
    DBGrid1Color: TdxDBGridMaskColumn;
    DBGrid1UnitID: TdxDBGridMaskColumn;
    DBGrid1UnitName: TdxDBGridLookupColumn;
    DBGrid1Status: TdxDBGridCheckColumn;
    DBGrid1CostType: TdxDBGridMaskColumn;
    DBGrid1TypeLabel: TdxDBGridLookupColumn;
    DBGrid1ABCType: TdxDBGridMaskColumn;
    DBGrid1DefaultStock: TdxDBGridMaskColumn;
    DBGrid1StockName: TdxDBGridLookupColumn;
    DBGrid1TotalQty: TdxDBGridMaskColumn;
    DBGrid1SafeQty: TdxDBGridMaskColumn;
    DBGrid1Remark: TdxDBGridMaskColumn;
    DBGrid1Creater: TdxDBGridMaskColumn;
    DBGrid1CreateDate: TdxDBGridDateColumn;
    DBGrid1Updater: TdxDBGridMaskColumn;
    DBGrid1UpdateDate: TdxDBGridDateColumn;
    DBGrid1QInvInitial: TdxDBGridColumn;
    NSafe: TMenuItem;
    DataSource3: TDataSource;
    dxDBGrid1: TdxDBGrid;
    dxDBGrid1StockName: TdxDBGridMaskColumn;
    dxDBGrid1Price: TdxDBGridMaskColumn;
    dxDBGrid1Qty: TdxDBGridMaskColumn;
    DBGrid1PriceType: TdxDBGridMaskColumn;
    procedure FormCreate(Sender: TObject);
    procedure dxDBTreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure AAddExecute(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure dxDBGrid2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormActivate(Sender: TObject);
    procedure NSafeClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmmaterial: Tfmmaterial;

implementation

uses SherryLib, udmbase, udata;

{$R *.dfm}

procedure Tfmmaterial.FormCreate(Sender: TObject);
begin
  if DSMain.DataSet=NIl then
  DSMain.DataSet:=DMBase.Cmateriel;
  OpenData(DataSource2);
  DMBase.Cmateriel.Params.ParamValues['@CategoryID']:='';  
  inherited;
  Dbgrid1.KeyField:='PartNo';
  if Exists('select 1 from sysobjects where xtype=''TR'' and name=''TrInvInitial''') then
  Begin
    OpenData(DataSource1);
    dxDBGrid2.SendToBack;
    dxDBGrid1.BringToFront;
    Label18.Caption:='当前库存分布';
  End
  else
  begin
    OpenData(DataSource3);
    dxDBGrid1.SendToBack;
    dxDBGrid2.BringToFront;
    Label18.Caption:='期初库存';
    DxDbGrid2.OptionsBehavior:=DxDbGrid2.OptionsBehavior+[edgoTabs]-[edgoImmediateEditor];
  end;
end;

procedure Tfmmaterial.dxDBTreeView1Change(Sender: TObject;
  Node: TTreeNode);
begin
  if DMBase.Cmateriel.Params.ParamValues['@CategoryID']<>DMBase.CCategory1['CategoryID'] then
  Try
    ShowWait;
    DMBase.Cmateriel.Active:=False;
    DMBase.Cmateriel.Params.ParamValues['@CategoryID']:=DMBase.CCategory1['CategoryID'];
    DMBase.Cmateriel.Active:=True;
  Finally
    HideWait;
  end;
  //dxDBTreeView1.FullExpand;
end;

procedure Tfmmaterial.AAddExecute(Sender: TObject);
var i:integer;
begin
  if dxDBTreeView1.Selected.HasChildren then if not ASk(' 请先在左边选择一个明细的材料分类!') then abort;
  inherited;
  DBEdit1.SetFocus;
  i:=length(DBEdit1.Text);
  SendMessage(DBEdit1.Handle,EM_SETSEL,i,i);
end;

procedure Tfmmaterial.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if ActiveControl<>dxDBGrid2 then inherited;
end;

procedure Tfmmaterial.dxDBGrid2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  dxDbgridKeyDown(key,dxDBGrid2, Shift);
end;

procedure Tfmmaterial.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  CloseData(DataSource2);
  CloseData(DataSource1);
  CloseData(DataSource3);
end;

procedure Tfmmaterial.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  SherryLib.FormKeyDown(Sender,Key,Shift,dxDBGrid2);
end;

procedure Tfmmaterial.FormActivate(Sender: TObject);
begin
  inherited;
  ComboBoxDropDown(DBLookupComboBox3);
end;

procedure Tfmmaterial.NSafeClick(Sender: TObject);
begin
  DMBase.Cmateriel.Filter:=' not (SafeQty<=TotalQty)';
  NSafe.Checked:=Not NSafe.Checked;
  DMBase.Cmateriel.Filtered:=NSafe.Checked;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -