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

📄 ord510_02.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
    cbPayment.SetFocus;
    Abort;
  end;
  APayment:=qryGld110.FieldByName('G110_001').AsInteger;
  if trim(edtPerson.Text)<>'' then
  begin
    if not qryHrm150.Locate('H150_002',APersonID,[]) then
    begin
      ShowMsg('UMS10000418');  //输入的销售人员无效
      edtPerson.SetFocus;
      Abort;
    end;
  end;
  if trim(cbFrom.Text)='' then
  begin
    ShowMsg('UMS10000529');  //来源类型不能为空
    cbFrom.SetFocus;
    Abort;
  end;
  if trim(edtCust.Text)='' then
  begin
    ShowMsg('UMS10000180');  //客户编号不能为空
    PageControl2.ActivePageIndex:=0;
    edtCust.SetFocus;
    Abort;
  end;
  if not qryOrd150.Locate('O150_002',edtCust.Text,[]) then
  begin
    ShowMsg('UMS10000264');  //输入的客户编号无效
    PageControl2.ActivePageIndex:=0;
    edtCust.SetFocus;
    Abort;
  end;
  ACustNo:=qryOrd150.FieldByName('O150_001').AsInteger;
  if trim(edtPlace.Text)='' then
  begin
    ShowMsg('UMS10000190');  //交货地点不能为空
    PageControl2.ActivePageIndex:=1;
    edtPlace.SetFocus;
    Abort;
  end;
  if not qryOrd152.Locate('O152_002',edtPlace.Text,[]) then
  begin
    ShowMsg('UMS10000420');  //输入的交货地点无效
    PageControl2.ActivePageIndex:=1;
    edtPlace.SetFocus;
    Abort;
  end;
  if adsOrd510B.State in [dsInsert,dsEdit] then adsOrd510B.Post;
  if adsOrd510B.IsEmpty then
  begin
    ShowMsg('UMS10000421');  //产品信息资料不能为空
    PageControl1.ActivePageIndex:=0;
    wwDBGrid1.SetFocus;
    Abort;
  end;
  AItemNo:=0;
  if tsProduct.TabVisible then
  begin
    if trim(edtItemID.Text)='' then
    begin
      ShowMsg('UMS10000274');  //产品编号不能为空
      PageControl2.ActivePageIndex:=2;
      edtItemID.SetFocus;
      Abort;
    end;
    if not qryOrd153.Locate('I150_002',edtItemID.Text,[]) then
    begin
      ShowMsg('UMS10000267');  //输入的产品编号无效
      PageControl2.ActivePageIndex:=2;
      edtItemID.SetFocus;
      Abort;
    end;
    AItemNo:=qryOrd153.FieldByName('I150_001').AsInteger;
    if trim(edtMacNo.Text)='' then
    begin
      ShowMsg('UMS10000275');  //机身编号不能为空
      PageControl2.ActivePageIndex:=2;
      edtMacNo.SetFocus;
      Abort;
    end;
    if not qryOrd153.Locate('I150_001;O153_003',VarArrayOf([AItemNo,edtMacNo.Text]),[]) then
    begin
      ShowMsg('UMS10000268');  //输入的机身编号无效
      PageControl2.ActivePageIndex:=2;
      edtMacNo.SetFocus;
      Abort;
    end;
  end;

  if adsOrd510.State in [dsInsert,dsEdit] then adsOrd510.Post;

  qryOrd510B.Close;
  qryOrd510B.SQL.Clear;
  qryOrd510B.SQL.Add('delete from ORD510B where O510B_001='+''''+edtCode.Text+'''');
  qryOrd510B.ExecSQL;
  if AMode='ADD' then
  begin
    ADOQuery1.Append;
    ADOQuery1.FieldByName('O510A_004').Value:=0;  //新建
    ADOQuery1.FieldByName('O510A_022').AsString:=edtCreateDate.Text;  //制单日期
    ADOQuery1.FieldByName('O510A_023').AsString:=edtCreateBy.Text;  //制单人员
    ADOQuery1.FieldByName('O510A_024').AsString:=edtUpdateDate.Text;  //修改日期
    ADOQuery1.FieldByName('O510A_025').AsString:=edtUpdateBy.Text;  //修改人员
  end else
  begin
    ADate:=GetServerDate;
    ADOQuery1.Edit;
    ADOQuery1.FieldByName('O510A_024').Value:=ADate;  //修改日期
    ADOQuery1.FieldByName('O510A_025').Value:=AUserName;  //修改人员
  end;
  ADOQuery1.FieldByName('O510A_002').Value:=qryOrd100.FieldByName('O100_001').Value;  //销售类型
  ADOQuery1.FieldByName('O510A_003').Value:=edtDate.Date;  //销售日期
  ADOQuery1.FieldByName('O510A_005').Value:=null;
  if trim(edtPerson.Text)<>'' then ADOQuery1.FieldByName('O510A_005').Value:=qryHrm150.FieldByName('H150_001').Value;  //销售人员
  if AItemNo<>0 then
  begin
    ADOQuery1.FieldByName('O510A_006').Value:=AItemNo;  //产品编号
    ADOQuery1.FieldByName('O510A_011').AsString:=edtMacNo.Text;  //机身编号
  end;
  ADOQuery1.FieldByName('O510A_007').Value:=ACurrNo;
  ADOQuery1.FieldByName('O510A_008').AsString:=edtRate.Text;  //币别汇率
  ADOQuery1.FieldByName('O510A_009').Value:=APayment;  //付款方式
  ADOQuery1.FieldByName('O510A_010').Value:=cbFrom.ItemIndex;  //来源类型
  ADOQuery1.FieldByName('O510A_012').Value:=StrToFloatA(edtAmount.Text);  //金额总计
  ADOQuery1.FieldByName('O510A_013').Value:=StrToFloatA(edtDisRate.Text);  //折扣比率
  ADOQuery1.FieldByName('O510A_014').Value:=StrToFloatA(edtDiscount.Text);  //折扣金额
  ADOQuery1.FieldByName('O510A_015').Value:=StrToFloatA(edtSumCharge.Text);  //特殊费用
  ADOQuery1.FieldByName('O510A_016').Value:=StrToFloatA(edtNetAmt.Text);  //应收金额
  ADOQuery1.FieldByName('O510A_017').Value:=ACustNo;                  //客户编号
  ADOQuery1.FieldByName('O510A_018').Value:=edtPlace.Text;            //交货地址
  ADOQuery1.FieldByName('O510A_019').Value:=cbPick.ItemIndex;         //提货方式(0=自提,1=送货,2=托运,3=邮寄,4=快递)
  ADOQuery1.FieldByName('O510A_020').AsString:=memTerm.Text;          //销售条款
  ADOQuery1.FieldByName('O510A_021').AsString:=memRemark.Text;        //备注说明
  ADOQuery1.FieldByName('O510A_026').AsString:=edtPlaceContact.Text;  //联系人名
  ADOQuery1.FieldByName('O510A_027').AsInteger:=UpDown1.Position;     //优先级别
  ADOQuery1.FieldByName('O510A_028').AsString:=edtCOrder.Text;        //客户单号
end;

procedure TOrd510_02Form.UpdateEvent;
begin
  inherited;
  //0=新建,1=执行,2=发货,3=取消,4=锁定,5=完成
  if ADOQuery1.FieldByName('O510A_004').AsInteger<>0 then
  begin
    ShowMsg('UMS10000532');  //不允许修改非新建状态的销售定单
    Abort;
  end;
  SetDBGridA;
  SetDBGridB;
end;

//取得明细表数据
procedure TOrd510_02Form.GetDetailData;
begin
  ALastNo:=0;
  adsOrd510B.DisableControls;
  adsOrd510.DisableControls;
  adsOrd510B.Close;
  adsOrd510B.CreateDataSet;
  adsOrd510.Close;
  adsOrd510.CreateDataSet;
  SetDBGridA;
  SetDBGridB;
  qryOrd510B.Close;
  qryOrd510B.SQL.Clear;
  qryOrd510B.SQL.Add('select A.*,B.I150_002,B.I150_003,B.I150_004,C.I140_002,C.I140_003');
  qryOrd510B.SQL.Add('from (ORD510B A left join INV150 B on A.O510B_003=B.I150_001) left join INV140 C on A.O510B_004=C.I140_001');
  qryOrd510B.SQL.Add('where A.O510B_001='+''''+edtCode.Text+'''');
  qryOrd510B.SQL.Add('order by O510B_002');
  qryOrd510B.Open;
  while not qryOrd510B.Eof do
  begin
    if qryOrd510B.FieldByName('O510B_018').AsInteger=2 then
    begin
      adsOrd510.Append;
      adsOrd510.FieldByName('FNo').Value:=qryOrd510B.FieldByName('O510B_002').Value;
      adsOrd510.FieldByName('FItemNo').Value:=qryOrd510B.FieldByName('O510B_003').Value;
      adsOrd510.FieldByName('FItemID').Value:=qryOrd510B.FieldByName('I150_002').Value;
      adsOrd510.FieldByName('FItemName').Value:=qryOrd510B.FieldByName('I150_003').Value;
      adsOrd510.FieldByName('FItemSpec').Value:=qryOrd510B.FieldByName('I150_004').Value;
      adsOrd510.FieldByName('FUnitNo').Value:=qryOrd510B.FieldByName('O510B_004').Value;
      adsOrd510.FieldByName('FUnitID').Value:=qryOrd510B.FieldByName('I140_002').Value;
      adsOrd510.FieldByName('FUnitName').Value:=qryOrd510B.FieldByName('I140_003').Value;
      adsOrd510.FieldByName('FQty').Value:=qryOrd510B.FieldByName('O510B_005').Value;
      adsOrd510.FieldByName('FPrice').Value:=qryOrd510B.FieldByName('O510B_006').Value;
      adsOrd510.FieldByName('FAmount').Value:=qryOrd510B.FieldByName('O510B_007').Value;
      adsOrd510.FieldByName('FDisRate').Value:=qryOrd510B.FieldByName('O510B_008').Value;
      adsOrd510.FieldByName('FDisAmt').Value:=qryOrd510B.FieldByName('O510B_009').Value;
      adsOrd510.FieldByName('FNetAmt').Value:=qryOrd510B.FieldByName('O510B_010').Value;
      adsOrd510.FieldByName('FTax').Value:=qryOrd510B.FieldByName('O510B_011').Value;
      adsOrd510.FieldByName('FTaxAmt').Value:=qryOrd510B.FieldByName('O510B_012').Value;
      adsOrd510.FieldByName('FAcrAmt').Value:=qryOrd510B.FieldByName('O510B_013').Value;
      adsOrd510.FieldByName('FDate').Value:=qryOrd510B.FieldByName('O510B_014').Value;
      adsOrd510.FieldByName('FFactDate').Value:=qryOrd510B.FieldByName('O510B_015').Value;
      adsOrd510.FieldByName('FReceQty').Value:=qryOrd510B.FieldByName('O510B_016').Value;
      adsOrd510.FieldByName('FPlace').Value:=qryOrd510B.FieldByName('O510B_017').Value;
      adsOrd510.FieldByName('FFromID').Value:=qryOrd510B.FieldByName('O510B_019').Value;
      adsOrd510.FieldByName('FLineNo').Value:=qryOrd510B.FieldByName('O510B_020').Value;
      adsOrd510.FieldByName('FRemark').Value:=qryOrd510B.FieldByName('O510B_021').Value;
      adsOrd510.FieldByName('FReturn').Value:=qryOrd510B.FieldByName('O510B_022').Value;
      adsOrd510.FieldByName('FUnitRate').Value:=qryOrd510B.FieldByName('O510B_023').Value;
      adsOrd510.FieldByName('FInvoice').Value:=qryOrd510B.FieldByName('O510B_024').Value;
      adsOrd510.FieldByName('FDiscount').Value:=qryOrd510B.FieldByName('O510B_025').Value;
      adsOrd510.FieldByName('FTotalAmt').Value:=qryOrd510B.FieldByName('O510B_026').Value;
      adsOrd510.FieldByName('FInAmount').Value:=qryOrd510B.FieldByName('O510B_027').Value;
      adsOrd510.Post;
    end else
    begin
      adsOrd510B.Append;
      adsOrd510B.FieldByName('FNo').Value:=qryOrd510B.FieldByName('O510B_002').Value;
      adsOrd510B.FieldByName('FItemNo').Value:=qryOrd510B.FieldByName('O510B_003').Value;
      adsOrd510B.FieldByName('FItemID').Value:=qryOrd510B.FieldByName('I150_002').Value;
      adsOrd510B.FieldByName('FItemName').Value:=qryOrd510B.FieldByName('I150_003').Value;
      adsOrd510B.FieldByName('FItemSpec').Value:=qryOrd510B.FieldByName('I150_004').Value;
      adsOrd510B.FieldByName('FUnitNo').Value:=qryOrd510B.FieldByName('O510B_004').Value;
      adsOrd510B.FieldByName('FUnitID').Value:=qryOrd510B.FieldByName('I140_002').Value;
      adsOrd510B.FieldByName('FUnitName').Value:=qryOrd510B.FieldByName('I140_003').Value;
      adsOrd510B.FieldByName('FQty').Value:=qryOrd510B.FieldByName('O510B_005').Value;
      adsOrd510B.FieldByName('FPrice').Value:=qryOrd510B.FieldByName('O510B_006').Value;
      adsOrd510B.FieldByName('FAmount').Value:=qryOrd510B.FieldByName('O510B_007').Value;
      adsOrd510B.FieldByName('FDisRate').Value:=qryOrd510B.FieldByName('O510B_008').Value;
      adsOrd510B.FieldByName('FDisAmt').Value:=qryOrd510B.FieldByName('O510B_009').Value;
      adsOrd510B.FieldByName('FNetAmt').Value:=qryOrd510B.FieldByName('O510B_010').Value;
      adsOrd510B.FieldByName('FTax').Value:=qryOrd510B.FieldByName('O510B_011').Value;
      adsOrd510B.FieldByName('FTaxAmt').Value:=qryOrd510B.FieldByName('O510B_012').Value;
      adsOrd510B.FieldByName('FAcrAmt').Value:=qryOrd510B.FieldByName('O510B_013').Value;
      adsOrd510B.FieldByName('FDate').Value:=qryOrd510B.FieldByName('O510B_014').Value;
      adsOrd510B.FieldByName('FFactDate').Value:=qryOrd510B.FieldByName('O510B_015').Value;
      adsOrd510B.FieldByName('FReceQty').Value:=qryOrd510B.FieldByName('O510B_016').Value;
      adsOrd510B.FieldByName('FPlace').Value:=qryOrd510B.FieldByName('O510B_017').Value;
      adsOrd510B.FieldByName('FFromID').Value:=qryOrd510B.FieldByName('O510B_019').Value;
      adsOrd510B.FieldByName('FLineNo').Value:=qryOrd510B.FieldByName('O510B_020').Value;
      adsOrd510B.FieldByName('FRemark').Value:=qryOrd510B.FieldByName('O510B_021').Value;
      adsOrd510B.FieldByName('FReturn').Value:=qryOrd510B.FieldByName('O510B_022').Value;
      adsOrd510B.FieldByName('FUnitRate').Value:=qryOrd510B.FieldByName('O510B_023').Value;
      adsOrd510B.FieldByName('FInvoice').Value:=qryOrd510B.FieldByName('O510B_024').Value;
      adsOrd510B.FieldByName('FDiscount').Value:=qryOrd510B.FieldByName('O510B_025').Value;
      adsOrd510B.FieldByName('FTotalAmt').Value:=qryOrd510B.FieldByName('O510B_026').Value;
      adsOrd510B.FieldByName('FInAmount').Value:=qryOrd510B.FieldByName('O510B_027').Value;
      adsOrd510B.Post;
    end;
    ALastNo:=qryOrd510B.FieldByName('O510B_002').AsInteger;
    qryOrd510B.Next;
  end;
  adsOrd510B.EnableControls;
  adsOrd510.EnableControls;
end;

procedure TOrd510_02Form.ADOQuery1O510A_004GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if ADOQuery1.IsEmpty then Exit;
  Text:=AStatus[Sender.AsInteger];
end;

procedure TOrd510_02Form.ADOQuery1O510A_010GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if ADOQuery1.IsEmpty then Exit;
  Text:=AFrom[Sender.AsInteger];
end;

procedure TOrd510_02Form.ADOQuery1O510A_019GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  inherited;
  if ADOQuery1.IsEmpty then Exit;
  Text:=APick[Sender.AsInteger];
end;

procedure TOrd510_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
    APersonNo:=qryHrm150.FieldByName('H150_001').AsInteger;
    APersonID:=qryHrm150.FieldByName('H150_002').AsString;
    APersonName:=qryHrm150.FieldByName('H150_003').AsString;
    edtPerson.Text:=APersonID;
  end;
end;

procedure TOrd510_02Form.edtPersonExit(Sender: TObject);
begin
  inherited;
//销售人员
  if trim(edtPerson.Text)='' then
  begin
    APersonNo:=0;
    APersonID:='';
    APersonName:='';
    Exit;
  end;
  if qryHrm150.Locate('H150_002',edtPerson.Text,[]) then
  begin
    APersonNo:=qryHrm150.FieldByName

⌨️ 快捷键说明

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