⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ancgenbase.h

📁 科思ERP部分源码及控件
💻 H
字号:
//---------------------------------------------------------------------------
#ifndef AncGenBaseH
#define AncGenBaseH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>

#include "BaseGlobeVars.h"
#include "KSFunction.h"
#include "CommFunction.h"
#include "WhereForm.h"
#include "FormSet.h"
#include "WnQuery.h"
#include "container.h"
#include "ClientDcom.h"

#define WM_UPDATE_MSG (WM_USER+1)
//---------------------------------------------------------------------------
class TAncGenBaseForm : public TForm
{
__published:
    void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);

private:
  //this variable indicate the current state of form
   TComResultSet *RsFieldsName;
  TControlAction FDetailState;
  int l_AutoQuery;
  AnsiString l_QueryString;
  int l_AutoCode;
  char l_MaskAutoCode;
  int l_QueryStatus;  //用于标示查询是成功还是失败 1-成功,0-失败
  AnsiString FixedFilStr;
public:
  TControlGroups *ClientGroup;
  TComServer *comServer;
  TSDEdit *AutoCtl;

  TControlAction CurState;
  long ComErrNum;
  bool IsCreate;
  bool l_BillCanceled;
  bool l_BillChecked;
  bool l_BillClosed;
  bool l_ItemClosed;  
protected:
  int __fastcall ShowMessageWindow(AnsiString Msg,TMessageWindowStyle mStyle);
  AnsiString __fastcall GetCurrentStateString();
  void __fastcall ShowHelp();
  void __fastcall ConnectToInternet(AnsiString wwwStr);
  void __fastcall ShowAboutWindow();

  DYNAMIC void __fastcall SetControlState(TControlAction mAct);
  DYNAMIC void __fastcall SetToolBarState(TControlAction mAct);
  DYNAMIC void __fastcall SetStatusBarInfo(TControlAction mAct);
  DYNAMIC void __fastcall SetMenuState(TControlAction mAct);
  DYNAMIC void __fastcall GetControlInfo();

  DYNAMIC void __fastcall AddHeadRecord();
  DYNAMIC void __fastcall EditHeadRecord();
  DYNAMIC void __fastcall DelHeadRecord();

  DYNAMIC void __fastcall AddDetailRecord();
  DYNAMIC void __fastcall EditDetailRecord();
  DYNAMIC void __fastcall DelDetailRecord();

  DYNAMIC void __fastcall CancelRecord();
  DYNAMIC void __fastcall CancelChange();
  DYNAMIC void __fastcall HeadCancel();
  DYNAMIC void __fastcall DetailCancel();
  DYNAMIC void __fastcall GenDetail();
  DYNAMIC void __fastcall EditAllDetail();

  DYNAMIC void __fastcall SaveRecord();
  DYNAMIC void __fastcall MoveToFirst();
  DYNAMIC void __fastcall MoveToPrevious();
  DYNAMIC void __fastcall MoveToNext();
  DYNAMIC void __fastcall MoveToLast();

  virtual void __fastcall QueryRecord();

  DYNAMIC void __fastcall SelectFirstObject();
  DYNAMIC void __fastcall SelectPreviousObject();
  DYNAMIC void __fastcall SelectNextObject();
  DYNAMIC void __fastcall SelectLastObject();

      //if need show confirm dialog,the parameter is true,else to false
  DYNAMIC void __fastcall PrintBill(bool ShowDialog);
  DYNAMIC void __fastcall SendDataToPrinter();
  virtual void __fastcall ExportData();
  virtual void __fastcall SaveDataToFile()=0;

  virtual void __fastcall UnDoChange();
      // this function Show FindWindow let user select or browse records
      // in a windows Named "FindWindow" .
      // the parameter is browseno which stored in SDEdit's property BrowseNo
      // the return value is AnsiString value.
  virtual bool __fastcall ShowQueryWindow();
  virtual void __fastcall SetQueryWindowFilterStr(AnsiString Value="");
  virtual void __fastcall SetFormOption();
  DYNAMIC bool __fastcall ResponseQueryMenu(TMenuItem *MItem);
  DYNAMIC bool __fastcall ResponseReportMenu(TMenuItem *MItem);
  DYNAMIC void __fastcall ExitThisForm();

  DYNAMIC void __fastcall SaveComObject(int Section);
  DYNAMIC void __fastcall NewComObject(int Section);
  DYNAMIC void __fastcall EditComObject(int Section);
  DYNAMIC void __fastcall DeleteHeadRecord();
  DYNAMIC void __fastcall DeleteDetailRecord();
  DYNAMIC bool __fastcall ObjectCanBeDeleted(int Section);
  DYNAMIC void __fastcall SetControlToBrowseState(int Section);

      // this function clear all the control in TControlGroups or
      // User Specify if the parameter BringToNext is true,it does
      // not clear the control else clear it.
  virtual void __fastcall InitEditControl();
  virtual void __fastcall ClearControl(int Section,bool BringToNext)=0;
  virtual void __fastcall GetDataFromComObject(int Section)=0;
  virtual void __fastcall SendDataToComObject(int Section)=0;
  virtual void __fastcall WaitUserInput(int Section)=0;
  virtual void __fastcall RefreshGridData(int mAction)=0;
  virtual void __fastcall DisplayBill()=0;
  virtual void __fastcall GetBill(AnsiString BillID)=0;
  virtual void __fastcall FillGridWithData()=0;
  virtual void __fastcall ChangeToBrowseState(bool Browse=false)=0;
  virtual void __fastcall GenrateBill()=0;
  virtual bool __fastcall ShowCheckDlg();
  virtual void __fastcall EditBill();
  virtual void __fastcall SendAllDetailValue();
  virtual void __fastcall SetCheckToolbarStatus(bool state);
  virtual void __fastcall SetCloseToolbarStatus(bool state);
  virtual void __fastcall SetCancelToolbarStatus(bool state);
  virtual void __fastcall SetCloseItemStatus(bool state);

  /* TODO : 审核与结清 */
  virtual bool __fastcall BeforeCheck();//给审核单据所需的字段(Check,cherker,checkdate)赋值,成功执行就返回true;
  virtual bool __fastcall BeforeUnCheck();
  virtual bool __fastcall BeforeCloseBill();
  virtual bool __fastcall BeforeUnCloseBill();
  virtual bool __fastcall BeforeCloseDetail();
  virtual bool __fastcall BeforeUnCloseDetail();

  virtual void __fastcall CheckRecord();
  virtual void __fastcall UnCheckRecord();
  virtual void __fastcall CloseBill();
  virtual void __fastcall CloseDetail();
  virtual void __fastcall UnCloseBill();
  virtual void __fastcall UnCloseDetail();

  virtual void __fastcall SetFormRight(AnsiString right)=0;
  virtual void __fastcall VerifyFormRight()=0;
  
  __property TControlAction CurrentState={read=CurState};
  __property TControlAction DetailState={read=FDetailState};
  //报表代码
  AnsiString BillReportCodeStr;
