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

📄 ser520_06.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 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 + -