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

📄 tas500_02.pas.svn-base

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

procedure TTas500_02Form.edtCustExit(Sender: TObject);
var
  ACustNo:string;
begin
  inherited;
//客户编号
  if trim(edtCust.Text)='' then Exit;
  if qryOrd150.Locate('O150_002',edtCust.Text,[]) then
  begin
    edtCust.Text:=qryOrd150.FieldByName('O150_002').AsString;
    edtCustName.Text:=qryOrd150.FieldByName('O150_003').AsString;
    edtPhone.Text:=qryOrd150.FieldByName('O150_005').AsString;
    edtAddress.Text:=qryOrd150.FieldByName('O150_012').AsString;
    edtEmail.Text:=qryOrd150.FieldByName('O150_007').AsString;
    ACustNo:=qryOrd150.FieldByName('O150_001').AsString;
    if ACustNo<>'' then
    begin
      SYSDM.qryQuery.Close;
      SYSDM.qryQuery.SQL.Clear;
      SYSDM.qryQuery.SQL.Add('select top 1 * from ORD151 where O151_011<>0 and O151_001='+ACustNo);
      SYSDM.qryQuery.Open;
      edtContact.Text:=SYSDM.qryQuery.FieldByName('O151_002').AsString;
      edtPost.Text:=SYSDM.qryQuery.FieldByName('O151_004').AsString;
    end;
    qryOrd153.Close;
    qryOrd153.SQL.Clear;
    qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
    qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
    qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
    qryOrd153.SQL.Add('where A.O153_001=B.O150_001 and A.O153_002=C.I150_001 and C.I150_005=D.I120_001 and B.O150_002='+''''+edtCust.Text+''''+') as AA');
    qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
    qryOrd153.Open;
  end else
  begin
    edtCust.Text:='';
    edtCustName.Text:='';
    edtPhone.Text:='';
    edtAddress.Text:='';
    edtContact.Text:='';
    edtPost.Text:='';
    edtEmail.Text:='';
    ShowMsg('UMS10000264');  //输入的客户编号无效
    edtCust.SetFocus;
    Abort;
  end;
end;

procedure TTas500_02Form.edtItemExit(Sender: TObject);
var
  ACustNo,AItemNo:Integer;
  AMacNo:string;
  ACustomerInfo:TCustomerInfo;
begin
  inherited;
//产品编号
  if trim(edtItem.Text)='' then Exit;
  if not qryOrd150.Locate('O150_002',edtCust.Text,[]) then
  begin
    ShowMsg('UMS10000266');  //必须先输入正确的客户编号
    edtCust.SetFocus;
    Abort;
  end;
  qryOrd153.Close;
  qryOrd153.SQL.Clear;
  qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
  qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
  qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
  qryOrd153.SQL.Add('where A.O153_001=B.O150_001 and A.O153_002=C.I150_001 and C.I150_005=D.I120_001 and B.O150_002='+''''+edtCust.Text+''''+') as AA');
  qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
  qryOrd153.Open;

  if qryOrd153.Locate('I150_002',edtItem.Text,[]) then
  begin
    edtItem.Text:=qryOrd153.FieldByName('I150_002').AsString;
    edtItemName.Text:=qryOrd153.FieldByName('I150_003').AsString;
//    edtMacNo.Text:=qryOrd153.FieldByName('O153_003').AsString;
    edtModel.Text:=qryOrd153.FieldByName('I150_004').AsString;
    edtItemClass.Text:=qryOrd153.FieldByName('I120_003').AsString;
    edtMaker.Text:=qryOrd153.FieldByName('O150_002').AsString;
    edtMakerName.Text:=qryOrd153.FieldByName('O150_003').AsString;

    ACustNo:=qryOrd150O150_001.Value;
    AItemNo:=qryOrd153I150_001.Value;
    AMacNo:=edtMacNo.Text;
    GetCustomerInfo(ACustNo,AItemNo,AMacNo,ACustomerInfo);
    edtPhone.Text:=ACustomerInfo.CustPhone;
    edtEmail.Text:=ACustomerInfo.CustEmail;
    edtAddress.Text:=ACustomerInfo.CustAddress;
    edtContact.Text:=ACustomerInfo.CustContact;
    edtPost.Text:=ACustomerInfo.CustPosition;
  end else
  begin
    edtItem.Text:='';
    edtItemName.Text:='';
    edtMacNo.Text:='';
    edtModel.Text:='';
    edtItemClass.Text:='';
    edtMaker.Text:='';
    edtMakerName.Text:='';
    ShowMsg('UMS10000267');  //输入的产品编号无效
    edtItem.SetFocus;
    Abort;
  end;
end;

procedure TTas500_02Form.edtMacNoExit(Sender: TObject);
begin
  inherited;
