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

📄 ord500_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
end;

procedure TOrd500_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
//
end;

procedure TOrd500_01Form.ReportGetValue(const ParName: String; var ParValue: Variant);
begin
  inherited;
  if ParName='ADate' then ParValue:=lblDate.Caption  //日期
  else if ParName='AFromDate' then ParValue:=edtFromDate.Text  //
  else if ParName='AToDate' then ParValue:=edtToDate.Text  //
end;

procedure TOrd500_01Form.DeleteEvent;
var
  ACode:string;
begin
  inherited;
//删除
  //0=新建,1=确认,2=报价,3=完成,4=取消
  if ADOQuery1.FieldByName('O500A_004').AsInteger<>0 then
  begin
    ShowMsg('UMS10000531');  //不允许删除非新建状态的销售报价单
    Abort;
  end;
  ACode:=ADOQuery1.FieldByName('O500A_001').Value;
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('delete from ORD500B where O500B_001='+''''+ACode+'''');
  SYSDM.qryQuery.ExecSQL;
  DeleteTableRecord(ADOQuery1,'ORD500A','O500A_001='+''''+ACode+'''');
end;

procedure TOrd500_01Form.InsertEvent;
begin
  inherited;
  Ord500_02Form:=TOrd500_02Form.Create(Application);
  Ord500_02Form.OpenData('');
  Ord500_02Form.ActInsert.Execute;
  Ord500_02Form.ShowModal;
end;

procedure TOrd500_01Form.UpdateEvent;
begin
  inherited;
  //0=新建,1=确认,2=报价,3=完成,4=取消
  if ADOQuery1.FieldByName('O500A_004').AsInteger<>0 then
  begin
    ShowMsg('UMS10000530');  //不允许修改非新建状态的销售报价单
    Abort;
  end;
  Ord500_02Form:=TOrd500_02Form.Create(Application);
  Ord500_02Form.OpenData(ADOQuery1.FieldByName('O500A_001').Value);
  Ord500_02Form.ActUpdate.Execute;
  Ord500_02Form.ShowModal;
end;

procedure TOrd500_01Form.BrowseEvent;
begin
  inherited;
  Ord500_02Form:=TOrd500_02Form.Create(Application);
  Ord500_02Form.OpenData(ADOQuery1.FieldByName('O500A_001').Value);
  Ord500_02Form.ShowModal;
end;

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

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

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

procedure TOrd500_01Form.Action1Execute(Sender: TObject);
begin
  inherited;
//确认
  if ADOQuery1.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  if ADOQuery1O500A_004.Value<>0 then
  begin
    ShowMsg('UMS10000535');  //仅新建状态的报价单可以确认
    Abort;
  end;
  ADOQuery1.Edit;
  ADOQuery1O500A_004.Value:=1;
  ADOQuery1.Post;
  ActRefresh.Execute;
  ShowMsg('UMS10000539');  //报价单状态已成功设置为确认状态
end;

procedure TOrd500_01Form.Action2Execute(Sender: TObject);
begin
  inherited;
//报价
  if ADOQuery1.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  if ADOQuery1O500A_004.Value<>1 then
  begin
    ShowMsg('UMS10000534');  //仅确认状态的报价单可以报价
    Abort;
  end;
  ADOQuery1.Edit;
  ADOQuery1O500A_004.Value:=2;
  ADOQuery1.Post;
  ActRefresh.Execute;
  ShowMsg('UMS10000538');  //报价单状态已成功设置为报价状态
end;

procedure TOrd500_01Form.Action3Execute(Sender: TObject);
begin
  inherited;
//完成
  if ADOQuery1.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  if ADOQuery1O500A_004.Value<>2 then
  begin
    ShowMsg('UMS10000536');  //仅报价状态的报价单可以完成
    Abort;
  end;
  //报价单生成销售定单
  CreateOrder(ADOQuery1O500A_001.AsString);
  ADOQuery1.Edit;
  ADOQuery1O500A_004.Value:=3;
  ADOQuery1.Post;
  ActRefresh.Execute;
  ShowMsg('UMS10000541');  //报价单状态已成功设置为完成状态
end;

procedure TOrd500_01Form.dxDBGrid1O500A_001DrawSummaryFooter(
  Sender: TObject; ACanvas: TCanvas; ARect: TRect; var AText: String;
  var AAlignment: TAlignment; AFont: TFont; var AColor: TColor;
  var ADone: Boolean);
begin
  inherited;
  AColor:=clWhite;
  AText:=GetDBString('COM00004002')+IntToStr(ARecordCount);  //记录总数:
end;

procedure TOrd500_01Form.Action4Execute(Sender: TObject);
begin
  inherited;
//取消
  if ADOQuery1.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  if not (ADOQuery1O500A_004.Value in [1,2]) then
  begin
    ShowMsg('UMS10000569');  //仅报价状态或确认状态的报价单可以取消
    Abort;
  end;
  ADOQuery1.Edit;
  ADOQuery1O500A_004.Value:=4;
  ADOQuery1.Post;
  ActRefresh.Execute;
  ShowMsg('UMS10000540');  //报价单状态已成功设置为取消状态
end;

procedure TOrd500_01Form.ActPrintExecute(Sender: TObject);
begin
  AReportName:='';
  SYSDM.frDBDataSet2.DataSet:=adsOrd500B;
  inherited;
end;

//取得明细表数据
procedure TOrd500_01Form.GetDetailData;
begin
  adsOrd500B.DisableControls;
  adsOrd500.DisableControls;
  adsOrd500B.Close;
  adsOrd500B.CreateDataSet;
  adsOrd500.Close;
  adsOrd500.CreateDataSet;
  qryOrd500B.Close;
  qryOrd500B.SQL.Clear;
  qryOrd500B.SQL.Add('select A.*,B.I150_002,B.I150_003,B.I150_004,C.I140_002,C.I140_003');
  qryOrd500B.SQL.Add('from (ORD500B A left join INV150 B on A.O500B_003=B.I150_001) left join INV140 C on A.O500B_004=C.I140_001');
  qryOrd500B.SQL.Add('where A.O500B_001='+''''+ADOQuery1O500A_001.AsString+'''');
  qryOrd500B.SQL.Add('order by O500B_002');
  qryOrd500B.Open;
  while not qryOrd500B.Eof do
  begin
    if qryOrd500B.FieldByName('O500B_018').AsInteger=2 then
    begin
      adsOrd500.Append;
      adsOrd500.FieldByName('FNo').Value:=qryOrd500B.FieldByName('O500B_002').Value;
      adsOrd500.FieldByName('FItemNo').Value:=qryOrd500B.FieldByName('O500B_003').Value;
      adsOrd500.FieldByName('FItemID').Value:=qryOrd500B.FieldByName('I150_002').Value;
      adsOrd500.FieldByName('FItemName').Value:=qryOrd500B.FieldByName('I150_003').Value;
      adsOrd500.FieldByName('FItemSpec').Value:=qryOrd500B.FieldByName('I150_004').Value;
      adsOrd500.FieldByName('FUnitNo').Value:=qryOrd500B.FieldByName('O500B_004').Value;
      adsOrd500.FieldByName('FUnitID').Value:=qryOrd500B.FieldByName('I140_002').Value;
      adsOrd500.FieldByName('FUnitName').Value:=qryOrd500B.FieldByName('I140_003').Value;
      adsOrd500.FieldByName('FQty').Value:=qryOrd500B.FieldByName('O500B_005').Value;
      adsOrd500.FieldByName('FPrice').Value:=qryOrd500B.FieldByName('O500B_006').Value;
      adsOrd500.FieldByName('FAmount').Value:=qryOrd500B.FieldByName('O500B_007').Value;
      adsOrd500.FieldByName('FDisRate').Value:=qryOrd500B.FieldByName('O500B_008').Value;
      adsOrd500.FieldByName('FDisAmt').Value:=qryOrd500B.FieldByName('O500B_009').Value;
      adsOrd500.FieldByName('FNetAmt').Value:=qryOrd500B.FieldByName('O500B_010').Value;
      adsOrd500.FieldByName('FTax').Value:=qryOrd500B.FieldByName('O500B_011').Value;
      adsOrd500.FieldByName('FTaxAmt').Value:=qryOrd500B.FieldByName('O500B_012').Value;
      adsOrd500.FieldByName('FAcrAmt').Value:=qryOrd500B.FieldByName('O500B_013').Value;
      adsOrd500.FieldByName('FDate').Value:=qryOrd500B.FieldByName('O500B_014').Value;
      adsOrd500.FieldByName('FFactDate').Value:=qryOrd500B.FieldByName('O500B_015').Value;
      adsOrd500.FieldByName('FReceQty').Value:=qryOrd500B.FieldByName('O500B_016').Value;
      adsOrd500.FieldByName('FPlace').Value:=qryOrd500B.FieldByName('O500B_017').Value;
      adsOrd500.FieldByName('FFromID').Value:=qryOrd500B.FieldByName('O500B_019').Value;
      adsOrd500.FieldByName('FLineNo').Value:=qryOrd500B.FieldByName('O500B_020').Value;
      adsOrd500.FieldByName('FRemark').Value:=qryOrd500B.FieldByName('O500B_021').Value;
      adsOrd500.FieldByName('FReturn').Value:=qryOrd500B.FieldByName('O500B_022').Value;
      adsOrd500.FieldByName('FUnitRate').Value:=qryOrd500B.FieldByName('O500B_023').Value;
      adsOrd500.Post;
    end else
    begin
      adsOrd500B.Append;
      adsOrd500B.FieldByName('FNo').Value:=qryOrd500B.FieldByName('O500B_002').Value;
      adsOrd500B.FieldByName('FItemNo').Value:=qryOrd500B.FieldByName('O500B_003').Value;
      adsOrd500B.FieldByName('FItemID').Value:=qryOrd500B.FieldByName('I150_002').Value;
      adsOrd500B.FieldByName('FItemName').Value:=qryOrd500B.FieldByName('I150_003').Value;
      adsOrd500B.FieldByName('FItemSpec').Value:=qryOrd500B.FieldByName('I150_004').Value;
      adsOrd500B.FieldByName('FUnitNo').Value:=qryOrd500B.FieldByName('O500B_004').Value;
      adsOrd500B.FieldByName('FUnitID').Value:=qryOrd500B.FieldByName('I140_002').Value;
      adsOrd500B.FieldByName('FUnitName').Value:=qryOrd500B.FieldByName('I140_003').Value;
      adsOrd500B.FieldByName('FQty').Value:=qryOrd500B.FieldByName('O500B_005').Value;
      adsOrd500B.FieldByName('FPrice').Value:=qryOrd500B.FieldByName('O500B_006').Value;
      adsOrd500B.FieldByName('FAmount').Value:=qryOrd500B.FieldByName('O500B_007').Value;
      adsOrd500B.FieldByName('FDisRate').Value:=qryOrd500B.FieldByName('O500B_008').Value;
      adsOrd500B.FieldByName('FDisAmt').Value:=qryOrd500B.FieldByName('O500B_009').Value;
      adsOrd500B.FieldByName('FNetAmt').Value:=qryOrd500B.FieldByName('O500B_010').Value;
      adsOrd500B.FieldByName('FTax').Value:=qryOrd500B.FieldByName('O500B_011').Value;
      adsOrd500B.FieldByName('FTaxAmt').Value:=qryOrd500B.FieldByName('O500B_012').Value;
      adsOrd500B.FieldByName('FAcrAmt').Value:=qryOrd500B.FieldByName('O500B_013').Value;
      adsOrd500B.FieldByName('FDate').Value:=qryOrd500B.FieldByName('O500B_014').Value;
      adsOrd500B.FieldByName('FFactDate').Value:=qryOrd500B.FieldByName('O500B_015').Value;
      adsOrd500B.FieldByName('FReceQty').Value:=qryOrd500B.FieldByName('O500B_016').Value;
      adsOrd500B.FieldByName('FPlace').Value:=qryOrd500B.FieldByName('O500B_017').Value;
      adsOrd500B.FieldByName('FFromID').Value:=qryOrd500B.FieldByName('O500B_019').Value;
      adsOrd500B.FieldByName('FLineNo').Value:=qryOrd500B.FieldByName('O500B_020').Value;
      adsOrd500B.FieldByName('FRemark').Value:=qryOrd500B.FieldByName('O500B_021').Value;
      adsOrd500B.FieldByName('FReturn').Value:=qryOrd500B.FieldByName('O500B_022').Value;
      adsOrd500B.FieldByName('FUnitRate').Value:=qryOrd500B.FieldByName('O500B_023').Value;
      adsOrd500B.Post;
    end;
    qryOrd500B.Next;
  end;
  adsOrd500B.EnableControls;
  adsOrd500.EnableControls;
end;

procedure TOrd500_01Form.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
  inherited;
  GetDetailData;
end;

initialization
  RegisterClass(TOrd500_01Form);

finalization
  UnRegisterClass(TOrd500_01Form);

end.

⌨️ 快捷键说明

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