📄 ba130.pas
字号:
unit BA130;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Single, Menus, Db, DBTables, Grids, DBGrids, Buttons, ExtCtrls, StdCtrls,
Mask, DBCtrls, ComCtrls;
type
TfmBA130 = class(TfmSingle)
qyMasterCompanyID: TStringField;
qyMasterSupplierID: TStringField;
qyMasterSupplierAttribName: TStringField;
qyMasterSupplierName: TStringField;
qyMasterInvoiceNo: TStringField;
qyMasterOwner: TStringField;
qyMasterRocID: TStringField;
qyMasterPhone1: TStringField;
qyMasterPhone2: TStringField;
qyMasterFax: TStringField;
qyMasterContactName1: TStringField;
qyMasterContactName2: TStringField;
qyMasterCompanyAddress: TStringField;
qyMasterDeliveryAddress: TStringField;
qyMasterInvoiceAddress: TStringField;
qyMasterPaymentTerm: TStringField;
qyMasterPrepaid: TBCDField;
qyMasterBankID: TStringField;
qyMasterAccountNo: TStringField;
qyMasterBankAccountName: TStringField;
qyMasterCreateMan: TStringField;
qyMasterCreateDate: TStringField;
qyMasterCreateTime: TStringField;
qyMasterModifyMan: TStringField;
qyMasterModifyDate: TStringField;
qyMasterModifyTime: TStringField;
qyMasterLastPurchaseDate: TStringField;
Label1: TLabel;
Label2: TLabel;
ED2: TDBEdit;
Label3: TLabel;
ED3: TDBEdit;
Label4: TLabel;
ED4: TDBEdit;
Label16: TLabel;
DBEdit1: TDBEdit;
qyMasterSupplierTypeID: TStringField;
qyMastersupplierTypeName: TStringField;
Label22: TLabel;
DBEdit2: TDBEdit;
Label5: TLabel;
ED6: TDBEdit;
Label6: TLabel;
ED7: TDBEdit;
Label8: TLabel;
ED9: TDBEdit;
Label7: TLabel;
ED8: TDBEdit;
Label9: TLabel;
EDA: TDBEdit;
Label11: TLabel;
EDB: TDBEdit;
Label10: TLabel;
EDC: TDBEdit;
Label12: TLabel;
EDD: TDBEdit;
Label13: TLabel;
EDE: TDBEdit;
Label14: TLabel;
EDF: TDBEdit;
Label18: TLabel;
DBEdit3: TDBEdit;
EDK: TDBEdit;
EDJ: TDBEdit;
Label19: TLabel;
Label21: TLabel;
EDL: TDBEdit;
Label17: TLabel;
ED5: TDBComboBox;
sbSupplierTypeID: TSpeedButton;
DBEdit4: TDBEdit;
sbBankID: TSpeedButton;
qyMasterBankAttribName: TStringField;
DBRadioGroup1: TDBRadioGroup;
qyMasterSupplierClass: TStringField;
Label15: TLabel;
EDM: TDBEdit;
qyMasterPayDays: TBCDField;
Label20: TLabel;
EDN: TDBEdit;
procedure qyMasterNewRecord(DataSet: TDataSet);
procedure qyMasterBeforePost(DataSet: TDataSet);
procedure qyMasterSupplierTypeIDValidate(Sender: TField);
procedure sbSupplierTypeIDClick(Sender: TObject);
procedure sbBankIDClick(Sender: TObject);
procedure dsMasterStateChange(Sender: TObject);
procedure qyMasterBankIDValidate(Sender: TField);
private
{ Private declarations }
public
{ Public declarations }
procedure OpenDB; override;
end;
var
fmBA130: TfmBA130;
implementation
uses Main, DataModule, PublicFunction, CheckData, GetData, BaseSearch;
{$R *.DFM}
{ TfmBA130 }
procedure TfmBA130.OpenDB;
begin
qyMaster.Close;
OrderBySQL := 'M.SupplierID';
qyMaster.SQL.Text := SQLText;
qyMaster.Open;
end;
procedure TfmBA130.qyMasterNewRecord(DataSet: TDataSet);
begin
inherited;
with qyMaster do
begin
FieldByName('SupplierID').AsString := Space(8);
FieldByName('SupplierAttribName').AsString := Space(10);
FieldByName('SupplierName').AsString := Space(60);
FieldByName('InvoiceNo').AsString := Space(8);
FieldByName('SupplierTypeID').AsString := '00';
FieldByName('Owner').AsString := Space(8);
FieldByName('RocID').AsString := Space(10);
FieldByName('Phone1').AsString := Space(20);
FieldByName('Phone2').AsString := Space(20);
FieldByName('Fax').AsString := Space(20);
FieldByName('ContactName1').AsString := Space(8);
FieldByName('ContactName2').AsString := Space(8);
FieldByName('CompanyAddress').AsString := Space(60);
FieldByName('DeliveryAddress').AsString := Space(60);
FieldByName('InvoiceAddress').AsString := Space(60);
FieldByName('PaymentTerm').AsString := 'K';
FieldByName('SupplierClass').AsString := 'B';
FieldByName('LastPurchaseDate').AsString := Space(8);
FieldByName('Prepaid').AsFloat := 0;
FieldByName('BankID').AsString := Space(7);
FieldByName('AccountNo').AsString := Space(14);
FieldByName('BankAccountName').AsString := Space(60);
FieldByName('PayDays').AsFloat := 0;
end;
end;
procedure TfmBA130.qyMasterBeforePost(DataSet: TDataSet);
begin
inherited;
if qyMaster.State = dsInsert then
begin
if Trim(qyMaster.FieldByName('SupplierID').AsString) = '' then
begin
NullWarning('供应商编号');
ED1.SetFocus;
Abort;
end;
with qyTemp do
begin
Close;
SQL.Clear;
SQL.Add('SELECT SupplierID');
SQL.Add('FROM Supplier');
SQL.Add('WHERE CompanyID = :CompanyID AND SupplierID = :SupplierID');
ParamByName('CompanyID').AsString := sCompanyID;
ParamByName('SupplierID').AsString := qyMaster.FieldByName('SupplierID').AsString;
Open;
end;
if qyTemp.FieldByName('SupplierID').AsString <> '' then
begin
RepeatWarning('ㄑ供应商编号');
ED1.SetFocus;
Abort;
end;
end;
if Trim(qyMaster.FieldByName('SupplierName').AsString) = '' then
begin
NullWarning('供应商名称');
ED3.SetFocus;
Abort;
end;
if not CheckSupplierTypeID(qyMaster.FieldByName('SupplierTypeID').AsString) then
begin
ED4.SetFocus;
Abort
end;
if (Trim(qyMaster.FieldByName('RocID').AsString) <> '') and
(not CheckRocID(qyMaster.FieldByName('RocID').AsString)) then
begin
ED7.SetFocus;
Abort;
end;
if qyMaster.FieldByName('PayDays').AsFloat < 0 then
begin
MyWarning('付款日数不能小于0!');
EDN.SetFocus;
Abort;
end;
if not CheckBankID(qyMaster.FieldByName('BankID').AsString) then
begin
EDJ.SetFocus;
Abort
end;
end;
procedure TfmBA130.qyMasterSupplierTypeIDValidate(Sender: TField);
begin
inherited;
qyMaster.FieldByName('SupplierTypeName').AsString :=
GetSupplierTypeName(qyMaster.FieldByName('SupplierTypeID').AsString);
end;
procedure TfmBA130.sbSupplierTypeIDClick(Sender: TObject);
begin
inherited;
SearchData(ED4, DM.qySupplierType);
end;
procedure TfmBA130.sbBankIDClick(Sender: TObject);
begin
inherited;
SearchData(EDJ, DM.qyBank);
end;
procedure TfmBA130.dsMasterStateChange(Sender: TObject);
begin
inherited;
if qyMaster.State in [dsInsert, dsEdit] then
begin
sbSupplierTypeID.Enabled := True;
sbBankID.Enabled := True;
end
else
begin
sbSupplierTypeID.Enabled := False;
sbBankID.Enabled := False;
end;
end;
procedure TfmBA130.qyMasterBankIDValidate(Sender: TField);
begin
inherited;
qyMaster.FieldByName('BankAttribName').AsString :=
GetBankAttribName(qyMaster.FieldByName('BankID').AsString);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -