📄 wzck.pas
字号:
query_kc.DisableControls;
Query_kc.close;
Query_kc.UnPrepare;
Query_kc.sql.Clear;
if pos('中药',ComboBox1.text)>0 then
Query_kc.sql.Add('select cd,pm,dw,gg,kcs,dj,ph,jhrq,jgdw,ck_bh,wp_bm,bh,jj from '+table_name[combobox1.itemindex])
else
Query_kc.sql.Add('select cd,pm,dw,gg,kcs,dj,bz,ph,jhrq,pzwh,sb,yxq,ck_bh,wp_bm,bh,jj from '+table_name[combobox1.itemindex]);
query_kc.sql.Add(' where bh='''+ypbh+'''');
Query_kc.Prepare;
Query_kc.open;
Query_kc.FieldByName('ck_bh').DisplayLabel:='仓库编号';
Query_kc.FieldByName('bh').DisplayLabel:='编号';
Query_kc.FieldByName('pm').DisplayLabel:='物品名称';
Query_kc.FieldByName('wp_bm').DisplayLabel:='物品编码';
Query_kc.FieldByName('gg').DisplayLabel:='规格';
Query_kc.FieldByName('kcs').DisplayLabel:='库存数';
Query_kc.FieldByName('jhrq').DisplayLabel:='进货日期';
Query_kc.FieldByName('dw').DisplayLabel:='单位';
Query_kc.FieldByName('jj').DisplayLabel:='进价';
Query_kc.FieldByName('dj').DisplayLabel:='单价';
Query_kc.FieldByName('ph').DisplayLabel:='批号';
if pos('中药',combobox1.text)>0 then
Query_kc.FieldByName('jgdw').DisplayLabel:='加工单位'
else
begin
Query_kc.FieldByName('sb').DisplayLabel:='商标';
Query_kc.FieldByName('yxq').DisplayLabel:='有效期';
Query_kc.FieldByName('pzwh').DisplayLabel:='批准文号';
Query_kc.FieldByName('bz').DisplayLabel:='包装';
end;
Query_kc.FieldByName('cd').DisplayLabel:='产地';
query_kc.EnableControls;
sl:=strtofloat(Edit_sl.text);
kcs:=Query_kc.FieldByName('kcs').asfloat;
if Edit_ghdw.Text='' then
begin
Application.MessageBox('请填写购货单位','提示', MB_OK+MB_ICONINFORMATION);
exit;
end;
if combobox_bm.Text='' then
begin
Application.MessageBox('请选择部门名称','提示', MB_OK+MB_ICONINFORMATION);
exit;
end;
if combobox_ywy.Text='' then
begin
Application.MessageBox('业务员','提示', MB_OK+MB_ICONINFORMATION);
exit;
end;
if (Edit_sl.Text='') or (strtofloat(Edit_sl.Text)=0.0) then
begin
Application.MessageBox('请填写数量','提示', MB_OK+MB_ICONINFORMATION);
exit
end;
if sl>kcs then
begin
Application.MessageBox('库存量不足','提示', MB_OK+MB_ICONINFORMATION);
exit;
end;
Query_ckd.close;
Query_ckd.UnPrepare;
Query_ckd.sql.Clear;
Query_ckd.sql.Add('select * from fpxxb');
Query_ckd.sql.Add(' where fp_ph='''+Label_ckdh.Caption+'''');
Query_ckd.Prepare;
Query_ckd.open;
Query_ckd.Edit;
if Query_ckd.Eof then
begin
Query_ckd.Append;
Query_ckd.FieldByName('fp_ph').asstring:=Label_ckdh.Caption;
Query_ckd.FieldByName('kh_mc').asstring:=Trim(Edit_ghdw.Text);
Query_ckd.FieldByName('kprq').asstring:=datetostr(DateTimePicker2.Date);
Query_ckd.FieldByName('czy_xm').asstring:=Label_zdr.Caption;
Query_ckd.FieldByName('ywy_xm').asstring:=combobox_ywy.Text;
end;
Query_kc.Edit;
Query_kc.FieldByName('kcs').asfloat:=Query_kc.FieldByName('kcs').asfloat-sl;
Query_xs.Append;
Query_xs.FieldByName('xs_bh').asstring:=Query_kc.fieldbyname('ck_bh').asstring+formatdatetime('yyyymmddhhmmss',Frmmain.GetServerTime);
Query_xs.FieldByName('pm').asstring:=Query_kc.fieldbyname('pm').asstring;
Query_xs.FieldByName('cd').asstring:=Query_kc.fieldbyname('cd').asstring;
Query_xs.FieldByName('gg').asstring:=Query_kc.fieldbyname('gg').asstring;
Query_xs.FieldByName('dw').asstring:=Query_kc.fieldbyname('dw').asstring;
Query_xs.FieldByName('jj').asstring:=Query_kc.fieldbyname('jj').asstring;
Query_xs.FieldByName('dj').asfloat:=dj;
Query_xs.FieldByName('sl').asstring:=Edit_sl.Text;
Query_xs.FieldByName('je').asfloat:=dj*Strtofloat(Edit_sl.text);
Query_xs.FieldByName('ph').asstring:=Query_kc.fieldbyname('ph').asstring;
Query_xs.FieldByName('ck_bh').asstring:=Query_kc.fieldbyname('ck_bh').asstring;
Query_xs.FieldByName('fp_ph').asstring:=Label_ckdh.Caption;
if pos('中药',combobox1.Text)=0 then
begin
Query_xs.FieldByName('yxq').asstring:=Query_kc.fieldbyname('yxq').asstring;
Query_xs.FieldByName('sb').asstring:=Query_kc.fieldbyname('sb').asstring;
Query_xs.FieldByName('pzwh').asstring:=Query_kc.fieldbyname('pzwh').asstring;
end;
Query_xs.FieldByName('kh_mc').asstring:=trim(Edit_ghdw.Text);
Query_xs.FieldByName('bm_mc').asstring:=combobox_bm.Text;
Query_xs.FieldByName('ywy_xm').asstring:=combobox_ywy.Text;
Query_xs.FieldByName('xsrq').asstring:=datetostr(DateTimePicker2.date);
Query_xs.FieldByName('wp_bm').asstring:=Query_kc.fieldbyname('wp_bm').asstring;
Try
Database.StartTransaction;
Query_ckd.Post;
Query_xs.Post;
Query_kc.Post;
Database.Commit;
Except
Database.Rollback;
Application.MessageBox('数据提交错误','提示', MB_OK+MB_ICONINFORMATION);
exit;
End;
tmp_table.open;
tmp_table.Append;
tmp_table.FieldByName('pm').asstring:=Query_kc.fieldbyname('pm').asstring;
tmp_table.FieldByName('sl').asstring:=Edit_sl.Text;
tmp_table.FieldByName('dj').asfloat:=dj;
tmp_table.FieldByName('je').asfloat:=dj*strtofloat(Edit_sl.text);
tmp_table.FieldByName('ck_bh').asstring:=Query_kc.fieldbyname('ck_bh').asstring;
tmp_table.FieldByName('gg').asstring:=Query_kc.fieldbyname('gg').asstring;
tmp_table.FieldByName('dw').asstring:=Query_kc.fieldbyname('dw').asstring;
if pos('中药',combobox1.Text)=0 then
begin
tmp_table.FieldByName('yxq').asstring:=Query_kc.fieldbyname('yxq').asstring;
tmp_table.FieldByName('sb').asstring:=Query_kc.fieldbyname('sb').asstring;
tmp_table.FieldByName('pzwh').asstring:=Query_kc.fieldbyname('pzwh').asstring;
R:=frac(strtofloat(Edit_sl.Text)/Query_kc.fieldbyname('bz').asfloat);
if r=0.0 then
tmp_table.FieldByName('js').asfloat:=strtofloat(Edit_sl.Text) / Query_kc.fieldbyname('bz').asfloat
else
tmp_table.FieldByName('js').asfloat:=0;
end;
tmp_table.FieldByName('ph').asstring:=Query_kc.fieldbyname('ph').asstring;
tmp_table.FieldByName('cd').asstring:=Query_kc.fieldbyname('cd').asstring;
tmp_table.Post;
jetotal:=jetotal+tmp_table.FieldByName('je').asfloat;
Label_zje.Caption:=format('¥%.2f',[jetotal]);
Edit_sl.Clear;
Edit_dj.Clear;
Edit_bm.Clear;
Edit_bm.SetFocus;
end;
end;
procedure TFrmwzck.BitBtn2Click(Sender: TObject);
begin
Frmwzck.OnShow(Self);
bitbtn4.Enabled:=true;
end;
procedure TFrmwzck.BitBtn1Click(Sender: TObject);
var hjtotal:real;
begin
if (not tmp_table.Bof) or (not tmp_table.Eof) then
begin
Query_ckxx.close;
Query_ckxx.UnPrepare;
Query_ckxx.sql.Clear;
Query_ckxx.sql.Add('select * from ckxxb');
Query_ckxx.Prepare;
Query_ckxx.open;
Query_ckxx.First;
while not Query_ckxx.Eof do
begin
tmp_query.close;
tmp_query.UnPrepare;
tmp_query.sql.Clear;
tmp_query.sql.Add('select * from '+tmp_table.TableName);
tmp_query.sql.Add(' where ck_bh='''+Query_ckxx.fieldbyname('ck_bh').asstring+'''');
tmp_query.sql.Add(' order by ck_bh,pm');
tmp_query.Prepare;
tmp_query.open;
if not tmp_Query.Eof then
begin
Query_sum.close;
Query_sum.UnPrepare;
Query_sum.sql.Clear;
Query_sum.sql.Add('select sum(je) as hj from '+tmp_table.TableName);
Query_sum.sql.Add(' where ck_bh='''+Query_ckxx.fieldbyname('ck_bh').asstring+'''');
Query_sum.Prepare;
Query_sum.open;
hjtotal:=query_sum.fieldbyname('hj').asfloat;
Frmreport.quickrep1.DataSet:=tmp_Query;
Frmreport.QRDBText_cd.DataSet:=tmp_Query;
Frmreport.QRDBText_pm.DataSet:=tmp_Query;
Frmreport.QRDBText_gg.DataSet:=tmp_Query;
Frmreport.QRDBText_dw.DataSet:=tmp_Query;
Frmreport.QRDBText_sl.DataSet:=tmp_Query;
Frmreport.QRDBText_dj.DataSet:=tmp_Query;
Frmreport.QRDBText_je.DataSet:=tmp_Query;
Frmreport.QRDBText_ph.DataSet:=tmp_Query;
Frmreport.QRDBText_pzwh.DataSet:=tmp_Query;
Frmreport.QRDBText_yxq.DataSet:=tmp_Query;
Frmreport.QRDBText_js.DataSet:=tmp_Query;
Frmreport.QRlabel_ghdw.Caption:=trim(edit_ghdw.Text);
Frmreport.QRlabel_ck.Caption:=Query_ckxx.fieldbyname('ck_mc').asstring;
Frmreport.QRlabel_xsrq.Caption:=formatdatetime('yyyy-mm-dd',DateTimePicker2.date);
Frmreport.QRLabel_ph.Caption:=Label_ckdh.Caption;
Frmreport.QRlabel_czy.Caption:=Label_zdr.Caption;
Frmreport.QRlabel_bm.Caption:=combobox_bm.Text;
Frmreport.QRlabel_ywy.Caption:=combobox_ywy.Text;
Frmreport.QRlabel_hj.Caption:=format('¥%.2f',[hjtotal]);
Frmreport.QRlabel_zje.Caption:=Label_zje.Caption;
Frmreport.QuickRep1.page.Length:=197+tmp_query.RecordCount*28;
Frmreport.QuickRep1.Prepare;
//Frmreport.QuickRep1.Preview;
Frmreport.QuickRep1.print;
end;
Query_ckxx.Next;
end;
edit_sl.Clear;
Edit_bm.Clear;
Edit_ghdw.Clear;
bitbtn2.Enabled:=true;
bitbtn4.Enabled:=false;
end
end;
procedure TFrmwzck.Edit_slKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9','.','-',#8]) then key:=#0;
end;
procedure TFrmwzck.Edit_djKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9','.',#8]) then key:=#0;
end;
procedure TFrmwzck.ComboBox_bmExit(Sender: TObject);
begin
combobox_ywy.Clear;
Query_ywy.close;
Query_ywy.UnPrepare;
Query_ywy.sql.Clear;
Query_ywy.sql.Add('select * from ywyb');
Query_ywy.sql.Add(' where bm_bh='''+bm_bh[combobox_bm.itemindex]+'''');
Query_ywy.Prepare;
Query_ywy.open;
while not Query_ywy.Eof do
begin
combobox_ywy.Items.Add(Query_ywy.fieldbyname('ywy_xm').asstring);
Query_ywy.Next;
end;
end;
procedure TFrmwzck.BitBtn3Click(Sender: TObject);
begin
Self.Close;
end;
procedure TFrmwzck.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=CaFree;
end;
procedure TFrmwzck.Query_kcAfterScroll(DataSet: TDataSet);
begin
Edit_dj.Text:=Query_kc.fieldbyname('dj').asstring;
Query_ckxx.close;
Query_ckxx.UnPrepare;
Query_ckxx.sql.Clear;
Query_ckxx.sql.Add('select * from ckxxb');
Query_ckxx.sql.Add(' where ck_bh='''+Query_kc.fieldbyname('ck_bh').asstring+'''');
Query_ckxx.Prepare;
Query_ckxx.open;
Edit_hsj.Text:=format('%.2f',[Query_kc.fieldbyname('jj').asfloat*(1+Query_ckxx.fieldbyname('sl').asfloat)]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -