Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@21342 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
994ab2d7cf
commit
6d043f81d8
@ -476,7 +476,7 @@ DATAPRZSTO =
|
|||||||
ANNOES = Esercizio
|
ANNOES = Esercizio
|
||||||
NUMREG =
|
NUMREG =
|
||||||
DATAREG = DataMovimento
|
DATAREG = DataMovimento
|
||||||
DATACOMP = DataCompetenza
|
DATACOMP =
|
||||||
DATADOC = DataDocumento
|
DATADOC = DataDocumento
|
||||||
DATA74TER =
|
DATA74TER =
|
||||||
MESELIQ =
|
MESELIQ =
|
||||||
@ -544,10 +544,10 @@ CODCMS =
|
|||||||
FASCMS =
|
FASCMS =
|
||||||
|
|
||||||
[RMOVIVA]
|
[RMOVIVA]
|
||||||
ANNOES =
|
ANNOES = Anno
|
||||||
NUMREG =
|
NUMREG =
|
||||||
NUMRIG =
|
NUMRIG =
|
||||||
CODIVA =
|
CODIVA = IdIva
|
||||||
IMPONIBILE=
|
IMPONIBILE=
|
||||||
IMPOSTA =
|
IMPOSTA =
|
||||||
TIPODET =
|
TIPODET =
|
||||||
|
144
ha/hacnv200.cpp
144
ha/hacnv200.cpp
@ -30,22 +30,95 @@ class THardy_movimenti : public THardy_transfer
|
|||||||
long _kmovcont;
|
long _kmovcont;
|
||||||
protected:
|
protected:
|
||||||
bool trasferisci_righe();
|
bool trasferisci_righe();
|
||||||
bool is_mov_iva();
|
bool trasferisci_righeiva();
|
||||||
public:
|
public:
|
||||||
virtual bool trasferisci();
|
virtual bool trasferisci();
|
||||||
THardy_movimenti(const int anno, const TDate dadata, const TDate adata);
|
THardy_movimenti(const int anno, const TDate dadata, const TDate adata);
|
||||||
};
|
};
|
||||||
|
|
||||||
bool THardy_movimenti::is_mov_iva()
|
bool THardy_movimenti::trasferisci_righeiva()
|
||||||
{
|
{
|
||||||
TString query_righe;
|
TString_array lista_campi_righeiva;
|
||||||
query_righe << query_header();
|
TConfig& ini = config();
|
||||||
query_righe << "SELECT * "
|
ini.list_variables(lista_campi_righeiva, true, "RMOVIVA", true);
|
||||||
"FROM dbo.MovIvaT"
|
TString query;
|
||||||
|
query << query_header();
|
||||||
|
query << "SELECT * "
|
||||||
|
"FROM dbo.MovIvaT "
|
||||||
"WHERE KMovconT=";
|
"WHERE KMovconT=";
|
||||||
query_righe << _kmovcont;
|
query << _kmovcont;
|
||||||
TODBC_recordset recset_righe(query_righe);
|
TODBC_recordset recset(query);
|
||||||
bool is_iva = (recset_righe.items() > 0);
|
bool is_iva = (recset.items() > 0);
|
||||||
|
if (is_iva)
|
||||||
|
{
|
||||||
|
bool ok=recset.move_first();
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
// aggiorna_testata movimento già scritta su ini con i nuovi dati di testata
|
||||||
|
}
|
||||||
|
// aggiungo le righe iva
|
||||||
|
long kregivat = recset.get("KRegivaT").as_int();
|
||||||
|
TString query_righe;
|
||||||
|
query_righe << query_header();
|
||||||
|
query_righe << "SELECT * "
|
||||||
|
"FROM dbo.MovIva "
|
||||||
|
"WHERE KRegivaT=";
|
||||||
|
query_righe << kregivat;
|
||||||
|
TODBC_recordset recset_righe(query_righe);
|
||||||
|
TString paragraph;
|
||||||
|
int nrigac = 1;
|
||||||
|
for (bool ok=recset_righe.move_first();ok;ok=recset_righe.move_next())
|
||||||
|
{
|
||||||
|
paragraph.format("%d,%d",LF_RMOVIVA,nrigac++);
|
||||||
|
_conf->set_paragraph(paragraph);
|
||||||
|
aggiorna_ini(*_conf, lista_campi_righeiva);
|
||||||
|
|
||||||
|
// calcolo dei campi non importabili direttamente
|
||||||
|
TString4 sezione = "D";
|
||||||
|
TImporto imponibile(sezione[0], recset_righe.get("Imponibile").as_real());
|
||||||
|
TImporto imposta(sezione[0], recset_righe.get("Imposta").as_real());
|
||||||
|
_conf->set(RMI_IMPONIBILE, imponibile.valore().string(0,2)) ;
|
||||||
|
_conf->set(RMI_IMPOSTA, imposta.valore().string(0,2));
|
||||||
|
const TString& key = recset_righe.get("IdConto").as_string();
|
||||||
|
TString4 tipoc = recset_righe.get("IdContoTp").as_string();
|
||||||
|
const char tipocc = tipoc[0];
|
||||||
|
int gr, co;
|
||||||
|
long so;
|
||||||
|
switch (tipocc)
|
||||||
|
{
|
||||||
|
case 'S':
|
||||||
|
{
|
||||||
|
tipoc = " ";
|
||||||
|
gr = atoi(key.mid(1,2));
|
||||||
|
co = atoi(key.mid(3,2));
|
||||||
|
so = atoi(key.mid(5,3));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'C':
|
||||||
|
{
|
||||||
|
tipoc = "C";
|
||||||
|
gr = ini.get_int("CLI_GRUPPO", "Mastri");
|
||||||
|
co = ini.get_int("CLI_CONTO", "Mastri");
|
||||||
|
so = hd_key2cli(key);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'F':
|
||||||
|
{
|
||||||
|
tipoc = "F";
|
||||||
|
gr = ini.get_int("FOR_GRUPPO", "Mastri");
|
||||||
|
co = ini.get_int("FOR_CONTO", "Mastri");
|
||||||
|
so = hd_key2forn(key);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
_conf->set(RMI_TIPOC, tipoc);
|
||||||
|
_conf->set(RMI_GRUPPO, gr);
|
||||||
|
_conf->set(RMI_CONTO, co);
|
||||||
|
_conf->set(RMI_SOTTOCONTO, so);
|
||||||
|
}
|
||||||
|
}
|
||||||
return is_iva;
|
return is_iva;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,7 +137,6 @@ bool THardy_movimenti::trasferisci_righe()
|
|||||||
TODBC_recordset recset_righe(query_righe);
|
TODBC_recordset recset_righe(query_righe);
|
||||||
TString paragraph;
|
TString paragraph;
|
||||||
int nrigac = 1;
|
int nrigac = 1;
|
||||||
int nrigai = 1;
|
|
||||||
for (bool ok=recset_righe.move_first();ok;ok=recset_righe.move_next())
|
for (bool ok=recset_righe.move_first();ok;ok=recset_righe.move_next())
|
||||||
{
|
{
|
||||||
paragraph.format("%d,%d",LF_RMOV,nrigac++);
|
paragraph.format("%d,%d",LF_RMOV,nrigac++);
|
||||||
@ -78,7 +150,7 @@ bool THardy_movimenti::trasferisci_righe()
|
|||||||
if (imp_dare.is_zero())
|
if (imp_dare.is_zero())
|
||||||
sezione = "A";
|
sezione = "A";
|
||||||
_conf->set(RMV_SEZIONE, sezione);
|
_conf->set(RMV_SEZIONE, sezione);
|
||||||
_conf->set(RMV_IMPORTO, (imp_avere.is_zero() ? imp_dare.valore().stringa(0,2) : imp_avere.valore().stringa(0,2)));
|
_conf->set(RMV_IMPORTO, (imp_avere.is_zero() ? imp_dare.valore().string(0,2) : imp_avere.valore().string(0,2)));
|
||||||
const TString& key = recset_righe.get("IdConto").as_string();
|
const TString& key = recset_righe.get("IdConto").as_string();
|
||||||
TString4 tipoc = recset_righe.get("IdContoTp").as_string();
|
TString4 tipoc = recset_righe.get("IdContoTp").as_string();
|
||||||
const char tipocc = tipoc[0];
|
const char tipocc = tipoc[0];
|
||||||
@ -161,35 +233,27 @@ bool THardy_movimenti::trasferisci()
|
|||||||
while (++hi)
|
while (++hi)
|
||||||
{
|
{
|
||||||
_kmovcont = recset.get("KMovconT").as_int();
|
_kmovcont = recset.get("KMovconT").as_int();
|
||||||
if (is_mov_iva())
|
if (_conf != NULL)
|
||||||
{
|
delete _conf;
|
||||||
TString msg;
|
_conf = NULL;
|
||||||
msg << TR("Movimento IVA ") << _kmovcont << " non generato";
|
TFilename temp(outdir);
|
||||||
log(msg);
|
temp.add(format("ha%06ld", ntran++));
|
||||||
}
|
temp.ext("ini");
|
||||||
else
|
if (temp.exist())
|
||||||
{
|
temp.fremove();
|
||||||
if (_conf != NULL)
|
_conf = new TConfig(temp);
|
||||||
delete _conf;
|
_conf->set_paragraph("Transaction");
|
||||||
_conf = NULL;
|
_conf->set("Action","INSERT");
|
||||||
TFilename temp(outdir);
|
_conf->set("Mode", "AUTO");
|
||||||
temp.add(format("ha%06ld", ntran++));
|
paragraph.format("%d",LF_MOV);
|
||||||
temp.ext("ini");
|
_conf->set_paragraph(paragraph); // testata movimento
|
||||||
if (temp.exist())
|
aggiorna_ini(*_conf, lista_campi);
|
||||||
temp.fremove();
|
// righe movimento
|
||||||
_conf = new TConfig(temp);
|
trasferisci_righe();
|
||||||
_conf->set_paragraph("Transaction");
|
bool iva = trasferisci_righeiva();
|
||||||
_conf->set("Action","INSERT");
|
TString msg;
|
||||||
_conf->set("Mode", "AUTO");
|
msg << (iva ? TR("Movimento contabile "): TR("Movimento iva ")) << _kmovcont << " generato nel file " << temp;
|
||||||
paragraph.format("%d",LF_MOV);
|
log(msg);
|
||||||
_conf->set_paragraph(paragraph); // testata movimento
|
|
||||||
aggiorna_ini(*_conf, lista_campi);
|
|
||||||
// righe movimento
|
|
||||||
trasferisci_righe();
|
|
||||||
TString msg;
|
|
||||||
msg << TR("Movimento contabile ") << _kmovcont << " generato nel file " << temp;
|
|
||||||
log(msg);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (_conf != NULL)
|
if (_conf != NULL)
|
||||||
delete _conf;
|
delete _conf;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user