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

📄 ancbillbase.h

📁 科思ERP部分源码及控件
💻 H
字号:
//---------------------------------------------------------------------------
#ifndef AncBillBaseH
#define AncBillBaseH
//---------------------------------------------------------------------------
#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"
//---------------------------------------------------------------------------
class TAncBillBaseForm : public TForm
{
__published:	// IDE-managed Components
     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:
    TControlAction CurState;
    long ComErrNum;
    bool IsCreate;
    bool l_BillCanceled;
    bool l_BillChecked;
    bool l_BillClosed;
    bool l_ItemClosed;
    TControlGroups *ClientGroup;
    TComServer *comServer;
    TSDEdit *AutoCtl;
    TKSSet *l_RsGoods;
    TKSSet *l_RsSupply;
    TKSSet *l_RsClient;
    TComResultSet *g_sdRsGlkm;
    TComResultSet *l_Query;    
private:	// User declarations

    void __fastcall ReadFormSetValue();
    void __fastcall WriteFormSetValue();
    bool __fastcall ResolveBillCode();
protected:
    int __fastcall ShowMessageWindow(AnsiString Msg,TMessageWindowStyle mStyle);
    void __fastcall ShowHelp();
    void __fastcall ConnectToInternet(AnsiString wwwStr);
    void __fastcall ShowAboutWindow();

    virtual void __fastcall SetControlState(TControlAction mAct);
    virtual AnsiString __fastcall GetCurrentStateString();
    virtual void __fastcall SetToolBarState(TControlAction mAct);
    virtual void __fastcall SetStatusBarInfo(TControlAction mAct);
    virtual void __fastcall SetMenuState(TControlAction mAct);
    virtual 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 SaveRecord();
    DYNAMIC void __fastcall MoveToFirst();
    DYNAMIC void __fastcall MoveToPrevious();
    DYNAMIC void __fastcall MoveToNext();
    DYNAMIC void __fastcall MoveToLast();
    DYNAMIC void __fastcall EditAllDetail();

    virtual void __fastcall QueryRecord();
    virtual void __fastcall ExportData();
    virtual void __fastcall SaveDataToFile()=0;

    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 SendDataToPrinter();

    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 SetFormRight(AnsiString right)=0;
    
    virtual void __fastcall EditBill();
    virtual void __fastcall SendAllDetailValue();
    virtual void __fastcall SetCheckToolbarStatus(bool state);
    virtual void __fastcall SetCloseToolbarStatus(bool state);
    virtual void __fastcall SetCloseItemStatus(bool state);
    virtual void __fastcall SetCancelToolbarStatus(bool state);
    virtual void __fastcall VerifyFormRight();

    /* 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();

    __property TControlAction CurrentState={read=CurState};
    __property TControlAction DetailState={read=FDetailState};
    //报表代码
    AnsiString BillReportCodeStr;

public:		// User declarations
    __fastcall TAncBillBaseForm(TComponent* Owner,HWND chWnd,AnsiString MidCode,AnsiString WhereStr);
    __fastcall ~TAncBillBaseForm();
    __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();
   void __fastcall ResolveRight(TMessage &message);   
   AnsiString l_AutoCodeString;//自动编码代码
   TStringList *__fastcall DecStrKey(char AFixed, AnsiString AStrKey);//分解多关键字
protected:
    void virtual __fastcall RefreshUpdateData(int MsgSrc,int MsgType);
    void virtual __fastcall UpdateMessage(TMessage Message);
    void virtual __fastcall ReSetToolbarStatus();

public:
    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_FORMRIGHT_MSG,TMessage,ResolveRight);
    END_MESSAGE_MAP(TForm)
};
//---------------------------------------------------------------------------
extern PACKAGE TAncBillBaseForm *AncBillBaseForm;
//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

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