Patch level : 10.0

Files correlati     : ci0 ci2 tracciati record
Ricompilazione Demo : [ ]
Commento            :
Correzioni varie ai programmi di rilevamento ore già esistenti
Correzione ai tracciati record per renderlo ceorente


git-svn-id: svn://10.65.10.50/branches/R_10_00@20697 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2010-07-24 07:20:54 +00:00
parent 97416deba5
commit ae04b7cd99
7 changed files with 340 additions and 17 deletions

View File

@ -11,6 +11,7 @@ int main(int argc, char** argv)
case 2 : ci0300(argc,argv); break; // parametri configurazione Contabilita' Industriale
case 3 : ci0400(argc,argv); break; // immssione documenti
case 4 : ci0500(argc,argv); break; // gestione disponibilità risorse / attrezzature
case 5 : ci0600(argc,argv); break; // gestione default risorse / attrezzature
default: ci0100(argc,argv); break; // gestione tabelle cont. ind.
}
return 0;

View File

@ -6,5 +6,6 @@ int ci0200(int argc, char* argv[]); // gestione risorse / attrezzature
int ci0300(int argc, char* argv[]); // parametri configurazione Contabilita' Industriale
int ci0400(int argc, char* argv[]); // immssione documenti
int ci0500(int argc, char* argv[]); // gestione disponibilità risorse / attrezzature
int ci0600(int argc, char* argv[]); // gestione default risorse / attrezzature
#endif // __CI0_H

View File

@ -272,6 +272,9 @@ void TRisoatt_msk::registra()
TString80 chiave;
chiave << tipo << cod << anno << mese << tpora;
TString8 tmp; tmp << anno << mese;
const long anme = atol(tmp);
tab.put("CODTAB", chiave);
int err = tab.read();
@ -282,6 +285,7 @@ void TRisoatt_msk::registra()
else
{
tab.put("R1", valuni);
tab.put("I0", anme);
tab.rewrite();
}
}
@ -290,6 +294,7 @@ void TRisoatt_msk::registra()
tab.put("CODTAB", chiave);
tab.put("S0", descr);
tab.put("R1", valuni);
tab.put("I0", anme);
tab.write();
}
}

View File

