📄 ord320_01.pas.svn-base
字号:
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 + -