Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/trunk@19135 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-07-24 14:44:11 +00:00
parent de82c6753e
commit c3fe50ea33
3 changed files with 98 additions and 13 deletions

@ -153,6 +153,7 @@ class TContabilizzazione_analitica_costi : public TContabilizzazione_analitica
TString4 _codcaus;
bool _costi;
TCausale * _caus;
const TElabollazione_HK_mask* _msk;
public:
virtual bool elabora(TDocumento& doc, long numreg_cg, TViswin* viswin, bool can_write, TAnal_mov& mov,
@ -160,10 +161,12 @@ public:
virtual const TCausale& doc2caus(const TDocumento& doc);
TContabilizzazione_analitica_costi(const TString& codcaus, const char* cod = NULL, bool costi = true)
: TContabilizzazione_analitica(cod), _codcaus(codcaus), _costi(costi), _caus(NULL) {}
TContabilizzazione_analitica_costi(const TString& codcaus, const TRectype& rec, bool costi = true)
: TContabilizzazione_analitica(rec), _codcaus(codcaus), _costi(costi), _caus(NULL) {}
TContabilizzazione_analitica_costi(const TString& codcaus, const TElabollazione_HK_mask* msk, const char* cod = NULL, bool costi = true)
: TContabilizzazione_analitica(cod), _codcaus(codcaus), _msk(msk), _costi(costi),
_caus(NULL) {}
TContabilizzazione_analitica_costi(const TString& codcaus, const TElabollazione_HK_mask* msk, const TRectype& rec, bool costi = true)
: TContabilizzazione_analitica(rec), _codcaus(codcaus), _msk(msk), _costi(costi),
_caus(NULL) {}
virtual ~TContabilizzazione_analitica_costi() {}
};
@ -261,7 +264,7 @@ bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg
bool pareggio = false;
// salto descrizioni, e omaggi
if (riga.is_descrizione() || riga.is_omaggio())
if (riga.is_descrizione())
continue;
// salto valori nulli
@ -333,6 +336,16 @@ bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg
TString_array conti;
const char tipomov = mov.get_char(MOVANA_TIPOMOV);
const bool ok = find_conti(riga, conti, annoes, riclassifica_fdr_fde, tipomov, pareggio);
if (riga.is_omaggio())
{
const int gruppo = _msk->get_int(F_GRUPPO);
const int conto = _msk->get_int(F_CONTO);
const long sottoconto = _msk->get_int(F_SOTTOCONTO);
TString conto_omaggio;
conto_omaggio.format("%03d%03d%06ld", gruppo, conto, sottoconto);
TToken_string& riga_conti = conti.row(0);
riga_conti.add(conto_omaggio, 0);
}
if (!ok)
{
if (viswin != NULL)
@ -352,7 +365,7 @@ bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg
FOR_EACH_ARRAY_ROW(conti, i, row)
{
TRectype& rmov = mov.new_row();
rmov.put(RMOVANA_ANNOES, annoes);
rmov.put(RMOVANA_ANNOES, annoes);
rmov.put(RMOVANA_CODCONTO, row->get(0));
rmov.put(RMOVANA_CODCCOSTO,row->get());
rmov.put(RMOVANA_CODCMS, row->get());
@ -401,10 +414,10 @@ bool TContabilizzazione_analitica_costi::elabora(TDocumento& doc, long numreg_cg
class TContabilizzazione_analitica_provvigioni : public TContabilizzazione_analitica_costi
{
public:
TContabilizzazione_analitica_provvigioni(const TString& codcaus, const char* cod = NULL)
: TContabilizzazione_analitica_costi(codcaus, cod, false) {}
TContabilizzazione_analitica_provvigioni(const TString& codcaus, const TRectype& rec)
: TContabilizzazione_analitica_costi(codcaus, rec, false) {}
TContabilizzazione_analitica_provvigioni(const TString& codcaus, const TElabollazione_HK_mask* msk, const char* cod = NULL)
: TContabilizzazione_analitica_costi(codcaus, msk, cod, false) {}
TContabilizzazione_analitica_provvigioni(const TString& codcaus, const TElabollazione_HK_mask* msk, const TRectype& rec)
: TContabilizzazione_analitica_costi(codcaus, msk, rec, false) {}
virtual ~TContabilizzazione_analitica_provvigioni() {}
};
@ -512,14 +525,14 @@ void TElabollazione_HK_app::contabilize()
}
//E finalmente fa l'agognata elaborazione!!!!!
TString16 elaborazione_costi = _msk->get(F_ELAB_COSTI);
TContabilizzazione_analitica_costi contanal_costi(_msk->get(F_CAUS_COSTI), elaborazione_costi);
TContabilizzazione_analitica_costi contanal_costi(_msk->get(F_CAUS_COSTI), _msk, elaborazione_costi);
contanal_costi.TContabilizzazione_analitica::elabora(lista_in, lista_out, data_reg);
if (contanal_costi.processed_docs() > 0L)
message_box(FR("Totale documenti di costo contabilizzati: %ld"), contanal_costi.processed_docs());
TString16 elaborazione_provv = _msk->get(F_ELAB_PROVV);
TContabilizzazione_analitica_provvigioni contanal_provv(_msk->get(F_CAUS_PROVV), elaborazione_provv);
TContabilizzazione_analitica_provvigioni contanal_provv(_msk->get(F_CAUS_PROVV), _msk, elaborazione_provv);
contanal_provv.TContabilizzazione_analitica::elabora(lista_in, lista_out, data_reg);
if (contanal_provv.processed_docs() > 0L)

@ -13,3 +13,7 @@
#define F_CAUS_PROVV 111
#define F_CAUS_PROVV_DESCR 112
#define F_AUTO_DATA_REG 113
#define F_GRUPPO 114
#define F_CONTO 115
#define F_SOTTOCONTO 116
#define F_DESC 117

@ -87,7 +87,7 @@ BEGIN
VALIDATE DATE_CMP_FUNC >= F_DATA_INI
END
GROUPBOX DLG_NULL 77 6
GROUPBOX DLG_NULL 77 8
BEGIN
PROMPT 1 7 "@bParametri movimenti generati"
END
@ -157,6 +157,74 @@ BEGIN
CHECKTYPE REQUIRED
END
TEXT -1
BEGIN
PROMPT 2 11 "@bConto omaggi"
END
NUMBER F_GRUPPO 3
BEGIN
PROMPT 3 12 ""
FLAGS "R"
USE LF_PCON SELECT CONTO=""
INPUT GRUPPO F_GRUPPO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_GRUPPO GRUPPO
CHECKTYPE REQUIRED
END
NUMBER F_CONTO 3
BEGIN
PROMPT 9 12 ""
FLAGS "R"
USE LF_PCON SELECT ((CONTO!="")&&(SOTTOCONTO=""))
COPY INPUT F_GRUPPO
INPUT CONTO F_CONTO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_GRUPPO GRUPPO
OUTPUT F_CONTO CONTO
CHECKTYPE NORMAL
VALIDATE REQIF_FUNC 1 F_SOTTOCONTO
WARNING "Manca il conto"
END
NUMBER F_SOTTOCONTO 6
BEGIN
PROMPT 15 12 ""
USE LF_PCON SELECT SOTTOCONTO!=""
COPY INPUT F_CONTO
INPUT SOTTOCONTO F_SOTTOCONTO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Sosp." SOSPESO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_SOTTOCONTO SOTTOCONTO
OUTPUT F_GRUPPO GRUPPO
OUTPUT F_CONTO CONTO
OUTPUT F_DESC DESCR
CHECKTYPE NORMAL
END
STRING F_DESC 50
BEGIN
PROMPT 24 12 ""
USE LF_PCON KEY 2
INPUT DESCR F_DESC
DISPLAY "Descrizione@50" DESCR
DISPLAY "Sosp." SOSPESO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
COPY OUTPUT F_SOTTOCONTO
CHECKTYPE REQUIRED
HELP "Descrizione del gruppo o del conto o del sottoconto"
WARNING "Descrizione mancante"
END
/*BOOL F_AUTO_DATA_REG
BEGIN
PROMPT 2 11 "Usare data documento come data registrazione"