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)
|
||||
{
|
||||
int anno = reff.get_int(REFF_ANNO);
|
||||
TString16 numpart = reff.get(REFF_NUMPART);
|
||||
TString8 numpart = reff.get(REFF_NUMPART);
|
||||
// Ricava il numero della fattura.
|
||||
TString16 numdoc_to_search = reff.get(REFF_CODNUM);
|
||||
TString16 nfatt = reff.get(REFF_NFATT);
|
||||
TString8 numdoc_to_search = reff.get(REFF_CODNUM);
|
||||
const TString nfatt = reff.get(REFF_NFATT);
|
||||
TCodice_numerazione cn;
|
||||
|
||||
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);
|
||||
}
|
||||
else // se gli estremi della fattura non sono compilati si piglia il numero della partita
|
||||
if (nfatt.full())
|
||||
numdoc_to_search = nfatt;
|
||||
else
|
||||
numdoc_to_search = numpart;
|
||||
numdoc_to_search = nfatt.full() ? nfatt : numpart;
|
||||
|
||||
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...
|
||||
@ -997,7 +995,7 @@ void TContabilizzazione_effetti_app::compile_saldac(const TEffetto& eff,
|
||||
for (int r = partita->last(); r > 0; r = partita->pred(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())
|
||||
{
|
||||
nriga = r;
|
||||
@ -1005,10 +1003,18 @@ void TContabilizzazione_effetti_app::compile_saldac(const TEffetto& eff,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 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';
|
||||
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);
|
||||
if (acc_sal != 'S' && acc_sal != 'A')
|
||||
@ -1016,9 +1022,8 @@ void TContabilizzazione_effetti_app::compile_saldac(const TEffetto& eff,
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nriga != uns)
|
||||
nriga = uns; // E' praticamente impossibile che si trovi la fattura
|
||||
// senza le proprie scadenze. Al limite settiamo il numero di riga per non assegnati.
|
||||
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.
|
||||
}
|
||||
// Creo una nuova riga di pagamento
|
||||
TRectype& old_riga_pagamento = partita->pagamento(nriga,nrata,nrigp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user