📄 unitprodstock.~pas
字号:
frmProdprtkehu.Table1.Open;
with frmProdprtkehu do
begin
QRLabel4.caption:=Edit2.text;
QRLabel6.caption:=datetimetostr(date);
QuickRep1.preview;
end; //with
end;
procedure TfrmProdStock.PageControl1Change(Sender: TObject);
begin
DateTimePicker1.date:=date-30;
DateTimePicker2.date:=date;
Edit2.text:='';
end;
procedure TfrmProdStock.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
dm.tabManufacturer.filtered:=false;
frmProdprtkehu.Table1.close;
dm.tabManufacturer.close;
// DBEdit1.color:=clwindow;
Edit2.text:='';
Query2.Close;
Table2.close;
dm.dsProdStock.dataset:=dm.tabProdStock;
dm.qryExe.active:=false;
dm.tabProdStock.active:=false;
table1.active:=false;
query1.active:=false;
if frmProdVoucher.kuw<>1 then
frmProdMain.show;
frmProdVoucher.kuw:=0;
end;
procedure TfrmProdStock.Button2Click(Sender: TObject);
var
nam,fig,vnote,bat,vout,id:string;
vdate:Tdate;
num:integer;
jia,vbox:real;
begin
Table2.Close;
if Edit2.text='' then
begin
showmessage('请输入客户名称!');
exit;
end;
with Query3 do //清客户表
begin
close;
sql.clear;
sql.add('Delete from kehu ');
execsql;
end; //with
with Query2 do
begin
close;
sql.Clear;
sql.Add('select * from ProdOutCard');
sql.Add('where (Note like :v_from or Note like :v_f or Note like :f_v) and ManufacturerID=:khID');
sql.Add('order by OutDate desc');
parambyname('v_from').asstring:='%'+'未'+'%';
parambyname('v_f').asstring:='%'+'欠'+'%';
parambyname('f_v').asstring:='%'+'没'+'%';
//parambyname('v_to').asdatetime:=DateTimePicker2.date;
parambyname('khID').asstring:=Edit1.text;
open;
if recordcount=0 then
begin
showmessage('无记录或帐目全部结清');
exit;
end;
first;
//showmessage('Edit1.text');
while not eof do
begin
id:=fieldbyname('ProdID').asstring;
vdate:=fieldbyname('OutDate').asdatetime;
vnote:=fieldbyname('Note').asstring;
bat:=fieldbyname('ProcBatID').asstring;
num:=fieldbyname('Number').asinteger;
vbox:=fieldbyname('Box').asfloat;
vout:=fieldbyname('OuterID').asstring;
Query3.close;
Query3.sql.Clear;
Query3.sql.Add('select * from ProdDictionary');
Query3.sql.Add('where ProdID=:pID ');
Query3.parambyname('pID').asstring:=id;
Query3.open;
nam:=Query3.fieldbyname('ProdName').asstring;
fig:=Query3.fieldbyname('FigID').asstring;
jia:=Query3.fieldbyname('SellPrice').asfloat;
Query3.close;
Query3.sql.Clear;
Query3.sql.Add('select * from CommStaff');
Query3.sql.Add('where StaffID=:pID ');
Query3.parambyname('pID').asstring:=vout;
Query3.open;
vout:=Query3.fieldbyname('StaffName').asstring;
Table2.open;
Table2. insert;
Table2.fieldbyname('ProdFig').asstring:=fig;
Table2.fieldbyname('ProdName').asstring:=nam;
Table2.fieldbyname('OutDate').asDateTime:=vdate;
Table2.fieldbyname('Number').asinteger:=num;
Table2.fieldbyname('Box').asfloat:=vbox;
Table2.fieldbyname('ProcBat').asstring:=bat;
Table2.fieldbyname('Note').asstring:=vnote;
Table2.fieldbyname('Outer').asstring:=vout;
Table2.fieldbyname('danjia').asfloat:=jia;
Table2.fieldbyname('jine').asfloat:=strtofloat(formatfloat('0.00',num*jia));
Table2.Post;
next;
end;
end; //with
end;
{
procedure TfrmProdStock.dbEdit2Enter(Sender: TObject);
begin
if pt<>1 then
begin
showmessage('请先按“开始填单”按钮或“修改”按钮!');
exit;
end;
frmCommQueryID.top:=DBEdit2.Height+DBEdit2.top;
frmCommQueryID.left:=DBEdit2.left;
//Table3.Close;
DBEdit2.color:=claqua;
DBEdit2.setfocus;
frmCommQueryID.PageControl1.ActivePageIndex:=2;
dm.tabManufacturer.filtered:=false;
dm.tabManufacturer.open;
frmCommQueryID.ActiveControl:=frmCommQueryID.dbgManufacturer;
if frmCommQueryID.showmodal = mrok then
begin
//DBEdit2.SetFocus;
DBEdit2.text:=dm.tabManufacturer.fieldbyname('Manufacturer').asstring;
Edit3.text:=DBEdit2.text;
end; //if
end;
}
procedure TfrmProdStock.Button3Click(Sender: TObject);
begin
// dbedit3.Text:='';
//dbedit4.Text:='';
// dbedit2.Text:='';
DataSource2.DataSet:=Table3;
BitBtn5.Enabled:=false;
Button4.Enabled:=true;
Button7.Enabled:=false;
Button6.Enabled:=false;
DBGrid2.Enabled:=false;
table3.active:=true;
pt:=1;
//table3.Last;
Table3.append;;
table3.disablecontrols;
dbedit2.SetFocus;
end;
procedure TfrmProdStock.Button4Click(Sender: TObject);
begin
if (Form3.zdyGetmaterCheckDate >= DateTimePicker3.date) then
begin
showmessage('您选择的结帐日期早于上次结帐日期!'+#13+#13+'上次结帐日期是:'+datetostr(Form3.zdyGetmaterCheckDate));
exit;
end;
if pt<>1 then
begin
showmessage('请先按“开始填单”按钮或“修改”按钮!');
exit;
end;
if (DBEdit2.text='') or (DBEdit3.text='') then
begin
showmessage('请输入客户名称、金额!');
exit;
end;
DBGrid2.Enabled:=true;
table3.FieldByName('skrq').asdatetime:=DateTimePicker3.date;
table3.post;
BitBtn5.Enabled:=true;
table3.Filtered:=false;
Edit3.Text:=DBEdit2.Text;
DataSource2.DataSet:=Query5;
with Query5 do
begin
close;
sql.Clear;
sql.Add('select * from Prodzmb.DB');
sql.Add('where khmc=:v_fro');
parambyname('v_fro').asstring:=Edit3.Text;
open;
end;
//Edit3.text:='';
Button4.Enabled:=false;
Button7.Enabled:=true;
Button3.Enabled:=true;
Button6.Enabled:=true;
DBEdit2.text:='';
DBEdit3.text:='';
DBEdit4.text:='';
Edit3.Text:='';
table3.enablecontrols;
// table3.Close;
// table3.open;
st:='';
pt:=0;
end;
procedure TfrmProdStock.DBEdit3Enter(Sender: TObject);
begin
if pt<>1 then
begin
showmessage('请先按“开始填单”按钮或“修改记录”按钮!');
Button3.SetFocus;
exit;
end;
end;
procedure TfrmProdStock.Button5Click(Sender: TObject);
begin
frmProdStock.Hide;
form3.ShowModal;
end;
procedure TfrmProdStock.Button7Click(Sender: TObject);
begin
if st<>'a' then
begin
showmessage('请选择要删除的记录!');
exit;
end;
if messagedlg('会删除所选记录 要继续吗?',mtWarning,[mbYes,mbNo],0) = mrNo then
exit;
with Query5 do
begin
close;
sql.Clear;
sql.Add('delete from Prodzmb.DB');
sql.Add('where khmc=:v_fro and skrq=:vv and je=:jj');
parambyname('v_fro').asstring:=Edit3.Text;
parambyname('vv').asdate:=riqiri;
parambyname('jj').asfloat:=jie;
execsql;
end;
with Query5 do
begin
close;
sql.Clear;
sql.Add('select * from Prodzmb.DB');
sql.Add('where khmc=:v_fro ');
parambyname('v_fro').asstring:=Edit3.Text;
open;
end;
{
Table3.open;
if Table3.recordcount = 0 then
begin
showmessage('无记录可删除!');
exit;
end;
Table3.delete;}
end;
procedure TfrmProdStock.Button6Click(Sender: TObject);
begin
if st<>'a' then
begin
showmessage('请选择要修改的记录!');
exit;
end;
pt:=1;
table3.Filtered:=true;
table3.open;
DataSource2.DataSet:=Table3;
Button7.Enabled:=false;
DateTimePicker3.date:=table3.FieldByName('skrq').asdatetime;
Button4.Enabled:=true;
Button3.Enabled:=false;
//table3.Refresh;
table3.edit;
{
if DBEdit2.text='' then
begin
showmessage('请输入客户名称!');
exit;
end;
with table3 do
begin
filter:= format('khmc = ''%S''',[DBEdit2.text]);
filtered:=true;
close;
open;
end; //with
}
end;
procedure TfrmProdStock.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end; //if
end;
procedure TfrmProdStock.BitBtn5Click(Sender: TObject);
begin
Query5.Close;
table3.Close;
// frmProdMain.show;
close;
end;
procedure TfrmProdStock.Edit2Click(Sender: TObject);
begin
table2.Close;
Edit2.text:='';
frmCommQueryID.top:=200;//DBEdit1.Height+DBEdit1.top;
frmCommQueryID.left:=200;//DBEdit1.left;
//DBEdit1.color:=claqua;
frmCommQueryID.PageControl1.ActivePageIndex:=2;
frmCommQueryID.ActiveControl:=frmCommQueryID.dbgManufacturer;
if frmCommQueryID.showmodal = mrok then
begin
Edit2.text:=frmCommQueryID.Query4.fieldbyname('Manufacturer').asstring;
Edit1.text:=frmCommQueryID.Query4.fieldbyname('ManufacturerID').asstring;
end; //if
DBGrid1.setfocus;
// showmessage(Edit1.text);
end;
procedure TfrmProdStock.DBEdit2Click(Sender: TObject);
begin
if pt<>1 then
begin
showmessage('请先按“开始填单”按钮或“修改记录”按钮!');
Button3.SetFocus;
exit;
end;
frmCommQueryID.top:=100;
frmCommQueryID.left:=80;
//Table3.Close;
//DBEdit2.color:=claqua;
frmCommQueryID.PageControl1.ActivePageIndex:=2;
frmCommQueryID.ActiveControl:=frmCommQueryID.dbgManufacturer;
if frmCommQueryID.showmodal = mrok then
begin
//DBEdit2.SetFocus;
DBEdit2.text:=frmCommQueryID.Query4.fieldbyname('Manufacturer').asstring;
Edit3.text:=DBEdit2.text;
end; //if
// DateTimePicker3.SetFocus;
{
frmCommQueryID.top:=200;//DBEdit1.Height+DBEdit1.top;
frmCommQueryID.left:=200;//DBEdit1.left;
Table3.Close;
//DBEdit1.color:=claqua;
DBEdit2.setfocus;
frmCommQueryID.PageControl1.ActivePageIndex:=2;
dm.tabManufacturer.filtered:=false;
dm.tabManufacturer.open;
frmCommQueryID.ActiveControl:=frmCommQueryID.dbgManufacturer;
if frmCommQueryID.showmodal = mrok then
begin
Edit3.SetFocus;
Edit3.text:=dm.tabManufacturer.fieldbyname('ManufacturerID').asstring;
with dm.tabManufacturer do
begin
filter:=format('ManufacturerID = ''%S''',[Edit3.text]);
filtered:=true;
close;
open;
end; //with
DBEdit2.setfocus;
DBEdit2.text:=dm.tabManufacturer.fieldbyname('Manufacturer').asstring;
dm.tabManufacturer.filtered:=false;
end; //if
dm.tabManufacturer.close;
DBGrid2.setfocus; }
end;
procedure TfrmProdStock.Edit3Click(Sender: TObject);
begin
query5.Close;
Edit3.text:='';
frmCommQueryID.top:=120;
frmCommQueryID.left:=220;
//Table3.Close;
// Edit.color:=claqua;
Edit3.setfocus;
frmCommQueryID.PageControl1.ActivePageIndex:=2;
frmCommQueryID.ActiveControl:=frmCommQueryID.dbgManufacturer;
if frmCommQueryID.showmodal = mrok then
begin
Edit3.text:=frmCommQueryID.Query4.fieldbyname('Manufacturer').asstring;
end; //if
end;
procedure TfrmProdStock.Button8Click(Sender: TObject);
begin
with Query5 do
begin
close;
sql.Clear;
sql.Add('select * from Prodzmb.DB');
sql.Add('where khmc=:v_fro and skrq>=:qr and skrq<=:ks');
parambyname('v_fro').asstring:=Edit3.Text;
parambyname('qr').asdate:=DateTimePicker4.Date;
parambyname('ks').asdate:=DateTimePicker5.Date;
open;
if recordcount=0 then
begin
showmessage('无记录!');
exit;
end;
DateTimePicker3.date:=FieldByName('skrq').asdatetime;
end;
end;
procedure TfrmProdStock.TabSheet3Enter(Sender: TObject);
begin
Edit3.Text:='';
end;
procedure TfrmProdStock.DBEdit4Enter(Sender: TObject);
begin
if pt<>1 then
begin
showmessage('请先按“开始填单”按钮或“修改记录”按钮!');
Button3.SetFocus;
exit;
end;
frmCommQueryID.top:=100;
frmCommQueryID.left:=80;
FrmcommqueryID.PageControl1.ActivePageIndex:=0;
FrmcommqueryID.ActiveControl:=FrmcommqueryID.estaffID;
if FrmcommqueryID.showmodal=mrok then
begin
DBEdit4.text:=FrmcommqueryID.query3.fieldbyname('staffname').asstring;
end;
//DBEdit3.setfocus;
end;
procedure TfrmProdStock.DBGrid2CellClick(Column: TColumn);
begin
st:='a';
Edit3.Text:=query5.fieldbyname('khmc').asstring;
DateTimePicker3.date:=query5.fieldbyname('skrq').asdatetime;
jie:=query5.fieldbyname('je').asfloat;
riqiri:=query5.fieldbyname('skrq').asdatetime;
end;
procedure TfrmProdStock.Table3FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
if (table3.FieldByName('khmc').asstring =Edit3.Text) and (table3.FieldByName('je').asfloat=jie)
and (table3.FieldByName('skrq').asdatetime=riqiri) then
Accept:=true
else
Accept:=false;
end;
procedure TfrmProdStock.TabSheet2Show(Sender: TObject);
begin
query5.close;
table2.close;
DateTimePicker4.Date:=date-30;
DateTimePicker5.Date:=date;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -