Correzione errore MI6267, relativo all'esclusione degli altri dati

relativi alla dichiarazione nel caso di acquisti NON SOGGETTI.
Resa obbligatoria la selezione del mese/periodo in caso di annuale,
evitando calcoli sbagliati nel casi di trimestrali con ricalcolo
periodi precedenti.


git-svn-id: svn://10.65.10.50/trunk@5521 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1997-11-03 16:34:30 +00:00
parent 633521019d
commit e1cbc8ce28
2 changed files with 89 additions and 59 deletions

View File

@ -665,6 +665,16 @@ bool TLiquidazione_app::lst_tm_handler(TMask_field& f, KEY key)
if (f.to_check(key)) if (f.to_check(key))
{ {
const int m = atoi(f.get()); const int m = atoi(f.get());
TMask& msk = f.mask();
if (m == 13)
{
msk.field(CG43_LST_CALC).set("2");
msk.field(CG43_LST_CALC).disable();
}
else
msk.field(CG43_LST_CALC).enable();
const bool change = (app()._month != 13 && m == 13) || (app()._month == 13 && m != 13); const bool change = (app()._month != 13 && m == 13) || (app()._month == 13 && m != 13);
if (change) if (change)
{ {

View File

@ -722,36 +722,62 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
totintra += imposta; totintra += imposta;
// Altre cose di cui tener conto // Altre cose di cui tener conto
if (tipomov == acquisto && (tipocr == 1 || tipocr == 5)) // Separo pazientemente per movimenti d'acquisto e movimenti di vendita
/* // onde evitare rompicapi, rompicazzi ecc...
* Acquisto beni per rivendita
*/ switch (tipomov)
{
acquisto: // ACQUISTO (per chi non l'avesse capito)
// Per le anguille delle antille e le saracche delle molucche...
// Gli acquisti con tipocr 1,2,3,5,8 vanno totalizzati se e solo se
// il tipo iva e' diverso da NON SOGGETTO
if (tipoiva != "NS")
{
if (tipocr == 1 || tipocr ==5)
// Acquisto beni per rivendita
{ {
acq_riv += imponibile; acq_riv += imponibile;
acq_riv_iva += imposta; acq_riv_iva += imposta;
was_riv = TRUE; was_riv = TRUE;
} }
else if (tipocr == 2 && tipodet == 0)
else if (tipomov == acquisto && tipocr == 2 && tipodet == 0)
// Acquisto beni ammortizzabili detraibili // Acquisto beni ammortizzabili detraibili
{ {
ammort_det += imponibile; ammort_det += imponibile;
ammort_det_iva += imposta; ammort_det_iva += imposta;
} }
else if (tipomov == acquisto && tipocr == 2 && tipodet != 0) else if (tipocr == 2 && tipodet != 0)
// Acquisto beni ammortizzabili indetraibili // Acquisto beni ammortizzabili indetraibili
{ {
ammort_indet += imponibile; ammort_indet += imponibile;
ammort_indet_iva += imposta; ammort_indet_iva += imposta;
} }
else if (tipomov == acquisto && tipocr == 3) else if (tipocr == 3)
// Acquisto beni ammortizzabili detr. 6% // Acquisto beni ammortizzabili detr. 6%
{ {
ammort_6 += imponibile; ammort_6 += imponibile;
ammort_6_iva += imposta; ammort_6_iva += imposta;
ult_detr += imponibile * real(DETRAZIONE_6PERCENTO); ult_detr += imponibile * real(DETRAZIONE_6PERCENTO);
} }
else if (tipomov == vendita && tipocr == 4) else if (tipocr == 8)
// Acquisto beni strum. acquisiti in leasing
{
leasing += imponibile;
leasing_iva += imposta;
}
} // fine if per tipo iva != da NON SOGGETTO
// Mi chiedo se effettivamente il tipo 9 sia esente da qualsiasi criterio...
if (tipocr == 9)
// Spese generali
{
spgen += imponibile;
spgen_iva += imposta;
}
// else fuck it up, dirty dick head.
break;
vendita: // VENDITA
if (tipocr == 4)
/* /*
* Vendite strum. art 17 (cess. amm.) * Vendite strum. art 17 (cess. amm.)
* Comprende anche autofatture, anche nell'annuale * Comprende anche autofatture, anche nell'annuale
@ -768,18 +794,11 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
cess_amm_iva += imposta; cess_amm_iva += imposta;
} }
} }
else if (tipomov == acquisto && tipocr == 8) break;
// Acquisto beni strum. acquisiti in leasing default: // Chissa' cosa cazzo puo' esserci oltre ad acquisto/vendita ?
{ break;
leasing += imponibile; } // Fine del malefico switch
leasing_iva += imposta;
}
else if (tipomov == acquisto && tipocr == 9)
// Spese generali
{
spgen += imponibile;
spgen_iva += imposta;
}
// operazioni per calcolo rimborso infraanale // operazioni per calcolo rimborso infraanale
// Scudler 1995 e molti dopo di lei // Scudler 1995 e molti dopo di lei
@ -890,7 +909,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
TString ivacomp("00"); // Se non esiste o non si trova il conto questo e' il default (fa un poco schifo ma e' cosi') TString ivacomp("00"); // Se non esiste o non si trova il conto questo e' il default (fa un poco schifo ma e' cosi')
if (_cur->is_first_match(-AGR_PCON1)) // Esiste il conto ? if (_cur->is_first_match(-AGR_PCON1)) // Esiste il conto ?
// Bien, allora controlliamo il se e' un ricavo... // Bien, allora controlliamo se e' un ricavo...
if (_pcon_1_r->get_int(PCN_INDBIL) == 4) if (_pcon_1_r->get_int(PCN_INDBIL) == 4)
if (_cur->is_first_match(-AGR_PCON2)) // Esiste il sottoconto ? if (_cur->is_first_match(-AGR_PCON2)) // Esiste il sottoconto ?
{ {
@ -959,6 +978,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
// Non che i casi normali siano tanto meglio // Non che i casi normali siano tanto meglio
// ***************************************** // *****************************************
} // non sosp_imp ne' altre casistiche che escludono la liq. } // non sosp_imp ne' altre casistiche che escludono la liq.
/* /*
* Calcolo e aggiornamento * Calcolo e aggiornamento
* cerca o crea progressivo IVA * cerca o crea progressivo IVA