Patch level : 12.00 1292
Files correlati : sc0.exe Commento : Programma di esportazione partite per scadenza
This commit is contained in:
parent
3f80ca4c5d
commit
6aebf24c50
@ -363,7 +363,7 @@ TImporto TPartita::importo_pagsca(const TRectype& pag, bool val, int mode) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Calcola il totale dei pagamenti alla data (eventualmente in valuta)
|
// Calcola il totale dei pagamenti alla data (eventualmente in valuta)
|
||||||
TImporto TRiga_scadenze::importo_pagato_al(bool val, const TDate& al, int mode) const
|
TImporto TRiga_scadenze::importo_pagato_al(bool val, const TDate& al, int mode, bool datareg) const
|
||||||
{
|
{
|
||||||
CHECKD(mode > 0x0 && mode <= 0xFF, "Bad importo_pagato mode ", mode);
|
CHECKD(mode > 0x0 && mode <= 0xFF, "Bad importo_pagato mode ", mode);
|
||||||
TPartita& game = partita();
|
TPartita& game = partita();
|
||||||
@ -380,7 +380,7 @@ TImporto TRiga_scadenze::importo_pagato_al(bool val, const TDate& al, int mode)
|
|||||||
{
|
{
|
||||||
const TRiga_partite & sum = game.riga(rigap); // Riga partite
|
const TRiga_partite & sum = game.riga(rigap); // Riga partite
|
||||||
|
|
||||||
datapag = sum.get_date(PART_DATAPAG);
|
datapag = datareg ? sum.get_date(PART_DATAREG) : sum.get_date(PART_DATAPAG);
|
||||||
if (datapag <= al)
|
if (datapag <= al)
|
||||||
totale += game.importo_pagsca(pag, val, mode);
|
totale += game.importo_pagsca(pag, val, mode);
|
||||||
}
|
}
|
||||||
@ -556,6 +556,14 @@ TImporto TRiga_scadenze::importo_pagato(bool val, int mode) const
|
|||||||
return totale.normalize();
|
return totale.normalize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TImporto TRiga_scadenze::residuo_al(bool val, const TDate& al, int mode, bool datareg) const
|
||||||
|
{
|
||||||
|
TImporto res = importo(val);
|
||||||
|
|
||||||
|
res -= importo_pagato_al(val, al, mode, datareg);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
// Calcola l'importo da pagare (eventualmente in valuta)
|
// Calcola l'importo da pagare (eventualmente in valuta)
|
||||||
TImporto TRiga_scadenze::importo(bool val) const
|
TImporto TRiga_scadenze::importo(bool val) const
|
||||||
{
|
{
|
||||||
@ -2475,7 +2483,6 @@ real TPartita::calcola_scaduto_al(bool valuta, const TDate& al) const
|
|||||||
}
|
}
|
||||||
return ZERO;
|
return ZERO;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calcola il totale dei pagamenti non assegnati (eventualmente in valuta)
|
// Calcola il totale dei pagamenti non assegnati (eventualmente in valuta)
|
||||||
TImporto TPartita::importo_pagato_unassigned(bool val, int mode) const
|
TImporto TPartita::importo_pagato_unassigned(bool val, int mode) const
|
||||||
{
|
{
|
||||||
@ -2522,6 +2529,55 @@ TImporto TPartita::importo_pagato_unassigned(bool val, int mode) const
|
|||||||
return totale.normalize();
|
return totale.normalize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TImporto TPartita::importo_pagato_unassigned_al(bool val, const TDate& al, int mode, bool datareg) const
|
||||||
|
{
|
||||||
|
CHECKD(mode > 0x0 && mode <= 0xF, "Bad importo_pagato mode ", mode);
|
||||||
|
const bool in_val = in_valuta();
|
||||||
|
const char* imp_field = (val && in_val) ? PAGSCA_IMPORTOVAL : PAGSCA_IMPORTO;
|
||||||
|
|
||||||
|
TImporto totale;
|
||||||
|
const int last_row = _unassigned.last_row();
|
||||||
|
for (int p = _unassigned.first_row(); p <= last_row; p = _unassigned.succ_row(p))
|
||||||
|
{
|
||||||
|
const TRectype& pag = _unassigned.row(p); // Riga pagamento
|
||||||
|
const TRiga_partite& sum = riga(pag.get_int(PAGSCA_NRIGP)); // Riga partite
|
||||||
|
const char sez = sum.sezione();
|
||||||
|
TDate datapag = datareg ? sum.get_date(PART_DATAREG) : sum.get_date(PART_DATAPAG);
|
||||||
|
|
||||||
|
if (datapag <= al)
|
||||||
|
{
|
||||||
|
if (mode & 0x1)
|
||||||
|
totale += TImporto(sez, pag.get_real(imp_field));
|
||||||
|
if (!in_val && (mode & 0x8)) // Le ritenute non esistono nei pagamenti in valuta
|
||||||
|
{
|
||||||
|
totale += TImporto(sez, pag.get_real(PAGSCA_RITENUTE));
|
||||||
|
totale += TImporto(sum.sezione_ritsoc(), pag.get_real(PAGSCA_RITSOC));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mode & 0x2) // Voglio anche gli abbuoni
|
||||||
|
{
|
||||||
|
real abb(pag.get_real(PAGSCA_ABBUONI));
|
||||||
|
if (in_val && !val) // Gli abbuoni sono sempre in valuta e quindi
|
||||||
|
{ // devono essere convertiti opportunamente
|
||||||
|
const TExchange cmb(sum);
|
||||||
|
TCurrency cur(abb, cmb);
|
||||||
|
cur.change_to_firm_val();
|
||||||
|
abb = cur.get_num();
|
||||||
|
}
|
||||||
|
totale += TImporto(sez, abb);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (in_val && !val && (mode & 0x4)) // Voglio anche le differenze cambio
|
||||||
|
{ // Esse esistono solo nei pagamenti in valuta
|
||||||
|
const TImporto diffcam(sez, pag.get_real(PAGSCA_DIFFCAM));
|
||||||
|
totale += diffcam;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return totale.normalize();
|
||||||
|
}
|
||||||
|
|
||||||
// Controlla se esistono pagamenti riferiti alla riga nrigp
|
// Controlla se esistono pagamenti riferiti alla riga nrigp
|
||||||
bool TPartita::utilizzata(int nrigp) const
|
bool TPartita::utilizzata(int nrigp) const
|
||||||
{
|
{
|
||||||
|
@ -146,7 +146,8 @@ public:
|
|||||||
TRiga_partite& riga() const { return *_riga; } // Riga partite
|
TRiga_partite& riga() const { return *_riga; } // Riga partite
|
||||||
|
|
||||||
TImporto importo_pagato(bool val, int mode = 0xF) const;
|
TImporto importo_pagato(bool val, int mode = 0xF) const;
|
||||||
TImporto importo_pagato_al(bool val, const TDate& al, int mode = 0xF) const;
|
TImporto importo_pagato_al(bool val, const TDate& al, int mode = 0xF, bool datareg = false) const;
|
||||||
|
TImporto residuo_al(bool val, const TDate& al, int mode = 0xF, bool datareg = false) const;
|
||||||
TImporto importo(bool val) const;
|
TImporto importo(bool val) const;
|
||||||
TImporto residuo(bool val, int mode = 0xF) const; // Differenza delle due funzioni precedenti
|
TImporto residuo(bool val, int mode = 0xF) const; // Differenza delle due funzioni precedenti
|
||||||
TImporto esposto_al(bool valuta, const TDate & al, const TDate & data_scad, const TDate & data_rischio, bool & sbf) const;
|
TImporto esposto_al(bool valuta, const TDate & al, const TDate & data_scad, const TDate & data_rischio, bool & sbf) const;
|
||||||
@ -316,6 +317,7 @@ public:
|
|||||||
TImporto calcola_saldo_al(bool valuta, const TDate& al, const TDate& data_scaduto, const TDate& data_rischio) const;
|
TImporto calcola_saldo_al(bool valuta, const TDate& al, const TDate& data_scaduto, const TDate& data_rischio) const;
|
||||||
real calcola_scaduto_al(bool valuta, const TDate& al = botime) const;
|
real calcola_scaduto_al(bool valuta, const TDate& al = botime) const;
|
||||||
TImporto importo_pagato_unassigned(bool val, int mode = 0xF) const;
|
TImporto importo_pagato_unassigned(bool val, int mode = 0xF) const;
|
||||||
|
TImporto importo_pagato_unassigned_al (bool val, const TDate& al, int mode = 0xF, bool datareg = false) const;
|
||||||
TImporto importo_pagsca(const TRectype& pag, bool val = false, int mode = 0xF) const; // low level
|
TImporto importo_pagsca(const TRectype& pag, bool val = false, int mode = 0xF) const; // low level
|
||||||
|
|
||||||
bool modifica_pagamento(const TRectype& new_pag, const TValuta& valuta,
|
bool modifica_pagamento(const TRectype& new_pag, const TValuta& valuta,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user