📄 unit14.pas
字号:
unit Unit14;
interface
uses
Windows, Messages, Classes, SysUtils, Graphics, Controls, StdCtrls, Forms,
Dialogs, DBCtrls, DB, Mask, ExtCtrls, Buttons;
type
TF_rkmx = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
EditDBEdit: TDBEdit;
EditDBEdit2: TDBEdit;
EditDBEdit3: TDBEdit;
EditDBEdit4: TDBEdit;
EditDBEdit6: TDBEdit;
EditDBEdit7: TDBEdit;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
Panel2: TPanel;
Panel3: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Button1: TButton;
procedure EditDBEdit2Exit(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure EditDBEdit4Enter(Sender: TObject);
procedure EditDBEdit4Exit(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure EditDBEdit6Exit(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
F_rkmx: TF_rkmx;
implementation
uses unit1, Unit16, Unit15, Unit5;
{$R *.DFM}
procedure TF_rkmx.EditDBEdit2Exit(Sender: TObject);
begin
with mainform.Q_kc_rk do
begin
close;
sql.Clear;
sql.Add('select * from 库存');
sql.Add('where 商品编号='+''''+(F_rkmx.EditDBEdit2.Text)+'''');
open;
end;
if (mainform.Q_kc_rk.eof=true) and (trim(F_rkmx.EditDBEdit2.Text)<>'') then
begin
if application.MessageBox('该编号商品尚未建立基本信息,是否建立?','系统信息',MB_YESNO+MB_Iconquestion)=IDyes then
begin
mainform.q_kc.append;
mainform.q_kc.FieldByName('商品编号').asstring:=F_rkmx.EditDBEdit2.Text;
F_kc_add.showmodal;
F_rkmx.EditDBEdit2.SetFocus;
end else close;
end;
end;
procedure TF_rkmx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
mainform.Q_rkmx.cancel;
end;
procedure TF_rkmx.BitBtn1Click(Sender: TObject);
var
K_am,kc_amo_in,kc_amo_out:double;
rkd_no:string;
begin
if (EditDBEdit2.Text='') or (EditDBEdit4.Text='') or (EditDBEdit6.Text='') then
application.MessageBox('信息录入不全,请重新输入!','系统信息',MB_OK+MB_Iconstop)
else begin
mainform.Q_rkmx.FieldByName('入库明细.商品名称').asstring:=F_rkmx.EditDBEdit3.text;
mainform.Q_rkmx.Post;
mainform.Q_kc_rk.Edit;
if mainform.Q_kc_rk.FieldByName('成本价格').AsString='' then
begin
mainform.Q_kc_rk.FieldByName('成本价格').AsFloat:=mainform.Q_rkmx.FieldByName('进货价格').asfloat;
mainform.Q_kc_rk.Post;
end else
begin
with mainform.Q_temp do
begin
close;
sql.Clear;
sql.Add('select SUM(IIF(ISNULL(数量),0,数量)) as 入库总数 from 入库明细 where 商品编号='+''''+F_rkmx.EditDBEdit2.Text+'''');
open;
end;
kc_amo_in:=mainform.Q_temp.fieldbyname('入库总数').asfloat;
with mainform.Q_temp do
begin
close;
sql.Clear;
sql.Add('select SUM(IIF(ISNULL(出库明细.出库数量),0,出库明细.出库数量)) as 出库总数 from 出库明细 where 商品编号='+''''+F_rkmx.EditDBEdit2.Text+'''');
open;
end;
kc_amo_out:=mainform.Q_temp.fieldbyname('出库总数').asfloat;
K_am:=kc_amo_in-kc_amo_out;
mainform.Q_kc_rk.FieldByName('成本价格').asfloat:=(((K_am-mainform.Q_rkmx.FieldByName('数量').asfloat)*mainform.Q_kc_rk.FieldByName('成本价格').asfloat)+(mainform.Q_rkmx.FieldByName('合计金额').asfloat))/(K_am);
mainform.Q_kc_rk.Post;
end;
rkd_no:=F_rkmx.EditDBEdit.text;
mainform.A_rkd.Close;
mainform.A_rkd.Open;
mainform.A_rkd.locate('入库单号',rkd_no,[loCaseInsensitive]);
close;
end;
end;
procedure TF_rkmx.EditDBEdit4Enter(Sender: TObject);
begin
if trim(F_rkmx.EditDBEdit2.Text)='' then
begin
application.MessageBox('商品编号不能为空,请重新输入','系统信息',MB_OK+MB_Iconstop);
F_rkmx.EditDBEdit2.SetFocus;
end else F_rkmx.EditDBEdit4.Text:='1';
end;
procedure TF_rkmx.EditDBEdit4Exit(Sender: TObject);
begin
if (trim(F_rkmx.EditDBEdit4.Text)<>'') and (trim(F_rkmx.EditDBEdit6.Text)<>'') then
begin
mainform.Q_rkmx.FieldByName('合计金额').asstring:=floattostr(strtofloat(F_rkmx.EditDBEdit4.Text)*strtofloat(F_rkmx.EditDBEdit6.Text));
end;
end;
procedure TF_rkmx.FormShow(Sender: TObject);
begin
with mainform.Q_kc_rk do
begin
close;
sql.Clear;
sql.Add('select * from 库存');
sql.Add('where id<1');
open;
end;
F_rkmx.EditDBEdit2.setfocus;
end;
procedure TF_rkmx.EditDBEdit6Exit(Sender: TObject);
begin
if (trim(F_rkmx.EditDBEdit4.Text)<>'') and (trim(F_rkmx.EditDBEdit6.Text)<>'') then
begin
mainform.Q_rkmx.FieldByName('合计金额').asstring:=floattostr(strtofloat(F_rkmx.EditDBEdit4.Text)*strtofloat(F_rkmx.EditDBEdit6.Text));
end;
end;
procedure TF_rkmx.Button1Click(Sender: TObject);
begin
custom_window:='c_rkd';
F_kc.BitBtn1.Visible:=true;
F_kc.showmodal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -