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

📄 ord320_01.pas.svn-base

📁 一个用Delphi开发的ERP软件
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
  AOrderStatus[0]:=GetDBString('ORD32001048');  //新建
  AOrderStatus[1]:=GetDBString('ORD32001049');  //执行
  AOrderStatus[2]:=GetDBString('ORD32001050');  //发货
  AOrderStatus[3]:=GetDBString('ORD32001051');  //取消
  AOrderStatus[4]:=GetDBString('ORD32001052');  //锁定
  AOrderStatus[5]:=GetDBString('ORD32001053');  //完成

  //提货方式(0=自提,1=送货,2=托运,3=邮寄,4=快递)
  AOrderPick[0]:=GetDBString('ORD32001054');  //自提
  AOrderPick[1]:=GetDBString('ORD32001055');  //送货
  AOrderPick[2]:=GetDBString('ORD32001056');  //托运
  AOrderPick[3]:=GetDBString('ORD32001057');  //邮寄
  AOrderPick[4]:=GetDBString('ORD32001058');  //快递

  //来源类型(0=手工输入,1=销售报价,2=销售合同)
  AOrderFrom[0]:=GetDBString('ORD32001059');  //手工输入
  AOrderFrom[1]:=GetDBString('ORD32001060');  //销售报价
  AOrderFrom[2]:=GetDBString('ORD32001061');  //销售合同

  PageControl1.ActivePageIndex:=0;
  PageControl2.ActivePageIndex:=0;
end;

procedure TOrd320_01Form.FormCreate(Sender: TObject);
var
  ADate:TDateTime;
begin
  inherited;
  SetInterface;
  SetButtonState(False);
  LoadFromReg(Self); //这行一定放在打开数据集后面,否则无效

  ADate:=GetServerDate;
  edtFromDate.Date:=GetMonthFirstDate(ADate);
  edtToDate.Date:=GetMonthEndDate(ADate);
  sbSearch.Click;
  ADOQuery1.Open;
  ADOQuery2.Open;
end;

procedure TOrd320_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  qryOrd510.Close;
  qryPur510.Close;
  qryInv500.Close;
  qryHrm150.Close;
  ADOQuery1.Close;
  ADOQuery2.Close;
end;

procedure TOrd320_01Form.dbgPur510BackgroundDrawEvent(Sender: TObject;
  ACanvas: TCanvas; ARect: TRect);
var
  AText:string;
begin
  inherited;
  ARect.Left:=0;
  ARect.Top:=0;
  ACanvas.Brush.Color:=TdxDBGrid(Sender).GroupPanelColor;
  ACanvas.Font.Color:=TdxDBGrid(Sender).GroupPanelFontColor;
  //您可以把列标题拖放到此处使记录按此列进行分组
  if TdxDBGrid(Sender).GroupColumnCount=0 then AText:=' '+GetDBString('NOT10001012') else AText:='';
  Windows.FillRect(ACanvas.Handle, ARect, 0);
  DrawText(ACanvas.Handle, PChar(AText), Length(AText), ARect, DT_LEFT or DT_EXPANDTABS or DT_NOPREFIX or DT_SINGLELINE or DT_VCENTER);
end;

procedure TOrd320_01Form.sbSearchClick(Sender: TObject);
begin
  inherited;
//查询
  if Assigned(SYSDM.wwFilterDialog1.Form) then SYSDM.wwFilterDialog1.ClearFilter;

  qryOrd510.Close;
  qryOrd510.SQL.Clear;
  qryOrd510.SQL.Add('select A.*,');
  qryOrd510.SQL.Add('    B.O100_002,');
  qryOrd510.SQL.Add('    C.O150_002,C.O150_003,C.O150_005,C.O150_006,C.O150_012,');
  qryOrd510.SQL.Add('    D.G100_002,D.G100_003,');
  qryOrd510.SQL.Add('    E.G110_002');
  qryOrd510.SQL.Add('from ORD510A A,ORD100 B,ORD150 C,GLD100 D,GLD110 E');
  qryOrd510.SQL.Add('where A.O510A_002=B.O100_001 and A.O510A_017=C.O150_001 and A.O510A_007=D.G100_001 and A.O510A_009=E.G110_001 and');
  qryOrd510.SQL.Add('      O510A_003>='+GetDateString(edtFromDate.Date)+' and O510A_003<='+GetDateString(edtToDate.Date));
  qryOrd510.SQL.Add('order by A.O510A_001');
  qryOrd510.Open;

  qryPur510.Close;
  qryPur510.SQL.Clear;
  qryPur510.SQL.Add('select A.P510A_001,A.P510A_003,');
  qryPur510.SQL.Add('    C.I150_002,C.I150_003,C.I150_004,');
  qryPur510.SQL.Add('    D.I140_002,D.I140_003,');
  qryPur510.SQL.Add('    B.P510B_005,B.P510B_016');
  qryPur510.SQL.Add('from PUR510A A,PUR510B B,INV150 C,INV140 D');
  qryPur510.SQL.Add('where A.P510A_001=B.P510B_001 and A.P510A_006=3 and B.P510B_019=:O510A_001 and');
  qryPur510.SQL.Add('      B.P510B_003=C.I150_001 and B.P510B_004=D.I140_001');
  qryPur510.SQL.Add('order by A.P510A_001');
  qryPur510.Open;

  qryInv500.Close;
  qryInv500.SQL.Clear;
  qryInv500.SQL.Add('select A.I500A_001,A.I500A_004,');
  qryInv500.SQL.Add('       C.I150_002,C.I150_003,C.I150_004,');
  qryInv500.SQL.Add('       D.I140_002,D.I140_003,');
  qryInv500.SQL.Add('       B.I500B_005');
  qryInv500.SQL.Add('from INV500A A,INV500B B,INV150 C,INV140 D,INV550 E');
  qryInv500.SQL.Add('where A.I500A_001=B.I500B_001 and B.I500B_003=C.I150_001 and B.I500B_004=D.I140_001 and');
  qryInv500.SQL.Add('      A.I500A_002=E.I550_001 and E.I550_005=1 and B.I500B_011=:P510A_001');
  qryInv500.SQL.Add('order by I500A_001');
  qryInv500.Open;

  qryHrm150.Open;

  Screen.Cursor:=crDefault;
end;

procedure TOrd320_01Form.dbgOrd510CustomDrawCell(Sender: TObject; ACanvas: TCanvas;
  ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxTreeListColumn;
  ASelected, AFocused, ANewItemRow: Boolean; var AText: String;
  var AColor: TColor; AFont: TFont; var AAlignment: TAlignment;
  var ADone: Boolean);
begin
  inherited;
  if ANode.HasChildren then Exit;
  if not ASelected then
//    if ANode.Values[dbgTas510T120_005.Index]<>null then AFont.Color:=ANode.Values[dbgTas510T120_005.Index];
end;

procedure TOrd320_01Form.cbClassChange(Sender: TObject);
begin
  inherited;
  sbSearch.Click;
end;

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

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

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

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

procedure TOrd320_01Form.ActRefreshExecute(Sender: TObject);
begin
  inherited;
//刷新
  sbSearch.Click;
end;

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

procedure TOrd320_01Form.ActSearchExecute(Sender: TObject);
begin
  inherited;
//查询
  try
    FilterDialog(dsOrd510);
  finally
    SYSDM.wwFilterDialog1.OnSelectField:=nil;
  end;
end;

procedure TOrd320_01Form.ActPrintExecute(Sender: TObject);
var
  AfrReport:TfrReport;
begin
//打印
  inherited;
  AfrReport:=TfrReport.Create(nil);
  try
    PreparedReport(qryOrd510,AReportName,AfrReport);
    SYSDM.frDBDataSet1.DataSet:=qryOrd510;
    SYSDM.frDBDataSet1.RangeBegin:=rbCurrent;
    SYSDM.frDBDataSet1.RangeEnd:=reCurrent;
    SYSDM.frDBDataSet2.DataSet:=qryPur510;
    SYSDM.frDBDataSet3.DataSet:=qryInv500;
    qryOrd510.DisableControls;
    SYSDM.frReport2.OnGetValue:=ReportGetValue;
    SYSDM.frReport2.ShowPreparedReport;
    SYSDM.frReport2.ShowReport;
    qryOrd510.EnableControls;
  finally
    qryOrd510.EnableControls;
    SYSDM.frDBDataSet1.RangeBegin:=rbFirst;
    SYSDM.frDBDataSet1.RangeEnd:=reLast;
    SYSDM.frReport2.Clear;
//    AfrReport.Free;
  end;
end;

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

procedure TOrd320_01Form.ActOpenExecute(Sender: TObject);
var
  ACode:string;
begin
  inherited;
//查看(&N)
  if dbgOrd510.Focused then
  begin
    if qryOrd510.IsEmpty then Exit;
    Screen.Cursor:=crHourGlass;
    ACode:=qryOrd510O510A_001.Value;
    Ord510_02Form:=TOrd510_02Form.Create(Application);
    Ord510_02Form.OpenData(ACode);
    Screen.Cursor:=crDefault;
    Ord510_02Form.ShowModal;
  end else
  if dbgPur510.Focused then
  begin
    if qryPur510.IsEmpty then Exit;
    Screen.Cursor:=crHourGlass;
    ACode:=qryPur510P510A_001.Value;
    Pur510_02Form:=TPur510_02Form.Create(Application);
    Pur510_02Form.OpenData(ACode);
    Screen.Cursor:=crDefault;
    Pur510_02Form.ShowModal;
  end else
  if dbgInv500.Focused then
  begin
    if qryInv500.IsEmpty then Exit;
    Screen.Cursor:=crHourGlass;
    ACode:=qryInv500I500A_001.Value;
    Inv500_02Form:=TInv500_02Form.Create(Application);
    Inv500_02Form.OpenData(ACode);
    Screen.Cursor:=crDefault;
    Inv500_02Form.ShowModal;
  end;
end;

procedure TOrd320_01Form.dbgOrd510DblClick(Sender: TObject);
begin
  inherited;
//查看
  ActOpen.Execute;
end;

procedure TOrd320_01Form.ReportGetValue(const ParName: String; var ParValue: Variant);
begin
  if ParName='USENM' then ParValue:=AUserName
  else if ParName='PRNDT' then ParValue:=GetDBString('COM00006006')  //列印日期
  else if ParName='PRNNM' then ParValue:=GetDBString('COM00006007')  //列印人員
  else if ParName='REPNM' then ParValue:=AReportTitle
end;

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

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

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

procedure TOrd320_01Form.qryOrd510AfterScroll(DataSet: TDataSet);
begin
  inherited;
  if not Active then Exit;
  ActNext.Enabled:=not qryOrd510.Eof;
  ActLast.Enabled:=not qryOrd510.Eof;
  ActFirst.Enabled:=not qryOrd510.Bof;
  ActPrior.Enabled:=not qryOrd510.Bof;
end;

initialization
  RegisterClass(TOrd320_01Form);

finalization
  UnRegisterClass(TOrd320_01Form);

end.

⌨️ 快捷键说明

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