📄 pur500_02.pas
字号:
unit Pur500_02;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BAS200_13, DB, ADODB, ActnList, Menus, ComCtrls, ToolWin,
StdCtrls, wwdbdatetimepicker, Buttons, Mask, wwdbedit, Wwdotdot, Grids,
Wwdbigrd, Wwdbgrid, dxdbtrel;
type
TPur500_02Form = class(TBas200_13Form)
lblDept: TLabel;
lblChecker: TLabel;
lblType: TLabel;
lblDate: TLabel;
lblPerson: TLabel;
sbPerson: TSpeedButton;
lblStatues: TLabel;
lblFrom: TLabel;
lblCheckDate: TLabel;
edtChecker: TEdit;
cbType: TComboBox;
edtDate: TwwDBDateTimePicker;
edtPerson: TEdit;
edtStatus: TEdit;
cbFrom: TComboBox;
edtCheckDate: TEdit;
edtPersonName: TEdit;
PageControl2: TPageControl;
tsPlace: TTabSheet;
GroupBox2: TGroupBox;
lblPlace: TLabel;
sbPlace: TSpeedButton;
lblPlacePhone: TLabel;
lblPlaceContact: TLabel;
lblPlaceAddress: TLabel;
lblRegion: TLabel;
lblPlaceFax: TLabel;
lblPlacePosit: TLabel;
lblPlaceDept: TLabel;
edtPlace: TEdit;
edtRegion: TEdit;
edtPlacePhone: TEdit;
edtPlaceAddress: TEdit;
edtPlaceFax: TEdit;
edtPlacePosit: TEdit;
edtPlaceDept: TEdit;
tsRemark: TTabSheet;
memRemark: TMemo;
PageControl1: TPageControl;
tsItem: TTabSheet;
wwDBGrid1: TwwDBGrid;
edtItem: TwwDBComboDlg;
edtUnit: TwwDBComboDlg;
ADOQuery1P500A_001: TWideStringField;
ADOQuery1P100_002: TWideStringField;
ADOQuery1P500A_002: TSmallintField;
ADOQuery1P500A_003: TDateTimeField;
ADOQuery1P500A_004: TSmallintField;
ADOQuery1P500A_005: TSmallintField;
ADOQuery1P500A_006: TWideStringField;
ADOQuery1H150_002: TWideStringField;
ADOQuery1H150_003: TWideStringField;
ADOQuery1P500A_007: TIntegerField;
ADOQuery1H100_002: TWideStringField;
ADOQuery1P500A_008: TIntegerField;
ADOQuery1P500A_009: TWideStringField;
ADOQuery1P500A_010: TDateTimeField;
ADOQuery1P500A_011: TWideStringField;
ADOQuery1P500A_012: TMemoField;
ADOQuery1P500A_013: TDateTimeField;
ADOQuery1P500A_014: TWideStringField;
ADOQuery1P500A_015: TDateTimeField;
ADOQuery1P500A_016: TWideStringField;
qryPur100: TADOQuery;
qryHrm150: TADOQuery;
qryHrm150H150_001: TAutoIncField;
qryHrm150H150_002: TWideStringField;
qryHrm150H150_003: TWideStringField;
qryInv150: TADOQuery;
qryInv150I150_001: TAutoIncField;
qryInv150I150_002: TWideStringField;
qryInv150I150_003: TWideStringField;
qryInv150I150_004: TWideStringField;
qryInv150I150_008: TWideStringField;
qryInv150I140_002: TWideStringField;
qryInv150I140_003: TWideStringField;
qryInv150I140_001: TAutoIncField;
qryInv140: TADOQuery;
qryInv140I140_001: TAutoIncField;
qryInv140I140_002: TWideStringField;
qryInv140I140_003: TWideStringField;
qryOrd152: TADOQuery;
qryOrd152O152_001: TIntegerField;
qryOrd152O152_002: TWideStringField;
qryOrd152O120_002: TWideStringField;
qryOrd152O152_004: TWideStringField;
qryOrd152O152_005: TWideStringField;
qryOrd152O152_006: TWideStringField;
qryOrd152O152_007: TWideStringField;
qryOrd152O151_002: TWideStringField;
qryOrd152O151_003: TWideStringField;
qryOrd152O151_004: TWideStringField;
qryOrd152O152_003: TIntegerField;
qryOrd152O152_008: TWideStringField;
qryOrd152O152_009: TMemoField;
qryOrd152O152_010: TBooleanField;
adsPur500B: TADODataSet;
adsPur500BFItemID: TStringField;
adsPur500BFItemName: TStringField;
adsPur500BFEngItemName: TStringField;
adsPur500BFItemSpec: TStringField;
adsPur500BFUnitID: TStringField;
adsPur500BFUnitName: TStringField;
adsPur500BFUnitRate: TFloatField;
adsPur500BFQty: TFloatField;
adsPur500BFDate: TDateTimeField;
adsPur500BFPlace: TStringField;
adsPur500BFFromID: TStringField;
adsPur500BFLineNo: TIntegerField;
adsPur500BFRemark: TStringField;
adsPur500BFNo: TIntegerField;
adsPur500BFItemNo: TIntegerField;
adsPur500BFUnitNo: TIntegerField;
dsPur500B: TDataSource;
qryPur500B: TADOQuery;
ADODataSet1: TADODataSet;
qryHrm100: TADOQuery;
edtPlaceContact: TEdit;
sbPlaceContact: TSpeedButton;
qryOrd151: TADOQuery;
qryOrd151O151_001: TIntegerField;
qryOrd151O151_002: TWideStringField;
qryOrd151O151_003: TWideStringField;
qryOrd151O151_004: TWideStringField;
qryOrd151O151_005: TWideStringField;
qryOrd151O151_006: TWideStringField;
qryOrd151O151_007: TWideStringField;
qryOrd151O151_008: TWideStringField;
qryOrd151O151_009: TWideStringField;
qryOrd151O151_010: TWideStringField;
qryOrd151O151_011: TBooleanField;
qryHrm150H100_002: TWideStringField;
qryHrm150H100_001: TAutoIncField;
dsHrm100: TDataSource;
cbDept: TdxLookupTreeView;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Action1Execute(Sender: TObject);
procedure Action2Execute(Sender: TObject);
procedure ADOQuery1P500A_004GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure ADOQuery1P500A_005GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure wwDBGrid1UpdateFooter(Sender: TObject);
procedure edtItemCustomDlg(Sender: TObject);
procedure edtItemEnter(Sender: TObject);
procedure edtUnitCustomDlg(Sender: TObject);
procedure sbPersonClick(Sender: TObject);
procedure edtPersonExit(Sender: TObject);
procedure sbPlaceClick(Sender: TObject);
procedure edtPlaceExit(Sender: TObject);
procedure sbPlaceContactClick(Sender: TObject);
procedure edtPlaceContactExit(Sender: TObject);
procedure adsPur500BNewRecord(DataSet: TDataSet);
procedure adsPur500BBeforePost(DataSet: TDataSet);
procedure wwDBGrid1Enter(Sender: TObject);
procedure wwDBGrid1Exit(Sender: TObject);
private
AKeyEvent:TKeyEvent;
AStatus:array[0..3] of string;
AFrom:array[0..2] of string;
ALastNo:Integer;
procedure CheckItem;
procedure CheckUnit;
procedure GetDetailData;
procedure SetDBGrid;
procedure GetCustPlaceInfo;
{ Private declarations }
public
procedure OpenData(ACode:String);
procedure SetInterface; override;
procedure GetDataInfo; override;
procedure InsertEvent; override;
procedure UpdateEvent; override;
procedure DeleteEvent; override;
procedure SetEmptyInit; override;
procedure TableBeforePost; override;
procedure TableAfterPost; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Pur500_02Form: TPur500_02Form;
implementation
uses SYSDATA, CommFun, HwSelData, PurComm;
{$R *.dfm}
procedure TPur500_02Form.OpenData(ACode:String);
begin
if ACode='' then AMode:='ADD' else AMode:='UPD';
ADOQuery1.DisableControls;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select A.*,');
ADOQuery1.SQL.Add(' B.P100_002,');
ADOQuery1.SQL.Add(' C.H150_002,C.H150_003,');
ADOQuery1.SQL.Add(' D.H100_002');
ADOQuery1.SQL.Add('from PUR500A A,PUR100 B,HRM150 C,HRM100 D');
ADOQuery1.SQL.Add('where A.P500A_002=B.P100_001 and A.P500A_007=C.H150_001 and A.P500A_008=D.H100_001');
ADOQuery1.SQL.Add('order by A.P500A_001');
ADOQuery1.Open;
ADOQuery1.Locate('P500A_001',ACode,[]);
ADOQuery1.EnableControls;
ADOQuery1AfterScroll(ADOQuery1);
end;
procedure TPur500_02Form.SetDBGrid;
var
I:Integer;
begin
for I:=0 to wwDBGrid1.Selected.Count-1 do wwDBGrid1.Columns[I].ReadOnly:=True;
wwDBGrid1.ColumnByName('FItemID').ReadOnly:=False;
wwDBGrid1.ColumnByName('FUnitID').ReadOnly:=False;
wwDBGrid1.ColumnByName('FQty').ReadOnly:=False;
wwDBGrid1.ColumnByName('FDate').ReadOnly:=False;
wwDBGrid1.ColumnByName('FRemark').ReadOnly:=False;
//允许同一张采购定单中选择多个交货地址
tsPlace.TabVisible:=GetSysParams('PUR0003')='N';
adsPur500BFPlace.Visible:=not tsPlace.TabVisible;
wwDBGrid1.Refresh;
end;
procedure TPur500_02Form.SetInterface;
begin
inherited;
Caption:=GetDBString('PUR50002001'); //采购申请维护
gbInfo.Caption:=GetDBString('PUR50002002'); //基本信息
tsPlace.Caption:=GetDBString('PUR50002003'); //交货地址
tsRemark.Caption:=GetDBString('PUR50002004'); //备注信息
tsItem.Caption:=GetDBString('PUR50002005'); //产品信息
lblCode.Caption:=GetDBString('PUR50002006'); //请购单号
lblType.Caption:=GetDBString('PUR50002007'); //请购类型
lblDate.Caption:=GetDBString('PUR50002008'); //请购日期
lblStatues.Caption:=GetDBString('PUR50002009'); //定单状态
lblPerson.Caption:=GetDBString('PUR50002010'); //请购人员
lblDept.Caption:=GetDBString('PUR50002011'); //请购部门
lblFrom.Caption:=GetDBString('PUR50002012'); //来源类型
lblCheckDate.Caption:=GetDBString('PUR50002013'); //审核日期
lblChecker.Caption:=GetDBString('PUR50002014'); //审核人员
lblPlace.Caption:=GetDBString('PUR50002015'); //交货地点
lblRegion.Caption:=GetDBString('PUR50002016'); //所属地区
lblPlacePhone.Caption:=GetDBString('PUR50002017'); //电话号码
lblPlaceAddress.Caption:=GetDBString('PUR50002018'); //交货地址
lblPlaceFax.Caption:=GetDBString('PUR50002019'); //传真号码
lblPlaceContact.Caption:=GetDBString('PUR50002020'); //联系人员
lblPlaceDept.Caption:=GetDBString('PUR50002021'); //部门名称
lblPlacePosit.Caption:=GetDBString('PUR50002022'); //职务名称
ADOQuery1P500A_001.DisplayLabel:=GetDBString('PUR50002023'); //请购单号
ADOQuery1P100_002.DisplayLabel:=GetDBString('PUR50002024'); //请购类型
ADOQuery1P500A_003.DisplayLabel:=GetDBString('PUR50002025'); //请购日期
ADOQuery1P500A_004.DisplayLabel:=GetDBString('PUR50002026'); //请购状态
ADOQuery1P500A_005.DisplayLabel:=GetDBString('PUR50002027'); //来源类型
ADOQuery1H150_002.DisplayLabel:=GetDBString('PUR50002028'); //请购人号
ADOQuery1H150_003.DisplayLabel:=GetDBString('PUR50002029'); //请购人名
ADOQuery1H100_002.DisplayLabel:=GetDBString('PUR50002030'); //请购部门
ADOQuery1P500A_009.DisplayLabel:=GetDBString('PUR50002031'); //收货地点
ADOQuery1P500A_010.DisplayLabel:=GetDBString('PUR50002032'); //审核日期
ADOQuery1P500A_011.DisplayLabel:=GetDBString('PUR50002033'); //审核人员
ADOQuery1P500A_013.DisplayLabel:=GetDBString('PUR50002034'); //制单日期
ADOQuery1P500A_014.DisplayLabel:=GetDBString('PUR50002035'); //制单人员
ADOQuery1P500A_015.DisplayLabel:=GetDBString('PUR50002036'); //修改日期
ADOQuery1P500A_016.DisplayLabel:=GetDBString('PUR50002037'); //修改人员
//定单状态(0=新建,1=核准,2=完成,3=取消)
AStatus[0]:=GetDBString('PUR50002038'); //新建
AStatus[1]:=GetDBString('PUR50002039'); //核准
AStatus[2]:=GetDBString('PUR50002040'); //完成
AStatus[3]:=GetDBString('PUR50002041'); //取消
//来源类型(0=手工输入,1=自动补库,2=物料需求)
AFrom[0]:=GetDBString('PUR50002042'); //手工输入
AFrom[1]:=GetDBString('PUR50002043'); //自动补库
AFrom[2]:=GetDBString('PUR50002044'); //物料需求
cbFrom.Clear;
cbFrom.Items.Add(AFrom[0]);
cbFrom.Items.Add(AFrom[1]);
cbFrom.Items.Add(AFrom[2]);
cbFrom.ItemIndex:=0;
Action1.Caption:=GetDBString('PUR50002045'); //核准
Action2.Caption:=GetDBString('PUR50002046'); //取消
adsPur500B.Close;
adsPur500B.CreateDataSet;
SetDBGrid;
wwDBGrid1.ColumnByName('FItemID').DisplayLabel:=GetDBString('PUR50002047'); //产品编号
wwDBGrid1.ColumnByName('FItemName').DisplayLabel:=GetDBString('PUR50002048'); //产品名称
wwDBGrid1.ColumnByName('FEngItemName').DisplayLabel:=GetDBString('PUR50002049'); //英文名称
wwDBGrid1.ColumnByName('FItemSpec').DisplayLabel:=GetDBString('PUR50002050'); //规格型号
wwDBGrid1.ColumnByName('FUnitID').DisplayLabel:=GetDBString('PUR50002051'); //单位编号
wwDBGrid1.ColumnByName('FUnitName').DisplayLabel:=GetDBString('PUR50002052'); //单位名称
wwDBGrid1.ColumnByName('FQty').DisplayLabel:=GetDBString('PUR50002053'); //请购数量
wwDBGrid1.ColumnByName('FDate').DisplayLabel:=GetDBString('PUR50002054'); //需求日期
wwDBGrid1.ColumnByName('FPlace').DisplayLabel:=GetDBString('PUR50002055'); //交货地址
wwDBGrid1.ColumnByName('FRemark').DisplayLabel:=GetDBString('PUR50002056'); //备注说明
qryOrd152O152_002.DisplayLabel:=GetDBString('PUR50002057'); //交货地点
qryOrd152O120_002.DisplayLabel:=GetDBString('PUR50002058'); //所属地区
qryOrd152O152_004.DisplayLabel:=GetDBString('PUR50002059'); //交货地址
qryOrd152O152_005.DisplayLabel:=GetDBString('PUR50002060'); //邮政编码
qryOrd152O152_006.DisplayLabel:=GetDBString('PUR50002061'); //电话号码
qryOrd152O152_007.DisplayLabel:=GetDBString('PUR50002062'); //传真号码
qryOrd152O151_002.DisplayLabel:=GetDBString('PUR50002063'); //联系人员
qryOrd152O151_003.DisplayLabel:=GetDBString('PUR50002064'); //部门名称
qryOrd152O151_004.DisplayLabel:=GetDBString('PUR50002065'); //职务名称
qryInv150I150_002.DisplayLabel:=GetDBString('PUR50002066'); //产品编号
qryInv150I150_003.DisplayLabel:=GetDBString('PUR50002067'); //产品名称
qryInv150I150_004.DisplayLabel:=GetDBString('PUR50002068'); //规格型号
qryInv150I140_002.DisplayLabel:=GetDBString('PUR50002069'); //单位编号
qryInv150I140_003.DisplayLabel:=GetDBString('PUR50002070'); //单位名称
qryInv150I150_008.DisplayLabel:=GetDBString('PUR50002073'); //英文名称
qryInv140I140_002.DisplayLabel:=GetDBString('PUR50002071'); //单位编号
qryInv140I140_003.DisplayLabel:=GetDBString('PUR50002072'); //单位名称
qryOrd151O151_002.DisplayLabel:=GetDBString('PUR50002074'); //联系人名
qryOrd151O151_003.DisplayLabel:=GetDBString('PUR50002075'); //部门名称
qryOrd151O151_004.DisplayLabel:=GetDBString('PUR50002076'); //职位名称
qryOrd151O151_005.DisplayLabel:=GetDBString('PUR50002077'); //电话号码
qryOrd151O151_006.DisplayLabel:=GetDBString('PUR50002078'); //传真号码
qryOrd151O151_007.DisplayLabel:=GetDBString('PUR50002079'); //电子邮件
PageControl1.ActivePageIndex:=0;
PageControl2.ActivePageIndex:=0;
//请购类型
cbType.Clear;
qryPur100.Close;
qryPur100.Open;
while not qryPur100.Eof do
begin
cbType.Items.Add(qryPur100.FieldByName('P100_002').AsString);
qryPur100.Next;
end;
qryPur100.First;
cbType.ItemIndex:=0;
end;
procedure TPur500_02Form.FormCreate(Sender: TObject);
begin
inherited;
ATableName:='PUR500A';
AFieldName:='P500A_001';
AReportName:='PUR500A';
AKeyEvent:=OnKeyDown;
qryPur100.Open;
qryHrm100.Open;
qryHrm150.Open;
end;
procedure TPur500_02Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -