📄 uaddxssp.pas
字号:
unit UADDXSSP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TFADDXSSP = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
EdtSPBH: TEdit;
EdtPMGG: TEdit;
EdtDJ: TEdit;
EdtSL: TEdit;
EdtJE: TEdit;
EdtYF: TEdit;
EdtYSJE: TEdit;
ChkHP: TCheckBox;
Panel1: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label8: TLabel;
EdtDW: TEdit;
BitBtn3: TBitBtn;
procedure EdtDJKeyPress(Sender: TObject; var Key: Char);
procedure EdtYFKeyPress(Sender: TObject; var Key: Char);
procedure EdtSLKeyPress(Sender: TObject; var Key: Char);
procedure EdtDJExit(Sender: TObject);
procedure EdtSLExit(Sender: TObject);
procedure EdtYFExit(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
procedure SJYSJE;
{ Private declarations }
public
{ Public declarations }
end;
var
FADDXSSP: TFADDXSSP;
implementation
uses U_dm,UsysPub,USPXX,UsysConst;
{$R *.dfm}
procedure TFADDXSSP.SJYSJE;
begin
EdtJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text));
EdtYSJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text)+strtoFloat(EdtYF.Text));
end;
procedure TFADDXSSP.EdtDJKeyPress(Sender: TObject; var Key: Char);
begin
if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
key:=#0;
end;
procedure TFADDXSSP.EdtYFKeyPress(Sender: TObject; var Key: Char);
begin
if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
key:=#0;
end;
procedure TFADDXSSP.EdtSLKeyPress(Sender: TObject; var Key: Char);
begin
if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
key:=#0;
end;
procedure TFADDXSSP.EdtDJExit(Sender: TObject);
begin
if Trim(EdtDJ.Text)='' then
begin
EdtDJ.Text:='0';
abort;
end;
if TryIsFloat(Trim(EdtDJ.Text))=False then
begin
Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
EdtDJ.SetFocus;
abort;
end;
EdtJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text));
EdtYSJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text)+strtoFloat(EdtYF.Text));
end;
procedure TFADDXSSP.EdtSLExit(Sender: TObject);
begin
if Trim(EdtSL.Text)='' then
begin
EdtSL.Text:='0';
abort;
end;
if TryIsFloat(Trim(EdtSL.Text))=False then
begin
Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
EdtSL.SetFocus;
abort;
end;
EdtJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text));
EdtYSJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text)+strtoFloat(EdtYF.Text));
end;
procedure TFADDXSSP.EdtYFExit(Sender: TObject);
begin
if Trim(EdtYF.Text)='' then
begin
EdtYF.Text:='0';
abort;
end;
if TryIsFloat(Trim(EdtYF.Text))=False then
begin
Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
EdtYF.SetFocus;
abort;
end;
EdtJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text));
EdtYSJE.Text:=Floattostr(strtoFloat(EdtDJ.Text)*strtoFloat(EdtSL.Text)+strtoFloat(EdtYF.Text));
end;
procedure TFADDXSSP.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
EnterToChangeFocus(self,key);
end;
procedure TFADDXSSP.BitBtn1Click(Sender: TObject);
var
strspbh,strpmgg,strdw,strdj,strsl,strje,stryf,strysje,strhp:string;
strSQL,strtmp:string;
ntmp,nid:integer;
begin
screen.Cursor:=crhourglass;
strspbh:=Trim(EdtSPBH.Text);
strpmgg:=Trim(EdtPMGG.Text);
strdw:=Trim(EdtDW.Text);
strdj:=NontoNumber(Trim(EdtDJ.Text));
strsl:=NontoNumber(Trim(EdtSL.Text));
strje:=NontoNumber(Trim(EdtJE.Text));
stryf:=NontoNumber(Trim(EdtYF.Text));
strysje:=NontoNumber(Trim(EdtYSJE.Text));
strhp:=BooleantoNumber(ChkHP.Checked);
IF strspbh='' THEN
begin
Application.MessageBox('请选择商品!',MsgBxCaption,MB_OK+MB_ICONWARNING);
screen.Cursor:=crdefault;
abort;
end;
IF strDJADDZT='ADD' THEN
begin
strSQL:='select max(自动编号) as xh from JG出库单';
if RunSQL(DM.m_clADOQryDB_Temp,strSQL,0) then
begin
ntmp:=DM.m_clADOQryDB_Temp.fieldbyname('xh').AsInteger+1;
end
else
begin
Application.MessageBox('保存数据失败!',MsgBxCaption,MB_OK);
screen.Cursor:=crdefault;
abort;
end;
strSQL:='Insert Into JG出库单 (订单ID,自动编号,商品编号,品名规格,单位,数量,单价,金额,运费,应收金额,回瓶,订单类型) Values('
+''''+' '+''''
+','+inttostr(ntmp)
+','+''''+strspbh+''''
+','+''''+strpmgg+''''
+','+''''+strdw+''''
+','+strsl+','+strdj+','+strje
+','+stryf+','+strysje
+','+strhp+','+''''+'销售单'+''''+')';
if RunSQL(DM.m_clADOQryDB_Temp,strSQL,1) then
begin
screen.Cursor:=crdefault;
strSQL:='select * from JG出库单';
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
self.Close;
end
else
begin
Application.MessageBox('保存数据失败!',MsgBxCaption,MB_OK);
screen.Cursor:=crdefault;
end;
end
else
begin
nid:=dm.ADOQ_JGDHCB.fieldbyname('ID').AsInteger;
strSQL:='update JG出库单 set 商品编号='
+''''+strspbh+''''
+',品名规格='+''''+strpmgg+''''
+',单位='+''''+strdw+''''
+',数量='+strsl+',单价='+strdj+',金额='+strje
+',运费='+stryf+',应收金额='+strysje
+',回瓶='+strhp+' where id='+inttostr(nid);
if RunSQL(DM.m_clADOQryDB_Temp,strSQL,1) then
begin
screen.Cursor:=crdefault;
strSQL:='select * from JG出库单';
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
self.Close;
end
else
begin
Application.MessageBox('保存数据失败!',MsgBxCaption,MB_OK);
screen.Cursor:=crdefault;
end;
end;
end;
procedure TFADDXSSP.FormShow(Sender: TObject);
begin
IF strDJADDZT='MODIFY' THEN
BEGIN
self.Caption:='修改商品';
EdtSPBH.Text:=Trim(dm.ADOQ_JGDHCB.fieldbyname('商品编号').AsString);
EdtPMGG.Text:=Trim(dm.ADOQ_JGDHCB.fieldbyname('品名规格').AsString);
EdtDW.Text:=Trim(dm.ADOQ_JGDHCB.fieldbyname('单位').AsString);
EdtDJ.Text:=Floattostr(dm.ADOQ_JGDHCB.fieldbyname('单价').AsFloat);
EdtYF.Text:=Floattostr(dm.ADOQ_JGDHCB.fieldbyname('运费').AsFloat);
EdtSL.Text:=Floattostr(dm.ADOQ_JGDHCB.fieldbyname('数量').AsFloat);
EdtJE.Text:=Floattostr(dm.ADOQ_JGDHCB.fieldbyname('金额').AsFloat);
EdtYSJE.Text:=Floattostr(dm.ADOQ_JGDHCB.fieldbyname('应收金额').AsFloat);
ChkHP.Checked:=dm.ADOQ_JGDHCB.fieldbyname('回瓶').AsBoolean;
BitBtn3.SetFocus;
END
else
begin
BitBtn3.SetFocus;
end;
end;
procedure TFADDXSSP.BitBtn3Click(Sender: TObject);
var
strSQL,strTmp,strTemp:string;
rDJ,RYF:real;
begin
strXZZT:='select';
try
Application.CreateForm(TFSPXX, FSPXX);
FSPXX.ShowModal;
if strXZZT='ok' then
begin
strSQL:='select * from JG客户信息 where 客户ID='+''''+strTmpKHID+'''';
RunSQL(dm.m_clADOQry_Temp,strSQL,0);
strTmp:=Trim(dm.m_clADOQry_Temp.fieldbyname('分类编号').AsString);
strTemp:=Trim(dm.ADOQ_SP.fieldbyname('商品编号').AsString);
strSQL:='select * from JG商品优惠 where (分类编号='+''''+strTmpKHID+''''
+') and (商品编号='+''''+strTemp+''''+') and (门店编号='
+''''+strCZMD+''''+')';
RunSQL(dm.m_clADOQry_Temp,strSQL,0);
rDJ:=dm.m_clADOQry_Temp.fieldbyname('单价优惠').AsFloat;
RYF:=dm.m_clADOQry_Temp.fieldbyname('运费优惠').AsFloat;
EdtSPBH.Text:=Trim(dm.ADOQ_SP.fieldbyname('商品编号').AsString);
EdtPMGG.Text:=Trim(dm.ADOQ_SP.fieldbyname('品名规格').AsString);
EdtDW.Text:=Trim(dm.ADOQ_SP.fieldbyname('单位').AsString);
EdtDJ.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('单价').AsFloat);
EdtYF.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('运费').AsFloat);
EdtSL.Text:='1';
EdtJE.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('单价').AsFloat);
EdtYSJE.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('单价').AsFloat+dm.ADOQ_SP.fieldbyname('运费').AsFloat-rDJ-RYF);
ChkHP.Checked:=dm.ADOQ_SP.fieldbyname('回瓶').AsBoolean;
EdtDJ.SelectAll;
EdtDJ.SetFocus;
end;
finally
FSPXX.Free;
end;
end;
procedure TFADDXSSP.BitBtn2Click(Sender: TObject);
begin
self.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -