📄 unttransferstore.pas
字号:
unit UntTransferStore;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, UnitStandard1, DBTables, DB, Menus, ImgList, Grids, DBGrids,
ComCtrls, StdCtrls, ExtCtrls, Buttons, ToolWin, DBCtrls, Mask, MainForm;
type
TFrmTransferStore = class(TFrmStandard1)
BitBtnOutStoreCheck: TBitBtn;
BitBtnInStoreCheck: TBitBtn;
BitBtnOutStack: TBitBtn;
BitBtnInStack: TBitBtn;
LblNotyItem: TLabel;
LblDateTime: TLabel;
LblOutUnit: TLabel;
LblInUnit: TLabel;
LblOutQ: TLabel;
LblInQ: TLabel;
LblInN: TLabel;
LblOutClerk: TLabel;
LblInClerk: TLabel;
GroupBox6: TGroupBox;
LblOutCheck: TLabel;
LblInCheck: TLabel;
GroupBox7: TGroupBox;
DBMemo1: TDBMemo;
DBCheckBox1: TDBCheckBox;
DBCheckBox2: TDBCheckBox;
DBEditNotyItemID: TDBEdit;
DBEditDatetime: TDBEdit;
DBEdtInQ: TDBEdit;
DBLookupComboBox1: TDBLookupComboBox;
DBLkpCmbxRecieve: TDBLookupComboBox;
DBLookupComboBox3: TDBLookupComboBox;
DBEditNotyQuantity: TDBEdit;
DBEdtInClerk: TDBEdit;
DBEdtOutClerk: TDBEdit;
TblUnit: TTable;
DataSourceUnit: TDataSource;
DataSourceFood: TDataSource;
TblFood: TTable;
LblOutN: TLabel;
DBLookupComboBox4: TDBLookupComboBox;
QrySQLCASE_ID: TStringField;
QrySQLNOTY_ITEM_ID: TStringField;
QrySQLNOTY_FOODTYPE: TStringField;
QrySQLNOTY_QUANTITY: TFloatField;
QrySQLFOODTYPE: TStringField;
QrySQLQUANTITY: TFloatField;
QrySQLCLERK: TStringField;
QrySQLOPERATE: TStringField;
BitBtnSlctNotyItem: TBitBtn;
QrySQLDATETIME: TDateTimeField;
QrySQLUNIT_ID: TIntegerField;
DBEditUnitID: TDBEdit;
Label25: TLabel;
QrySQLRECIEVER: TIntegerField;
QrySQLCOM_FLAG: TIntegerField;
QrySQLOUT_CHECK: TStringField;
QrySQLIN_CHECK: TStringField;
QrySQLMEMO: TStringField;
procedure BitBtnInStackClick(Sender: TObject);
procedure BitBtnOutStoreCheckClick(Sender: TObject);
procedure BitBtnNewClick(Sender: TObject);
procedure BitBtnSaveClick(Sender: TObject);
procedure BitBtnInStoreCheckClick(Sender: TObject);
procedure BitBtnOutStackClick(Sender: TObject);
procedure BitBtnSlctNotyItemClick(Sender: TObject);
procedure DBEditKeyExit(Sender: TObject);
procedure BitBtnDeleteClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure QrySQLDATETIMESetText(Sender: TField; const Text: String);
private
{ Private declarations }
public
{ Public declarations }
NotyItemID,NotyFdType: string;
NotyQuantity: Double;
end;
var
FrmTransferStore: TFrmTransferStore;
implementation
Uses UntTransferInStack,UntTransferOutStack,UntSlctNotyItemID,Global;
{$R *.dfm}
procedure TFrmTransferStore.BitBtnInStackClick(Sender: TObject);
begin
inherited;
FrmTransferInStack := TFrmTransferInStack.Create(FrmTransferStore);
//初始化记录值
FrmTransferInStack.DBGrid1.DataSource.DataSet.Edit;
FrmTransferInStack.DBGrid1.DataSource.DataSet.Append;
FrmTransferInStack.DBEditUnitID.Field.AsInteger:=Global.g_user.UnitID;
FrmTransferInStack.DBEditClerk.Field.AsString := Global.g_user.UserName;
FrmTransferInStack.DBCmbxInType.Field.AsString := '内移收入';
FrmTransferInStack.DBEditInTime.Field.AsDateTime := date;
FrmTransferInStack.DBEditSurplus.Field.AsFloat := 0;
FrmTransferInStack.DBEditKey.Enabled:=true;
FrmTransferInStack.DBEditTransferID.Field.AsString := QrySql.FieldByName('CASE_ID').AsString;
FrmTransferInStack.DBEditQuantity.Field.AsFloat := QrySql.FieldByName('QUANTITY').AsFloat;
FrmTransferInStack.DBLkpCmbxInFood.Field.AsString := QrySql.FieldByName('FOODTYPE').AsString;
FrmTransferInStack.DBLkpCmbxSuppler.Field.AsString := DBLookupComboBox1.Text; // QrySql.FieldByName('UNIT_ID').AsString;
FrmTransferInStack.DBEditKey.Enabled:=true;
FrmTransferInStack.DBEditKey.SetFocus;
FrmTransferInStack.Visible:=false;
FrmTransferInStack.ShowModal;
end;
procedure TFrmTransferStore.BitBtnOutStoreCheckClick(Sender: TObject);
begin
inherited;
QrySql.Edit;
QrySql.FieldByName('OUT_CHECK').AsInteger:=1;
BitBtnSave.Click;
end;
procedure TFrmTransferStore.BitBtnNewClick(Sender: TObject);
begin
inherited;
DBEditUnitID.Field.AsInteger:=Global.g_user.UnitID;
DBEdtOutClerk.Field.AsString := Global.g_user.UserName;
DBEditDatetime.Field.AsDateTime := date;
DBCheckBox1.ValueChecked:='0';
DBCheckBox2.Checked:=false;
DBEditKey.SetFocus;
end;
procedure TFrmTransferStore.BitBtnSaveClick(Sender: TObject);
begin
if DBEditKey.Text='' then
begin
showmessage('请输入移库单编号!');
DBEditKey.SetFocus;
exit;
end;
inherited;
end;
procedure TFrmTransferStore.BitBtnInStoreCheckClick(Sender: TObject);
begin
inherited;
QrySql.Edit;
QrySql.FieldByName('IN_CHECK').AsInteger:=1;
BitBtnSave.Click;
end;
procedure TFrmTransferStore.BitBtnOutStackClick(Sender: TObject);
begin
inherited;
FrmTransferOutStack := TFrmTransferOutStack.Create(Application);
//初始化记录值
FrmTransferOutStack.DBGrid1.DataSource.DataSet.Edit;
FrmTransferOutStack.DBGrid1.DataSource.DataSet.Append;
FrmTransferOutStack.DBEditUnitID.Field.AsInteger:=Global.g_user.UnitID;
FrmTransferOutStack.DBEditClerk.Field.AsString := Global.g_user.UserName;
FrmTransferOutStack.DBCmbxOutType.Field.AsString := '内移付出';
FrmTransferOutStack.DBEditOutTime.Field.AsDateTime := date;
FrmTransferOutStack.DBEditRemain.Field.AsFloat := 0;
FrmTransferOutStack.DBEditTransferID.Field.AsString := QrySql.FieldByName('CASE_ID').AsString;
FrmTransferOutStack.DBEditOutQantity.Field.AsFloat := QrySql.FieldByName('NOTY_QUANTITY').AsFloat;
FrmTransferOutStack.DBEditKey.Enabled:=true;
FrmTransferOutStack.DBEditKey.SetFocus;
FrmTransferOutStack.Visible:=false;
FrmTransferOutStack.ShowModal;
end;
procedure TFrmTransferStore.BitBtnSlctNotyItemClick(Sender: TObject);
begin
inherited;
NotyItemID := '';
NotyFdType := '';
NotyQuantity := 0;
UntSlctNotyItemId.SltFlds(Self);
if Length(NotyItemID)<>0 then
begin
DBGrid1.DataSource.DataSet.Edit;
DBEditNotyItemID.Field.AsString := NotyItemID;
end;
if Length(NotyFdType)<>0 then
begin
DBGrid1.DataSource.DataSet.Edit;
DBLookupComboBox4.Field.AsString := NotyFdType;
end;
if NotyQuantity <> 0 then
begin
DBGrid1.DataSource.DataSet.Edit;
DBEditNotyQuantity.Field.AsFloat := NotyQuantity;
end;
end;
procedure TFrmTransferStore.DBEditKeyExit(Sender: TObject);
var
QryCX: TQuery;
str: string;
begin
inherited;
if DBEditkey.Text='' then
begin
Showmessage('移库单编号不能为空,请输入!');
DBEditKey.SetFocus;
DBEditKey.Enabled:=true;
exit;
end
else
begin
try
QryCX:= TQuery.Create(nil);
QryCX.DatabaseName := 'LYDB';
QryCX.SQL.Clear;
str:='select * from ENT_TR_CASE where CASE_ID='''+trim(DBEditKey.Text)+''' and UNIT_ID='+intToStr(DBEditUnitId.Field.AsInteger);
QryCX.SQL.Add(Str);
QryCX.Open;
if QryCX.RecordCount>0 then
begin
showmessage('移库单编号重复,请重新输入!');
DBEditKey.SetFocus;
DBEditKey.Enabled:=true;
exit;
end;
finally
QryCX.Close;
QryCX.Free;
end;
end;
end;
procedure TFrmTransferStore.BitBtnDeleteClick(Sender: TObject);
var
QryCX: TQuery;
str: string;
begin
try
QryCX:=TQuery.Create(nil);
QryCX.DatabaseName := 'LYDB';
QryCX.SQL.Clear;
Str := 'select * from ENT_OUTSTACK where CASE_ID='''+Trim(DBEditKey.Field.AsString)+''''+' and UNIT_ID='+intToStr(DBEditUnitId.Field.AsInteger);
QryCX.SQL.Add(str);
QryCX.Open;
if QryCX.RecordCount>0 then
begin
showmessage('此记录已被出库编号为:'+QryCX.fieldByName('OUTSTACK_ID').AsString+'引用,不能删除!');
exit;
end;
QryCX.Close;
QryCX.SQL.Clear;
Str := 'select * from ENT_INSTACK where CASE_ID='''+Trim(DBEditKey.Field.AsString)+''''+' and UNIT_ID='+intToStr(DBLkpCmbxRecieve.Field.AsInteger);
QryCX.SQL.Add(str);
QryCX.Open;
if QryCX.RecordCount>0 then
begin
showmessage('此记录已被入库编号为:'+QryCX.fieldByName('INSTACK_ID').AsString+'引用,不能删除!');
exit;
end;
finally
QryCX.Close;
QryCX.Free;
end;
inherited;
end;
procedure TFrmTransferStore.FormCreate(Sender: TObject);
begin
inherited;
if FrmMain.FrmFlag = '入库移库单窗口' then
begin
//LblInN.Enabled:=true;
DBLookupComboBox3.Enabled:=true;
//LblInQ.Enabled:=true;
DBEdtInQ.Enabled:=true;
//LblInClerk.Enabled:=true;
DBEdtInClerk.Enabled:=true;
//LblInCheck.Enabled:=true;
DBCheckBox1.Enabled:=true;
EdtInitWhr.Text:='RECIEVER='+inttostr(global.g_user.UnitID);
QrySql.Close;
QrySql.Filter:='RECIEVER='+inttostr(global.g_user.UnitID);
QrySql.Filtered:=true;
QrySql.Open;
end;
if FrmMain.FrmFlag = '出库移库单窗口' then
begin
//LblNotyItem.Enabled:=true;
BitBtnSlctNotyItem.Enabled:=true;
//LblInUnit.Enabled:=true;
DBLkpCmbxRecieve.Enabled:=true;
//LblOutN.Enabled:=true;
DBLookupComboBox4.Enabled:=true;
//LblOutQ.Enabled:=true;
DBEditNotyQuantity.Enabled:=true;
//LbloutClerk.Enabled:=true;
DBEdtoutClerk.Enabled:=true;
//LblOutCheck.Enabled:=true;
DBCheckBox2.Enabled:=true;
BitBtnNew.Enabled:=true;
BitBtnDelete.Enabled:=true;
//LblDateTime.Enabled:=true;
DBEditDateTime.Enabled:=true;
EdtInitWhr.Text:='Unit_id='+inttostr(global.g_user.UnitID);
QrySql.Close;
QrySql.Filter:='Unit_id='+inttostr(global.g_user.UnitID);
QrySql.Filtered:=true;
QrySql.Open;
end;
end;
procedure TFrmTransferStore.QrySQLDATETIMESetText(Sender: TField;
const Text: String);
begin
inherited;
if DBEditDatetime.Text<>' - - ' then
try
Sender.AsDateTime:=strtodate(DBEditDatetime.EditText);
except
Application.MessageBox(PChar(DBEditDatetime.EditText+'不是有效的日期!'),'错误',mb_Ok+mb_IconError);
abort;
end
else
Sender.Clear;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -