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

@ -664,7 +664,17 @@ 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,64 +722,83 @@ 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)
{ {
acq_riv += imponibile; acquisto: // ACQUISTO (per chi non l'avesse capito)
acq_riv_iva += imposta; // Per le anguille delle antille e le saracche delle molucche...
was_riv = TRUE; // 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")
else if (tipomov == acquisto && tipocr == 2 && tipodet == 0) {
// Acquisto beni ammortizzabili detraibili if (tipocr == 1 || tipocr ==5)
{ // Acquisto beni per rivendita
ammort_det += imponibile; {
ammort_det_iva += imposta; acq_riv += imponibile;
} acq_riv_iva += imposta;
else if (tipomov == acquisto && tipocr == 2 && tipodet != 0) was_riv = TRUE;
// Acquisto beni ammortizzabili indetraibili }
{ else if (tipocr == 2 && tipodet == 0)
ammort_indet += imponibile; // Acquisto beni ammortizzabili detraibili
ammort_indet_iva += imposta; {
} ammort_det += imponibile;
else if (tipomov == acquisto && tipocr == 3) ammort_det_iva += imposta;
// Acquisto beni ammortizzabili detr. 6% }
{ else if (tipocr == 2 && tipodet != 0)
ammort_6 += imponibile; // Acquisto beni ammortizzabili indetraibili
ammort_6_iva += imposta; {
ult_detr += imponibile * real(DETRAZIONE_6PERCENTO); ammort_indet += imponibile;
} ammort_indet_iva += imposta;
else if (tipomov == vendita && tipocr == 4) }
/* else if (tipocr == 3)
* Vendite strum. art 17 (cess. amm.) // Acquisto beni ammortizzabili detr. 6%
* Comprende anche autofatture, anche nell'annuale {
* (Sergio 1995) ammort_6 += imponibile;
*/ ammort_6_iva += imposta;
{ ult_detr += imponibile * real(DETRAZIONE_6PERCENTO);
/* NO! }
* Invece non le deve comprendere nell'annuale else if (tipocr == 8)
* (Vladimiro 1995, piu' tardi) // Acquisto beni strum. acquisiti in leasing
*/ {
if (!(_month == 13 && autodafe)) leasing += imponibile;
{ leasing_iva += imposta;
cess_amm += imponibile; }
cess_amm_iva += imposta; } // fine if per tipo iva != da NON SOGGETTO
}
} // Mi chiedo se effettivamente il tipo 9 sia esente da qualsiasi criterio...
else if (tipomov == acquisto && tipocr == 8) if (tipocr == 9)
// Acquisto beni strum. acquisiti in leasing // Spese generali
{ {
leasing += imponibile; spgen += imponibile;
leasing_iva += imposta; spgen_iva += imposta;
} }
else if (tipomov == acquisto && tipocr == 9) // else fuck it up, dirty dick head.
// Spese generali break;
{ vendita: // VENDITA
spgen += imponibile; if (tipocr == 4)
spgen_iva += imposta; /*
} * Vendite strum. art 17 (cess. amm.)
* Comprende anche autofatture, anche nell'annuale
* (Sergio 1995)
*/
{
/* NO!
* Invece non le deve comprendere nell'annuale
* (Vladimiro 1995, piu' tardi)
*/
if (!(_month == 13 && autodafe))
{
cess_amm += imponibile;
cess_amm_iva += imposta;
}
}
break;
default: // Chissa' cosa cazzo puo' esserci oltre ad acquisto/vendita ?
break;
} // Fine del malefico switch
// 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