acp500_02.pas.svn-base

来自「一个用Delphi开发的ERP软件」· SVN-BASE 代码 · 共 910 行 · 第 1/3 页

SVN-BASE
910
字号
var
  ACode:String;
begin
  inherited;
  ACode:=ADOQuery1.FieldByName('A500A_001').AsString;

  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select * from Acp500B where A500B_001='+''''+ACode+'''');
  SYSDM.qryQuery.open;
  SYSDM.qryQuery.First;
  while not SYSDM.qryQuery.Eof do
  begin
    UpdatePUR510B(ACode,'DEL');
    SYSDM.qryQuery.Next;
  end;
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('delete from Acp500B where A500B_001='+''''+ACode+'''');
  SYSDM.qryQuery.ExecSQL;
  DeleteTableRecord(ADOQuery1,'Acp500A','A500A_001='+''''+ACode+'''');
end;

procedure TAcp500_02Form.GetDataInfo;
begin
  inherited;
  //取得界面信息
  edtCode.Text:=ADOQuery1.fieldByName('A500A_001').AsString;
  edtDate.Date:=ADOQuery1.fieldByName('A500A_002').AsDateTime;
  edtPerson.Text:=ADOQuery1.fieldByName('H150_002').AsString;
  edtPersonName.Text:=ADOQuery1.fieldByName('H150_003').AsString;
  memRemark.Text:=ADOQuery1.fieldByName('A500A_006').AsString;

  edtOrder.Text:=ADOQuery1.fieldByName('A500A_005').AsString;;
  qryPUR510A.Locate('P510A_002',edtOrder.Text,[]);
  GetOrderInfo;

  //明细表的内容
  GetDetailData;

  edtCreateDate.Text:=ADOQuery1.fieldByName('A500A_007').AsString;
  edtCreateBy.Text:=ADOQuery1.fieldByName('A500A_008').AsString;
  edtUpdateDate.Text:=ADOQuery1.fieldByName('A500A_009').AsString;
  edtUpdateBy.Text:=ADOQuery1.fieldByName('A500A_010').AsString;

end;

procedure TAcp500_02Form.InsertEvent;
var
  ADate:TDateTime;
begin
  inherited;
  ADate:=GetServerDate;
  edtCode.Text:='';
  edtPerson.Text:='';
  edtPersonName.Text:='';
  memRemark.Text:='';
  edtOrder.Text:='';
  edtCurr.Text:='';
  edtRate.Text:='';
  edtSaleDate.Text:='';
  edtCust.Text:='';
  edtCustName.Text:='';
  edtPhone.Text:='';
  edtAddress.Text:='';
  edtContact.Text:='';
  adsAcp500B.Close;
  adsAcp500B.CreateDataSet;
  edtDate.Date:=ADate;
  edtCreateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
  edtCreateBy.Text:=AUserName;
  edtUpdateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
  edtUpdateBy.Text:=AUserName;  
end;

procedure TAcp500_02Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin
  inherited;

end;

procedure TAcp500_02Form.SetEmptyInit;
begin
  inherited;
  //取得界面信息
  edtCode.Text:='';
  edtDate.Date:=GetServerDate;
  edtPerson.Text:='';
  edtPersonName.Text:='';
  memRemark.Text:='';

  edtOrder.Text:='';
  edtOrder.Text:='';                //销售单号
  edtCurr.Text:='';                 //币别名称
  edtRate.Text:='';
  edtSaleDate.Text:='';             //销售日期
  edtCust.Text:='';                 //客户编号
  edtCustName.Text:='';
  edtPhone.Text:='';                //电话号码
  edtAddress.Text:='';              //客户地址
  edtContact.Text:='';

  adsAcp500B.Close;
  adsAcp500B.CreateDataSet;

  edtCreateDate.Text:='';
  edtCreateBy.Text:='';
  edtUpdateDate.Text:='';
  edtUpdateBy.Text:='';
end;

procedure TAcp500_02Form.TableAfterPost;
begin
  inherited;
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('delete * from Acp500B where A500B_001='+''''+edtCode.Text+'''');
  SYSDM.qryQuery.ExecSQL;

  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select * from Acp500B where A500B_001='+''''+edtCode.Text+''''+' order by A500B_002');
  SYSDM.qryQuery.Open;
  if adsAcp500B.State in [dsInsert,dsEdit] then adsAcp500B.Post;
  adsAcp500B.First;
  while not adsAcp500B.Eof do
  begin
    SYSDM.qryQuery.Append;
    SYSDM.qryQuery.FieldByName('A500B_001').Value:=edtCode.Text;                              //折扣单号
    SYSDM.qryQuery.FieldByName('A500B_002').Value:=adsAcp500B.FieldByName('FNo').Value;       //单据行号
    SYSDM.qryQuery.FieldByName('A500B_003').Value:=adsAcp500B.FieldByName('FOrder').Value;    //销售单号
    SYSDM.qryQuery.FieldByName('A500B_004').Value:=adsAcp500B.FieldByName('FLineNo').Value;   //销售单行
    SYSDM.qryQuery.FieldByName('A500B_005').Value:=adsAcp500B.FieldByName('FQty').Value;      //折扣数量
    SYSDM.qryQuery.FieldByName('A500B_006').Value:=adsAcp500B.FieldByName('FRate').Value;     //折扣比率
    SYSDM.qryQuery.FieldByName('A500B_007').Value:=adsAcp500B.FieldByName('FAmount').Value;   //折扣金额
    SYSDM.qryQuery.FieldByName('A500B_008').Value:=adsAcp500B.FieldByName('FRemark').Value;   //备注说明
    SYSDM.qryQuery.FieldByName('A500B_009').Value:=cbDisType.ItemIndex;                       //折扣类型
    SYSDM.qryQuery.Post;
    UpdatePUR510B(SYSDM.qryQuery.FieldByName('A500B_003').Value,'ADD');
    adsAcp500B.Next;
  end;
end;

procedure TAcp500_02Form.TableBeforePost;
var
  ADate:TDateTime;
  ADisAmount:Double;
begin
  inherited;

  //判断输入的有效性
  if not qryHrm150.Locate('H150_002',edtPerson.Text,[]) then
  begin
    ShowMsg('UMS10000672');  //折扣人员无效,请重新输入
    edtPerson.SetFocus;
    Abort;
  end;

  if not qryPUR510A.Locate('P510A_001',edtOrder.Text,[]) then
  begin
    ShowMsg('UMS10000673');  //采购订单无效,请重新输入
    edtOrder.SetFocus;
    Abort;
  end;

  if AMode='UPD' then
  begin
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select * from Acp500B where A500B_001='+''''+edtCode.Text+'''');
    SYSDM.qryQuery.open;
    SYSDM.qryQuery.First;
    while not SYSDM.qryQuery.Eof do
    begin
      UpdatePUR510B(SYSDM.qryQuery.FieldByName('A500B_003').Value,'DEL');
      SYSDM.qryQuery.Next;
    end;
  end;
  ADisAmount:=StrToFloatA(wwDBGrid1.ColumnByName('FAmount').FooterValue);
  //更新主表信息
  if adsAcp500B.State in [dsInsert,dsEdit] then adsAcp500B.Post;
  qryAcp500B.Close;
  qryAcp500B.SQL.Clear;
  qryAcp500B.SQL.Add('delete from Acp500B where A500B_001='+''''+edtCode.Text+'''');
  qryAcp500B.ExecSQL;
  if AMode='ADD' then
  begin
    ADOQuery1.Append;
    ADOQuery1.FieldByName('A500A_007').AsString:=edtCreateBy.Text;    //制单人员
    ADOQuery1.FieldByName('A500A_008').AsString:=edtCreateDate.Text;  //制单日期
    ADOQuery1.FieldByName('A500A_009').AsString:=edtUpdateBy.Text;    //修改人员
    ADOQuery1.FieldByName('A500A_010').AsString:=edtUpdateDate.Text;  //修改日期
  end else
  begin
    ADate:=GetServerDate;
    ADOQuery1.Edit;
    ADOQuery1.FieldByName('A500A_009').AsString:=edtUpdateBy.Text;    //修改人员
    ADOQuery1.FieldByName('A500A_010').AsString:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);  //修改日期
  end;
  ADOQuery1.FieldByName('A500A_002').Value:=edtDate.Date;             // 折扣日期
  if qryHrm150.Locate('H150_002',edtPerson.Text,[]) then
  begin
    ADOQuery1.FieldByName('A500A_003').Value:=qryHrm150.FieldByName('H150_001').AsInteger;
  end;
  ADOQuery1.FieldByName('A500A_004').Value:=ADisAmount;        // 折扣金额
  ADOQuery1.FieldByName('A500A_005').Value:=edtOrder.Text;  // 销售单号
  ADOQuery1.FieldByName('A500A_006').Value:=memRemark.Text; // 备注说明
end;

procedure TAcp500_02Form.UpdateEvent;
begin
  inherited;
  SetDBGridA;
end;

procedure TAcp500_02Form.sbPersonClick(Sender: TObject);
begin
  inherited;
//销售人员查询
  if not edtPerson.Focused then edtPerson.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryHrm150,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtPerson.Text:=qryHrm150.FieldByName('H150_002').AsString;
    edtPersonName.Text:=qryHrm150.FieldByName('H150_003').AsString;
  end;
end;

procedure TAcp500_02Form.edtPersonExit(Sender: TObject);
begin
  inherited;
//折扣人员
  if trim(edtPerson.Text)='' then Exit;
  if qryHrm150.Locate('H150_002',edtPerson.Text,[]) then
  begin
    edtPerson.Text:=qryHrm150.FieldByName('H150_002').AsString;
    edtPersonName.Text:=qryHrm150.FieldByName('H150_003').AsString;
  end else
  begin
    ShowMsg('UMS10000674');  //输入的折扣人员无效,请重新输入
    edtPerson.Text:='';
    edtPersonName.Text:='';
    edtPerson.SetFocus;
    Abort;
  end;
end;

procedure TAcp500_02Form.sbOrderClick(Sender: TObject);
begin
  inherited;
//销售单号
  if not edtOrder.Focused then edtOrder.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryPUR510A,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    if qryPUR510A.IsEmpty then Exit;
    GetOrderInfo;
  end;
end;

procedure TAcp500_02Form.GetOrderInfo;
begin
  if qryPUR510A.IsEmpty then Exit;
  edtOrder.Text:=qryPUR510A.FieldByName('P510A_001').AsString;                //销售单号
  edtCurr.Text:=qryPUR510A.FieldByName('G100_002').AsString;                 //币别名称
  edtRate.Text:=qryPUR510A.FieldByName('P510A_008').AsString;
  edtSaleDate.Text:=qryPUR510A.FieldByName('P510A_003').AsString;             //销售日期
  edtCust.Text:=qryPUR510A.FieldByName('O150_002').AsString;                 //客户编号
  edtCustName.Text:=qryPUR510A.FieldByName('O150_003').AsString;             //客户名称
  edtPhone.Text:=qryPUR510A.FieldByName('O152_006').AsString;                //电话号码
  edtAddress.Text:=qryPUR510A.FieldByName('O152_004').AsString;              //客户地址
  edtContact.Text:=qryPUR510A.FieldByName('O152_007').AsString;              //传真号码
  //取得明细信息
  AddDetailData;
end;

procedure TAcp500_02Form.GetDetailData;
var
  ARate:double;
begin
  ALastNo:=0;
  adsAcp500B.DisableControls;
  adsAcp500B.Close;
  adsAcp500B.CreateDataSet;

  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select P510A_013 from PUR510A where P510A_001='+''''+edtOrder.Text+'''');
  SYSDM.qryQuery.Open;
  if SYSDM.qryQuery.FieldByName('P510A_013').Value>0 then
    ARate:=SYSDM.qryQuery.FieldByName('P510A_013').Value
  else
    ARate:=0;

  qryAcp500B.Close;
  qryAcp500B.SQL.Clear;
  qryAcp500B.SQL.Add('select A.*,B.P510B_002,B.P510B_003,B.P510B_004,B.P510B_005,B.P510B_006,B.P510B_007,B.P510B_025');
  qryAcp500B.SQL.Add(' from Acp500B A,PUR510B B');
  qryAcp500B.SQL.Add(' where A.A500B_003=B.P510B_001 and  A.A500B_004=B.P510B_002 and A.A500B_001='+''''+edtCode.Text+'''');
  qryAcp500B.SQL.Add(' order by A500B_002');
  qryAcp500B.Open;

⌨️ 快捷键说明

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