📄 umaterial.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 + -