Patch level : 12.0
Files correlati : fp Commento : - Spostate chiavi tabella a campi della classe, così si evita di passarseli tutto il tempo - Aggiunte le spese incasso - Aggiunto TD20
This commit is contained in:
		
							parent
							
								
									3e6707c33e
								
							
						
					
					
						commit
						7241dc5d4c
					
				@ -836,8 +836,9 @@ bool TDoc_fp::add_row_alleg(TFilename& file, long& nprogr, TPaf_record& paf)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
					bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TString8  hfatt; // Codice univoco di 6 caratteri dell'ufficio P.A. o di 7 caratteri per un privato
 | 
						// Azzero
 | 
				
			||||||
	TString20 bfatt; // Codice univoco di 20 caratteri del documento
 | 
						_hfatt.cut(0);
 | 
				
			||||||
 | 
						_bfatt.cut(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	TAnagrafica clifo(doc.clifor().tipo(), doc.clifor().codice());
 | 
						TAnagrafica clifo(doc.clifor().tipo(), doc.clifor().codice());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -853,9 +854,9 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
	const bool privato = coddest.len() != 6;
 | 
						const bool privato = coddest.len() != 6;
 | 
				
			||||||
	bool ok = true;
 | 
						bool ok = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!chiave_paf(doc, hfatt, bfatt))
 | 
						if (!chiave_paf(doc, _hfatt, _bfatt))
 | 
				
			||||||
			return false;
 | 
								return false;
 | 
				
			||||||
	log(-1, bfatt);
 | 
						log(-1, _bfatt);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const TFirm&      firm = prefix().firm();
 | 
						const TFirm&      firm = prefix().firm();
 | 
				
			||||||
	const char* const paese = "IT";
 | 
						const char* const paese = "IT";
 | 
				
			||||||
