📄 ser520_06.pas.svn-base
字号:
unit Ser520_06;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Bas100_01, Menus, StdCtrls, Buttons, ExtCtrls,
wwdbdatetimepicker, DB, ADODB;
type
TSer520_06Form = class(TBas100_01Form)
lblCode: TLabel;
edtCode: TEdit;
sbCode: TSpeedButton;
edtName: TEdit;
lblQty: TLabel;
edtQty: TEdit;
lblDate: TLabel;
edtDate: TwwDBDateTimePicker;
Bevel1: TBevel;
bbtnOk: TBitBtn;
bbtnExit: TBitBtn;
lblPrice: TLabel;
edtPrice: TEdit;
lblAmount: TLabel;
edtAmount: TEdit;
qryInv150: TADOQuery;
qryInv150I150_001: TAutoIncField;
qryInv150I150_002: TWideStringField;
qryInv150I150_003: TWideStringField;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtnOkClick(Sender: TObject);
procedure bbtnExitClick(Sender: TObject);
procedure edtQtyExit(Sender: TObject);
procedure sbCodeClick(Sender: TObject);
procedure edtCodeExit(Sender: TObject);
private
AMode:string;
FDataSet:TADOQuery;
procedure SetInterface;
{ Private declarations }
public
procedure OpenData(ANo:Integer;ADataSet:TADOQuery);
{ Public declarations }
end;
var
Ser520_06Form: TSer520_06Form;
implementation
uses SYSDATA, CommFun, HwSelData;
{$R *.dfm}
procedure TSer520_06Form.OpenData(ANo:Integer;ADataSet:TADOQuery);
begin
FDataSet:=ADataSet;
AMode:='ADD';
if ANo<>0 then
begin
AMode:='UPD';
if not qryInv150.Active then qryInv150.Open;
qryInv150.Locate('I150_001',ADataSet.FieldByName('S524_003').Value,[]);
edtCode.Text:=qryInv150.FieldByName('I150_002').Value;
edtName.Text:=qryInv150.FieldByName('I150_003').Value;
edtDate.Date:=ADataSet.FieldByName('S524_004').Value;
edtQty.Text:=ADataSet.FieldByName('S524_005').Value;
edtPrice.Text:=ADataSet.FieldByName('S524_006').Value;
edtAmount.Text:=ADataSet.FieldByName('S524_007').Value;
end;
end;
procedure TSer520_06Form.SetInterface;
begin
Caption:=GetDBString('SER52006001'); //退货记录
lblCode.Caption:=GetDBString('SER52006002'); //货品编号
lblDate.Caption:=GetDBString('SER52006003'); //预计日期
lblQty.Caption:=GetDBString('SER52006004'); //货品数量
lblPrice.Caption:=GetDBString('SER52006005'); //货品单价
lblAmount.Caption:=GetDBString('SER52006006'); //货品金额
bbtnOk.Caption:=GetDBString('SER52003009'); //确定(&O)
bbtnExit.Caption:=GetDBString('SER52003010'); //退出(&X)
end;
procedure TSer520_06Form.FormCreate(Sender: TObject);
begin
inherited;
SetInterface;
qryInv150.Open;
end;
procedure TSer520_06Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
qryInv150.Close;
end;
procedure TSer520_06Form.bbtnOkClick(Sender: TObject);
var
ANo:Integer;
begin
inherited;
//确定(&O)
if trim(edtCode.Text)='' then
begin
ShowMsg('UMS10000388'); //货品编号不能为空
edtCode.SetFocus;
Abort;
end;
if trim(edtDate.Text)='' then
begin
ShowMsg('UMS10000385'); //预计日期不能为空
edtDate.SetFocus;
Abort;
end;
if (trim(edtQty.Text)='') or (trim(edtQty.Text)='0') then
begin
ShowMsg('UMS10000389'); //货品数量不能为空或零
edtQty.SetFocus;
Abort;
end;
if (trim(edtPrice.Text)='') or (trim(edtPrice.Text)='0') then
begin
ShowMsg('UMS10000390'); //货品单价不能为空或零
edtPrice.SetFocus;
Abort;
end;
if (trim(edtAmount.Text)='') or (trim(edtAmount.Text)='0') then
begin
ShowMsg('UMS10000391'); //货品金额不能为空或零
edtAmount.SetFocus;
Abort;
end;
if AMode='ADD' then
begin
ANo:=GetLastNo(FDataSet,'S524_002');
FDataSet.Append;
end else
begin
ANo:=FDataSet.FieldByName('S524_002').Value;
FDataSet.Edit;
end;
FDataSet.FieldByName('S524_001').Value:='-1';
FDataSet.FieldByName('S524_002').Value:=ANo;
FDataSet.FieldByName('S524_003').Value:=edtDate.Date;
FDataSet.FieldByName('S524_004').Value:=qryInv150.FieldByName('I150_001').Value;
FDataSet.FieldByName('S524_005').AsString:=edtQty.Text;
FDataSet.FieldByName('S524_006').AsString:=edtPrice.Text;
FDataSet.FieldByName('S524_007').AsString:=edtAmount.Text;
FDataSet.Post;
ModalResult:=1;
end;
procedure TSer520_06Form.bbtnExitClick(Sender: TObject);
begin
inherited;
//退出(&X)
Close;
end;
procedure TSer520_06Form.edtQtyExit(Sender: TObject);
var
AQty,APrice,AAmount:Double;
begin
inherited;
AQty:=0; APrice:=0;
try
AQty:=StrToFloat(edtQty.Text);
APrice:=StrToFloat(edtPrice.Text);
except
ShowMsg('UMS10000392'); //货品数量或货品单价输入了无效的字符
Abort;
end;
AAmount:=AQty*APrice;
edtAmount.Text:=FloatToStr(AAmount);
end;
procedure TSer520_06Form.sbCodeClick(Sender: TObject);
begin
inherited;
//货品编号查询
if not edtCode.Focused then edtCode.SetFocus;
qryInv150.Close;
qryInv150.Open;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryInv150,nil);
if HwSelDataForm.ShowModal=1 then
begin
if qryInv150.IsEmpty then Exit;
edtCode.Text:=qryInv150.FieldByName('I150_002').AsString;
edtName.Text:=qryInv150.FieldByName('I150_003').AsString;
end;
end;
procedure TSer520_06Form.edtCodeExit(Sender: TObject);
begin
inherited;
//货品编号
if trim(edtCode.Text)='' then Exit;
if qryInv150.Locate('I150_002',edtCode.Text,[]) then
begin
edtCode.Text:=qryInv150.FieldByName('I150_002').AsString;
edtName.Text:=qryInv150.FieldByName('I150_003').AsString;
end else
begin
ShowMsg('UMS10000394'); //输入的货品编号无效
edtCode.SetFocus;
Abort;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -