📄 pur510_02.pas.svn-base
字号:
TabSheet1: TTabSheet;
GroupBox1: TGroupBox;
lblCust1: TLabel;
lblAddress1: TLabel;
lblContact1: TLabel;
sbCust1: TSpeedButton;
lblDept1: TLabel;
lblPhone1: TLabel;
lblFax1: TLabel;
lblPosit1: TLabel;
edtCust1: TEdit;
edtAddress1: TEdit;
edtContact1: TEdit;
edtCustName1: TEdit;
edtDept1: TEdit;
edtPhone1: TEdit;
edtFax1: TEdit;
edtPosit1: TEdit;
TabSheet2: TTabSheet;
GroupBox3: TGroupBox;
lblItem: TLabel;
sbItem: TSpeedButton;
lblMacNo: TLabel;
sbMacNo: TSpeedButton;
lblItemClass: TLabel;
lblModel: TLabel;
lblMaker: TLabel;
lblMakerName: TLabel;
edtItemID: TEdit;
edtItemName: TEdit;
edtMacNo: TEdit;
edtItemClass: TEdit;
edtModel: TEdit;
edtMaker: TEdit;
edtMakerName: TEdit;
qryOrd153O153_004: TWideStringField;
Label1: TLabel;
edtControllerNo: TEdit;
adsPur510BFInvoice: TFloatField;
adsPur510BFDiscount: TFloatField;
adsPur510BFTotalAmt: TFloatField;
adsPur510BFInAmount: TFloatField;
adsPur510FInvoice: TFloatField;
adsPur510FDiscount: TFloatField;
adsPur510FTotalAmt: TFloatField;
adsPur510FInAmount: TFloatField;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ADOQuery1P510A_004GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure ADOQuery1P510A_006GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure ADOQuery1P510A_019GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure sbPersonClick(Sender: TObject);
procedure edtPersonExit(Sender: TObject);
procedure wwDBGrid1Enter(Sender: TObject);
procedure wwDBGrid1Exit(Sender: TObject);
procedure sbCustClick(Sender: TObject);
procedure edtCustExit(Sender: TObject);
procedure sbPlaceClick(Sender: TObject);
procedure edtPlaceExit(Sender: TObject);
procedure memTermDblClick(Sender: TObject);
procedure wwDBGrid1UpdateFooter(Sender: TObject);
procedure wwDBGrid2ColExit(Sender: TObject);
procedure wwDBGrid2UpdateFooter(Sender: TObject);
procedure adsPur510BBeforePost(DataSet: TDataSet);
procedure adsPur510BNewRecord(DataSet: TDataSet);
procedure adsPur510BeforePost(DataSet: TDataSet);
procedure adsPur510NewRecord(DataSet: TDataSet);
procedure edtItemCustomDlg(Sender: TObject);
procedure edtChargeCustomDlg(Sender: TObject);
procedure mmiAddClick(Sender: TObject);
procedure mmiEditClick(Sender: TObject);
procedure mmiDelClick(Sender: TObject);
procedure pmPur510BPopup(Sender: TObject);
procedure edtUnitCustomDlg(Sender: TObject);
procedure cbCurrChange(Sender: TObject);
procedure adsPur510BAfterScroll(DataSet: TDataSet);
procedure adsPur510AfterScroll(DataSet: TDataSet);
procedure ActPrintExecute(Sender: TObject);
procedure edtItemEnter(Sender: TObject);
procedure wwDBGrid1ColExit(Sender: TObject);
procedure Action1Execute(Sender: TObject);
procedure Action2Execute(Sender: TObject);
procedure Action3Execute(Sender: TObject);
procedure sbPlaceContactClick(Sender: TObject);
procedure edtPlaceContactExit(Sender: TObject);
procedure sbItemClick(Sender: TObject);
procedure sbMacNoClick(Sender: TObject);
procedure sbCust1Click(Sender: TObject);
private
ALastNo:Integer;
AOldCustNo:Integer;
AOldItem,AOldCharge,AOldUnit:String;
AOldQty:Double;
AKeyEvent:TKeyEvent;
ASumAmount:Double;
ABusy:Boolean;
AStatus:array[0..5] of string;
APick:array[0..4] of string;
AFrom:array[0..3] of string;
procedure GetDetailData;
procedure GetCustPlaceInfo;
procedure GetCustPlaceInfo1;
procedure ChangePrice;
procedure CheckItem;
procedure CheckUnit;
procedure CheckQty;
procedure CheckCharge;
procedure CheckAmount;
procedure CalcNetAmount;
procedure SetDBGrid;
procedure SetAmount;
procedure SetPrice;
procedure SetDisAmt;
procedure SetDisRate;
function GetTotalAmt(Amount:Double):Double;
{ 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
Pur510_02Form: TPur510_02Form;
implementation
uses SYSDATA, CommFun, HwSelData, PurComm, HwSelDataA, InvComm;
{$R *.dfm}
//计算应开发票金额
//每行记录应开发票金额=(定单折扣额/定单行应收额总计)*每行记录的应收帐款额
function TPur510_02Form.GetTotalAmt(Amount:Double):Double;
var
ARate:Double;
begin
Result:=Amount;
if StrToFloatA(edtAmount.Text)=0 then Exit;
ARate:=StrToFloatA(edtDiscount.Text)/StrToFloatA(edtAmount.Text);
Result:=Amount-Amount*ARate;
end;
procedure TPur510_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.O150_002,C.O150_003,C.O150_005,C.O150_006,C.O150_012,');
ADOQuery1.SQL.Add(' D.G100_002,D.G100_003,');
ADOQuery1.SQL.Add(' E.G110_002');
ADOQuery1.SQL.Add('from PUR510A A,PUR100 B,ORD150 C,GLD100 D,GLD110 E');
ADOQuery1.SQL.Add('where A.P510A_002=B.P100_001 and A.P510A_017=C.O150_001 and A.P510A_007=D.G100_001 and A.P510A_009=E.G110_001');
ADOQuery1.SQL.Add('order by A.P510A_022 asc');
ADOQuery1.Open;
ADOQuery1.Locate('P510A_001',ACode,[]);
ADOQuery1.EnableControls;
ADOQuery1AfterScroll(ADOQuery1);
end;
procedure TPur510_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('FTax').ReadOnly:=False;
wwDBGrid1.ColumnByName('FTaxAmt').ReadOnly:=False;
wwDBGrid1.ColumnByName('FDate').ReadOnly:=False;
wwDBGrid1.ColumnByName('FRemark').ReadOnly:=False;
//允许手工修改采购定单中的产品的价格
wwDBGrid1.ColumnByName('FPrice').ReadOnly:=GetSysParams('PUR0001')<>'Y';
wwDBGrid1.ColumnByName('FAmount').ReadOnly:=GetSysParams('PUR0001')<>'Y';
//允许手工修改采购定单中的产品折扣金额
wwDBGrid1.ColumnByName('FDisRate').ReadOnly:=GetSysParams('PUR0002')<>'Y';
wwDBGrid1.ColumnByName('FDisAmt').ReadOnly:=GetSysParams('PUR0002')<>'Y';
//允许同一张采购定单中选择多个交货地址
tsPlace.TabVisible:=GetSysParams('PUR0003')='N';
adsPur510BFPlace.Visible:=not tsPlace.TabVisible;
wwDBGrid1.Refresh;
end;
procedure TPur510_02Form.SetInterface;
begin
inherited;
Caption:=GetDBString('PUR51002001'); //采购定单维护
gbInfo.Caption:=GetDBString('PUR51002002'); //基本信息
tsCust.Caption:=GetDBString('PUR51002003'); //厂商信息
tsPlace.Caption:=GetDBString('PUR51002004'); //交货地址
tsTerm.Caption:=GetDBString('PUR51002005'); //条款信息
tsRemark.Caption:=GetDBString('PUR51002006'); //备注信息
tsItem.Caption:=GetDBString('PUR51002007'); //产品信息
tsCharge.Caption:=GetDBString('PUR51002008'); //特殊费用
lblCode.Caption:=GetDBString('PUR51002009'); //采购单号
lblType.Caption:=GetDBString('PUR51002010'); //采购类型
lblDate.Caption:=GetDBString('PUR51002011'); //采购日期
lblStatues.Caption:=GetDBString('PUR51002012'); //定单状态
lblPerson.Caption:=GetDBString('PUR51002013'); //采购人员
lblPick.Caption:=GetDBString('PUR51002014'); //提货方式
lblCurr.Caption:=GetDBString('PUR51002015'); //币别名称
lblRate.Caption:=GetDBString('PUR51002016'); //币别汇率
lblPayment.Caption:=GetDBString('PUR51002017'); //付款方式
lblFrom.Caption:=GetDBString('PUR51002018'); //来源类型
lblAmount.Caption:=GetDBString('PUR51002020'); //金额总计
lblDisRate.Caption:=GetDBString('PUR51002021'); //折扣比率
lblDiscount.Caption:=GetDBString('PUR51002022'); //折扣金额
lblCharge.Caption:=GetDBString('PUR51002023'); //特殊费用
lblNetAmt.Caption:=GetDBString('PUR51002024'); //应付金额
lblCust.Caption:=GetDBString('PUR51002025'); //厂商编号
lblPhone.Caption:=GetDBString('PUR51002026'); //电话号码
lblAddress.Caption:=GetDBString('PUR51002027'); //客户地址
lblFax.Caption:=GetDBString('PUR51002028'); //传真号码
lblContact.Caption:=GetDBString('PUR51002029'); //联系人员
lblDept.Caption:=GetDBString('PUR51002030'); //部门名称
lblPosit.Caption:=GetDBString('PUR51002031'); //职务名称
lblPlace.Caption:=GetDBString('PUR51002032'); //交货地点
lblRegion.Caption:=GetDBString('PUR51002033'); //所属地区
lblPlacePhone.Caption:=GetDBString('PUR51002034'); //电话号码
lblPlaceAddress.Caption:=GetDBString('PUR51002035'); //交货地址
lblPlaceFax.Caption:=GetDBString('PUR51002036'); //传真号码
lblPlaceContact.Caption:=GetDBString('PUR51002037'); //联系人员
lblPlaceDept.Caption:=GetDBString('PUR51002038'); //部门名称
lblPlacePosit.Caption:=GetDBString('PUR51002039'); //职务名称
ADOQuery1P510A_001.DisplayLabel:=GetDBString('PUR51002040'); //采购单号
ADOQuery1P100_002.DisplayLabel:=GetDBString('PUR51002041'); //采购类型
ADOQuery1P510A_003.DisplayLabel:=GetDBString('PUR51002042'); //采购日期
ADOQuery1P510A_004.DisplayLabel:=GetDBString('PUR51002043'); //定单状态
ADOQuery1H150_002.DisplayLabel:=GetDBString('PUR51002044'); //采购员号
ADOQuery1H150_003.DisplayLabel:=GetDBString('PUR51002045'); //采购员名
ADOQuery1P510A_006.DisplayLabel:=GetDBString('PUR51002046'); //来源类型
ADOQuery1G100_002.DisplayLabel:=GetDBString('PUR51002047'); //币别编号
ADOQuery1G100_003.DisplayLabel:=GetDBString('PUR51002048'); //币别名称
ADOQuery1P510A_008.DisplayLabel:=GetDBString('PUR51002049'); //币别汇率
ADOQuery1G110_002.DisplayLabel:=GetDBString('PUR51002050'); //付款方式
ADOQuery1P510A_010.DisplayLabel:=GetDBString('PUR51002051'); //审核日期
ADOQuery1P510A_011.DisplayLabel:=GetDBString('PUR51002052'); //审核人员
ADOQuery1P510A_012.DisplayLabel:=GetDBString('PUR51002053'); //金额总计
ADOQuery1P510A_013.DisplayLabel:=GetDBString('PUR51002054'); //折扣比率
ADOQuery1P510A_014.DisplayLabel:=GetDBString('PUR51002055'); //折扣金额
ADOQuery1P510A_015.DisplayLabel:=GetDBString('PUR51002056'); //特殊费用
ADOQuery1P510A_016.DisplayLabel:=GetDBString('PUR51002057'); //应付金额
ADOQuery1O150_002.DisplayLabel:=GetDBString('PUR51002058'); //厂商编号
ADOQuery1O150_003.DisplayLabel:=GetDBString('PUR51002059'); //厂商名称
ADOQuery1O150_005.DisplayLabel:=GetDBString('PUR51002060'); //电话号码
ADOQuery1O150_006.DisplayLabel:=GetDBString('PUR51002061'); //传真号码
ADOQuery1O150_012.DisplayLabel:=GetDBString('PUR51002062'); //厂商址址
ADOQuery1P510A_018.DisplayLabel:=GetDBString('PUR51002063'); //交货地址
ADOQuery1P510A_019.DisplayLabel:=GetDBString('PUR51002064'); //提货方式
ADOQuery1P510A_020.DisplayLabel:=GetDBString('PUR51002065'); //采购条款
ADOQuery1P510A_021.DisplayLabel:=GetDBString('PUR51002066'); //备注说明
ADOQuery1P510A_022.DisplayLabel:=GetDBString('PUR51002067'); //制单日期
ADOQuery1P510A_023.DisplayLabel:=GetDBString('PUR51002068'); //制单人员
ADOQuery1P510A_024.DisplayLabel:=GetDBString('PUR51002069'); //修改日期
ADOQuery1P510A_025.DisplayLabel:=GetDBString('PUR51002070'); //修改人员
adsPur510B.Close;
adsPur510B.CreateDataSet;
adsPur510.Close;
adsPur510.CreateDataSet;
SetDBGrid;
wwDBGrid1.ColumnByName('FItemID').DisplayLabel:=GetDBString('PUR51002071'); //产品编号
wwDBGrid1.ColumnByName('FItemName').DisplayLabel:=GetDBString('PUR51002072'); //产品名称
wwDBGrid1.ColumnByName('FEngItemName').DisplayLabel:=GetDBString('PUR51002140'); //英文名称
wwDBGrid1.ColumnByName('FItemSpec').DisplayLabel:=GetDBString('PUR51002073'); //规格型号
wwDBGrid1.ColumnByName('FUnitID').DisplayLabel:=GetDBString('PUR51002074'); //单位编号
wwDBGrid1.ColumnByName('FUnitName').DisplayLabel:=GetDBString('PUR51002075'); //单位名称
wwDBGrid1.ColumnByName('FQty').DisplayLabel:=GetDBString('PUR51002076'); //采购数量
wwDBGrid1.ColumnByName('FPrice').DisplayLabel:=GetDBString('PUR51002077'); //采购单价
wwDBGrid1.ColumnByName('FAmount').DisplayLabel:=GetDBString('PUR51002078'); //采购金额
wwDBGrid1.ColumnByName('FDisRate').DisplayLabel:=GetDBString('PUR51002079'); //折扣比率
wwDBGrid1.ColumnByName('FDisAmt').DisplayLabel:=GetDBString('PUR51002080'); //折扣金额
wwDBGrid1.ColumnByName('FNetAmt').DisplayLabel:=GetDBString('PUR51002081'); //折后总额
wwDBGrid1.ColumnByName('FTax').DisplayLabel:=GetDBString('PUR51002082'); //采购税率
wwDBGrid1.ColumnByName('FTaxAmt').DisplayLabel:=GetDBString('PUR51002083'); //采购税额
wwDBGrid1.ColumnByName('FAcrAmt').DisplayLabel:=GetDBString('PUR51002084'); //应付金额
wwDBGrid1.ColumnByName('FDate').DisplayLabel:=GetDBString('PUR51002085'); //需求日期
wwDBGrid1.ColumnByName('FFactDate').DisplayLabel:=GetDBString('PUR51002086'); //实际日期
wwDBGrid1.ColumnByName('FReceQty').DisplayLabel:=GetDBString('PUR51002087'); //收货数量
wwDBGrid1.ColumnByName('FPlace').DisplayLabel:=GetDBString('PUR51002088'); //交货地址
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -