From 6713a67375e3aef08ae434f4b821207b4c6490b9 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 10 Mar 2009 14:32:50 +0000 Subject: [PATCH] Patch level : 10.0 256 Files correlati : pr0.exe Ricompilazione Demo : [ ] Commento : Gestione del secondo agente nei documenti git-svn-id: svn://10.65.10.50/trunk@18478 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- pr/pr0700.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/pr/pr0700.cpp b/pr/pr0700.cpp index fb8efac88..3dcc0340e 100755 --- a/pr/pr0700.cpp +++ b/pr/pr0700.cpp @@ -71,22 +71,27 @@ bool TGestione_provv_app::calcola_rate_handler(TMask_field& f, KEY key) const long numdoc = m.get_long(F_NDOC); const TString& codnum = m.get(F_CODNUM); const int err = doc.read('D', anno, (const char*) codnum, numdoc); - + if (err == NOERR) { - m.set(F_DATADOC, doc.data()); + const TString8 agente = app()._msk->get(F_CODAGE); + const bool first = agente == doc.get(DOC_CODAG); + + m.set(F_DATADOC, doc.data()); m.set(F_CLIENTE, doc.codcf()); m.set(F_CODVAL,doc.valuta()); m.set(F_CAMBIO,doc.cambio()); m.set(F_DATACAMBIO,doc.get_date(DOC_DATACAMBIO)); m.set(F_IMPDOC,doc.totale_doc()); - m.set(F_IMPPRDOC,doc.provvigione()); + m.set(F_IMPPRDOC,doc.provvigione(first)); m.set(F_IMPNETDOC, doc.totale_netto()); // Adesso calcoliamo la provvigione all'atto della fatturazione da inserire // nella rata 0. Il residuo va ripartito nelle rate del documento - TProvvigioni_agente& pra = doc.calc_provvigioni(FALSE); // Non settare il flag di generata dal documento! - - // Adesso genera le righe da mettere nello spreadsheet. Quando si uscira' dalla riga + TProvvigioni_agente pra; + + doc.calc_provvigione(pra, agente, first, false); // Non settare il flag di generata dal documento! + + // Adesso genera le righe da mettere nello spreadsheet. Quando si uscira' dalla riga // attuale verra' chiamata la doc_sheet_notify() con K_ENTER, che memorizza il tutto // gestendo automaticamente la eventuale modifica di un documento gia' presente o meno.