@ -863,8 +864,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// <DatiTrassmissione>
 | 
						// <DatiTrassmissione>
 | 
				
			||||||
	TPaf_record paf0100f("PAF0100F");
 | 
						TPaf_record paf0100f("PAF0100F");
 | 
				
			||||||
	paf0100f.set("P1_KEYHEADERFATT", hfatt);
 | 
						paf0100f.set("P1_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf0100f.set("P1_KEYBODYFATT", bfatt);
 | 
						paf0100f.set("P1_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf0100f);
 | 
						remove(paf0100f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	paf0100f.set("P1_TRASMITTPAESE", paese);
 | 
						paf0100f.set("P1_TRASMITTPAESE", paese);
 | 
				
			||||||
@ -884,8 +885,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
			// <Datipec>
 | 
								// <Datipec>
 | 
				
			||||||
			TPaf_record paf3200f("PAF3200F");
 | 
								TPaf_record paf3200f("PAF3200F");
 | 
				
			||||||
			paf3200f.set("PU_KEYHEADERFATT", hfatt);
 | 
								paf3200f.set("PU_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
			paf3200f.set("PU_KEYBODYFATT", bfatt);
 | 
								paf3200f.set("PU_KEYBODYFATT", _bfatt);
 | 
				
			||||||
			remove(paf3200f);
 | 
								remove(paf3200f);
 | 
				
			||||||
			paf3200f.set("PU_PEC", pec);
 | 
								paf3200f.set("PU_PEC", pec);
 | 
				
			||||||
			ok &= insert(paf3200f);
 | 
								ok &= insert(paf3200f);
 | 
				
			||||||
@ -894,8 +895,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// <CedentePrestatore>
 | 
						// <CedentePrestatore>
 | 
				
			||||||
	TPaf_record paf0200f("PAF0200F");
 | 
						TPaf_record paf0200f("PAF0200F");
 | 
				
			||||||
	paf0200f.set("P2_KEYHEADERFATT", hfatt);
 | 
						paf0200f.set("P2_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf0200f.set("P2_KEYBODYFATT", bfatt);
 | 
						paf0200f.set("P2_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf0200f);
 | 
						remove(paf0200f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (_ditta.partita_IVA().full())
 | 
						if (_ditta.partita_IVA().full())
 | 
				
			||||||
@ -967,8 +968,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
	// <CessionarioCommittente>
 | 
						// <CessionarioCommittente>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	TPaf_record paf0400f("PAF0400F");
 | 
						TPaf_record paf0400f("PAF0400F");
 | 
				
			||||||
	paf0400f.set("P4_KEYHEADERFATT", hfatt);
 | 
						paf0400f.set("P4_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf0400f.set("P4_KEYBODYFATT", bfatt);
 | 
						paf0400f.set("P4_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf0400f);
 | 
						remove(paf0400f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (cliente.partita_IVA().full())
 | 
						if (cliente.partita_IVA().full())
 | 
				
			||||||
@ -1006,8 +1007,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// <DatiGenerali>
 | 
						// <DatiGenerali>
 | 
				
			||||||
	TPaf_record paf0700f("PAF0700F");
 | 
						TPaf_record paf0700f("PAF0700F");
 | 
				
			||||||
	paf0700f.set("P7_KEYHEADERFATT", hfatt);
 | 
						paf0700f.set("P7_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf0700f.set("P7_KEYBODYFATT", bfatt);
 | 
						paf0700f.set("P7_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf0700f);
 | 
						remove(paf0700f);
 | 
				
			||||||
	paf0700f.set("P7_TIPODOC", doc.tipo().tipo_doc_sdi());
 | 
						paf0700f.set("P7_TIPODOC", doc.tipo().tipo_doc_sdi());
 | 
				
			||||||
	paf0700f.set("P7_DIVISA", "EUR"); // Aggiungere codice ISO 4217 a tabella divise (%VAL)
 | 
						paf0700f.set("P7_DIVISA", "EUR"); // Aggiungere codice ISO 4217 a tabella divise (%VAL)
 | 
				
			||||||
@ -1031,8 +1032,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// <ScontoMaggiorazione>
 | 
						// <ScontoMaggiorazione>
 | 
				
			||||||
	TPaf_record paf0900f("PAF0900F");
 | 
						TPaf_record paf0900f("PAF0900F");
 | 
				
			||||||
	paf0900f.set("P9_KEYHEADERFATT", hfatt);
 | 
						paf0900f.set("P9_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf0900f.set("P9_KEYBODYFATT", bfatt);
 | 
						paf0900f.set("P9_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf0900f);
 | 
						remove(paf0900f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	TString80     sconto_expr = doc.get(DOC_SCONTOPERC);
 | 
						TString80     sconto_expr = doc.get(DOC_SCONTOPERC);
 | 
				
			||||||
@ -1065,8 +1066,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// <DatiGenerali>
 | 
						// <DatiGenerali>
 | 
				
			||||||
	TPaf_record paf2700f("PAF2700F");
 | 
						TPaf_record paf2700f("PAF2700F");
 | 
				
			||||||
	paf2700f.set("PQ_KEYHEADERFATT", hfatt);
 | 
						paf2700f.set("PQ_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf2700f.set("PQ_KEYBODYFATT", bfatt);
 | 
						paf2700f.set("PQ_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf2700f);
 | 
						remove(paf2700f);
 | 
				
			||||||
	paf2700f.set("PQ_IMPTOTDOC", doc.totale_doc());
 | 
						paf2700f.set("PQ_IMPTOTDOC", doc.totale_doc());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1089,8 +1090,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// Azzera DDT
 | 
						// Azzera DDT
 | 
				
			||||||
	TPaf_record paf1600f("PAF1600F");
 | 
						TPaf_record paf1600f("PAF1600F");
 | 
				
			||||||
	paf1600f.set("PF_KEYHEADERFATT", hfatt);
 | 
						paf1600f.set("PF_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf1600f.set("PF_KEYBODYFATT", bfatt);
 | 
						paf1600f.set("PF_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf1600f);
 | 
						remove(paf1600f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Fuori dallo scope per dopo
 | 
						// Fuori dallo scope per dopo
 | 
				
			||||||
@ -1101,22 +1102,22 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
	// SEMPRE
 | 
						// SEMPRE
 | 
				
			||||||
	// Azzera contratti
 | 
						// Azzera contratti
 | 
				
			||||||
	TPaf_record paf1000f("PAF1000F");
 | 
						TPaf_record paf1000f("PAF1000F");
 | 
				
			||||||
	paf1000f.set("P0_KEYHEADERFATT", hfatt);
 | 
						paf1000f.set("P0_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf1000f.set("P0_KEYBODYFATT", bfatt);
 | 
						paf1000f.set("P0_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	paf1000f.set("P0_RIFNUMLINEA", 0L);
 | 
						paf1000f.set("P0_RIFNUMLINEA", 0L);
 | 
				
			||||||
	remove(paf1000f);
 | 
						remove(paf1000f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Azzera convenzioni
 | 
						// Azzera convenzioni
 | 
				
			||||||
	TPaf_record paf1100f("PAF1100F");
 | 
						TPaf_record paf1100f("PAF1100F");
 | 
				
			||||||
	paf1100f.set("PA_KEYHEADERFATT", hfatt);
 | 
						paf1100f.set("PA_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf1100f.set("PA_KEYBODYFATT", bfatt);
 | 
						paf1100f.set("PA_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	paf1100f.set("PA_RIFNUMLINEA", 0L);
 | 
						paf1100f.set("PA_RIFNUMLINEA", 0L);
 | 
				
			||||||
	remove(paf1100f);
 | 
						remove(paf1100f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Azzera ordini
 | 
						// Azzera ordini
 | 
				
			||||||
	TPaf_record paf1200f("PAF1200F");
 | 
						TPaf_record paf1200f("PAF1200F");
 | 
				
			||||||
	paf1200f.set("PB_KEYHEADERFATT", hfatt);
 | 
						paf1200f.set("PB_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf1200f.set("PB_KEYBODYFATT", bfatt);
 | 
						paf1200f.set("PB_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	paf1200f.set("PB_RIFNUMLINEA", 0L);
 | 
						paf1200f.set("PB_RIFNUMLINEA", 0L);
 | 
				
			||||||
	remove(paf1200f);
 | 
						remove(paf1200f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1179,23 +1180,23 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
	// <DatiBeniServizi>
 | 
						// <DatiBeniServizi>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	TPaf_record paf1800f("PAF1800F");
 | 
						TPaf_record paf1800f("PAF1800F");
 | 
				
			||||||
	paf1800f.set("PI_KEYHEADERFATT", hfatt);
 | 
						paf1800f.set("PI_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf1800f.set("PI_KEYBODYFATT", bfatt);
 | 
						paf1800f.set("PI_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf1800f); // Cancella tutte le righe documento
 | 
						remove(paf1800f); // Cancella tutte le righe documento
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	TPaf_record paf2000f("PAF2000F");
 | 
						TPaf_record paf2000f("PAF2000F");
 | 
				
			||||||
	paf2000f.set("PJ_KEYHEADERFATT", hfatt);
 | 
						paf2000f.set("PJ_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf2000f.set("PJ_KEYBODYFATT", bfatt);
 | 
						paf2000f.set("PJ_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf2000f); // Cancella tutti gli sconti di riga
 | 
						remove(paf2000f); // Cancella tutti gli sconti di riga
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	TPaf_record paf1900f("PAF1900F");
 | 
						TPaf_record paf1900f("PAF1900F");
 | 
				
			||||||
	paf1900f.set("PY_KEYHEADERFATT", hfatt);
 | 
						paf1900f.set("PY_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf1900f.set("PY_KEYBODYFATT", bfatt);
 | 
						paf1900f.set("PY_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf1900f); // Cancella tutte le righe articoli del documento
 | 
						remove(paf1900f); // Cancella tutte le righe articoli del documento
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	TPaf_record paf3000f("PAF3000F");
 | 
						TPaf_record paf3000f("PAF3000F");
 | 
				
			||||||
	paf3000f.set("PT_KEYHEADERFATT", hfatt);
 | 
						paf3000f.set("PT_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf3000f.set("PT_KEYBODYFATT", bfatt);
 | 
						paf3000f.set("PT_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf3000f);
 | 
						remove(paf3000f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	long      riga = 0;
 | 
						long      riga = 0;
 | 
				
			||||||
@ -1212,13 +1213,13 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
	FOR_EACH_PHYSICAL_RDOC(doc, r, rdoc)
 | 
						FOR_EACH_PHYSICAL_RDOC(doc, r, rdoc)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
			paf1800f.reset();
 | 
								paf1800f.reset();
 | 
				
			||||||
			paf1800f.set("PI_KEYHEADERFATT", hfatt);
 | 
								paf1800f.set("PI_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
			paf1800f.set("PI_KEYBODYFATT", bfatt);
 | 
								paf1800f.set("PI_KEYBODYFATT", _bfatt);
 | 
				
			||||||
			paf1800f.set("PI_NUMEROLINEA", ++riga);
 | 
								paf1800f.set("PI_NUMEROLINEA", ++riga);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			paf3000f.reset();
 | 
								paf3000f.reset();
 | 
				
			||||||
			paf3000f.set("PT_KEYHEADERFATT", hfatt);
 | 
								paf3000f.set("PT_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
			paf3000f.set("PT_KEYBODYFATT", bfatt);
 | 
								paf3000f.set("PT_KEYBODYFATT", _bfatt);
 | 
				
			||||||
			paf3000f.set("PT_RIFNUMLINEA", riga);
 | 
								paf3000f.set("PT_RIFNUMLINEA", riga);
 | 
				
			||||||
			paf3000f.set("PT_COMMENTO", descrizione(*rdoc));
 | 
								paf3000f.set("PT_COMMENTO", descrizione(*rdoc));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1234,8 +1235,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
			if (art.ok())
 | 
								if (art.ok())
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
					paf1900f.reset();
 | 
										paf1900f.reset();
 | 
				
			||||||
					paf1900f.set("PY_KEYHEADERFATT", hfatt);
 | 
										paf1900f.set("PY_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
					paf1900f.set("PY_KEYBODYFATT", bfatt);
 | 
										paf1900f.set("PY_KEYBODYFATT", _bfatt);
 | 
				
			||||||
					paf1900f.set("PY_KEYNLINEA", riga);
 | 
										paf1900f.set("PY_KEYNLINEA", riga);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					TString& tmp = get_tmp_string();
 | 
										TString& tmp = get_tmp_string();
 | 
				
			||||||
@ -1323,8 +1324,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
									// <DatiDDT>
 | 
														// <DatiDDT>
 | 
				
			||||||
									TPaf_record paf1600f("PAF1600F");
 | 
														TPaf_record paf1600f("PAF1600F");
 | 
				
			||||||
									paf1600f.reset();
 | 
														paf1600f.reset();
 | 
				
			||||||
									paf1600f.set("PF_KEYHEADERFATT", hfatt);
 | 
														paf1600f.set("PF_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
									paf1600f.set("PF_KEYBODYFATT", bfatt);
 | 
														paf1600f.set("PF_KEYBODYFATT", _bfatt);
 | 
				
			||||||
									paf1600f.set("PF_RIFNUMLINEA", (long)r);
 | 
														paf1600f.set("PF_RIFNUMLINEA", (long)r);
 | 
				
			||||||
									paf1600f.set("PF_NUMDDDT", a._numdoc);
 | 
														paf1600f.set("PF_NUMDDDT", a._numdoc);
 | 
				
			||||||
									paf1600f.set("PF_DATADDT", a._datadoc);
 | 
														paf1600f.set("PF_DATADDT", a._datadoc);
 | 
				
			||||||
@ -1336,8 +1337,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
							{
 | 
												{
 | 
				
			||||||
									// <DatiOrdineAcquisto>
 | 
														// <DatiOrdineAcquisto>
 | 
				
			||||||
									TPaf_record paf1000f("PAF1000F");
 | 
														TPaf_record paf1000f("PAF1000F");
 | 
				
			||||||
									paf1000f.set("P0_KEYHEADERFATT", hfatt);
 | 
														paf1000f.set("P0_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
									paf1000f.set("P0_KEYBODYFATT", bfatt);
 | 
														paf1000f.set("P0_KEYBODYFATT", _bfatt);
 | 
				
			||||||
									paf1000f.set("P0_RIFNUMLINEA", (long)r);
 | 
														paf1000f.set("P0_RIFNUMLINEA", (long)r);
 | 
				
			||||||
									paf1000f.set("P0_IDDOC", a._numdoc);
 | 
														paf1000f.set("P0_IDDOC", a._numdoc);
 | 
				
			||||||
									paf1000f.set("P0_DATADOC", a._datadoc);
 | 
														paf1000f.set("P0_DATADOC", a._datadoc);
 | 
				
			||||||
@ -1417,14 +1418,15 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
		if(doc.ha_riga_esenzione())
 | 
							if(doc.ha_riga_esenzione())
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			const TRiga_documento& riga_es = doc.get_riga_esenzione();
 | 
								const TRiga_documento& riga_es = doc.get_riga_esenzione();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			paf1800f.reset();
 | 
								paf1800f.reset();
 | 
				
			||||||
			paf1800f.set("PI_KEYHEADERFATT", hfatt);
 | 
								paf1800f.set("PI_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
			paf1800f.set("PI_KEYBODYFATT", bfatt);
 | 
								paf1800f.set("PI_KEYBODYFATT", _bfatt);
 | 
				
			||||||
			paf1800f.set("PI_NUMEROLINEA", ++riga);
 | 
								paf1800f.set("PI_NUMEROLINEA", ++riga);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			paf3000f.reset();
 | 
								paf3000f.reset();
 | 
				
			||||||
			paf3000f.set("PT_KEYHEADERFATT", hfatt);
 | 
								paf3000f.set("PT_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
			paf3000f.set("PT_KEYBODYFATT", bfatt);
 | 
								paf3000f.set("PT_KEYBODYFATT", _bfatt);
 | 
				
			||||||
			paf3000f.set("PT_RIFNUMLINEA", riga);
 | 
								paf3000f.set("PT_RIFNUMLINEA", riga);
 | 
				
			||||||
			paf3000f.set("PT_COMMENTO", descrizione(riga_es));
 | 
								paf3000f.set("PT_COMMENTO", descrizione(riga_es));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1437,16 +1439,16 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Se il bollo va fatto pagare bisogna aggiungere una riga!
 | 
						// Se il bollo va fatto pagare bisogna aggiungere una riga!
 | 
				
			||||||
	if(doc.get_bool("ADDBOLLI"))
 | 
						if(doc.get_bool("ADDBOLLI") && doc.get_real("BOLLI") > ZERO)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		paf1800f.reset();
 | 
							paf1800f.reset();
 | 
				
			||||||
		paf1800f.set("PI_KEYHEADERFATT", hfatt);
 | 
							paf1800f.set("PI_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
		paf1800f.set("PI_KEYBODYFATT", bfatt);
 | 
							paf1800f.set("PI_KEYBODYFATT", _bfatt);
 | 
				
			||||||
		paf1800f.set("PI_NUMEROLINEA", ++riga);
 | 
							paf1800f.set("PI_NUMEROLINEA", ++riga);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		paf3000f.reset();
 | 
							paf3000f.reset();
 | 
				
			||||||
		paf3000f.set("PT_KEYHEADERFATT", hfatt);
 | 
							paf3000f.set("PT_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
		paf3000f.set("PT_KEYBODYFATT", bfatt);
 | 
							paf3000f.set("PT_KEYBODYFATT", _bfatt);
 | 
				
			||||||
		paf3000f.set("PT_RIFNUMLINEA", riga);
 | 
							paf3000f.set("PT_RIFNUMLINEA", riga);
 | 
				
			||||||
		paf3000f.set("PT_COMMENTO", "Imposta bollo assolta in modo virtuale");
 | 
							paf3000f.set("PT_COMMENTO", "Imposta bollo assolta in modo virtuale");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1457,17 +1459,42 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
		ok &= insert(paf1800f) && insert(paf3000f);
 | 
							ok &= insert(paf1800f) && insert(paf3000f);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// OMAGGI????
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Aggiungo le spese incasso
 | 
				
			||||||
 | 
						if(doc.get_real("SPESINC") > ZERO)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							paf1800f.reset();
 | 
				
			||||||
 | 
							paf1800f.set("PI_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
 | 
							paf1800f.set("PI_KEYBODYFATT", _bfatt);
 | 
				
			||||||
 | 
							paf1800f.set("PI_NUMEROLINEA", ++riga);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							paf3000f.reset();
 | 
				
			||||||
 | 
							paf3000f.set("PT_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
 | 
							paf3000f.set("PT_KEYBODYFATT", _bfatt);
 | 
				
			||||||
 | 
							paf3000f.set("PT_RIFNUMLINEA", riga);
 | 
				
			||||||
 | 
							paf3000f.set("PT_COMMENTO", "Spese incasso");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							paf1800f.set("PI_QUANTITA", UNO);
 | 
				
			||||||
 | 
							real imponibile = doc.imponibile();
 | 
				
			||||||
 | 
							paf1800f.set("PI_PREZZOUNIT", doc.spese_incasso(imponibile, 6, _netto));
 | 
				
			||||||
 | 
							paf1800f.set("PI_PRZTOTALE", doc.spese_incasso(imponibile, 6, _lordo));
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							set_IVA(doc.codiva_spese(), paf1800f);
 | 
				
			||||||
 | 
							ok &= insert(paf1800f) && insert(paf3000f);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Conai assolto
 | 
						// Conai assolto
 | 
				
			||||||
	if(doc.clifor().vendite().get_bool("CONAIASS"))
 | 
						if(doc.clifor().vendite().get_bool("CONAIASS"))
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		paf1800f.reset();
 | 
							paf1800f.reset();
 | 
				
			||||||
		paf1800f.set("PI_KEYHEADERFATT", hfatt);
 | 
							paf1800f.set("PI_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
		paf1800f.set("PI_KEYBODYFATT", bfatt);
 | 
							paf1800f.set("PI_KEYBODYFATT", _bfatt);
 | 
				
			||||||
		paf1800f.set("PI_NUMEROLINEA", ++riga);
 | 
							paf1800f.set("PI_NUMEROLINEA", ++riga);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		paf3000f.reset();
 | 
							paf3000f.reset();
 | 
				
			||||||
		paf3000f.set("PT_KEYHEADERFATT", hfatt);
 | 
							paf3000f.set("PT_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
		paf3000f.set("PT_KEYBODYFATT", bfatt);
 | 
							paf3000f.set("PT_KEYBODYFATT", _bfatt);
 | 
				
			||||||
		paf3000f.set("PT_RIFNUMLINEA", riga);
 | 
							paf3000f.set("PT_RIFNUMLINEA", riga);
 | 
				
			||||||
		paf3000f.set("PT_COMMENTO", ini_get_string(CONFIG_DITTA, "ve", "DESCCONAIASS", "Contributo CONAI assolto ove dovuto"));
 | 
							paf3000f.set("PT_COMMENTO", ini_get_string(CONFIG_DITTA, "ve", "DESCCONAIASS", "Contributo CONAI assolto ove dovuto"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1498,8 +1525,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// <DatiRiepilogo>
 | 
						// <DatiRiepilogo>
 | 
				
			||||||
	TPaf_record paf2200f("PAF2200F");
 | 
						TPaf_record paf2200f("PAF2200F");
 | 
				
			||||||
	paf2200f.set("PL_KEYHEADERFATT", hfatt);
 | 
						paf2200f.set("PL_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf2200f.set("PL_KEYBODYFATT", bfatt);
 | 
						paf2200f.set("PL_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf2200f); // Cancella tutte le righe di riepilogo IVA
 | 
						remove(paf2200f); // Cancella tutte le righe di riepilogo IVA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const char* eiva = "I"; // Esigibilità IVA: Immediata, Differita, Split payment
 | 
						const char* eiva = "I"; // Esigibilità IVA: Immediata, Differita, Split payment
 | 
				
			||||||
@ -1532,8 +1559,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// <DatiPagamento>
 | 
						// <DatiPagamento>
 | 
				
			||||||
	TPaf_record paf2400f("PAF2400F");
 | 
						TPaf_record paf2400f("PAF2400F");
 | 
				
			||||||
	paf2400f.set("PN_KEYHEADERFATT", hfatt);
 | 
						paf2400f.set("PN_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf2400f.set("PN_KEYBODYFATT", bfatt);
 | 
						paf2400f.set("PN_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf2400f); // Cancella i dati pagamento
 | 
						remove(paf2400f); // Cancella i dati pagamento
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	TPagamento& pag = doc.pagamento();
 | 
						TPagamento& pag = doc.pagamento();
 | 
				
			||||||
@ -1548,8 +1575,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
	ok &= insert(paf2400f);
 | 
						ok &= insert(paf2400f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	TPaf_record paf2500f("PAF2500F");
 | 
						TPaf_record paf2500f("PAF2500F");
 | 
				
			||||||
	paf2500f.set("PO_KEYHEADERFATT", hfatt);
 | 
						paf2500f.set("PO_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	paf2500f.set("PO_KEYBODYFATT", bfatt);
 | 
						paf2500f.set("PO_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(paf2500f); // Cancella tutte le rate
 | 
						remove(paf2500f); // Cancella tutte le rate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
										 // Imposto i campi uguali per tutte le rate
 | 
															 // Imposto i campi uguali per tutte le rate
 | 
				
			||||||
@ -1594,8 +1621,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
	if (_gestioneallegati)
 | 
						if (_gestioneallegati)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		TPaf_record paf2600f("PAF2600F");
 | 
							TPaf_record paf2600f("PAF2600F");
 | 
				
			||||||
		paf2600f.set("PP_KEYHEADERFATT", hfatt);
 | 
							paf2600f.set("PP_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
		paf2600f.set("PP_KEYBODYFATT", bfatt);
 | 
							paf2600f.set("PP_KEYBODYFATT", _bfatt);
 | 
				
			||||||
		remove(paf2600f); // Cancella eventuali allegati
 | 
							remove(paf2600f); // Cancella eventuali allegati
 | 
				
			||||||
		long      nprogr = 0; // Numero di file allegati
 | 
							long      nprogr = 0; // Numero di file allegati
 | 
				
			||||||
		// Se abilitato stampo il documento e lo allego
 | 
							// Se abilitato stampo il documento e lo allego
 | 
				
			||||||
@ -1635,7 +1662,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
		{
 | 
							{
 | 
				
			||||||
			if (_def_fld.empty())
 | 
								if (_def_fld.empty())
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				TString msgerr; msgerr << "Errore: il documento " << bfatt << " ha degli allegati ma nella configurazione non è stato impostato come trametterli\nCaricare il documento senza allegati?";
 | 
									TString msgerr; msgerr << "Errore: il documento " << _bfatt << " ha degli allegati ma nella configurazione non è stato impostato come trametterli\nCaricare il documento senza allegati?";
 | 
				
			||||||
				load_allegati = false;
 | 
									load_allegati = false;
 | 
				
			||||||
				if (!yesno_box(msgerr))
 | 
									if (!yesno_box(msgerr))
 | 
				
			||||||
					return false;
 | 
										return false;
 | 
				
			||||||
@ -1660,8 +1687,8 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// Tabella di non invio XML
 | 
						// Tabella di non invio XML
 | 
				
			||||||
	TPaf_record pafw300f("PAFW300F");
 | 
						TPaf_record pafw300f("PAFW300F");
 | 
				
			||||||
	pafw300f.set("PW_KEYHEADERFATT", hfatt);
 | 
						pafw300f.set("PW_KEYHEADERFATT", _hfatt);
 | 
				
			||||||
	pafw300f.set("PW_KEYBODYFATT", bfatt);
 | 
						pafw300f.set("PW_KEYBODYFATT", _bfatt);
 | 
				
			||||||
	remove(pafw300f); // Cancella eventuali allegati
 | 
						remove(pafw300f); // Cancella eventuali allegati
 | 
				
			||||||
	const TTipo_documento& td = cached_tipodoc(doc.get(DOC_TIPODOC));
 | 
						const TTipo_documento& td = cached_tipodoc(doc.get(DOC_TIPODOC));
 | 
				
			||||||
	const TString codsdi = !td.invio_xml() ? "**********" : (enapec ? pec : coddest);
 | 
						const TString codsdi = !td.invio_xml() ? "**********" : (enapec ? pec : coddest);
 | 
				
			||||||
@ -1711,7 +1738,7 @@ TDoc_fp::TDoc_fp() : _log(nullptr), _cache_insert(false)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#ifdef DBG
 | 
					#ifdef DBG
 | 
				
			||||||
	_gestioneallegati = _allegafattura = false;
 | 
						_gestioneallegati = _allegafattura = false;
 | 
				
			||||||
#elif
 | 
					#else
 | 
				
			||||||
	_gestioneallegati = ini_get_bool(CONFIG_DITTA, "fp", "gestioneallegati");
 | 
						_gestioneallegati = ini_get_bool(CONFIG_DITTA, "fp", "gestioneallegati");
 | 
				
			||||||
	_allegafattura = ini_get_bool(CONFIG_DITTA, "fp", "allegafatt");
 | 
						_allegafattura = ini_get_bool(CONFIG_DITTA, "fp", "allegafatt");
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
@ -88,6 +88,8 @@ private:
 | 
				
			|||||||
	bool							_to_commit;
 | 
						bool							_to_commit;
 | 
				
			||||||
	bool							_cache_insert;
 | 
						bool							_cache_insert;
 | 
				
			||||||
	vector<TString>		_query;
 | 
						vector<TString>		_query;
 | 
				
			||||||
 | 
						TString8					_hfatt; // Codice univoco di 6 caratteri dell'ufficio P.A. o di 7 caratteri per un privato
 | 
				
			||||||
 | 
						TString20					_bfatt; // Codice univoco di 20 caratteri del documento
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	int  parse_line(const TString& line, TString&      var, TString& val) const;
 | 
						int  parse_line(const TString& line, TString&      var, TString& val) const;
 | 
				
			||||||
	bool create_table(TScanner&    paf, const TString& table);
 | 
						bool create_table(TScanner&    paf, const TString& table);
 | 
				
			||||||
 | 
				
			|||||||
@ -92,7 +92,8 @@ BEGIN
 | 
				
			|||||||
  ITEM "TD03|TD03 Acconto/Anticipo su parcella" MESSAGE ENABLE,F_NOTACREDDEB|""
 | 
					  ITEM "TD03|TD03 Acconto/Anticipo su parcella" MESSAGE ENABLE,F_NOTACREDDEB|""
 | 
				
			||||||
  ITEM "TD04|TD04 Nota di credito" MESSAGE ENABLE,F_NOTACREDDEB|"X"
 | 
					  ITEM "TD04|TD04 Nota di credito" MESSAGE ENABLE,F_NOTACREDDEB|"X"
 | 
				
			||||||
  ITEM "TD05|TD05 Nota di debito" MESSAGE ENABLE,F_NOTACREDDEB|"X"
 | 
					  ITEM "TD05|TD05 Nota di debito" MESSAGE ENABLE,F_NOTACREDDEB|"X"
 | 
				
			||||||
  ITEM "TD06|TD06 parcella" MESSAGE ENABLE,F_NOTACREDDEB|""
 | 
					  ITEM "TD06|TD06 Parcella" MESSAGE ENABLE,F_NOTACREDDEB|""
 | 
				
			||||||
 | 
					  ITEM "TD20|TD20 Autofattura" MESSAGE ENABLE,F_NOTACREDDEB|""
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BOOLEAN F_ESPORTA_FP
 | 
					BOOLEAN F_ESPORTA_FP
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user