Patch level :2.2 306

Files correlati     :ve0.exe
Ricompilazione Demo : [ ]
Commento            :tenuto conto dell'anno nelle causali nella elaborazione analitica


git-svn-id: svn://10.65.10.50/trunk@13693 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2006-01-12 19:04:18 +00:00
parent 535e65326a
commit adf31aa4e4

View File

@ -24,17 +24,20 @@ public:
TObject* TCache_causali::key2obj(const char* key)
{
return new TCausale(key);
TToken_string k = key;
const int year = k.get_int(1);
return new TCausale(k.get(0), year);
}
const TCausale& TCache_causali::causale(const TDocumento& doc)
{
// Cerca il codice causale sul cliente
const char* const fld = doc.is_nota_credito() ? CFV_CODCAUSNC : CFV_CODCAUS;
TToken_string key;
key.add(doc.get(DOC_TIPOCF));
key.add(doc.get(DOC_CODCF));
const TRectype& cfven = cache().get(LF_CFVEN, key);
const char* fld = doc.is_nota_credito() ? CFV_CODCAUSNC : CFV_CODCAUS;
TString4 codcaus = cfven.get(fld);
// Se non lo trova guarda sul tipo documento
@ -44,8 +47,12 @@ const TCausale& TCache_causali::causale(const TDocumento& doc)
codcaus = tipo.causale();
}
//Assegna l'anno della causale
const int year = doc.get_date(DOC_DATADOC).year();
TString16 chiave;
chiave.format("%4s|%4d", codcaus, year);
// Trasforma il codice in causale vera e propria
return (const TCausale&)*objptr(codcaus);
return (const TCausale&)*objptr(chiave);
}