Merge branch 'R12.00.1136' of http://10.65.20.33/sirio/CAMPO/campo into R12.00.1136

This commit is contained in:
Alessandro Bonazzi 2022-09-14 17:50:41 +02:00
commit bf962ea504
8 changed files with 63 additions and 42 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

@ -498,6 +498,7 @@ class TF9_dberr
protected:
void add_str(const TString& string);
void add_num(const long& num);
void write_sqlerrlog(const TString& query) const;
public:
void add(const TString& string);

View File

@ -682,7 +682,7 @@ bool TEstrazione::export_error_list() const
dberr.add(mov.codcaus());
dberr.add(mov.meseliq());
dberr.add(mov.numdoc());
dberr.add(mov.totale().stringa());
dberr.add(mov.totale().string_point());
dberr.add(mov.codcf());
dberr.add(mov.ragsoc());
dberr.add(mov.protiva());
@ -803,6 +803,7 @@ const char* TEstrazione::diagnostica_mov()
if (mov_i.no_err() && mov_i.estratto())
{
const long numreg = mov_i.numreg();
const TRectype & mov =cache().get(LF_MOV, numreg);
@ -1336,19 +1337,22 @@ void TF9_dberr::add(const TString& string)
add_str(str);
}
void TF9_dberr::add(const TDate& date)
{
if (date.ok())
add(date.date2ansi());
if (date.ok())
add(date.date2ansi());
else
add("00010101");
}
void TF9_dberr::add(const long num)
{
TString app;
app << num;
add(app);
TString app;
app << num;
add(app);
}
bool TF9_dberr::send()
@ -1370,8 +1374,6 @@ bool TF9_dberr::send()
ERR_RAGSOC ", "
ERR_PROTIVA ", "
ERR_DESCR ", "
ERR_ESCLUDI ", "
ERR_ESCLUSO ", "
ERR_DESCERR ") VALUES ()";
return ok;
}
@ -1428,8 +1430,6 @@ TF9_dberr::TF9_dberr()
ERR_RAGSOC ", "
ERR_PROTIVA ", "
ERR_DESCR ", "
ERR_ESCLUDI ", "
ERR_ESCLUSO ", "
ERR_DESCERR ") VALUES ()";
_fout = new ofstream;
_fout->open("f9_dberr.txt");
@ -1448,7 +1448,7 @@ TAnnesso_mov::TAnnesso_mov(TToken_string & row, int start)
_filename = row.get();
_catdocpad = row.get();
_catdocann = row.get();
_loaddate = row.get_date();
_loaddate = row.get_date(0);
_user = row.get();
}

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");

View File

@ -1296,6 +1296,12 @@ const char* real::stringe(int len, int dec, char pad) const
return str;
}
const char* real::string_point(int len, int dec, char pad) const
{
char* str = (char*)string(len, dec, pad);
return str;
}
void real::print_on(ostream& out) const
{

View File

@ -126,6 +126,8 @@ public:
// @cmember Trasforma un reale in stringa (chiama <mf real::string>),
//ma ritorna il formato atteso da Excel
const char* stringe(int len = 0, int dec = UNDEFINED, char pad = ' ') const;
//Ritorna la string con il punto per dividere interi da decimali
const char* string_point(int len = 0, int dec = UNDEFINED, char pad = ' ') const;
// @cmember Ritorna la stringa con il formato passato
const char* string(const char* picture) const;
// @cmember Ritorna la stringa con il formato passato