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;
|
||||
real calcola_pagamento(TRectype& curpag_rec);
|
||||
bool sottrai_iva(TMovimentoPN& pn, const TRectype& rigaiva);
|
||||
void stringa_grcosot(TRecord_text& recrighe, const TString& zio);
|
||||
|
||||
public:
|
||||
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();
|
||||
}
|
||||
/* else if (code == "_GRUPPO")
|
||||
{
|
||||
const int gruppo = atoi(rec.get(3));
|
||||
valore = gruppo;
|
||||
}*/
|
||||
|
||||
else NFCHECK("Macro non definita: %s", (const char *)code);
|
||||
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..
|
||||
//..duplicate se non lo facesse!!!)
|
||||
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'!)
|
||||
trasfilerighe->write(recrighe);
|
||||
}
|
||||
@ -543,13 +554,27 @@ bool TInvioP::i_proforma_righe(TCursor& cur, TInvioP_file* trasfilerighe)
|
||||
recrighe.add(workstring, 1); //rigaiva
|
||||
TImporto& imp = conti_importi.importo(i);
|
||||
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);
|
||||
recrighe.add(zio.left(3), 3); //gruppo
|
||||
recrighe.add(zio.mid(3,3), 4); //conto
|
||||
recrighe.add(zio.mid(6,6), 5); //sottoconto
|
||||
recrighe.add(pn.curr().get(MOV_TIPO), 6); //tipocf
|
||||
recrighe.add(pn.curr().get(MOV_CODCF), 7); //codcf
|
||||
stringa_grcosot(recrighe, zio);
|
||||
|
||||
const TString tipocf = pn.curr().get(MOV_TIPO);
|
||||
recrighe.add(tipocf, 6); //tipocf
|
||||
|
||||
//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(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'..
|
||||
//..che la rigaiva appena completata
|
||||
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_CODCMS), 13); //commessa presa dalla riga analitica corrente
|
||||
trasfilerighe->write(recrigheiva);
|
||||
@ -676,6 +711,7 @@ bool TInvioP::i_proforma_righe(TCursor& cur, TInvioP_file* trasfilerighe)
|
||||
const TBill uncle(riga);
|
||||
cur_rmoviva.curr() = riga;
|
||||
trasfilerighe->autoload(recrigheiva, cur_rmoviva);
|
||||
recrigheiva.add(uncle.tipo(), 6); //tipocf
|
||||
recrigheiva.add(uncle.descrizione().left(40), 8); //descrizione della riga iva = descrizione conto
|
||||
trasfilerighe->write(recrigheiva);
|
||||
}
|
||||
@ -743,6 +779,24 @@ bool TInvioP::sottrai_iva(TMovimentoPN& pn, const TRectype& rigaiva)
|
||||
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
|
||||
// ritenute sociali sulla causale
|
||||
real TInvioP::totale_documento(const TRectype& mov) const
|
||||
|
@ -157,34 +157,29 @@ LENGTH(2) = 1
|
||||
FIELD(2) = SEZIONE
|
||||
|
||||
NAME(3) = CODICE MASTRO
|
||||
TYPE(3) = NUMERO
|
||||
TYPE(3) = STRINGA
|
||||
POSITION(3) = 12
|
||||
LENGTH(3) = 5
|
||||
FIELD(3) = CODCONTO[1,3]
|
||||
|
||||
NAME(4) = CODICE CONTO
|
||||
TYPE(4) = NUMERO
|
||||
TYPE(4) = STRINGA
|
||||
POSITION(4) = 17
|
||||
LENGTH(4) = 5
|
||||
FIELD(4) = CODCONTO[4,6]
|
||||
|
||||
NAME(5) = CODICE SOTTOCONTO
|
||||
TYPE(5) = NUMERO
|
||||
TYPE(5) = STRINGA
|
||||
POSITION(5) = 22
|
||||
LENGTH(5) = 5
|
||||
FIELD(5) = CODCONTO[7,12]
|
||||
|
||||
NAME(6) = FLAG CLIFOR
|
||||
TYPE(6) = STRINGA
|
||||
POSITION(6) = 27
|
||||
LENGTH(6) = 1
|
||||
//MESSAGE(6) = _TIPOCF
|
||||
|
||||
NAME(7) = CODICE CLIFOR
|
||||
TYPE(7) = NUMERO
|
||||
TYPE(7) = STRINGA
|
||||
POSITION(7) = 28
|
||||
LENGTH(7) = 10
|
||||
FIELD(7) = CODCONTO[7,12]
|
||||
|
||||
NAME(8) = DESCRIZIONE RIGA
|
||||
TYPE(8) = STRINGA
|
||||
@ -238,19 +233,19 @@ LENGTH(1) = 1
|
||||
MESSAGE(1) = _FISSO,!S
|
||||
|
||||
NAME(3) = CODICE MASTRO
|
||||
TYPE(3) = NUMERO
|
||||
TYPE(3) = STRINGA
|
||||
POSITION(3) = 12
|
||||
LENGTH(3) = 5
|
||||
FIELD(3) = GRUPPO
|
||||
|
||||
NAME(4) = CODICE CONTO
|
||||
TYPE(4) = NUMERO
|
||||
TYPE(4) = STRINGA
|
||||
POSITION(4) = 17
|
||||
LENGTH(4) = 5
|
||||
FIELD(4) = CONTO
|
||||
|
||||
NAME(5) = CODICE SOTTOCONTO
|
||||
TYPE(5) = NUMERO
|
||||
TYPE(5) = STRINGA
|
||||
POSITION(5) = 22
|
||||
LENGTH(5) = 5
|
||||
FIELD(5) = SOTTOCONTO
|
||||
@ -262,10 +257,9 @@ LENGTH(6) = 1
|
||||
FIELD(6) = TIPOC
|
||||
|
||||
NAME(7) = CODICE CLIFOR
|
||||
TYPE(7) = NUMERO
|
||||
TYPE(7) = STRINGA
|
||||
POSITION(7) = 28
|
||||
LENGTH(7) = 10
|
||||
FIELD(7) = SOTTOCONTO
|
||||
|
||||
NAME(8) = DESCRIZIONE RIGA
|
||||
TYPE(8) = STRINGA
|
||||
|
Loading…
x
Reference in New Issue
Block a user