Patch level : 12.0

Files correlati     : fp0300.cpp, fplib01.cpp, fatturac.src, ve0300a.src
Commento:

Nella videata "Magazzino" di ve0-0 (Documenti interattivi) aggiunti al campo "Collegamento documento P.A." due nuovi valori: "Ricezione" e "Fatt.Coll."
Modificato leggermente il programma di fatturazione in relazione a questa aggiunta
This commit is contained in:
smen 2022-09-02 14:31:14 +02:00
parent b7e850e295
commit fff1c711a3
4 changed files with 70 additions and 40 deletions

View File

@ -480,7 +480,7 @@ void TPA_mask::export_paf()
ndocs++;
else
{
if (!yesno_box("L'ultima fattura non è stata esportata, continuare?"))
if (!yesno_box("L'ultima fattura non e' stata esportata, continuare?"))
break;
}
}

View File

@ -207,7 +207,7 @@ TString_array & get_paf_names()
if (__paf_names.items() == 0)
{
const char * names[] = { "PAF0100F", "PAF0200F", "PAF0400F", "PAF0700F", "PAF0800F", "PAF0900F", "PAF1000F", "PAF1100F", "PAF1200F",
const char * names[] = { "PAF0100F", "PAF0200F", "PAF0400F", "PAF0700F", "PAF0800F", "PAF0900F", "PAF1000F", "PAF1100F", "PAF1200F", "PAF1300F",
"PAF1400F", "PAF1600F", "PAF1700F", "PAF1800F", "PAF1900F", "PAF2000F", "PAF2100F", "PAF2200F",
"PAF2400F", "PAF2500F", "PAF2600F", "PAF2700F", "PAF3000F", "PAF3200F", "PAF3400F", "PAF3400F",
"PAFW300F", nullptr };
@ -801,6 +801,8 @@ const char* TPaf_container::paf_to_prefix(const char * paf)
return "PA";
if (paf_name == "PAF1200F")
return "PB";
if (paf_name == "PAF1300F")
return "PC";
if (paf_name == "PAF1400F")
return "PD";
if (paf_name == "PAF1600F")
@ -854,12 +856,14 @@ TPaf_container::TPaf_container()
_pafs.insert(std::pair<const char *, TPaf_record>("PAF0800F", TPaf_record("PAF0800F")));
// Sconto in fattura
_pafs.insert(std::pair<const char *, TPaf_record>("PAF0900F", TPaf_record("PAF0900F")));
// Contratti
_pafs.insert(std::pair<const char *, TPaf_record>("PAF1000F", TPaf_record("PAF1000F")));
// Convenzioni
_pafs.insert(std::pair<const char *, TPaf_record>("PAF1100F", TPaf_record("PAF1100F")));
// Ordini
_pafs.insert(std::pair<const char *, TPaf_record>("PAF1000F", TPaf_record("PAF1000F")));
// Contratti
_pafs.insert(std::pair<const char *, TPaf_record>("PAF1100F", TPaf_record("PAF1100F")));
// Convenzioni
_pafs.insert(std::pair<const char *, TPaf_record>("PAF1200F", TPaf_record("PAF1200F")));
// Ricezioni
_pafs.insert(std::pair<const char *, TPaf_record>("PAF1300F", TPaf_record("PAF1300F")));
// DatiFattureCollegate
_pafs.insert(std::pair<const char *, TPaf_record>("PAF1400F", TPaf_record("PAF1400F")));
// DDT Testata
@ -2002,12 +2006,12 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
// <DatiOrdineAcquisto>
if ((doc.is_nota_credito() || get_send_all_rifs()) && doc.get(DOC_NUMDOCRIF).full())
{
TPaf_record& paf1400f = _paf_container.get_paf("PAF1400F");
TPaf_record& paf1000f = _paf_container.get_paf("PAF1000F");
reset(paf1400f);
paf1400f.set("PD_IDDOC", doc.get(DOC_NUMDOCRIF));
paf1400f.set("PD_DATADOC", doc.get_date(DOC_DATADOCRIF));
ok &= insert(paf1400f);
reset(paf1000f);
paf1000f.set("P0_IDDOC", doc.get(DOC_NUMDOCRIF));
paf1000f.set("P0_DATADOC", doc.get_date(DOC_DATADOCRIF));
ok &= insert(paf1000f);
}
// </DatiOrdineAcquisto>
// </DatiGenerali>
@ -2043,15 +2047,23 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
// SEMPRE
// Azzera contratti
// Azzera ordini
TPaf_record& paf1000f = _paf_container.get_paf("PAF1000F");
paf1000f.set("P0_RIFNUMLINEA", 0L);
// Azzera convenzioni
// Azzera contratti
TPaf_record& paf1100f = _paf_container.get_paf("PAF1100F");
paf1100f.set("PA_RIFNUMLINEA", 0L);
// Azzera ordini
// Azzera convenzioni
TPaf_record& paf1200f = _paf_container.get_paf("PAF1200F");
paf1200f.set("PB_RIFNUMLINEA", 0L);
// Azzera Ricezione
TPaf_record& paf1300f = _paf_container.get_paf("PAF1300F");
paf1300f.set("PC_RIFNUMLINEA", 0L);
// Azzera Fatture Collegate
TPaf_record& paf1400f = _paf_container.get_paf("PAF1400F");
paf1400f.set("PD_RIFNUMLINEA", 0L);
TString80 con = doc.get(DOC_CONTRATTO);
if (con.full() || cup.full() || cig.full())
{
@ -2069,6 +2081,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
if (con.blank())
con = cup;
}
if (tcon == 'O')
{
paf1000f.set("P0_RIFNUMLINEA", 0L);
@ -2077,33 +2090,50 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
paf1000f.set("P0_COMMESSACONV", com);
paf1000f.set("P0_CODCUP", cup);
paf1000f.set("P0_CODCIG", cig);
paf1000f.set("P0_GESTIONE", stato_paf());
ok &= insert(paf1000f);
}
else
if (tcon == 'C')
{
paf1100f.set("PA_RIFNUMLINEA", 0L);
paf1100f.set("PA_IDDOC", con);
paf1100f.set("PA_DATADOCU", datadoc);
paf1100f.set("PA_COMMCONVENZ", com);
paf1100f.set("PA_CODCUP", cup);
paf1100f.set("PA_CODCIG", cig);
paf1100f.set("PA_GESTIONE", stato_paf());
ok &= insert(paf1100f);
}
else
{
paf1200f.set("PB_RIFNUMLINEA", 0L);
paf1200f.set("PB_IDDOC", con);
paf1200f.set("PB_DATADOCO", datadoc);
paf1200f.set("PB_COMMCONVENZ", com);
paf1200f.set("PB_CODCUP", cup);
paf1200f.set("PB_CODCIG", cig);
paf1200f.set("PB_GESTIONE", stato_paf());
ok &= insert(paf1200f);
}
else if (tcon == 'C')
{
paf1100f.set("PA_RIFNUMLINEA", 0L);
paf1100f.set("PA_IDDOC", con);
paf1100f.set("PA_DATADOC", datadoc);
paf1100f.set("PA_COMMCONVENZ", com);
paf1100f.set("PA_CODCUP", cup);
paf1100f.set("PA_CODCIG", cig);
ok &= insert(paf1100f);
}
else if(tcon == 'V')
{
paf1200f.set("PB_RIFNUMLINEA", 0L);
paf1200f.set("PB_IDDOC", con);
paf1200f.set("PB_DATADOC", datadoc);
paf1200f.set("PB_COMMCONVENZ", com);
paf1200f.set("PB_CODCUP", cup);
paf1200f.set("PB_CODCIG", cig);
ok &= insert(paf1200f);
}
else if (tcon == 'R')
{
paf1300f.set("PC_RIFNUMLINEA", 0L);
paf1300f.set("PC_IDDOC", con);
paf1300f.set("PC_DATADOC", datadoc);
paf1300f.set("PC_COMMCONVENZ", com);
paf1300f.set("PC_CODCUP", cup);
paf1300f.set("PC_CODCIG", cig);
ok &= insert(paf1300f);
}
else if (tcon == 'F')
{
paf1400f.set("PD_RIFNUMLINEA", 0L);
paf1400f.set("PD_IDDOC", con);
paf1400f.set("PD_DATADOC", datadoc);
paf1400f.set("PD_COMMCONVENZ", com);
paf1400f.set("PD_CODCUP", cup);
paf1400f.set("PD_CODCIG", cig);
ok &= insert(paf1400f);
}
}
if (_is_pa && cup.blank() && cig.blank())
_log.log(1, "CIG e CUP assenti");
// <DatiBeniServizi>

View File

@ -11,7 +11,7 @@ CALCOLI=*
TOTPROVV =
// modifica
// Indica se il documento è indirizzato ad un cliente o ad un fornitore
TIPOCF=C
TIPOCF=C
//modulo di riferimento
MODULE=ve

View File

@ -1971,7 +1971,7 @@ Y=3
MSKID=F_PATIPOCON
PROMPT="Collegamento documento P.A. "
FIELDNAME=MODPAG
ITEMS=C|Contratto@V|Convenzione@O|Ordine
ITEMS=C|Contratto@V|Convenzione@O|Ordine@R|Ricezione@F|Fatt. Coll.
HELP=Inserire un tipo contratto/convenzione/ordine
SPECIAL=MO PA