Correzione stampa liquidazione in presenza di note di credito su fatture con iva differita e di prorata (CRPA e Bellegotti)
git-svn-id: svn://10.65.10.50/branches/R_10_00@22614 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
432bb34728
commit
cfb80ca474
@ -1,6 +1,5 @@
|
||||
#include <xvt.h>
|
||||
|
||||
#define __MAIN__
|
||||
#include "cg4.h"
|
||||
|
||||
int main(int argc,char** argv)
|
||||
|
4
cg/cg4.h
4
cg/cg4.h
@ -1,10 +1,6 @@
|
||||
#ifndef __CG4_H
|
||||
#define __CG4_H
|
||||
|
||||
#ifndef __STRINGS_H
|
||||
#include <strings.h>
|
||||
#endif
|
||||
|
||||
int cg4100(int argc, char* argv[]);
|
||||
int cg4200(int argc, char* argv[]);
|
||||
int cg4300(int argc, char* argv[]);
|
||||
|
@ -178,7 +178,7 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
||||
|
||||
look_lim(liq_month(month), TRUE);
|
||||
_isdiffacc = is_differita();
|
||||
_isdifferita = _isdiffacc;
|
||||
_isdifferita = _isdiffacc;
|
||||
|
||||
look_lia();
|
||||
_isintr = _freqviva == "T" && !_lia->get_bool("B3"); // was CNF_DITTA->InTrtr
|
||||
@ -862,7 +862,6 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
|
||||
if (has_sc && movdiff && (!datainc.ok() || datainc > inizio))
|
||||
{
|
||||
|
||||
arrpart.add_numreg(numreg);
|
||||
if (arrpart.utilizzata(numreg, 1))
|
||||
{
|
||||
@ -875,7 +874,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
|
||||
if (row >= 0)
|
||||
{
|
||||
TRiga_partite rp = p->riga(row);
|
||||
const TRiga_partite& rp = p->riga(row);
|
||||
TImporto importo(rp.get_char(PART_SEZ), rp.get_real(PART_IMPORTO)); importo.normalize(); importo.swap_section();
|
||||
|
||||
totfat += importo.valore();
|
||||
@ -891,13 +890,18 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
if ((diffpayed && dok) || (pag.valore() > totfat))
|
||||
pag.set(sez, totfat);
|
||||
pagatt = pag.valore() - pagprec.valore();
|
||||
if (pagatt > ZERO)
|
||||
dok = true;
|
||||
|
||||
// Spostato sotto 26/03/2012
|
||||
//if (pagatt > ZERO)
|
||||
// dok = true;
|
||||
|
||||
// Inizio aggiunte di Bonazzi del 16/02/2012
|
||||
ncatt = nc.valore() - ncprec.valore();
|
||||
pagatt -= ncatt;
|
||||
// Fine aggiunte di Bonazzi del 16/02/2012
|
||||
|
||||
if (pagatt > ZERO)
|
||||
dok = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2175,17 +2179,11 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
|
||||
const real prorata_diff = _prorata.calc_prorata(aaa, _year);
|
||||
|
||||
// Somma i vari prorata calcolati per gli anni precedenti
|
||||
prorata += prorata_precedente1 + prorata_precedente2;
|
||||
prorata += prorata_precedente1 + prorata_precedente2;
|
||||
|
||||
if (!fdiffinc_iva_acq.is_zero())
|
||||
{
|
||||
// Calcolo prorata su pagamenti con IVA per cassa
|
||||
const real prorata_diffinc_acq = _prorata.calc_prorata(fdiffinc_iva_acq, _year);
|
||||
prorata += prorata_diffinc_acq;
|
||||
fdiffinc_iva_acq -= prorata_diffinc_acq;
|
||||
}
|
||||
|
||||
acquisti_iva -= prorata; // Rettifica acquisti_iva
|
||||
|
||||
prorata += prorata_diff;
|
||||
fdiffinc_iva_acq -= prorata_diff; // Rettifica acquisti_iva differiti incassati
|
||||
}
|
||||
look_plm(month, codatt, TRUE);
|
||||
|
@ -979,10 +979,10 @@ bool TLiquidazione_app::is_differita(long firm, int year)
|
||||
{
|
||||
long d = (firm == 0) ? _nditte->lfile().get_long("CODDITTA") : firm;
|
||||
int y = (year == 0) ? atoi(_year) : year;
|
||||
if (look_lia(d, atoi(_year) > 0))
|
||||
if (look_lia(d, atoi(_year) > 0), y) // 26/03/2012 aggiunto ,y)
|
||||
return _lia->get_bool("B1");
|
||||
else
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
real TLiquidazione_app::aliquota_agvia()
|
||||
|
@ -2316,7 +2316,7 @@ void TLiquidazione_app::set_grand_2000(_DescrItem& d, int &rw)
|
||||
if (!_is_visliq)
|
||||
iva_acq += rett_cred;
|
||||
set_row(rw++,FR("@11gIva che si detrae per il periodo@58g%r"), &iva_acq);
|
||||
if (diffinc_iva_acq != ZERO)
|
||||
if (!diffinc_iva_acq.is_zero())
|
||||
set_row(rw++,FR("@11gIVA a liquidazione differita pagata@58g%r"), &diffinc_iva_acq);
|
||||
if (_is_visliq)
|
||||
set_row(rw++,FR("@11g$[r]Rettifiche IVA a credito$[n]@58g%r"), &rett_cred);
|
||||
|
@ -313,20 +313,19 @@ TImporto TRiga_scadenze::importo_pagato_al(bool val, const TDate & al, int mode)
|
||||
|
||||
if (datapag <= al)
|
||||
{
|
||||
const char sez = sum.sezione();
|
||||
|
||||
// Inizio aggiunte di Bonazzi del 16/02/2012
|
||||
if (mode & 0x10) // solo le note di credito
|
||||
{
|
||||
const tipo_movimento tm = (tipo_movimento)sum.get_int(PART_TIPOMOV);
|
||||
if (tm != tm_nota_credito)
|
||||
continue;
|
||||
}
|
||||
// Fine aggiunte di Bonazzi del 16/02/2012
|
||||
|
||||
const char sez = sum.sezione();
|
||||
if (mode & 0x1)
|
||||
{
|
||||
// Inizio aggiunte di Bonazzi del 16/02/2012
|
||||
if (mode & 0x10) // solo le note di credito
|
||||
{
|
||||
const tipo_movimento tm = (tipo_movimento)sum.get_int(PART_TIPOMOV);
|
||||
if (tm == tm_nota_credito)
|
||||
totale += TImporto(sez, pag.get_real(imp_field));
|
||||
}
|
||||
else // tutto
|
||||
totale += TImporto(sez, pag.get_real(imp_field));
|
||||
// Fine aggiunte di Bonazzi del 16/02/2012
|
||||
totale += TImporto(sez, pag.get_real(imp_field));
|
||||
}
|
||||
|
||||
if (!in_val && (mode & 0x8)) // Le ritenute non esistono nei pagamenti in valuta
|
||||
@ -824,7 +823,15 @@ int TRiga_partite::write(TBaseisamfile& f) const
|
||||
// Certified 100%
|
||||
int TRiga_partite::rewrite(TBaseisamfile& f) const
|
||||
{
|
||||
const int err = is_fattura() ? TTree_rectype::rewrite(f) : TRectype::rewrite(f);
|
||||
int err = NOERR;
|
||||
if (is_fattura())
|
||||
err = TTree_rectype::rewrite(f);
|
||||
else
|
||||
{
|
||||
err = TRectype::rewrite(f);
|
||||
if (err == NOERR && rows_array().rows() > 0) // Elimina rate se riga trasformata da fattura a nota di credito
|
||||
rows_array().remove();
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user