Patch level : 12.0

Files correlati     : fp cg

Commento:
Invio Integrazioni fatture cartacee verso SanMarino (TD28)
This commit is contained in:
Simoe 2022-09-14 17:44:28 +02:00
parent b8e91dce07
commit 2c353b062d
4 changed files with 43 additions and 31 deletions

View File

@ -182,6 +182,7 @@ BEGIN
ITEM "TD18|TD18 Integ. acq. beni intracomunitari"
ITEM "TD19|TD19 Integ./autof. acq. beni ex art. 17"
ITEM "TD20|TD20 Autofattura"
ITEM "TD28|TD28 Fattura cartacea S.Marino"
END
BOOLEAN F_SOLAIVA

View File

@ -113,11 +113,6 @@ void TPAR_mask::load_sheet(const TString& tipo_sel)
{
const TRectype& rec = cur.curr();
const TString& tipodocsdi = rec.get(CAU_TIPODOCSDI);
if (tipodocsdi == "TD28")
{
int i = 0;
}
//COSA STA SUCCEDENDO QUI? PERCHE VA QUANDO VUOLE LUI?
@ -458,7 +453,7 @@ void TPAR_mask::export_paf()
if (!sht.empty())
{
{
TProgress_monitor pi(sht.items(), "Esportazione Regolarizzazioni");
TProgress_monitor pi(sht.items(), "Esportazione Integrazioni");
FOR_EACH_SHEET_ROW_LOOP(sht, r)
@ -520,7 +515,7 @@ void TPAR_mask::print_reg()
if (!sht.empty())
{
{
TProgress_monitor pi(sht.items(), "Stampa Regolarizzazioni");
TProgress_monitor pi(sht.items(), "Stampa Integrazioni");
FOR_EACH_SHEET_ROW_LOOP(sht, r)
{
@ -866,6 +861,6 @@ bool Treg2Paf::destroy()
int fp0700(int argc, char* argv[])
{
Treg2Paf d2p;
d2p.run(argc, argv, TR("Invio Regolarizzazioni"));
d2p.run(argc, argv, TR("Invio Integrazioni"));
return 0;
}

View File

@ -39,7 +39,7 @@ END
ENDPAGE
PAGE "Invio Regolarizzazioni" 0 2 0 0
PAGE "Invio Integrazioni" 0 2 0 0
DATE F_DATAINI
BEGIN
@ -59,10 +59,10 @@ RADIOBUTTON F_REGSEL 7 80
BEGIN
PROMPT 1 3 "@bIntegrazioni da visualizzare"
ITEM "|Da inviare"
//ITEM "N|Notificato"
ITEM "D|Pre-Diagosticate"
ITEM "E|In errore"
ITEM "X|XML Generato"
ITEM "N|Notificato"
FLAGS "Z"
END
@ -83,7 +83,6 @@ BEGIN
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 "TD28|TD28 Fattura cartacea S.Marino"
END
@ -128,7 +127,7 @@ BEGIN
END
ENDPAGE
PAGE "Elenco Regolarizzazioni" 0 2 0 0
PAGE "Elenco Integrazioni" 0 2 0 0
SPREADSHEET F_REGS
BEGIN
@ -164,6 +163,7 @@ BEGIN
ITEM "TD18|TD18 Integ. acq. beni intracomunitari"
ITEM "TD19|TD19 Integ./autof. acq. beni ex art. 17"
ITEM "TD20|TD20 Autofattura"
ITEM "TD28|TD28 Fattura cartacea S.Marino"
END
STRING S_COD_CAUS 3
@ -240,6 +240,7 @@ BEGIN
ITEM "TD18|TD18 Integ. acq. beni intracomunitari"
ITEM "TD19|TD19 Integ./autof. acq. beni ex art. 17"
ITEM "TD20|TD20 Autofattura"
ITEM "TD28|TD28 Fattura cartacea S.Marino"
END
STRING S_NUMDOC 10

View File

@ -3095,29 +3095,34 @@ bool TReg_fp::check_initial(const TMovimento_contabile& mov)
TPartite_array par;
par.add_numreg(mov.get_long(MOV_NUMREG));
for (TPartita* p = par.first() ; p!= nullptr ; p=par.next())
{
int riga_p = p->prima_fattura();
if (riga_p >= 0)
//PROVVISORIO
if (_tipo_doc_sdi != "TD28") {
for (TPartita* p = par.first(); p != nullptr; p = par.next())
{
const TRiga_partite& rp=p->riga(riga_p);
int riga_p = p->prima_fattura();
for (int r = 0; r < rp.rate(); r++)
if (riga_p >= 0)
{
const TRiga_scadenze & rata = rp.rata(r);
TString key_class;
key_class << rata.get(SCAD_TIPOPAG) << rata.get(SCAD_ULTCLASS);
const TRiga_partite& rp = p->riga(riga_p);
if (cache().get("%CLR", key_class, "S12").empty())
for (int r = 0; r < rp.rate(); r++)
{
TString msg;
msg.cut(0) << "Non e' valorizzata la tipologia di pagamento SDI (MPXX) per la condizione di pagamento " << mov.get(MOV_CODPAG);
_log.log(1, msg);
return false;
}
const TRiga_scadenze & rata = rp.rata(r);
TString key_class;
key_class << rata.get(SCAD_TIPOPAG) << rata.get(SCAD_ULTCLASS);
if (cache().get("%CLR", key_class, "S12").empty())
{
TString msg;
msg.cut(0) << "Non e' valorizzata la tipologia di pagamento SDI (MPXX) per la condizione di pagamento " << mov.get(MOV_CODPAG);
_log.log(1, msg);
return false;
}
}
}
}
}
@ -3311,7 +3316,9 @@ bool TReg_fp::export_paf0100f()
paf0100f.set("P1_TRASMITTPAESE", _paese);
paf0100f.set("P1_TRASMITTCOD", _cofi);
paf0100f.set("P1_FMTTRASMISS", _privato ? "FPR12" : "FPA12");
paf0100f.set("P1_CODDEST", _coddest);
if(_tipo_doc_sdi != "TD28")
paf0100f.set("P1_CODDEST", _coddest);
TString80 tel;
@ -3369,6 +3376,8 @@ TString TReg_fp::get_line_descr(TAnagrafica cli)
}
else if (tdsdi == "TD20")
descr = "Autofattura";
else if (tdsdi == "TD28")
descr = "Fattura cartacea San Marino";
else
error_box("Tipo documento non conforme");
@ -3510,7 +3519,12 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
paf0700f.set("P7_TIPODOC", _tipo_doc_sdi);
paf0700f.set("P7_DIVISA", "EUR"); // Fisso su euro in quanto effettuiamo il cambio
paf0700f.set("P7_DATA", mov.get_date(MOV_DATAREG)); // sembra sempre la data di registrazione visto che è na data di ricezione
if (_tipo_doc_sdi == "TD28")
paf0700f.set("P7_DATA", mov.get_date(MOV_DATADOC)); //Se è un TD28 ci metto la data della fattura cartacea originale
else
paf0700f.set("P7_DATA", mov.get_date(MOV_DATAREG)); // sembra sempre la data di registrazione visto che è na data di ricezione
TString numdoc = mov.get(MOV_NUMDOC);
if (numdoc.blank())
@ -3543,7 +3557,8 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
paf2700f.set("PQ_IMPTOTDOC", mov.get(MOV_TOTDOC));
paf2700f.set("PQ_GESTIONE", stato_paf());
ok &= insert(paf2700f);
// </DatiOrdineAcquisto>
// </DatiOrdineAcquisto>
// paf1400 Dati fatture collegate
TPaf_record& paf1400f = _paf_container.get_paf("PAF1400F");