Patch level : 10.0 NO PATCH
Files correlati : ps0610 Ricompilazione Demo : [ ] Commento : Miglioramento nella forma ma non nella sostanza git-svn-id: svn://10.65.10.50/branches/R_10_00@21258 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
915cbc1421
commit
d91e92921b
@ -209,6 +209,8 @@ protected:
|
||||
|
||||
const bool cerca_orf(TDoc_key& dadoc, const long daidriga, const long for1, const long for2, TDoc_key& ordf1, TDoc_key& ordf2);
|
||||
|
||||
void aggiorna_righe(TDocumento& ordf, const TDocumento& ordc, 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);
|
||||
void crea_ordf(const TDocumento& ordc, const long nriga, const long codfor, TOrdf_cache& ca);
|
||||
@ -288,10 +290,24 @@ const bool TCrea_ordini_srm_app::cerca_orf(TDoc_key& dadoc, const long daidriga,
|
||||
return trovato;
|
||||
}
|
||||
|
||||
//ORDINI_FORNITORE: metodo che genera effettivamente gli ordini fornitore
|
||||
//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)
|
||||
{
|
||||
ordf.copy_data(rordf, rordc);
|
||||
rordf.put(RDOC_PREZZO, cerca_prezzo(rordf.get(RDOC_CODART), ordf.get_long(DOC_CODCF)));
|
||||
rordf.put(RDOC_CODAGG1, 0);
|
||||
rordf.put(RDOC_CODAGG2, 0);
|
||||
rordf.put(RDOC_DAPROVV, ordc.get_char(DOC_PROVV));
|
||||
rordf.put(RDOC_DAANNO, ordc.get_int(DOC_ANNO));
|
||||
rordf.put(RDOC_DACODNUM, ordc.get(DOC_CODNUM));
|
||||
rordf.put(RDOC_DANDOC, ordc.get(DOC_NDOC));
|
||||
rordf.put(RDOC_DAIDRIGA, idrigac);
|
||||
}
|
||||
|
||||
//ORDINI_FORNITORE: genera effettivamente gli ordini fornitore
|
||||
void TCrea_ordini_srm_app::ordini_fornitore(const TDocumento& ordc, const int nriga, TDocumento& ordf)
|
||||
{
|
||||
const TRiga_documento rordc = ordc[nriga];
|
||||
TRiga_documento rordc = ordc[nriga];
|
||||
const int idrigac = rordc.get_int(RDOC_IDRIGA);
|
||||
|
||||
bool trovato = false;
|
||||
@ -304,30 +320,14 @@ void TCrea_ordini_srm_app::ordini_fornitore(const TDocumento& ordc, const int nr
|
||||
if(idrigac == rordf.get_int(RDOC_DAIDRIGA))
|
||||
{
|
||||
trovato = true;
|
||||
ordf.copy_data(rordf, rordc);
|
||||
rordf.put(RDOC_PREZZO, cerca_prezzo(rordf.get(RDOC_CODART), ordf.get_long(DOC_CODCF)));
|
||||
rordf.put(RDOC_CODAGG1, 0);
|
||||
rordf.put(RDOC_CODAGG2, 0);
|
||||
rordf.put(RDOC_DAPROVV, ordc.get_char(DOC_PROVV));
|
||||
rordf.put(RDOC_DAANNO, ordc.get_int(DOC_ANNO));
|
||||
rordf.put(RDOC_DACODNUM, ordc.get(DOC_CODNUM));
|
||||
rordf.put(RDOC_DANDOC, ordc.get(DOC_NDOC));
|
||||
rordf.put(RDOC_DAIDRIGA, idrigac);
|
||||
aggiorna_righe(ordf, ordc, rordc, rordf, idrigac);
|
||||
}
|
||||
}
|
||||
|
||||
if(! trovato)
|
||||
{
|
||||
TRiga_documento& rordf = ordf.new_row();
|
||||
ordf.copy_data(rordf, rordc);
|
||||
rordf.put(RDOC_PREZZO, cerca_prezzo(rordf.get(RDOC_CODART), ordf.get_long(DOC_CODCF)));
|
||||
rordf.put(RDOC_CODAGG1, 0);
|
||||
rordf.put(RDOC_CODAGG2, 0);
|
||||
rordf.put(RDOC_DAPROVV, ordc.get_char(DOC_PROVV));
|
||||
rordf.put(RDOC_DAANNO, ordc.get_int(DOC_ANNO));
|
||||
rordf.put(RDOC_DACODNUM, ordc.get(DOC_CODNUM));
|
||||
rordf.put(RDOC_DANDOC, ordc.get(DOC_NDOC));
|
||||
rordf.put(RDOC_DAIDRIGA, idrigac);
|
||||
aggiorna_righe(ordf, ordc, rordc, rordf, idrigac);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user