Patch level : 10.0 NP PATCH

Files correlati     : pd0610
Ricompilazione Demo : [ ]
Commento            :
Compilati alcuni campi di testaya dietro richiesta di Roberto
Modificata la ricerca del prezzo: la ricerca va fatta prima sul contratto del fornitore e poi su listino e, eventualamente, anamag


git-svn-id: svn://10.65.10.50/branches/R_10_00@21282 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2010-12-10 14:55:49 +00:00
parent 8f4a636bd1
commit 566df0fab3

View File

@ -118,6 +118,10 @@ public:
void TOrdf_cache::discarding(const THash_object* obj) void TOrdf_cache::discarding(const THash_object* obj)
{ {
TDocumento& doc = (TDocumento&)obj->obj(); TDocumento& doc = (TDocumento&)obj->obj();
TRiga_documento& rdoc = doc[1];
doc.put(DOC_CODCMS, rdoc.get(RDOC_CODCMS));
doc.put(DOC_FASCMS, rdoc.get(RDOC_FASCMS));
doc.put(DOC_CODCOSTO, rdoc.get(RDOC_CODCOSTO));
int err = doc.rewrite(); int err = doc.rewrite();
} }
@ -132,11 +136,12 @@ TObject* TOrdf_cache::key2obj(const char* key)
const long codcf = tmp.get_long(0); const long codcf = tmp.get_long(0);
doc = new TDocumento('D', _anno, _codnum, 0); doc = new TDocumento('D', _anno, _codnum, 0);
doc->put(DOC_TIPODOC, _tipodoc); doc->put(DOC_TIPODOC, _tipodoc);
doc->put(DOC_STATO, _stato); doc->put(DOC_STATO, _stato);
doc->put(DOC_TIPOCF, 'F'); doc->put(DOC_TIPOCF, 'F');
doc->put(DOC_CODCF, codcf); doc->put(DOC_CODCF, codcf);
doc->put(DOC_DATADOC, _data); doc->put(DOC_DATADOC, _data);
doc->put(DOC_DATACONS, _data);
doc->cli2doc(); doc->cli2doc();
} }
@ -235,12 +240,12 @@ const real TCrea_ordini_srm_app::cerca_prezzo(const char* codart, const long cod
const TString8 catven = cfven.get(CFV_CATVEN); const TString8 catven = cfven.get(CFV_CATVEN);
key.cut(0); key.cut(0);
//gestione RCONDV //gestione RCONDV - Contratti
key.add('L'); //tipo key.add('C'); //tipo
key.add(catven); //categoria di vendita key.add(""); //categoria di vendita
key.add(""); //tipocf key.add('F'); //tipocf
key.add(""); //codcf key.add(codcf); //codcf
key.add(codlist); //codice listino key.add(1); //codice contratto
key.add('A'); //<A>rticolo key.add('A'); //<A>rticolo
key.add(codart); //codice articolo key.add(codart); //codice articolo
@ -248,8 +253,24 @@ const real TCrea_ordini_srm_app::cerca_prezzo(const char* codart, const long cod
if(prezzo == ZERO) if(prezzo == ZERO)
{ {
const TRectype& anamag = cache().get(LF_ANAMAG, codart); key.cut(0);
prezzo = anamag.get_real(ANAMAG_ULTCOS1); //gestione RCONDV - Listini
key.add('L'); //tipo
key.add(catven); //categoria di vendita
key.add(""); //tipocf
key.add(""); //codcf
key.add(codlist); //codice listino
key.add('A'); //<A>rticolo
key.add(codart); //codice articolo
const TRectype& rcondv = cache().get(LF_RCONDV, key);
prezzo = rcondv.get_real(RCONDV_PREZZO);
if(prezzo == ZERO)
{
const TRectype& anamag = cache().get(LF_ANAMAG, codart);
prezzo = anamag.get_real(ANAMAG_ULTCOS1);
}
} }
return prezzo; return prezzo;