Patch level :4.0 nopatch

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :programma importazione movimenti bufget per il mitico Adolfo! Prima versione funzionante in modo abbastanza corretto


git-svn-id: svn://10.65.10.50/trunk@14281 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2006-08-31 14:09:33 +00:00
parent 835a5b3b09
commit 38b79253ac

View File

@ -120,7 +120,6 @@ class TBudget_Import : public TSkeleton_application
TBudget_Import_file* _trasfile;
TConfig* _configfile;
TRelation* _relmovana;
TRelation* _relrmovana;
TCursor* _cur;
TProgind* _prog;
TString _lastfile;
@ -131,10 +130,9 @@ protected:
void mask2ini();
void ini2mask();
bool transfer();
void transfer_testata(const TRecord_text& curr); //, TError_log& log);
void transfer_movimento(const TRecord_text& curr); //, TError_log& log);
long get_next_key();
const char sezione(const TString& codconto);
public:
virtual bool create();
@ -167,26 +165,7 @@ long TBudget_Import::get_next_key()
}
const char TBudget_Import::sezione(const TString& codconto)
{
TConfig& cfg = ca_config();
TString tmp;
TString key;
long len;
for (int i = 0; i < 4; i++)
{
key.format("Pdc(%d)", i);
tmp << cfg.get(key);
len += tmp.len();
}
//TLocalisamfile& pconana(LF_PCONANA);
const char tipo = 'q';
return tipo;
}
void TBudget_Import::transfer_testata(const TRecord_text& curr) //, TError_log& log)
void TBudget_Import::transfer_movimento(const TRecord_text& curr) //, TError_log& log)
{
const TString codcms = curr.get(1);
const TString codconto = curr.get(2);
@ -210,6 +189,7 @@ void TBudget_Import::transfer_testata(const TRecord_text& curr) //, TError_log&
//cerca il primo posto libero in movana
long numreg = get_next_key();
//TESTATA
//crea il movimento di prima nota da aggiungere a movana
TAnal_mov movana(numreg);
movana.zero(); //azzera per sicurezza
@ -237,9 +217,32 @@ void TBudget_Import::transfer_testata(const TRecord_text& curr) //, TError_log&
warning_box(TR("Esiste piu' di un sottoconto %s!"),codconto);
pconana.move_last(); //si posiziona sul record corretto
const TString contone = pconana.get(PCONANA_CODCONTO).as_string();
const TString4 sezione = pconana.get(PCONANA_SEZSALDI).as_string();
//mette quella bastarda di sezione nel record
movana.put(MOVANA_SEZIONE, sezione);
//RIGA
//la riga sara' solo 1 per testata, almeno secondo l'attuale modalita' di import/export del CRPA
TRectype& rec_rmovana = movana.new_row();
//***alla fine movana.write();
rec_rmovana.put(RMOVANA_ANNOES, annoes);
rec_rmovana.put(RMOVANA_NUMREG ,numreg);
rec_rmovana.put(RMOVANA_NUMRIG ,1);
rec_rmovana.put(RMOVANA_SEZIONE ,sezione);
rec_rmovana.put(RMOVANA_DATACOMP ,dataini);
rec_rmovana.put(RMOVANA_CODCMS ,codcms);
rec_rmovana.put(RMOVANA_CODCONTO, contone);
rec_rmovana.put(RMOVANA_DESCR, "Riga movimento di budget importato");
rec_rmovana.put(RMOVANA_IMPORTO, soldini);
//scrive testata e riga
TLocalisamfile testate(LF_MOVANA);
if (movana.write(testate) == NOERR)
{
TLocalisamfile righe(LF_RMOVANA);
rec_rmovana.write(righe);
}
}
@ -266,7 +269,7 @@ bool TBudget_Import::transfer()
while (_trasfile->read(curr) == NOERR && !pi.iscancelled() && err == NOERR)
{
pi.setstatus(_trasfile->read_file()->tellg());
transfer_testata(curr); //, log);
transfer_movimento(curr); //, log);
}
_trasfile->close();
delete _trasfile;
@ -304,7 +307,6 @@ bool TBudget_Import::create()
_msk = new TBudget_Import_mask();
open_files(LF_MOVANA, LF_RMOVANA, LF_PCONANA, 0);
_relmovana = new TRelation(LF_MOVANA);
_relrmovana = new TRelation(LF_RMOVANA);
return TSkeleton_application::create();
}