📄 uthgl.pas
字号:
adoquery2.post;
except
if adoquery1.State in[dsinsert] then
begin
strsql:='delete thgl_detail from where thdh='+''''+trim(dbedit1.Text)+''''; //如果有异常则应清除明细表中的数据
adodel(adoquery3,strsql);
adoquery3.Close;
adoquery1.Close;
adoquery1.Open;
end;
showmessage('刷新数据库失败!');
end;
adoquery1.Close;
adoquery1.Open;
isedit:=false;
isactive;
shdh:='';
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn3.Enabled:=false;
end;
procedure Tfrmthgl.RzBitBtn7Click(Sender: TObject);
begin
frmcx:=tfrmcx.Create(self);
frmcx.adocx:=adoquery2;
frmcx.ShowModal;
adoquery2:=frmcx.adocx;
ADOquery2.Requery();
end;
procedure Tfrmthgl.RzBitBtn8Click(Sender: TObject);
begin
if adoquery4.State in[dsinsert] then
begin
strsql:='delete from thgl_detail where thdh='+''''+trim(dbedit1.Text)+'''';
adodel(adoquery3,strsql);
adoquery3.Close;
adoquery1.Close;
adoquery1.open;
end;
isedit:=false;
isactive;
RzBitBtn1.Enabled:=true;
RzBitBtn2.Enabled:=true;
RzBitBtn3.Enabled:=false;
adoquery2.CancelUpdates;
end;
procedure Tfrmthgl.RzBitBtn9Click(Sender: TObject);
begin
adoquery1.Close;
adoquery2.Close;
adoquery3.Close;
close;
end;
procedure Tfrmthgl.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tfrmthgl.DBEdit4Enter(Sender: TObject);
begin
RzToolbarButton3.Visible:=true;
end;
procedure Tfrmthgl.TabSheet2Enter(Sender: TObject);
begin
if adoquery1.Recordset.EOF and adoquery1.Recordset.BOF then exit;
edit1.Text:=adoquery1.fieldbyname('单价').AsString;
edit2.Text:=adoquery1.fieldbyname('数量').AsString;
edit1.SetFocus;
end;
procedure Tfrmthgl.edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#46,#8] ) then
key:=#0;
end;
procedure Tfrmthgl.edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#46,#8] ) then
key:=#0;
end;
procedure Tfrmthgl.RzBitBtn4Click(Sender: TObject);
begin
if (trim(edit1.Text)='0') or (trim(edit2.Text)='0') then
begin
showmessage('单价或数量不能为0');
exit;
end;
if jcsfsc then
begin
showmessage('该订单说在的需求单已经结算,不能再修改');
exit;
end;
try
strsql:='update thgl_detail set dj='+trim(edit1.Text)+',sl='+
trim(edit2.Text)+' where thdh='+''''+
adoquery1.fieldbyname('退货单号').AsString+
''''+'and wldm='+''''+adoquery1.fieldbyname('物料代码').AsString+'''';
adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Add(strsql);
adoquery3.ExecSQL;
adoquery3.Close;
if adoquery1.Active then adoquery1.Close;
adoquery1.Open;
except
showmessage('更新退货单失败');
end;
RzPageControl1.ActivePageIndex:=0;
end;
procedure Tfrmthgl.RzBitBtn6Click(Sender: TObject);
begin
if not qxjc(userid,'thd_del') and (username<>trim(dbedit4.Text)) then exit;
if adoquery2.Recordset.EOF and adoquery2.Recordset.BOF then exit;
if messagebox(handle,'是否真的要删除该退货单吗?','警告',mb_yesno+mb_iconquestion)=idno then exit;
try
strsql:='exec p_thd_del '+trim(dbedit1.Text);
adodel(adoquery3,strsql);
adoquery2.Delete;
adoquery2.Requery();
adoquery3.Close;
adoquery1.close;
adoquery1.Open;
except
showmessage('删除退货单失败');
end;
end;
procedure Tfrmthgl.RzBitBtn12Click(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=0;
end;
procedure Tfrmthgl.RzMenuToolbarButton1Click(Sender: TObject);
begin
frmgyslb:=tfrmgyslb.Create(self);
frmgyslb.ShowModal;
dbedit3.Text:=lbname;
end;
procedure Tfrmthgl.DBEdit1Change(Sender: TObject);
begin
if trim(dbedit1.Text)='' then exit;
strsql:='select * from view_thgl where 退货单号='+''''+trim(dbedit1.Text)+'''';
adoexect(adoquery1,strsql);
end;
procedure Tfrmthgl.DBGridEh1DblClick(Sender: TObject);
begin
RzPageControl1.ActivePageIndex:=1;
end;
procedure Tfrmthgl.RzToolbarButton2Click(Sender: TObject);
begin
lbname:=''; //lbname 用来传递供应商代码
title:=''; //title 用来传递联系人 // strpath 用来传递供应商名称
if not isedit then exit;
frmgyslb:=tfrmgyslb.Create(self);
frmgyslb.ShowModal;
dbedit3.Text:=lbname;
dbedit14.Text:=title;
end;
procedure Tfrmthgl.RzToolbarButton3Click(Sender: TObject);
begin
strhthm:='';
title:='';
gysdm:='';
bb:='';
if not isedit then exit;
frmshdh_lb:=tfrmshdh_lb.Create(self);
frmshdh_lb.ShowModal ;
dbedit4.Text:=strhthm;
dbedit3.Text:=gysdm;
dbedit2.Text:=title;
dbcombobox2.Text:=bb;
end;
procedure Tfrmthgl.RzBitBtn5Click(Sender: TObject);
begin
if adoquery4.Active then adoquery4.Close;
adoquery4.Parameters.ParamByName('thdh').Value:=trim(dbedit1.Text);
adoquery4.Open;
form3.frDBDataSet1.dataset:=adoquery1;
form3.frDBDataSet2.dataset:=adoquery4;
form3.frReport1.DoublePass := True;
form3.frReport1.Clear;
form3.frReport1.LoadFromFile(strpath+'/report/thdh.frf');
frVariables['username']:=username;
form3.frReport1.Preview := Form3.frPreview1;
if form3.frReport1.PrepareReport then
begin
form3.frReport1.ShowPreparedReport;
end;
form3.ShowModal;
end;
procedure Tfrmthgl.N1Click(Sender: TObject);
begin
if not qxjc(userid,'thd_edit') and (username<>trim(dbedit4.Text)) then exit;
shdh:=trim(dbedit4.Text);
frmshd_wllb:=tfrmshd_wllb.Create(self);
frmshd_wllb.ShowModal;
if wldm='' then exit;
try
strsql:='select * from thgl_detail where thdh='+''''+trim(dbedit1.Text)+''''+
'and wldm='+''''+wldm+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.EOF and adoquery3.Recordset.BOF) then
begin
messagebox(handle,'此物料在该退货单已经存在 ','信息',mb_ok+mb_iconinformation);
exit;
end;
adoquery3.Append;
adoquery3.FieldByName('wldm').AsString:=wldm;
adoquery3.FieldByName('sl').Value:=xql;
adoquery3.FieldByName('dj').Value:=unitprice;
adoquery3.FieldByName('thdh').AsString:=trim(dbedit1.Text);
adoquery3.Post;
except
showmessage('添加退货物料时出错!');
end;
strhthm:='';
adoquery3.Close;
adoquery1.Close;
adoquery1.Open;
adoquery1.First;
RzPageControl1.ActivePageIndex:=1;
end;
procedure Tfrmthgl.dtp2Exit(Sender: TObject);
begin
csh;
end;
procedure Tfrmthgl.dtp3Exit(Sender: TObject);
begin
csh;
end;
procedure Tfrmthgl.N2Click(Sender: TObject);
begin
if not qxjc(userid,'thd_edit') and (username<>trim(dbedit4.Text)) then exit;
strsql:='delete from thgl_detail where thdh='+''''+trim(adoquery1.fieldbyname('退货单号').AsString)+
''''+'and wldm='+''''+trim(adoquery1.fieldbyname('物料代码').AsString)+'''';
adodel(adoquery3,strsql);
adoquery3.Close;
adoquery1.Close;
adoquery1.Open;
end;
procedure Tfrmthgl.PopupMenu1Popup(Sender: TObject);
begin
if adoquery1.Recordset.EOF and adoquery1.Recordset.bof then
n2.Enabled:=false
else
n2.Enabled:=true;
end;
procedure Tfrmthgl.RzToolbarButton1Click(Sender: TObject);
begin
if not isedit then exit;
emplyer:='';
frmemplyer_lb:=tfrmemplyer_lb.create(self);
frmemplyer_lb.showmodal;
dbedit6.Text:=emplyer;
end;
procedure Tfrmthgl.DBGridEh1TitleClick(Column: TColumnEh);
begin
Compositor(adoquery1,Column);
end;
procedure Tfrmthgl.DBEdit14Enter(Sender: TObject);
begin
RzToolbarButton2.Visible:=true;
end;
procedure Tfrmthgl.DBEdit14Exit(Sender: TObject);
begin
RzToolbarButton2.Visible:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -