📄 dfm_sale.pas
字号:
dfmtotal:=Tdfmtotal.Create(Application);
dfmtotal.showmodal;
end;
procedure Tdfmsale.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F4 then
SpeedButton4Click(SpeedButton4) ;
if key=VK_F5 then
SpeedButton7Click(SpeedButton7) ;
if key=VK_F6 then
SpeedButton3Click(SpeedButton3) ;
if key=VK_F7 then
begin
If Application.FindComponent('dfmreprint')=Nil Then
dfmreprint:=Tdfmreprint.Create(Application);
dfmreprint.showmodal;
end;
if key=VK_F8 then
SpeedButton2Click(SpeedButton2) ;
if key=VK_F9 then
begin
if CheckBox1.Checked = true then
CheckBox1.Checked := false
else
CheckBox1.Checked := true;
end;
if key=VK_F11 then
SpeedButton1Click(SpeedButton1) ;
if key=VK_Delete then
begin
if Atblstemp.RecordCount <> 0 then
Atblstemp.Delete ;
end;
if key=VK_up then
begin
if Atblstemp.RecordCount <> 0 then
begin
if trim(DBEditEh4.Text) = '' then
Atblstemp.cancel;
Atblstemp.Prior;
end;
end;
if key=VK_down then
Atblstemp.Next;
vkey:=key;
end;
procedure Tdfmsale.SpeedButton7Click(Sender: TObject);
begin
if Atblstemp.RecordCount <> 0 then
begin
if trim(DBEditEh4.Text) = '' then
begin
Atblstemp.cancel;
Atblstemp.last;
dbedit2.Enabled :=true ;
dbedit2.SetFocus;
end
else
begin
dbedit2.Enabled :=true ;
dbedit2.SetFocus;
end;
end
else
begin
dbedit2.Enabled :=true ;
dbedit2.SetFocus;
end;
end;
procedure Tdfmsale.MaskEdit9Exit(Sender: TObject);
begin
SpeedButton3Click(SpeedButton3);
end;
procedure Tdfmsale.MaskEdit1Exit(Sender: TObject);
begin
if trim(DBEditEh4.Text) <>'' then
SpeedButton3Click(SpeedButton3);
end;
procedure Tdfmsale.ppVariable1Calc(Sender: TObject; var Value: Variant);
begin
value:=FlatSpinEditFloat2.value ;
end;
procedure Tdfmsale.ppVariable2Calc(Sender: TObject; var Value: Variant);
begin
value:=FlatSpinEditFloat3.value ;
end;
procedure Tdfmsale.DBEditEh3Exit(Sender: TObject);
begin
if atblman.Locate('freno',trim(DBEditEh3.Text),[loPartialKey]) then
StaticText2.caption :=atblman['fname']
else
begin
StaticText2.caption :='无此员工号';
DBEditEh3.SetFocus;
end;
end;
procedure Tdfmsale.DBEditEh4Exit(Sender: TObject);
begin
// DBEditEh4.SetFocus ;
end;
procedure Tdfmsale.FlatSpinEditFloat2Exit(Sender: TObject);
begin
if Atblstemp.RecordCount <> 0 then
begin
FlatSpinEditFloat3.value:=FlatSpinEditFloat2.value-FlatSpinEditFloat1.value;
if FlatSpinEditFloat2.value-FlatSpinEditFloat1.value<0 then
begin
application.MessageBox('钱数不够,无法结帐!','提示信息',MB_OK);
FlatSpinEditFloat2.SetFocus;
end
else
begin
begin
Aqryapp.ExecSQL ;
Aqrylose.ExecSQL ;
if CheckBox1.Checked = true then
begin
ppReport1.ShowPrintDialog := false;
ppReport1.Print;
end;
Aqrydel.ExecSQL ;
Atblstemp.Close ;
atblstemp.Open ;
DBEditEh1.Text:=vbmh ;
DBComboBoxEh1.Text:=vlabel;
dbdatetimeediteh1.Value:= vdate;
// dbedit2.Text :=vzl;
dbedit2.Text :='1';
qryid;
// FlatSpinEditFloat2.Value := 0;
// Panel4.Visible := false;
// Panel4.Visible := true;
Label9.Caption := '上一单:';
DBEditEh3.Text := vyyyh;
DBEditEh3.SetFocus;
end;
end;
end;
end;
procedure Tdfmsale.DBEditEh4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if trim(DBEditEh4.Text) <>'' then
begin
{ atblextend.First;
if atblextend.Locate('clabel;cstyle',VarArrayOf([dbcomboboxeh1.Text,dbediteh4.text]), [loPartialKey]) then
begin
if (dbdatetimeediteh1.Value>=atblextend['csdate'] and dbdatetimeediteh1.Value<=atblextend['cedate']) then
begin
if atblextend['cezl']<>null then
begin
if atblextend['cezl']<>0 then
dbedit2.Text:=atblextend['cezl']
end
else
if atblextend['cesj']<>null then
Atblstemp['lsj']:=atblextend['cesj'];
end;
end;}
SpeedButton3Click(SpeedButton3);
end;
end;
end;
procedure Tdfmsale.DBNumberEditEh1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
DBEditEh4.SetFocus;
end;
end;
procedure Tdfmsale.DBNumberEditEh2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
DBEditEh4.SetFocus;
end;
procedure Tdfmsale.DBEditEh1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
DBComboBoxEh1.SetFocus ;
end;
procedure Tdfmsale.DBComboBoxEh1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
DBEditEh3.SetFocus;
end;
procedure Tdfmsale.FlatSpinEditFloat2KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
DBEditEh3.SetFocus;
end;
procedure Tdfmsale.AtblstempBeforePost(DataSet: TDataSet);
var
vper:integer;
vlsj:currency;
begin
if not atblslday.Locate ('cdate',formatdatetime('yyyy-mm-dd',DBDateTimeEditEh1.value),[loPartialKey]) then
begin
if atblsalepara['cdec']='1' then
begin
vper:=10
end;
if atblsalepara['cdec']='2' then
begin
vper:=100
end;
if trim(DBEditEh4.Text) <> '' then
begin
with AQryware do
begin
close;
Parameters.ParamByName ('vspbh').value:=trim(DBEditEh4.text);
Parameters.ParamByName ('vlabel').value:=trim(DBComboBoxEh1.text);
Parameters.ParamByName ('vbmh').value:=trim(DBEditEh1.text);
open;
end;
if dbedit1.Text='' then
dbedit1.text :='1';
if TCustomADODataSet(AQryware).RecordCount>0 then
if aqryware['dqsl']-dbedit1.Text <0 then
begin
application.MessageBox('库存中此款号的数量不足!','提示信息',MB_OK);
abort;
DBEditEh4.SetFocus;
end
else
begin
Atblstemp.edit;
Atblstemp['sj']:=time();
Atblstemp['skyh']:=g_uInfo.fuserid;
Atblstemp['cname']:=aqryware['cname'] ;
// if atblextend.RecordCount > 0 then
atblextend.First;
if atblextend.Locate('clabel;cstyle',VarArrayOf([trim(dbcomboboxeh1.Text),aqryware['flh']]), [loPartialKey]) then
begin
if atblextend['cezl']<>null then
begin
if atblextend['cezl']<>0 then
begin
// dbedit2.Text:=atblextend['cezl'];
Atblstemp['zl']:=atblextend['cezl'];
Atblstemp['lsj']:=aqryware['lsj'];
vlsj:=aqryware['lsj'];
end
else
begin
if atblextend['cesj']<>null then
begin
Atblstemp['lsj']:=atblextend['cesj'];
vlsj:=atblextend.FieldByName('cesj').Ascurrency; atblextend['cesj'];
end;
end;
// end;
end
else
if atblextend['cesj']<>null then
begin
Atblstemp['lsj']:=atblextend['cesj'];
vlsj:=atblextend.FieldByName('cesj').Ascurrency;
end;
end
else
begin
Atblstemp['lsj']:=aqryware['lsj'];
// vlsj:=atblextend.FieldByName('cesj').Ascurrency;
vlsj:=aqryware['lsj'];
end;
// Atblstemp['lsj']:=aqryware['lsj'];
Atblstemp['sl']:= dbedit1.text;
if atblsalepara['cdec']='0' then
Atblstemp['sjje']:=round(vlsj*strtofloat(dbedit2.Text)*strtoint(dbedit1.text))
else
Atblstemp['sjje']:=round((vlsj*strtofloat(dbedit2.Text)*strtoint(dbedit1.text))*vper)/vper;
Atblstemp['zke']:=vlsj*strtoint(dbedit1.text)-Atblstemp['sjje'];
end
else
begin
application.MessageBox('库存中没有此款号信息!','提示信息',MB_OK);
abort;
DBEditEh4.SetFocus;
end;
end
else
begin
abort;
DBEditEh4.SetFocus;
end;
end
else
begin
application.MessageBox('这个日期已日结封帐,不允许继续输入!',
'提示信息', MB_OK) ;
abort;
end;
end;
procedure Tdfmsale.DBEditEh3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
DBEditEh4.SetFocus;
end;
procedure Tdfmsale.FlatSpinEditFloat2KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=vk_return then
DBEditEh3.SetFocus;
end;
procedure Tdfmsale.AtblstempBeforeDelete(DataSet: TDataSet);
begin
if Atblstemp.RecordCount =0 then
abort;
end;
procedure Tdfmsale.DBEdit1Exit(Sender: TObject);
begin
dbedit1.Enabled:=false ;
Atblstemp.Post;
end;
procedure Tdfmsale.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
DBEditEh4.SetFocus;
end;
end;
procedure Tdfmsale.DBEdit2Exit(Sender: TObject);
begin
DBEdit2.Enabled ;
Atblstemp.Post;
end;
procedure Tdfmsale.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
DBEditEh4.SetFocus;
end;
procedure Tdfmsale.DBEditEh4Change(Sender: TObject);
begin
{ atblextend.First;
if atblextend.Locate('clabel;cstyle',VarArrayOf([dbcomboboxeh1.Text,dbediteh4.text]), [loPartialKey]) then
if (dbdatetimeediteh1.Value>=atblextend['csdate'] and dbdatetimeediteh1.Value<=atblextend['cedate']) then
begin
if atblextend['cezl']<>null then
if atblextend['cezl']<>0 then
dbedit2.Text:=atblextend['cezl']
else
if atblextend['cesj']<>null then
Atblstemp['lsj']:=atblextend['cesj'];
end;}
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -