Corretta gestione effetti generati manualmente
git-svn-id: svn://10.65.10.50/branches/R_10_00@22669 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f03f803125
commit
4937ec8dda
@ -936,10 +936,10 @@ void TContabilizzazione_effetti_app::compile_saldac(const TEffetto& eff,
|
|||||||
TArray& differenze_cam, TArray& customers)
|
TArray& differenze_cam, TArray& customers)
|
||||||
{
|
{
|
||||||
int anno = reff.get_int(REFF_ANNO);
|
int anno = reff.get_int(REFF_ANNO);
|
||||||
TString16 numpart = reff.get(REFF_NUMPART);
|
TString8 numpart = reff.get(REFF_NUMPART);
|
||||||
// Ricava il numero della fattura.
|
// Ricava il numero della fattura.
|
||||||
TString16 numdoc_to_search = reff.get(REFF_CODNUM);
|
TString8 numdoc_to_search = reff.get(REFF_CODNUM);
|
||||||
TString16 nfatt = reff.get(REFF_NFATT);
|
const TString nfatt = reff.get(REFF_NFATT);
|
||||||
TCodice_numerazione cn;
|
TCodice_numerazione cn;
|
||||||
|
|
||||||
if (numdoc_to_search.not_empty() && nfatt.not_empty() && real::is_natural(nfatt))
|
if (numdoc_to_search.not_empty() && nfatt.not_empty() && real::is_natural(nfatt))
|
||||||
@ -949,10 +949,8 @@ void TContabilizzazione_effetti_app::compile_saldac(const TEffetto& eff,
|
|||||||
cn.complete_num(nf, numdoc_to_search);
|
cn.complete_num(nf, numdoc_to_search);
|
||||||
}
|
}
|
||||||
else // se gli estremi della fattura non sono compilati si piglia il numero della partita
|
else // se gli estremi della fattura non sono compilati si piglia il numero della partita
|
||||||
if (nfatt.full())
|
numdoc_to_search = nfatt.full() ? nfatt : numpart;
|
||||||
numdoc_to_search = nfatt;
|
|
||||||
else
|
|
||||||
numdoc_to_search = numpart;
|
|
||||||
if (anno == 0 || numpart.empty()) // Se non sono gia' settati sulla riga effetto...
|
if (anno == 0 || numpart.empty()) // Se non sono gia' settati sulla riga effetto...
|
||||||
{
|
{
|
||||||
anno = reff.get_int(REFF_ANNODOC);// ... li va a prendere dagli estremi fattura...
|
anno = reff.get_int(REFF_ANNODOC);// ... li va a prendere dagli estremi fattura...
|
||||||
@ -997,7 +995,7 @@ void TContabilizzazione_effetti_app::compile_saldac(const TEffetto& eff,
|
|||||||
for (int r = partita->last(); r > 0; r = partita->pred(r))
|
for (int r = partita->last(); r > 0; r = partita->pred(r))
|
||||||
{
|
{
|
||||||
const TRiga_partite& rpart = partita->riga(r);
|
const TRiga_partite& rpart = partita->riga(r);
|
||||||
const TString16 numdoc = rpart.get(PART_NUMDOC);
|
const TString& numdoc = rpart.get(PART_NUMDOC);
|
||||||
if (numdoc == numdoc_to_search && rpart.is_fattura())
|
if (numdoc == numdoc_to_search && rpart.is_fattura())
|
||||||
{
|
{
|
||||||
nriga = r;
|
nriga = r;
|
||||||
@ -1005,10 +1003,18 @@ void TContabilizzazione_effetti_app::compile_saldac(const TEffetto& eff,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// reperire il numero di rata (nrata) dalla riga effetto
|
// reperire il numero di rata (nrata) dalla riga effetto
|
||||||
const int nrata = reff.get_int(REFF_NRATA);
|
int nrata = reff.get_int(REFF_NRATA);
|
||||||
|
if (nrata <= 0 && nriga > 0 && nriga < uns)
|
||||||
|
{
|
||||||
|
const TRiga_partite& rpart = partita->riga(nriga);
|
||||||
|
const int nrate = rpart.rate();
|
||||||
|
for (nrata = 1; nrata < nrate && rpart.rata(nrata).chiusa(); nrata++);
|
||||||
|
}
|
||||||
|
|
||||||
char acc_sal = 'A';
|
char acc_sal = 'A';
|
||||||
if (partita->esiste(nriga,nrata)) // calcola se e' a saldo o in acconto della rata
|
if (nrata > 0 && partita->esiste(nriga,nrata)) // calcola se e' a saldo o in acconto della rata
|
||||||
{
|
{
|
||||||
acc_sal = reff.get_char(REFF_ACCSAL);
|
acc_sal = reff.get_char(REFF_ACCSAL);
|
||||||
if (acc_sal != 'S' && acc_sal != 'A')
|
if (acc_sal != 'S' && acc_sal != 'A')
|
||||||
@ -1016,9 +1022,8 @@ void TContabilizzazione_effetti_app::compile_saldac(const TEffetto& eff,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (nriga != uns)
|
nriga = uns; // E' praticamente impossibile che si trovi la fattura
|
||||||
nriga = uns; // E' praticamente impossibile che si trovi la fattura
|
nrata = uns; // senza le proprie scadenze. Al limite settiamo il numero di riga per non assegnati.
|
||||||
// senza le proprie scadenze. Al limite settiamo il numero di riga per non assegnati.
|
|
||||||
}
|
}
|
||||||
// Creo una nuova riga di pagamento
|
// Creo una nuova riga di pagamento
|
||||||
TRectype& old_riga_pagamento = partita->pagamento(nriga,nrata,nrigp);
|
TRectype& old_riga_pagamento = partita->pagamento(nriga,nrata,nrigp);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user