From fb4dd2eac487d0b94c2c01feb5fdf3442a60f5e1 Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 18 Feb 2009 00:11:51 +0000 Subject: [PATCH] Patch level : 10.0 226 Files correlati : 770.exe Ricompilazione Demo : [ ] Commento : Aggiunto il numero movimento al collegamento contabile per le fatture git-svn-id: svn://10.65.10.50/trunk@18290 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- m770/770100.cpp | 59 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 15 deletions(-) diff --git a/m770/770100.cpp b/m770/770100.cpp index e08e0a84a..808ebe816 100755 --- a/m770/770100.cpp +++ b/m770/770100.cpp @@ -183,7 +183,6 @@ bool TSchedaPercipienti::setta_nprog(TMask& m, const bool variazione, const char // istanza e inizializza chiave file schede TLocalisamfile scperc(LF_SCPERC); - scperc.zero(); scperc.put("CODDITTA", codditta); scperc.put("TIPOA", tipoa); scperc.put("CODANAGR", codanagr); @@ -194,23 +193,51 @@ bool TSchedaPercipienti::setta_nprog(TMask& m, const bool variazione, const char // cerca ultimo progressivo usato // e per tipo collegamento variazione // individuo eventuale scheda coincidente - bool trovato = FALSE; - for (scperc.read(_isgteq); scperc.good() && scperc.curr() == rec && !trovato; scperc.next()) - { - nprog = scperc.get_long("NPROG"); - if (variazione) - { - TString16 numdoc,datadoc; - numdoc = scperc.get("NUMDOC"); - numdoc.trim(); - datadoc = scperc.get("DATADOC"); - trovato = ((numdoc == app()._coll._numdoc) && (datadoc == app()._coll._datadoc)); - } - } + bool trovato = false; + const long numreg = app().coll_numreg(); + if (numreg > 0L) + { + scperc.setkey(3); + scperc.put(SPR_CODDITTA, prefix().get_codditta()); + scperc.put(SPR_NUMREG, numreg); + + if (scperc.read(_isgteq) == NOERR && scperc.get_long(SPR_NUMREG) == numreg) + { + m.set(F_NPROG, scperc.get_int(SPR_NPROG)); + trovato = true; + } + } + if (!trovato) + { + scperc.put("CODDITTA", codditta); + scperc.put("TIPOA", tipoa); + scperc.put("CODANAGR", codanagr); + + // istanza record di confronto + TRectype rec(scperc.curr()); + + // cerca ultimo progressivo usato + // e per tipo collegamento variazione + // individuo eventuale scheda coincidente + bool trovato = FALSE; + for (scperc.read(_isgteq); scperc.good() && scperc.curr() == rec && !trovato; scperc.next()) + { + nprog = scperc.get_long("NPROG"); + if (variazione) + { + TString16 numdoc,datadoc; + numdoc = scperc.get("NUMDOC"); + numdoc.trim(); + datadoc = scperc.get("DATADOC"); + trovato = ((numdoc == app()._coll._numdoc) && (datadoc == app()._coll._datadoc)); + } + } + m.set(F_NPROG, nprog + 1); + } m.set(F_NPROG, trovato ? nprog : nprog+1); - return variazione ? trovato : TRUE; + return variazione ? trovato : TRUEtrue; } bool TSchedaPercipienti::codditta_handler(TMask_field& f, KEY k) @@ -613,6 +640,8 @@ void TSchedaPercipienti::compila_testata(TMask& m) m.set(F_IVA, _coll._imposte.string()); m.set(F_SPESE, _coll._spese.string()); m.set(F_COMPENS, _coll._compenso.string()); + m.set(F_NUMREG, _coll._numreg); + switch (tipo_coll()) {