@ -3,6 +3,7 @@
#include <image.h>
#include "cilib.h"
#include "cirilroa.h"
#include "cimsk.h"
///////////////////////////////////////////////////////////
@ -538,6 +539,14 @@ const TString& TRisoatt_key::tpora() const
return right(2);
}
TRisoatt_key::TRisoatt_key(const char risoatt, const char* codice, const int anno, const char* mese, const char* tpora)
{
TString16 cod = codice; cod.left_just(16);
TString chiave; chiave << risoatt << cod << anno << mese << tpora;
set(chiave);
}
TRisoatt_key::TRisoatt_key(const char* roakey)
{
set(roakey);
@ -547,6 +556,21 @@ TRisoatt_key::TRisoatt_key(const char* roakey)
//// TRISOATT ////
////////////////////////
bool TRisoatt::read(const TRisoatt_key& chiave)
{
int err = _iskeynotfound;
TModule_table tabmod("&ROA");
tabmod.put("CODTAB", chiave);
err = tabmod.read();
if (err != NOERR)
zero();
return err == NOERR;
}
//CHIAVE: metodo che restituisce la chiave della tabella di modulo
const TString& TRisoatt::chiave() const
{
@ -572,6 +596,12 @@ TRisoatt::TRisoatt(const TRectype& r)
CHECK(r.num() == LF_TABMOD, "Tipo record errato");
}
TRisoatt::TRisoatt(const TRisoatt_key &chiave)
: TRectype(LF_TABMOD)
{
read(chiave);
}
/////////////////////////////
//// TDISP_RISOATT ////
/////////////////////////////
@ -602,7 +632,238 @@ const int TDisp_risoatt::ore_cons() const
//costruttore
TDisp_risoatt::TDisp_risoatt(const TRectype& r)
: TRectype(r)
: TRectype(r)
{
CHECK(r.num() == LF_TABMOD, "Tipo record errato");
}
////////////////////////////////
//// TRILEVAMENTO_ORE ////
////////////////////////////////
//READ: cerca una riga rilevamento ore in base alla chiave primaria
bool TRilevamento_ore::read(const char tipo, const char tipora, const char *codice, const int anno, const char *mese, const char *tpora)
{
int err = _iskeynotfound;
TLocalisamfile rilore(LF_CIRILROA);
put(CIRILROA_TIPO, tipo);
put(CIRILROA_TIPORA, tipora);
put(CIRILROA_CODICE, codice);
put(CIRILROA_ANNO, anno);
put(CIRILROA_MESE, mese);
put(CIRILROA_TPORA, tpora);
err = TRectype::read(rilore);
if (err != NOERR)
zero();
return err == NOERR;
}
//READ: cerca una riga rilevamento ore in base alla chiave secondaria
bool TRilevamento_ore::read(const char tipo, const char* codcosto, const char* codcms, const char* codfase)
{
int err = _iskeynotfound;
TLocalisamfile rilore(LF_CIRILROA);
put(CIRILROA_TIPO, tipo);
put(CIRILROA_CODCOSTO, codcosto);
put(CIRILROA_CODCMS, codcms);
put(CIRILROA_CODFASE, codfase);
err = TRectype::read(rilore);
if (err != NOERR)
zero();
return err == NOERR;
}
//TIPO: indica se si tratta di una riga di <D>efault, <P>reventivo o <C>onsuntivo
const char TRilevamento_ore::tipo() const
{
return get(CIRILROA_TIPO)[0];
}
//TIPORA: indica se si tratta din una <R>isorsa o di una <A>ttrezzatura
const char TRilevamento_ore::tipora() const
{
return get(CIRILROA_TIPORA)[0];
}
//CODICE: restiruisce il codice della risorsa o dell'attrezzatura
const TString& TRilevamento_ore::codice() const
{
return get(CIRILROA_CODICE);
}
//ANNO: restituisce l'anno a cui fa riferimento la riga
const int TRilevamento_ore::anno() const
{
return get_int(CIRILROA_ANNO);
}
//MESE: restituisce il mese a cui fa riferimento la riga
const TString& TRilevamento_ore::mese() const
{
return get(CIRILROA_MESE);
}
//TPORA: restituisce il tipo ora
const TString& TRilevamento_ore::tpora() const
{
return get(CIRILROA_TPORA);
}
//CODCOSTO: restituisce il codice del centro di costo
const TString& TRilevamento_ore::codcosto() const
{
return get(CIRILROA_CODCOSTO);
}
//CODCMS: restituisce il codice commessa
const TString& TRilevamento_ore::codcms() const
{
return get(CIRILROA_CODCMS);
}
//CODFASE: restituisce il codice della fase
const TString& TRilevamento_ore::codfase() const
{
return get(CIRILROA_CODFASE);
}
//DADATA: restituisce la data di inizio validità della riga
const TDate TRilevamento_ore::dadata() const
{
return get_date(CIRILROA_DADATA);
}
//ADATA: restituisce la fata di fine validità della riga
const TDate TRilevamento_ore::adata()const
{
return get_date(CIRILROA_ADATA);
}
//QTAORE: restituisce il numero di ore
const int TRilevamento_ore::qtaore() const
{
return get_int(CIRILROA_QTAORE);
}
//COSTO: restitusce il costo unitario
const real TRilevamento_ore::costo() const
{
return get_real(CIRILROA_COSTO);
}
//SET_TIPO: setta <D>efault, <P>reventivo o <C>onsuntivo
void TRilevamento_ore::set_tipo(const char tipo)
{
put(CIRILROA_TIPO, tipo);
}
//SET_TIPORA: setta <R>isorsa o <A>ttrezzatura
void TRilevamento_ore::set_tipora(const char tipora)
{
put(CIRILROA_TIPORA, tipora);
}
//SET_CODICE: setta il codice
void TRilevamento_ore::set_codice(const char* codice)
{
put(CIRILROA_CODICE, codice);
}
//SET_ANNO: setta l'anno di riferimento
void TRilevamento_ore::set_anno(const int anno)
{
put(CIRILROA_ANNO, anno);
}
//SET_MESE: setta il mese di riferimento
void TRilevamento_ore::set_mese(const char* mese)
{
put(CIRILROA_MESE, mese);
}
//SET_TPORA: setta il tipo ora
void TRilevamento_ore::set_tpora(const char* tpora)
{
put(CIRILROA_TPORA, tpora);
}
//SET_CODCOSTO: setta il codice del centro di costo
void TRilevamento_ore::set_codcosto(const char* codcosto)
{
put(CIRILROA_CODCOSTO, codcosto);
}
//SET_CODCMS: setta il codice commessa
void TRilevamento_ore::set_codcms(const char* codcms)
{
put(CIRILROA_CODCMS, codcms);
}
//SET_CODFASE: setta il codice della fase
void TRilevamento_ore::set_codfase(const char* codfase)
{
put(CIRILROA_CODFASE, codfase);
}
//SET_DADATA: setta la data di inizio validità della riga
void TRilevamento_ore::set_dadata(const TDate& dadata)
{
put(CIRILROA_DADATA, dadata);
}
//SET_ADATA: setta la data di fine validità della riga
void TRilevamento_ore::set_adata(const TDate& adata)
{
put(CIRILROA_ADATA, adata);
}
//SET_QTAORE: setta il numero di ore rilevato
void TRilevamento_ore::set_qtaore(const int qtaore)
{
put(CIRILROA_QTAORE, qtaore);
}
//SET_COSTO: metodo che setta il costo unitario (da listino)
void TRilevamento_ore::set_costo(const real& costo)
{
put(CIRILROA_COSTO, costo);
}
//Metodi costruttori
TRilevamento_ore::TRilevamento_ore(const TRectype& rec)
: TRectype(rec)
{
}
TRilevamento_ore::TRilevamento_ore(const TRilevamento_ore& rilore)
: TRectype(rilore)
{
}
TRilevamento_ore::TRilevamento_ore(const char tipo, const char tipora, const char* codice, const int anno, const char* mese, const char* tpora)
: TRectype(LF_CIRILROA)
{
read(tipo, tipora, codice, anno, mese, tpora);
}
TRilevamento_ore::TRilevamento_ore(const char tipo, const char* codcosto, const char* codcms, const char* codfase)
: TRectype(LF_CIRILROA)
{
read(tipo, codcosto, codcms, codfase);
}
TRilevamento_ore::TRilevamento_ore()
: TRectype(LF_CIRILROA)
{
zero();
}

View File

@ -13,6 +13,7 @@
#include <tabmod.h>
#endif
///////////////////////////////////////////////////////////
// TAlmanac_field
///////////////////////////////////////////////////////////
@ -162,6 +163,7 @@ public:
const TString& tpora() const;
//costruttore
TRisoatt_key(const char risoatt, const char* codice, const int anno, const char* mese, const char* tpora);
TRisoatt_key(const char* roakey);
};
@ -172,6 +174,9 @@ public:
//Classe TRisoatt
class TRisoatt : public TRectype
{
private:
bool read(const TRisoatt_key& chiave);
public:
TRisoatt & operator =(const TRisoatt& ris) { return *this; }
@ -181,6 +186,7 @@ public:
//costruttore
TRisoatt(const TRectype& r);
TRisoatt(const TRisoatt_key& chiave);
virtual ~TRisoatt() {}
};
@ -206,5 +212,53 @@ public:
virtual ~TDisp_risoatt() {}
};
////////////////////////////////
//// TRILEVAMENTO_ORE ////
////////////////////////////////
//Classe TRilevamento_ore
class TRilevamento_ore : public TRectype
{
private:
bool read(const char tipo, const char tipora, const char* codice, const int anno, const char* mese, const char* tpora);
bool read(const char tipo, const char* codcosto, const char* codcms, const char* codfase);
public:
TRilevamento_ore & operator =(const TRilevamento_ore & rilore) { return *this; }
const char tipo() const;
const char tipora() const;
const TString& codice() const;
const int anno() const;
const TString& mese() const;
const TString& tpora() const;
const TString& codcosto() const;
const TString& codcms() const;
const TString& codfase() const;
const TDate dadata() const;
const TDate adata() const;
const int qtaore() const;
const real costo() const;
void set_tipo(const char tipo);
void set_tipora(const char tipora);
void set_codice(const char* codice);
void set_anno(const int anno);
void set_mese(const char* mese);
void set_tpora(const char* tpora);
void set_codcosto(const char* codcosto);
void set_codcms(const char* codcms);
void set_codfase(const char* codfase);
void set_dadata(const TDate& dadata);
void set_adata(const TDate& adata);
void set_qtaore(const int qtaore);
void set_costo(const real& costo);
TRilevamento_ore(const TRectype& rec);
TRilevamento_ore(const TRilevamento_ore& rilore);
TRilevamento_ore(const char tipo, const char tipora, const char* codice, const int anno, const char* mese, const char* tpora);
TRilevamento_ore(const char tipo, const char* codcosto, const char* codcms, const char* codfase);
TRilevamento_ore();
};
#endif

