Patch level : 10.0 934
Files correlati : sc2.exe sc2100a.msk Ricompilazione Demo : [ ] Commento : 0001749: Stampa E/C : se nota di credito non viene considerata nella colonna scaduto Stampa E/C : se nota di credito non viene considerata nella colonna scaduto git-svn-id: svn://10.65.10.50/branches/R_10_00@21653 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
7e9848fc44
commit
1737696f00
@ -14,6 +14,5 @@ int main(int argc,char** argv)
|
||||
case 5: sc2600(argc,argv); break; // Stampa Prospetto Scadenze
|
||||
default: sc2100(argc,argv); break; // Stampa Estratti conto
|
||||
}
|
||||
exit(0);
|
||||
return 0;
|
||||
}
|
||||
|
@ -71,6 +71,7 @@ class TEC_form : public TForm
|
||||
word _total_rows; // Numero di righe usate per i totali
|
||||
word _maxtot; // Numero massimo di totali da stampare
|
||||
bool _stampa_saldo; // Stampa il saldo di ogni partita
|
||||
bool _note_scadenti; // Considera scadute le note di credito non assegnate
|
||||
|
||||
protected:
|
||||
void init_header(const TMask& m);
|
||||
@ -95,6 +96,7 @@ public:
|
||||
const TDate& data_limite_scaduto() const { return _dls; }
|
||||
int giorni_rischio() const { return _giorni_rischio; }
|
||||
const TDate& data_inizio_rischio() const { return _dir; }
|
||||
bool note_scadenti() const { return _note_scadenti; }
|
||||
|
||||
const TString& lingua() const { return _lingua; }
|
||||
bool in_valuta() const { return _in_valuta; }
|
||||
@ -410,7 +412,7 @@ protected:
|
||||
|
||||
TImporto* importo_riga_scaduto_ptr(int n) const { return (TImporto*)_scaduto.objptr(n); }
|
||||
TImporto& importo_riga_scaduto(int n);
|
||||
|
||||
bool is_unassigned(const TRiga_partite& row) const;
|
||||
TImporto importo(const TPartita& game, const TRectype& pag, bool valuta) const;
|
||||
|
||||
static TPartita* _sort_game;
|
||||
@ -442,7 +444,7 @@ TImporto TEC_array::importo(const TPartita& game, const TRectype& pag, bool valu
|
||||
|
||||
if (!fat_val)
|
||||
{
|
||||
imp.valore() += pag.get_real(PAGSCA_RITENUTE); // Sommo le ritenute se sono il lire
|
||||
imp.valore() += pag.get_real(PAGSCA_RITENUTE); // Sommo le ritenute se sono il Euro
|
||||
const TImporto ritsoc(sum.sezione_ritsoc(), pag.get_real(PAGSCA_RITSOC));
|
||||
imp += ritsoc;
|
||||
}
|
||||
@ -450,11 +452,11 @@ TImporto TEC_array::importo(const TPartita& game, const TRectype& pag, bool valu
|
||||
if (pag.get_char(PAGSCA_ACCSAL) == 'S') // Se il pagamento ha abbuoni o differenze cambio
|
||||
{
|
||||
real abb(pag.get(PAGSCA_ABBUONI));
|
||||
if (!valuta && fat_val) // Se voglio gli abbuoni in lire ma la fattura non lo e'
|
||||
if (!valuta && fat_val) // Se voglio gli abbuoni in Euro ma la fattura non lo e'
|
||||
{
|
||||
const TValuta val(sum); // Leggo il cambio dalla riga di partita
|
||||
val.val2lit(abb); // Converto in lire gli abbuoni
|
||||
abb += pag.get_real(PAGSCA_DIFFCAM); // Sommo l'eventuale differenza cambio (gia' in lire)
|
||||
abb += pag.get_real(PAGSCA_DIFFCAM); // Sommo l'eventuale differenza cambio (gia' in Euro)
|
||||
}
|
||||
imp.valore() += abb; // Sommo il tutto all'importo base (sez e' uguale per tutti i valori)
|
||||
}
|
||||
@ -562,6 +564,14 @@ real TEC_array::calcola_scaduto(const TRiga_scadenze& rata, bool valuta)
|
||||
return scaduto_rata.valore();
|
||||
}
|
||||
|
||||
// Determina se una riga pagamento o nota di credito non è associata ad alcuna rata
|
||||
bool TEC_array::is_unassigned(const TRiga_partite& row) const
|
||||
{
|
||||
const TPartita& game = row.partita();
|
||||
const int riga = row.get_int(PART_NRIGA);
|
||||
return game.esiste(TPartita::UNASSIGNED, TPartita::UNASSIGNED, riga);
|
||||
}
|
||||
|
||||
TEC_row& TEC_array::new_row(const TRiga_partite& row, const TDate& data,
|
||||
const TImporto& imp, int n)
|
||||
{
|
||||
@ -583,7 +593,7 @@ void TEC_array::add_row(const TRiga_partite& row)
|
||||
|
||||
if (main_app().has_module(CAAUT))
|
||||
{
|
||||
const TString & numregcg = row.get(PART_NREG);
|
||||
const TString& numregcg = row.get(PART_NREG);
|
||||
const long numreg = atol(_anal.decode(numregcg));
|
||||
|
||||
if (numreg > 0)
|
||||
@ -594,8 +604,7 @@ void TEC_array::add_row(const TRiga_partite& row)
|
||||
|
||||
for (int i = 1; i <= nrows; i++)
|
||||
{
|
||||
const TString80 s(anal_mov.row_code(i));
|
||||
|
||||
const TString80 s = anal_mov.row_code(i);
|
||||
if (s.full() && codanal.find(s) < 0)
|
||||
{
|
||||
if (codanal.full())
|
||||
@ -648,6 +657,7 @@ void TEC_array::add_row(const TRiga_partite& row)
|
||||
const TImporto impval(row.importo(true, 0x1)); // Importo pulito senza nient'altro
|
||||
riga.importo_valuta(-impval.valore());
|
||||
}
|
||||
riga.codici_analitica(codanal);
|
||||
|
||||
const int tipo_pag = row.get_int(PART_TIPOPAG);
|
||||
const tipo_movimento tipo_mov = row.tipo();
|
||||
@ -671,7 +681,17 @@ void TEC_array::add_row(const TRiga_partite& row)
|
||||
riga.esposto(esposto.valore());
|
||||
}
|
||||
}
|
||||
riga.codici_analitica(codanal);
|
||||
|
||||
if (tipo_mov == tm_nota_credito && form().note_scadenti())
|
||||
{
|
||||
const TDate& dls = form().data_limite_scaduto();
|
||||
if (data_pag <= dls && is_unassigned(row))
|
||||
{
|
||||
const int nriga = row.get_int(PART_NRIGA);
|
||||
const TImporto imp = row.importo(in_valuta, 0x1); // Importo pulito senza nient'altro
|
||||
importo_riga_scaduto(nriga) += imp;
|
||||
}
|
||||
}
|
||||
|
||||
const TImporto abbuoni(row.importo(in_valuta, 0x2));
|
||||
if (!abbuoni.is_zero())
|
||||
@ -964,8 +984,7 @@ void TEC_form::print_total(int riga, const THash_object& o)
|
||||
|
||||
// Sostituisce magic-names nei prompt
|
||||
TString80 s;
|
||||
int i;
|
||||
for (i = 0; i < MAXID; i++)
|
||||
for (int i = 0; i < MAXID; i++)
|
||||
{
|
||||
TForm_item& desc_field = foot.find_field(f_id[i]);
|
||||
if (desc_field.shown())
|
||||
@ -1048,7 +1067,7 @@ void TEC_form::print_total(int riga, const THash_object& o)
|
||||
foot.update();
|
||||
|
||||
// Ripristina prompt originari
|
||||
for (i = 0; i < MAXID; i++)
|
||||
for (int i = 0; i < MAXID; i++)
|
||||
{
|
||||
const TString* p = (const TString*)prompt.objptr(i);
|
||||
if (p)
|
||||
@ -1271,8 +1290,7 @@ void TEC_form::set_agente(const TString& codag)
|
||||
if (good)
|
||||
{
|
||||
TString ag;
|
||||
ag << codag << ' ';
|
||||
ag << cache().get(LF_AGENTI, codag, AGE_RAGSOC);
|
||||
ag << codag << ' ' << cache().get(LF_AGENTI, codag, AGE_RAGSOC);
|
||||
|
||||
if (printing())
|
||||
{
|
||||
@ -1281,7 +1299,7 @@ void TEC_form::set_agente(const TString& codag)
|
||||
else
|
||||
{
|
||||
_recordset->new_rec();
|
||||
_recordset->set("Descrizione", TVariant(ag));
|
||||
_recordset->set("Descrizione", ag);
|
||||
_recordset->new_rec();
|
||||
}
|
||||
}
|
||||
@ -1303,6 +1321,7 @@ TEC_form::TEC_form(const TEC_mask& m, bool gesval, bool excel)
|
||||
_dls = m.get(F_DATALIMSC);
|
||||
_giorni_rischio = m.get_int(F_GIORISCH);
|
||||
_dir = _dls; _dir -= _giorni_rischio;
|
||||
_note_scadenti = m.get_bool(F_NC_SCAD);
|
||||
|
||||
TForm_item& flags = find_field('H', last_page, PEC_FLAGS);
|
||||
|
||||
@ -1315,7 +1334,6 @@ TEC_form::TEC_form(const TEC_mask& m, bool gesval, bool excel)
|
||||
if (oem == 0 && main_app().has_module(CAAUT))
|
||||
{
|
||||
TForm_item& codanal = _form->find_field('B', odd_page, PEC_ANALITICA);
|
||||
|
||||
codanal.show();
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
#define F_CODPROF 103
|
||||
#define F_LINPROF 104
|
||||
#define F_DESPROF 105
|
||||
#define F_NC_SCAD 106
|
||||
#define F_DATALIMOP 110
|
||||
#define F_DATALIMSC 111
|
||||
#define F_GIORISCH 112
|
||||
|
@ -96,10 +96,15 @@ END
|
||||
|
||||
NUMBER F_GIORISCH 3
|
||||
BEGIN
|
||||
PROMPT 2 6 "Giorni calcolo rischio "
|
||||
PROMPT 49 5 "Giorni calcolo rischio "
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_NC_SCAD
|
||||
BEGIN
|
||||
PROMPT 2 6 "Considera scadute le note di credito non associate ad alcuna rata"
|
||||
END
|
||||
|
||||
BOOLEAN F_STAMPCHIU
|
||||
BEGIN
|
||||
PROMPT 2 7 "Stampa partite chiuse"
|
||||
|
Loading…
x
Reference in New Issue
Block a user