//机身编号
  if trim(edtMacNo.Text)='' then Exit;
  if not qryOrd150.Locate('O150_002',edtCust.Text,[]) then
  begin
    ShowMsg('UMS10000266');  //必须先输入正确的客户编号
    edtCust.SetFocus;
    Abort;
  end;
  qryOrd153.Close;
  qryOrd153.SQL.Clear;
  qryOrd153.SQL.Add('select AA.*,BB.O150_002,BB.O150_003 from');
  qryOrd153.SQL.Add(' (select C.I150_002,A.O153_003,C.I150_003,C.I150_004,D.I120_003,C.I150_001,C.I150_010');
  qryOrd153.SQL.Add('from ORD153 A, ORD150 B, INV150 C, INV120 D');
  qryOrd153.SQL.Add('where A.O153_001=B.O150_001 and A.O153_002=C.I150_001 and C.I150_005=D.I120_001 and B.O150_002='+''''+edtCust.Text+''''+') as AA');
  qryOrd153.SQL.Add('left join ORD150 BB on AA.I150_010=BB.O150_001');
  qryOrd153.Open;
  if qryOrd153.Locate('O153_003',edtMacNo.Text,[]) then
  begin
    edtItem.Text:=qryOrd153.FieldByName('I150_002').AsString;
    edtItemName.Text:=qryOrd153.FieldByName('I150_003').AsString;
    edtMacNo.Text:=qryOrd153.FieldByName('O153_003').AsString;
    edtModel.Text:=qryOrd153.FieldByName('I150_004').AsString;
    edtItemClass.Text:=qryOrd153.FieldByName('I120_003').AsString;
    edtMaker.Text:=qryOrd153.FieldByName('O150_002').AsString;
    edtMakerName.Text:=qryOrd153.FieldByName('O150_003').AsString;
  end else
  begin
    edtItem.Text:='';
    edtItemName.Text:='';
    edtMacNo.Text:='';
    edtModel.Text:='';
    edtItemClass.Text:='';
    edtMaker.Text:='';
    edtMakerName.Text:='';
    ShowMsg('UMS10000268');  //输入的机身编号无效
    edtMacNo.SetFocus;
    Abort;
  end;
end;

procedure TTas500_02Form.edtDaysKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  ValidFloat(Sender,Key);
end;

procedure TTas500_02Form.ActFirstExecute(Sender: TObject);
begin
  inherited;
//最前
  if qryTas500.IsEmpty then Exit;
  qryTas500.First;
  ActFirst.Enabled:=False;
  ActPrior.Enabled:=False;
  ActNext.Enabled:=True;
  ActLast.Enabled:=True;
end;

procedure TTas500_02Form.ActPriorExecute(Sender: TObject);
begin
  inherited;
//上移
  if qryTas500.IsEmpty then Exit;
  qryTas500.Prior;
  ActNext.Enabled:=not qryTas500.Eof;
  ActLast.Enabled:=not qryTas500.Eof;
  ActFirst.Enabled:=not qryTas500.Bof;
  ActPrior.Enabled:=not qryTas500.Bof;
end;

procedure TTas500_02Form.ActNextExecute(Sender: TObject);
begin
  inherited;
//下移
  if qryTas500.IsEmpty then Exit;
  qryTas500.Next;
  ActNext.Enabled:=not qryTas500.Eof;
  ActLast.Enabled:=not qryTas500.Eof;
  ActFirst.Enabled:=not qryTas500.Bof;
  ActPrior.Enabled:=not qryTas500.Bof;
end;

procedure TTas500_02Form.ActLastExecute(Sender: TObject);
begin
  inherited;
//最后
  if qryTas500.IsEmpty then Exit;
  qryTas500.Last;
  ActNext.Enabled:=False;
  ActLast.Enabled:=False;
  ActFirst.Enabled:=True;
  ActPrior.Enabled:=True;
end;

procedure TTas500_02Form.ActInsertExecute(Sender: TObject);
var
  ADate:TDateTime;
  S:String;
begin
  inherited;
