Patch level :2.2 278
Files correlati : Ricompilazione Demo : [ ] Commento :trasferimento proforma: stringati con allineamento a sx i campi gr/co/sottoc codcf come erano nella 2.1 git-svn-id: svn://10.65.10.50/trunk@13640 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f6eabba4a7
commit
46a28b4028
@ -287,6 +287,7 @@ protected:
|
|||||||
bool test_swap(TCausale& caus, bool ritsoc) const;
|
bool test_swap(TCausale& caus, bool ritsoc) const;
|
||||||
real calcola_pagamento(TRectype& curpag_rec);
|
real calcola_pagamento(TRectype& curpag_rec);
|
||||||
bool sottrai_iva(TMovimentoPN& pn, const TRectype& rigaiva);
|
bool sottrai_iva(TMovimentoPN& pn, const TRectype& rigaiva);
|
||||||
|
void stringa_grcosot(TRecord_text& recrighe, const TString& zio);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
const real get_importo() {return _importo;};
|
const real get_importo() {return _importo;};
|
||||||
@ -357,6 +358,11 @@ void TInvioP_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TS
|
|||||||
{
|
{
|
||||||
valore = app().get_importo().string();
|
valore = app().get_importo().string();
|
||||||
}
|
}
|
||||||
|
/* else if (code == "_GRUPPO")
|
||||||
|
{
|
||||||
|
const int gruppo = atoi(rec.get(3));
|
||||||
|
valore = gruppo;
|
||||||
|
}*/
|
||||||
|
|
||||||
else NFCHECK("Macro non definita: %s", (const char *)code);
|
else NFCHECK("Macro non definita: %s", (const char *)code);
|
||||||
str = valore;
|
str = valore;
|
||||||
@ -522,6 +528,11 @@ bool TInvioP::i_proforma_righe(TCursor& cur, TInvioP_file* trasfilerighe)
|
|||||||
//tglie le righe contabili corrispondenti che sono appena state aggiunte con la autoload (sarebbero..
|
//tglie le righe contabili corrispondenti che sono appena state aggiunte con la autoload (sarebbero..
|
||||||
//..duplicate se non lo facesse!!!)
|
//..duplicate se non lo facesse!!!)
|
||||||
conti_importi.sottrai(riga);
|
conti_importi.sottrai(riga);
|
||||||
|
|
||||||
|
//procedura orrenda per eliminare gli zeri dai gr/co/sot e passarli come stringhe!
|
||||||
|
const TString zio = cur_rmovana.curr().get(RMOVANA_CODCONTO);
|
||||||
|
stringa_grcosot(recrighe, zio);
|
||||||
|
|
||||||
//scrive sul file di trasferimento (alla faccia della semplicita'!)
|
//scrive sul file di trasferimento (alla faccia della semplicita'!)
|
||||||
trasfilerighe->write(recrighe);
|
trasfilerighe->write(recrighe);
|
||||||
}
|
}
|
||||||
@ -543,13 +554,27 @@ bool TInvioP::i_proforma_righe(TCursor& cur, TInvioP_file* trasfilerighe)
|
|||||||
recrighe.add(workstring, 1); //rigaiva
|
recrighe.add(workstring, 1); //rigaiva
|
||||||
TImporto& imp = conti_importi.importo(i);
|
TImporto& imp = conti_importi.importo(i);
|
||||||
workstring.cut(0) << imp.sezione();
|
workstring.cut(0) << imp.sezione();
|
||||||
recrighe.add(workstring, 2); //sezione
|
recrighe.add(workstring, 2); //sezione
|
||||||
|
//procedura orrenda per eliminare gli zeri dai gr/co/sot e passarli come stringhe!
|
||||||
const TString& zio = conti_importi.conto(i);
|
const TString& zio = conti_importi.conto(i);
|
||||||
recrighe.add(zio.left(3), 3); //gruppo
|
stringa_grcosot(recrighe, zio);
|
||||||
recrighe.add(zio.mid(3,3), 4); //conto
|
|
||||||
recrighe.add(zio.mid(6,6), 5); //sottoconto
|
const TString tipocf = pn.curr().get(MOV_TIPO);
|
||||||
recrighe.add(pn.curr().get(MOV_TIPO), 6); //tipocf
|
recrighe.add(tipocf, 6); //tipocf
|
||||||
recrighe.add(pn.curr().get(MOV_CODCF), 7); //codcf
|
|
||||||
|
//procedura per stringare il codice clifo
|
||||||
|
if (tipocf > ' ')
|
||||||
|
{
|
||||||
|
const long codcf = pn.curr().get_long(MOV_CODCF);
|
||||||
|
TString cf;
|
||||||
|
cf.format("%ld", codcf);
|
||||||
|
recrighe.add(cf, 7); //codcf
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
recrighe.add("", 7); //codcf
|
||||||
|
}
|
||||||
|
|
||||||
recrighe.add(pn.curr().get(RMV_DESCR), 8); //descrizione
|
recrighe.add(pn.curr().get(RMV_DESCR), 8); //descrizione
|
||||||
recrighe.add(imp.valore().string(), 9); //importo
|
recrighe.add(imp.valore().string(), 9); //importo
|
||||||
|
|
||||||
@ -657,6 +682,16 @@ bool TInvioP::i_proforma_righe(TCursor& cur, TInvioP_file* trasfilerighe)
|
|||||||
//scrittura delle righe di tipo I; notare che il cur passato alla autoload altri non e'..
|
//scrittura delle righe di tipo I; notare che il cur passato alla autoload altri non e'..
|
||||||
//..che la rigaiva appena completata
|
//..che la rigaiva appena completata
|
||||||
trasfilerighe->autoload(recrigheiva, cur_rmoviva);
|
trasfilerighe->autoload(recrigheiva, cur_rmoviva);
|
||||||
|
|
||||||
|
//procedura ignorante per stringare il codice clifo
|
||||||
|
if (zio.tipo() > ' ')
|
||||||
|
{
|
||||||
|
const long sottoconto = zio.sottoconto();
|
||||||
|
TString cf;
|
||||||
|
cf.format("%ld", sottoconto);
|
||||||
|
recrigheiva.add(cf, 7);
|
||||||
|
}
|
||||||
|
|
||||||
recrigheiva.add(riga.get(RMOVANA_DESCR).left(40), 8); //descrizione riga iva = riga anale corrente
|
recrigheiva.add(riga.get(RMOVANA_DESCR).left(40), 8); //descrizione riga iva = riga anale corrente
|
||||||
recrigheiva.add(riga.get(RMOVANA_CODCMS), 13); //commessa presa dalla riga analitica corrente
|
recrigheiva.add(riga.get(RMOVANA_CODCMS), 13); //commessa presa dalla riga analitica corrente
|
||||||
trasfilerighe->write(recrigheiva);
|
trasfilerighe->write(recrigheiva);
|
||||||
@ -676,6 +711,7 @@ bool TInvioP::i_proforma_righe(TCursor& cur, TInvioP_file* trasfilerighe)
|
|||||||
const TBill uncle(riga);
|
const TBill uncle(riga);
|
||||||
cur_rmoviva.curr() = riga;
|
cur_rmoviva.curr() = riga;
|
||||||
trasfilerighe->autoload(recrigheiva, cur_rmoviva);
|
trasfilerighe->autoload(recrigheiva, cur_rmoviva);
|
||||||
|
recrigheiva.add(uncle.tipo(), 6); //tipocf
|
||||||
recrigheiva.add(uncle.descrizione().left(40), 8); //descrizione della riga iva = descrizione conto
|
recrigheiva.add(uncle.descrizione().left(40), 8); //descrizione della riga iva = descrizione conto
|
||||||
trasfilerighe->write(recrigheiva);
|
trasfilerighe->write(recrigheiva);
|
||||||
}
|
}
|
||||||
@ -743,6 +779,24 @@ bool TInvioP::sottrai_iva(TMovimentoPN& pn, const TRectype& rigaiva)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TInvioP::stringa_grcosot(TRecord_text& recrighe, const TString& zio)
|
||||||
|
{
|
||||||
|
TString8 grcosot;
|
||||||
|
long gcs = 0;
|
||||||
|
|
||||||
|
gcs = atoi(zio.left(3));
|
||||||
|
grcosot.format("%d", gcs);
|
||||||
|
recrighe.add(grcosot, 3); //gruppo
|
||||||
|
|
||||||
|
gcs = atoi(zio.mid(3,3));
|
||||||
|
grcosot.format("%d", gcs);
|
||||||
|
recrighe.add(grcosot, 4); //conto
|
||||||
|
|
||||||
|
gcs = atoi(zio.mid(6,6));
|
||||||
|
grcosot.format("%d", gcs);
|
||||||
|
recrighe.add(grcosot, 5); //sottoconto
|
||||||
|
}
|
||||||
|
|
||||||
// Calcola il totale del documento tenendo conto del segno della prima riga e di quella delle
|
// Calcola il totale del documento tenendo conto del segno della prima riga e di quella delle
|
||||||
// ritenute sociali sulla causale
|
// ritenute sociali sulla causale
|
||||||
real TInvioP::totale_documento(const TRectype& mov) const
|
real TInvioP::totale_documento(const TRectype& mov) const
|
||||||
|
@ -157,34 +157,29 @@ LENGTH(2) = 1
|
|||||||
FIELD(2) = SEZIONE
|
FIELD(2) = SEZIONE
|
||||||
|
|
||||||
NAME(3) = CODICE MASTRO
|
NAME(3) = CODICE MASTRO
|
||||||
TYPE(3) = NUMERO
|
TYPE(3) = STRINGA
|
||||||
POSITION(3) = 12
|
POSITION(3) = 12
|
||||||
LENGTH(3) = 5
|
LENGTH(3) = 5
|
||||||
FIELD(3) = CODCONTO[1,3]
|
|
||||||
|
|
||||||
NAME(4) = CODICE CONTO
|
NAME(4) = CODICE CONTO
|
||||||
TYPE(4) = NUMERO
|
TYPE(4) = STRINGA
|
||||||
POSITION(4) = 17
|
POSITION(4) = 17
|
||||||
LENGTH(4) = 5
|
LENGTH(4) = 5
|
||||||
FIELD(4) = CODCONTO[4,6]
|
|
||||||
|
|
||||||
NAME(5) = CODICE SOTTOCONTO
|
NAME(5) = CODICE SOTTOCONTO
|
||||||
TYPE(5) = NUMERO
|
TYPE(5) = STRINGA
|
||||||
POSITION(5) = 22
|
POSITION(5) = 22
|
||||||
LENGTH(5) = 5
|
LENGTH(5) = 5
|
||||||
FIELD(5) = CODCONTO[7,12]
|
|
||||||
|
|
||||||
NAME(6) = FLAG CLIFOR
|
NAME(6) = FLAG CLIFOR
|
||||||
TYPE(6) = STRINGA
|
TYPE(6) = STRINGA
|
||||||
POSITION(6) = 27
|
POSITION(6) = 27
|
||||||
LENGTH(6) = 1
|
LENGTH(6) = 1
|
||||||
//MESSAGE(6) = _TIPOCF
|
|
||||||
|
|
||||||
NAME(7) = CODICE CLIFOR
|
NAME(7) = CODICE CLIFOR
|
||||||
TYPE(7) = NUMERO
|
TYPE(7) = STRINGA
|
||||||
POSITION(7) = 28
|
POSITION(7) = 28
|
||||||
LENGTH(7) = 10
|
LENGTH(7) = 10
|
||||||
FIELD(7) = CODCONTO[7,12]
|
|
||||||
|
|
||||||
NAME(8) = DESCRIZIONE RIGA
|
NAME(8) = DESCRIZIONE RIGA
|
||||||
TYPE(8) = STRINGA
|
TYPE(8) = STRINGA
|
||||||
@ -238,19 +233,19 @@ LENGTH(1) = 1
|
|||||||
MESSAGE(1) = _FISSO,!S
|
MESSAGE(1) = _FISSO,!S
|
||||||
|
|
||||||
NAME(3) = CODICE MASTRO
|
NAME(3) = CODICE MASTRO
|
||||||
TYPE(3) = NUMERO
|
TYPE(3) = STRINGA
|
||||||
POSITION(3) = 12
|
POSITION(3) = 12
|
||||||
LENGTH(3) = 5
|
LENGTH(3) = 5
|
||||||
FIELD(3) = GRUPPO
|
FIELD(3) = GRUPPO
|
||||||
|
|
||||||
NAME(4) = CODICE CONTO
|
NAME(4) = CODICE CONTO
|
||||||
TYPE(4) = NUMERO
|
TYPE(4) = STRINGA
|
||||||
POSITION(4) = 17
|
POSITION(4) = 17
|
||||||
LENGTH(4) = 5
|
LENGTH(4) = 5
|
||||||
FIELD(4) = CONTO
|
FIELD(4) = CONTO
|
||||||
|
|
||||||
NAME(5) = CODICE SOTTOCONTO
|
NAME(5) = CODICE SOTTOCONTO
|
||||||
TYPE(5) = NUMERO
|
TYPE(5) = STRINGA
|
||||||
POSITION(5) = 22
|
POSITION(5) = 22
|
||||||
LENGTH(5) = 5
|
LENGTH(5) = 5
|
||||||
FIELD(5) = SOTTOCONTO
|
FIELD(5) = SOTTOCONTO
|
||||||
@ -262,10 +257,9 @@ LENGTH(6) = 1
|
|||||||
FIELD(6) = TIPOC
|
FIELD(6) = TIPOC
|
||||||
|
|
||||||
NAME(7) = CODICE CLIFOR
|
NAME(7) = CODICE CLIFOR
|
||||||
TYPE(7) = NUMERO
|
TYPE(7) = STRINGA
|
||||||
POSITION(7) = 28
|
POSITION(7) = 28
|
||||||
LENGTH(7) = 10
|
LENGTH(7) = 10
|
||||||
FIELD(7) = SOTTOCONTO
|
|
||||||
|
|
||||||
NAME(8) = DESCRIZIONE RIGA
|
NAME(8) = DESCRIZIONE RIGA
|
||||||
TYPE(8) = STRINGA
|
TYPE(8) = STRINGA
|
||||||
|
Loading…
x
Reference in New Issue
Block a user