?? 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 + -