#if !defined(AFX_RPTS_H__B3971462_FC37_11D3_964F_00C0F02C4B69__INCLUDED_) #define AFX_RPTS_H__B3971462_FC37_11D3_964F_00C0F02C4B69__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // RPTS.h : header file // ///////////////////////////////////////////////////////////////////////////// // RPTS form view #ifndef __AFXEXT_H__ #include #endif //these defines are used to set bits //for which criteria selectors should be //enabled depending upon the report //Use bitwise OR | to add up values //and use bitwise AND to See if a bit is set or not //so CLIENT | TECH = 3 anding client or tech will //result in nonzero so if(value & CLIENT) will be //true if client exists in bitfield //largest possible number for these 10 items would be //512, 15 items would be 32767 #define CLIENT 1 #define TECH 2 #define PROJECT 4 #define CATEGORY 8 #define UNIT 16 #define PART 32 #define RATE 64 #define NONCLIENT 128 #define DATE 256 #define ZONE 512 #define MANUFACTURER 1024 #define MODEL 2048 #include "gzcombo.h" #include "gzrset.h" #include "label.h" #include "afxwin.h" class RPTS : public CFormView { public: RPTS(); // protected constructor used by dynamic creation DECLARE_DYNCREATE(RPTS) GZRset* rs; CSpApp* m_pApp; // Form Data public: //{{AFX_DATA(RPTS) enum { IDD = IDD_RPTS_FORM }; CButton m_btnSQL; CButton m_btnFields; CButton m_btnTTX; CLabel m_lblByModel; CLabel m_lblByDesc; CStatic m_lblModel; CStatic m_lblManufacturer; CgzCombo m_cbModel; CgzCombo m_cbManufacturer; CStatic m_lblZone; CgzCombo m_cbZone; CStatic m_lblUnit; CStatic m_lblTech; CStatic m_lblRate; CStatic m_lblProject; CStatic m_lblPart; CStatic m_lblNonClient; CStatic m_lblDateRange; CStatic m_lblClient; CStatic m_lblCategory; CStatic m_lblBetween; CStatic m_lblAnd; CDateTimeCtrl m_dtStart; CDateTimeCtrl m_dtEnd; CgzCombo m_cbUnit; CgzCombo m_cbTech; CgzCombo m_cbReport; CgzCombo m_cbRate; CgzCombo m_cbProject; CgzCombo m_cbPart; CgzCombo m_cbNonClient; CgzCombo m_cbDateRange; CgzCombo m_cbClient; CgzCombo m_cbCategory; CButton m_btnReport; //}}AFX_DATA // Attributes public: // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(RPTS) public: virtual void OnInitialUpdate(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation public: //CString m_strChosenReport; CString m_strReportFileName; void GetDateXMonthsAgo(COleDateTime* dtData, int iMonths); void GetFirstDayLastMonth(COleDateTime* dtData); void GetMonthEnd(COleDateTime* dtData); void BuildSql(); CString m_strSQL; CString m_strRawSQL; CString m_strProcessedSQL;//added June 24th 2003 to handle head offices and preserve original raw sql void BuildCriteria(); bool m_bListByDescription; void ActivateCriteria(); void FillLists(bool bFillModelsOnly); void DeActivate(); void Activate(); virtual ~RPTS(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // Generated message map functions //{{AFX_MSG(RPTS) afx_msg void OnLblbymodel(); afx_msg void OnLblbydesc(); afx_msg void OnCloseupCbreport(); afx_msg void OnBtnreport(); afx_msg void OnCloseupCbdaterange(); afx_msg void OnDatetimechangeDtend(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnDatetimechangeDtstart(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnBtnttx(); afx_msg void OnBtnfields(); afx_msg void OnBtnrefresh(); afx_msg void OnBtnsql(); //}}AFX_MSG DECLARE_MESSAGE_MAP() afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); bool m_bShowShortdateWarning; private: // Substitute head offices in query if one was selected as criteria void SubHeadOffice(void); }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_RPTS_H__B3971462_FC37_11D3_964F_00C0F02C4B69__INCLUDED_)