Patch level : 12.0 392

Files correlati     : tf
Commento            : Risistemato calcolo periodo precedente, non ci avevo capito una mazza.
- Sistemata maschera invio, il profilo fa casini, sostituito con un file di configurazione


git-svn-id: svn://10.65.10.50/branches/R_10_00@23803 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
mtollari 2017-05-12 08:44:32 +00:00
parent e6cd4e49da
commit 832efdd521
3 changed files with 26 additions and 29 deletions

View File

@ -168,7 +168,6 @@ void calcolaCreditoPrec(real& creprec, real& creaprec, bool mensile, int anno, i
* Questi geni hanno messo la possibilità di mettere un valore <0 se voglio utilizzare del credito precedente */
TRectype rowLia = getLIA(anno);
if(mensile || (!mensile && ((mese - 1) % 3) == 0))
{
TRelation ivaLiq(LF_IVALIQ);
@ -176,27 +175,31 @@ void calcolaCreditoPrec(real& creprec, real& creaprec, bool mensile, int anno, i
// Fino al mese precedente
TRectype to(ivaLiq.curr()); to.put("ANNO", anno); to.put("MESE", mese - 1);
TSorted_cursor curLiq(&ivaLiq, "MESE-", "GENERATA!=\"G\"", 1, &from, &to);
TCursor curLiq(&ivaLiq, "GENERATA!=\"G\"", 1, &from, &to);
bool trovato = false;
for(curLiq = 0; curLiq.pos() < curLiq.items(); ++curLiq)
{
TRectype rowLiq = curLiq.curr();
if(rowLiq.get_int("MESE") >= mese) continue; // Perchè li prende lo stesso?
if(rowLiq.get_real("IVADOVC") > ZERO)
creprec += rowLiq.get_real("IVADOVC");
else
creprec -= rowLiq.get_real("IVADOV");
// Sommo finchè non trovo il primo valore positivo
if(!trovato)
creaprec = creaprec + rowLiq.get_real("CREAPREC");
// Se è > 0 Ho trovato il primo valore messo nella dichiarazione
if(rowLiq.get_real("CREAPREC") > ZERO)
if(rowLiq.get_int("MESE") >= mese) break; // Perchè li prende lo stesso?
if(rowLiq.get_real("IVAVER") == ZERO)
{
trovato = true;
creprec = rowLiq.get_real("CREPREC") + rowLiq.get_real("IVADOVC");
// Possono esserci valori negativi, nel caso vanno sommati altrimenti sostituisco
if(rowLiq.get_real("CREAPREC") < ZERO)
creaprec += rowLiq.get_real("CREAPREC");
else
creaprec = rowLiq.get_real("CREAPREC");
}
else
{
creprec = ZERO;
creaprec = ZERO;
}
// Se il credito precedente è almeno una volta positivo flaggo trovato
if(rowLiq.get_real("CREAPREC") > ZERO)
trovato = true;
}
/* Se non ho trovato nessun valore positivo (i negativi senza nessun positivo prima non sono validi)
* vado a leggere la liquidazione di quest'anno */
@ -204,12 +207,6 @@ void calcolaCreditoPrec(real& creprec, real& creaprec, bool mensile, int anno, i
{
creaprec = rowLia.get_real("R0");
}
/* Se ho esaurito il credito del periodo precedente lo sottraggo a quello dell'anno precedente e lo azzero */
if(creprec < ZERO)
{
creaprec += creprec;
creprec = ZERO;
}
}
}

View File

@ -85,6 +85,11 @@ bool TIvaSend_msk::on_field_event(TOperable_field& o, TField_event e, long jolly
{
switch(o.dlg())
{
case F_PATH:
if(e == fe_init)
{
set(F_PATH, ini_get_string(CONFIG_STUDIO, "tf", "path_invio"));
}
case F_ANNO:
if(e == fe_modify)
{
@ -199,6 +204,8 @@ bool TIvaSend_app::generate(TIvaSend_msk& msk)
if(!file.is_open())
error_box(TR("Impossibile aprire il file alla posizione %s", path));
else
ini_set_string(CONFIG_STUDIO, "tf", "path_invio", msk.get(F_PATH));
TToken_string testata(getTestata(msk));

View File

@ -141,12 +141,5 @@ BEGIN
FLAGS "D"
END
STRING DLG_PROFILE 256
BEGIN
PROMPT 1 -1 "Profilo "
PSELECT
FLAGS "H"
END
ENDPAGE
ENDMASK