Patch level :10.0 474

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
0001481: 001752 - conversione dati S.Maria degli Angeli
Descrizione  La conversione dei dati riporta in alcuni casi la commessa errata.
i dati per riprovare la conversione alla versione 3.2 sono in ftp:\\www.aga.it\ilaria\orsoline ditta 839. Esempo registrazione n. 44956 il conto è 3.36.1.

Dopo la conversione la commessa diventa materna, dovrebbe essere media.


git-svn-id: svn://10.65.10.50/trunk@19458 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-10-16 09:51:42 +00:00
parent 679c1ca544
commit 129f36ffa2
3 changed files with 41 additions and 7 deletions

View File

@ -1,4 +1,6 @@
#include <dongle.h>
#include <execp.h>
#include <modaut.h>
#include <progind.h>
#include <recset.h>
@ -39,13 +41,35 @@ protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TConversione_anal_msk() : TAutomask("cacnva") {}
TConversione_anal_msk();
};
TConversione_anal_msk::TConversione_anal_msk()
: TAutomask("cacnva")
{
}
bool TConversione_anal_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case F_MOVIMENTI:
//solo se la chiave ha l'analitica si può vedere il bUleano per le ripartizioni
//chi ha CM non può ripartire
if (e == fe_modify)
{
if (o.get() == "X")
{
if(dongle().active(CAAUT))
show(F_RIPARTISCI);
}
else
{
hide(F_RIPARTISCI);
reset(F_RIPARTISCI);
}
}
break;
case F_TABELLE:
//al caricamento della maschera, se il file delle commesse analitiche (LF_COMMESSE) è vuoto, prespunta il flag..
//..e impedisce il trasferimento definitivo dei movimenti, che si troverebbero ad avere delle commesse sulle righe..
@ -120,7 +144,7 @@ protected:
virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM
virtual void main_loop();
void create_new_movana(long numreg_cg, bool definitiva, TAssoc_array& cg_lines_to_anal);
void create_new_movana(long numreg_cg, bool definitiva, TAssoc_array& cg_lines_to_anal, TConversione_anal_msk& mask);
bool test_configuration();
void ripartisci(TRectype& recpcon);
void check_phase(const TRectype& analriga);
@ -425,7 +449,8 @@ void TConversione_cm2ca::set_caus_anal(const TString& codcaus) const
}
}
void TConversione_cm2ca::create_new_movana(long numreg_cg, bool definitiva, TAssoc_array& cg_lines_to_anal)
void TConversione_cm2ca::create_new_movana(long numreg_cg, bool definitiva, TAssoc_array& cg_lines_to_anal,
TConversione_anal_msk& mask)
{
TLocalisamfile f(LF_MOVANA);
TAnal_mov analmov; //testata movimento analitico
@ -524,7 +549,9 @@ void TConversione_cm2ca::create_new_movana(long numreg_cg, bool definitiva, TAss
const int righe_ripartizione = rrip.rows();
const bool ripartisci = righe_ripartizione > 0;
if (ripartisci) //ci sono righe ripartizione: da 1 riga mov CG a N righe mov CA
//ci sono righe ripartizione: da 1 riga mov CG a N righe mov CA
//ovviamente deve essere stato scelto il ripartisci nella maschera
if (ripartisci && mask.get_bool(F_RIPARTISCI))
{
// Importo totale da distribuire arrotondato ai decimali della valuta di conto
TGeneric_distrib distrib(importo.valore(), TCurrency::get_firm_dec());
@ -793,7 +820,7 @@ bool TConversione_cm2ca::convert_movs(TConversione_anal_msk& mask)
if (curr_numreg_cg != last_numreg_cg)
{
//se il numreg di questa riga e' nuovo -> crea un nuovo movimento di analitica (testata)
create_new_movana(curr_numreg_cg, definitiva, cg_lines_to_anal);
create_new_movana(curr_numreg_cg, definitiva, cg_lines_to_anal, mask);
last_numreg_cg = curr_numreg_cg;
}
}

View File

@ -4,3 +4,4 @@
#define F_TIPOCONV 103
#define F_DATAINI 104
#define F_DATAFIN 105
#define F_RIPARTISCI 106

View File

@ -23,7 +23,7 @@ BEGIN
MESSAGE TRUE SHOW,1@
END
GROUPBOX DLG_NULL 78 7
GROUPBOX DLG_NULL 78 8
BEGIN
PROMPT 1 6 "@bConversione movimenti"
GROUP 1
@ -51,7 +51,13 @@ DATA F_DATAFIN
BEGIN
PROMPT 2 11 "A data "
GROUP 1
END
END
BOOLEAN F_RIPARTISCI
BEGIN
PROMPT 2 12 "Ripartire i movimenti"
FLAGS "H"
END
ENDPAGE