📄 unitsupplier.pas
字号:
unit Unitsupplier;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls, Buttons, Db, DBTables;
type
Tfrmaddnewgoods = class(TForm)
sbutsure: TSpeedButton;
Image12: TImage;
SpeedButton1: TSpeedButton;
edpinming: TEdit;
edpaihao: TEdit;
Edtiaoma: TEdit;
Edguige: TEdit;
Eddengji: TEdit;
Edchangjia: TEdit;
Edbeizhu: TEdit;
Edjinjia: TEdit;
Edshoujia: TEdit;
Edtongzhidanlaiyuan: TEdit;
Edjinhuoshangxian: TEdit;
Eddangqiankucun: TEdit;
Edzhifufangshi: TEdit;
edzhekou: TEdit;
Edsunhaoxianebi: TEdit;
tmdengjiriqi: TDateTimePicker;
edwujiayuan: TEdit;
edjiliangdanwei: TEdit;
tmpQuery: TQuery;
ComboBox1: TComboBox;
Label1: TLabel;
ComboBox2: TComboBox;
Label2: TLabel;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
Edshoujiazhekou: TEdit;
Eddaokoubili: TEdit;
Edjinjiazhekou: TEdit;
Edit1: TEdit;
Label3: TLabel;
Query1: TQuery;
procedure sbutsureClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox3Click(Sender: TObject);
private
{ Private declarations }
public
i:integer;{ Public declarations }
end;
var
frmaddnewgoods: Tfrmaddnewgoods;
implementation
uses main,Unitsure, Unitshowlike, Unitshenhe1;
{$R *.DFM}
procedure Tfrmaddnewgoods.sbutsureClick(Sender: TObject);
var
tmpSql,tmpsql1,tmpsql2,soperator,good_code:String;
tmpint:integer;
checkpass:integer;
shoujia:real;
checkername:string;
begin
if (ComboBox2.Text='') or (ComboBox2.Text='请选择税率') then
begin
showmessage('请选择税率');
ComboBox2.SetFocus;
exit;
end;
if (ComboBox4.Text='') or (ComboBox4.Text='选择商品分类') then
begin
showmessage('请选择商品分类');
ComboBox4.SetFocus;
exit;
end;
if (ComboBox1.Text='') or (ComboBox1.Text='请选择等级') then
begin
showmessage('请选择商品等级');
ComboBox1.SetFocus;
exit;
end;
if (ComboBox3.Text='') or (ComboBox3.Text='请选择部门') then
begin
showmessage('请选择销售部门');
ComboBox3.SetFocus;
exit;
end;
if edpinming.text=''then
begin
showmessage('请填入品名');
edpinming.SetFocus;
exit;
end;
if edpaihao.text=''then
begin
showmessage('请填入牌号');
edpaihao.SetFocus;
exit;
end;
if edtiaoma.text=''then
begin
showmessage('请填入条码');
edtiaoma.SetFocus;
exit;
end;
if edguige.text=''then
begin
showmessage('请填入规格');
edguige.SetFocus;
exit;
end;
{if edjinjia.Text='' then
begin
showmessage('请填入进价');
edjinjia.SetFocus;
exit;
end;
if edshoujia.Text='' then
begin
showmessage('请填入售价');
edshoujia.SetFocus;
exit;
end;}
if edjiliangdanwei.Text='' then
begin
showmessage('请填入计量单位');
edjiliangdanwei.SetFocus;
exit;
end;
{if datetimetostr(tmdengjiriqi.datetime)='' then
begin
showmessage('请填入登记日期');
tmdengjiriqi.SetFocus;
exit;
end;}
if edwujiayuan.text=''then
begin
showmessage('请填入物价员');
edwujiayuan.SetFocus;
exit;
end;
application.CreateForm(Tfrmshowlike,frmshowlike);
frmshowlike.Showmodal;
if i<>1 then exit;
application.CreateForm(Tfrmsure,frmsure);
frmsure.ShowModal;
if frmsure.ModalResult<>mrOK then
begin
showmessage('您输入的条码不相同,请重新输入');
exit;
end;
{checkpass:=mainfm.checkpass(Edwujiayuan.Text,5,soperator);
if checkpass=101 then exit;}
tmpsql:='select 品名 from goodsbase where 品名='''+trim(edpinming.text)+''' and 条码='''+trim(edtiaoma.Text)+'''';
//showmessage(tmpsql);
tmpquery:=tquery.create(self);
tmpquery.databasename:='guohua1';
tmpquery.close;
tmpquery.sql.clear;
tmpquery.sql.add(tmpsql);
tmpquery.open;
if not tmpquery.eof then
begin
//good_code:=tmpquery['条码'];
showmessage('本商品已经在库中了,请重新输入!');
edpinming.setfocus;
tmpquery.free;
exit
end;
tmpsql:='select * from goodsbase where 条码='''+trim(edtiaoma.Text)+'''';
tmpquery.close;
tmpquery.sql.clear;
tmpquery.sql.add(tmpsql);
tmpquery.open;
if not tmpquery.eof then
begin
showmessage('本商品条码已使用,请重新输入!');
edtiaoma.setfocus;
tmpquery.free;
exit
end;
if Edjinjiazhekou.Text<>'' then edjinjia.text:=formatfloat('0.00',(strtofloat(edjinjia.text)*(1-strtofloat(Edjinjiazhekou.Text))));
if Edshoujiazhekou.Text<>'' then edjinjia.text:=formatfloat('0.00',(strtofloat(edshoujia.text)*(1-strtofloat(Edshoujiazhekou.Text))));
tmpsql:='insert into goodsbase(品名,牌号,条码,规格,分类,等级,厂家,进价,';
tmpsql1:='insert into Foxpart.dbf(name,barcode,price,dept,unit)';
tmpsql:=tmpsql+' 售价,销售部门,新增商品通知单来源,进货上限,当前库存,结账方式,损耗限额比,折扣,折扣标志,物价员,最后更新日期,备注,计量单位,销售更新标志,供货商,进货数量,销售数量,销售结算金额,税率,结算数量,交易更新时间,倒扣比例,进价扣率,售价扣率,选择)';
tmpsql:=tmpsql+' values('''+trim(edpinming.text)+''','''+trim(edpaihao.text)+''','''+trim(edtiaoma.text)+''','''+trim(edguige.text)+'''' ;
tmpsql1:=tmpsql1+' values('''+trim(edpinming.text)+''','''+trim(edtiaoma.text)+''',' ;
tmpsql:=tmpsql+','''+trim(combobox4.Text)+''','''+trim(combobox1.Text)+''',';
if trim(edchangjia.text)=''then
begin
tmpsql:=tmpsql+'null,';
end
else
begin
tmpsql:=tmpsql+''''+trim(edchangjia.text)+''',';
end;
if trim(edjinjia.text)='' then
begin
tmpsql:=tmpsql+'null,';
end
else
begin
tmpsql:=tmpsql+edjinjia.text+',';
end;
if trim(edshoujia.text)='' then
begin
tmpsql:=tmpsql+'null,';
tmpsql1:=tmpsql1+'null,';
end
else
begin
tmpsql:=tmpsql+edshoujia.text+',';
tmpsql1:=tmpsql1+edshoujia.text+',';
end;
tmpsql:=tmpsql+''''+trim(combobox3.Text)+''',';
if trim(edtongzhidanlaiyuan.text)='' then
begin
tmpsql:=tmpsql+'null,';
end
else
begin
tmpsql:=tmpsql+''''+trim(edtongzhidanlaiyuan.text)+''',';
end;
if trim(edjinhuoshangxian.text)='' then
begin
tmpsql:=tmpsql+'null,';
end
else
begin
tmpsql:=tmpsql+''''+trim(edjinhuoshangxian.text)+''',';
end;
if trim(eddangqiankucun.text)='' then
begin
tmpsql:=tmpsql+'null,';
end
else
begin
tmpsql:=tmpsql+''''+trim(eddangqiankucun.text)+''',';
end;
tmpsql:=tmpsql+''''+trim(Edzhifufangshi.Text)+''',';
if trim(edsunhaoxianebi.text)='' then
begin
tmpsql:=tmpsql+'null,';
end
else
begin
tmpsql:=tmpsql+''''+trim(edsunhaoxianebi.text)+''',';
end;
if edzhekou.Text<>''then
begin
tmpint:=1;
tmpsql:=tmpsql+''''+trim(edzhekou.text)+''','''+trim(inttostr(tmpint))+''',';
end
else
begin
tmpint:=0;
tmpsql:=tmpsql+'null,'''+trim(inttostr(tmpint))+''',';
end;
tmpsql:=tmpsql+''''+trim(edwujiayuan.text)+''','''+formatdatetime('yyyy-mm-dd hh:mm',tmdengjiriqi.datetime)+''',';
if edbeizhu.Text='' then
begin
tmpsql:=tmpsql+'null,';
end
else
begin
tmpsql:=tmpsql+''''+trim(edbeizhu.text)+''',';
end;
if edjiliangdanwei.Text='' then
begin
tmpsql:=tmpsql+'null,';
tmpsql1:=tmpsql1+'null,';
end
else
begin
tmpsql:=tmpsql+''''+trim(edjiliangdanwei.Text)+''',';
tmpsql1:=tmpsql1+''''+trim(edjiliangdanwei.Text)+''')';
end;
tmpsql:=tmpsql+'null,';
tmpsql:=tmpsql+''''+trim(mainfm.Querysupplier['厂家名称'])+''',0,0,0,'+combobox2.Text+',0,'''+formatdatetime('20yy-mm-dd',now)+''',';
if Eddaokoubili.Text='' then tmpsql:=tmpsql+'null,'
else tmpsql:=tmpsql+''''+trim(eddaokoubili.Text)+''',';
if Edjinjiazhekou.Text='' then tmpsql:=tmpsql+'null,'
else tmpsql:=tmpsql+''''+trim(Edjinjiazhekou.Text)+''',';
if Edshoujiazhekou.Text='' then tmpsql:=tmpsql+'null,'
else tmpsql:=tmpsql+''''+trim(Edshoujiazhekou.Text)+''',';
tmpsql:=tmpsql+'0)';
try
tmpQuery.Close;
tmpQuery.Sql.Clear; tmpQuery.Sql.Add(tmpSql);
tmpQuery.ExecSql;
application.messagebox('入库成功,新商品的信息已经成功入库!', 'MessageTitle', MB_iconinformation);
except
on EDatabaseError do
begin
application.messagebox('入库失败,请检查服务器是否连接!', 'MessageTitle', MB_iconerror);
exit;
end;
end;
shoujia:=strtofloat(edshoujia.Text);
tmpsql:='insert into pricebase(品名,牌号,条码,规格,分类,等级,厂家,进价,售价,销售部门,物价员,最后更新日期,经手人,备注,折扣)';
tmpsql:=tmpsql+'values ('''+trim(edpinming.Text)+''','''+trim(edpaihao.Text)+''','''+trim(edtiaoma.Text)+''','''+trim(edguige.Text)+''',';
tmpsql:=tmpsql+ ''''+trim(combobox4.Text)+''','''+trim(combobox1.Text)+''','''+trim(edchangjia.Text)+''','+edjinjia.Text+','+formatfloat('0.00',shoujia)+','''+trim(combobox3.Text)+''','''+trim(edwujiayuan.Text)+''','''+formatdatetime('20yy-mm-dd',tmdengjiriqi.datetime)+''',';
tmpsql:=tmpsql+''''+trim(edwujiayuan.Text)+''',';
if edbeizhu.Text='' then tmpsql:=tmpsql+'null,'
else tmpsql:=tmpsql+''''+trim(edbeizhu.Text)+''',';
tmpsql:=tmpsql+'null)';
tmpquery.Close;
tmpquery.SQL.Clear;
tmpquery.SQL.Add(tmpsql);
tmpquery.Prepare;
tmpquery.ExecSQL;
{ try
tmpQuery.DatabaseName:='e:\guohua\new\';
tmpQuery.Close;
tmpQuery.Sql.Clear;
tmpQuery.Sql.Add(tmpSql1);
tmpQuery.ExecSql;
application.messagebox('入库成功,新商品的信息已经成功写入pos库!', 'MessageTitle', MB_iconinformation);
except
on EDatabaseError do
begin
application.messagebox('入库失败,请检查服务器是否连接!', 'MessageTitle', MB_iconerror);
tmpsql:='delete from goodsbase where 条码='''+trim(edtiaoma.text)+'''';
tmpquery.Free;
tmpquery.Create(self);
tmpquery.DatabaseName:='guohua1';
tmpquery.Close;
tmpquery.sql.Clear;
tmpquery.SQL.Add(tmpsql);
tmpquery.ExecSQL;
end;
end;}
edpinming.Text:='';
edpaihao.Text:='';
edtiaoma.Text:='';
edguige.Text:='';
edjinjia.Text:='';
edshoujia.Text:='';
tmpquery.Free;
end;
procedure Tfrmaddnewgoods.SpeedButton1Click(Sender: TObject);
begin
//winexec('e:\guohua\new\imppart.exe foxpart.dbf part.dbf',1);
//if fileexists('e:\guohua\new\part.dbf') then
//begin
//copyfile('e:\guohua\new\part.dbf','\\server\posfile\database\part.dbf',false);
frmaddnewgoods.Close;
//end
//else
//showmessage('The file doesn`t exis');
end;
procedure Tfrmaddnewgoods.FormCreate(Sender: TObject);
var
tmpsql:string;
begin
tmdengjiriqi.DateTime:=now;
edsunhaoxianebi.Text:='0.006';
tmpsql:='select * from deptnamebase';
tmpquery.Close;
tmpquery.SQL.Clear;
tmpquery.SQL.Add(tmpsql);
tmpquery.Prepare;
tmpquery.Open;
combobox3.Items.Clear;
while not tmpquery.Eof do
begin
combobox3.Items.Add(tmpquery['部门名称']);
tmpquery.Next;
end;
tmpsql:='select * from goodclassingbase';
tmpquery.Close;
tmpquery.SQL.Clear;
tmpquery.SQL.Add(tmpsql);
tmpquery.Prepare;
tmpquery.Open;
combobox4.Items.Clear;
while not tmpquery.Eof do
begin
combobox4.Items.Add(tmpquery['商品名称']);
tmpquery.Next;
end
end;
procedure Tfrmaddnewgoods.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_f1 then ;
end;
procedure Tfrmaddnewgoods.ComboBox3Click(Sender: TObject);
var
tmpsql:string;
begin
if (ComboBox3.Text='') or (ComboBox3.Text='请选择部门') then exit
else
begin
tmpsql:='select max(right(条码,13)) as a from goodsbase where 销售部门='''+trim(ComboBox3.Text)+'''';
with query1 do
begin
close;
sql.Clear;
sql.Add(tmpsql);
prepare;
open;
if query1['a']=null then edit1.Text:='0'
else Edit1.Text:=query1['a'];
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -