diff --git a/sv/sv1200.cpp b/sv/sv1200.cpp index 6e8e31a5a..6cf829c01 100755 --- a/sv/sv1200.cpp +++ b/sv/sv1200.cpp @@ -63,9 +63,9 @@ #define LARG_COLCODICE 49 #define POS_PRIMACOL 51 #define PICTURE_VALORI "#.###.###.##@" -#define LARG_COLVAL 13 +#define LARG_COLVAL 14 #define PICTURE_QUANTITA "#.###.##@,@##" -#define LARG_COLQTA 13 +#define LARG_COLQTA 14 #define PICTURE_PERCENT "###@,@" #define LARG_COLPERC 8 @@ -1968,6 +1968,8 @@ void TStampa_stat::genera_file(const char *outfn) levcode=s_chiave.cell(l,s_chiave.cid2index(S_CAMPO)); fld=s_chiave.cell(l,s_chiave.cid2index(S_ARTFLD)); key << get_part(levcode,curr, fld); + if (key.len() > 79) + int i = 1; // setta il range in base all'algoritmo (Valori/progressivi/mobili) const int range=(alg==ALG_VALORI ? col : alg==ALG_PROGRESSIVI ? ((1+int(col/_col_anno))*_col_anno-1) : (col+_col_anno-1)); if (col>=first_col) // periodo da osservare @@ -2171,6 +2173,7 @@ const TString& TStampa_stat::get_part(TString & lev_code, TSVriep_record &riepre if (t == RIGA_MERCE || t == RIGA_OMAGGI) { park = cache().get(LF_ANAMAG, rieprec.get(SVR_CODART), fld); + park.cut(l); park.rpad(l); } else @@ -2197,12 +2200,14 @@ const TString& TStampa_stat::get_part(TString & lev_code, TSVriep_record &riepre TString8 key; key.format("%c|%ld", rieprec.get_char(SVR_TIPOCF),rieprec.get_long(SVR_CODCF)); - park = cache().get(LF_CLIFO, key, fld); const TRectype clifo(LF_CLIFO); - int l = clifo.length(fld); + if (l > 40) - park.rpad(40); + l = 40; + park = cache().get(LF_CLIFO, key, fld); + park.cut(l); + park.rpad(l); } break; case CHR_AGENTE: // agente