Patch level : 10.0 882
Files correlati : tc1.exe Ricompilazione Demo : [ ] Commento : Aggiunto l'invio dei corrispettivi normali al trasferimento zucchetti git-svn-id: svn://10.65.10.50/branches/R_10_00@21420 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f8346a8e7e
commit
7c33788533
@ -120,7 +120,7 @@ class TInvio : public TSkeleton_application
|
||||
TLog_report * _log;
|
||||
TRiclassifica_cache * _tabelle;
|
||||
TRecord_cache* _conti;
|
||||
long _nrecords, _nrecsfattvend, _nrecsfattacqu, _nrecsmocontab;
|
||||
long _nrecords, _nrecscorr, _nrecsfattvend, _nrecsfattacqu, _nrecsmocontab;
|
||||
int _nfiles;
|
||||
long _nrecsdettaglio;
|
||||
TString16 _descrdettaglio;
|
||||
@ -432,6 +432,13 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt
|
||||
const char tipodoc = str[0];
|
||||
valore = (tipodoc == 'F') ? "1" : "2";
|
||||
}
|
||||
else if (code == "_TIPOCORR")
|
||||
{
|
||||
valore = str;
|
||||
|
||||
if (valore != "SC" && valore != "RF")
|
||||
valore = "CN";
|
||||
}
|
||||
else if (code == "_DIVERSI")
|
||||
{
|
||||
valore = (app().finemov() ? "X" : " ");
|
||||
@ -502,6 +509,20 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt
|
||||
}
|
||||
|
||||
}
|
||||
else if (code.starts_with("_TCONTO"))
|
||||
{
|
||||
const TRectype & mov = cur.curr(LF_MOV);
|
||||
TToken_string key(mov.get(MOV_NUMREG));
|
||||
key.add(1);
|
||||
|
||||
const TRectype & rmov = cache().get(LF_RMOV,key);
|
||||
const char t = rmov.get_char(RMV_TIPOC);
|
||||
const int gr = rmov.get_int(RMV_GRUPPO);
|
||||
const int co = rmov.get_int(RMV_CONTO);
|
||||
const long so = rmov.get_long(RMV_SOTTOCONTO);
|
||||
|
||||
valore = bill2ricl(t, gr, co, so, false);
|
||||
}
|
||||
else if (code == "_CFPI")
|
||||
{
|
||||
const TRectype & rmov = cur.curr(LF_RMOV);
|
||||
@ -605,6 +626,12 @@ void TInvio::i_zucchetti_testa()
|
||||
_nrecords += _nrecsfattvend+2;
|
||||
_nfiles++;
|
||||
}
|
||||
_nrecscorr = i_zucchetti_moviva('C', FALSE);
|
||||
if (_nrecscorr > 0)
|
||||
{
|
||||
_nrecords += _nrecscorr+2;
|
||||
_nfiles++;
|
||||
}
|
||||
_nrecsfattacqu = i_zucchetti_moviva('A', FALSE);
|
||||
if (_nrecsfattacqu > 0)
|
||||
{
|
||||
@ -768,10 +795,15 @@ long TInvio::i_zucchetti_moviva(const char acqven, const bool invio)
|
||||
rel.add(LF_RMOVIVA, "NUMREG==NUMREG", 1);
|
||||
rel.add("REG", "CODTAB[1,4]==ANNOIVA|CODTAB[5,7]==REG", 1);
|
||||
TString filtro = "(23->PROTIVA != \"\")&&";
|
||||
if (acqven == 'V')
|
||||
const bool vend = acqven == 'V';
|
||||
const bool corrisp = acqven == 'C';
|
||||
if (vend)
|
||||
filtro << "(REG->I0 == 1)";
|
||||
else
|
||||
filtro << "(REG->I0 == 2)";
|
||||
if (corrisp)
|
||||
filtro << "(REG->I0 == 1)&&(REG->B0 != \"\")";
|
||||
else
|
||||
filtro << "(REG->I0 == 2)";
|
||||
TCursor cur(&rel, "", 2, &da, &a);
|
||||
cur.setfilter(filtro, true);
|
||||
const long cur_items = cur.items();
|
||||
@ -780,21 +812,32 @@ long TInvio::i_zucchetti_moviva(const char acqven, const bool invio)
|
||||
{
|
||||
TProgind pi(cur_items, rel.file().description(), true, true);
|
||||
if (invio)
|
||||
i_zucchetti_testa_dettaglio(acqven == 'V' ? "FATTVEND" : "FATTACQU", acqven == 'V' ? _nrecsfattvend : _nrecsfattacqu);
|
||||
{
|
||||
if (vend)
|
||||
i_zucchetti_testa_dettaglio("FATTVEND", _nrecsfattvend);
|
||||
else
|
||||
if (corrisp)
|
||||
i_zucchetti_testa_dettaglio("CORRNORM", _nrecscorr);
|
||||
else
|
||||
i_zucchetti_testa_dettaglio("FATTACQU", _nrecsfattacqu);
|
||||
}
|
||||
cur.freeze();
|
||||
TRectype& cur_rec = cur.curr();
|
||||
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
if (invio)
|
||||
if (!corrisp)
|
||||
{
|
||||
TRecord_text rec;
|
||||
rec.set_type("30");
|
||||
_trasfile->autoload(rec, cur);
|
||||
_trasfile->write(rec);
|
||||
}
|
||||
totrec++;
|
||||
if (invio)
|
||||
{
|
||||
TRecord_text rec;
|
||||
rec.set_type("30");
|
||||
_trasfile->autoload(rec, cur);
|
||||
_trasfile->write(rec);
|
||||
}
|
||||
totrec++;
|
||||
}
|
||||
const long numreg = cur.curr().get_long(MOV_NUMREG);
|
||||
bool continua = TRUE;
|
||||
while (continua)
|
||||
@ -806,7 +849,7 @@ long TInvio::i_zucchetti_moviva(const char acqven, const bool invio)
|
||||
{
|
||||
TRectype& cur_rec_righe = cur.curr(LF_RMOVIVA);
|
||||
TRecord_text recrighe;
|
||||
recrighe.set_type("31");
|
||||
recrighe.set_type(corrisp ? "40" : "31");
|
||||
cur.save_status();
|
||||
_totale = !(cur.next_match(LF_RMOVIVA, "NUMREG"));
|
||||
cur.restore_status();
|
||||
@ -819,7 +862,15 @@ long TInvio::i_zucchetti_moviva(const char acqven, const bool invio)
|
||||
}
|
||||
}
|
||||
if (invio)
|
||||
i_zucchetti_coda_dettaglio(acqven == 'V' ? "FATTVEND" : "FATTACQU", acqven == 'V' ? _nrecsfattvend : _nrecsfattacqu);
|
||||
{
|
||||
if (vend)
|
||||
i_zucchetti_coda_dettaglio("FATTVEND", _nrecsfattvend);
|
||||
else
|
||||
if (corrisp)
|
||||
i_zucchetti_coda_dettaglio("CORRNORM", _nrecscorr);
|
||||
else
|
||||
i_zucchetti_coda_dettaglio("FATTACQU", _nrecsfattacqu);
|
||||
}
|
||||
}
|
||||
return totrec;
|
||||
}
|
||||
@ -890,6 +941,7 @@ void TInvio::invio_zucchetti()
|
||||
if (_msk->get_bool(F_MOVIVA))
|
||||
{
|
||||
i_zucchetti_moviva('V');
|
||||
i_zucchetti_moviva('C');
|
||||
i_zucchetti_moviva('A');
|
||||
}
|
||||
i_zucchetti_coda();
|
||||
|
153
tc/tc1100a.ini
153
tc/tc1100a.ini
@ -718,6 +718,159 @@ TYPE(16) = STRINGA
|
||||
POSITION(16) = 72
|
||||
LENGTH(16) = 128
|
||||
|
||||
//righe corrispettivi normali,corrispettivi ventilati
|
||||
[RECORD 40]
|
||||
|
||||
NAME(1) = TIPO DETTAGLIO RIGHE MOVIVA (RIGHE FATTURA)
|
||||
TYPE(1) = STRINGA
|
||||
POSITION(1) = 0
|
||||
LENGTH(1) = 3
|
||||
MESSAGE(1)=_FISSO,!D40
|
||||
|
||||
NAME(2) = ATTIVITA IVA
|
||||
TYPE(2) = NUMERO
|
||||
POSITION(2) = 3
|
||||
LENGTH(2) = 2
|
||||
MESSAGE(2) = _ATTIVITA
|
||||
|
||||
NAME(3) = ANNO REGISTRAZIONE
|
||||
TYPE(3) = NUMERO
|
||||
POSITION(3) = 5
|
||||
LENGTH(3) = 4
|
||||
MESSAGE(3) = _ANNO
|
||||
FIELD(3) = 23->DATAREG
|
||||
|
||||
NAME(4) = MESE REGISTRAZIONE
|
||||
TYPE(4) = NUMERO
|
||||
POSITION(4) = 9
|
||||
LENGTH(4) = 2
|
||||
MESSAGE(4) = _MESE
|
||||
FIELD(4) = 23->DATAREG
|
||||
|
||||
NAME(5) = ANNO COMPETENZA
|
||||
TYPE(5) = NUMERO
|
||||
POSITION(5) = 11
|
||||
LENGTH(5) = 4
|
||||
MESSAGE(5) = _ANNO
|
||||
FIELD(5) = 23->DATACOMP
|
||||
|
||||
NAME(6) = MESE COMPETENZA
|
||||
TYPE(6) = NUMERO
|
||||
POSITION(6) = 15
|
||||
LENGTH(6) = 2
|
||||
MESSAGE(6) = _MESE
|
||||
FIELD(6) = 23->DATACOMP
|
||||
|
||||
NAME(7) = SEZIONE
|
||||
TYPE(7) = NUMERO
|
||||
POSITION(7) = 17
|
||||
LENGTH(7) = 2
|
||||
MESSAGE(7) = _ATTIVITA
|
||||
|
||||
NAME(8) = TIPO CORRISPETTIVO
|
||||
TYPE(8) = STRINGA
|
||||
POSITION(8) = 19
|
||||
LENGTH(8) = 1
|
||||
FIELD(8) = 23->TIPODOC
|
||||
MESSAGE(8) = _TIPOCORR
|
||||
|
||||
NAME(9) = DATA REGISTRAZIONE
|
||||
TYPE(9) = DATA
|
||||
POSITION(9) = 21
|
||||
LENGTH(9) = 8
|
||||
FIELD(9) = 23->DATAREG
|
||||
|
||||
NAME(10) = CODICE IVA
|
||||
TYPE(10) = STRINGA
|
||||
POSITION(10) = 29
|
||||
LENGTH(10) = 2
|
||||
FIELD(10)= 25->CODIVA
|
||||
MESSAGE(10) = _IVA
|
||||
FILLER(10) = '0'
|
||||
|
||||
NAME(11) = IMPORTO IMPONIBILE EURO
|
||||
TYPE(11) = IMPORTO
|
||||
POSITION(11) = 31
|
||||
LENGTH(11) = 11
|
||||
FIELD(11)= 25->IMPONIBILE
|
||||
MESSAGE(11) = _IMPORTO
|
||||
|
||||
NAME(12) = SEGNO IMPONIBILE
|
||||
TYPE(12) = STRINGA
|
||||
POSITION(12) = 42
|
||||
LENGTH(12) = 1
|
||||
MESSAGE(12) = _SEGNO,25,IMPONIBILE
|
||||
|
||||
NAME(13) = NUMERO DOCUMENTI DAL
|
||||
TYPE(13) = NUMERO
|
||||
POSITION(13) = 43
|
||||
LENGTH(13) = 6
|
||||
|
||||
NAME(14) = NUMERO DOCUMENTI DAL
|
||||
TYPE(14) = NUMERO
|
||||
POSITION(14) = 49
|
||||
LENGTH(14) = 6
|
||||
|
||||
NAME(15) = CODICE NORMA
|
||||
TYPE(15) = STRINGA
|
||||
POSITION(15) = 55
|
||||
LENGTH(15) = 2
|
||||
FIELD(15) = 25->CODIVA
|
||||
MESSAGE(15)= _NORMA
|
||||
FILLER(15) = '0'
|
||||
|
||||
NAME(16) = CENTRO DI COSTO
|
||||
TYPE(16) = STRINGA
|
||||
POSITION(8) = 57
|
||||
LENGTH(8) = 4
|
||||
|
||||
NAME(17) = CONTROPARTITA
|
||||
TYPE(17) = NUMERO
|
||||
POSITION(17) = 61
|
||||
LENGTH(17) = 6
|
||||
MESSAGE(17)= _CONTO,25,TIPOC
|
||||
|
||||
NAME(18) = CENTRO DI COSTO
|
||||
TYPE(18) = STRINGA
|
||||
POSITION(18) = 67
|
||||
LENGTH(18) = 4
|
||||
|
||||
NAME(19) = CASSA
|
||||
TYPE(19) = NUMERO
|
||||
POSITION(19) = 71
|
||||
LENGTH(19) = 6
|
||||
MESSAGE(19)= _TCONTO,25,TIPOC
|
||||
|
||||
NAME(20) = CODICE CEE
|
||||
TYPE(20) = STRINGA
|
||||
POSITION(20) = 77
|
||||
LENGTH(20) = 2
|
||||
|
||||
NAME(21) = CORRISP A CALENDARIO
|
||||
TYPE(21) = STRINGA
|
||||
POSITION(21) = 79
|
||||
LENGTH(21) = 1
|
||||
|
||||
NAME(22) = CODICE CLIFO
|
||||
TYPE(22) = STRINGA
|
||||
POSITION(22) = 80
|
||||
LENGTH(22) = 6
|
||||
|
||||
NAME(23) = TIPO CODIFICA
|
||||
TYPE(23) = STRINGA
|
||||
POSITION(23) = 86
|
||||
LENGTH(23) = 1
|
||||
|
||||
NAME(24) = CODICE CODIFICA
|
||||
TYPE(24) = STRINGA
|
||||
POSITION(24) = 87
|
||||
LENGTH(24) = 16
|
||||
|
||||
NAME(16) = FILLER
|
||||
TYPE(16) = STRINGA
|
||||
POSITION(16) = 103
|
||||
LENGTH(16) = 97
|
||||
|
||||
//movimento contabile di prima nota
|
||||
[RECORD 50]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user