Patch level : 10.0

Files correlati     : cg2100o.msk cg6.exe
Ricompilazione Demo : [ ]
Commento            :
Corretta importazione codice fiscale da trasfer (cliente CRPE)


git-svn-id: svn://10.65.10.50/trunk@20264 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2010-03-23 16:32:03 +00:00
parent 7ecaaf2924
commit 32a4b4de3d
11 changed files with 129 additions and 234 deletions

View File

@ -1,6 +1,6 @@
#include "cg2100.h"
PAGE "Dati cliente/fornitore occasionale" -1 -1 72 14
PAGE "Dati cliente/fornitore occasionale" -1 -1 72 12
STRING O_CODICE 16
BEGIN
@ -46,7 +46,7 @@ END
GROUPBOX DLG_NULL 70 5
BEGIN
PROMPT 1 3 "Dati residenza"
PROMPT 1 3 "@bDati residenza"
END
STRING O_INDIRIZZO 40
@ -112,7 +112,7 @@ END
GROUPBOX DLG_NULL 70 4
BEGIN
PROMPT 1 8 "Dati nascita"
PROMPT 1 8 "@bDati nascita"
END
LIST O_SESSO 1 12
@ -165,9 +165,20 @@ BEGIN
CHECKTYPE NORMAL
END
BUTTON DLG_OK 10 2
ENDPAGE
TOOLBAR "tobpar" 0 0 0 2
BUTTON DLG_OK 2 2
BEGIN
PROMPT -11 -1 ""
PROMPT 11 -1 "Registra"
PICTURE TOOL_SAVEREC
END
BUTTON DLG_HELP 2 2
BEGIN
PROMPT 12 -1 ""
PICTURE TOOL_HELP
END
ENDPAGE

View File

@ -136,9 +136,7 @@ bool TRic_archivi::componi_path(const TMask& msk)
TFilename path = msk.get(F_PATHNAME);
const TString& drive = msk.get(F_DRIVE);
// Inizio cazzata - da sostituire con _disketto = ::os_is_removable_drive(drive)
_disketto = drive == "A:" || drive == "B:";
// Fine cazzata
_disketto = xvt_fsys_is_floppy_drive(drive) != 0;
const int pos = path.find(':');
if (pos)
@ -146,17 +144,17 @@ bool TRic_archivi::componi_path(const TMask& msk)
if (path.full())
{
_marker << drive << "\\" << path << "\\marker";
_trasfer << drive << "\\" << path << "\\trasfer";
_marker << drive << SLASH << path << SLASH << "marker";
_trasfer << drive << SLASH << path << SLASH << "trasfer";
if (!_disketto)
_pathname << drive << "\\" << path;
_pathname << drive << SLASH << path;
}
else
{
_marker << drive << "\\marker";
_trasfer << drive << "\\trasfer";
_marker << drive << SLASH << "marker";
_trasfer << drive << SLASH << "trasfer";
if (!_disketto)
_pathname << drive << "\\";
_pathname << drive << SLASH;
}
return _disketto;
@ -206,7 +204,7 @@ bool TRic_archivi::leggi_marker()
_numinv = atoi(buffer.sub(14,17));
const TString8 tmp = buffer.sub(17,23);
_datatras = converti(tmp, false);
_datatras = converti_data(tmp, false);
_totrectras = atol(buffer.sub(23,29));
@ -280,7 +278,7 @@ bool TRic_archivi::leggi_marker_rep()
_totrectras = atol(buffer.sub(26,32));
_numinv = atoi(buffer.sub(15,18));
TString16 tmp = buffer.sub(18,26);
_datatras = converti(tmp,true);
_datatras = converti_data(tmp,true);
if (_numdisk > 1) //Va fatto solo dal disco 2 in poi
if (_nomeid != _nomeidp || _dittainv != _dittainvp || _totrectras != _totrectrasp

View File

@ -661,7 +661,7 @@ int Tabinv_application::write(const TMask& m)
_control_rec = _tras_file.record();
str.format("%03d", num);
_control_rec.overwrite(str,75);
str = riconverti(data,TRUE);
str = riconverti_data(data,TRUE);
_control_rec.overwrite(str,78);
_control_rec.overwrite(sigla,240);
str.format("%-60s", (const char*) chiave);
@ -704,7 +704,7 @@ int Tabinv_application::rewrite(const TMask& m)
_control_rec = _tras_file.record();
str.format("%03d", num);
_control_rec.overwrite(str,75);
str = riconverti(data,TRUE);
str = riconverti_data(data,TRUE);
_control_rec.overwrite(str,78);
_control_rec.overwrite(sigla,240);
str.format("%-60s", (const char*) chiave);

View File

@ -1164,88 +1164,6 @@ void TRic_tab::genera_codice_occasionale(TString& ocfpi)
bool TRic_tab::occasionali(TString& ocfpi)
{
/* Invoco la crecifissione in sala mensa!!!!!!!!!!!!!!!!!
TString chiave;
long prog = 0;
bool esiste = FALSE;
bool ric = TRUE;
TString ocfpitemp = ocfpi;
if (ocfpi.mid(0,3) == "RIC")
{
// TString nocfpi = _tmov->get("TOCFP");
// nocfpi.trim();
// if (nocfpi.empty())
// {
_occas->setkey(1);
_occas->zero();
for (_occas->first(); !_occas->eof(); _occas->next())
{
TString cfpi = _occas->get(OCC_CFPI);
if (cfpi.mid(0,3) == "RIC")
prog = atol(cfpi.mid(3,13));
}
prog++;
chiave.format("%3s%13ld", (const char*) "RIC", prog);
esiste = FALSE;
ocfpi = chiave;
}
else
{
_occas->setkey(1);
_occas->zero();
_occas->put("CFPI", ocfpi);
if (_occas->read() == NOERR)
{
TRecnotype rec = _occas->recno();
_occas->setkey(1);
_occas->zero();
for (_occas->first(); !_occas->eof(); _occas->next())
{
TString cfpi = _occas->get(OCC_CFPI);
if (cfpi.mid(0,3) == "RIC")
prog = atol(cfpi.mid(3,13));
}
prog++;
chiave.format("%3s%13ld", (const char*) "RIC", prog);
ocfpi = chiave;
_occas->readat(rec);
}
}
// }
// else
// {
// _occas->setkey(1);
// _occas->zero();
// _occas->put("CFPI", nocfpi);
// _occas->read();
// esiste = TRUE;
// ocfpi = nocfpi;
// }
_toccas->setkey(1);
_toccas->zero();
_toccas->put(OCC_CFPI, ocfpitemp);
_toccas->read();
_occas->curr() = _toccas->curr();
if (esiste)
_occas->rewrite();
else
{
_occas->put(OCC_CFPI, ocfpi);
_occas->write();
}
return TRUE;
*/
// Mi posiziono sui dati dell'occasionale temporaneo da trasferire
_toccas->setkey(1);
_toccas->zero();
@ -1344,17 +1262,12 @@ void TRic_tab::ricevi_movIVA(const TString& key, char uselab)
_nuovareg = _tmov->get_long("TNUMREG");
TString ocfpi = _tmov->get(MOV_OCFPI);
if (ocfpi.not_empty())
TString16 ocfpi = _tmov->get(MOV_OCFPI);
if (ocfpi.full())
occasionali(ocfpi);
// TRecnotype rec = _tmov->recno(); // Salvo il nuovo numero di
// _tmov->put("TOCFP", ocfpi); // registrazione sul file di lavoro
// _tmov->rewrite();
// _tmov->readat(rec);
TDate data74ter ( _tmov->get_date(MOV_DATA74TER) );
TString codval ( _tmov->get (MOV_CODVALI) );
TString4 codval ( _tmov->get (MOV_CODVALI) );
long codcf = _tmov->get_long(MOV_CODCF);
real totdoc ( _tmov->get_real(MOV_TOTDOC) );
real cambioi ( _tmov->get_real(MOV_CAMBIOI) );
@ -1383,8 +1296,7 @@ void TRic_tab::ricevi_movIVA(const TString& key, char uselab)
}
leggi_record_controllo();
TString16 chiave;
chiave.format("%07ld", nreg);
TString8 chiave; chiave.format("%07ld", nreg);
TString16 sigla; sigla << uselab;
TString str = _record.overwrite(sigla,240);
str = _record.overwrite(chiave,241);

View File

@ -1391,7 +1391,6 @@ void TVar_mov::registra_file_temp_rmov(long nr,int nri,int g,int c,long s,char s
void TVar_mov::registra_IVA(TMask& m)
{
if (!_righe)
{
TString16 ocfpi;

View File

@ -181,7 +181,7 @@ void TVis_ric::registra(TMask& m)
if (_registra)
{
TString4 nultras; nultras.format("%03s", (const char*)m.get(F_NULTRAS));
TString16 datault = riconverti(m.get(F_DATAULTRAS),TRUE);
TString16 datault = riconverti_data(m.get(F_DATAULTRAS),TRUE);
char agg_cau = m.get(F_AGGCAUSALI)[0];
char agg_clf = m.get(F_AGGCLIFO)[0];
char agg_pco = m.get(F_AGGPCON)[0];

View File

@ -154,14 +154,14 @@ void TInv_cont::main_loop()
TString data (msk->get(F_DATALIM));
if (_scelta == 'S')
{
app = riconverti(data,FALSE);
app = riconverti_data(data,FALSE);
str.format("%03d%6s", num, (const char*) app);
aggiorna_marker(str,14);
}
else
if (_scelta == 'P')
{
app = riconverti(data,TRUE);
app = riconverti_data(data,TRUE);
str.format("%03d%8s", num, (const char*) app);
aggiorna_marker(str,15);
}
@ -836,7 +836,7 @@ void TInv_cont::crea_marker(TMask& m)
str.format("%03d", num);
buffer.overwrite(str,14);
TString16 data = m.get(F_DATALIM);
str = riconverti(data, false);
str = riconverti_data(data, false);
buffer.overwrite(str,17);
}
else
@ -854,7 +854,7 @@ void TInv_cont::crea_marker(TMask& m)
str.format("%03d", num);
buffer.overwrite(str,15);
TString data (m.get(F_DATALIM));
str = riconverti(data,TRUE);
str = riconverti_data(data,TRUE);
buffer.overwrite(str,18);
}
@ -986,7 +986,7 @@ void TInv_cont::crea_record_controllo(TMask& m)
buffer.overwrite(str,75); // Numero progr. invio
TString16 data (m.get(F_DATALIM));
str = riconverti(data, true);
str = riconverti_data(data, true);
buffer.overwrite(str,78); // Data limite invio
str.format("%-9s", (const char*)_files);
@ -1486,25 +1486,14 @@ bool TInv_cont::occasionali(const TString& cfpi)
_occas->setkey(1);
_occas->zero();
_occas->put("CFPI", cfpi);
_occas->read();
_toccas->zero();
_toccas->curr() = _occas->curr();
if (_toccas->read() == NOERR)
{
_toccas->zero();
_toccas->curr() = _occas->curr();
_toccas->rewrite();
}
else
int err = _occas->read();
if (err == NOERR)
{
_toccas->zero();
_toccas->curr() = _occas->curr();
_toccas->write();
err = _toccas->write_rewrite();
}
return TRUE;
return err == NOERR;
}
void TInv_cont::iva_inviata(long numreg)
@ -1517,7 +1506,6 @@ void TInv_cont::iva_inviata(long numreg)
_mov->put(MOV_INVIVA, "X");
if (_flag_bollato)
_mov->put(MOV_REGST, "X");
_mov->rewrite();
}
}

