Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/branches/R_10_00@21584 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2011-02-04 13:49:46 +00:00
parent 578d9084a2
commit 267bce0e34
4 changed files with 119 additions and 32 deletions

View File

@ -26,10 +26,13 @@ const char* const APPNAME = TR("Importazione scadenze");
class THardy_scadenze : public THardy_transfer
{
int _anno; // parametri per la query
TDate _dadata, _adata; // parametri per la query
protected:
void conto2billcampo(const TString& hd_tipoc, const TString& hd_key, TBill& conto);
public:
virtual bool trasferisci();
THardy_scadenze(const int anno, const TDate dadata, const TDate adata);
};
// calcola conto campo a partire da conto hardy
@ -76,22 +79,35 @@ void THardy_scadenze::conto2billcampo(const TString& hd_tipoc, const TString& hd
bool THardy_scadenze::trasferisci()
{
TString16 dastr, astr;
dastr.format("%4d-%2d-%2d", _dadata.year(), _dadata.month(), _dadata.day());
astr.format("%4d-%2d-%2d", _adata.year(), _adata.month(), _adata.day());
TString query =
"SELECT * "
"FROM dbo.Scadenze "
"WHERE Esercizio=2010";
"ORDER BY dbo.Scadenze.Esercizio, dbo.Scadenze.Protocollo ";
"WHERE Esercizio=";
query << _anno;
query << " AND DataScadenza>= '";
query << dastr;
query << "' AND DataScadenza<= '";
query << astr;
query << "' ORDER BY dbo.Scadenze.Esercizio, dbo.Scadenze.Protocollo ";
TRecordset& recset = create_recordset(query);
TRecordset& recset = create_recordset(query);
THardy_iterator hi(this);
int curr_ese = 0;
int curr_pro = 0;
const TDate datareg(TODAY);
TDate datascad, datadoc;
TString16 numdoc;
TString16 numdoc, tipomovimento, idpagamento, curr_tipomov, curr_idpag, codag;
TString80 descr;
TImporto importo;
TBill clifo;
curr_tipomov = "RD";
curr_idpag = " ";
codag = "";
while (++hi)
{
const int esercizio = get_long("Esercizio");
@ -103,33 +119,96 @@ bool THardy_scadenze::trasferisci()
{
TPartita game(clifo, curr_ese, format("%7d", curr_pro));
TRiga_partite& partita = game.new_row();
partita.put(PART_TIPOMOV, tm_fattura);
int tpm = ini_get_int("hacnv100a.ini", "IdTipoMovimento", curr_tipomov, 1);
partita.put(PART_TIPOPAG, tpm);
partita.put(PART_TIPOREG, 'E');
partita.put(PART_DATAREG, datareg);
partita.put(PART_DATADOC, datadoc);
partita.put(PART_NUMDOC, numdoc);
importo.normalize();
partita.add(PART_IMPTOTDOC, importo.valore());
partita.put(PART_IMPORTO, importo.valore());
partita.put(PART_SEZ, importo.sezione());
if (descr.empty())
descr = "RIPRESA SCADENZE APERTE";
partita.put(PART_DESCR, descr);
TRiga_scadenze& scadenza = partita.new_row();
scadenza.put(SCAD_DATASCAD, datascad);
scadenza.put(SCAD_IMPORTO, importo.valore());
scadenza.put(SCAD_TIPOPAG, tpm);
scadenza.put(SCAD_CODPAG, curr_idpag);
scadenza.put(SCAD_DESCR, descr);
scadenza.put(SCAD_CODAG, codag);
game.write();
}
const TString& key = get_str("IdConto");
TString4 hdtipoc = get_str("IdContoTp");
conto2billcampo(hdtipoc, key, clifo);
importo.reset();
datascad = TDate(get_str("DataScadenza"));
datadoc = TDate(get_str("DataDocumento"));
numdoc = get_str("NumDocumento");
numdoc = numdoc.right(7);
curr_ese = esercizio;
curr_pro = protocollo;
curr_tipomov = "RD";
curr_idpag = " ";
descr.cut(0);
codag = "";
}
TImporto importo_res('D', get_real("Dare") - get_real("Avere"));
importo += importo_res;
const TString& key = get_str("IdConto");
TString4 hdtipoc = get_str("IdContoTp");
conto2billcampo(hdtipoc, key, clifo);
datascad = TDate(get_str("DataScadenza"));
datadoc = TDate(get_str("DataDocumento"));
numdoc = get_str("NumDocumento");
numdoc = numdoc.right(7);
idpagamento = get_str("IdPagamento");
if (idpagamento.not_empty())
{
curr_idpag = idpagamento;
descr = get_str("Descrizione2");
}
tipomovimento = get_str("TipoMovimento");
if (tipomovimento.not_empty())
curr_tipomov = tipomovimento;
if (codag.blank())
codag = get_str("IdAgente1");
const TImporto dare('D', get_real("Dare"));
const TImporto avere('A', get_real("Avere"));
importo+=dare;
importo+=avere;
}
// scrivo ultima scadenza se necessario
// fare una funzione altrimenti guy mi strozza
if (!importo.is_zero())
{
TPartita game(clifo, curr_ese, format("%7d", curr_pro));
TRiga_partite& partita = game.new_row();
partita.put(PART_TIPOMOV, tm_fattura);
int tpm = ini_get_int("hacnv100a.ini", "IdTipoMovimento", curr_tipomov, 1);
partita.put(PART_TIPOPAG, tpm);
partita.put(PART_TIPOREG, 'E');
partita.put(PART_DATAREG, datareg);
partita.put(PART_DATADOC, datadoc);
partita.put(PART_NUMDOC, numdoc);
importo.normalize();
partita.add(PART_IMPTOTDOC, importo.valore());
partita.put(PART_IMPORTO, importo.valore());
partita.put(PART_SEZ, importo.sezione());
if (descr.empty())
descr = "RIPRESA SCADENZE APERTE";
partita.put(PART_DESCR, descr);
TRiga_scadenze& scadenza = partita.new_row();
scadenza.put(SCAD_DATASCAD, datascad);
scadenza.put(SCAD_IMPORTO, importo.valore());
scadenza.put(SCAD_TIPOPAG, tpm);
scadenza.put(SCAD_CODPAG, curr_idpag);
scadenza.put(SCAD_DESCR, descr);
scadenza.put(SCAD_CODAG, codag);
game.write();
}
return write_enabled();
}
THardy_scadenze::THardy_scadenze(const int anno, const TDate dadata, const TDate adata) : _anno(anno), _dadata(dadata), _adata(adata)
{
}
///////////////////////////////////////////////////////////
// TImpScadHardy_mask
///////////////////////////////////////////////////////////
@ -173,22 +252,16 @@ void TImpScadHardy_mask::trasferisci()
TString query_header;
query_header << "ODBC(" << get(F_DSN) << ',' << get(F_USR) << ',' << get(F_PWD) << ")\n";
TReport_book book;
THardy_log log;
bool rep_to_print = false;
bool go_on = true;
if (go_on && get_bool(F_SCAD))
const int anno = get_int(F_ANNO);
const TDate dadata = get_date(F_DADATA);
const TDate adata = get_date(F_ADATA);
if (anno!=0)
{
THardy_scadenze pc;
THardy_log log;
THardy_scadenze pc(anno, dadata, adata);
pc.init(TR("Scadenze aperte"), query_header, log);
go_on = pc.trasferisci();
book.add(log);
rep_to_print = true;
pc.trasferisci();
}
if (rep_to_print && book.pages() > 0)
book.preview();
}
bool TImpScadHardy_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)

