⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 data.~pas

📁 仓库管理信息系统
💻 ~PAS
📖 第 1 页 / 共 4 页
字号:
dm.djwhads_cpxsd.Edit;
frm_cpxsdwh.DBGridEh1.SumList.RecalcAll;
end;

procedure Tdm.djwhads_cpxsdmxAfterPost(DataSet: TDataSet);
begin
dm.djwhads_cpxsd.Edit;
frm_cpxsdwh.DBGridEh1.SumList.RecalcAll;
end;

procedure Tdm.djwhads_cpxsdmxBeforeEdit(DataSet: TDataSet);
begin
DM.djwhads_cpxsd.Edit;
end;

procedure Tdm.djwhads_cpxsdmxBeforeInsert(DataSet: TDataSet);
begin
if (dm.djwhads_cpxsd.FieldByName('单据号').Value='') or
  (dm.djwhads_cpxsd.FieldByName('单据号').IsNull) or
  (dm.djwhads_cpxsd.FieldByName('客户id').Value='') or
  (dm.djwhads_cpxsd.FieldByName('客户id').IsNull) or
  (dm.djwhads_cpxsd.FieldByName('销售员ID').Value='') or
  (dm.djwhads_cpxsd.FieldByName('销售员ID').IsNull) or
  (dm.djwhads_cpxsd.FieldByName('日期').IsNull) then
  begin
    MessageDlg('单据头的数据不完整,请先录入.', mtError	, [mbOK], 0);
    abort;
  end;
DM.djwhads_cpXSd.AfterPost:=NIL;
DM.djwhads_cpXSd.BeforePost:=NIL;
IF DM.djwhads_cpXSd.State IN [DSINSERT] THEN
  DM.djwhads_cpXSd.Post;
DM.djwhads_cpXSd.Edit;
DM.djwhads_cpXSd.AfterPost:=DM.djwhads_cpxsdAfterPost;
DM.djwhads_cpXSd.BeforePost:=DM.djwhads_cpxsdBeforePost;
end;

procedure Tdm.djwhads_cpxsdmxNewRecord(DataSet: TDataSet);
begin
  dm.djwhads_cpxsdmx.FieldByName('单据号').Value:=
    dm.djwhads_cpxsd.FieldByName('单据号').Value;
  dm.djwhads_cpxsdmx.FieldByName('数量').Value:=1;
  dm.djwhads_cpxsdmx.FieldByName('单价').Value:=0;
  dm.djwhads_cpxsdmx.FieldByName('金额').Value:=0;
end;

procedure Tdm.djwhads_cpxsdmxPostError(DataSet: TDataSet;
  E: EDatabaseError; var Action: TDataAction);
begin
  showmessage('明细数据不完整!');
end;

procedure Tdm.djwhads_cpjcdmxBeforePost(DataSet: TDataSet);
begin
if (dm.djwhads_cpjcdmx.FieldByName('产品ID').Value='') OR
  (dm.djwhads_cpjcdmx.FieldByName('产品ID').IsNull) THEN
begin
  showmessage('明细数据不完整.');
  abort;
end;
dm.wlpdads.Close;
dm.wlpdads.CommandText:='select * from 产品表 where 产品id='+''''+
  dm.djwhads_cpxsdmx.fieldbyname('产品id').Value+'''' ;
dm.wlpdads.Open;
if dm.wlpdads.RecordCount=0 then
begin
  showmessage('明细中有不存在的产品,请查清再输。');
  abort;
end;
//if dm.djwhads_cpjcdmx.FieldByName('数量').IsNull then
//begin
//  dm.djwhads_cpjcdmx.FieldByName('数量').Value:=0
//end;
end;

procedure Tdm.djwhads_cpxsdmxBeforePost(DataSet: TDataSet);
begin
if (dm.djwhads_cpxsdmx.FieldByName('产品ID').Value='') OR
  (dm.djwhads_cpxsdmx.FieldByName('产品ID').IsNull) THEN
begin
  showmessage('明细数据不完整.');
  abort;
end;
dm.wlpdads.Close;
dm.wlpdads.CommandText:='select * from 产品表 where 产品id='+''''+
  dm.djwhads_cpxsdmx.fieldbyname('产品id').Value+'''' ;