View File

@ -972,7 +972,7 @@ void TInv_cont::testata_trasfer(long nreg, int nrig, TString& record)
record.overwrite(str,8); //Numero di riga
TString datastr = _datareg.string();
str = riconverti(datastr,FALSE);
str = riconverti_data(datastr,FALSE);
str.format("%06s", (const char*) str);
record.overwrite(str,15); //Data di registrazione
@ -988,7 +988,7 @@ void TInv_cont::testata_trasfer(long nreg, int nrig, TString& record)
record.overwrite(str,21); //Segnalino della competenza
TString datadocstr = _datadoc.string();
str = riconverti(datadocstr,FALSE);
str = riconverti_data(datadocstr,FALSE);
str.format("%06s", (const char*) str);
record.overwrite(str,22); //Data documento
@ -1345,7 +1345,7 @@ bool TInv_cont::invio_mov_IVA()
record.overwrite(str,49); //Sottoconto
TString16 data74terstr = _data74ter.string();
str = riconverti(data74terstr,FALSE);
str = riconverti_data(data74terstr,FALSE);
str.format("%06s", (const char*) str);
record.overwrite(str,55); //Data per registri 74 TER
@ -1470,12 +1470,12 @@ long TInv_cont::crea_record_riferimento_PN()
record.overwrite(str,8); //Numero di riga
TString16 datareg (_tpart->get_date(PART_DATAREG));
str = riconverti(datareg,FALSE);
str = riconverti_data(datareg,FALSE);
str.format("%06s", (const char*) str);
record.overwrite(str,15); //Data di registrazione
TString datadoc (_tpart->get_date(PART_DATADOC));
str = riconverti(datareg,FALSE);
str = riconverti_data(datareg,FALSE);
str.format("%06s", (const char*) str);
record.overwrite(str,22); //Data documento
@ -1586,12 +1586,12 @@ void TInv_cont::partita2trasfer(TString& record, bool crea_record_riferimento)
record.overwrite(str,37); //Tipo movimento
TString datareg (_tpart->get_date(PART_DATAREG));
str = riconverti(datareg,FALSE);
str = riconverti_data(datareg,FALSE);
str.format("%06s", (const char*) str);
record.overwrite(str,38); //Data di registrazione
TString datadoc (_tpart->get_date(PART_DATADOC));
str = riconverti(datadoc,FALSE);
str = riconverti_data(datadoc,FALSE);
str.format("%06s", (const char*) str);
record.overwrite(str,44); //Data documento
@ -1670,7 +1670,7 @@ void TInv_cont::partita2trasfer(TString& record, bool crea_record_riferimento)
record.overwrite("6",160); // 6 decimali per cambio
TString16 datacam (_tpart->get_date(PART_DATACAM));
str = riconverti(datacam,FALSE);
str = riconverti_data(datacam,FALSE);
str.format("%06s", (const char*) str);
record.overwrite(str,106); //Data cambio
@ -1686,7 +1686,7 @@ void TInv_cont::partita2trasfer(TString& record, bool crea_record_riferimento)
record.overwrite(str,114); //Tipo pagamento
TString datapag (_tpart->get_date(PART_DATAPAG));
str = riconverti(datapag,FALSE);
str = riconverti_data(datapag,FALSE);
str.format("%06s", (const char*) str);
record.overwrite(str,140); //Data pagamento
}
@ -1902,7 +1902,7 @@ bool TInv_cont::invio_mov_SC()
datascad = _tscad->get_date(SCAD_DATASCAD);
str = riconverti(datascad,FALSE);
str = riconverti_data(datascad,FALSE);
str.format("%06s", (const char*) str);
record.overwrite(str,140); //Data scadenza