View File

@ -3,7 +3,10 @@
#define F_FIRM 101
#define F_RAGSOC 102
#define F_SCAD 111
#define F_ANNO 111
#define F_DADATA 112
#define F_ADATA 113
#define F_DSN 201
#define F_USR 202

View File

@ -6,7 +6,7 @@ TOOLBAR "topbar" 0 0 0 2
ENDPAGE
PAGE "Conversione scadenze Hardy" 0 2 0 0
PAGE "Conversione scadenze" 0 2 0 0
GROUPBOX DLG_NULL 78 3
BEGIN
@ -29,14 +29,24 @@ BEGIN
FLAGS "D"
END
GROUPBOX DLG_NULL 78 3
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 4 "@bStorico da importare"
PROMPT 1 4 "@bSelezioni"
END
BOOLEAN F_SCAD
NUMBER F_ANNO 4
BEGIN
PROMPT 2 5 "Scadenze aperte"
PROMPT 2 5 "Esercizio "
END
DATE F_DADATA
BEGIN
PROMPT 2 6 "Dal "
END
DATE F_ADATA
BEGIN
PROMPT 35 6 "Al "
END
ENDPAGE

View File

@ -44,3 +44,4 @@ Flags = "F"
Item_01 = "Configurazione modulo", "ha0 -1", ""
Item_02 = "Conversione anagrafiche", "hacnv -0 /uADMIN", "F"
Item_03 = "Conversione movimenti", "hacnv -1 /uADMIN", "F"
Item_04 = "Conversione scadenze", "hacnv -2 /uADMIN", "F"