Patch level : 12.0

Files correlati     : cg0500a.uml f26.dir f26.trr f9lib01.cpp

Commento:
Aggiunto il flag "Escludi da archiviazione sostitutiva" nella videata delle causali.
Tutti docoumenti di vendita che hanno una causale con questo flag attivo vengono ignorati da programma che fa l'archiviazione sostitutiva
This commit is contained in:
Simoe 2022-10-19 09:19:37 +02:00
parent 29e7c0c77a
commit de72654815
7 changed files with 42 additions and 21 deletions

View File

@ -39,6 +39,7 @@
#define F_RIL_FT_EM_RI 236
#define F_DATAREG_PREC 237
#define F_TIPO_SDI 238
#define F_ESCULDIARC 239
#define SS_TIPO 101
#define SS_SEZIONE 102

View File

@ -191,6 +191,12 @@ BEGIN
FIELD SOLOIVA
END
BOOLEAN F_ESCULDIARC
BEGIN
PROMPT 30 7 "Escludi causale dall'archiviazione sostitutiva"
FILED ESCLUDIARC
END
SPREADSHEET F_SHEET_GCS
BEGIN
PROMPT 0 8 "Righe"

View File

@ -336,6 +336,7 @@ public:
int regime_speciale() const;
bool corrispettivi() const { return _corrisp; }
bool esclusione_allegati() const;
bool escludi2archiviazione() const { return _rec.get_bool(CAU_ESCLUDIARC); }
// bill deve essere il conto di ricavo
bool IVA2bill(const TCodiceIVA& iva, TBill& bill) const;
@ -415,6 +416,8 @@ public: // TObject
bool denominatore_pro_rata() const { return get_bool("B7"); }
bool reverse_charge_attivo() const { return get_bool("B8"); }
real imposta(const real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const; // Calcola l'imposta sull'imponibile l'imposta e la ritorna
real scorpora(real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const; // Scorpora dall'imponibile l'imposta e la ritorna
real lordo(const real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const; // Calcola il lordo dell'imponibile l'imposta e la ritorna

View File

@ -1,3 +1,3 @@
26
0
$caus|0|0|92|0|Causali contabili|||
$caus|0|0|93|0|Causali contabili|||

View File

@ -1,5 +1,5 @@
26
29
30
CODCAUS|1|3|0|Codice causale
DESCR|1|50|0|Descrizione causale
TIPODOC|1|2|0|Tipo documento
@ -29,6 +29,7 @@ LIQDIFF|8|1|0|Fatture a liquidazione differita
RILFTEMRI|8|1|0|Causale di rilevazione fatture de emettere o ricevere
DATAREGPR|8|1|0|Registrazione rilevamento fatture da ricevere/emettere a fine esercizio
TIPODOCSDI|1|4|0|Tipo documento Agenzia delle Entrate
ESCLUDIARC|8|1|0|Flag per escludere la causale dall'archiviazione sostitutiva
2
CODCAUS|
UPPER(DESCR)|X

View File

@ -1094,10 +1094,18 @@ bool TEstrazione::estrazione_iva(bool escluso)
FOR_EACH_ARRAY_ITEM(_movs, r, obj)
{
TMovimento_estr & mov_i = (TMovimento_estr &)*obj;
if (bar.add_status() && mov_i.estratto())
{
const TRectype& mov = cache().get(LF_MOV, mov_i.numreg());
const TCausale caus(mov.get(MOV_CODCAUS), mov.get_date(MOV_DATAREG).year());
bool harambe = caus.escludi2archiviazione();
if (caus.escludi2archiviazione()) {
int siamodentro = 0;
}
if (bar.add_status() && mov_i.estratto() && !caus.escludi2archiviazione())
{
TToken_string key = mov.get(MOV_TIPO);
key.add(mov.get(MOV_CODCF));
@ -1126,27 +1134,32 @@ bool TEstrazione::estrazione_iva(bool escluso)
iva_query.add(IVA_IDFISC, idfisc, 30);
iva_query.add(IVA_PIVA, paiv, 28);
iva_query.add(IVA_CODFIS, codfis, 16);
iva_query.add(IVA_CATDOC, mov_i.catdoc(categorie_doc())->catdoc(), 10);
const TClasse_doc* catdoc = mov_i.catdoc(categorie_doc());
if (catdoc != nullptr)
iva_query.add(IVA_CATDOC, catdoc->catdoc(), 10);
const TRegistro& reg = cached_registro(mov.get(MOV_REG), mov.get_int(MOV_ANNOIVA));
if (reg.iva() == iva_vendite)
{
int anno = mov.get_int(MOV_DANNO);
const int anno_doc = mov.get_int(MOV_DANNO);
if (anno > 0)
if (anno_doc > 0)
{
const char provv = mov.get(MOV_DPROVV)[0];
const TString& codnum = mov.get(MOV_DCODNUM);
const long ndoc = mov.get_long(MOV_DNDOC);
TDocumento doc(provv, anno, codnum, ndoc);
TDocumento doc(provv, anno_doc, codnum, ndoc);
iva_query.add(IVA_CAUSSOS, tipo_doc_sdi(doc) , 6);
}
else
iva_query.add(IVA_CAUSSOS, mov_i.catdoc(categorie_doc())->caus_sost(), 6);
if(catdoc!=nullptr)
iva_query.add(IVA_CAUSSOS, catdoc->caus_sost(), 6);
}
//
else
{
TToken_string key(mov.get((MOV_KEYFPPRO)), ';');
@ -1159,10 +1172,12 @@ bool TEstrazione::estrazione_iva(bool escluso)
if(tipodoc.full())
iva_query.add(IVA_CAUSSOS, tipodoc, 6);
else
iva_query.add(IVA_CAUSSOS, mov_i.catdoc(categorie_doc())->caus_sost(), 6);
if (catdoc != nullptr)
iva_query.add(IVA_CAUSSOS, catdoc->caus_sost(), 6);
}
else
iva_query.add(IVA_CAUSSOS, mov_i.catdoc(categorie_doc())->caus_sost(), 6);
if (catdoc != nullptr)
iva_query.add(IVA_CAUSSOS, catdoc->caus_sost(), 6);
}
iva_query.add(IVA_NUMDOC, mov_i.numdoc(), 20);
iva_query.add(IVA_DATADOC, datadoc);
@ -1171,15 +1186,9 @@ bool TEstrazione::estrazione_iva(bool escluso)
iva_query.add(IVA_NPROT, mov.get(MOV_PROTIVA), 20);
iva_query.add(IVA_DATPROT, datareg);
/*if(is_autofattura(mov))
{
iva_query.add(IVA_FORNOR, "");
iva_query.add(IVA_REGOR, "");
iva_query.add(IVA_NUMOR, N ORI);
iva_query.add(IVA_DATAOR, TDate(20010101));
}*/
if (catdoc != nullptr)
iva_query.add(IVA_CLASDOC, catdoc->class_sost(), 10);
iva_query.add(IVA_CLASDOC, mov_i.catdoc(categorie_doc())->class_sost(), 10);
iva_query.add(IVA_NOMFD, mov_i.nomefilecart().name(), 100);
// Load annessi...

View File

@ -33,5 +33,6 @@
#define CAU_RILFTEMRI "RILFTEMRI"
#define CAU_DATAREGPR "DATAREGPR"
#define CAU_TIPODOCSDI "TIPODOCSDI"
#define CAU_ESCLUDIARC "ESCLUDIARC"
#endif