View File

@ -411,7 +411,7 @@ void TInv_cont::invio_clienti_fornitori()
record.overwrite(str,478);
TString data = _tclifo->get(CLI_DATANASC);
TString app = riconverti(data,TRUE);
TString app = riconverti_data(data,TRUE);
str.format("%08s", (const char*) app);
record.overwrite(str,508); //Data di registrazione
@ -681,22 +681,22 @@ void TInv_cont::invio_testata_movimenti()
record.overwrite(str,2); //Numero di registrazione
TString datareg = _tmov->get(MOV_DATAREG);
datastr = riconverti(datareg,TRUE);
datastr = riconverti_data(datareg,TRUE);
str.format("%08s", (const char*) datastr);
record.overwrite(str,60); //Data di registrazione
TString datacomp = _tmov->get(MOV_DATACOMP);
datastr = riconverti(datacomp,TRUE);
datastr = riconverti_data(datacomp,TRUE);
str.format("%08s", (const char*) datastr);
record.overwrite(str,68); //Data di registrazione
TString datadoc = _tmov->get(MOV_DATADOC);
datastr = riconverti(datadoc,TRUE);
datastr = riconverti_data(datadoc,TRUE);
str.format("%08s", (const char*) datastr);
record.overwrite(str,76); //Data di registrazione
TString data74ter = _tmov->get(MOV_DATA74TER);
datastr = riconverti(data74ter,TRUE);
datastr = riconverti_data(data74ter,TRUE);
str.format("%08s", (const char*) datastr);
record.overwrite(str,84); //Data di 74 ter
@ -870,7 +870,7 @@ void TInv_cont::invio_occasionali(TString& record, TString& ocfpi)
record.overwrite(str,453);
TString datanasc = _toccas->get(OCC_DNASC);
TString app = riconverti(datanasc,TRUE);
TString app = riconverti_data(datanasc,TRUE);
str.format("%08s", (const char*) app);
record.overwrite(str,458);
@ -914,7 +914,7 @@ void TInv_cont::invio_righe_contabili()
record.overwrite(sezione,60);
TString16 datareg = _trmov->get(RMV_DATAREG);
TString16 app = riconverti(datareg,TRUE);
TString16 app = riconverti_data(datareg,TRUE);
str.format("%08s", (const char*) app);
record.overwrite(str,61); //Data di registrazione
@ -1181,17 +1181,17 @@ void TInv_cont::invio_partite()
record.overwrite(str,70); //Numero riga registrazione contabile
TString datareg = _tpart->get(PART_DATAREG);
datastr = riconverti(datareg,TRUE);
datastr = riconverti_data(datareg,TRUE);
str.format("%08s", (const char*) datastr);
record.overwrite(str,73); //Data di registrazione
TString datadoc = _tpart->get(PART_DATADOC);
datastr = riconverti(datadoc,TRUE);
datastr = riconverti_data(datadoc,TRUE);
str.format("%08s", (const char*) datastr);
record.overwrite(str,81); //Data documento
TString datapag = _tpart->get(PART_DATAPAG);
datastr = riconverti(datapag,TRUE);
datastr = riconverti_data(datapag,TRUE);
str.format("%08s", (const char*) datastr);
record.overwrite(str,89); //Data pagamento
@ -1282,7 +1282,7 @@ void TInv_cont::invio_partite()
record.overwrite(str,229); //Importo in valuta
TString datacam = _tpart->get(PART_DATACAM);
datastr = riconverti(datacam,TRUE);
datastr = riconverti_data(datacam,TRUE);
str.format("%08s", (const char*) datastr);
record.overwrite(str,245); //Data cambio
@ -1480,7 +1480,7 @@ void TInv_cont::invio_scadenze()
record.overwrite(str,132); //Importo in valuta
TString datascad = _tscad->get(SCAD_DATASCAD);
TString app = riconverti(datascad,TRUE);
TString app = riconverti_data(datascad,TRUE);
str.format("%08s", (const char*) app);
record.overwrite(str,148); //Data scadenza
@ -1489,7 +1489,7 @@ void TInv_cont::invio_scadenze()
record.overwrite(str,156); //Numero sollecito
TString datasoll = _tscad->get(SCAD_DATASOLL);
app = riconverti(datasoll,TRUE);
app = riconverti_data(datasoll,TRUE);
str.format("%08s", (const char*) app);
record.overwrite(str,158); //Data sollecito

View File

@ -490,7 +490,7 @@ bool TTransfer_file::read_control_rec()
_nultras = atoi(_control_rec->sub(75,78));
const TString& tmp = _control_rec->sub(78,86);
_dataultras = converti(tmp, true);
_dataultras = converti_data(tmp, true);
_sigle_file = _control_rec->sub(86,95); _sigle_file.rtrim();
_nrec_file = _control_rec->sub(95,149);
@ -518,7 +518,7 @@ bool TTransfer_file::read_control_rec_t()
_ditta = atol(_control_rec_t.sub(25,29));
_nultras = atoi(_control_rec_t.sub(29,32));
const TString8 tmp = _control_rec_t.sub(32,38);
_dataultras = converti(tmp,false);
_dataultras = converti_data(tmp,false);
_sigle_file = _control_rec_t.sub(38,47);
_nrec_file = _control_rec_t.sub(47,101);
@ -1356,7 +1356,7 @@ int TTransfer_file::trasfer_data_tab(TIsamtempfile& file, TRectype& dep)
int TTransfer_file::annoes_datacomp(const TString& record, TDate& datacomp)
{
const TString& tmp = record.sub(15,21);
_datareg = converti(tmp,false);
_datareg = converti_data(tmp,false);
const int segn = atoi(record.sub(21,22));
int aep = 0;
@ -1660,7 +1660,7 @@ void TTransfer_file::write_tmp_movPN(TString& record)
dep->put(MOV_ANNOIVA, annoiva);
}
if (flag == 2)
dep->put(fname,converti(field,false));
dep->put(fname,converti_data(field,false));
}
else
if (logicnum == LF_RMOV && (fname == RMV_NUMREG || fname == RMV_NUMRIG) )
@ -1680,13 +1680,12 @@ void TTransfer_file::write_tmp_movPN(TString& record)
else
dep->put(fname, field);
numfield++;
key.format("%2s%d", (const char*) sigla,numfield);
key.format("%2s%d", (const char*) sigla, ++numfield);
}
while (trc.is_key((const char*) key));
_prog->addstatus(1);
if (importo != ZERO)
if (!importo.is_zero())
trasfer_data_mov(*file, *dep);
if (create)
@ -1700,18 +1699,15 @@ void TTransfer_file::write_tmp_movPN(TString& record)
int TTransfer_file::trasfer_data_mov(TIsamtempfile& file, TRectype& dep)
{
file.zero();
file.curr() = dep;
if (file.read() == NOERR)
{
file.zero();
file.curr() = dep;
file.rewrite();
}
else
{
file.zero();
file.curr() = dep;
file.write();
}
@ -1757,7 +1753,7 @@ void TTransfer_file::scrivi_occasionali(const TString& record, TString& cfpi)
if (ind.full())
civ = numero_civico(ind);
cfpi = record.sub(176, 192); // Patch per crp: cerca il codice fiscale in un campo non documentato
cfpi = record.sub(176, 192); // Personalizzazione per CRPE: cerca il codice fiscale in un campo non documentato
if (cfpi.blank())
cfpi.format("RIC%13ld", ++_npoccas);
@ -1775,12 +1771,17 @@ void TTransfer_file::scrivi_occasionali(const TString& record, TString& cfpi)
_toccas->put(OCC_INDIR, ind);
_toccas->put(OCC_CIV, civ);
_toccas->put(OCC_CAP, cap);
if (_cod_com.full())
_toccas->put(OCC_COM, _cod_com);
int err = _toccas->write();
if (err == _isreinsert)
err = _toccas->rewrite();
_toccas->put(OCC_COM, _cod_com);
if (cfpi.len() == 16)
_toccas->put(OCC_COFI,cfpi); else
if (cfpi.len() == 11 && real::is_natural(cfpi))
{
_toccas->put(OCC_COFI,cfpi);
_toccas->put(OCC_PAIV,cfpi);
}
_toccas->write_rewrite();
}
void TTransfer_file::write_tmp_movIVA(const TString& record)
@ -1794,8 +1795,6 @@ void TTransfer_file::write_tmp_movIVA(const TString& record)
if (trc.is_key(key))
{
const int fnrmiva = 11;
//ai fini del trasferimento (flag record gia trasferito e nuovo ultimo numero di registrazione).
TIsamtempfile* file = NULL;
TRectype* dep = NULL;
@ -1808,7 +1807,7 @@ void TTransfer_file::write_tmp_movIVA(const TString& record)
if (_numreg == _numreg_piva)
{
numfield = fnrmiva;
numfield = 11;
key.format("%2s%d", (const char*)sigla,numfield);
}
else
@ -1892,17 +1891,22 @@ void TTransfer_file::write_tmp_movIVA(const TString& record)
}
}
if (logicnum == LF_MOV && ( fname == MOV_NUMREG || flag == 2 ) )
if (logicnum == LF_MOV && ( fname == MOV_NUMREG || fname == MOV_OCFPI || flag == 2 ) )
{
if (fname == MOV_NUMREG)
{
dep->put(MOV_NUMREG, _numreg);
dep->put(MOV_OCFPI, cfpi);
}
if (cfpi.full())
dep->put(MOV_OCFPI, cfpi);
} else
if (fname == MOV_OCFPI)
{
if (field.full()) // Non sovrascrivo eventuale cfpi
dep->put(fname, field);
} else
if (flag == 2)
{
TString80 f = converti(field,false);
const char* f = converti_data(field,false);
dep->put(fname,f);
}
}
@ -1917,10 +1921,8 @@ void TTransfer_file::write_tmp_movIVA(const TString& record)
else
dep->put(fname, field);
numfield++;
key.format("%2s%d", (const char*)sigla,numfield);
}
while (trc.is_key(key));
key.format("%2s%d", (const char*)sigla, ++numfield);
} while (trc.is_key(key));
_prog->addstatus(1);
trasfer_data_moviva(*file, *dep);
@ -1945,7 +1947,7 @@ int TTransfer_file::trasfer_data_moviva(TIsamtempfile& file, const TRectype& dep
{
TDate data74ter = dep.get_date(MOV_DATA74TER);
TString4 codval (dep.get (MOV_CODVALI));
TString80 ocfpi (dep.get (MOV_OCFPI));
TString16 ocfpi (dep.get (MOV_OCFPI));
long codcf = dep.get_long(MOV_CODCF);
real cambioi (dep.get_real(MOV_CAMBIOI));
real corrlire (dep.get_real(MOV_CORRLIRE));
@ -2301,7 +2303,7 @@ void TTransfer_file::partita(TString& record)
if (flag == 2)
{
const TString& f = converti(field,false);
const TString& f = converti_data(field,false);
_deppart->put(fname,f);
}
else
@ -2458,7 +2460,7 @@ void TTransfer_file::scadenza(TString& record)
if (flag == 2)
{
TString f = converti(field,false);
const char* f = converti_data(field,false);
_depscad->put(fname,f);
}
else
@ -2934,14 +2936,13 @@ void TTransfer_file::pagsca(TString& record)
else
if (flag == 2)
{
TString f = converti(field,false);
const char* f = converti_data(field,false);
_deppagsca->put(fname,f);
}
else
_deppagsca->put(fname, field);
numfield++;
key.format("%2s%d", (const char*) sigla,numfield);
key.format("%2s%d", (const char*) sigla, ++numfield);
}
while (trc.is_key((const char*) key));
} // if (trc.is_key((const char*) key)
@ -3412,7 +3413,7 @@ void TTransfer_file::scrivi_PN(long nrec)
{
TString buffer(sizeT);
_prog = new TProgind (nrec,TR("Trasferimento Movimenti di Prima nota"),false, true, 1);
_prog = new TProgind (nrec,TR("Trasferimento Movimenti di Prima nota"),false, true);
TRic_recfield recf (_ttab->curr(), "S0", 0, sizeT);
@ -3435,7 +3436,7 @@ void TTransfer_file::scrivi_IVA(long nrec)
{
TString buffer(sizeT);
_prog = new TProgind (nrec,TR("Trasferimento Movimenti Iva"),false, true, 1);
_prog = new TProgind (nrec,TR("Trasferimento Movimenti Iva"),false, true);
const TRic_recfield recf(_ttab->curr(), "S0", 0, sizeT);
@ -3925,7 +3926,7 @@ void TTransfer_file::write_clienti_fornitori(TString& record)
if (flag == 2)
{
TString f = converti(field,true);
TString f = converti_data(field,true);
_depclifo->put(fname,f);
}
else
@ -4214,7 +4215,7 @@ void TTransfer_file::write_testata_movimenti(TString& record)
if (flag == 2)
{
const TString16 f = converti(field, true);
const TString16 f = converti_data(field, true);
_depmov->put(fname,f);
if (fname == MOV_DATACOMP)
@ -4248,7 +4249,7 @@ void TTransfer_file::write_testata_movimenti(TString& record)
_depoccas->zero();
if (fname == OCC_DNASC)
{
field = converti(field,TRUE);
field = converti_data(field,TRUE);
}
else
if (fname == OCC_CFPI)
@ -4431,7 +4432,7 @@ void TTransfer_file::write_righe_contabili(const TString& record)
}
if (flag == 2)
_deprmov->put(fname,converti(field,true));
_deprmov->put(fname,converti_data(field,true));
else
if (fname == RMV_NUMREG)
{
@ -4775,14 +4776,13 @@ void TTransfer_file::write_partite(const TString& record)
if (flag == 2)
{
TString f = converti(field,true);
const char* f = converti_data(field,true);
_deppart->put(fname,f);
}
else
_deppart->put(fname, field);
numfield++;
key.format("%2s%d", (const char*) sigla,numfield);
key.format("%2s%d", (const char*) sigla, ++numfield);
}
while (trc.is_key((const char*) key));
}
@ -4908,7 +4908,7 @@ void TTransfer_file::write_scadenze(const TString& record)
if (flag == 2)
{
TString80 f = converti(field,true);
const char* f = converti_data(field,true);
_depscad->put(fname,f);
}
else
@ -5065,14 +5065,13 @@ void TTransfer_file::write_pagsca(const TString& record)
if (flag == 2)
{
TString f = converti(field,true);
const char* f = converti_data(field,true);
_depmov->put(fname,f);
}
else
_deppagsca->put(fname, field);
numfield++;
key.format("%2s%d", (const char*) sigla,numfield);
key.format("%2s%d", (const char*) sigla, ++numfield);
}
while (trc.is_key((const char*) key));
}
@ -5201,7 +5200,7 @@ int pack(bool vis, int num, TString& name)
return err;
}
const char* converti(const TString& data_AS400, bool anno_di_quattro)
const char* converti_data(const TString& data_AS400, bool anno_di_quattro)
{
// if (data_AS400 == "000000" || data_AS400 == "00000000")
if (real::is_null(data_AS400))
@ -5209,46 +5208,34 @@ const char* converti(const TString& data_AS400, bool anno_di_quattro)
TString& TEMP = get_tmp_string();
if (anno_di_quattro)
{
TEMP = data_AS400.mid(6,2);
TEMP << '-' << data_AS400.mid(4,2);
TEMP << '-' << data_AS400.mid(0,4);
}
TEMP << data_AS400.mid(6,2) << '-' << data_AS400.mid(4,2) << '-' << data_AS400.mid(0,4);
else
{
TEMP = data_AS400.mid(4,2);
TEMP << "-" << data_AS400.mid(2,2);
TEMP << "-" << (data_AS400[0] < '8' ? "20" : "19") << data_AS400.mid(0,2);
}
TEMP << data_AS400.mid(4,2) << "-" << data_AS400.mid(2,2) << "-" << (data_AS400[0] < '8' ? "20" : "19") << data_AS400.mid(0,2);
return TEMP;
}
const char* riconverti (const TString& data_PC,bool anno_di_quattro)
{
TString& TEMP = get_tmp_string();
const char* riconverti_data(const TString& data_PC,bool anno_di_quattro)
{
if (data_PC.empty())
return EMPTY_STRING;
TString& TEMP = get_tmp_string();
if (anno_di_quattro)
{
TEMP = data_PC.mid(6,4);
TEMP << data_PC.mid(3,2);
TEMP << data_PC.mid(0,2);
}
TEMP << data_PC.mid(6,4) << data_PC.mid(3,2) << data_PC.mid(0,2);
else
{
TEMP = data_PC.mid(8,2);
TEMP << data_PC.mid(3,2);
TEMP << data_PC.mid(0,2);
}
TEMP << data_PC.mid(8,2) << data_PC.mid(3,2) << data_PC.mid(0,2);
return TEMP;
}
TDate TTransfer_file::data_fine_esercizio(int aep) const
{
TDate datacomp;
TEsercizi_contabili esc;
if (esc.exist(aep))
datacomp = esc[aep].fine();
return datacomp;
TDate datai, dataf;
// if (esc.exist(aep)) dataf = esc[aep].fine(); // Metodo antico
esc.code2range(aep, datai, dataf); // Metodo moderno
return dataf;
}
int date2esc(const TDate& d, int* prevesc)

View File

@ -51,8 +51,8 @@ HIDDEN int pos[15] = {0,15,25,29,32,38,47,234,235,236,237,238,239,240,241};
const int LEN_REC_HEAD = 1025;
const char* converti(const TString& data_AS400,bool anno_di_quattro);
const char* riconverti(const TString& data_PC,bool anno_di_quattro);
const char* converti_data(const TString& data_AS400,bool anno_di_quattro);
const char* riconverti_data(const TString& data_PC,bool anno_di_quattro);
int date2esc(const TDate& d, int* prevesc = NULL);
int packindex(bool vis, int num, TString& name);