//新增
  Screen.Cursor:=crHourGlass;
  AMode:='ADD';
  edtCode.Text:='';
  edtName.Text:='';
  cbClass.Text:='';
  //优先级缺省值
  S:=GetSysParams('TAS0008');
  if S<>'' then
  begin
    edtPriority.Text:=S;
    udPriority.Position:=StrToInt(S);
  end;
  edtPercent.Text:='0';
  edtOrder.Text:='';
  edtManager.Text:='';
  edtManagerName.Text:='';
  edtCust.Text:='';
  edtCustName.Text:='';
  edtPhone.Text:='';
  edtAddress.Text:='';
  edtContact.Text:='';
  edtPost.Text:='';
  edtEmail.Text:='';
  edtItem.Text:='';
  edtItemName.Text:='';
  edtMacNo.Text:='';
  edtModel.Text:='';
  edtItemClass.Text:='';
  edtMaker.Text:='';
  edtMakerName.Text:='';
  AOldCustNo:=0;
  AOldItemNo:=0;
  AOldMacNo:='';
  memDetails.Clear;
  AOldFrom:=0;
  AOldOrder:='';
  ADate:=GetServerDate;
  edtDate.Date:=ADate;
  edtFromDate.Clear;
  edtToDate.Clear;
  edtFactFromDate.Clear;
  edtFactToDate.Clear;
  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;
  cbFrom.ItemIndex:=1;  //手工输入
  cbFromChange(cbFrom);
  edtDays.Text:='1';
  edtFactDays.Text:='0';
  cbUnit.ItemIndex:=1;  //天
  edtStatus.Text:=GetValue('select T120_003 from TAS120 where T120_001=1');

  SetButtonState(True);
  if Visible then
    if edtCode.Enabled then edtCode.SetFocus else edtName.SetFocus;
  Screen.Cursor:=crDefault;
end;

procedure TTas500_02Form.ActUpdateExecute(Sender: TObject);
begin
  inherited;
//修改
  if qryTas500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  if qryTas500T500_003.AsInteger<>1 then
  begin
    ShowMsg('UMS10000302');  //不允许修改非计划状态的记录
    Abort;
  end;

  Screen.Cursor:=crHourGlass;
  AMode:='UPD';
  SetButtonState(True);
  if Visible then
    if edtCode.Enabled then edtCode.SetFocus else edtName.SetFocus;
  Screen.Cursor:=crDefault;
end;

procedure TTas500_02Form.ActDeleteExecute(Sender: TObject);
var
  ATypeNo:Integer;
  AOrderID,ACode:string;
begin
  inherited;
//删除
  if qryTas500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;

  //仅状态=计划时可删除
  if qryTas500T500_003.AsInteger<>1 then
  begin
    ShowMsg('UMS10000263');  //不允许删除非计划状态的记录
    Abort;
  end;
  if ShowDialog('UMS10000008')=IDNO then Abort;  //确定要删除此记录吗?
  AOrderID:='';
  ATypeNo:=qryTas500.FieldByName('T500_007').AsInteger;
  AOrderID:=qryTas500.FieldByName('T500_008').AsString;
  ACode:=qryTas500T500_001.AsString;
  DeleteTableRecord(qryTas500,'TAS500','T500_001='+''''+ACode+'''');
  //更新来源单据的相关字段
  case ATypeNo of
    0:UpdateOrderInfo(AOrderID,0);  //销售定单
    2:UpdateCallInfo(AOrderID,0);   //来电记录
  end;
end;

procedure TTas500_02Form.ActSaveExecute(Sender: TObject);
begin
  inherited;
//保存
  try
    Screen.Cursor:=crHourGlass;
    SaveData;
  finally
    Screen.Cursor:=crDefault;
  end;
end;

procedure TTas500_02Form.ActCancelExecute(Sender: TObject);
begin
  inherited;
//取消
  SetButtonState(False);
  qryTas500AfterScroll(qryTas500);
end;

procedure TTas500_02Form.ActRefreshExecute(Sender: TObject);
var
  ACode:string;
begin
  inherited;
//刷新
  ACode:=qryTas500.FieldByName('T500_001').AsString;
  qryTas500.DisableControls;
  qryTas500.Close;
  qryTas500.Open;
  qryTas500.Locate('T500_001',ACode,[]);
  qryTas500.EnableControls;
end;

procedure TTas500_02Form.ActLocateExecute(Sender: TObject);
begin
  inherited;
//查找
  if qryTas500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  LocateDialog(dsTas500);
end;

procedure TTas500_02Form.ActSearchExecute(Sender: TObject);
begin
  inherited;
//查询
  FilterDialog(dsTas500);
end;

procedure TTas500_02Form.ActPrintExecute(Sender: TObject);
begin
  inherited;
//打印
  SelectReport(qryTas500,AProgramID,AReportName,ReportGetValue);
  ActRefresh.Execute;
end;

procedure TTas500_02Form.ActExitExecute(Sender: TObject);
begin
  inherited;
//退出
  Close;
end;

procedure TTas500_02Form.qryTas500AfterScroll(DataSet: TDataSet);
begin
  inherited;
  if qryTas500.State in [dsInsert,dsEdit] then Exit;
  if qryTas500.IsEmpty then Exit;
  edtCode.Text:=qryTas500.FieldByName('T500_001').AsString;
  AOldCode:=edtCode.Text;
  edtName.Text:=qryTas500.FieldByName('T500_002').AsString;

⌨️ 快捷键说明

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