View File

@ -1,3 +1,3 @@
125
1
%stobil|0|0|152|20|Storico bilanci per calcoli|||
0
$cirilroa|0|0|102|0|Rilevamento Ore|||

View File

@ -1,17 +1,18 @@
125
13
CODDITTA|3|5|0|Codice ditta
TIPO|1|1|0|<D>efault <P>reventivo <C>onsuntivo
TIPORA|1|1|0|<R>isorsa <A>ttrezzatura
CODICE|1|16|0|Codice Risorsa o Attrezzatura
ANNO|2|4|0|Anno
CODPDB|1|3|0|Codice periodo di bilancio
TIPOBIL|1|2|0|Tipo bilancio
CODVC|1|10|0|Codice voce
FLSI|1|1|0|Flag saldo iniziale <D>are, <A>vere
SALDOIN|4|18|3|Saldo iniziale
PROGDARE|4|18|3|Progressivo dare
PROGAVERE|4|18|3|Progressivo avere
RICDARE|4|18|3|Riclassificazioni dare
RICAVERE|4|18|3|Riclassificazioni avere
RETTDARE|4|18|3|Rettifiche dare
RETTAVERE|4|18|3|Rettifiche avere
1
CODDITTA+ANNO+CODPDB+TIPOBIL+CODVC|
MESE|1|2|0|Mese
TPORA|1|2|0|Tipo Ora
CODCOSTO|1|20|0|Codice centro di costo
CODCMS|1|20|0|Codice Commessa
CODFASE|1|10|0|Codice Fase
DADATA|5|8|0|Data Inizio
ADATA|5|8|0|Data Fine
QTAORE|2|4|0|Quantita' ora
COSTO|4|6|2|Costo Unitario
2
TIPO+TIPORA+CODICE+ANNO+MESE+TPORA
TIPO+CODCOSTO+CODCMS+CODFASE