dm.wlpdads.Open;
if dm.wlpdads.RecordCount=0 then
begin
  showmessage('明细中有不存在的产品,请查清再输。');
  abort;
end;
//if dm.djwhads_cpxsdmx.FieldByName('数量').IsNull then
//begin
//  showmessage('数量必须大于0');
//  abort;
//end;
end;

procedure Tdm.djwhads_cpxsdmxDSDesigner3Change(Sender: TField);
begin
if (not dm.djwhads_cpxsdmx.FieldByName('数量').IsNull) and
  (not dm.djwhads_cpxsdmx.FieldByName('单价').IsNull) then
  dm.djwhads_cpxsdmx.FieldByName('金额').Value:=
    dm.djwhads_cpxsdmx.FieldByName('数量').Value*
    dm.djwhads_cpxsdmx.FieldByName('单价').Value;
end;

procedure Tdm.djwhads_cpjcdBeforeDelete(DataSet: TDataSet);
begin
decodedate(dm.djwhads_cpjcd.FieldByName('日期').Value,year,month,day);
if lastjznf<>year then
  begin
    MessageDlg('单据已结转,不能删除.', mtError	, [mbOK], 0);
    abort;
  end;
dm.adocn.BeginTrans;
dm.adocn.Execute('delete from 成品进仓明细表 where 单据号='+''''+
  dm.djwhads_cpjcd.FieldByName('单据号').Value+'''');
end;

procedure Tdm.djwhads_cpxsdBeforeDelete(DataSet: TDataSet);
begin
decodedate(dm.djwhads_cpxsd.FieldByName('日期').Value,year,month,day);
if lastjznf<>year then
  begin
    MessageDlg('单据已结转,不能删除.', mtError	, [mbOK], 0);
    abort;
  end;
dm.adocn.BeginTrans;
dm.adocn.Execute('delete from 成品出仓明细表 where 单据号='+''''+
  dm.djwhads_cpxsd.FieldByName('单据号').Value+'''');
end;

procedure Tdm.whjcdadsAfterCancel(DataSet: TDataSet);
begin
dm.whjcmxads.CancelBatch;
dm.whjcdads.CancelBatch;
dm.whjcdads.FieldByName('进仓单号').ReadOnly:=true;
end;

procedure Tdm.whjcdadsAfterDelete(DataSet: TDataSet);
begin
DM.whjcdads.UpdateBatch;
dm.adocn.CommitTrans;
end;

procedure Tdm.whjcdadsAfterPost(DataSet: TDataSet);
begin
dm.adocn.BeginTrans;
dm.whjcdads.UpdateBatch;
dm.whjcmxads.UpdateBatch;
dm.adocn.CommitTrans;
dm.whjcdads.FieldByName('进仓单号').ReadOnly:=true;
end;

procedure Tdm.whjcdadsBeforeDelete(DataSet: TDataSet);
begin
decodedate(dm.whjcdads.FieldByName('日期').Value,year,month,day);
if lastjznf<>year then
  begin
    MessageDlg('单据已结转,不能删除.', mtError	, [mbOK], 0);
    abort;
  end;
dm.adocn.BeginTrans;
dm.adocn.Execute('delete from 材料进仓明细表 where 进仓单号='+''''+
  dm.whjcdads.FieldByName('进仓单号').Value+'''');
end;

procedure Tdm.whjcdadsBeforeInsert(DataSet: TDataSet);
begin
dm.whjcdads.FieldByName('进仓单号').ReadOnly:=false;
end;

procedure Tdm.whjcdadsBeforePost(DataSet: TDataSet);
begin
if (dm.whjcdads.FieldByName('进仓单号').Value='') or
  (dm.whjcdads.FieldByName('进仓单号').IsNull) or
  (dm.whjcdads.FieldByName('进仓类型id').Value='') or
  (dm.whjcdads.FieldByName('进仓类型id').IsNull) or
  (dm.whjcdads.FieldByName('供应商id').Value='') or
  (dm.whjcdads.FieldByName('供应商id').IsNull) or
  (dm.whjcdads.FieldByName('验收人ID').Value='') or
  (dm.whjcdads.FieldByName('验收人ID').IsNull) or
  (dm.whjcdads.FieldByName('日期').IsNull) then
  begin
    MessageDlg('单据头的数据不完整,请先录入.', mtError	, [mbOK], 0);
    abort;
  end;
decodedate(dm.whjcdads.FieldByName('日期').Value,year,month,day);
if lastjznf<>year then
  begin
    MessageDlg('你所选的日期已结转或者目前还不能处理,请修改日期.', mtError	, [mbOK], 0);
    abort;
  end;
if dm.whjcmxads.Modified then
  dm.whjcmxads.Post;
if dm.whjcmxads.RecordCount =0 then
  begin
    if MessageDlg('单据没有明细项,不能保存,要取消吗?', mterror, [mbok, mbcancel], 0)=mrok then
    begin
      dm.whjcdads.cancel;
      abort
    end
    else
      abort;
  end;
end;

procedure Tdm.whjcdadsNewRecord(DataSet: TDataSet);
begin
dm.whjcdads.FieldByName('日期').Value:=date();
end;

procedure Tdm.whjcmxadsAfterDelete(DataSet: TDataSet);
begin
dm.whjcdads.Edit;
jcdwhfrm.DBGridEh1.SumList.RecalcAll;
end;

procedure Tdm.whjcmxadsAfterPost(DataSet: TDataSet);
begin
dm.whjcdads.Edit;
jcdwhfrm.DBGridEh1.SumList.RecalcAll;
end;

procedure Tdm.whjcmxadsBeforeEdit(DataSet: TDataSet);
begin
DM.whjcdads.Edit;
end;

procedure Tdm.whjcmxadsBeforeInsert(DataSet: TDataSet);
begin
if (dm.whjcdads.FieldByName('进仓单号').Value='') or
  (dm.whjcdads.FieldByName('进仓单号').IsNull) or
  (dm.whjcdads.FieldByName('进仓类型id').Value='') or
  (dm.whjcdads.FieldByName('进仓类型id').IsNull) or
  (dm.whjcdads.FieldByName('供应商id').Value='') or
  (dm.whjcdads.FieldByName('供应商id').IsNull) or
  (dm.whjcdads.FieldByName('验收人ID').Value='') or
  (dm.whjcdads.FieldByName('验收人ID').IsNull) or
  (dm.whjcdads.FieldByName('日期').IsNull) then
  begin
    MessageDlg('单据头的数据不完整,请先录入.', mtError	, [mbOK], 0);
    abort;
  end;
DM.whjcdads.AfterPost:=NIL;
DM.whjcdads.BeforePost:=NIL;
IF DM.whjcdads.State IN [DSINSERT] THEN
  DM.whjcdads.Post;
DM.whjcdads.Edit;
DM.whjcdads.AfterPost:=DM.whjcdadsAfterPost;
DM.whjcdads.BeforePost:=DM.whjcdadsBeforePost;
end;

procedure Tdm.whjcmxadsBeforePost(DataSet: TDataSet);
begin
if (dm.whjcmxads.FieldByName('材料编码').Value='') OR
  (dm.whjcmxads.FieldByName('材料编码').IsNull) THEN
begin
  showmessage('明细数据不完整.');
  abort;
end;
dm.wlpdads.Close;
dm.wlpdads.CommandText:='select * from 材料表 where 材料编码='+''''+
  dm.whjcmxads.fieldbyname('材料编码').Value+'''';
dm.wlpdads.Open;
if dm.wlpdads.RecordCount=0 then
begin
  showmessage('明细中有不存在的材料,请查清再输。');
  abort;
end;
//if dm.whjcmxads.FieldByName('数量').IsNull then
//begin
//  showmessage('数量必须大于0');
//  abort;
//end;
end;

procedure Tdm.whjcmxadsNewRecord(DataSet: TDataSet);
begin
  dm.whjcmxads.FieldByName('进仓单号').Value:=
    dm.whjcdads.FieldByName('进仓单号').Value;
  dm.whjcmxads.FieldByName('数量').Value:=1;
  dm.whjcmxads.FieldByName('单价').Value:=0;
end;

procedure Tdm.whjcmxadsPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
  showmessage('明细数据不完整!');
end;

procedure Tdm.whccdadsAfterCancel(DataSet: TDataSet);
begin
dm.whccmxads.CancelBatch;
dm.whccdads.CancelBatch;
dm.whccdads.FieldByName('出仓单号').ReadOnly:=true;
end;

procedure Tdm.whccdadsAfterDelete(DataSet: TDataSet);
begin
DM.whccdads.UpdateBatch;
dm.adocn.CommitTrans;
end;

procedure Tdm.whccdadsAfterPost(DataSet: TDataSet);
begin
dm.adocn.BeginTrans;
dm.whccdads.UpdateBatch;
dm.whccmxads.UpdateBatch;
dm.adocn.CommitTrans;
dm.whccdads.FieldByName('出仓单号').ReadOnly:=true;
end;

procedure Tdm.whccdadsBeforeDelete(DataSet: TDataSet);
begin
decodedate(dm.whccdads.FieldByName('日期').Value,year,month,day);
if lastjznf<>year then
  begin
    MessageDlg('单据已结转,不能删除.', mtError	, [mbOK], 0);
    abort;
  end;
dm.adocn.BeginTrans;
dm.adocn.Execute('delete from 材料领料明细表 where 出仓单号='+''''+
  dm.whccdads.FieldByName('出仓单号').Value+'''');
end;

procedure Tdm.whccdadsBeforeInsert(DataSet: TDataSet);
begin
dm.whccdads.FieldByName('出仓单号').ReadOnly:=false;
end;

procedure Tdm.whccdadsBeforePost(DataSet: TDataSet);
begin
if (dm.whccdads.FieldByName('出仓单号').Value='') or
  (dm.whccdads.FieldByName('出仓单号').IsNull) or
  (dm.whccdads.FieldByName('出仓类型id').Value='') or
  (dm.whccdads.FieldByName('出仓类型id').IsNull) or
  (dm.whccdads.FieldByName('部门id').Value='') or
  (dm.whccdads.FieldByName('部门id').IsNull) or
  (dm.whccdads.FieldByName('日期').IsNull) then
  begin
    MessageDlg('单据头的数据不完整,请先录入.', mtError	, [mbOK], 0);
    abort;
  end;
decodedate(dm.whccdads.FieldByName('日期').Value,year,month,day);
if lastjznf<>year then
  begin
    MessageDlg('你所选的日期已结转或者目前还不能处理,请修改日期.', mtError	, [mbOK], 0);
    abort;
  end;
if dm.whccmxads.Modified then
  dm.whccmxads.Post;
if dm.whccmxads.RecordCount =0 then
  begin
    if MessageDlg('单据没有明细项,不能保存,要取消吗?', mterror, [mbok, mbcancel], 0)=mrok then
    begin
      dm.whccdads.cancel;
      abort
    end
    else
      abort;
  end;
end;

procedure Tdm.whccdadsNewRecord(DataSet: TDataSet);
begin
dm.whccdads.FieldByName('日期').Value:=date();
end;

procedure Tdm.whccmxadsAfterDelete(DataSet: TDataSet);
begin
dm.whccdads.Edit;
ccdwhfrm.DBGridEh1.SumList.RecalcAll;
end;

procedure Tdm.whccmxadsAfterPost(DataSet: TDataSet);
begin
dm.whccdads.Edit;
ccdwhfrm.DBGridEh1.SumList.RecalcAll;
end;

procedure Tdm.whccmxadsBeforeEdit(DataSet: TDataSet);
begin
DM.whccdads.Edit;
end;

procedure Tdm.whccmxadsBeforeInsert(DataSet: TDataSet);
begin
if (dm.whccdads.FieldByName('出仓单号').Value='') or
  (dm.whccdads.FieldByName('出仓单号').IsNull) or
  (dm.whccdads.FieldByName('出仓类型id').Value='') or
  (dm.whccdads.FieldByName('出仓类型id').IsNull) or
  (dm.whccdads.FieldByName('部门id').Value='') or
  (dm.whccdads.FieldByName('部门id').IsNull) or
  (dm.whccdads.FieldByName('日期').IsNull) then
  begin
    MessageDlg('单据头的数据不完整,请先录入.', mtError	, [mbOK], 0);
    abort;
  end;
DM.whccdads.AfterPost:=NIL;
DM.whccdads.BeforePost:=NIL;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -