campo-sirio/ci/ci0400.h
alex 5c694c8d6c Patch level : 2.2
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

Modlo contabilità industriale agggiunto supporto numerazioni ordinate per data


git-svn-id: svn://10.65.10.50/trunk@13002 c028cbd2-c16b-5b4b-a496-9718f37d4682
2005-04-22 20:46:53 +00:00

70 lines
2.0 KiB
C++
Executable File

#ifndef __CI0400_H
#define __CI0400_H
///////////////////////////////////////////////////////////
// TImmissioneDocumenti_mask
///////////////////////////////////////////////////////////
class TImmissioneDocumenti_mask : public TAlmanac_mask
{
protected:
public:
// ereditato da TAlmanac_mask
virtual bool is_date_void(int currpage, TDate& cdate);
virtual void change_year(int newyear);
public:
// apertura del foglio interno di gestione dei documenti
void open_inner_sheet(TDate date, TString doctype, bool can_insert);
private:
// chiamata del programma ve0
void call_ve0(int exitval, TRelation& relation, TDate& date, TString& doctype);
public:
// Costruttore
TImmissioneDocumenti_mask() : TAlmanac_mask("ci0400a") { }
// Distruttore
~TImmissioneDocumenti_mask() { }
};
///////////////////////////////////////////////////////////
// TImmissioneDocumenti_app
///////////////////////////////////////////////////////////
class TImmissioneDocumenti_app: public TSkeleton_application
{
private:
TImmissioneDocumenti_mask* _mask;
TString_array _filters; // filtri tipodoc per ogni tab
TArray _flags; // array di TBit_array. Ognuno di essi è lungo 366 e rappresenta i flag di presenza documenti per ogni giorno dell'anno. Ogni page della maschera ha bisogno di un bitarray diverso
TBit_array _ordered;
TDate _newyearsday; // capodanno dell'anno corrente, per uso interno
int _year; // anno corrente
private:
void init_tabs();
void init_flags();
protected:
virtual bool create(void);
virtual void main_loop();
virtual bool destroy(void) ;
public:
bool has_documents(int currpage, TDate& day); // passata come funzione alla maschera
void change_year(int newyear, bool init_flg = true); // passata come funzione alla maschera
public:
bool ordered(byte p) { return _ordered[p]; }
TImmissioneDocumenti_app() { change_year(TDate(TODAY).year(), false); }
virtual ~TImmissioneDocumenti_app() {}
};
inline TImmissioneDocumenti_app& immissione_documenti_app() { return (TImmissioneDocumenti_app&)main_app(); }
#endif // __CI0400_H