Corretto aggiornamento pagamenti
git-svn-id: svn://10.65.10.50/branches/R_10_00@22938 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
4cede5839b
commit
db741508ef
392
m770/770100.cpp
392
m770/770100.cpp
@ -271,13 +271,13 @@ bool TSchedaPercipienti::codanagr_handler(TMask_field& f, KEY k)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TSchedaPercipienti::calcola_riga_pag(TRectype & rec,
|
void TSchedaPercipienti::calcola_riga_pag(TRectype& rec,
|
||||||
const real h_PercAssImp,
|
const real& h_PercAssImp,
|
||||||
const real h_PercCassaPrev,
|
const real& h_PercCassaPrev,
|
||||||
const real h_PercRitenuta,
|
const real& h_PercRitenuta,
|
||||||
const real h_PercInps,
|
const real& h_PercInps,
|
||||||
const real h_PercAssImpInps,
|
const real& h_PercAssImpInps,
|
||||||
const real h_PercCommitInps)
|
const real& h_PercCommitInps) const
|
||||||
{
|
{
|
||||||
const int fdec = TCurrency::get_firm_dec();
|
const int fdec = TCurrency::get_firm_dec();
|
||||||
real compenso = rec.get_real(PAG_COMPENSO);
|
real compenso = rec.get_real(PAG_COMPENSO);
|
||||||
@ -321,205 +321,221 @@ void TSchedaPercipienti::calcola_riga_pag(TRectype & rec,
|
|||||||
rec.put(PAG_COMNETTO, comnetto);
|
rec.put(PAG_COMNETTO, comnetto);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TSchedaPercipienti::agg_pagamenti(const TRectype& sch, const TDate& pag_dal)
|
bool TSchedaPercipienti::agg_pagamenti(const TRectype& sch, const TDate& pag_dal) const
|
||||||
{
|
{
|
||||||
const long numreg = sch.get_long(SCH_NUMREG);
|
const long numreg = sch.get_long(SCH_NUMREG);
|
||||||
|
|
||||||
if (numreg > 0)
|
if (numreg <= 0)
|
||||||
{
|
return false;
|
||||||
|
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
if (numreg == 31723)
|
if (numreg == 37788)
|
||||||
int cazzone = 1;
|
int cazzone = 1;
|
||||||
#endif
|
#endif
|
||||||
TPartite_array partarr;
|
|
||||||
|
|
||||||
partarr.add_numreg(numreg);
|
TPartite_array partarr;
|
||||||
if (partarr.items() > 0)
|
|
||||||
{
|
|
||||||
TSchedaPE sc;
|
|
||||||
bool pag_udated = false;
|
|
||||||
|
|
||||||
sc.lfile().curr() = sch;
|
partarr.add_numreg(numreg);
|
||||||
sc.read(_isequal, _lock);
|
if (partarr.items() == 0)
|
||||||
const real totrit = sc.lfile().get_real(SCH_TOTRIT);
|
return false;
|
||||||
const real totale = sc.lfile().get_real(SCH_TOTALE) - totrit;
|
|
||||||
const real spese = sc.lfile().get_real(SCH_SPESE);
|
|
||||||
const real iva = sc.lfile().get_real(SCH_IVA);
|
|
||||||
const real compenso = sc.lfile().get_real(SCH_COMPENSO);
|
|
||||||
real spperc = spese / totale; spperc.round(8);
|
|
||||||
real ivaperc = iva / totale; ivaperc.round(8);
|
|
||||||
|
|
||||||
const TString4 codcau = sc.lfile().get("CODCAUS");
|
TSchedaPE sc;
|
||||||
const TRectype cau = cache().get("%CA7", codcau);
|
bool pag_udated = false;
|
||||||
|
|
||||||
// leggo valori tabella causali per calcolo
|
TRectype& scur = sc.lfile().curr();
|
||||||
const real h_PercAssImp = cau.get_real("R4");
|
scur = sch;
|
||||||
const real h_PercCassaPrev = cau.get_real("R5");
|
sc.read(_isequal, _lock);
|
||||||
const real h_PercRitenuta = cau.get_real("R0");
|
const real totrit = scur.get_real(SCH_TOTRIT);
|
||||||
const real h_PercInps = cau.get_real("R1");
|
const real totdoc = scur.get_real(SCH_TOTALE);
|
||||||
const real h_PercAssImpInps = cau.get_real("R2");
|
const real iva = scur.get_real(SCH_IVA);
|
||||||
const real h_PercCommitInps = cau.get_real("R3");
|
const real totale = totdoc - totrit;
|
||||||
|
const real imponibile=totdoc - iva;
|
||||||
|
const real spese = scur.get_real(SCH_SPESE);
|
||||||
|
const real compenso = scur.get_real(SCH_COMPENSO);
|
||||||
|
real spperc, ivaperc;
|
||||||
|
if (!imponibile.is_zero())
|
||||||
|
{
|
||||||
|
spperc = spese / totale; spperc.round(8);
|
||||||
|
ivaperc = iva / totale;
|
||||||
|
ivaperc = iva / imponibile;
|
||||||
|
ivaperc.round(8);
|
||||||
|
}
|
||||||
|
|
||||||
|
const TString4 codcau = scur.get("CODCAUS");
|
||||||
|
const TRectype cau = cache().get("%CA7", codcau);
|
||||||
|
|
||||||
|
// leggo valori tabella causali per calcolo
|
||||||
|
const real h_PercRitenuta = cau.get_real("R0");
|
||||||
|
const real h_PercInps = cau.get_real("R1");
|
||||||
|
const real h_PercAssImpInps = cau.get_real("R2");
|
||||||
|
const real h_PercCommitInps = cau.get_real("R3");
|
||||||
|
const real h_PercAssImp = cau.get_real("R4");
|
||||||
|
const real h_PercCassaPrev = cau.get_real("R5");
|
||||||
|
|
||||||
for (TPartita* p = partarr.first(); p != NULL; p =partarr.next())
|
for (TPartita* p = partarr.first(); p != NULL; p = partarr.next())
|
||||||
|
{
|
||||||
|
const int lastrow = p->last();
|
||||||
|
for (int row = p->prima_fattura(numreg); row > 0 && row <= lastrow; row = p->succ(row))
|
||||||
|
{
|
||||||
|
const TRiga_partite& rigapart = p->riga(row);
|
||||||
|
const int nrate = rigapart.tipo() == tm_fattura ? rigapart.rate() : 0;
|
||||||
|
TDate datapag;
|
||||||
|
|
||||||
|
for (int r = 1; r <= nrate; r++)
|
||||||
{
|
{
|
||||||
const int row = p->prima_fattura(numreg);
|
TRiga_scadenze & ratapart = rigapart.rata(r);
|
||||||
|
TImporto tot[10];
|
||||||
|
long numregp[10] = {0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L};
|
||||||
|
int lastsch = 0;
|
||||||
|
|
||||||
if (row >= 0)
|
const int rows = sc.pag_items();
|
||||||
|
|
||||||
|
for (int rowp = ratapart.last(); rowp > 0; rowp = ratapart.pred(rowp))
|
||||||
{
|
{
|
||||||
TRiga_partite & rigapart = p->riga(row);
|
const TRectype& pag = ratapart.row(rowp); // Riga pagamento
|
||||||
const int nrate = rigapart.rate();
|
const TRiga_partite& sum = p->riga(rowp); // Riga partite
|
||||||
TDate datapag;
|
if (sum.tipo() == tm_nota_credito)
|
||||||
|
continue;
|
||||||
|
|
||||||
for (int r = 1; r <= nrate; r++)
|
if (pag_dal.ok()) // Filtro opzionale su data pagamento
|
||||||
|
{
|
||||||
|
const TDate sum_datapag = sum.get(PART_DATAPAG);
|
||||||
|
if (sum_datapag < pag_dal)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char sez = sum.sezione();
|
||||||
|
TImporto imppag(sez, pag.get_real(PAGSCA_IMPORTO));
|
||||||
|
const long num = sum.get_long(PART_NREG);
|
||||||
|
if (lastsch == 0 && numregp[0] == 0L)
|
||||||
{
|
{
|
||||||
TRiga_scadenze & ratapart = rigapart.rata(r);
|
numregp[lastsch] = num;
|
||||||
TImporto tot[10];
|
tot[lastsch].reset();
|
||||||
long numregp[10] = {0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L};
|
}
|
||||||
int lastsch = 0;
|
if (num != numregp[lastsch])
|
||||||
|
{
|
||||||
const int rows = sc.pag_items();
|
numregp[++lastsch] = num;
|
||||||
|
tot[lastsch].reset();
|
||||||
for (int rowp = ratapart.last(); rowp > 0; rowp = ratapart.pred(rowp))
|
}
|
||||||
{
|
if (lastsch > 9)
|
||||||
const TRectype& pag = ratapart.row(rowp); // Riga pagamento
|
{
|
||||||
const TRiga_partite& sum = p->riga(rowp); // Riga partite
|
warning_box("Attenzione! Troppi pagamenti diversi per la registrazione %ld.", numreg);
|
||||||
|
break;
|
||||||
if (pag_dal.ok()) // Filtro opzionale su data pagamento
|
}
|
||||||
{
|
|
||||||
const TDate sum_datapag = sum.get(PART_DATAPAG);
|
|
||||||
if (sum_datapag < pag_dal)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char sez = sum.sezione();
|
|
||||||
TImporto imppag(sez, pag.get_real(PAGSCA_IMPORTO));
|
|
||||||
const long num = sum.get_long(PART_NREG);
|
|
||||||
if (lastsch == 0 && numregp[0] == 0L)
|
|
||||||
{
|
|
||||||
numregp[lastsch] = num;
|
|
||||||
tot[lastsch].reset();
|
|
||||||
}
|
|
||||||
if (num != numregp[lastsch])
|
|
||||||
{
|
|
||||||
numregp[++lastsch] = num;
|
|
||||||
tot[lastsch].reset();
|
|
||||||
}
|
|
||||||
if (lastsch > 9)
|
|
||||||
{
|
|
||||||
message_box("Attenzione! Troppi pagamenti diversi per la registrazione %ld.", numreg);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool found = false;
|
bool found = false;
|
||||||
imppag += TImporto(sez, pag.get_real(PAGSCA_RITENUTE));
|
imppag += TImporto(sez, pag.get_real(PAGSCA_RITENUTE));
|
||||||
imppag += TImporto(sum.sezione_ritsoc(), pag.get_real(PAGSCA_RITSOC));
|
imppag += TImporto(sum.sezione_ritsoc(), pag.get_real(PAGSCA_RITSOC));
|
||||||
real abbuoni = pag.get_real(PAGSCA_ABBUONI);
|
|
||||||
real abb = pag.get_real(PAGSCA_ABBUONI);
|
real abb = pag.get_real(PAGSCA_ABBUONI);
|
||||||
if (!abb.is_zero())
|
if (!abb.is_zero())
|
||||||
imppag += TImporto(sez, abb);
|
imppag += TImporto(sez, abb);
|
||||||
for (int i = 0; !found && i < rows; i++)
|
for (int i = 0; !found && i < rows; i++)
|
||||||
|
{
|
||||||
|
TRectype& pagrec = sc.pag(i);
|
||||||
|
const long numsch = pagrec.get_long(PAG_NUMREG);
|
||||||
|
found = num == numsch;
|
||||||
|
if (numsch == 0L && !found)
|
||||||
|
{
|
||||||
|
TDate data(sum.get_date(PART_DATADOC));
|
||||||
|
if (!data.ok())
|
||||||
|
data = sum.get_date(PART_DATAREG);
|
||||||
|
if (!data.ok())
|
||||||
|
data = sum.get_date(PART_DATAPAG);
|
||||||
|
const TDate datasch = pagrec.get(PAG_DATAPAG);
|
||||||
|
if (data == datasch)
|
||||||
{
|
{
|
||||||
TRectype& pagrec = sc.pag(i);
|
pagrec.put(PAG_NUMREG, num);
|
||||||
const long numsch = pagrec.get_long(PAG_NUMREG);
|
found = true;
|
||||||
found = num == numsch;
|
}
|
||||||
if (numsch == 0L && !found)
|
else
|
||||||
{
|
{
|
||||||
TDate data(sum.get_date(PART_DATADOC));
|
imppag.normalize('D');
|
||||||
if (!data.ok())
|
|
||||||
data = sum.get_date(PART_DATAREG);
|
|
||||||
if (!data.ok())
|
|
||||||
data = sum.get_date(PART_DATAPAG);
|
|
||||||
const TDate datasch = pagrec.get(PAG_DATAPAG);
|
|
||||||
if (data == datasch)
|
|
||||||
{
|
|
||||||
pagrec.put(PAG_NUMREG, num);
|
|
||||||
found = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
imppag.normalize('D');
|
|
||||||
|
|
||||||
real spesep = imppag.valore() * spperc;
|
real spesep = imppag.valore() * spperc;
|
||||||
real ivap = imppag.valore() * ivaperc;
|
spesep.round(TCurrency::get_firm_dec());
|
||||||
|
|
||||||
|
real ivap = imppag.valore() * ivaperc / (UNO + ivaperc);
|
||||||
|
ivap.round(TCurrency::get_firm_dec());
|
||||||
|
|
||||||
spesep.round(TCurrency::get_firm_dec());
|
if (abs(spesep) > abs(spese))
|
||||||
if (abs(spesep) > abs(spese))
|
spesep = spese;
|
||||||
spesep = spese;
|
if (abs(ivap) > abs(iva))
|
||||||
ivap.round(TCurrency::get_firm_dec());
|
ivap = iva;
|
||||||
if (abs(ivap) > abs(iva))
|
|
||||||
ivap = iva;
|
|
||||||
|
|
||||||
real compensop = imppag.valore() - spesep - ivap;
|
real compensop = imppag.valore() - spesep - ivap;
|
||||||
compensop += compensop * h_PercRitenuta;
|
compensop += compensop * h_PercRitenuta; /* / CENTO;*/
|
||||||
compensop.round(TCurrency::get_firm_dec());
|
compensop.round(TCurrency::get_firm_dec());
|
||||||
if (abs(compensop) > abs(compenso))
|
if (abs(compensop) > abs(compenso))
|
||||||
compensop = compenso;
|
compensop = compenso;
|
||||||
if (compensop == pagrec.get_real(PAG_COMPENSO))
|
if (compensop == pagrec.get_real(PAG_COMPENSO))
|
||||||
{
|
{
|
||||||
pagrec.put(PAG_NUMREG, num);
|
pagrec.put(PAG_NUMREG, num);
|
||||||
found = true;
|
found = true;
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found)
|
|
||||||
{
|
|
||||||
tot[lastsch] += imppag;
|
|
||||||
if (!datapag.ok())
|
|
||||||
datapag = sum.get_date(PART_DATADOC);
|
|
||||||
if (!datapag.ok())
|
|
||||||
datapag = sum.get_date(PART_DATAREG);
|
|
||||||
if (!datapag.ok())
|
|
||||||
datapag = sum.get_date(PART_DATAPAG);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
for (int j = 0; j < 10 && numregp[j] > 0L; j++)
|
}
|
||||||
{
|
if (!found)
|
||||||
tot[j].normalize('D');
|
{
|
||||||
if (tot[j].valore() == ZERO)
|
tot[lastsch] += imppag;
|
||||||
break;
|
if (!datapag.ok())
|
||||||
|
datapag = sum.get_date(PART_DATADOC);
|
||||||
|
if (!datapag.ok())
|
||||||
|
datapag = sum.get_date(PART_DATAREG);
|
||||||
|
if (!datapag.ok())
|
||||||
|
datapag = sum.get_date(PART_DATAPAG);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (int j = 0; j < 10 && numregp[j] > 0L; j++)
|
||||||
|
{
|
||||||
|
tot[j].normalize('D');
|
||||||
|
if (tot[j].is_zero())
|
||||||
|
break;
|
||||||
|
|
||||||
TRectype & pagrec = sc.pag(rows);
|
TRectype& pagrec = sc.pag(rows+j);
|
||||||
|
pagrec.put(PAG_CODDITTA, scur.get(SCH_CODDITTA));
|
||||||
|
pagrec.put(PAG_TIPOA, scur.get(SCH_TIPOA));
|
||||||
|
pagrec.put(PAG_CODANAGR, scur.get(SCH_CODANAGR));
|
||||||
|
pagrec.put(PAG_NPROG, scur.get(SCH_NPROG));
|
||||||
|
pagrec.put(PAG_NRIGA, rows + j + 1);
|
||||||
|
pagrec.put(PAG_NUMVERS, -1);
|
||||||
|
const real& totj = tot[j].valore();
|
||||||
|
|
||||||
pagrec.put(PAG_CODDITTA, sc.lfile().get(SCH_CODDITTA));
|
real spesepag = totj * spperc;
|
||||||
pagrec.put(PAG_TIPOA, sc.lfile().get(SCH_TIPOA));
|
spesepag.round(TCurrency::get_firm_dec());
|
||||||
pagrec.put(PAG_CODANAGR, sc.lfile().get(SCH_CODANAGR));
|
|
||||||
pagrec.put(PAG_NPROG, sc.lfile().get(SCH_NPROG));
|
real ivapag = totj * ivaperc / (UNO + ivaperc);
|
||||||
pagrec.put(PAG_NRIGA, rows + 1);
|
ivapag.round(TCurrency::get_firm_dec());
|
||||||
pagrec.put(PAG_NUMVERS, -1);
|
|
||||||
real spesepag = tot[j].valore() * spperc;
|
|
||||||
real ivapag = tot[j].valore() * ivaperc;
|
|
||||||
|
|
||||||
spesepag.round(TCurrency::get_firm_dec());
|
if (abs(spesepag) > abs(spese))
|
||||||
if (abs(spesepag) > abs(spese))
|
spesepag = spese;
|
||||||
spesepag = spese;
|
if (abs(ivapag) > abs(iva))
|
||||||
ivapag.round(TCurrency::get_firm_dec());
|
ivapag = iva;
|
||||||
if (abs(ivapag) > abs(iva))
|
|
||||||
ivapag = iva;
|
|
||||||
|
|
||||||
real compensopag = tot[j].valore() - spesepag - ivapag;
|
real compensopag = totj - spesepag - ivapag;
|
||||||
|
compensopag += compensopag * h_PercRitenuta; /* / CENTO*/;
|
||||||
compensopag += compensopag * h_PercRitenuta;
|
compensopag.round(TCurrency::get_firm_dec());
|
||||||
compensopag.round(TCurrency::get_firm_dec());
|
if (abs(compensopag) > abs(compenso))
|
||||||
if (abs(compensopag) > abs(compenso))
|
compensopag = compenso;
|
||||||
compensopag = compenso;
|
pagrec.put(PAG_COMPENSO, compensopag);
|
||||||
pagrec.put(PAG_COMPENSO, compensopag);
|
pagrec.put(PAG_SPESA, spesepag);
|
||||||
pagrec.put(PAG_SPESA, spesepag);
|
pagrec.put(PAG_DATAPAG, datapag);
|
||||||
pagrec.put(PAG_DATAPAG, datapag);
|
sc.lfile().put(SCH_ANNOC, datapag.year());
|
||||||
sc.lfile().put(SCH_ANNOC, datapag.year());
|
sc.lfile().put(SCH_MESEC, datapag.month());
|
||||||
sc.lfile().put(SCH_MESEC, datapag.month());
|
pagrec.put(PAG_PERC, h_PercRitenuta); // percentuale ritenuta acconto
|
||||||
pagrec.put(PAG_PERC, h_PercRitenuta); // percentuale ritenuta acconto
|
pagrec.put(PAG_ALQIMP10, h_PercAssImpInps);// percentuale 10% INPS
|
||||||
pagrec.put(PAG_ALQIMP10, h_PercAssImpInps);// percentuale 10% INPS
|
pagrec.put(PAG_NUMREG, numregp[j]);
|
||||||
pagrec.put(PAG_NUMREG, numregp[j]);
|
pagrec.put(PAG_COD10, "C");
|
||||||
pagrec.put(PAG_COD10, "C");
|
calcola_riga_pag(pagrec, h_PercAssImp, h_PercCassaPrev, h_PercRitenuta, h_PercInps, h_PercAssImpInps, h_PercCommitInps);
|
||||||
calcola_riga_pag(pagrec, h_PercAssImp, h_PercCassaPrev, h_PercRitenuta, h_PercInps, h_PercAssImpInps, h_PercCommitInps);
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
sc.rewrite();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const int err = sc.rewrite(); // ulocks too
|
||||||
|
if (err != NOERR)
|
||||||
|
cantwrite_box("Scheda percipiente");
|
||||||
|
return err == NOERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
static TDate _pag_dal;
|
static TDate _pag_dal;
|
||||||
@ -1201,11 +1217,11 @@ void TSchedaPercipienti::mask2rel(const TMask& m)
|
|||||||
const int nprogr = m.get_int(F_NPROG);
|
const int nprogr = m.get_int(F_NPROG);
|
||||||
|
|
||||||
// leggo valori tabella causali per calcolo
|
// leggo valori tabella causali per calcolo
|
||||||
const real h_PercAssImp = m.get_real(F_QUOTAIMP);
|
const real h_PercAssImp = m.get_real(F_QUOTAIMP);
|
||||||
const real h_PercCassaPrev = m.get_real(F_CASSA_PREV);
|
const real h_PercCassaPrev = m.get_real(F_CASSA_PREV);
|
||||||
const real h_PercRitenuta = m.get_real(F_PERRIT);
|
const real h_PercRitenuta = m.get_real(F_PERRIT);
|
||||||
const bool h_FlagInps = m.get_bool(F_FLAG_INPS);
|
const bool h_FlagInps = m.get_bool(F_FLAG_INPS);
|
||||||
const real h_PercInps = m.get_real(F_PERC_INPS);
|
const real h_PercInps = m.get_real(F_PERC_INPS);
|
||||||
const real h_PercAssImpInps = m.get_real(F_PERC_ASS_INPS);
|
const real h_PercAssImpInps = m.get_real(F_PERC_ASS_INPS);
|
||||||
const real h_PercCommitInps = m.get_real(F_PERC_COMMIT_INPS);
|
const real h_PercCommitInps = m.get_real(F_PERC_COMMIT_INPS);
|
||||||
|
|
||||||
@ -2082,7 +2098,7 @@ void TSchedaPercipienti::from_struct_to_mask(Pag_struct& s, TMask& m)
|
|||||||
m.set(dlg, s.numvers);
|
m.set(dlg, s.numvers);
|
||||||
}
|
}
|
||||||
|
|
||||||
Pag_struct& TSchedaPercipienti::clear_struct(Pag_struct& s)
|
Pag_struct& TSchedaPercipienti::clear_struct(Pag_struct& s) const
|
||||||
{
|
{
|
||||||
s.datapag = NULLDATE;
|
s.datapag = NULLDATE;
|
||||||
s.imponibile = ZERO;
|
s.imponibile = ZERO;
|
||||||
@ -2122,12 +2138,12 @@ Pag_struct& TSchedaPercipienti::clear_struct(Pag_struct& s)
|
|||||||
Pag_struct& TSchedaPercipienti::calcola_riga_pag(Pag_struct& s,
|
Pag_struct& TSchedaPercipienti::calcola_riga_pag(Pag_struct& s,
|
||||||
Pag_struct& c,
|
Pag_struct& c,
|
||||||
bool force,
|
bool force,
|
||||||
const real h_PercAssImp,
|
const real& h_PercAssImp,
|
||||||
const real h_PercCassaPrev,
|
const real& h_PercCassaPrev,
|
||||||
const real h_PercRitenuta,
|
const real& h_PercRitenuta,
|
||||||
const real h_PercInps,
|
const real& h_PercInps,
|
||||||
const real h_PercAssImpInps,
|
const real& h_PercAssImpInps,
|
||||||
const real h_PercCommitInps)
|
const real& h_PercCommitInps) const
|
||||||
{
|
{
|
||||||
const int fdec = TCurrency::get_firm_dec();
|
const int fdec = TCurrency::get_firm_dec();
|
||||||
|
|
||||||
|
@ -146,7 +146,7 @@ class TSchedaPercipienti : public TRelation_application
|
|||||||
// genera gli items per la causale quadro
|
// genera gli items per la causale quadro
|
||||||
void build_causqua_items(TMask& m, const TString& quadro) const;
|
void build_causqua_items(TMask& m, const TString& quadro) const;
|
||||||
// azzera struttura pagamento
|
// azzera struttura pagamento
|
||||||
Pag_struct& clear_struct(Pag_struct& s);
|
Pag_struct& clear_struct(Pag_struct& s) const;
|
||||||
// calcola una riga di pagamento dove <s> è la struttura con i dati,
|
// calcola una riga di pagamento dove <s> è la struttura con i dati,
|
||||||
// <c> è la struttura con i calcolati per eventuali controlli,
|
// <c> è la struttura con i calcolati per eventuali controlli,
|
||||||
// <force> consente di forzare la sostituzione dei valori di riga
|
// <force> consente di forzare la sostituzione dei valori di riga
|
||||||
@ -154,19 +154,19 @@ class TSchedaPercipienti : public TRelation_application
|
|||||||
Pag_struct& calcola_riga_pag(Pag_struct& s,
|
Pag_struct& calcola_riga_pag(Pag_struct& s,
|
||||||
Pag_struct& c,
|
Pag_struct& c,
|
||||||
bool force,
|
bool force,
|
||||||
const real h_PercAssImp,
|
const real& h_PercAssImp,
|
||||||
const real h_PercCassaPrev,
|
const real& h_PercCassaPrev,
|
||||||
const real h_PercRitenuta,
|
const real& h_PercRitenuta,
|
||||||
const real h_PercInps,
|
const real& h_PercInps,
|
||||||
const real h_PercAssImpInps,
|
const real& h_PercAssImpInps,
|
||||||
const real h_PercCommitInps);
|
const real& h_PercCommitInps) const;
|
||||||
void calcola_riga_pag (TRectype & rec,
|
void calcola_riga_pag (TRectype& rec,
|
||||||
const real h_PercAssImp,
|
const real& h_PercAssImp,
|
||||||
const real h_PercCassaPrev,
|
const real& h_PercCassaPrev,
|
||||||
const real h_PercRitenuta,
|
const real& h_PercRitenuta,
|
||||||
const real h_PercInps,
|
const real& h_PercInps,
|
||||||
const real h_PercAssImpInps,
|
const real& h_PercAssImpInps,
|
||||||
const real h_PercCommitInps);
|
const real& h_PercCommitInps) const;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -207,7 +207,7 @@ class TSchedaPercipienti : public TRelation_application
|
|||||||
bool coll_datanum() const { return _coll._datadoc.not_empty() && _coll._numdoc.not_empty(); }
|
bool coll_datanum() const { return _coll._datadoc.not_empty() && _coll._numdoc.not_empty(); }
|
||||||
long coll_numreg() const { return _coll._numreg; }
|
long coll_numreg() const { return _coll._numreg; }
|
||||||
bool esiste_perc(const TMask& m, const char* coda=NULL);
|
bool esiste_perc(const TMask& m, const char* coda=NULL);
|
||||||
void agg_pagamenti(const TRectype& sch, const TDate& pag_dal);
|
bool agg_pagamenti(const TRectype& sch, const TDate& pag_dal) const;
|
||||||
|
|
||||||
TSheet_field& pags() const;
|
TSheet_field& pags() const;
|
||||||
TSheet_field& vers() const;
|
TSheet_field& vers() const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user