📄 customerfrm.pas
字号:
unit CustomerFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGridEh, DbUtilsEh, EhLibCDS, StdCtrls, DBCtrls, Buttons,ExtCtrls,
ComCtrls,RzPanel, RzSplit, RzBorder, RzBmpBtn, RzLabel, RzBckgnd,
RzButton, ActnList, Menus, Db, DBClient, MConnect,xBaseFrm,iMainFrm,
xEhLibCtl, Mask, RzEdit, RzSpnEdt, TFlatPanelUnit,Variants, ModuleAction,
ImgList, RzTabs, ckDBClient,DbFuncs,ShowProGress, TFlatSpeedButtonUnit,
RzStatus,uDataTypes;
type
TFmCustomers = class(TxBaseForm)
Panel1: TPanel;
BtnNew: TRzBitBtn;
BitBtn2: TRzBitBtn;
BtnPrint: TRzBitBtn;
BtnEdit: TRzBitBtn;
BtnDel: TRzBitBtn;
BtnFind: TRzBitBtn;
ActionList1: TActionList;
RzBitBtn1: TRzBitBtn;
ActRefresh: TModlAction;
ActNew: TModlAction;
ActModify: TModlAction;
ActDelete: TModlAction;
DsCustomers: TDataSource;
dbgCustomers: TxDBGridEh;
ActFind: TModlAction;
RzBitBtn2: TRzBitBtn;
ActPrint: TModlAction;
ActExit: TModlAction;
ActMore: TModlAction;
Panel2: TRzSizePanel;
PageTabs: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
dbgCustLinkmans: TxDBGridEh;
dbgCustGoods: TxDBGridEh;
Comcnn: TDCOMConnection;
CdsCustomers: TckClientDataSet;
CdsCustomersCustNo: TStringField;
CdsCustomersCustName: TStringField;
CdsCustomersFullName: TStringField;
CdsCustomersABCKind: TStringField;
CdsCustomersTrade: TStringField;
CdsCustomersSubjectDept: TStringField;
CdsCustomersWorkingMode: TStringField;
CdsCustomersWorkingBound: TStringField;
CdsCustomersCorpName: TStringField;
CdsCustomersCorpDuty: TStringField;
CdsCustomersOwnerKind: TStringField;
CdsCustomersQualityPar: TStringField;
CdsCustomersPermitNo: TStringField;
CdsCustomersCompetency: TStringField;
CdsCustomersArea: TStringField;
CdsCustomersPostCode: TStringField;
CdsCustomersAddress: TStringField;
CdsCustomersLinkMan: TStringField;
CdsCustomersMobile: TStringField;
CdsCustomersLinkTel: TStringField;
CdsCustomersFax: TStringField;
CdsCustomersAccountBank: TStringField;
CdsCustomersAccountNo: TStringField;
CdsCustomersTaxNo: TStringField;
CdsCustomersCoinKind: TStringField;
CdsCustomersCredit: TIntegerField;
CdsCustomersPause: TBooleanField;
CdsCustomersPriceMode: TIntegerField;
CdsCustomersPriceModulus: TBCDField;
CdsCustomersPayModeNo: TStringField;
CdsCustomersRemark: TStringField;
CdsCustGoods: TckClientDataSet;
CdsCustLinkmans: TckClientDataSet;
dsCustGoods: TDataSource;
DsCustLinkMans: TDataSource;
CdsCustomersAdsCustLinkmans: TDataSetField;
CdsCustomersAdoCustGoods: TDataSetField;
CdsCustLinkmansLinkMan: TStringField;
CdsCustLinkmansNickName: TStringField;
CdsCustLinkmansSex: TStringField;
CdsCustLinkmansBirthday: TDateTimeField;
CdsCustLinkmansDept: TStringField;
CdsCustLinkmansDuty: TStringField;
CdsCustLinkmansAddress: TStringField;
CdsCustLinkmansTel1: TStringField;
CdsCustLinkmansTel2: TStringField;
CdsCustLinkmansMobile: TStringField;
CdsCustLinkmansOICQ: TStringField;
CdsCustLinkmansEMail: TStringField;
CdsCustLinkmansRemark: TStringField;
CdsCustLinkmansCustNo: TStringField;
CdsCustomersDataUsable: TBooleanField;
CdsCustomersCreater: TStringField;
CdsCustomersMender: TStringField;
CdsCustomersGrup: TIntegerField;
RzPanel1: TRzPanel;
RzBitBtn3: TRzBitBtn;
RzBitBtn4: TRzBitBtn;
RzBitBtn6: TRzBitBtn;
ActNewLinkMan: TModlAction;
ActDelLinkMan: TModlAction;
ActEditLinkMan: TModlAction;
RzPanel2: TRzPanel;
RzBitBtn5: TRzBitBtn;
RzBitBtn7: TRzBitBtn;
RzBitBtn8: TRzBitBtn;
ActNewCustGoods: TModlAction;
ActEditCustGoods: TModlAction;
ActDelCustGoods: TModlAction;
CdsCustGoodsCustNo: TStringField;
CdsCustGoodsGoodsID: TStringField;
CdsCustGoodsName: TStringField;
CdsCustGoodsSpecs: TStringField;
CdsCustGoodsUnit1: TStringField;
CdsCustGoodsPrice1: TBCDField;
CdsCustGoodsUnit2: TStringField;
CdsCustGoodsPrice2: TBCDField;
CdsCustGoodsRemark: TStringField;
CdsCustGoodsCustGoodsID: TStringField;
CdsCustGoodsNearDate: TDateTimeField;
ImageList1: TImageList;
ActDesignReport: TModlAction;
ActFieldsLayOut: TModlAction;
ActDataExport: TModlAction;
ptBkPanel: TFlatPanel;
ptCaption: TRzMarqueeStatus;
FlatPanel2: TPanel;
BtnWhatIs: TFlatSpeedButton;
BtnHelp: TFlatSpeedButton;
FlatPanel3: TPanel;
BtnPopMenu: TFlatSpeedButton;
TopPopMenu: TPopupMenu;
SetFields1: TMenuItem;
refresh1: TMenuItem;
CdsCustGoodsDataUsable: TBooleanField;
CdsCustomersEmpNo: TStringField;
CdsCustomersCustPyCode: TStringField;
CdsCustomersCreditDays: TIntegerField;
CdsCustomersPayModeName: TStringField;
CdsCustomersTimeLimit: TIntegerField;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ActRefreshExecute(Sender: TObject);
procedure ActNewExecute(Sender: TObject);
procedure ActModifyExecute(Sender: TObject);
procedure ActDeleteExecute(Sender: TObject);
procedure CdsCustomersBeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
procedure FormShow(Sender: TObject);
procedure ActMoreExecute(Sender: TObject);
procedure ActExitExecute(Sender: TObject);
procedure CdsCustomersReconcileError(DataSet: TCustomClientDataSet;
E: EReconcileError; UpdateKind: TUpdateKind;
var Action: TReconcileAction);
procedure CdsCustGoodsNewRecord(DataSet: TDataSet);
procedure CdsCustLinkmansNewRecord(DataSet: TDataSet);
procedure CdsCustGoodsGoodsidChange(Sender: TField);
procedure ActNewLinkManExecute(Sender: TObject);
procedure ActEditLinkManExecute(Sender: TObject);
procedure ActDelLinkManExecute(Sender: TObject);
procedure ActNewCustGoodsExecute(Sender: TObject);
procedure ActEditCustGoodsExecute(Sender: TObject);
procedure ActDelCustGoodsExecute(Sender: TObject);
procedure ActPrintExecute(Sender: TObject);
procedure CdsCustomersAfterOpen(DataSet: TDataSet);
procedure CdsCustomersBeforeRefresh(DataSet: TDataSet);
procedure CdsCustomersBeforeOpen(DataSet: TDataSet);
procedure CdsCustomersAfterGetRecords(Sender: TObject;
var OwnerData: OleVariant);
procedure BtnPopMenuClick(Sender: TObject);
procedure ActFieldsLayOutExecute(Sender: TObject);
procedure ActDataExportExecute(Sender: TObject);
private
PacketRcs:Integer;
IFmMain :IMainForm;
CdsFieldProperty:TCkClientDataSet;
BeforeGoodsID,FlagGoodsID :String;
LocSetting: PLocSetting;
iClientID :integer;
PublicMark:TBookMark;
SvrCommon,SvrCustomers:TDispatchConnection;
public
bBrowGoods:Boolean;
end;
const
sPayModes = 'Select PayModeNo,PayModename,TimeLimit From PayModes order By PayModeNO';
sFieldProPerty = 'Select * From SysFieldProperty Where TableName in (''Customers'', ''CustGoods'', ''CustLinkmans'', ''Goodses'')';
var
FmCustomers: TFmCustomers;
bTrueEof:Boolean;
vOwnerData:Variant;
implementation
uses CustEdFrm, SelectGoodsFrm, CustLinkmansIN, CustGoods,RepSelectFrm,FieldsLayoutFrm,DataExportFrm,
ceGlobal;
{$R *.DFM}
procedure TFmCustomers.FormCreate(Sender: TObject);
begin
CdsFieldProperty:=TCkClientDataSet.Create(Self);
IFmMain:=Application.MainForm As IMainForm;
LocSetting := IFmMain.IFmMainEx.GetLocSetting;
SetGressHint('正在连接到客户资料管理服务器...');
SvrCustomers:=iFmMain.GetConnection(Handle, '','ckCustomers.Customers');
SetGressHint('正在连接到公用信息服务器');
SvrCommon:=iFmMain.GetConnection(Handle,'','CommonSvr.CommonRDM');
SetGressHint('正在读取用户操作权限...');
IFmMain.SetActionStatus(ActionList1, hInstance, self.ClassName);
iClientID:=IFmMain.IFmMainEx.ClientID;
SetGressHint('正在读取大数据集设置属性...');
PacketRcs:=IFmMain.IFmMainEx.GetLocSetting^.PacketRecs;
CdsCustomers.RemoteServer:=SvrCustomers;
CdsCustomers.PacketRecords:=PacketRcs;
CdsFieldProPerty.ProviderName:='DspTemp';
CdsFieldProPerty.RemoteServer:=SvrCommon;
end;
procedure TFmCustomers.FormShow(Sender: TObject);
begin
SetGressHint('初始化本地环境...');
ptBkPanel.Color := TitlePanelColor;
ptCaption.FillColor := TitlePanelColor;
SetGridEhColor([dbgCustomers, dbgCustGoods, dbgCustLinkmans]);
SysFieldXml(CdsFieldProPerty,sFieldProPerty, ClassName+'.Xml');
SetFieldProperty(CdsFieldProPerty,CdsCustomers, 'Customers');
SetFieldProperty(CdsFieldProPerty,CdsCustGoods, 'CustGoods,Goodses');
SetFieldProperty(CdsFieldProPerty,CdsCustLinkmans, 'CustLinkmans');
SetGressHint('读取历史单据...');
CdsCustomers.Open;
dbgCustomers.SetAutoSort('');
dbgCustGoods.SetAutoSort('');
dbgCustLinkmans.SetAutoSort('');
FreeGressForm;
// SetGrid(True);
end;
procedure TFmCustomers.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Inherited;
Action:=CaFree;
end;
procedure TFmCustomers.ActRefreshExecute(Sender: TObject);
Var iRecords,iTotal:Integer;
begin
vOwnerData:=Null;
iRecords:=PacketRcs;
iTotal:=CdsCustomers.RecordCount;
PacketRcs:=iTotal;
CdsCustomers.Active:=False;
CdsCustomers.PacketRecords:=iTotal;
CdsCustomers.Active:=True;
bTrueEof:=False;
PacketRcs:=iRecords;
end;
procedure TFmCustomers.ActNewExecute(Sender: TObject);
begin
If CdsCustomers.State in dsEditModes Then Exit;
with TFmCustEd.Create(self) do begin
SvrCustEd:=SvrCustomers;
dsCustEd.DataSet := CdsCustomers ;
edCustNO.ReadOnly:=False;
CdsCustomers.Append;
If ShowModal <> mrOk Then Begin
CdsCustomers.Cancel;
CdsCustomers.CancelUpdates;
End;
Free;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -