Patch level : 10.0 684

Files correlati     : CG1.EXE CG3.EXE
Ricompilazione Demo : [ ]
Commento            :

Bug 0001590: Tabella IV direttiva CEE
Aggiungere un ulteriore livello al codice della tabella IV direttiva per permettere l'inserimento delle lettre alfabetiche


git-svn-id: svn://10.65.10.50/trunk@20271 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-03-24 15:33:50 +00:00
parent d7e72d7125
commit 9cf96bbcc5
5 changed files with 62 additions and 89 deletions

View File

@ -16,6 +16,7 @@
#include "cg1.h"
#include "cg1100.h"
#include "cglib01.h"
const char * TAB_IVD = "%IVD";
@ -104,43 +105,6 @@ public:
CG1100_application() : _clivd(8), _clivdo(8), _d1("", 30), _d2("", 32), _d3("", 40), _d4("",32) {}
};
const char * num2str(const TString & s)
{
TString & str = get_tmp_string(20);
str = s;
str.trim();
if (str.len() > 2)
{
str = s.left(2);
const int sub = atoi(s.mid(2));
switch (sub)
{
case 0:
case 1:
break;
case 2:
str << "bis";
break;
case 3:
str << "ter";
break;
case 4:
str << "quater";
break;
case 5:
str << "quinquies";
break;
case 6:
str << "sexies";
break;
default:
break;
}
}
return (const char *) str;
}
bool CG1100_application::process_link(int id, const char* txt)
{
TToken_string str(txt);
@ -161,7 +125,7 @@ void CG1100_application::init_sort()
_sort -> addsortkey ((char*)&(_bil->sez) - (char*)&(_bil->sez),1);
_sort -> addsortkey ((char*)&(_bil->let) - (char*)&(_bil->sez),1);
_sort -> addsortkey ((char*)&(_bil->numr) - (char*)&(_bil->sez),4);
_sort -> addsortkey ((char*)&(_bil->num) - (char*)&(_bil->sez),4);
_sort -> addsortkey ((char*)&(_bil->num) - (char*)&(_bil->sez),6);
_sort -> addsortkey ((char*)&(_bil->gruppo) - (char*)&(_bil->sez),3);
_sort -> addsortkey ((char*)&(_bil->conto) - (char*)&(_bil->sez),3);
_sort -> addsortkey ((char*)&(_bil->sottoc) - (char*)&(_bil->sez),6);

View File

@ -22,7 +22,6 @@
#include "cglib01.h"
#include "cglib02.h"
extern const char * num2str(const TString & s);
class TRiga_sez_opp : public TObject
{
@ -140,7 +139,7 @@ class TStampa_IVdirettiva : public TPrintapp
char sez;
char let;
char numr[5];
char num[5];
char num[7];
char gruppo[4];
char conto[4];
char sottoc[8];
@ -312,7 +311,7 @@ void TStampa_IVdirettiva::set_bil_key(bil_ivd* b, char sezione, char lettera,
b->let = (conti_ordine && lettera == '\0' && sezione < '3') ? 'Z' : lettera;
strcpy(b->numr, numero_romano);
sprintf(b->num , "%4s", numero);
sprintf(b->num , "%-6s", numero);
if (gruppo < 0)
{
strcpy(b->gruppo, "ZZZ");
@ -1010,6 +1009,8 @@ void TStampa_IVdirettiva::crea_sort_piano_conti_scalare()
numerorom = pconti.get(PCN_NUMRIVD);
numero = pconti.get(PCN_NUMIVD);
if (numero.full())
int i = 1;
saldo = ZERO;
saldo_raf = ZERO;
@ -2176,7 +2177,7 @@ void TStampa_IVdirettiva::stampa_totali()
const char* diff_prod = "9B";
TString16 classe;
classe.format("%c%c%8s%2s", _sez_da_stamp,_let_da_stamp,(const char*)_numr_da_stamp,(const char*)_num_da_stamp);
classe.format("%c%c%8s%s", _sez_da_stamp,_let_da_stamp,(const char*)_numr_da_stamp,(const char*)_num_da_stamp);
_num = _num_tot;
_numr = _numr_tot;
@ -2251,7 +2252,7 @@ void TStampa_IVdirettiva::stampa_totali()
{
TString16 classe;
classe.format("%c%c%8s%2s",_sez_stamp,_let_stamp,(const char*)_numr_stamp,(const char*)_num_stamp);
classe.format("%c%c%8s%s",_sez_stamp,_let_stamp,(const char*)_numr_stamp,(const char*)_num_stamp);
if (_cont_gcs != 0)
{
@ -2591,7 +2592,7 @@ void TStampa_IVdirettiva::stampa_totali_con_raffronto()
const char* const diff_prod = "9B";
TString16 classe;
classe.format("%c%c%8s%2s", _sez_da_stamp,_let_da_stamp,(const char*)_numr_da_stamp,(const char*)_num_da_stamp);
classe.format("%c%c%8s%s", _sez_da_stamp,_let_da_stamp,(const char*)_numr_da_stamp,(const char*)_num_da_stamp);
_num = _num_tot;
_numr = _numr_tot;
@ -2672,7 +2673,7 @@ void TStampa_IVdirettiva::stampa_totali_con_raffronto()
{
TString16 classe;
classe.format("%c%c%8s%2s",_sez_stamp,_let_stamp,(const char*)_numr_stamp,(const char*)_num_stamp);
classe.format("%c%c%8s%s",_sez_stamp,_let_stamp,(const char*)_numr_stamp,(const char*)_num_stamp);
if (_cont_gcs != 0)
{
@ -3125,7 +3126,7 @@ void TStampa_IVdirettiva::stampa_totali_verifica()
{
TString16 classe;
classe.format("%c%c%8s%2s", _sez_da_stamp,_let_da_stamp,(const char*)_numr_da_stamp,(const char*)_num_da_stamp);
classe.format("%c%c%8s%s", _sez_da_stamp,_let_da_stamp,(const char*)_numr_da_stamp,(const char*)_num_da_stamp);
if (classe > ris_imp && _risimp_fatto)
{
@ -3507,7 +3508,7 @@ bool TStampa_IVdirettiva::preprocess_stampa_scalare(int counter)
}
else
{
_classe_stampata.format("%c%c%8s%2s",bil->sez,bil->let,bil->numr,bil->num);
_classe_stampata.format("%c%c%8s%s",bil->sez,bil->let,bil->numr,bil->num);
_sez_stamp = bil->sez;
_let_stamp = bil->let;
_numr_stamp = bil->numr;
@ -3539,7 +3540,7 @@ bool TStampa_IVdirettiva::preprocess_stampa_scalare(int counter)
if (_buff != NULL)
{
bil = (struct bil_ivd*) _buff;
_classe_da_stampare.format("%c%c%8s%2s",bil->sez,bil->let,bil->numr,bil->num);
_classe_da_stampare.format("%c%c%8s%s",bil->sez,bil->let,bil->numr,bil->num);
_sez_da_stamp = bil->sez;
_let_da_stamp = bil->let;
_numr_da_stamp = bil->numr;
@ -3727,7 +3728,7 @@ bool TStampa_IVdirettiva::preprocess_stampa_verifica(int counter)
}
else
{
_classe_stampata = format ("%c%c%8s%2s",bil->sez,bil->let,bil->numr,bil->num);
_classe_stampata = format ("%c%c%8s%s",bil->sez,bil->let,bil->numr,bil->num);
_sez_stamp = bil->sez;
_let_stamp = bil->let;
_numr_stamp = bil->numr;
@ -3780,7 +3781,7 @@ bool TStampa_IVdirettiva::preprocess_stampa_verifica(int counter)
if (_buff != NULL)
{
bil = (struct bil_ivd*) _buff;
_classe_da_stampare = format ("%c%c%8s%2s",bil->sez,bil->let,bil->numr,bil->num);
_classe_da_stampare = format ("%c%c%8s%s",bil->sez,bil->let,bil->numr,bil->num);
_sez_da_stamp = bil->sez;
_let_da_stamp = bil->let;
_numr_da_stamp = bil->numr;
@ -4671,7 +4672,7 @@ void TStampa_IVdirettiva::init_sort()
_sort -> addsortkey ((char*)&(_bil->sez) - (char*)&(_bil->sez),1);
_sort -> addsortkey ((char*)&(_bil->let) - (char*)&(_bil->sez),1);
_sort -> addsortkey ((char*)&(_bil->numr) - (char*)&(_bil->sez),4);
_sort -> addsortkey ((char*)&(_bil->num) - (char*)&(_bil->sez),4);
_sort -> addsortkey ((char*)&(_bil->num) - (char*)&(_bil->sez),6);
_sort -> addsortkey ((char*)&(_bil->gruppo) - (char*)&(_bil->sez),3);
_sort -> addsortkey ((char*)&(_bil->conto) - (char*)&(_bil->sez),3);
_sort -> addsortkey ((char*)&(_bil->sottoc) - (char*)&(_bil->sez),6);

View File

@ -17,6 +17,7 @@
#include <causali.h>
#include <nditte.h>
#include <unloc.h>
#include <cglib01.h>
class TMastrini_record : public TRectype
{
@ -32,43 +33,6 @@ public:
virtual ~TMastrini_record() { }
};
const char * num2str(const TString & s)
{
TString & str = get_tmp_string(20);
str = s;
str.trim();
if (str.len() > 2)
{
str = s.left(2);
const int sub = atoi(s.mid(2));
switch (sub)
{
case 0:
case 1:
break;
case 2:
str << " bis";
break;
case 3:
str << " ter";
break;
case 4:
str << " quater";
break;
case 5:
str << " quinquies";
break;
case 6:
str << " sexies";
break;
default:
break;
}
}
return (const char *) str;
}
const TString& TMastrini_record::get_str(const char* fieldname) const
{
if (strcmp(fieldname, RMV_DESCR) == 0)

View File

@ -1120,4 +1120,46 @@ bool TBill::is_analitico() const
return true;
}
return false;
}
}
const char * num2str(const TString & s)
{
TString & str = get_tmp_string(20);
str = s;
str.trim();
if (str.len() > 2)
{
str = s.left(2);
const int sub = atoi(s.mid(2, 2));
const TString4 sotsub(s.mid(4));
switch (sub)
{
case 0:
case 1:
break;
case 2:
str << " bis";
break;
case 3:
str << " ter";
break;
case 4:
str << " quater";
break;
case 5:
str << " quinquies";
break;
case 6:
str << " sexies";
break;
default:
break;
}
if (sotsub.full())
str << " " << sotsub;
}
return (const char *) str;
}

View File

@ -247,4 +247,6 @@ public:
enum TIndbil { ib_null, ib_attivita, ib_passivita, ib_costi, ib_ricavi, ib_conti_ordine };
const char * num2str(const TString & s);
#endif