?? acp510_02.pas.svn-base
字號:
unit Acp510_02;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Bas200_13, DB, ADODB, ActnList, Menus, ComCtrls, ToolWin,
StdCtrls, Mask, wwdbedit, Wwdotdot, Grids, Wwdbigrd, Wwdbgrid,
wwdbdatetimepicker, Buttons,CommFun,AcpComm;
type
TAcp510_02Form = class(TBas200_13Form)
adsAcp510B: TADODataSet;
dsInv500B: TDataSource;
ADODataSet1: TADODataSet;
PageControl1: TPageControl;
tsItem: TTabSheet;
wwDBGrid1: TwwDBGrid;
cbFrom: TComboBox;
lblFrom: TLabel;
edtDate: TwwDBDateTimePicker;
lblDate: TLabel;
lblStatus: TLabel;
edtStatus: TEdit;
lblPerson: TLabel;
edtPerson: TEdit;
sbPerson: TSpeedButton;
edtPersonName: TEdit;
edtSourceNo: TEdit;
Label1: TLabel;
gbCust: TGroupBox;
lblCust: TLabel;
lblAddress: TLabel;
lblPhone: TLabel;
lblFax: TLabel;
edtAddress: TEdit;
edtPhone: TEdit;
edtContact: TEdit;
edtCust: TEdit;
sbCust: TSpeedButton;
edtCustName: TEdit;
lblCurr: TLabel;
cbCurr: TComboBox;
lblRate: TLabel;
edtRate: TEdit;
Label3: TLabel;
edtAmount: TEdit;
Label4: TLabel;
edtRevenue: TEdit;
Label5: TLabel;
edtReceive: TEdit;
memRemark: TMemo;
lblRemark: TLabel;
adsAcp510BFNo: TIntegerField;
adsAcp510BFItemNo: TIntegerField;
adsAcp510BFItemID: TStringField;
adsAcp510BFItemName: TStringField;
adsAcp510BFItemSpec: TStringField;
adsAcp510BFUnitName: TStringField;
adsAcp510BFOrderQty: TFloatField;
adsAcp510BFOrderPrice: TFloatField;
adsAcp510BFOrderAmount: TFloatField;
adsAcp510BFQty: TFloatField;
adsAcp510BFPrice: TFloatField;
adsAcp510BFAmount: TFloatField;
adsAcp510BFTaxRate: TFloatField;
adsAcp510BFTaxAmt: TFloatField;
adsAcp510BFAcpAmt: TFloatField;
adsAcp510BFRemark: TStringField;
adsAcp510BFOrder: TStringField;
adsAcp510BFLineNo: TIntegerField;
qryHrm150: TADOQuery;
qryHrm150H150_001: TAutoIncField;
qryHrm150H150_002: TWideStringField;
qryHrm150H150_003: TWideStringField;
qryGld100: TADOQuery;
qryAcp510B: TADOQuery;
edtItem: TwwDBComboDlg;
qryItems: TADOQuery;
qryItemsI150_001: TAutoIncField;
qryItemsI150_002: TWideStringField;
qryItemsI150_003: TWideStringField;
qryItemsI150_004: TWideStringField;
qryItemsI140_002: TWideStringField;
qryItemsI140_003: TWideStringField;
qryItemsI140_001: TAutoIncField;
qryInv150: TADOQuery;
qryInv140: TADOQuery;
qryAcp510BA510B_001: TWideStringField;
qryAcp510BA510B_002: TIntegerField;
qryAcp510BA510B_003: TWideStringField;
qryAcp510BA510B_004: TIntegerField;
qryAcp510BA510B_005: TFloatField;
qryAcp510BA510B_006: TFloatField;
qryAcp510BA510B_007: TFloatField;
qryAcp510BA510B_008: TFloatField;
qryAcp510BA510B_009: TFloatField;
qryAcp510BA510B_010: TFloatField;
qryAcp510BA510B_011: TWideStringField;
qryAcp510BO510B_002: TIntegerField;
qryAcp510BO510B_003: TIntegerField;
qryAcp510BO510B_004: TIntegerField;
qryAcp510BO510B_005: TFloatField;
qryAcp510BO510B_006: TFloatField;
qryAcp510BO510B_007: TFloatField;
ADOQuery1A510A_001: TWideStringField;
ADOQuery1A510A_002: TSmallintField;
ADOQuery1A510A_003: TSmallintField;
ADOQuery1A510A_004: TDateTimeField;
ADOQuery1A510A_005: TIntegerField;
ADOQuery1A510A_006: TWideStringField;
ADOQuery1A510A_007: TIntegerField;
ADOQuery1A510A_008: TFloatField;
ADOQuery1A510A_009: TFloatField;
ADOQuery1A510A_010: TFloatField;
ADOQuery1A510A_011: TFloatField;
ADOQuery1A510A_012: TIntegerField;
ADOQuery1A510A_013: TMemoField;
ADOQuery1H150_002: TWideStringField;
ADOQuery1H150_003: TWideStringField;
ADOQuery1H150_004: TWideStringField;
ADOQuery1G100_002: TWideStringField;
ADOQuery1G100_003: TWideStringField;
ADOQuery1O150_002: TWideStringField;
ADOQuery1O150_003: TWideStringField;
qryOrd150: TADOQuery;
qryOrd150O150_002: TWideStringField;
qryOrd150O150_003: TWideStringField;
qryOrd150O150_004: TWideStringField;
qryOrd150O150_005: TWideStringField;
qryOrd150O150_006: TWideStringField;
qryOrd150O150_007: TWideStringField;
qryOrd150O150_008: TWideStringField;
qryOrd150O150_012: TWideStringField;
qryInv150I150_001: TAutoIncField;
qryInv150I150_002: TWideStringField;
qryInv150I150_003: TWideStringField;
qryInv150I150_004: TWideStringField;
qryInv150I150_005: TIntegerField;
qryInv150I150_006: TIntegerField;
qryInv150I150_007: TIntegerField;
qryInv150I150_008: TWideStringField;
qryInv150I150_009: TWideStringField;
qryInv150I150_010: TIntegerField;
qryInv150I150_011: TIntegerField;
qryInv150I150_012: TIntegerField;
qryInv150I150_013: TFloatField;
qryInv150I150_014: TIntegerField;
qryInv150I150_015: TFloatField;
qryInv150I150_016: TFloatField;
qryInv150I150_017: TIntegerField;
qryInv150I150_018: TFloatField;
qryInv150I150_019: TIntegerField;
qryInv150I150_020: TIntegerField;
qryInv150I150_021: TFloatField;
qryInv150I150_022: TFloatField;
qryInv150I150_023: TFloatField;
qryInv150I150_024: TIntegerField;
qryInv150I150_025: TIntegerField;
qryInv150I150_026: TBooleanField;
qryInv150I150_027: TBooleanField;
qryInv150I150_028: TIntegerField;
qryInv150I150_029: TDateTimeField;
qryInv150I150_030: TIntegerField;
qryInv150I150_031: TIntegerField;
qryInv150I150_032: TFloatField;
qryInv150I150_033: TFloatField;
qryInv150I150_034: TFloatField;
qryInv150I150_035: TFloatField;
qryInv150I150_036: TIntegerField;
qryInv150I150_037: TIntegerField;
qryInv150I150_038: TDateTimeField;
qryInv150I150_039: TIntegerField;
qryInv150I150_040: TIntegerField;
qryInv150I150_041: TIntegerField;
qryInv150I150_042: TIntegerField;
qryInv150I150_043: TFloatField;
qryInv150I150_044: TFloatField;
qryInv150I150_045: TFloatField;
qryInv150I150_046: TIntegerField;
qryInv150I150_047: TIntegerField;
qryInv150I150_048: TFloatField;
qryInv150I150_049: TDateTimeField;
qryInv150I150_050: TWideStringField;
qryInv150I150_051: TDateTimeField;
qryInv150I150_052: TWideStringField;
qryInv150I150_053: TIntegerField;
qryInv140I140_001: TAutoIncField;
qryInv140I140_002: TWideStringField;
qryInv140I140_003: TWideStringField;
qryInv140I140_004: TSmallintField;
qryOrd150O150_001: TAutoIncField;
ADOQuery1A510A_014: TDateTimeField;
ADOQuery1A510A_015: TWideStringField;
ADOQuery1A510A_016: TDateTimeField;
ADOQuery1A510A_017: TWideStringField;
qryAcp510BI150_002: TStringField;
qryAcp510BI150_003: TStringField;
qryAcp510BI150_004: TStringField;
qryAcp510BI150_008: TStringField;
qryAcp510BI140_002: TStringField;
qryAcp510BI140_003: TStringField;
adsAcp510BFInvAmount: TFloatField;
qryAcp510BO510B_024: TFloatField;
adsAcp510BFDisAmt: TFloatField;
qryAcp510BO510B_025: TFloatField;
pmAcp510B: TPopupMenu;
mmiAdd: TMenuItem;
mmiEdit: TMenuItem;
mmiDel: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure sbPersonClick(Sender: TObject);
procedure edtPersonExit(Sender: TObject);
procedure sbCustClick(Sender: TObject);
procedure edtItemCustomDlg(Sender: TObject);
procedure adsAcp510BNewRecord(DataSet: TDataSet);
procedure cbCurrChange(Sender: TObject);
procedure wwDBGrid1ColExit(Sender: TObject);
procedure wwDBGrid1Enter(Sender: TObject);
procedure wwDBGrid1Exit(Sender: TObject);
procedure wwDBGrid1UpdateFooter(Sender: TObject);
procedure edtCustExit(Sender: TObject);
procedure Action1Execute(Sender: TObject);
procedure mmiAddClick(Sender: TObject);
procedure mmiEditClick(Sender: TObject);
procedure mmiDelClick(Sender: TObject);
procedure pmAcp510BPopup(Sender: TObject);
private
{ Private declarations }
AIsChanged,ABusy:Boolean;
ALastNo:Integer;
AStatus:array[0..3] of string;
procedure GetCustPlaceInfo;
procedure GetDetailData;
//加入單據明細
procedure AddItemLine(AOrderInfo:TOrderInfo; APriceInfo:TPriceInfo;AItemInfo:TItemInfo;ADataSet:TADODataSet;AType:String='UPD');
procedure SetQty;
procedure SetPrice;
procedure SetAmount;
procedure SetDefault;
procedure SetDBGridA;
procedure SetTaxRate;
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
Acp510_02Form: TAcp510_02Form;
implementation
uses SYSDATA,HwSelData, HwSelDataA,CshComm;
{$R *.dfm}
procedure TAcp510_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.H150_002,B.H150_003,B.H150_004,');
ADOQuery1.SQL.Add(' C.G100_002,C.G100_003,');
ADOQuery1.SQL.Add(' D.O150_002,D.O150_003');
ADOQuery1.SQL.Add('from Acp510A A,Hrm150 B,GLD100 C,ORD150 D');
ADOQuery1.SQL.Add('where A.A510A_005=B.H150_001 and A.A510A_007=C.G100_001 and A.A510A_012=D.O150_001');
ADOQuery1.SQL.Add('order by A.A510A_001');
ADOQuery1.Open;
ADOQuery1.Locate('A510A_001',ACode,[]);
ADOQuery1.EnableControls;
ADOQuery1AfterScroll(ADOQuery1);
end;
procedure TAcp510_02Form.SetInterface;
begin
inherited;
//設置界面的初始化信息
Caption:=GetDBString('ACP51002001'); //采購發票維護
lblCreateDate.Caption:=GetDBString('ACP51002003'); //制單日期
lblCreateBy.Caption:=GetDBString('ACP51002004'); //制單人員
lblUpdateDate.Caption:=GetDBString('ACP51002005'); //修改日期
lblUpdateBy.Caption:=GetDBString('ACP51002006'); //修改人員
gbInfo.Caption:=GetDBString('ACP51002007'); //基本信息
lblCode.Caption:=GetDBString('ACP51002008'); //發票編號
ADOQuery1A510A_001.DisplayLabel:=GetDBString('ACP51002009'); //發票編號
ADOQuery1A510A_004.DisplayLabel:=GetDBString('ACP51002010'); //發票日期
ADOQuery1A510A_006.DisplayLabel:=GetDBString('ACP51002011'); //原始單號
ADOQuery1A510A_008.DisplayLabel:=GetDBString('ACP51002012'); //幣別匯率
ADOQuery1A510A_009.DisplayLabel:=GetDBString('ACP51002013'); //發票金額
ADOQuery1A510A_010.DisplayLabel:=GetDBString('ACP51002014'); //發票稅額
ADOQuery1A510A_011.DisplayLabel:=GetDBString('ACP51002015'); //應收金額
ADOQuery1H150_002.DisplayLabel:=GetDBString('ACP51002016'); //員工編號
ADOQuery1H150_003.DisplayLabel:=GetDBString('ACP51002017'); //員工姓名
ADOQuery1H150_004.DisplayLabel:=GetDBString('ACP51002018'); //英文姓名
ADOQuery1G100_002.DisplayLabel:=GetDBString('ACP51002019'); //幣別編號
ADOQuery1G100_003.DisplayLabel:=GetDBString('ACP51002020'); //幣別名稱
ADOQuery1O150_002.DisplayLabel:=GetDBString('ACP51002021'); //客戶編號
ADOQuery1O150_003.DisplayLabel:=GetDBString('ACP51002022'); //客戶名稱
lblFrom.Caption:=GetDBString('ACP51002023'); //發票類型
lblDate.Caption:=GetDBString('ACP51002024'); //發票日期
lblStatus.Caption:=GetDBString('ACP51002025'); //發票狀態
lblPerson.Caption:=GetDBString('ACP51002026'); //開票人員
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -