📄 mrcprk.~pas
字号:
speedbutton2.visible:=true;
end;
procedure TCPRK.SpeedButton2Click(Sender: TObject); //调入商品信息列表
begin
Application.CreateForm(TCPXXLB,CPXXLB);
CPXXLB.showmodal;
end;
procedure TCPRK.BitBtn1Click(Sender: TObject); //登记
var year,month,day:word; i:integer;
begin
i:=0;
try
if edit7.text<>'' then begin
table9.open;
table9.first;
while not table9.eof do begin
I:=I+1;
table9.next;
end;
decodedate(now,year,month,day);
combobox1.text:=inttostr(year)+inttostr(month)+inttostr(day)+'0'+inttostr(i);//生成入库票号
combobox1.enabled:=false;
datasource1.DataSet:=table1;
table1.open;
bitbtn5.enabled:=true; bitbtn6.enabled:=true; bitbtn1.enabled:=false;
bitbtn2.enabled:=true; bitbtn3.enabled:=true;bitbtn4.enabled:=false;
edit12.visible:=true; edit13.visible:=true; edit14.visible:=true;
edit15.visible:=true; edit16.visible:=true; edit17.visible:=true;
edit18.visible:=true; edit19.visible:=true; edit20.visible:=true;
edit21.visible:=true;edit22.visible:=true;
edit12.Text:=''; edit13.text:=''; edit14.text:=''; edit15.text:='';
edit16.text:=''; edit17.text:=''; edit18.text:=''; edit19.text:='';
edit20.text:=''; edit21.text:=''; edit22.text:=''; edit12.enabled:=true;
edit13.enabled:=false; edit14.enabled:=false; speedbutton2.visible:=false;
edit12.setfocus;
table1.First;
groupbox4.enabled:=true;
radiobutton4.Checked:=true;
while not table1.eof do begin
table1.delete;
end;
end else begin
showmessage('请将客户信息添全。');
end;
except
showmessage('数据不能连接。');
end;
BITBTN2.Enabled:=FALSE;
end;
procedure TCPRK.BitBtn3Click(Sender: TObject); //取消
begin
combobox1.text:='';
combobox1.Enabled:=true;
table1.Cancel;
bitbtn5.enabled:=false; bitbtn6.enabled:=false; bitbtn1.enabled:=true;
bitbtn2.enabled:=false; bitbtn3.enabled:=false; bitbtn4.enabled:=true;
edit12.visible:=false; edit13.visible:=false; edit14.visible:=false;
edit15.visible:=false; edit16.visible:=false; edit17.visible:=false;
edit18.visible:=false; edit19.visible:=false; edit20.visible:=false;
edit21.visible:=false; edit22.visible:=false; groupbox4.enabled:=true;
groupbox4.enabled:=false;
table7.open;
table1.First;
while not table1.eof do begin
table1.delete;
end;
table9.Active:=false;
end;
procedure TCPRK.BitBtn2Click(Sender: TObject); //入库
var i:string;
begin
try i:='';
If strtoint(edit2.Text) <> strtoint(edit3.Text) Then begin //如应付与实付不符
showmessage('实付款于应付款不符,系统将建立借贷关系。');
table1.first;
while not table1.eof do begin
I:=I+'[产品名称:('+table1.fieldbyname('cpmc').asstring+')数量:('+table1.fieldbyname('shuliang').asstring+')]; ';
table1.next;
end;
table8.insert; //保存欠款到借贷表
table8.fieldbyname('piao').asstring:=combobox1.text;
table8.fieldbyname('jsr').asstring:=mrqp.label1.caption;
table8.fieldbyname('rdate').asdatetime:=date;
table8.fieldbyname('shuliang').asstring:=edit1.text;
table8.fieldbyname('khbh').asstring:=edit7.text;
table8.fieldbyname('khqc').asstring:=edit8.Text;
table8.fieldbyname('lxdh').asstring:=edit9.text;
table8.fieldbyname('ying').asinteger:=strtoint(edit2.text);
table8.fieldbyname('shi').asinteger:=strtoint(edit3.text);
table8.fieldbyname('huo').asstring:='入库';
table8.fieldbyname('chanpin').asstring:=i;
If strtoint(edit2.Text) < strtoint(edit3.Text) Then begin
table8.fieldbyname('zhaigx').asstring:='借出';
table8.fieldbyname('zhai').asinteger:=strtoint(edit3.text)-strtoint(edit2.text);
end else begin
table8.fieldbyname('zhaigx').asstring:='借入';
table8.fieldbyname('zhai').asinteger:=strtoint(edit2.text)-strtoint(edit3.text);
end;
table8.post;
end;
table1.cancel;
table1.First;
while not table1.eof do begin
if table4.Locate('cpbh',table1.fieldbyname('cpbh').asstring,[Lopartialkey]) then begin //查询商品
table4.edit; //库存增加
table4.FieldByName('shuliang').asinteger:=table4.fieldbyname('shuliang').asinteger+table1.fieldbyname('shuliang').asinteger;
table4.fieldbyname('je').asinteger:=table4.fieldbyname('je').asinteger+table1.fieldbyname('je').asinteger;
table4.fieldbyname('shi').asinteger:=table4.fieldbyname('shi').asinteger+table1.fieldbyname('shi').asinteger;
table4.post;
End
Else begin
table4.InsertRecord([table1.fieldbyname('cpbh').asstring,table1.fieldbyname('cpmc').asstring,
table1.fieldbyname('cpxh').asstring,table1.fieldbyname('cpbs').asstring,table1.fieldbyname('danjia').asinteger,
table1.fieldbyname('dan').asstring,table1.fieldbyname('shuliang').asstring,table1.fieldbyname('cx').asstring,
table1.fieldbyname('cd').asstring,table1.fieldbyname('pi').asstring,table1.fieldbyname('ling').asstring,
table1.fieldbyname('jy').asstring,table1.fieldbyname('je').asstring,table1.fieldbyname('shi').asstring]);
table4.post;
end;
table7.insert; //保存入库到入库单
table7.fieldbyname('piao').asstring:=combobox1.text;
table7.FieldByName('cpbh').asstring:= table1.fieldbyname('cpbh').asstring;
table7.fieldbyname('cpmc').asstring:=table1.fieldbyname('cpmc').asstring;
table7.FieldByName('cpxh').asstring:= table1.fieldbyname('cpxh').asstring;
table7.fieldbyname('cpbh').asstring:= table1.fieldbyname('cpbh').asstring;
table7.fieldbyname('cpbs').asstring:= table1.fieldbyname('cpbs').asstring;
table7.fieldbyname('danjia').asstring:= table1.fieldbyname('danjia').asstring;
table7.fieldbyname('dan').asstring:=table1.fieldbyname('dan').asstring;
table7.fieldbyname('cx').asstring:=table1.fieldbyname('cx').asstring;
table7.fieldbyname('cd').asstring:=table1.fieldbyname('cd').asstring;
table7.fieldbyname('pi').asinteger:= table1.fieldbyname('pi').asinteger;
table7.fieldbyname('ling').asinteger:= table1.fieldbyname('ling').asinteger;
table7.fieldbyname('jy').asinteger:=table1.fieldbyname('jy').asinteger;
table7.FieldByName('je').asinteger:=table1.fieldbyname('je').asinteger;
table7.fieldbyname('shi').asinteger:=table1.fieldbyname('shi').asinteger;
table7.fieldbyname('shuliang').asstring:= table1.fieldbyname('shuliang').asstring;
table7.fieldbyname('khbh').asstring:= table1.fieldbyname('khbh').asstring;
table7.fieldbyname('khqc').asstring:= table1.fieldbyname('khqc').asstring;
table7.fieldbyname('lxdh').asstring:= table1.fieldbyname('lxdh').asstring;
table7.fieldbyname('lxr').asstring:= table1.fieldbyname('lxr').asstring;
table7.fieldbyname('sj').asstring:= table1.fieldbyname('sj').asstring;
table7.fieldbyname('di').asstring:= table1.fieldbyname('di').asstring;
table7.fieldbyname('yb').asstring:= table1.fieldbyname('yb').asstring;
table7.fieldbyname('jsr').asstring:= table1.fieldbyname('jsr').asstring;
table7.fieldbyname('rdate').asdatetime:= table1.fieldbyname('rdate').asdatetime;
table7.fieldbyname('shi').asinteger:= table1.fieldbyname('shi').asinteger;
table7.post;
table1.delete;
end;
table9.insert; //增加票号到票号表
table9.fieldbyname('piao').asstring:=combobox1.Text;
combobox1.Items.add(combobox1.text);
table9.Post;
table9.active:=false;
combobox1.Text:='';
combobox1.enabled:=true;
datasource1.DataSet:=table7; //查看库存情况
table7.open;
table1.Cancel;
bitbtn5.enabled:=false;
bitbtn6.Enabled:=false;
bitbtn1.enabled:=true;
bitbtn2.enabled:=false;
bitbtn3.enabled:=false;
bitbtn4.enabled:=true;
groupbox4.enabled:=false;
groupbox4.enabled:=false;
except
showmessage('数据有误,无法入库。');
end;
end;
procedure TCPRK.ComboBox1Click(Sender: TObject);
begin
if combobox1.text='所有记录' then begin
table7.filtered:=false;
end else begin
table7.Filtered:=true;
table7.filter:=format('piao'+'='+'''%s''',[combobox1.text]);
end;
end;
procedure TCPRK.BitBtn5Click(Sender: TObject);
begin
edit12.text:='';
edit13.text:='';
edit14.text:='';
edit15.text:='';
edit16.text:='';
edit17.text:='';
edit18.text:='';
edit19.text:='';
edit20.text:='';
edit21.text:='';
edit22.text:='';
edit12.setfocus;
end;
procedure TCPRK.Edit3Exit(Sender: TObject);
begin
if edit3.text='' then begin
edit3.text:='0'
end;
end;
procedure TCPRK.Edit7KeyPress(Sender: TObject; var Key: Char); //利用客户编号选择客户信息
begin
if key=#13 then begin //回车
if edit7.text<>'' then begin
edit8.text:='';
edit9.text:='';
edit10.text:='';
edit4.Text:='';
edit5.text:='';
edit6.text:='';
if table2.Locate('khbh',edit7.text,[Lopartialkey]) then begin //查找客户
edit7.text:=table2.fieldbyname('khbh').asstring; //填入客户信息
edit8.text:=table2.fieldbyname('khqc').asstring;
edit9.text:=table2.fieldbyname('lxdh').asstring;
edit6.text:=table2.fieldbyname('lxr').asstring;
edit5.text:=table2.fieldbyname('sj').asstring;
edit4.text:=table2.fieldbyname('di').asstring;
edit10.text:=table2.fieldbyname('yb').asstring;
End
Else begin
showmessage('系统中无此编号,请添加。');
end;
bitbtn1.setfocus;
end;
end;
if (key<'0') or (key>'9') or (key=#8)then key:=#0;
end;
procedure TCPRK.Edit8KeyPress(Sender: TObject; var Key: Char); //选择客户信息
begin
if edit8.text<>'' then begin
if table2.Locate('khqc',edit8.text,[Lopartialkey]) then begin
edit7.text:=table2.fieldbyname('khbh').asstring;
edit8.text:=table2.fieldbyname('khqc').asstring;
edit9.text:=table2.fieldbyname('lxdh').asstring;
edit6.text:=table2.fieldbyname('lxr').asstring;
edit5.text:=table2.fieldbyname('sj').asstring;
edit4.text:=table2.fieldbyname('di').asstring;
edit10.text:=table2.fieldbyname('yb').asstring;
End
Else begin
showmessage('系统中无此名称,请添加。');
end;
end;
end;
procedure TCPRK.Edit12KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin //回车选择产品信息
edit21.text:='';
edit13.text:='';
edit14.text:='';
edit15.text:='';
edit16.text:='';
edit17.text:='';
edit18.text:='';
edit19.text:='';
edit20.text:='';
edit22.text:='';
if table3.locate('cpbh',edit12.text,[loCaseInsensitive]) then //查询产品信息
begin
edit12.text:=table3.fieldbyname('cpbh').asstring;
edit13.text:=table3.fieldbyname('cpmc').asstring;
edit14.text:=table3.fieldbyname('cpxh').asstring;
edit16.text:=inttostr(table3.fieldbyname('pi').asinteger);
edit17.text:=inttostr(table3.fieldbyname('ling').asinteger);
edit18.text:=inttostr(table3.fieldbyname('jy').asinteger);
a11:=table3.fieldbyname('dan').asstring;
edit19.text:=inttostr(table3.fieldbyname('danjia').asinteger);
a12:=table3.fieldbyname('cx').asstring;
a13:=table3.fieldbyname('cd').asstring;
End
Else
begin
showmessage('系统中无此编号,请添加。');
end;
edit15.SetFocus;
end;
end;
procedure TCPRK.Edit13KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
if edit13.text<>'' then
edit14.SetFocus
Else begin
key:=#0;
showmessage('请输入产品名称。');
end;
end;
procedure TCPRK.Edit14KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin //回车利用产品型号选择产品
if table3.locate('cpmc;cpxh',vararrayof([edit13.text,edit14.text]),[loCaseInsensitive]) then
begin
edit12.text:=table3.fieldbyname('cpbh').asstring;
edit13.text:=table3.fieldbyname('cpmc').asstring;
edit14.text:=table3.fieldbyname('cpxh').asstring;
edit16.text:=inttostr(table3.fieldbyname('pi').asinteger);
edit17.text:=inttostr(table3.fieldbyname('ling').asinteger);
edit18.text:=inttostr(table3.fieldbyname('jy').asinteger);
a11:=table3.fieldbyname('dan').asstring;
edit19.text:=inttostr(table3.fieldbyname('danjia').asinteger);
a12:=table3.fieldbyname('cx').asstring;
a12:=table3.fieldbyname('cd').asstring;
edit15.setfocus;
End
Else
begin
showmessage('系统中无此型号,请添加。');
end;
end;
end;
procedure TCPRK.Edit20KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
try
if edit20.text='' then edit20.text:='0';
edit21.text:=inttostr(strtoint(edit20.text)* strtoint(edit19.text)); //计算应付金额
edit22.Text:=edit21.text; //实付金额
//table1.fieldbyname('shi').asinteger:=table1.fieldbyname('je').asinteger;
edit22.setfocus;
except
showmessage('不能运算!');
end;
end;
end;
procedure TCPRK.Edit22KeyPress(Sender: TObject; var Key: Char); //回车焦点Button1
begin
Button1.SetFocus ;
end;
procedure TCPRK.Edit19KeyPress(Sender: TObject; var Key: Char); //比较价格
var add:integer;
begin
if key=#13 then begin
try
table6.Refresh;
table6.Filtered:=true;
table6.filter:=format('cpmc'+'='+'''%s''',[edit13.text]);
if table6.Locate('cpmc',edit13.text,[Lopartialkey]) //查询商品
then begin
table6.last;
add:=table6.fieldbyname('danjia').asinteger; end
Else begin
add:=table3.fieldbyname('danjia').asinteger; end ;
if strtoint(edit19.text)>add then begin //比较进价
showmessage('本次进货价高于上次,请三思后保存。');
end;
edit20.setfocus;
except on exception do showmessage('数据无法计算,请核实。');
end;
end;
end;
procedure TCPRK.Button1Click(Sender: TObject); // 保存数据到临时表
begin
try
table1.AppendRecord([edit12.text,edit13.text,edit14.text,edit15.text,
mrqp.label1.caption,date,edit19.text,a11,edit20.text,a12,a13,
edit7.text,edit8.text,edit4.text,edit9.text,edit6.text,edit5.text,
edit10.text,strtoint(edit16.text),strtoint(edit17.text),strtoint(edit18.text),
strtoint(edit21.text),strtoint(edit21.text),strtoint(edit22.text)]);
edit1.text:=inttostr(strtoint(edit1.text)+strtoint(edit20.text));
edit2.text:=inttostr(strtoint(edit2.text)+strtoint(edit21.text));
edit3.text:=inttostr(strtoint(edit3.text)+strtoint(edit22.text));
edit12.text:=''; edit13.text:=''; edit14.text:='';edit15.text:='';
edit16.text:='';edit17.text:=''; edit18.text:=''; edit19.text:='';
edit20.text:='';edit21.text:=''; edit22.text:='';
if radiobutton4.Checked then edit12.setfocus;
if radiobutton5.checked then edit13.setfocus;
if radiobutton6.checked then bitbtn2.setfocus;
BITBTN2.Enabled:=TRUE;
except
showmessage('输入格式错误。');
end;
end;
procedure TCPRK.BitBtn4Click(Sender: TObject); //退出
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -