Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Creazione ordini fornitore SRM git-svn-id: svn://10.65.10.50/branches/R_10_00@21395 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
58fc178f85
commit
df65bcc048
@ -141,6 +141,19 @@ TObject* TOrdf_cache::key2obj(const char* key)
|
||||
doc->put(DOC_CODCF, codcf);
|
||||
doc->put(DOC_DATADOC, _data);
|
||||
doc->put(DOC_DATACONS, _data);
|
||||
|
||||
TToken_string keyc;
|
||||
|
||||
//gestione CONDV - Contratti
|
||||
keyc.add('C'); //tipo
|
||||
keyc.add(""); //categoria di vendita
|
||||
keyc.add('F'); //tipocf
|
||||
keyc.add(codcf); //codcf
|
||||
keyc.add("001"); //codice contratto
|
||||
|
||||
const TRectype & contr = cache().get(LF_CONDV, keyc);
|
||||
if (!contr.empty())
|
||||
doc->put(DOC_CODCONT, "001");
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -207,9 +220,9 @@ protected:
|
||||
|
||||
virtual void main_loop();
|
||||
|
||||
const real cerca_prezzo(const char* codart, const long codcf);
|
||||
const real cerca_prezzo(const char* codart, const TDocumento & ordf);
|
||||
const bool cerca_orf(TDoc_key& dadoc, const long daidriga, const long codfor, TDoc_key& ordf);
|
||||
void aggiorna_righe(TDocumento& ordf, const TDocumento& ordc, TRiga_documento& rordc, TRiga_documento& rordf, int idrigac);
|
||||
void aggiorna_righe(TDocumento& ordf, const TDocumento& ordc, const TRiga_documento& rordc, TRiga_documento& rordf, int idrigac);
|
||||
|
||||
void ordini_fornitore(const TDocumento& ordc, const int nriga, TDocumento& ordf);
|
||||
void aggiorna_ordf(const TDocumento& ordc, const int nriga, const TDoc_key& adoc, TOrdf_cache& ca);
|
||||
@ -224,24 +237,16 @@ public:
|
||||
};
|
||||
|
||||
//CERCA_PREZZO: cerco il prezzo di un articolo per un dato fornitore
|
||||
const real TCrea_ordini_srm_app::cerca_prezzo(const char* codart, const long codcf)
|
||||
const real TCrea_ordini_srm_app::cerca_prezzo(const char* codart, const TDocumento & ordf)
|
||||
{
|
||||
TToken_string key;
|
||||
|
||||
//gestione CFVEN
|
||||
key.add('F'); //tipocf
|
||||
key.add(codcf); //codcf
|
||||
const TRectype& cfven = cache().get(LF_CFVEN, key);
|
||||
const TString8 codlist = cfven.get(CFV_CODLIST);
|
||||
const TString8 catven = cfven.get(CFV_CATVEN);
|
||||
|
||||
key.cut(0);
|
||||
//gestione RCONDV - Contratti
|
||||
key.add('C'); //tipo
|
||||
key.add(""); //categoria di vendita
|
||||
key.add('F'); //tipocf
|
||||
key.add(codcf); //codcf
|
||||
key.add(1); //codice contratto
|
||||
key.add(ordf.get(DOC_CODCF)); //codcf
|
||||
key.add("001"); //codice contratto
|
||||
key.add('A'); //<A>rticolo
|
||||
key.add(codart); //codice articolo
|
||||
|
||||
@ -252,10 +257,10 @@ const real TCrea_ordini_srm_app::cerca_prezzo(const char* codart, const long cod
|
||||
key.cut(0);
|
||||
//gestione RCONDV - Listini
|
||||
key.add('L'); //tipo
|
||||
key.add(catven); //categoria di vendita
|
||||
key.add(ordf.get(DOC_CATVEN)); //categoria di vendita
|
||||
key.add(""); //tipocf
|
||||
key.add(""); //codcf
|
||||
key.add(codlist); //codice listino
|
||||
key.add(ordf.get(DOC_CODLIST)); //codice listino
|
||||
key.add('A'); //<A>rticolo
|
||||
key.add(codart); //codice articolo
|
||||
|
||||
@ -269,6 +274,7 @@ const real TCrea_ordini_srm_app::cerca_prezzo(const char* codart, const long cod
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return prezzo;
|
||||
}
|
||||
|
||||
@ -308,10 +314,10 @@ const bool TCrea_ordini_srm_app::cerca_orf(TDoc_key& dadoc, const long daidriga,
|
||||
}
|
||||
|
||||
//AGGIORNA_RIGHE: riempie le righe dell'ordine fornitore con i dati corretti
|
||||
void TCrea_ordini_srm_app::aggiorna_righe(TDocumento& ordf, const TDocumento& ordc, TRiga_documento& rordc, TRiga_documento& rordf, int idrigac)
|
||||
void TCrea_ordini_srm_app::aggiorna_righe(TDocumento& ordf, const TDocumento& ordc, const TRiga_documento& rordc, TRiga_documento& rordf, int idrigac)
|
||||
{
|
||||
ordf.copy_data(rordf, rordc);
|
||||
rordf.put(RDOC_PREZZO, cerca_prezzo(rordf.get(RDOC_CODART), ordf.get_long(DOC_CODCF)).string());
|
||||
rordf.put(RDOC_PREZZO, cerca_prezzo(rordf.get(RDOC_CODART), ordf));
|
||||
rordf.zero(RDOC_CODAGG1);
|
||||
rordf.zero(RDOC_CODAGG2);
|
||||
rordf.zero(RDOC_PERCPROV);
|
||||
@ -327,7 +333,7 @@ void TCrea_ordini_srm_app::aggiorna_righe(TDocumento& ordf, const TDocumento& or
|
||||
//ORDINI_FORNITORE: genera effettivamente gli ordini fornitore
|
||||
void TCrea_ordini_srm_app::ordini_fornitore(const TDocumento& ordc, const int nriga, TDocumento& ordf)
|
||||
{
|
||||
TRiga_documento rordc = ordc[nriga];
|
||||
const TRiga_documento & rordc = ordc[nriga];
|
||||
const int idrigac = rordc.get_int(RDOC_IDRIGA);
|
||||
|
||||
bool trovato = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user