Merge branch 'R_10_00' of http://10.65.20.33/sirio/CAMPO/campo into R_10_00

This commit is contained in:
Sirio Builder 2020-09-15 21:54:58 +02:00
commit 706f2a6f2e
10 changed files with 67 additions and 27 deletions

View File

@ -392,7 +392,7 @@ bool TPrimanota_application::read_caus(const char* cod, int year)
m->show(F_DATA74TER, av);
if (!av) m->reset(F_DATA74TER);
TRegistro& r = c.reg();
const TRegistro& r = (TRegistro &) c.reg();
const bool reg_vendite = r.iva() == iva_vendite && !r.corrispettivi();
const bool show_notevar = iva == iva_vendite || iva == iva_acquisti;
const bool show_active_revcharge = iva == iva_acquisti && causale().reverse_charge_pubb();
@ -980,7 +980,7 @@ void TPrimanota_application::init_insert_mode(TMask& m)
}
if (iva() != nessuna_iva)
{
TRegistro& reg = causale().reg();
TRegistro & reg = (TRegistro &) causale().reg();
const TString4 codreg = reg.name();
const int regyear = reg.year();
@ -1181,9 +1181,10 @@ int TPrimanota_application::read(TMask& m)
}
_saldi.reset(); // Azzera saldi
_saldi.set_movprovv(_rel->curr().get_char(MOV_PROVVIS));
tiposal tsal = causale().apertura() ? apertura :
(causale().chiusura() ? chiusura : normale);
_saldi.set_movprovv(_rel->curr().get_char(MOV_PROVVIS));
tiposal tsal = causale().tipo_saldo();
_saldi.set_tipo_saldo(tsal);
_saldi.set_anno_es(m.get_int(F_ANNOES));
_saldi.set_num_ulmov(numreg);
@ -1308,8 +1309,9 @@ void TPrimanota_application::mask2rel(const TMask& m)
const int annoes = m.get_int(F_ANNOES);
_saldi.set_movprovv(m.get(F_PROVVISORIO)[0]);
tiposal tsal = causale().apertura() ? apertura :
(causale().chiusura() ? chiusura : normale);
tiposal tsal = causale().tipo_saldo();
_saldi.set_tipo_saldo(tsal);
_saldi.set_anno_es(annoes);
_saldi.set_num_ulmov(numreg);
@ -1643,7 +1645,8 @@ int TPrimanota_application::write(const TMask& m)
int tipauto = 0; // Tipo movimento automatico
TString4 causauto; // Possibile causale per incasso immediato
causale().reg().reread(); // Aggiorna protocollo IVA
cache().discard("REG", causale().reg().codice());
//(TRegistro &)causale().reg()).reread(); // Aggiorna protocollo IVA
if (is_saldaconto())
{
switch (causale().tipomov())
@ -2274,6 +2277,7 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
{
set_not_empty(msk, F_CODCAUS, ini, MOV_CODCAUS);
TString16 val = ini.get(MOV_DATAREG);
if (val.blank())
{
const long numreg = ini.get_long(MOV_NUMREG);

View File

@ -2368,7 +2368,7 @@ bool TPrimanota_application::datareg_handler(TMask_field& f, KEY key)
{
const int ar = dr.year(); // Anno solare registri
const TCausale & caus = cached_causale(m.get(F_CODCAUS), ar);
TRegistro& reg = caus.reg();
TRegistro& reg = (TRegistro &) caus.reg();
const TString4 codreg = reg.name();
if (codreg.full())

View File

@ -2,16 +2,6 @@
#include "causali.h"
#include <utility.h>
enum tiporeg {
vendita = 1,
acquisto = 2,
riepilogativo = 3,
incassi = 4,
giornale = 5,
sociale = 6,
cespiti = 7
};
///////////////////////////////////////////////////////////
// TRiepilogoIVA_report
///////////////////////////////////////////////////////////

View File

@ -10,6 +10,7 @@
#include "../cg/cfban.h"
#include <alleg.h>
#include <anagr.h>
#include <doc.h>
#include <effetti.h>
#include <anafis.h>
#include <comuni.h>
@ -605,6 +606,29 @@ const TCli_for & cached_clifor(const char tipo, long codice)
return __cache_clifor.clifor(tipo, codice);
}
const TCli_for & cached_clifor(int file, const TRectype & rec)
{
char tipo = ' ';
long codice = 0L;
switch (file)
{
case LF_MOV:
tipo = rec.get_char(MOV_TIPO);
codice = rec.get_long(MOV_CODCF);
break;
case LF_DOC:
tipo = rec.get_char(DOC_TIPOCF);
codice = rec.get_long(DOC_CODCF);
break;
default:
tipo = rec.get_char(CLI_TIPOCF);
codice = rec.get_long(CLI_CODCF);
break;
}
return cached_clifor(tipo, codice);
}
TOccasionale::TOccasionale() : TRectype(LF_OCCAS)
{ }

View File

@ -4,7 +4,6 @@
#include <relation.h>
#include "cgsaldac.h"
#include "cglib.h"
#include <doc.h>
#include <mov.h>

View File

@ -93,7 +93,7 @@ BEGIN
ITEM "FTV|FTV - Fattura di Vendita"
END
LIST F_CAUSSOS 4 33
LIST F_CAUSSOS 4 40
BEGIN
PROMPT 1 5 "Causale per sostitutiva"
FLAGS ""
@ -104,7 +104,18 @@ BEGIN
ITEM "TD04|TD04 Nota di credito"
ITEM "TD05|TD05 Nota di debito"
ITEM "TD06|TD06 Parcella"
ITEM "TD16|TD16 Integraz. fatt. rev.ch. interno"
ITEM "TD17|TD17 Integ./autof. acq. servizi estero"
ITEM "TD18|TD18 Integ. acq. beni intracomunitari"
ITEM "TD19|TD19 Integ./autof. acq. beni ex art. 17"
ITEM "TD20|TD20 Autofattura"
ITEM "TD21|TD21 Autofattura per splafonamento"
ITEM "TD22|TD22 Estrazione beni da Deposito IVA"
ITEM "TD23|TD23 Estr. beni Deposito IVA vers. IVA"
ITEM "TD24|TD24 Fatt. differita art.21 c.4 lett. a"
ITEM "TD25|TD25 Fatt. differita art. 21 c.4 per.3 b"
ITEM "TD26|TD26 Cess. beni ammort./passaggi interni"
ITEM "TD27|TD27 Fatt. autoconsumo/cessioni gratuite"
END
STRING F_CAUSCONT 6

View File

@ -22,8 +22,6 @@
// Controlla eventuali apostrofi e li raddoppia
const char* check_str(const TString& str);
const TDate today(TODAY);
struct annesso_t
{
TString numreg; // TString ez-pz

View File

@ -565,7 +565,11 @@ TString TEstrazione::next_estr_today(char tipo) const
bool TEstrazione::pura_iva(const TLocalisamfile& mov)
{
return TCausale(mov.get(MOV_CODCAUS), mov.get_date(MOV_DATAREG).year()).soloiva();
if (TCausale(mov.get(MOV_CODCAUS), mov.get_date(MOV_DATAREG).year()).soloiva())
return true;
TMovimento_contabile* rel = new TMovimento_contabile();
rel->put(MOV_NUMREG, mov.get(MOV_NUMREG));
return rel->cg_rows() == 0;
}
void TEstrazione::write_errorsql_log(const TString& query) const
@ -1388,7 +1392,18 @@ const char* TCategorie_doc::traduci_caus_sost(const TString& caus)
if (caus == "TD04") return "TD04 Nota di credito";
if (caus == "TD05") return "TD05 Nota di debito";
if (caus == "TD06") return "TD06 Parcella";
if (caus == "TD16") return "TD16 Integraz. fatt. rev.ch. interno";
if (caus == "TD17") return "TD17 Integ./autof. acq. servizi estero";
if (caus == "TD18") return "TD18 Integ. acq. beni intracomunitari";
if (caus == "TD19") return "TD19 Integ./autof. acq. beni ex art. 17";
if (caus == "TD20") return "TD20 Autofattura";
if (caus == "TD21") return "TD21 Autofattura per splafonamento";
if (caus == "TD22") return "TD22 Estrazione beni da Deposito IVA";
if (caus == "TD23") return "TD23 Estr. beni Deposito IVA vers. IVA";
if (caus == "TD24") return "TD24 Fatt. differita art.21 c.4 lett. a";
if (caus == "TD25") return "TD25 Fatt. differita art. 21 c.4 per.3 b";
if (caus == "TD26") return "TD26 Cess. beni ammort./passaggi interni";
if (caus == "TD27") return "TD27 Fatt. autoconsumo/cessioni gratuite";
return "";
}

View File

@ -3,8 +3,7 @@
#include <diction.h>
#include <relation.h>
#include "../cg/cg2101.h"
#include "../cg/cglib02.h"
#include "../cg/cglib.h"
///////////////////////////////////////////////////////////

View File

@ -2002,7 +2002,7 @@ Y=1
SIZE=40
PROMPT="Tipo documento SDI "
FIELDNAME=TIPO_SDI
ITEMS=|@TD01|TD01 Fattura@TD02|TD02 Acconto/Anticipo su fattura@TD03|TD03 Acconto/Anticipo su parcella@TD04|TD04 Nota di credito@TD05|TD05 Nota di debito@TD06|TD06 Parcella@TD16|TD16 Integraz. fatt. rev.ch. interno@TD17|TD17 Integ./autof. acq. servizi estero@TD18|TD18 Integ. acq. beni intracomunitari@TD19|TD19 Integ./autof. acq. beni ex art. 17@TD20|TD20 Autofattura@TD21|TD21 Autofattura per splafonamento@TD22|TD22 Estrazione beni da Deposito IVA@TD23|TD23 Estr. beni Deposito IVA vers. IVA@TD24|TD24 Fatt. differita art.21 c.4 lett. a@TD25|TD25 Fatt. differita art. 21 c.4 per.3 b@TD26|TD26 Cess. beni ammort./passaggi interni@TD27|TD27 Fatt. autoconsumo/cessioni gratuite"
ITEMS=|@TD01|TD01 Fattura@TD02|TD02 Acconto/Anticipo su fattura@TD03|TD03 Acconto/Anticipo su parcella@TD04|TD04 Nota di credito@TD05|TD05 Nota di debito@TD06|TD06 Parcella@TD16|TD16 Integraz. fatt. rev.ch. interno@TD17|TD17 Integ./autof. acq. servizi estero@TD18|TD18 Integ. acq. beni intracomunitari@TD19|TD19 Integ./autof. acq. beni ex art. 17@TD20|TD20 Autofattura@TD21|TD21 Autofattura per splafonamento@TD22|TD22 Estrazione beni da Deposito IVA@TD23|TD23 Estr. beni Deposito IVA vers. IVA@TD24|TD24 Fatt. differita art.21 c.4 lett. a@TD25|TD25 Fatt. differita art. 21 c.4 per.3 b@TD26|TD26 Cess. beni ammort./passaggi interni@TD27|TD27 Fatt. autoconsumo/cessioni gratuite
[INVIO_FP]
TYPE=T_CHECKBOX