private:
  void __fastcall ReadFormSetValue();
  void __fastcall WriteFormSetValue();
  void __fastcall ResolveRight(TMessage &message);
  bool __fastcall ResolveBillCode();//自动编码
  AnsiString l_AutoCodeString;//自动编码代码
public:	 
  __fastcall TAncGenBaseForm(TComponent* Owner,HWND chWnd,AnsiString MidCode,AnsiString WhereStr);
  __fastcall ~TAncGenBaseForm();
  __property int QueryStatus={read=l_QueryStatus,write=l_QueryStatus};
  void __fastcall SetAutoCodeString(TSDEdit *AutoCodeCtl,AnsiString AutoCodeString);//自动编码代码
  void __fastcall SetAutoCodeString(TSDEdit *AutoCodeCtl);//自动编码代码
private:
  TComResultSet *__fastcall GetQuery();
  TStringList *__fastcall DecStrKey(char AFixed, AnsiString AStrKey);//分解多关键字

protected:
  void virtual __fastcall UpdateMessage(TMessage Message);
  void virtual __fastcall RefreshUpdateData(int MsgSrc,int MsgType);
  void virtual __fastcall ReSetToolbarStatus();



public:
  TGetValueType GetValueType;//由GetGoodsValue等返回时所需要的类型{gtOpenForm:从openGoodsForm数据集;gtInitRs:从InitRsGoods数据集}

  TKSSet *l_RsGoods;
  TKSSet *l_RsSupply;
  TKSSet *l_RsClient;

  TComResultSet *g_sdRsGlkm;
  TComResultSet *l_Query; //anc
//------------------------------------------------------------
  AnsiString __fastcall GetGlkmValue(TGetValueType GetValueType,AnsiString mFieldName);
  AnsiString __fastcall GetGoodsValue(TGetValueType GetValueType,AnsiString mFieldName);//GetValueType枚举变量:{gtInitRs,gtOpenForm}
  AnsiString __fastcall GetSupplyValue(TGetValueType GetValueType,AnsiString mFieldName);
  AnsiString __fastcall GetClientValue(TGetValueType GetValueType,AnsiString mFieldName);

  bool __fastcall InitRsGlkm(AnsiString L_GlkmCode);
  bool __fastcall InitRsGoods(AnsiString L_goodsCode);
  bool __fastcall InitRsSupply(AnsiString L_SupplysCode);
  bool __fastcall InitRsClient(AnsiString L_ClientsCode) ;

  bool __fastcall OpenGlkmForm(bool IsOnlyDetail=true) ;//IsOnlyDetail,是否只能返回明细科目,default=ture;
  bool __fastcall OpenGoodsForm(AnsiString WhereStr);//打开查询窗体
  bool __fastcall OpenSupplyForm(AnsiString WhereStr);
  bool __fastcall OpenClientForm(AnsiString WhereStr);
  //------------------------------------------------------------
  AnsiString __fastcall GetHeadValue(AnsiString fieldname);
  void __fastcall SetHeadValue(AnsiString fieldname,Variant value,bool AllowEmpty=true);
  AnsiString __fastcall GetDetailValue(AnsiString fieldname);
  void __fastcall SetDetailValue(AnsiString fieldname,Variant value,bool AllowEmpty=true);
  AnsiString __fastcall GetParamValue(AnsiString ParameterCode);  

  __property int AutoQuery={read=l_AutoQuery};
  __property TComResultSet *Query={read=GetQuery};


BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(WM_UPDATE_MSG, TMessage, UpdateMessage);
    MESSAGE_HANDLER(WM_FORMRIGHT_MSG,TMessage,ResolveRight );
END_MESSAGE_MAP(TForm)

};
//---------------------------------------------------------------------------
extern PACKAGE TAncGenBaseForm *AncGenBaseForm;
//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -