From d91e92921b32e69c3f78da5a5e6229f3c7887593 Mon Sep 17 00:00:00 2001 From: luca83 Date: Tue, 7 Dec 2010 15:31:26 +0000 Subject: [PATCH] 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 --- ps/pd0610200.cpp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/ps/pd0610200.cpp b/ps/pd0610200.cpp index 8ea5518c9..ff6688edc 100755 --- a/ps/pd0610200.cpp +++ b/ps/pd0610200.cpp @@ -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); } }